
:root{
  --black:#0b0b0b;--ink:#151515;--cream:#f4f0e8;--yellow:#ffc400;--white:#fff;
  --grey:#aaa;--line:#2b2b2b;--max:1220px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.5}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.container{width:min(var(--max),calc(100% - 40px));margin:auto}
.announcement{background:var(--yellow);color:#111;text-align:center;font-size:12px;font-weight:900;letter-spacing:1.8px;padding:8px 15px}
.site-header{background:#0b0b0b;color:#fff;position:sticky;top:0;z-index:30;border-bottom:1px solid #222}
.nav-wrap{min-height:74px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.brand{display:flex;align-items:baseline;font-weight:1000;font-size:28px;letter-spacing:-2px}
.brand-banana{font-size:30px;margin-right:3px}
.brand-e{color:var(--yellow);font-style:italic;font-size:33px}
.brand-main{font-stretch:condensed}
.brand-domain{font-size:12px;color:var(--yellow);letter-spacing:0;margin-left:4px}
.main-nav{display:flex;gap:28px;align-items:center;font-size:13px;font-weight:800;letter-spacing:.7px;text-transform:uppercase}
.main-nav a:hover{color:var(--yellow)}
.cart-link{border:1px solid #555;padding:10px 13px;border-radius:2px}
.cart-link span{background:var(--yellow);color:#000;border-radius:50%;min-width:20px;height:20px;display:inline-grid;place-items:center;margin-left:7px}
.menu-toggle{display:none;background:transparent;border:0;color:white;font-size:26px}
.hero{background:#0b0b0b;color:#fff;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;min-height:670px;gap:65px}
.eyebrow{font-size:12px;font-weight:1000;letter-spacing:2.6px;text-transform:uppercase;margin-bottom:16px}
.eyebrow.yellow{color:var(--yellow)}
.hero h1,.page-hero h1{font-size:clamp(56px,8vw,112px);line-height:.82;letter-spacing:-5px;margin:0 0 30px;font-weight:1000;text-transform:uppercase}
.hero h1 span{color:var(--yellow)}
.hero-copy>p{font-size:20px;max-width:620px;color:#d6d6d6}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:34px 0 28px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 22px;font-weight:1000;font-size:13px;letter-spacing:1px;border:2px solid transparent;cursor:pointer;text-transform:uppercase}
.btn-yellow{background:var(--yellow);color:#090909;border-color:var(--yellow)}
.btn-yellow:hover{background:#ffd740}
.btn-ghost{border-color:#fff;color:#fff;background:transparent}
.btn-wide{width:100%}
.hero-notes{display:flex;flex-wrap:wrap;gap:18px;color:#aaa;font-size:13px}
.hero-art{position:relative;padding:35px 0}
.hero-art>img{width:100%;max-width:520px;margin:auto;box-shadow:0 30px 80px rgba(0,0,0,.4);transform:rotate(2deg)}
.sticker{position:absolute;background:var(--yellow);color:#050505;font-weight:1000;text-align:center;border-radius:50%;width:108px;height:108px;display:grid;place-items:center;line-height:1.05;font-size:13px;transform:rotate(-10deg);border:4px solid #0b0b0b}
.sticker-top{right:5%;top:8%}.sticker-bottom{left:-2%;bottom:10%;background:#fff}
.ticker{overflow:hidden;background:var(--yellow);white-space:nowrap;font-weight:1000;letter-spacing:1px;padding:13px 0}
.ticker div{width:max-content;animation:ticker 24s linear infinite}
@keyframes ticker{to{transform:translateX(-40%)}}
.section{padding:86px 0}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:36px}
.section-head h2{font-size:clamp(34px,5vw,62px);line-height:.95;letter-spacing:-2.5px;margin:0;max-width:760px}
.section-head>a{font-weight:800;border-bottom:2px solid}
.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px 18px}
.product-card{min-width:0}
.product-image{position:relative;background:#ddd;display:block;overflow:hidden}
.product-image img{width:100%;aspect-ratio:5/6;object-fit:cover;transition:transform .28s ease}
.product-image:hover img{transform:scale(1.025)}
.badge{position:absolute;top:12px;left:12px;background:var(--yellow);padding:6px 9px;font-size:10px;font-weight:1000;letter-spacing:1px}
.product-info{display:flex;justify-content:space-between;gap:15px;padding-top:13px}
.product-info h3{font-size:16px;line-height:1.15;margin:3px 0 0}
.product-info strong{white-space:nowrap;font-size:16px}
.product-collection{font-size:10px;letter-spacing:1.6px;color:#737373;font-weight:900}
.offscreen-banner{background:#111;color:#fff;padding:80px 0}
.offscreen-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:55px;align-items:center}
.offscreen-grid h2{font-size:clamp(62px,9vw,124px);line-height:.8;letter-spacing:-6px;margin:0;color:var(--yellow)}
.offscreen-grid h3{font-size:28px;max-width:520px}
.offscreen-grid p{color:#ccc;max-width:560px;margin-bottom:28px}
.offscreen-grid img{border:1px solid #333}
.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#cfc8bb}
.feature-grid>div{background:var(--cream);padding:30px}
.feature-grid span{font-size:12px;font-weight:1000}
.feature-grid h3{font-size:21px;margin:45px 0 8px}
.feature-grid p{color:#5d5d5d}
.page-hero{background:#111;color:#fff;padding:80px 0}
.page-hero.small{padding:55px 0}
.page-hero h1{font-size:clamp(54px,8vw,100px);margin-bottom:20px}
.page-hero p{font-size:19px;color:#c8c8c8}
.shop-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}
.chips{display:flex;gap:8px}.chips a{border:1px solid #bbb;padding:8px 13px;font-size:12px;font-weight:800}.chips a.active{background:#111;color:#fff;border-color:#111}
.product-layout{display:grid;grid-template-columns:1fr .8fr;gap:70px;align-items:start}
.product-gallery{background:#ddd}.product-gallery img{width:100%}
.product-detail{position:sticky;top:115px}
.product-detail h1{font-size:clamp(44px,5vw,72px);line-height:.92;letter-spacing:-3px;margin:10px 0 18px;text-transform:uppercase}
.product-price{font-size:26px;font-weight:900;margin-bottom:25px}
.lead{font-size:20px;font-weight:700}
.buy-box{margin-top:35px;border-top:1px solid #bbb;border-bottom:1px solid #bbb;padding:25px 0}
.buy-box>label{font-size:12px;font-weight:1000;text-transform:uppercase;letter-spacing:1.5px}
.size-options{display:flex;gap:8px;margin:10px 0 18px;flex-wrap:wrap}
.size-options input{position:absolute;opacity:0}.size-options span{border:1px solid #999;width:52px;height:45px;display:grid;place-items:center;font-weight:800;cursor:pointer}
.size-options input:checked+span{background:#111;color:#fff;border-color:#111}
.micro-list{font-size:13px;color:#555;margin-top:22px;display:grid;gap:6px}
.cart-layout{display:grid;grid-template-columns:1fr 360px;gap:55px;align-items:start}
.cart-line{display:grid;grid-template-columns:120px 1fr 80px 100px;gap:18px;align-items:center;border-bottom:1px solid #bbb;padding:18px 0}
.cart-line img{width:120px;aspect-ratio:5/6;object-fit:cover}
.cart-line h3{margin:4px 0}.cart-line p{margin:5px 0;color:#666}.cart-line a{text-decoration:underline;font-size:13px}
.qty-wrap input{width:64px;padding:9px}.qty-wrap label{display:block;font-size:11px;font-weight:800}
.order-summary{background:#111;color:#fff;padding:28px;position:sticky;top:110px}
.order-summary h2{font-size:32px;margin-top:0}.order-summary>div{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px solid #333}.order-summary .total{font-size:20px;border-bottom:0;margin:8px 0}
.order-summary small{display:block;color:#aaa;margin-top:12px;line-height:1.4}
.text-button{margin-top:15px;border:0;background:none;text-decoration:underline;font-weight:800;cursor:pointer}
.empty-cart{padding:40px 0}.empty-cart h2{font-size:40px}
.setup-card{border:2px solid #111;padding:30px;background:#fff}
.narrow{max-width:850px}.prose h2{margin-top:35px}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center}.about-grid h2{font-size:48px;line-height:.98}
.site-footer{background:#080808;color:#fff;padding:60px 0 25px}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:60px}
.footer-grid h4{color:var(--yellow);margin:0 0 12px}.footer-grid a{display:block;color:#bbb;margin:8px 0}.footer-grid p{color:#999}
.footer-brand{font-weight:1000;font-size:28px}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #2d2d2d;margin-top:40px;padding-top:20px;color:#777;font-size:12px}
@media(max-width:900px){
  .main-nav{display:none;position:absolute;left:0;right:0;top:74px;background:#111;padding:22px 20px;flex-direction:column;align-items:stretch}
  .main-nav.open{display:flex}.menu-toggle{display:block}
  .hero-grid,.offscreen-grid,.product-layout,.about-grid{grid-template-columns:1fr}
  .hero-grid{padding:55px 0;min-height:auto}.hero h1{letter-spacing:-3px}
  .hero-art{max-width:600px;margin:auto}.product-detail{position:static}
  .product-grid{grid-template-columns:repeat(2,1fr)}
  .feature-grid{grid-template-columns:repeat(2,1fr)}
  .cart-layout{grid-template-columns:1fr}.order-summary{position:static}
}
@media(max-width:560px){
  .container{width:min(var(--max),calc(100% - 26px))}
  .brand{font-size:23px}.brand-e{font-size:27px}.brand-banana{font-size:25px}
  .hero h1,.page-hero h1{font-size:52px;letter-spacing:-2px}
  .hero-copy>p{font-size:17px}.section{padding:58px 0}
  .product-grid{grid-template-columns:1fr 1fr;gap:24px 10px}
  .product-info{display:block}.product-info strong{display:block;margin-top:7px}
  .product-info h3{font-size:14px}.feature-grid{grid-template-columns:1fr}
  .section-head{align-items:start;flex-direction:column}
  .offscreen-grid h2{font-size:66px;letter-spacing:-3px}
  .cart-line{grid-template-columns:78px 1fr 55px}.cart-line>strong{grid-column:2/4}.cart-line img{width:78px}
  .footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column}
}

/* EBV4 checkout */
.buy-box select,.checkout-form input,.checkout-form select{width:100%;padding:14px 15px;border:1px solid #b9b4aa;background:#fff;font:inherit;margin-top:7px}.checkout-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:48px;align-items:start}.checkout-form{display:grid;gap:16px;margin-top:28px}.checkout-form label{font-weight:800;font-size:13px}.checkout-form label small{font-weight:400;color:#777}.form-two{display:grid;grid-template-columns:1fr 1fr;gap:16px}.checkout-errors{border:1px solid #b42318;background:#fff0ee;padding:12px 16px;margin:18px 0}.checkout-errors p{margin:4px 0}.checkout-summary{position:sticky;top:30px}.checkout-mini{align-items:flex-start!important}.checkout-mini span{max-width:70%}.checkout-mini small{display:block;color:#777;margin-top:3px}.test-payment-box,.success-card{background:#fff;border:1px solid #ded9cf;padding:40px;box-shadow:8px 8px 0 #ffc400}.test-payment-box form{display:grid;gap:12px;margin-top:24px}.test-order,.success-order{display:grid;grid-template-columns:1fr auto;gap:12px;border-top:1px solid #ddd;border-bottom:1px solid #ddd;padding:18px 0;margin:22px 0}.success-mark{width:60px;height:60px;border-radius:50%;display:grid;place-items:center;background:#dff5e3;font-size:32px;font-weight:900;margin-bottom:18px}.success-order span{color:#777}.btn-outline{background:transparent;border:2px solid #111;color:#111}
@media(max-width:800px){.checkout-grid{grid-template-columns:1fr}.form-two{grid-template-columns:1fr}.checkout-summary{position:static}.test-payment-box,.success-card{padding:24px}}

/* Legal/customer information pages */
.legal-copy a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.legal-copy h2{font-size:clamp(24px,3vw,34px);line-height:1.05;margin-top:42px}.legal-updated{color:#6b6b6b;font-size:14px;margin-top:0}.legal-form-example{background:#fff;border:1px solid #cfc8bb;padding:24px;margin-top:18px}.legal-form-example p{margin:8px 0}.legal-contact-link{font-size:clamp(22px,4vw,34px);font-weight:900}.footer-grid-wide{grid-template-columns:2fr 1fr 1fr 1fr}.cookie-notice{position:fixed;left:18px;right:18px;bottom:18px;z-index:100;background:#111;color:#fff;border:1px solid #444;box-shadow:0 10px 35px rgba(0,0,0,.28);padding:16px 18px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:13px}.cookie-notice strong{color:var(--yellow)}.cookie-notice a{color:var(--yellow);text-decoration:underline}.cookie-notice-close{flex:0 0 auto;border:0;background:var(--yellow);color:#111;font-weight:900;text-transform:uppercase;padding:10px 14px;cursor:pointer}
@media(max-width:900px){.footer-grid-wide{grid-template-columns:1fr 1fr}.cookie-notice{align-items:flex-start}}
@media(max-width:560px){.footer-grid-wide{grid-template-columns:1fr}.cookie-notice{left:10px;right:10px;bottom:10px;flex-direction:column}.cookie-notice-close{width:100%}}
.checkout-legal{font-size:12px;color:#666;margin:0}.checkout-legal a{text-decoration:underline;font-weight:800}


/* DIY T-shirt builder */
.diy-hero{background:linear-gradient(135deg,#111 0%,#111 67%,#ffc400 67%,#ffc400 100%)}.diy-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr);gap:70px;align-items:start}.diy-builder{max-width:760px}.diy-step{display:flex;gap:18px;align-items:flex-start;border-top:1px solid #bbb;padding-top:28px;margin-top:38px;margin-bottom:20px}.diy-step:first-of-type{margin-top:0}.diy-step h2{margin:0 0 5px;font-size:30px}.diy-step p{margin:0;color:#696969}.diy-num{font-size:13px;font-weight:1000;background:#111;color:#ffc400;padding:8px 9px}.diy-label{display:block;font-size:12px;font-weight:1000;letter-spacing:1px;text-transform:uppercase;margin:16px 0}.diy-label small{font-weight:500;color:#777;text-transform:none;letter-spacing:0}.diy-label input,.diy-label select,.diy-label textarea{display:block;width:100%;margin-top:8px;padding:14px 15px;border:1px solid #aaa;background:#fff;font:inherit;text-transform:none;letter-spacing:0}.diy-style-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.diy-style-grid input{position:absolute;opacity:0}.diy-style-grid span{display:grid;place-items:center;min-height:52px;border:1px solid #aaa;font-size:12px;font-weight:900;cursor:pointer;text-transform:uppercase}.diy-style-grid input:checked+span{background:#111;color:#fff;border-color:#111;box-shadow:inset 0 -4px #ffc400}.diy-upload{display:block;border:2px dashed #999;padding:25px;text-align:center;background:#fff;cursor:pointer}.diy-upload input{display:block;margin:0 auto 12px}.diy-consent{background:#fff7d4;border:1px solid #e0c65b;padding:14px;margin:22px 0;font-size:13px}.diy-buy{display:flex;justify-content:space-between;align-items:center;gap:24px;border-top:3px solid #111;padding-top:22px;margin-top:26px}.diy-buy .product-price{margin:0}.diy-review-note{font-size:13px;color:#555}.diy-sticky{position:sticky;top:110px}.diy-sticky h2{font-size:34px;line-height:1;margin-top:8px}.diy-shirt{position:relative;aspect-ratio:5/6;background:#d9d5cc;overflow:hidden}.diy-shirt:before{content:"";position:absolute;width:72%;height:80%;left:14%;top:10%;background:#111;clip-path:polygon(31% 0,42% 4%,58% 4%,69% 0,100% 15%,89% 34%,77% 29%,77% 100%,23% 100%,23% 29%,11% 34%,0 15%)}.diy-shirt.white:before{background:#f7f7f4;box-shadow:inset 0 0 0 1px #bbb}.diy-shirt.navy:before{background:#17213a}.diy-print{position:absolute;z-index:2;left:31%;top:27%;width:38%;height:42%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:8px;color:#ffc400;line-height:.95;overflow:hidden}.diy-print strong{font-size:clamp(13px,2vw,24px);font-weight:1000}.diy-print span{font-size:clamp(7px,.9vw,11px);margin-top:8px;font-weight:900}.diy-print img{max-width:90%;max-height:55%;object-fit:contain;margin-bottom:8px}.diy-shirt.white .diy-print{color:#111}.diy-print.retro{font-family:Georgia,serif}.diy-print.distressed{transform:rotate(-2deg)}.diy-print.bold strong{font-size:clamp(16px,2.5vw,30px)}.diy-print.minimal strong{font-size:clamp(11px,1.5vw,18px);letter-spacing:2px}.diy-preview-copy{font-size:12px;color:#777}.cart-custom{display:block;font-size:12px;color:#555;margin-top:5px;line-height:1.5}.diy-admin-detail{background:#fff7d4;border:1px solid #dfc55c;padding:12px;margin-top:10px;font-size:13px}.diy-admin-detail div{margin:4px 0}
@media(max-width:900px){.diy-layout{grid-template-columns:1fr}.diy-sticky{position:static}.diy-preview-panel{max-width:620px}.diy-style-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){.diy-style-grid{grid-template-columns:1fr 1fr}.diy-buy{align-items:stretch;flex-direction:column}.diy-buy .btn{width:100%}.diy-hero{background:#111}.diy-step h2{font-size:25px}}

/* DIY realistic product-photo preview */
.diy-shirt-choice-row{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:20px;align-items:end}.diy-label-static{margin-bottom:8px}.diy-colour-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.diy-colour-grid input{position:absolute;opacity:0;pointer-events:none}.diy-colour-grid span{display:block;border:1px solid #bbb;background:#fff;padding:6px;text-align:center;cursor:pointer}.diy-colour-grid img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;background:#eee}.diy-colour-grid b{display:block;font-size:11px;margin-top:6px}.diy-colour-grid input:checked+span{border:2px solid #111;box-shadow:0 0 0 3px #ffc400;padding:5px}.diy-size-label{margin:0}.diy-photo-stage{position:relative;background:#d7d4ce;overflow:hidden;aspect-ratio:1/1}.diy-shirt-photo{display:block;width:100%;height:100%;object-fit:cover}.diy-photo-stage .diy-print{left:31%;top:31%;width:38%;height:39%;mix-blend-mode:normal;text-shadow:0 1px 2px rgba(0,0,0,.18)}.diy-photo-stage[data-colour="white"] .diy-print{color:#111}.diy-photo-stage[data-colour="black"] .diy-print,.diy-photo-stage[data-colour="navy"] .diy-print{color:#ffc400}.diy-view-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:10px}.diy-view-strip button{background:#fff;border:1px solid #bbb;padding:7px;cursor:default}.diy-view-strip button.active{border:2px solid #ffc400}.diy-view-strip b{display:block;font-size:11px;margin-top:5px}.diy-thumb-mini{display:grid;place-items:center;min-height:42px;background:#1a1a1a;color:#fff;font-size:9px;font-weight:900}.diy-thumb-mini.muted{background:#ddd;color:#777}
@media(max-width:560px){.diy-shirt-choice-row{grid-template-columns:1fr}.diy-colour-grid{grid-template-columns:repeat(3,1fr)}}
