:root,
[data-theme="light"] {
  --text-xs: clamp(0.75rem, 0.7rem + 0.25vw, 0.875rem);
  --text-sm: clamp(0.875rem, 0.8rem + 0.35vw, 1rem);
  --text-base: clamp(1rem, 0.95rem + 0.25vw, 1.125rem);
  --text-lg: clamp(1.125rem, 1rem + 0.75vw, 1.5rem);
  --text-xl: clamp(1.5rem, 1.2rem + 1.25vw, 2.25rem);
  --text-2xl: clamp(2rem, 1.2rem + 2.5vw, 3.5rem);
  --space-1: 0.25rem; --space-2: 0.5rem; --space-3: 0.75rem; --space-4: 1rem; --space-5: 1.25rem; --space-6: 1.5rem; --space-8: 2rem; --space-10: 2.5rem; --space-12: 3rem; --space-16: 4rem;
  --color-bg: #f7f5f1; --color-surface: #fbfaf7; --color-surface-2: #f1eee8; --color-border: #d8d2c9; --color-text: #262218; --color-text-muted: #716b62; --color-text-inverse: #fbfaf7; --color-primary: #171717; --color-primary-hover: #000000; --color-accent: #8a7155;
  --radius-sm: 0.375rem; --radius-md: 0.75rem; --radius-lg: 1.25rem; --radius-full: 9999px;
  --shadow-sm: 0 2px 10px rgba(22, 20, 16, 0.05); --shadow-md: 0 16px 40px rgba(22, 20, 16, 0.08);
  --content-width: 1240px;
  --font-body: 'Libre Franklin', Arial, sans-serif;
  --font-display: 'Playfair Display', Georgia, serif;
}
[data-theme="dark"] {
  --color-bg: #171614; --color-surface: #1f1e1b; --color-surface-2: #272521; --color-border: #3b3832; --color-text: #f4efe7; --color-text-muted: #b1aba1; --color-text-inverse: #171614; --color-primary: #f4efe7; --color-primary-hover: #ffffff; --color-accent: #cfb38f;
  --shadow-sm: 0 2px 10px rgba(0, 0, 0, 0.25); --shadow-md: 0 16px 40px rgba(0, 0, 0, 0.35);
}
*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:none;text-size-adjust:none;scroll-behavior:smooth}body{margin:0;font-family:var(--font-body);font-size:var(--text-base);line-height:1.6;background:var(--color-bg);color:var(--color-text)}img,svg{display:block;max-width:100%;height:auto}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;border:none;background:none}h1,h2,h3,h4{line-height:1.1;margin:0}p{margin:0}main{display:block}.container{width:min(calc(100% - 2rem),var(--content-width));margin-inline:auto}.section-padding{padding:clamp(2.5rem,6vw,5rem) 0}.site-main{min-height:50vh}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:1rem;top:1rem;background:var(--color-primary);color:var(--color-text-inverse);padding:.75rem 1rem;z-index:30}.placeholder-svg{background:var(--color-surface-2);width:100%;height:100%}
.announcement-bar{background:var(--color-primary);color:var(--color-text-inverse);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase}.announcement-bar .container{padding:.8rem 1rem;text-align:center}.site-header{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--color-bg) 88%, transparent);backdrop-filter:blur(12px);border-bottom:1px solid color-mix(in srgb,var(--color-text) 10%, transparent)}.header-inner{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--space-6);padding:1rem 0}.site-logo{display:flex;align-items:center;gap:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.site-logo svg{width:34px;height:34px}.main-nav{display:flex;gap:1.4rem;justify-content:center;align-items:center;font-size:var(--text-sm)}.nav-link,.nav-link-button{padding:.35rem 0;position:relative}.nav-link-button{font:inherit;color:inherit}.nav-link:after,.nav-link-button:after{content:"";position:absolute;left:0;bottom:-.2rem;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .18s ease}.nav-link:hover:after,.nav-link-button:hover:after,.nav-link-button[aria-expanded="true"]:after{transform:scaleX(1)}.header-actions{display:flex;gap:.75rem}.icon-button{width:44px;height:44px;border-radius:var(--radius-full);display:grid;place-items:center;background:var(--color-surface);border:1px solid color-mix(in srgb,var(--color-text) 12%, transparent)}.mobile-nav-toggle{display:none}
.has-mega-menu{position:relative}.mega-menu{position:absolute;left:50%;top:calc(100% + 1rem);transform:translateX(-50%);width:min(1040px,92vw);background:var(--color-surface);border:1px solid color-mix(in srgb,var(--color-text) 10%, transparent);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-md);opacity:0;pointer-events:none;transition:opacity .18s ease}.nav-link-button[aria-expanded="true"] + .mega-menu{opacity:1;pointer-events:auto}.mega-menu-grid{display:grid;grid-template-columns:repeat(4,1fr) 280px;gap:var(--space-5)}.mega-menu-title{font-weight:700;margin-bottom:.75rem;display:block}.mega-menu-links a{display:block;color:var(--color-text-muted);margin-bottom:.55rem}.mega-menu-promo{background:var(--color-surface-2);border-radius:var(--radius-md);overflow:hidden}.mega-menu-promo img{aspect-ratio:4/5;object-fit:cover}.mega-menu-promo div{padding:var(--space-4)}.mega-menu-promo strong{display:block;margin-bottom:.5rem}.mega-menu-promo p,.mega-menu-promo a{font-size:var(--text-sm);color:var(--color-text-muted)}
.mobile-drawer,.cart-drawer{position:fixed;inset:0;z-index:40}.mobile-drawer[hidden],.cart-drawer[hidden]{display:none}.cart-drawer-overlay{position:absolute;inset:0;background:rgba(0,0,0,.34)}.mobile-drawer-panel,.cart-drawer-panel{position:absolute;top:0;height:100%;background:var(--color-surface);box-shadow:var(--shadow-md);transition:transform .18s ease}.mobile-drawer-panel{left:0;width:min(380px,88vw);transform:translateX(-100%)}.cart-drawer-panel{right:0;width:min(420px,92vw);transform:translateX(100%);display:grid;grid-template-rows:auto 1fr auto}.mobile-drawer.is-open .mobile-drawer-panel,.cart-drawer.is-open .cart-drawer-panel{transform:translateX(0)}.mobile-drawer-head,.cart-drawer-head{display:flex;justify-content:space-between;align-items:center;padding:var(--space-5);border-bottom:1px solid color-mix(in srgb,var(--color-text) 10%, transparent)}.mobile-nav{display:grid;gap:.9rem;padding:var(--space-5)}.mobile-child-link{padding-left:1rem;color:var(--color-text-muted)}.cart-drawer-body{padding:var(--space-5);overflow:auto}.cart-drawer-foot{padding:var(--space-5);border-top:1px solid color-mix(in srgb,var(--color-text) 10%, transparent);display:grid;gap:.8rem}.cart-subtotal{display:flex;justify-content:space-between;align-items:center}.cart-line-item{display:grid;grid-template-columns:88px 1fr;gap:var(--space-4);margin-bottom:var(--space-4)}.cart-line-image{border-radius:var(--radius-md);overflow:hidden;background:var(--color-surface-2)}.cart-line-image img{aspect-ratio:1/1;object-fit:cover}.cart-line-content a{display:block;margin-bottom:.3rem}.cart-line-content p,.cart-line-meta{font-size:var(--text-sm);color:var(--color-text-muted)}
.hero-grid,.promo-shell,.product-page-grid,.collection-banner-grid,.collection-shell{display:grid;gap:var(--space-8)}.hero-grid{grid-template-columns:1.02fr .98fr;align-items:center}.hero-copy h1,.collection-banner-grid h1,.product-details h1{font-family:var(--font-display);font-size:var(--text-2xl);max-width:11ch;margin-bottom:var(--space-4)}.hero-copy .rte p,.promo-copy p,.collection-banner-grid .rte p,.product-description{max-width:60ch;color:var(--color-text-muted)}.eyebrow{font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:var(--space-4)}.button-row{display:flex;gap:1rem;flex-wrap:wrap;margin-top:var(--space-6)}.button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:.95rem 1.35rem;border-radius:var(--radius-full);font-size:var(--text-sm)}.button-primary{background:var(--color-primary);color:var(--color-text-inverse)}.button-secondary{background:var(--color-surface);border:1px solid color-mix(in srgb,var(--color-text) 14%, transparent)}.hero-media,.promo-shell,.collection-card,.product-card-shell,.collection-banner-image,.lookbook-card,.product-panel{border-radius:var(--radius-lg);overflow:hidden}.hero-media{position:relative;background:var(--color-surface);min-height:560px;box-shadow:var(--shadow-md)}.hero-media img,.promo-media img,.collection-media img,.product-card-image img,.collection-banner-image img,.product-gallery-item img,.lookbook-media img{width:100%;height:100%;object-fit:cover}.hero-floating-card{position:absolute;right:1.25rem;bottom:1.25rem;max-width:260px;background:color-mix(in srgb,var(--color-surface) 88%, transparent);backdrop-filter:blur(16px);padding:1rem 1.1rem;border-radius:1rem;border:1px solid color-mix(in srgb,var(--color-text) 10%, transparent)}.hero-floating-card strong{display:block;margin-bottom:.35rem}.hero-floating-card span{font-size:var(--text-sm);color:var(--color-text-muted)}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:1rem;margin-bottom:var(--space-8)}.section-heading h2,.promo-copy h2{font-family:var(--font-display);font-size:var(--text-xl)}.section-heading p,.split-heading a{font-size:var(--text-sm);color:var(--color-text-muted)}.collection-grid,.lookbook-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-6)}.collection-card,.product-card-shell,.promo-shell,.lookbook-card,.product-panel{background:var(--color-surface);border:1px solid color-mix(in srgb,var(--color-text) 10%, transparent);box-shadow:var(--shadow-sm)}.collection-media,.lookbook-media{aspect-ratio:4/5;background:var(--color-surface-2)}.collection-content,.product-card-content,.promo-copy,.product-details,.lookbook-content{padding:var(--space-5)}.collection-content h3,.product-card-content h3,.lookbook-content h3{font-size:var(--text-lg);margin-bottom:.4rem}.collection-content p,.product-card-content p,.lookbook-content p{font-size:var(--text-sm);color:var(--color-text-muted)}.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-5)}.product-card-image{position:relative;aspect-ratio:4/5;background:var(--color-surface-2)}.product-badge{position:absolute;top:1rem;left:1rem;background:var(--color-surface-2);padding:.45rem .7rem;border-radius:var(--radius-full);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em}.price-sale{color:#8b2f2f;font-weight:700}.promo-shell{grid-template-columns:1.08fr .92fr;align-items:center}.promo-copy p{margin-bottom:var(--space-6)}.promo-media{min-height:420px;background:var(--color-surface-2)}
.product-page-grid{grid-template-columns:1.05fr .95fr;align-items:start}.product-gallery{display:grid;gap:var(--space-4)}.product-gallery-item{border-radius:var(--radius-lg);overflow:hidden;background:var(--color-surface-2)}.price-shell{font-size:var(--text-lg);margin:var(--space-4) 0}.product-form{display:grid;gap:var(--space-4);margin:var(--space-6) 0}.form-label{display:block;font-size:var(--text-sm)}.field-input,.field-textarea{width:100%;min-height:48px;padding:0 1rem;border-radius:var(--radius-full);border:1px solid color-mix(in srgb,var(--color-text) 16%, transparent);background:var(--color-surface)}.field-textarea{min-height:120px;padding:1rem;border-radius:var(--radius-md)}.add-to-cart{width:100%}.stock-counter{font-size:var(--text-sm);margin-bottom:var(--space-4);color:var(--color-text-muted)}.trust-badges{display:flex;flex-wrap:wrap;gap:.55rem;margin-bottom:var(--space-5)}.trust-badges span,.swatch-chip span{display:inline-flex;align-items:center;justify-content:center;padding:.45rem .8rem;border-radius:var(--radius-full);background:var(--color-surface-2);font-size:var(--text-xs);letter-spacing:.05em;text-transform:uppercase}.swatch-row{display:flex;gap:.6rem;flex-wrap:wrap}.swatch-chip input{position:absolute;opacity:0;pointer-events:none}.swatch-chip input:checked + span{background:var(--color-primary);color:var(--color-text-inverse)}.product-panel{padding:var(--space-5);margin-bottom:var(--space-4)}.product-panel strong{display:block;margin-bottom:.45rem}.product-panel p{font-size:var(--text-sm);color:var(--color-text-muted)}
.collection-banner-grid{grid-template-columns:1fr .9fr;align-items:center}.collection-banner-image{min-height:360px;background:var(--color-surface-2)}.collection-shell{grid-template-columns:260px 1fr;align-items:start}.collection-toolbar{padding:var(--space-5);border:1px solid color-mix(in srgb,var(--color-text) 10%, transparent);border-radius:var(--radius-lg);background:var(--color-surface)}.collection-toolbar p + p{margin-top:var(--space-3)}.empty-state{padding:var(--space-8);text-align:center}.empty-state h3{margin-bottom:.5rem}.empty-state p{margin-bottom:var(--space-5);color:var(--color-text-muted)}
.site-footer{padding:0 0 var(--space-10)}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:var(--space-8);padding-top:var(--space-10);border-top:1px solid color-mix(in srgb,var(--color-text) 10%, transparent)}.footer-grid h2,.footer-grid h3{margin-bottom:var(--space-4)}.footer-grid p,.footer-grid a{display:block;margin-bottom:.55rem;font-size:var(--text-sm);color:var(--color-text-muted)}
@media (max-width: 1100px){.mega-menu-grid{grid-template-columns:repeat(3,1fr)}.mega-menu-promo{grid-column:1/-1;display:grid;grid-template-columns:220px 1fr}}
@media (max-width: 980px){.hero-grid,.promo-shell,.product-page-grid,.collection-banner-grid,.collection-shell,.footer-grid{grid-template-columns:1fr}.product-grid{grid-template-columns:repeat(2,1fr)}.collection-grid,.lookbook-grid{grid-template-columns:1fr 1fr}.main-nav{display:none}.mobile-nav-toggle{display:grid}.header-inner{grid-template-columns:auto 1fr auto}.site-logo{justify-self:center}.header-actions{justify-self:end}}
@media (max-width: 640px){.product-grid,.collection-grid,.lookbook-grid{grid-template-columns:1fr}.button-row{display:grid}.section-heading{flex-direction:column;align-items:start}.hero-media{min-height:360px}.site-header{position:static}.trust-badges,.swatch-row{display:grid}}
