/* One Billion Styles: storefront stylesheet (built from the "One Billion Styles Premium" theme) */
:root{
  /* Colour scheme "Premium" (default): the logo's red deepened to garnet, antique gold and warm noir on ivory.
     The "Logo red" scheme below swaps the same tokens (Appearance → Customize → Colours). */
  --paper:#fbf7f0; --soft:#f6efe3; --stone:#f1e8d8; --line:#e6dac5; --field:#ffffff;
  --ink:#1d1815; --muted:#5d544b; --faint:#6e6359;
  --accent:#74131f; --accent-text:#7a1824; --on-accent:#fbf3e3;            /* garnet: buttons, links, emphasis */
  --accent-hover:#1d1815; --on-accent-hover:#dcc184;                       /* buttons turn noir with champagne text */
  --sale:#8c1b2a; --em:#74131f;
  --gold:#b08a3e; --gold-light:#dcc184; --gold-text:#7a5b1e; --gold-line:#dcc9a0;  /* antique gold from the "1" */
  --gold-grad:linear-gradient(100deg,#8f6b2a 0%,#b9934a 30%,#e2cb8e 58%,#c29e55 78%,#94702c 100%);
  --bar-bg:#74131f; --bar-fg:#efdfb9;                                      /* announcement bar */
  --ribbon-bg:#17120f; --ribbon-fg:#dcc184;                                /* strip under the hero */
  --count-bg:#b08a3e; --count-fg:#1d1815;                                  /* bag and wishlist counters */
  --nav-line:#b08a3e; --badge-line:#dcc9a0;
  --night:#17120f; --night-strong:#f4ead6; --night-text:#e7dcc8; --night-faint:#a3978a; --night-line:#2e2620;
  --fab-ring:#dcc18466;
  --glass:#fbf7f099; --glass-card:#fbf7f0f2; --glass-wish:#fbf7f0e6;
  --alert-bg:#fbefec; --alert-line:#e8c6c6; --alert-fg:#6e1420;
  --ok:#2f6b3f; --wa:#1c6446;                                              /* WhatsApp in deep emerald */
  --serif:Georgia,"Times New Roman",serif; --sans:Arial,"Helvetica Neue",Helvetica,sans-serif;
  --gutter:5%; --header-h:170px;
  color-scheme:light;
}
:root[data-scheme="bright"]{
  /* Colour scheme "Logo red": the logo's bright red and gold on white */
  --paper:#ffffff; --soft:#fbf8f2; --stone:#f6f1e7; --line:#ebe4d6; --field:#ffffff;
  --ink:#151515; --muted:#5f5a52; --faint:#736d65;
  --accent:#e10a1a; --accent-text:#e10a1a; --on-accent:#ffffff;
  --accent-hover:#151515; --on-accent-hover:#ffffff;
  --sale:#e10a1a; --em:#e10a1a;
  --gold:#cb9524; --gold-light:#f3cf5a; --gold-text:#8a6414; --gold-line:#e6d4a8;
  --gold-grad:linear-gradient(100deg,#ae7611 0%,#cb9524 28%,#f3cf5a 58%,#dcb233 78%,#b88012 100%);
  --bar-bg:#e10a1a; --bar-fg:#ffffff;
  --ribbon-bg:#121212; --ribbon-fg:#f3cf5a;
  --count-bg:#e10a1a; --count-fg:#ffffff;
  --nav-line:currentColor; --badge-line:transparent;
  --night:#121212; --night-strong:#ffffff; --night-text:#d8d2c6; --night-faint:#9a948a; --night-line:#2c2a26;
  --fab-ring:#f3cf5a66;
  --glass:#ffffff99; --glass-card:#fffffff2; --glass-wish:#ffffffe6;
  --alert-bg:#fdf1f1; --alert-line:#f3c3c6; --alert-fg:#8f0b14;
  --wa:#1f8f4e;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.5 var(--sans);-webkit-font-smoothing:antialiased}
body.no-scroll{overflow:hidden}
img{max-width:100%;display:block}
button,input,select,textarea{font:inherit;color:inherit}
button,a{touch-action:manipulation}
button{cursor:pointer;border:0;background:none;padding:0}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
a{color:inherit;text-decoration:none}
p{color:var(--muted)}
h1,h2,h3,h4,p{margin-top:0}
h1,h2,h3,h4{font-family:var(--serif);font-weight:400;text-wrap:balance}
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:var(--paper);padding:10px 16px;z-index:200}
.skip:focus{left:10px;top:10px}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
[hidden]{display:none!important}
.icon{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.4;flex:none}

/* ---------- Bars ---------- */
.announcement{text-align:center;background:var(--bar-bg);color:var(--bar-fg);padding:9px 20px;font-size:12px;letter-spacing:1.6px}
.notice-bar{text-align:center;background:var(--soft);color:var(--ink);padding:9px 20px;font-size:12px;border-bottom:1px solid var(--line)}
.notice-bar button{text-decoration:underline;font-size:12px;margin-left:6px}
.preview-bar{background:var(--night);color:var(--night-strong);border-bottom:0}

/* ---------- Header ---------- */
.site-header{background:var(--paper);position:sticky;top:env(safe-area-inset-top,0px);z-index:40}
.masthead{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:12px var(--gutter);border-bottom:1px solid var(--line)}
.logo{display:inline-flex;align-items:center;justify-content:center;line-height:0}
.logo img{height:88px;width:auto;max-width:300px;object-fit:contain;transition:height .25s ease}
.site-header.scrolled .logo img{height:58px}
.wordmark{font:25px var(--serif);letter-spacing:3px;line-height:1;display:inline-block;text-align:center}
.wordmark small{display:block;text-align:center;font:10px var(--sans);letter-spacing:5.2px;margin-top:9px}
.mast-left,.mast-right{display:flex;align-items:center;gap:20px;font-size:12px;letter-spacing:1px}
.mast-right{justify-content:flex-end}
.hbtn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px}
.hbtn:hover{color:var(--accent-text)}
.count{position:absolute;top:0;right:-2px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--count-bg);color:var(--count-fg);font-size:9.5px;line-height:16px;text-align:center;font-variant-numeric:tabular-nums}
.count[data-zero]{display:none}
.region{font-size:11.5px;letter-spacing:1.2px;color:var(--ink)}
.menu-toggle{display:none}
.nav{display:flex;justify-content:center;gap:36px;padding:15px 12px;font-size:12px;letter-spacing:1.5px;border-bottom:1px solid transparent;transition:border-color .2s}
.nav a:hover,.nav a[aria-current="page"]{color:var(--accent-text);text-decoration:underline;text-decoration-color:var(--nav-line);text-underline-offset:7px}
.nav .sale-link{color:var(--sale)}
.site-header.scrolled .nav{border-bottom-color:var(--line)}

/* ---------- Buttons ---------- */
.primary{display:inline-flex;align-items:center;justify-content:center;gap:24px;background:var(--accent);color:var(--on-accent);padding:16px 26px;font-size:12px;letter-spacing:1.4px;text-transform:uppercase;transition:background .2s,border-color .2s,color .2s;border:1px solid var(--accent)}
.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:var(--on-accent-hover)}
.primary[disabled],.primary[aria-disabled="true"]{opacity:.45;cursor:not-allowed}
.primary.block,.secondary.block{width:100%}
.secondary{display:inline-flex;align-items:center;justify-content:center;gap:16px;border:1px solid var(--ink);padding:15px 24px;font-size:12px;letter-spacing:1.4px;text-transform:uppercase;transition:background .2s,color .2s}
.secondary:hover{background:var(--ink);color:var(--paper)}
.text-link{font-size:12px;letter-spacing:1px;border-bottom:1px solid;padding-bottom:5px;display:inline-block}
.text-link:hover{color:var(--accent-text)}
.link{text-decoration:underline;text-underline-offset:3px}
.eyebrow{display:block;font-size:11px;letter-spacing:3px;text-transform:uppercase;margin-bottom:20px;color:var(--gold-text)}
.helper{font-size:12px!important;color:var(--faint)}
.error-text{color:var(--sale);font-size:13px;margin:8px 0 0}
.ok-text{color:var(--ok);font-size:13px;margin:8px 0 0}
.spinner{width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .7s linear infinite;display:inline-block}
@keyframes spin{to{transform:rotate(360deg)}}

/* ---------- Hero & home ---------- */
.hero{display:grid;grid-template-columns:37% 63%;min-height:600px;background:var(--stone)}
.hero-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:65px 11% 65px 14%}
h1{font-size:clamp(46px,5vw,77px);line-height:1.02;letter-spacing:-2.5px;margin-bottom:24px}
.hero-copy h1 em{color:var(--em)}
.hero-copy p{font-size:14px;line-height:1.8;max-width:290px}
.hero-copy .primary{margin-top:14px}
.hero-visual{position:relative;overflow:hidden;min-height:420px}
.hero-visual img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.image-caption{position:absolute;bottom:25px;right:30px;font-size:11px;letter-spacing:2px;color:#fff;text-shadow:0 1px 5px #333}
.under-hero{padding:17px var(--gutter);display:flex;justify-content:space-between;font-size:11px;letter-spacing:1.8px;background:var(--ribbon-bg);color:var(--ribbon-fg)}
.section{padding:70px var(--gutter) 80px}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:28px}
.section-heading h2{font-size:42px;line-height:1.1;margin:0}
.section-heading .eyebrow{margin-bottom:12px}
.categories{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.category{position:relative;display:block;aspect-ratio:4/5;overflow:hidden;background:var(--soft)}
.category img{width:100%;height:100%;object-fit:cover;transition:transform .7s}
.category:hover img{transform:scale(1.035)}
.category-label{position:absolute;inset:auto 0 0 0;padding:60px 24px 22px;background:linear-gradient(transparent,#2229);color:#fff;display:flex;justify-content:space-between;align-items:end;gap:12px}
.category-label h3{font-size:28px;margin:0;color:#fff}
.category-label span{font-size:11px;letter-spacing:1.6px;white-space:nowrap;color:var(--gold-light)}
.story{display:grid;grid-template-columns:1fr 1fr;margin:0 var(--gutter) 80px;background:var(--soft)}
.story-image{min-height:420px;background-size:cover;background-position:center 20%}
.story-copy{padding:65px 12%;display:flex;align-items:flex-start;flex-direction:column;justify-content:center}
.story h2{font-size:42px;line-height:1.1}
.story p{font-size:14px;line-height:1.8}
.values{border-top:1px solid var(--gold-line);border-bottom:1px solid var(--gold-line);display:grid;grid-template-columns:repeat(3,1fr);padding:34px var(--gutter);text-align:center}
.values h3{font-size:21px;margin:0 0 7px}
.values p{font-size:12px;margin:0}
.values>div+div{border-left:1px solid var(--gold-line)}
.journal-teaser{display:grid;grid-template-columns:1.2fr 1fr;gap:0;background:var(--stone);margin:0 var(--gutter) 80px}
.journal-teaser img{width:100%;height:100%;object-fit:cover;min-height:340px}
.journal-teaser .copy{padding:50px 10%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.journal-teaser h2{font-size:36px;line-height:1.1}

/* ---------- Page head / crumbs ---------- */
.page-head{padding:44px var(--gutter) 30px;border-bottom:1px solid var(--line)}
.page-head h1{font-size:clamp(38px,4.2vw,58px);margin-bottom:10px;letter-spacing:-1.5px}
.page-head p{max-width:560px;font-size:14px;line-height:1.8;margin:0}
.crumbs{font-size:11px;letter-spacing:1.5px;color:var(--faint);margin-bottom:18px;display:flex;gap:9px;flex-wrap:wrap;text-transform:uppercase}
.crumbs a:hover{color:var(--accent-text)}

/* ---------- Product card (listing) ---------- */
.grid{display:grid;grid-template-columns:repeat(var(--cols,4),minmax(0,1fr));gap:34px 20px}
.card{position:relative;min-width:0}
.card-media{position:relative;aspect-ratio:3/4.2;overflow:hidden;background:var(--stone)}
.card-media>a{display:block;width:100%;height:100%}
.card-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 15%;transition:opacity .45s,transform .7s}
.card-media img.alt{opacity:0}
.card:hover .card-media img.alt{opacity:1}
.card:hover .card-media img{transform:scale(1.03)}
.badges{position:absolute;top:12px;left:12px;display:flex;flex-direction:column;gap:6px;align-items:flex-start;pointer-events:none}
.badge{background:var(--paper);font-size:10px;letter-spacing:1px;padding:5px 9px;text-transform:uppercase;border:1px solid var(--badge-line)}
.badge.sale{background:var(--sale);color:var(--on-accent);border-color:var(--sale)}
.badge.soldout{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.wish{position:absolute;top:10px;right:10px;width:36px;height:36px;border-radius:50%;background:var(--glass-wish);display:grid;place-items:center;transition:transform .2s}
.wish:hover{transform:scale(1.08)}
.wish svg{width:18px;height:18px;fill:none;stroke:var(--ink);stroke-width:1.5}
.wish[aria-pressed="true"] svg{fill:var(--sale);stroke:var(--sale)}
.quick{position:absolute;left:0;right:0;bottom:0;background:var(--glass-card);padding:11px 12px 12px;transform:translateY(100%);transition:transform .3s}
.card:hover .quick,.card:focus-within .quick{transform:none}
@media (hover:none){.quick{display:none}}
.quick p{margin:0 0 8px;font-size:10px;letter-spacing:1.4px;color:var(--ink);text-transform:uppercase;text-align:center}
.quick-sizes{display:flex;gap:5px;justify-content:center;flex-wrap:wrap}
.quick-sizes button{min-width:34px;height:30px;padding:0 7px;border:1px solid var(--line);font-size:11px;background:var(--paper)}
.quick-sizes button:hover:not([disabled]){border-color:var(--ink);background:var(--ink);color:var(--paper)}
.quick-sizes button[disabled]{color:#b3ada3;text-decoration:line-through;cursor:not-allowed}
.card-info{padding-top:14px}
.card-fabric{font-size:11px;letter-spacing:.6px;color:var(--faint);margin:0 0 5px;text-transform:uppercase}
.card h3{font-size:20px;margin:0 0 6px;line-height:1.2}
.price-row{display:flex;gap:9px;align-items:baseline;flex-wrap:wrap;font-size:13px;font-variant-numeric:tabular-nums;margin:0;color:var(--ink)}
.price-row s{color:var(--faint)}
.price-row .now.on-sale{color:var(--sale)}
.price-row .off{font-size:11px;color:var(--sale);letter-spacing:.5px}
.card-swatch{display:flex;gap:6px;margin-top:10px}
.card-swatch span{width:12px;height:12px;border-radius:50%;border:1px solid #7775}
.card-sizes-line{font-size:10.5px;letter-spacing:1px;color:var(--faint);margin-top:7px}
.skeleton .card-media{animation:pulse 1.2s ease-in-out infinite}
.skeleton .bar{height:12px;background:var(--soft);margin-top:12px;width:70%}
.skeleton .bar.short{width:40%}
@keyframes pulse{50%{opacity:.6}}

/* ---------- Collection (listing) page ---------- */
.listing-head{padding:34px var(--gutter) 24px}
.listing-head h1{font-size:clamp(36px,4vw,54px);letter-spacing:-1.4px;margin-bottom:8px}
.listing-head p{font-size:14px;max-width:560px;margin:0}
.toolbar{position:sticky;top:var(--header-h);z-index:20;background:var(--paper);display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px var(--gutter);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.toolbar-left,.toolbar-right{display:flex;align-items:center;gap:18px;font-size:12px;letter-spacing:.8px}
.filter-toggle{display:inline-flex;align-items:center;gap:9px;font-size:12px;letter-spacing:1.4px;text-transform:uppercase}
.filter-toggle .fcount{background:var(--count-bg);color:var(--count-fg);border-radius:9px;padding:0 6px;font-size:10px;line-height:17px}
.item-count{color:var(--faint);font-variant-numeric:tabular-nums}
.sort-select{border:1px solid var(--line);background:var(--paper);padding:8px 30px 8px 10px;font-size:12px}
.cols-toggle{display:flex;gap:4px}
.cols-toggle button{width:30px;height:30px;display:grid;place-items:center;border:1px solid transparent;color:var(--faint)}
.cols-toggle button[aria-pressed="true"]{border-color:var(--line);color:var(--ink)}
.cols-toggle svg{width:16px;height:16px;fill:currentColor}
.listing{display:grid;grid-template-columns:250px minmax(0,1fr);gap:38px;padding:26px var(--gutter) 80px}
.listing.filters-closed{grid-template-columns:minmax(0,1fr)}
.listing.filters-closed .filters-panel{display:none}
.filters-panel{align-self:start;position:sticky;top:calc(var(--header-h) + 70px);max-height:calc(100dvh - var(--header-h) - 90px);overflow:auto;padding-right:6px}
.fgroup{border-bottom:1px solid var(--line)}
.fgroup summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;padding:15px 0;font-size:11.5px;letter-spacing:1.6px;text-transform:uppercase}
.fgroup summary::-webkit-details-marker{display:none}
.fgroup summary::after{content:"+";font-size:15px;line-height:1}
.fgroup[open] summary::after{content:"−"}
.fopts{padding:0 0 16px;display:grid;gap:9px}
.fopts label{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--muted);cursor:pointer}
.fopts input[type="checkbox"]{width:15px;height:15px;accent-color:var(--accent);margin:0}
.fopts .sw{width:14px;height:14px;border-radius:50%;border:1px solid #7775}
.size-chips{display:flex;flex-wrap:wrap;gap:7px}
.size-chips label{display:block}
.size-chips input{position:absolute;opacity:0;pointer-events:none}
.size-chips span{display:inline-block;min-width:42px;text-align:center;padding:8px 9px;border:1px solid var(--line);font-size:12px;color:var(--ink)}
.size-chips input:checked+span{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.size-chips input:focus-visible+span{outline:2px solid var(--ink);outline-offset:2px}
.price-inputs{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:center;font-size:12px}
.price-inputs input{width:100%;border:1px solid var(--line);background:var(--field);padding:9px;font-size:12px}
.filters-actions{display:flex;gap:10px;padding-top:18px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 20px}
.chip{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);padding:6px 11px;font-size:12px;background:var(--soft)}
.chip button{font-size:14px;line-height:1}
.empty-state{padding:70px 20px;text-align:center;border:1px dashed var(--line);grid-column:1/-1}
.empty-state h3{font-size:26px;margin-bottom:8px}
.filters-head{display:none}

/* ---------- Product page ---------- */
.pdp{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:56px;padding:20px var(--gutter) 70px}
.pdp-gallery{display:grid;grid-template-columns:76px minmax(0,1fr);gap:14px;align-self:start;position:sticky;top:calc(var(--header-h) + 16px)}
.thumbs{display:flex;flex-direction:column;gap:10px}
.thumbs button{aspect-ratio:3/4;overflow:hidden;border:1px solid transparent;background:var(--soft)}
.thumbs button[aria-pressed="true"]{border-color:var(--ink)}
.thumbs img{width:100%;height:100%;object-fit:cover}
.main-photo{position:relative;aspect-ratio:3/4;background:var(--soft);overflow:hidden;cursor:zoom-in}
.main-photo img{width:100%;height:100%;object-fit:cover;object-position:center 15%;transition:transform .25s}
.main-photo.zoom img{transform:scale(2)}
.slides-wrap{display:none}
.pdp>.crumbs{grid-column:1/-1;margin:0}
.pdp-info{min-width:0}
.pdp-info .card-fabric{font-size:11.5px}
.pdp-info h1{font-size:clamp(38px,3.8vw,54px);letter-spacing:-1.4px;margin:0 0 8px}
.sku{font-size:11.5px;color:var(--faint);letter-spacing:.6px;margin:0 0 18px}
.pdp-price{font-size:20px;margin:0 0 4px}
.pdp-price .off{font-size:12px}
.tax-note{font-size:11.5px;color:var(--faint);margin:0 0 24px}
.opt-label{display:flex;justify-content:space-between;align-items:center;font-size:12px;letter-spacing:1.2px;margin:20px 0 10px;text-transform:uppercase}
.opt-label button{font-size:12px;letter-spacing:0;text-transform:none;text-decoration:underline;text-underline-offset:4px;color:var(--muted)}
.colour-swatch{display:inline-flex;align-items:center;gap:10px;font-size:13px;color:var(--muted)}
.colour-swatch span{width:26px;height:26px;border-radius:50%;border:1px solid var(--ink);box-shadow:inset 0 0 0 3px var(--paper)}
.sizes{display:flex;gap:8px;flex-wrap:wrap}
.sizes button{min-width:52px;height:44px;padding:0 12px;border:1px solid var(--line);font-size:13px;position:relative}
.sizes button:hover:not([disabled]){border-color:var(--ink)}
.sizes button[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.sizes button[disabled]{color:#b5aea3;cursor:not-allowed;background:repeating-linear-gradient(135deg,transparent 0 6px,#f1ece2 6px 7px)}
.stock-note{font-size:12px;margin:10px 0 0;min-height:18px;color:var(--sale)}
.buy-row{display:grid;grid-template-columns:auto 1fr 52px;gap:10px;margin-top:18px}
.qty{display:inline-flex;align-items:center;border:1px solid var(--line)}
.qty button{width:38px;height:100%;font-size:17px}
.qty span{min-width:22px;text-align:center;font-variant-numeric:tabular-nums}
.wish-lg{border:1px solid var(--line);display:grid;place-items:center}
.wish-lg svg{width:20px;height:20px;fill:none;stroke:var(--ink);stroke-width:1.5}
.wish-lg[aria-pressed="true"] svg{fill:var(--sale);stroke:var(--sale)}
.delivery-box{margin:22px 0;padding:16px 18px;background:var(--soft);font-size:12.5px;line-height:1.8;color:var(--muted)}
.delivery-box strong{color:var(--ink);font-weight:400}
details.acc{border-top:1px solid var(--line)}
details.acc:last-of-type{border-bottom:1px solid var(--line)}
details.acc summary{list-style:none;cursor:pointer;padding:16px 0;display:flex;justify-content:space-between;font-size:12px;letter-spacing:1.4px;text-transform:uppercase}
details.acc summary::-webkit-details-marker{display:none}
details.acc summary::after{content:"+";font-size:16px;line-height:1}
details.acc[open] summary::after{content:"−"}
.acc-body{padding:0 0 18px;font-size:13px;line-height:1.8;color:var(--muted)}
.acc-body p{font-size:13px}
.acc-body ul{margin:0;padding-left:18px}
.spec{display:grid;grid-template-columns:120px 1fr;gap:6px 14px;font-size:13px;margin:0 0 12px}
.spec dt{color:var(--faint)}
.spec dd{margin:0;color:var(--ink)}
.rail{padding:50px var(--gutter) 70px;border-top:1px solid var(--line)}

/* ---------- Bag drawer & cart page ---------- */
dialog{border:0;padding:0;background:var(--paper);color:var(--ink);max-height:95dvh;max-width:calc(100% - 24px)}
dialog::backdrop{background:#2227;backdrop-filter:blur(3px)}
.modal-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:20px 24px}
.modal-head h2{font-size:26px;margin:0}
.close{font-size:27px;line-height:1;padding:5px 8px}
.drawer{width:460px;margin:0 0 0 auto;height:100dvh;max-height:100dvh;max-width:100%}
.drawer-body{padding:22px 24px;display:flex;flex-direction:column;height:calc(100% - 77px)}
.drawer-lines{overflow-y:auto;flex:1}
.line{display:grid;grid-template-columns:84px minmax(0,1fr);gap:16px;padding-bottom:20px;margin-bottom:20px;border-bottom:1px solid var(--line)}
.line img{width:84px;height:112px;object-fit:cover;object-position:center 15%;background:var(--soft)}
.line h3{font-size:20px;margin:0 0 2px}
.line .meta{font-size:12px;margin:0 0 10px;color:var(--muted)}
.line-foot{display:flex;justify-content:space-between;align-items:center;gap:10px}
.line .qty{height:32px}
.line .qty button{width:30px}
.remove{font-size:11px;text-decoration:underline;color:var(--muted)}
.total-row{display:flex;justify-content:space-between;gap:12px;margin:10px 0;font-variant-numeric:tabular-nums;font-size:14px}
.total-row.big{font-size:17px}
.ship-meter{height:3px;background:var(--line);margin:8px 0 4px}
.ship-meter span{display:block;height:100%;background:var(--gold-grad);transition:width .4s}
.drawer-actions{display:grid;gap:10px;margin-top:14px}
.empty{padding:60px 15px;text-align:center}
.empty h3{font-size:24px}
.cart-page{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:50px;padding:34px var(--gutter) 80px}
.cart-table .line{grid-template-columns:110px minmax(0,1fr) auto}
.cart-table .line img{width:110px;height:146px}
.line-price{text-align:right;font-variant-numeric:tabular-nums;font-size:14px}
.line-actions{display:flex;gap:16px;margin-top:12px}
.summary{padding:28px;background:var(--soft);align-self:start;position:sticky;top:calc(var(--header-h) + 16px)}
.summary h3{font-size:24px;margin-bottom:16px}
.summary-line{display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:12px;align-items:center;font-size:13px;margin-bottom:12px}
.summary-line img{width:54px;height:72px;object-fit:cover;object-position:center 15%}
.summary-line span{color:var(--muted);font-size:12px;display:block}
.trust{display:grid;gap:8px;margin-top:18px;font-size:12px;color:var(--muted)}
.trust div{display:flex;gap:10px;align-items:center}
.trust svg{width:16px;height:16px;fill:none;stroke:var(--gold);stroke-width:1.5}
.alert{padding:12px 16px;border:1px solid var(--alert-line);background:var(--alert-bg);color:var(--alert-fg);font-size:13px;margin-bottom:18px}

/* ---------- Forms, checkout, account ---------- */
.field{display:block;font-size:12px;margin-bottom:14px;color:var(--ink)}
.field input,.field select,.field textarea{width:100%;display:block;border:1px solid var(--line);background:var(--field);padding:12px;margin-top:5px;color:var(--ink);border-radius:0}
.field textarea{min-height:120px;resize:vertical}
.field input:user-invalid{border-color:var(--sale)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.three{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}
.check{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--muted);margin:10px 0;cursor:pointer}
.check input{accent-color:var(--accent);margin-top:3px;width:15px;height:15px;flex:none}
.checkout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:56px;padding:30px var(--gutter) 80px}
.checkout h2{font-size:26px;margin:30px 0 14px}
.checkout h2:first-child{margin-top:0}
.login-hint{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;background:var(--soft);font-size:13px;margin-bottom:24px;flex-wrap:wrap}
.pay-options{display:grid;gap:10px}
.pay-options label{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--line);padding:15px;font-size:13px;cursor:pointer}
.pay-options label:has(input:checked){border-color:var(--ink);background:var(--soft)}
.pay-options input{accent-color:var(--accent);margin-top:3px}
.ship-method{display:flex;justify-content:space-between;border:1px solid var(--ink);background:var(--soft);padding:15px;font-size:13px}
.auth{display:grid;grid-template-columns:1fr 1fr;gap:0;max-width:1020px;margin:40px auto 80px;border:1px solid var(--line)}
.auth>section{padding:44px}
.auth>section+section{border-left:1px solid var(--line);background:var(--soft)}
.auth h2{font-size:30px;margin-bottom:8px}
.tabs{display:flex;gap:26px;border-bottom:1px solid var(--line);margin-bottom:24px}
.tabs button{padding:12px 0;font-size:12px;letter-spacing:1.4px;text-transform:uppercase;border-bottom:2px solid transparent;margin-bottom:-1px;color:var(--faint)}
.tabs button[aria-selected="true"]{border-color:var(--ink);color:var(--ink)}
.benefits{list-style:none;padding:0;margin:20px 0 0;display:grid;gap:14px;font-size:13px;color:var(--muted)}
.benefits li{display:flex;gap:12px}
.benefits svg{width:18px;height:18px;fill:none;stroke:var(--gold);stroke-width:1.5;flex:none}
.account{display:grid;grid-template-columns:220px minmax(0,1fr);gap:50px;padding:34px var(--gutter) 80px}
.account-nav{display:flex;flex-direction:column;gap:2px;align-self:start;position:sticky;top:calc(var(--header-h) + 20px)}
.account-nav button,.account-nav a{text-align:left;padding:11px 0;font-size:12px;letter-spacing:1.4px;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line)}
.account-nav [aria-selected="true"]{color:var(--ink)}
.order-card{border:1px solid var(--line);margin-bottom:16px}
.order-card summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:14px;padding:16px 18px;font-size:13px;align-items:center}
.order-card summary::-webkit-details-marker{display:none}
.order-card .label{display:block;font-size:10.5px;letter-spacing:1.3px;color:var(--faint);text-transform:uppercase}
.order-body{padding:0 18px 18px;border-top:1px solid var(--line)}
.pill{display:inline-block;padding:4px 10px;font-size:10.5px;letter-spacing:1px;text-transform:uppercase;background:var(--soft);border:1px solid var(--line)}
.pill.ok{background:#e8efe5;border-color:#c9d8c4;color:#2f5a35}
.pill.warn{background:#fbf1e3;border-color:#ecd7b5;color:#7a5418}
.pill.bad{background:#fbece9;border-color:#ecc8bf;color:#7a2d20}
.success{padding:70px var(--gutter);text-align:center}
.success h1{font-size:46px}
.success p{max-width:480px;margin:12px auto}
.order-summary-box{max-width:640px;margin:30px auto 0;text-align:left;border:1px solid var(--line);padding:26px}

/* ---------- Search overlay ---------- */
.search-overlay{position:fixed;inset:0;z-index:120;background:var(--glass);-webkit-backdrop-filter:blur(14px) saturate(.9);backdrop-filter:blur(14px) saturate(.9);display:flex;justify-content:center;align-items:flex-start;padding:14vh 16px 16px;animation:fade .18s ease-out}
@keyframes fade{from{opacity:0}}
.search-panel{width:min(720px,100%);background:var(--paper);box-shadow:0 30px 80px -30px #2928244d;border:1px solid var(--line)}
.search-bar{display:flex;align-items:center;gap:14px;padding:6px 10px 6px 22px;border-bottom:1px solid var(--line)}
.search-bar svg{width:22px;height:22px;fill:none;stroke:var(--ink);stroke-width:1.4;flex:none}
.search-bar input{flex:1;min-width:0;border:0;background:transparent;font:24px var(--serif);padding:18px 0;outline:none}
.search-bar input::placeholder{color:#a19a8f}
.search-bar input::-webkit-search-cancel-button{display:none}
.search-results{max-height:min(60vh,520px);overflow:auto;padding:10px 0}
.s-section{padding:10px 22px}
.s-section h4{font:11px var(--sans);letter-spacing:2px;text-transform:uppercase;color:var(--faint);margin:4px 0 10px}
.s-chips{display:flex;flex-wrap:wrap;gap:8px}
.s-chips a,.s-chips button{border:1px solid var(--line);padding:7px 13px;font-size:12.5px}
.s-chips a:hover,.s-chips button:hover{border-color:var(--accent-text);color:var(--accent-text)}
.s-item{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:14px;align-items:center;padding:9px 22px}
.s-item img{width:52px;height:68px;object-fit:cover;object-position:center 15%;background:var(--soft)}
.s-item .n{font:18px var(--serif)}
.s-item .n mark{background:none;color:var(--accent-text);text-decoration:underline;text-underline-offset:3px}
.s-item .f{font-size:11px;color:var(--faint);letter-spacing:.5px;text-transform:uppercase}
.s-item .p{font-size:13px;font-variant-numeric:tabular-nums}
.s-item[aria-selected="true"],.s-item:hover{background:var(--soft)}
.s-all{display:flex;justify-content:space-between;padding:14px 22px;border-top:1px solid var(--line);font-size:12px;letter-spacing:1.2px;text-transform:uppercase}
.s-all:hover{color:var(--accent-text)}
.s-empty{padding:26px 22px;font-size:14px;color:var(--muted)}
.search-hint{font-size:11px;color:var(--faint);letter-spacing:1px}

/* ---------- Newsletter popup ---------- */
.nl-dialog{width:820px;max-width:calc(100% - 24px)}
.nl-grid{display:grid;grid-template-columns:1fr 1.1fr}
.nl-grid>img{width:100%;height:100%;object-fit:cover;object-position:center 20%;min-height:460px}
.nl-copy{padding:44px 40px 34px;position:relative}
.nl-copy .close{position:absolute;top:10px;right:12px}
.nl-copy h2{font-size:34px;line-height:1.1;margin-bottom:10px}
.nl-copy p{font-size:14px;line-height:1.7}
.nl-copy .field input{padding:13px}
.phone-row{display:grid;grid-template-columns:96px 1fr;gap:8px}
.phone-row select{border:1px solid var(--line);background:var(--field);padding:12px 8px;margin-top:5px}
.nl-legal{font-size:11px!important;color:var(--faint);line-height:1.6;margin-top:12px}

/* ---------- Floating chat & WhatsApp ---------- */
.fab{position:fixed;bottom:calc(22px + env(safe-area-inset-bottom,0px));z-index:90;display:flex;align-items:center;gap:10px;height:54px;padding:0 20px 0 16px;border-radius:27px;box-shadow:0 10px 30px -10px #29282466;font-size:12.5px;letter-spacing:.6px;transition:transform .2s}
.fab:hover{transform:translateY(-2px)}
.fab svg{width:24px;height:24px;flex:none}
.fab-ai{left:22px;background:var(--night);color:var(--night-strong);box-shadow:0 0 0 1px var(--fab-ring),0 10px 30px -10px #29282466}
.fab-ai svg{fill:none;stroke:currentColor;stroke-width:1.5}
.fab-wa{right:22px;background:var(--wa);color:#fff}
.fab-wa svg{fill:currentColor}
.chat-panel{position:fixed;left:22px;bottom:calc(88px + env(safe-area-inset-bottom,0px));z-index:95;width:380px;max-width:calc(100% - 32px);height:min(560px,calc(100dvh - 120px));background:var(--paper);border:1px solid var(--line);box-shadow:0 30px 80px -30px #29282466;display:flex;flex-direction:column;animation:rise .2s ease-out}
@keyframes rise{from{opacity:0;transform:translateY(10px)}}
.chat-head{display:flex;align-items:center;gap:12px;padding:15px 16px;background:var(--night);color:var(--night-strong);border-bottom:2px solid var(--gold)}
.chat-head .avatar{width:36px;height:36px;border-radius:50%;background:var(--gold-grad);color:var(--night);display:grid;place-items:center;font:17px var(--serif)}
.chat-head strong{display:block;font:17px var(--serif)}
.chat-head small{font-size:11px;opacity:.85}
.chat-head .close{margin-left:auto;color:var(--night-strong)}
.chat-log{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px;background:var(--soft)}
.msg{max-width:86%;padding:10px 13px;font-size:13.5px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}
.msg.bot{background:var(--paper);border:1px solid var(--line);align-self:flex-start}
.msg.me{background:var(--ink);color:var(--paper);align-self:flex-end}
.msg a{text-decoration:underline;text-underline-offset:2px;color:var(--accent-text)}
.msg.typing{color:var(--faint)}
.chat-products{display:grid;gap:8px;align-self:stretch}
.chat-product{display:grid;grid-template-columns:44px 1fr;gap:10px;align-items:center;background:var(--paper);border:1px solid var(--line);padding:7px;font-size:12.5px}
.chat-product img{width:44px;height:58px;object-fit:cover;object-position:center 15%}
.chat-product b{font:15px var(--serif);display:block}
.chat-prompts{display:flex;gap:6px;flex-wrap:wrap;padding:10px 12px 0}
.chat-prompts button{border:1px solid var(--line);padding:6px 10px;font-size:12px;background:var(--paper)}
.chat-form{display:flex;gap:8px;padding:12px;border-top:1px solid var(--line)}
.chat-form input{flex:1;min-width:0;border:1px solid var(--line);padding:11px 12px;font-size:13.5px}
.chat-form button{background:var(--accent);color:var(--on-accent);padding:0 16px;font-size:12px;letter-spacing:1px;transition:background .2s}
.chat-form button:hover{background:var(--accent-hover);color:var(--on-accent-hover)}
.chat-note{font-size:10.5px;color:var(--faint);text-align:center;padding:0 12px 10px}

/* ---------- Content pages ---------- */
.prose{max-width:680px}
.prose h2{font-size:32px;margin:46px 0 14px}
.prose h2:first-child{margin-top:0}
.prose h3{font-size:22px;margin:28px 0 8px}
.prose p,.prose li{font-size:14.5px;line-height:1.9;color:var(--muted)}
.split{display:grid;grid-template-columns:240px minmax(0,1fr);gap:60px;padding:56px var(--gutter) 80px}
.side-nav{position:sticky;top:calc(var(--header-h) + 20px);align-self:start;display:flex;flex-direction:column;gap:12px;font-size:12px;letter-spacing:1.3px;text-transform:uppercase}
.side-nav a{color:var(--muted)}
.side-nav a:hover{color:var(--accent-text)}
.table-wrap{overflow-x:auto;margin:16px 0 8px}
table{border-collapse:collapse;width:100%;font-size:13px;font-variant-numeric:tabular-nums}
th,td{text-align:left;padding:11px 14px;border-bottom:1px solid var(--line);white-space:nowrap}
th{font-weight:400;font-size:11px;letter-spacing:1.4px;text-transform:uppercase;color:var(--gold-text);background:var(--soft)}
.unit-toggle{display:inline-flex;border:1px solid var(--line)}
.unit-toggle button{padding:7px 14px;font-size:12px}
.unit-toggle button[aria-pressed="true"]{background:var(--ink);color:var(--paper)}
.size-dialog{width:720px}
.size-dialog .body{padding:22px 26px 28px}
.editorial{display:grid;grid-template-columns:1fr 1fr}
.editorial img{width:100%;height:100%;object-fit:cover;min-height:460px}
.editorial .copy{padding:70px 12%;display:flex;flex-direction:column;justify-content:center;background:var(--soft)}
.editorial .copy h2{font-size:40px;line-height:1.1}
.editorial .copy p{font-size:14px;line-height:1.85}
.editorial.flip .copy{order:-1;background:var(--paper)}
.pull{font:clamp(26px,3vw,40px)/1.3 var(--serif);text-align:center;max-width:820px;margin:0 auto;padding:86px var(--gutter);color:var(--ink);text-wrap:balance}
.pull small{display:block;font:11px var(--sans);letter-spacing:3px;color:var(--gold-text);margin-top:24px;text-transform:uppercase}
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;padding:70px var(--gutter);border-top:1px solid var(--line)}
.pillars h3{font-size:24px;margin-bottom:10px}
.pillars p{font-size:13px;line-height:1.8}
.contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:60px;padding:56px var(--gutter) 80px}
.contact-card{border-top:1px solid var(--line);padding:20px 0}
.contact-card h3{font-size:22px;margin-bottom:6px}
.contact-card p{font-size:13.5px;margin:0;line-height:1.8}
.journal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px 24px;padding:36px var(--gutter) 80px}
.post img{aspect-ratio:4/3;width:100%;object-fit:cover;background:var(--soft)}
.post h2,.post h3{font-size:26px;margin:16px 0 8px;line-height:1.15}
.post p{font-size:13.5px;line-height:1.75}
.post time,.article time{font-size:11px;letter-spacing:1.5px;color:var(--faint);text-transform:uppercase}
.article{max-width:760px;margin:0 auto;padding:40px var(--gutter) 70px}
.article h1{font-size:clamp(38px,4.5vw,60px);margin:14px 0 18px}
.article .lede{font:21px/1.5 var(--serif);color:var(--ink)}
.article .hero-img{width:100%;aspect-ratio:16/9;object-fit:cover;margin:26px 0 32px}
.article .body p{font-size:15.5px;line-height:1.9}

/* ---------- Newsletter band / footer ---------- */
.newsletter{padding:70px var(--gutter);text-align:center;background:var(--soft)}
.newsletter h2{font-size:36px;margin-bottom:10px}
.newsletter p{font-size:14px;max-width:460px;margin:0 auto 24px}
.inline-form{display:flex;max-width:460px;margin:0 auto;border:1px solid var(--ink)}
.inline-form input{flex:1;min-width:0;border:0;background:transparent;padding:15px 16px;font-size:13px}
.inline-form button{background:var(--ink);color:var(--paper);padding:0 22px;font-size:11px;letter-spacing:1.4px}
footer{padding:56px var(--gutter) 110px;background:var(--night);color:var(--night-text);border-top:3px solid transparent;border-image:var(--gold-grad) 1}
footer p{color:var(--night-faint)}
footer :focus-visible{outline-color:var(--gold-light)!important}
.footer-logo img{height:118px;width:auto}
.footer-top{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:30px;padding-bottom:40px}
.footer-top p{font-size:13px;max-width:320px;margin:20px 0 0}
.footer-col h4{font:11px var(--sans);letter-spacing:2px;text-transform:uppercase;color:var(--gold);margin:0 0 14px}
.footer-col a{display:block;font-size:13px;line-height:2.1;color:var(--night-text)}
.footer-col a:hover{color:var(--gold-light)}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--night-line);padding-top:18px;font-size:11px;color:var(--night-faint);flex-wrap:wrap}
.pay-marks{display:flex;gap:6px;flex-wrap:wrap}
.pay-marks span{border:1px solid var(--night-line);padding:3px 8px;font-size:10px;letter-spacing:1px;color:var(--night-text)}
.toast{position:fixed;bottom:calc(92px + env(safe-area-inset-bottom,0px));left:50%;transform:translateX(-50%);background:var(--ink);color:var(--paper);padding:12px 22px;z-index:150;font-size:13px;max-width:calc(100% - 32px);text-align:center}
.menu-dialog{width:340px;margin:0 auto 0 0;height:100dvh;max-height:100dvh;max-width:88%}
.menu-links{display:flex;flex-direction:column;padding:12px 24px}
.menu-links a{font:23px var(--serif);padding:13px 0;border-bottom:1px solid var(--line)}
.menu-links .small{font:12px var(--sans);letter-spacing:1.4px;border:0;padding:9px 0;text-transform:uppercase}
.region-select{display:flex;gap:8px;align-items:center;font-size:12px}
.region-select select{border:1px solid var(--line);background:var(--paper);padding:6px}
footer .region-select select{background:#1d1c1a;border-color:var(--night-line);color:var(--night-text)}
.menu-logo img{height:54px;width:auto}

/* ---------- Responsive ---------- */
@media (max-width:1100px){
  .grid{--cols:3!important}
  .listing{grid-template-columns:220px minmax(0,1fr);gap:26px}
  .footer-top{grid-template-columns:1fr 1fr}
  .pdp{gap:34px}
  .journal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:800px){
  :root{--gutter:16px;--header-h:112px}
  .masthead{padding:14px var(--gutter)}
  .mast-left .region{display:none}
  .mast-right{gap:4px}
  .menu-toggle{display:inline-flex}
  .hide-sm{display:none!important}
  .wordmark{font-size:19px;letter-spacing:1.8px}
  .logo img{height:46px}
  .site-header.scrolled .logo img{height:40px}
  .footer-logo img{height:96px}
  .wordmark small{font-size:8px;letter-spacing:4px;margin-top:7px}
  .nav{gap:20px;font-size:10.5px;overflow-x:auto;justify-content:flex-start;padding:12px var(--gutter);white-space:nowrap;scrollbar-width:none}
  .announcement{font-size:10.5px;letter-spacing:1px;padding:8px 12px}
  .ann-extra{display:none}
  .hero{grid-template-columns:1fr;min-height:0}
  .hero-visual{height:430px;grid-row:1}
  .hero-copy{padding:36px var(--gutter) 42px}
  h1{font-size:48px}
  .hero-copy p{max-width:100%}
  .under-hero{font-size:9px;gap:12px;letter-spacing:.6px}
  .under-hero span:last-child{display:none}
  .section{padding:44px var(--gutter)}
  .section-heading h2{font-size:31px}
  .section-heading .text-link{display:none}
  .categories{grid-template-columns:1fr;gap:12px}
  .category{aspect-ratio:16/10}
  .category img{object-position:center 25%}
  .grid{--cols:2!important;gap:26px 12px}
  .card h3{font-size:18px}
  .price-row{font-size:12px;gap:6px}
  .wish{width:32px;height:32px;top:7px;right:7px}
  .badges{top:8px;left:8px}
  .badge{font-size:9px;padding:4px 7px}
  .story,.journal-teaser{grid-template-columns:1fr;margin:0 var(--gutter) 44px}
  .story-image{min-height:340px}
  .story-copy,.journal-teaser .copy{padding:34px 8%}
  .story h2{font-size:33px}
  .values{padding:22px var(--gutter);gap:12px}
  .values h3{font-size:16px;line-height:1.2}
  .values p{font-size:10px}
  .values>div+div{border:0}
  .toolbar{top:var(--header-h);padding:10px var(--gutter)}
  .cols-toggle,.item-count.wide{display:none}
  .listing{grid-template-columns:minmax(0,1fr);padding:18px var(--gutter) 60px}
  .filters-panel{position:fixed;inset:0 auto 0 0;width:min(360px,90%);max-height:none;height:100dvh;z-index:130;background:var(--paper);padding:0 20px 20px;box-shadow:20px 0 60px -20px #2928244d;display:none}
  .listing .filters-panel.open{display:block}
  .listing.filters-closed .filters-panel.open{display:block}
  .filters-head{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--paper);z-index:1}
  .filters-head h2{font-size:24px;margin:0}
  .pdp{grid-template-columns:minmax(0,1fr);padding:8px 0 50px;gap:24px}
  .pdp-gallery{display:none}
  .slides-wrap{display:block}
  .pdp>.crumbs{padding:0 var(--gutter)}
  .slides{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;position:relative}
  .slides img{flex:0 0 100%;width:100%;aspect-ratio:3/4;object-fit:cover;object-position:center 15%;scroll-snap-align:center}
  .dots{display:flex;justify-content:center;gap:6px;margin-top:10px}
  .dots span{width:6px;height:6px;border-radius:50%;background:var(--line)}
  .dots span.on{background:var(--ink)}
  .pdp-info{padding:0 var(--gutter)}
  .rail{padding:40px var(--gutter) 50px}
  .cart-page,.checkout,.contact-grid{grid-template-columns:minmax(0,1fr);gap:28px;padding:22px var(--gutter) 60px}
  .cart-table .line{grid-template-columns:86px minmax(0,1fr)}
  .cart-table .line img{width:86px;height:115px}
  .line-price{grid-column:2;text-align:left}
  .summary{position:static}
  .checkout .summary{grid-row:1}
  .two,.three{grid-template-columns:1fr}
  .auth{grid-template-columns:1fr;margin:20px var(--gutter) 50px}
  .auth>section{padding:28px 22px}
  .auth>section+section{border-left:0;border-top:1px solid var(--line)}
  .account{grid-template-columns:1fr;gap:20px;padding:22px var(--gutter) 60px}
  .account-nav{position:static;flex-direction:row;overflow-x:auto;gap:18px}
  .account-nav button,.account-nav a{border:0;white-space:nowrap}
  .order-card summary{grid-template-columns:1fr 1fr}
  .split{grid-template-columns:1fr;gap:20px;padding:28px var(--gutter) 50px}
  .side-nav{position:static;flex-direction:row;flex-wrap:wrap;gap:8px 18px}
  .editorial{grid-template-columns:1fr}
  .editorial img{min-height:320px}
  .editorial .copy{padding:38px var(--gutter)}
  .editorial.flip .copy{order:0}
  .pillars{grid-template-columns:1fr;gap:26px;padding:44px var(--gutter)}
  .journal-grid{grid-template-columns:1fr;padding:24px var(--gutter) 60px}
  .footer-top{grid-template-columns:1fr 1fr}
  .footer-top>div:first-child{grid-column:1/-1}
  .footer-bottom{flex-direction:column;gap:10px}
  .modal-head{padding:16px 20px}
  .search-overlay{padding:12px 10px}
  .search-bar input{font-size:20px;padding:14px 0}
  .nl-grid{grid-template-columns:1fr}
  .nl-grid>img{min-height:0;height:170px}
  .nl-copy{padding:26px 22px 22px}
  .nl-copy h2{font-size:28px}
  .fab{height:50px;padding:0;width:50px;justify-content:center;bottom:calc(16px + env(safe-area-inset-bottom,0px))}
  .fab span{display:none}
  .fab-ai{left:16px}.fab-wa{right:16px}
  .chat-panel{left:0;right:0;bottom:0;width:100%;max-width:100%;height:85dvh}
  .toast{bottom:calc(80px + env(safe-area-inset-bottom,0px))}
}

/* =====================================================================
   Home: luxury sections (hero slider, collections, product rails, editorial,
   countdown, shop the look, atelier, services, lookbook)
   ===================================================================== */
.lux-sec{padding:96px var(--gutter)}
.lux-sec:not(.soft)+.lux-sec.flush:not(.soft){padding-top:0}
.lux-sec.soft{background:var(--soft)}
.lux-head{text-align:center;max-width:680px;margin:0 auto 46px}
.lux-head .eyebrow{margin-bottom:14px}
.lux-head h2{font-size:clamp(32px,3.3vw,46px);line-height:1.08;margin:0;letter-spacing:-.5px}
.lux-head p{font-size:14px;line-height:1.8;margin:16px auto 0;max-width:520px}
.ornament{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:18px;color:var(--gold)}
.ornament::before,.ornament::after{content:"";width:54px;height:1px;background:currentColor;opacity:.75}
.ornament i{display:block;width:7px;height:7px;transform:rotate(45deg);border:1px solid currentColor}
.circ{width:42px;height:42px;border-radius:50%;border:1px solid var(--gold-line);display:grid;place-items:center;color:var(--ink);transition:background .2s,border-color .2s,color .2s;flex:none}
.circ:hover:not([disabled]){background:var(--ink);border-color:var(--ink);color:var(--paper)}
.circ[disabled]{opacity:.35;cursor:default}
.circ svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.4}

/* Hero slider */
.hs{position:relative;height:clamp(560px,82vh,800px);overflow:hidden;background:var(--night);color:#fbf3e3;isolation:isolate}
.hs-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity 1.2s ease,visibility 0s linear 1.2s}
.hs-slide.is-active{opacity:1;visibility:visible;transition:opacity 1.2s ease}
.hs-media{position:absolute;inset:0;display:grid;overflow:hidden}
.hs-media img{width:100%;height:100%;min-width:0;min-height:0;object-fit:cover;object-position:center 24%;transform-origin:50% 30%}
.hs-slide.is-active .hs-media img{animation:hs-zoom 10s ease-out both}
@keyframes hs-zoom{from{transform:scale(1.08)}to{transform:scale(1)}}
.hs-full .hs-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#17120fcc 0%,#17120f85 34%,#17120f00 66%)}
.hs-split .hs-media{left:42%;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:6px}
.hs-split.hs-right .hs-media{left:0;right:42%}
.hs-trip .hs-media{grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:6px}
.hs-trip .hs-media::after{content:"";position:absolute;inset:0;background:#17120f47}
.hs-copy{position:relative;z-index:2;height:100%;max-width:min(640px,46%);display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:0 0 46px var(--gutter)}
.hs-split .hs-copy{max-width:42%;padding-right:56px}
.hs-full.hs-right .hs-copy{margin-left:auto;align-items:flex-end;text-align:right;padding:0 var(--gutter) 46px 0}
.hs-full.hs-right .hs-copy p{margin-left:auto}
.hs-full.hs-right .hs-actions{justify-content:flex-end}
.hs-split.hs-right .hs-copy{margin-left:auto;padding:0 var(--gutter) 46px 56px}
.hs-full.hs-right .hs-media::after{background:linear-gradient(270deg,#17120fcc 0%,#17120f85 34%,#17120f00 66%)}
.hs-copy .eyebrow{color:var(--gold-light);margin-bottom:22px}
.hs-title{font:400 clamp(46px,5.6vw,88px)/1 var(--serif);letter-spacing:-2px;color:#fbf3e3;margin:0 0 24px;text-wrap:balance}
.hs-title em{color:var(--gold-light)}
.hs-copy p{color:#eadfca;font-size:15px;line-height:1.8;max-width:390px;margin:0 0 30px}
.hs-actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap}
.hs-actions .text-link{color:#fbf3e3}
.hs-actions .text-link:hover{color:var(--gold-light)}
.hs-trip .hs-copy{max-width:none;align-items:center;text-align:center;padding:0 var(--gutter) 46px}
.hs-card{background:#17120fd9;padding:46px 54px;border:1px solid #dcc1847a;outline:1px solid #dcc18440;outline-offset:8px;max-width:540px}
.hs-card p{margin-left:auto;margin-right:auto}
.hs-card .hs-actions{justify-content:center}
.hs .primary:hover{background:var(--gold-light);border-color:var(--gold-light);color:var(--night)}
.hs-ui{position:absolute;z-index:3;left:var(--gutter);right:var(--gutter);bottom:28px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.hs-bars{display:flex;align-items:center;gap:12px}
.hs-bars button{position:relative;width:64px;height:26px}
.hs-bars button::before,.hs-bars button span{content:"";position:absolute;left:0;top:12px;height:2px}
.hs-bars button::before{right:0;background:#fbf3e340}
.hs-bars button span{width:0;background:var(--gold-light)}
.hs-bars button.is-active span{animation:hs-bar var(--hs-time,7s) linear forwards}
.hs:hover .hs-bars .is-active span,.hs:has(:focus-visible) .hs-bars .is-active span,.hs.is-paused .hs-bars .is-active span{animation-play-state:paused}
@keyframes hs-bar{to{width:100%}}
.hs-count{font:14px var(--serif);letter-spacing:2px;color:#eadfca;margin-left:6px;font-variant-numeric:tabular-nums}
.hs-arrows{display:flex;gap:10px}
.hs-arrows .circ{border-color:#dcc18499;color:#fbf3e3}
.hs-arrows .circ:hover{background:var(--gold-light);border-color:var(--gold-light);color:var(--night)}

/* Marquee ribbon */
.marquee{background:var(--ribbon-bg);color:var(--ribbon-fg);overflow:hidden;padding:17px 0;font-size:11px;letter-spacing:2.6px;text-transform:uppercase;white-space:nowrap}
.marquee-track{display:inline-flex;align-items:center;animation:marquee 52s linear infinite;will-change:transform}
.marquee-track span{display:inline-flex;align-items:center;gap:26px;padding-right:26px}
.marquee-track span::after{content:"";width:6px;height:6px;transform:rotate(45deg);border:1px solid var(--gold)}
.marquee:hover .marquee-track{animation-play-state:paused}
@keyframes marquee{to{transform:translateX(-50%)}}

/* Collections as arches */
.arch-row{display:grid;grid-template-columns:repeat(var(--n,6),minmax(0,1fr));gap:26px;max-width:calc(var(--n,6) * 270px);margin:0 auto}
.arch{display:block;text-align:center;min-width:0}
.arch-frame{display:block;position:relative;aspect-ratio:3/4.1;padding:7px;border:1px solid var(--gold-line);border-radius:999px 999px 0 0;transition:border-color .35s}
.arch-frame span{display:block;height:100%;overflow:hidden;border-radius:999px 999px 0 0;background:var(--stone)}
.arch-frame img{width:100%;height:100%;object-fit:cover;object-position:center 22%;transition:transform 1s ease}
.arch:hover .arch-frame,.arch:focus-visible .arch-frame{border-color:var(--gold)}
.arch:hover img{transform:scale(1.06)}
.arch h3{font-size:20px;margin:18px 0 6px}
.arch small{font-size:10.5px;letter-spacing:1.8px;text-transform:uppercase;color:var(--gold-text)}

/* Product rails with tabs */
.rail-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:30px;border-bottom:1px solid var(--line)}
.tabs-lux{display:flex;gap:32px;overflow-x:auto;scrollbar-width:none;min-width:0}
.tabs-lux::-webkit-scrollbar{display:none}
.tabs-lux button{padding:15px 0 14px;font-size:11.5px;letter-spacing:1.8px;text-transform:uppercase;color:var(--faint);border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap;transition:color .2s,border-color .2s}
.tabs-lux button:hover{color:var(--ink)}
.tabs-lux button[aria-pressed="true"]{color:var(--ink);border-bottom-color:var(--gold)}
.rail-ctrl{display:flex;align-items:center;gap:10px;padding-bottom:8px}
.rail-bar.no-tabs{border-bottom:0;justify-content:flex-end;margin-bottom:22px}
.rail-ctrl .text-link{margin-right:14px;white-space:nowrap}
.rail-track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 3 * 22px) / 4);gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:4px}
.rail-track::-webkit-scrollbar{display:none}
.rail-item{scroll-snap-align:start;min-width:0}
.rail-item[hidden]{display:none!important}

/* Editorial pair */
.duo{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.duo-card{position:relative;display:block;aspect-ratio:4/4.7;overflow:hidden;background:var(--stone);color:#fbf3e3}
.duo-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s ease}
.duo-card:hover img{transform:scale(1.04)}
.duo-card::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,#17120fd4 0%,#17120f59 38%,#17120f00 62%)}
.duo-card::after{content:"";position:absolute;inset:16px;z-index:2;border:1px solid #dcc18473;pointer-events:none;transition:inset .5s ease,border-color .5s}
.duo-card:hover::after{inset:22px;border-color:#dcc184b3}
.duo-copy{position:absolute;z-index:3;left:48px;right:48px;bottom:46px}
.duo-copy .eyebrow{color:var(--gold-light);margin-bottom:12px}
.duo-copy h3{font-size:clamp(30px,3vw,46px);line-height:1.05;color:#fbf3e3;margin:0 0 12px}
.duo-copy p{color:#eadfca;font-size:14px;line-height:1.7;margin:0 0 22px;max-width:360px}
.duo-copy .cta{font-size:11px;letter-spacing:2px;color:var(--gold-light);border-bottom:1px solid currentColor;padding-bottom:5px}

/* Launch countdown */
.launch{position:relative;overflow:hidden;color:#fbf3e3;text-align:center;padding:120px var(--gutter);background:var(--night)}
.launch>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 40%;opacity:.5}
.launch::before{content:"";position:absolute;inset:0;z-index:1;background:radial-gradient(ellipse at center,#17120f73 0%,#17120fe0 78%)}
.launch-inner{position:relative;z-index:2;max-width:780px;margin:0 auto}
.launch .eyebrow{color:var(--gold-light)}
.launch h2{font-size:clamp(40px,5vw,72px);line-height:1.02;color:#fbf3e3;margin:0;letter-spacing:-1.5px}
.launch p{color:#eadfca;font-size:15px;line-height:1.8;max-width:520px;margin:18px auto 0}
.cd{display:flex;justify-content:center;gap:clamp(10px,2.2vw,26px);margin:40px 0 42px}
.cd div{min-width:100px;padding:20px 10px 15px;border:1px solid #dcc18466;background:#17120f8c}
.cd b{display:block;font:400 clamp(34px,4vw,54px)/1 var(--serif);color:var(--gold-light);font-variant-numeric:tabular-nums}
.cd span{display:block;margin-top:10px;font-size:10px;letter-spacing:2px;text-transform:uppercase;color:#d9ccb4}
.launch .primary:hover{background:var(--gold-light);border-color:var(--gold-light);color:var(--night)}

/* Shop the look */
.look{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);background:var(--soft);border:1px solid var(--line)}
.look-media{position:relative;aspect-ratio:3/2;overflow:hidden;background:var(--stone)}
.look-media img{width:100%;height:100%;object-fit:cover}
.hotspot{position:absolute;z-index:2;width:38px;height:38px;margin:-19px 0 0 -19px;border-radius:50%;background:#fbf7f0eb;color:var(--accent);display:grid;place-items:center;animation:hotspot 2.6s ease-out infinite;transition:transform .2s,background .2s,color .2s}
.hotspot svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8}
.hotspot:hover,.hotspot[aria-pressed="true"]{transform:scale(1.12);background:var(--accent);color:var(--on-accent)}
@keyframes hotspot{0%{box-shadow:0 0 0 0 #dcc184b3}70%{box-shadow:0 0 0 16px #dcc18400}100%{box-shadow:0 0 0 0 #dcc18400}}
.look-panel{padding:56px 52px;display:flex;flex-direction:column;justify-content:center;min-width:0}
.look-panel .eyebrow{margin-bottom:14px}
.look-panel h2{font-size:clamp(30px,3vw,42px);line-height:1.1;margin:0 0 12px}
.look-panel>p{font-size:14px;line-height:1.8;margin:0 0 26px}
.look-item{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:18px;align-items:center;padding:14px;border-top:1px solid var(--line);transition:background .25s,box-shadow .25s}
.look-item:last-of-type{border-bottom:1px solid var(--line)}
.look-item.is-active{background:var(--paper);box-shadow:inset 2px 0 0 var(--gold)}
.look-item img{width:72px;height:96px;object-fit:cover;object-position:center 15%}
.look-item h3{font-size:20px;margin:0 0 4px}
.look-item .card-fabric{margin:0 0 4px}
.look-item .price-row{font-size:13px}
.look-foot{margin-top:26px}

/* Atelier */
.atelier{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);background:var(--night);color:var(--night-text)}
.atelier-media{position:relative;min-height:640px}
.atelier-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.atelier-media::after{content:"";position:absolute;inset:22px;border:1px solid #dcc18466;pointer-events:none}
.atelier-copy{padding:96px 9% 96px 8%;display:flex;flex-direction:column;justify-content:center;min-width:0}
.atelier .eyebrow{color:var(--gold)}
.atelier h2{font-size:clamp(34px,3.6vw,52px);line-height:1.08;color:var(--night-strong);margin:0 0 20px}
.atelier-copy>p{color:var(--night-text);font-size:15px;line-height:1.85;max-width:470px;margin:0}
.crafts{list-style:none;padding:0;margin:34px 0 36px;border-top:1px solid var(--night-line);max-width:520px}
.crafts li{display:grid;grid-template-columns:42px 1fr;gap:14px;padding:20px 0;border-bottom:1px solid var(--night-line)}
.crafts svg{width:26px;height:26px;fill:none;stroke:var(--gold-light);stroke-width:1.2}
.crafts h3{font-size:19px;color:var(--night-strong);margin:0 0 4px}
.crafts p{font-size:13px;color:var(--night-faint);margin:0;line-height:1.7}
.atelier .text-link{color:var(--gold-light);align-self:flex-start}

/* Services */
.services{display:grid;grid-template-columns:repeat(var(--n,4),minmax(0,1fr));border-top:1px solid var(--gold-line);border-bottom:1px solid var(--gold-line);margin:72px var(--gutter)}
.lux-sec:not(.soft)+.services{margin-top:0}
.services:has(+.lux-sec:not(.soft)){margin-bottom:0}
.services>div{padding:34px 26px;display:grid;grid-template-columns:32px 1fr;gap:16px;align-items:start}
.services>div+div{border-left:1px solid var(--gold-line)}
.services svg{width:28px;height:28px;fill:none;stroke:var(--gold);stroke-width:1.2}
.services h3{font-size:18px;margin:0 0 4px}
.services p{font-size:12.5px;margin:0;line-height:1.6}

/* Lookbook */
.lookbook{display:grid;grid-template-columns:repeat(var(--n,6),minmax(0,1fr));gap:8px}
.lookbook a{position:relative;display:block;aspect-ratio:1;overflow:hidden;background:var(--stone)}
.lookbook img{width:100%;height:100%;object-fit:cover;object-position:center 22%;transition:transform .8s ease}
.lookbook a::after{content:"";position:absolute;inset:0;background:#17120f00;transition:background .3s}
.lookbook a:hover::after{background:#17120f40}
.lookbook a:hover img{transform:scale(1.06)}
.lookbook-foot{text-align:center;margin-top:32px}
.home-journal{padding:0}
.home-journal .post time{display:block;margin-top:18px}
.post-ph{display:grid;place-items:center;aspect-ratio:4/3;background:var(--soft);border:1px solid var(--line)}
.post-ph .ornament{margin:0}
.home-journal.count-1{grid-template-columns:minmax(0,440px);justify-content:center}
.home-journal.count-2{grid-template-columns:repeat(2,minmax(0,440px));justify-content:center}
.duo.is-single{grid-template-columns:1fr}
.duo.is-single .duo-card{aspect-ratio:21/9}

/* Footer social links */
.social{display:flex;gap:10px;margin-top:22px}
.social a{width:38px;height:38px;border-radius:50%;border:1px solid var(--night-line);display:grid;place-items:center;color:var(--night-text);transition:border-color .2s,color .2s}
.social a:hover{border-color:var(--gold);color:var(--gold-light)}
.social svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.5}

@media (prefers-reduced-motion:reduce){
  .hs-slide.is-active .hs-media img,.marquee-track,.hotspot{animation:none}
  .hs-bars button.is-active span{animation:none;width:100%}
}
@media (max-width:1100px){
  .arch-row{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:34px}
  .rail-track{grid-auto-columns:calc((100% - 2 * 22px) / 3)}
  .lookbook{grid-template-columns:repeat(3,minmax(0,1fr))}
  .services{grid-template-columns:repeat(2,minmax(0,1fr))}
  .services>div:nth-child(3){border-left:0}
  .services>div:nth-child(n+3){border-top:1px solid var(--gold-line)}
}
@media (max-width:800px){
  .lux-sec{padding:60px var(--gutter)}
  .lux-head{margin-bottom:30px}
  .hs{height:min(640px,86svh)}
  .hs-full .hs-media::after{background:linear-gradient(0deg,#17120fe0 0%,#17120f73 45%,#17120f00 78%)}
  .hs-copy,.hs-split .hs-copy,.hs-full.hs-right .hs-copy,.hs-split.hs-right .hs-copy{max-width:none;margin-left:0;justify-content:flex-end;align-items:flex-start;text-align:left;padding:0 var(--gutter) 96px}
  .hs-full.hs-right .hs-copy p{margin-left:0}
  .hs-full.hs-right .hs-actions{justify-content:flex-start}
  .hs-full.hs-right .hs-media::after{background:linear-gradient(0deg,#17120fe0 0%,#17120f73 45%,#17120f00 78%)}
  .rail-bar.no-tabs{margin-bottom:6px}
  .hs-split .hs-media,.hs-split.hs-right .hs-media{left:0;right:0;grid-auto-columns:100%}
  .hs-split .hs-media img+img{display:none}
  .hs-split .hs-media::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#17120fe6 0%,#17120f80 45%,#17120f14 80%)}
  .hs-trip .hs-media img:nth-child(3){display:none}
  .hs-trip .hs-copy{justify-content:center;padding:0 var(--gutter) 40px}
  .hs-card{padding:30px 24px}
  .hs-title{font-size:46px;letter-spacing:-1.4px}
  .hs-copy p{font-size:14px;margin-bottom:24px}
  .hs-ui{bottom:22px}
  .hs-arrows{display:none}
  .arch-row{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:42%;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:4px}
  .arch-row::-webkit-scrollbar{display:none}
  .arch{scroll-snap-align:start}
  .arch h3{font-size:17px}
  .rail-bar{flex-direction:column;align-items:stretch;gap:0}
  .rail-ctrl{justify-content:space-between;padding:12px 0 10px}
  .rail-ctrl .circ{display:none}
  .rail-track{grid-auto-columns:64%;gap:12px}
  .duo{grid-template-columns:1fr;gap:14px}
  .duo-card,.duo.is-single .duo-card{aspect-ratio:4/5}
  .home-journal.count-2{grid-template-columns:1fr}
  .duo-copy{left:30px;right:30px;bottom:32px}
  .launch{padding:76px var(--gutter)}
  .cd div{min-width:0;flex:1;padding:14px 4px 11px}
  .look{grid-template-columns:1fr}
  .look-panel{padding:30px 20px 34px}
  .atelier{grid-template-columns:1fr}
  .atelier-media{min-height:360px}
  .atelier-copy{padding:44px var(--gutter) 52px}
  .services{margin:48px var(--gutter)}
  .services>div{padding:22px 12px;grid-template-columns:1fr;gap:10px}
  .lookbook{gap:4px}
}

/* =====================================================================
   WordPress + WooCommerce
   ===================================================================== */
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wordmark .custom-logo-link{display:inline-flex;line-height:0}
.wordmark .custom-logo-link img{height:88px;width:auto;max-width:300px;object-fit:contain;transition:height .25s ease}
.site-header.scrolled .wordmark .custom-logo-link img{height:58px}
@media (max-width:800px){.wordmark .custom-logo-link img{height:46px}.site-header.scrolled .wordmark .custom-logo-link img{height:40px}}
.page-head.compact{padding-bottom:22px}
.page-head.compact h1{margin:0}
.prose-wrap{padding:44px var(--gutter) 80px}
.woo-page{padding:30px var(--gutter) 80px}
.entry-content>*{max-width:100%}
.entry-content img{height:auto}
.entry-content a{text-decoration:underline;text-underline-offset:3px}
.alignwide,.alignfull{max-width:100%}
.listing-desc{max-width:560px;font-size:14px;color:var(--muted)}
.listing-desc p{margin:0}
.fopts>a{font-size:13px;color:var(--muted)}
.fopts>a:hover{color:var(--accent-text)}
.size-chips{display:flex!important;flex-wrap:wrap;gap:7px}
.chip a{font-size:14px;line-height:1;text-decoration:none}
.toolbar .woocommerce-ordering{margin:0}
.toolbar .orderby{border:1px solid var(--line);background:var(--paper);padding:8px 30px 8px 10px;font-size:12px}
.pagination-wrap{margin-top:40px}
.woocommerce-pagination ul,.pagination-wrap .nav-links{display:flex;gap:6px;justify-content:center;list-style:none;padding:0;margin:0;flex-wrap:wrap}
.woocommerce-pagination a,.woocommerce-pagination span,.pagination-wrap .page-numbers{display:inline-grid;place-items:center;min-width:38px;height:38px;border:1px solid var(--line);font-size:13px;padding:0 10px}
.woocommerce-pagination .current,.pagination-wrap .page-numbers.current{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.journal-teaser img{width:100%;height:100%;object-fit:cover;min-height:340px}
.post img{aspect-ratio:4/3;width:100%;height:auto;object-fit:cover}
.article .hero-img{height:auto}
.drawer-body{display:flex;flex-direction:column}
.drawer-body .drawer-lines{flex:1;overflow-y:auto}
.line img{width:84px;height:112px;object-fit:cover;object-position:center 15%}
.pdp .crumbs{grid-column:1/-1;margin:0}
.pdp .qty input{width:38px;border:0;text-align:center;background:transparent;font-variant-numeric:tabular-nums;-moz-appearance:textfield;appearance:textfield}
.pdp .qty input::-webkit-outer-spin-button,.pdp .qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.thumbs img{width:100%;height:100%;object-fit:cover}

/* Notices */
.woocommerce-notices-wrapper:empty{display:none}
.woocommerce-message,.woocommerce-info,.woocommerce-error,.wc-block-components-notice-banner{list-style:none;margin:0 0 20px;padding:14px 18px;border:1px solid var(--line);background:var(--soft);font-size:13.5px;display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}
.woocommerce-error{border-color:var(--alert-line);background:var(--alert-bg);color:var(--alert-fg);display:block}
.woocommerce-error li{margin:2px 0}
.woocommerce-message .button,.woocommerce-info .button{font-size:11px;letter-spacing:1.3px;text-transform:uppercase;text-decoration:underline}
.woocommerce-info a,.woocommerce-message a{text-decoration:underline}

/* Buttons generated by WooCommerce */
.woocommerce .button,.woocommerce button.button,.woocommerce a.button,.woocommerce input.button,#place_order,.checkout-button,.woocommerce-Button{display:inline-flex;align-items:center;justify-content:center;background:var(--accent);color:var(--on-accent);border:1px solid var(--accent);padding:14px 22px;font-size:12px;letter-spacing:1.4px;text-transform:uppercase;cursor:pointer;transition:background .2s}
.woocommerce .button:hover,#place_order:hover,.checkout-button:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:var(--on-accent-hover)}
.woocommerce .button:disabled,.woocommerce .button.disabled{opacity:.5;cursor:not-allowed}
.woocommerce button[name="update_cart"]{background:transparent;color:var(--ink);border-color:var(--line)}

/* Forms */
.woocommerce form .form-row,.woocommerce-page form .form-row{margin:0 0 14px;padding:0}
.woocommerce form .form-row label,.field>label{display:block;font-size:12px;margin-bottom:5px;color:var(--ink)}
.woocommerce form .form-row .required{color:var(--sale);text-decoration:none}
.woocommerce form .input-text,.woocommerce form select,.woocommerce-page form .input-text,.field .input-text,.woocommerce form textarea,.select2-container .select2-selection--single{width:100%;border:1px solid var(--line);background:var(--field);padding:12px;font-size:14px;color:var(--ink);border-radius:0;min-height:46px}
.woocommerce form textarea{min-height:100px}
.woocommerce form .form-row-first,.woocommerce form .form-row-last{width:calc(50% - 6px);display:inline-block;vertical-align:top}
.woocommerce form .form-row-first{margin-right:12px}
.woocommerce form .form-row.woocommerce-invalid .input-text{border-color:var(--sale)}
.woocommerce-input-wrapper{display:block}
.select2-container{width:100%!important}
.select2-container .select2-selection--single{display:flex;align-items:center;padding:0 10px}
.select2-container .select2-selection__arrow{top:10px!important;right:8px!important}
.select2-dropdown{border-color:var(--line)!important;border-radius:0!important}
.select2-results__option--highlighted{background:var(--accent)!important;color:var(--on-accent)!important}
.woocommerce-form__label-for-checkbox,.woocommerce form .form-row label.checkbox{display:flex;gap:10px;align-items:center;font-size:13px;color:var(--muted)}
input[type="checkbox"],input[type="radio"]{accent-color:var(--accent)}

/* Cart page */
.woocommerce-cart .woo-page .woocommerce{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:50px;align-items:start}
.woocommerce-cart .woocommerce>.woocommerce-notices-wrapper{grid-column:1/-1}
.woocommerce-cart-form{min-width:0}
table.shop_table{width:100%;border-collapse:collapse;font-size:14px}
table.shop_table th{font-weight:400;font-size:11px;letter-spacing:1.4px;text-transform:uppercase;color:var(--faint);text-align:left;padding:10px 8px;border-bottom:1px solid var(--line);background:transparent;white-space:nowrap}
table.shop_table td{padding:18px 8px;border-bottom:1px solid var(--line);vertical-align:middle;white-space:normal}
table.shop_table .product-thumbnail img{width:84px;height:112px;object-fit:cover;object-position:center 15%}
table.shop_table .product-name a{font:20px var(--serif)}
table.shop_table .product-name .variation{font-size:12px;color:var(--muted);margin:6px 0 0;display:flex;gap:6px}
table.shop_table .product-name .variation dd,table.shop_table .product-name .variation p{margin:0}
table.shop_table .product-remove a{font-size:20px;color:var(--faint)}
.quantity .qty{width:64px;border:1px solid var(--line);padding:9px;text-align:center}
table.shop_table td.actions{text-align:right}
.coupon{display:flex;gap:8px;flex-wrap:wrap}
.coupon .input-text{max-width:180px;border:1px solid var(--line);padding:11px}
.cart-collaterals{background:var(--soft);padding:28px;position:sticky;top:calc(var(--header-h) + 16px)}
.cart_totals h2{font-size:24px;margin-bottom:16px}
.cart_totals table{border:0}
.cart_totals th,.cart_totals td{padding:10px 0;font-size:14px}
.cart_totals .order-total td,.cart_totals .order-total th{font-size:17px}
.wc-proceed-to-checkout .checkout-button{width:100%;margin-top:14px}
ul#shipping_method{list-style:none;padding:0;margin:0}
ul#shipping_method li{margin:0 0 6px;font-size:13px}
.woocommerce-shipping-destination,.woocommerce-shipping-calculator{font-size:12px;color:var(--faint)}
.cart-empty.woocommerce-info{display:block;text-align:center;padding:40px}
.return-to-shop{text-align:center}

/* Checkout */
.woocommerce-checkout .woo-page form.checkout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:56px;align-items:start}
.woocommerce-checkout #customer_details{min-width:0}
.woocommerce-checkout .col2-set{display:block}
.woocommerce-checkout .col2-set>div{margin-bottom:24px}
.woocommerce-checkout h3{font-size:26px;margin:0 0 16px}
#order_review_heading{display:none}
.woocommerce-checkout-review-order{background:var(--soft);padding:28px;position:sticky;top:calc(var(--header-h) + 16px)}
.woocommerce-checkout-review-order::before{content:"Order summary";display:block;font:24px var(--serif);margin-bottom:14px}
.woocommerce-checkout-review-order-table td,.woocommerce-checkout-review-order-table th{padding:10px 0;font-size:13.5px}
.woocommerce-checkout-review-order-table .order-total td,.woocommerce-checkout-review-order-table .order-total th{font-size:17px}
#payment{margin-top:18px}
#payment ul.payment_methods{list-style:none;padding:0;margin:0 0 16px;display:grid;gap:10px}
#payment ul.payment_methods li{border:1px solid var(--line);padding:14px;font-size:13px;background:var(--paper)}
#payment ul.payment_methods li label{font-weight:700;margin-left:6px}
#payment .payment_box{font-size:12.5px;color:var(--muted);margin-top:8px}
#payment .payment_box p{margin:0}
#payment .payment_box p+p{margin-top:6px}
.obs-pay-note{font-size:12.5px;line-height:1.6;color:var(--muted)}
.obs-pay-note strong{color:var(--accent-text)}
.obs-field-note{display:block;margin-top:7px;font-size:12px;line-height:1.5;color:var(--faint)}
.woocommerce-checkout-review-order-table .obs-deliver-to th,.woocommerce-checkout-review-order-table .obs-deliver-to td{font-size:12px;color:var(--muted);letter-spacing:.3px}
.obs-payfast{max-width:620px;margin:6px 0 34px;padding:28px 30px;background:var(--soft);border:1px solid var(--line)}
.obs-payfast p{margin:0 0 8px;font-size:14px;line-height:1.7}
.obs-payfast-amount{font:24px/1.3 var(--serif)!important;color:var(--ink)}
.obs-payfast form{margin-top:18px}
.obs-payfast .text-link{margin-left:16px}
#place_order{width:100%;margin-top:10px;padding:17px}
.woocommerce-terms-and-conditions-wrapper{font-size:12px;color:var(--faint)}
.woocommerce-form-login-toggle .woocommerce-info,.woocommerce-form-coupon-toggle .woocommerce-info{background:var(--soft)}
.woocommerce-account-fields .create-account{margin-top:8px}
.woocommerce-order{max-width:760px;margin:0 auto}
.woocommerce-thankyou-order-received{font:34px var(--serif);text-align:center;margin:10px 0 24px}
ul.woocommerce-order-overview{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:0 0 30px}
ul.woocommerce-order-overview li{border:1px solid var(--line);padding:14px;font-size:11px;letter-spacing:1.2px;text-transform:uppercase;color:var(--faint)}
ul.woocommerce-order-overview li strong{display:block;font:16px var(--serif);letter-spacing:0;text-transform:none;color:var(--ink);margin-top:6px}
.woocommerce-order-details,.woocommerce-customer-details{margin-top:30px}
.woocommerce-order-details h2,.woocommerce-customer-details h2,.woocommerce-column__title{font-size:24px}
address{font-style:normal;font-size:14px;line-height:1.8;border:1px solid var(--line);padding:16px}

/* My account */
.woocommerce-account .woo-page .woocommerce{display:grid;grid-template-columns:220px minmax(0,1fr);gap:50px;align-items:start}
.woocommerce-account:not(.logged-in) .woo-page .woocommerce{display:block}
.woocommerce-MyAccount-navigation ul{list-style:none;padding:0;margin:0;position:sticky;top:calc(var(--header-h) + 20px)}
.woocommerce-MyAccount-navigation a{display:block;padding:11px 0;font-size:12px;letter-spacing:1.4px;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line)}
.woocommerce-MyAccount-navigation .is-active a{color:var(--ink)}
.woocommerce-MyAccount-content{min-width:0;font-size:14px}
.woocommerce-MyAccount-content p{font-size:14px}
.woocommerce-MyAccount-content mark{background:none;color:var(--ink);font-weight:700}
.woocommerce-Addresses{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.woocommerce-orders-table__cell-order-actions .button{padding:8px 12px;font-size:10.5px}
.auth .field input{width:100%;border:1px solid var(--line);background:var(--field);padding:12px;margin-top:5px}
.auth .woocommerce-privacy-policy-text{font-size:11.5px;color:var(--faint)}
.lost_reset_password{max-width:460px}

@media (max-width:900px){
  .woocommerce-cart .woo-page .woocommerce,.woocommerce-checkout .woo-page form.checkout,.woocommerce-account .woo-page .woocommerce{grid-template-columns:minmax(0,1fr);gap:28px}
  .cart-collaterals,.woocommerce-checkout-review-order{position:static}
  .woocommerce-checkout .woocommerce-checkout-review-order{grid-row:1}
  table.shop_table_responsive thead{display:none}
  table.shop_table_responsive tr{display:grid;grid-template-columns:84px 1fr;gap:4px 14px;padding:14px 0;border-bottom:1px solid var(--line)}
  table.shop_table_responsive td{border:0;padding:2px 0;text-align:left!important}
  table.shop_table_responsive td.product-thumbnail{grid-row:span 4}
  table.shop_table_responsive td.product-remove{grid-column:2;order:9}
  table.shop_table_responsive td[data-title]::before{content:attr(data-title) ": ";font-size:11px;color:var(--faint)}
  table.shop_table_responsive td.product-name::before,table.shop_table_responsive td.product-thumbnail::before{content:none}
  table.shop_table_responsive td.actions{grid-column:1/-1}
  .woocommerce form .form-row-first,.woocommerce form .form-row-last{width:100%;margin-right:0}
  .woocommerce-Addresses{grid-template-columns:1fr}
  .woocommerce-MyAccount-navigation ul{position:static;display:flex;gap:16px;overflow-x:auto}
  .woocommerce-MyAccount-navigation a{border:0;white-space:nowrap}
}

/* Class-name collisions with WooCommerce markup */
.woocommerce form.checkout{padding:0}
.pdp-info.summary{background:none;padding:0;position:static}
.fab-wa svg{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round}
.fab-ai svg path:last-child{fill:var(--gold-light);stroke:none}
#ship-to-different-address{font:13px var(--sans);margin:12px 0}
#ship-to-different-address label{display:flex;gap:10px;align-items:center}
.woocommerce-checkout h3#order_review_heading{display:none}
