:root{color-scheme:light;font-family:Montserrat,ui-sans-serif,system-ui,sans-serif;background:#f8f3ea;color:#3a2b24;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--terracotta: #b85e3c;--warm-sand: #e9dccb;--cream: #f8f3ea;--olive: #6e735a;--navy: #223047;--espresso: #3a2b24;--colour-black: #25282a;--colour-natural: #e7ceb5;--colour-maroon: #5b2b42;--colour-pistachio: #a9c47f;--colour-sand: #cabfad;--colour-dark-chocolate: #382f2d;--colour-military-green: #5e7461;--colour-light-blue: #a4c8e1;--colour-paragon: #948794;--surface: #fffaf2;--line: rgba(58, 43, 36, .16);--muted: rgba(58, 43, 36, .68);--shadow: 0 24px 60px rgba(58, 43, 36, .16)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;min-height:100vh;margin:0}body.cart-open,body.modal-open{overflow:hidden}button,select,fieldset{font:inherit}button{cursor:pointer}a{color:inherit}.site-header{z-index:20;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;padding:18px clamp(20px,5vw,64px);background:#f8f3eaeb;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.brand{width:max-content;display:inline-flex;align-items:center;gap:12px;color:var(--espresso);font-size:.95rem;font-weight:800;letter-spacing:.04em;text-decoration:none;text-transform:uppercase}.brand-with-logo img{width:52px;height:52px;display:block;border-radius:50%}.brand-mark{width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--terracotta);border-radius:50%;background:var(--terracotta);color:var(--cream);font-family:Cormorant Garamond,Georgia,serif;font-size:1rem;font-weight:700;letter-spacing:.02em}.nav-links{display:flex;align-items:center;gap:30px;color:var(--muted);font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.nav-links a{text-decoration:none}.cart-button{justify-self:end;min-height:42px;display:inline-flex;align-items:center;gap:10px;padding:0 14px 0 18px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--espresso);font-size:.82rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.cart-count{min-width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:var(--olive);color:#fff;font-size:.74rem}.hero{min-height:78vh;display:grid;grid-template-columns:minmax(0,1fr);align-items:center;padding:clamp(76px,10vw,132px) clamp(20px,5vw,64px) clamp(68px,8vw,110px);background:linear-gradient(90deg,#223047b8,#3a2b2461 48%,#3a2b240d),linear-gradient(0deg,#3a2b2447,#3a2b241a),url(/assets/marbella-hero.jpg) center / cover no-repeat}.hero-copy{max-width:780px}.brand-line{margin:0 0 14px;color:var(--terracotta);font-size:.82rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase}.hero h1{max-width:11ch;margin:0;color:#fff;font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(4.2rem,9vw,9.5rem);font-weight:600;line-height:.84;letter-spacing:0}.hero p:not(.brand-line){max-width:620px;margin:24px 0 0;color:#ffffffdb;font-size:clamp(1rem,1.4vw,1.24rem);line-height:1.75}.hero .brand-line{color:var(--warm-sand);text-shadow:0 2px 14px rgba(0,0,0,.28)}.hero .button-secondary{border-color:#ffffff6b;background:#ffffff24;color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}.button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 22px;border:0;border-radius:4px;font-size:.78rem;font-weight:800;letter-spacing:.11em;text-decoration:none;text-transform:uppercase;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.button:hover{transform:translateY(-1px)}.button:disabled{cursor:not-allowed;opacity:.55;transform:none}.button-primary{background:var(--colour-maroon);color:#fff;box-shadow:0 14px 30px #5b2b423d}.button-secondary{border:1px solid var(--line);background:#fffaf2b8;color:var(--espresso)}.hero-product{min-height:min(48vw,540px);display:grid;place-items:center;position:relative;isolation:isolate}.hero-product:before{content:"";position:absolute;width:min(78%,480px);aspect-ratio:1;border-radius:50%;background:var(--warm-sand);box-shadow:inset 0 0 0 28px #b85e3c1a;z-index:-1}.shirt-preview{width:min(76%,410px);aspect-ratio:.86;position:relative;display:grid;place-items:center;border-radius:34% 34% 12% 12%;background:radial-gradient(circle at 50% 11%,transparent 0 10%,#f8f3ea 10.4%),linear-gradient(135deg,#fffaf2,#f3eadc);box-shadow:var(--shadow)}.shirt-preview:before,.shirt-preview:after{content:"";position:absolute;top:16%;width:34%;height:38%;background:#efe0cc;z-index:-1}.shirt-preview:before{left:-16%;border-radius:34% 0 24% 34%;transform:rotate(18deg)}.shirt-preview:after{right:-16%;border-radius:0 34% 34% 24%;transform:rotate(-18deg)}.shirt-logo{display:grid;place-items:center;width:48%;aspect-ratio:1;border:2px solid var(--terracotta);border-radius:50%;color:var(--terracotta);font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(1.08rem,2vw,1.56rem);font-weight:700;line-height:.95;text-align:center;text-transform:uppercase}.shop-section,.fit-section,.story-section{padding:clamp(56px,8vw,112px) clamp(20px,5vw,64px)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:30px}.section-heading h2,.fit-section h2,.story-copy h2{margin:0;color:var(--espresso);font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(2.8rem,5.6vw,6.2rem);font-weight:600;line-height:.92;letter-spacing:0}.section-heading p,.fit-section p,.story-copy p{max-width:560px;margin:0;color:var(--muted);line-height:1.75}.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.product-card{overflow:hidden;display:grid;grid-template-rows:auto 1fr;border:1px solid var(--line);border-radius:4px;background:var(--surface)}.product-image{position:relative;overflow:hidden;min-height:430px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));place-items:end center;gap:14px;padding:28px 22px 18px;background:linear-gradient(145deg,#fffaf2b3,#3a2b241a),var(--warm-sand)}.product-image img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;opacity:0}.product-image img[src]{opacity:1}.product-image img[src]+.product-shirt{opacity:0}.product-image img:not([src]),.product-image img[src=""]{display:none}.product-photo{z-index:2;background:#f4f2ef}.product-image.has-product-photo .product-photo{opacity:1}.product-image.has-product-photo .product-mockups{opacity:0}.product-mockups{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));place-items:end center;gap:14px;transition:opacity .16s ease}.product-shirt{position:relative;width:50%;aspect-ratio:.84;display:grid;place-items:center;padding:20px;border-radius:30% 30% 12% 12%;background:#fffaf2e6;box-shadow:0 18px 40px #3a2b2429;color:var(--espresso);font-family:Cormorant Garamond,Georgia,serif;font-size:1.25rem;font-weight:700;text-align:center}.tee-view{width:min(100%,200px);margin:0;display:grid;gap:12px;justify-items:center}.tee-view figcaption{color:var(--muted);font-size:.68rem;font-weight:850;letter-spacing:.14em;text-transform:uppercase}.tee-shirt{width:100%;aspect-ratio:.78;position:relative;border-radius:31% 31% 11% 11%;background:radial-gradient(circle at 50% 9%,transparent 0 8%,color-mix(in srgb,var(--tee-color),#ffffff 4%) 8.4%),linear-gradient(135deg,color-mix(in srgb,var(--tee-color),#ffffff 18%),var(--tee-color));box-shadow:inset 0 0 0 1px #3a2b2414,0 18px 34px #3a2b2424}.tee-shirt:before,.tee-shirt:after{content:"";position:absolute;top:14%;width:35%;height:36%;background:color-mix(in srgb,var(--tee-color),#000000 6%);z-index:-1}.tee-shirt:before{left:-17%;border-radius:34% 0 24% 34%;transform:rotate(18deg)}.tee-shirt:after{right:-17%;border-radius:0 34% 34% 24%;transform:rotate(-18deg)}.tee-logo{position:absolute;display:grid;place-items:center;color:var(--terracotta);text-align:center}.placement-left-chest{top:25%;left:23%;transform:translate(-50%,-50%)}.placement-center{top:44%;left:50%;transform:translate(-50%,-50%)}.logo-small{width:22%}.logo-medium{width:34%}.logo-large{width:62%}.badge-logo,.badge-logo img{width:100%;display:block}.text-logo{font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(.8rem,1.5vw,1.12rem);font-weight:800;line-height:.92;text-transform:uppercase}.logo-large .text-logo{font-size:clamp(1.25rem,2.6vw,2rem)}.logo-small .text-logo{font-size:.72rem}.product-copy{display:grid;gap:20px;padding:22px}.product-copy h3{margin:0 0 8px;color:var(--espresso);font-family:Cormorant Garamond,Georgia,serif;font-size:2rem;font-weight:700;line-height:1}.product-copy p{margin:0;color:var(--muted);line-height:1.62}.product-meta{display:flex;align-items:center;justify-content:space-between;gap:16px}.product-meta span{color:var(--olive);font-size:.76rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.product-meta strong{color:var(--espresso);font-size:1rem;font-weight:800}.product-price{display:grid;gap:3px;justify-items:end;text-align:right}.product-price small,.cart-total small{color:var(--muted);font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.product-form{display:grid;gap:16px}.buy-row{display:grid;grid-template-columns:118px 1fr;gap:12px}.product-form label,.colour-field legend{display:grid;gap:6px;color:var(--muted);font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.product-form select{min-height:48px;width:100%;padding:0 12px;border:1px solid var(--line);border-radius:4px;background:#fff;color:var(--espresso);font-weight:700}.colour-field{min-width:0;margin:0;padding:0;border:0}.colour-field legend{margin-bottom:8px}.swatch-grid{display:flex;flex-wrap:wrap;gap:8px}.swatch{cursor:pointer;width:38px;display:grid;gap:5px;justify-items:center}.swatch input{position:absolute;opacity:0;pointer-events:none}.swatch span{width:30px;height:30px;border:1px solid rgba(58,43,36,.22);border-radius:50%;background:var(--swatch-color);box-shadow:inset 0 0 0 3px #ffffff7a}.swatch input:checked+span{outline:2px solid var(--espresso);outline-offset:2px}.swatch small{overflow:hidden;width:100%;color:var(--muted);font-size:.58rem;font-weight:750;line-height:1.05;text-align:center;text-overflow:ellipsis;white-space:nowrap}.fit-section{display:grid;grid-template-columns:minmax(0,.9fr) minmax(300px,1.1fr);gap:clamp(32px,6vw,88px);align-items:start;background:var(--navy);color:#fff}.fit-section h2,.fit-section p{color:#fff}.fit-section p{margin-top:24px;color:#ffffffb8}.fit-list{display:grid;gap:12px;margin:0;padding:0;list-style:none}.fit-list li{display:grid;gap:8px;padding:22px;border:1px solid rgba(233,220,203,.18);border-radius:4px;background:#f8f3ea0f}.fit-list strong{color:#fff;font-family:Cormorant Garamond,Georgia,serif;font-size:1.7rem;line-height:1}.fit-list span{color:#ffffffb8;line-height:1.55}.story-section{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(0,1fr);gap:clamp(28px,6vw,84px);align-items:center;background:var(--warm-sand)}.story-media{overflow:hidden;min-height:460px;display:grid;place-items:center;border:1px solid rgba(58,43,36,.14);border-radius:4px;background:#f8f3ea}.story-media img{width:100%;height:100%;min-height:460px;display:block;object-fit:cover}.story-copy p{margin-top:22px}.text-link{display:inline-flex;margin-top:26px;color:var(--terracotta);font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.cart-panel[aria-hidden=true]{pointer-events:none}.cart-panel[aria-hidden=true] .cart-panel-backdrop{opacity:0}.cart-panel[aria-hidden=true] .cart-drawer{transform:translate(100%)}.cart-panel-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#3a2b245c;transition:opacity .2s ease}.cart-drawer{position:fixed;top:0;right:0;z-index:50;width:min(440px,100vw);height:100vh;display:grid;grid-template-rows:auto 1fr auto;background:var(--surface);box-shadow:var(--shadow);transition:transform .22s ease}.cart-header,.cart-footer{padding:20px;border-bottom:1px solid var(--line)}.cart-footer{border-top:1px solid var(--line);border-bottom:0}.cart-header{display:flex;align-items:center;justify-content:space-between}.cart-header h2{margin:0;color:var(--espresso);font-family:Cormorant Garamond,Georgia,serif;font-size:2rem}.icon-button{width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--espresso);font-weight:900}.cart-items{overflow:auto;display:grid;align-content:start;gap:14px;padding:20px}.empty-cart{margin:0;color:var(--muted)}.cart-item{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:4px}.cart-item div:first-child{display:grid;gap:4px}.cart-item span{color:var(--muted);font-size:.9rem}.quantity-controls{display:grid;grid-template-columns:30px 28px 30px;align-items:center;text-align:center}.quantity-controls button{width:30px;height:30px;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--espresso);font-weight:900}.quantity-controls span{color:var(--espresso);font-weight:850}.cart-total{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px;color:var(--espresso);font-size:1.1rem}.cart-total span{display:grid;gap:3px}.checkout-button{width:100%}.cart-note{margin:12px 0 0;color:var(--muted);font-size:.88rem;line-height:1.45}.success-hero{min-height:calc(100vh - 80px);display:grid;place-items:center;align-content:center;justify-items:center;padding:clamp(48px,8vw,112px) clamp(20px,5vw,64px);background:radial-gradient(circle at 50% 20%,rgba(184,94,60,.16),transparent 30%),linear-gradient(135deg,#f8f3ea,#e9dccb);text-align:center}.success-hero>img{width:min(240px,58vw);height:auto;margin-bottom:24px;filter:drop-shadow(0 20px 35px rgba(58,43,36,.18))}.success-hero h1{max-width:760px;margin:0;color:var(--espresso);font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(3.4rem,8vw,7rem);font-weight:600;line-height:.9}.success-hero p:not(.brand-line){max-width:660px;margin:22px 0 0;color:var(--muted);line-height:1.75}.size-guide-modal{width:min(960px,calc(100vw - 28px));max-height:min(760px,calc(100vh - 28px));padding:0;border:0;border-radius:8px;background:transparent;color:var(--espresso)}.size-guide-modal::backdrop{background:#2230478c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.size-guide-card{overflow:hidden;display:grid;background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.size-guide-header{display:flex;justify-content:space-between;gap:18px;padding:22px;border-bottom:1px solid var(--line)}.size-guide-header h2{margin:0;font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(2rem,5vw,4rem);line-height:.95}.size-table-wrap{overflow:auto;padding:18px}.size-table{min-width:760px;width:100%;border-collapse:collapse}.size-table th,.size-table td{padding:14px 12px;border:1px solid rgba(58,43,36,.14);background:#fff;text-align:center}.size-table th:first-child{width:250px;text-align:left}.size-table thead th,.size-table tbody th{background:#f4eee5;font-weight:850}.size-note{margin:0;padding:0 22px 22px;color:var(--muted);font-size:.9rem}@media (max-width: 980px){.site-header{grid-template-columns:1fr auto}.nav-links{display:none}.hero,.fit-section,.story-section{grid-template-columns:1fr}.hero{min-height:auto}.hero-product{min-height:360px}.product-grid{grid-template-columns:1fr}.section-heading{display:grid;align-items:start}}@media (max-width: 560px){.site-header{padding:14px 16px}.brand span:last-child{display:none}.brand-with-logo img{width:44px;height:44px}.hero,.shop-section,.fit-section,.story-section{padding-left:18px;padding-right:18px}.hero h1{font-size:clamp(3.4rem,17vw,4.8rem)}.hero p:not(.brand-line){margin-top:16px;font-size:.98rem}.hero-actions{margin-top:20px;display:flex;flex-wrap:nowrap}.hero-actions .button{flex:1 1 0;padding-inline:12px}.hero-product{min-height:210px}.shirt-preview{width:min(50%,190px)}.buy-row,.product-form{grid-template-columns:1fr;display:grid}.product-image{min-height:360px;gap:8px;padding:22px 18px 16px}.tee-view{width:min(100%,145px)}.swatch-grid{gap:7px}.size-guide-header{padding:18px}.size-table-wrap{padding:12px}.story-media{min-height:320px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}
