@import url("https://fonts.googleapis.com/css2?family=Spectral:ital,wght@0,300;0,400;0,500;1,300;1,400&amp;family=Hanken+Grotesk:wght@400;500;700&amp;display=swap");

/* ═══════════════════════════════════════════════════════════
   DLH — the design's own stylesheet.
   Generated by scripts/design-to-theme-css.py from
   the Claude Design project ecomv2, folder dlh/ (home, category,
   product, cart, about, contact). The rules below are the design's, verbatim; only the
   :root block is rewritten (tokens read --ac-* with the design's
   value as fallback). Edit the design or this file — never paste
   another theme's base underneath it.
   ═══════════════════════════════════════════════════════════ */

/* ═══ DESIGN TOKENS ═══
   Each token READS its platform equivalent and falls back to the
   design's own value, so the Design panel restyles the theme and an
   unset token still renders exactly as designed. Never define --ac-*
   from these (resolution cycle — both sides go invalid). */
:root {
  --ink:            var(--ac-color-text, #23211b);
  --ink-soft:       var(--ac-color-text-secondary, #5a5446);
  --muted:          var(--ac-color-text-muted, #6f6757);
  --accent:         var(--ac-color-primary, #bd6a49);
  --accent-deep:    var(--ac-color-accent-deep, #a5573a);
  --accent-ink:     #9c5133;
  --accent-soft:    #ecd7c6;
  --sage:           #6f8069;
  --sage-ink:       #55654f;
  --sale:           var(--ac-color-sale, #a5573a);
  --bg:             var(--ac-color-background, #f4efe4);
  --surface:        #fbf8f0;
  --surface-sand:   #ece3d2;
  --surface-dark:   #2f3a2e;
  --surface-deeper: #232c22;
  --on-dark:        #f4efe4;
  --on-dark-soft:   #b7bcac;
  --on-dark-muted:  #9ea593;
  --border:         var(--ac-color-border, #e3d9c6);
  --border-dark:    rgba(244,239,228,.16);
  --font-heading:   var(--ac-font-heading, 'Spectral',Georgia,serif);
  --font-body:      var(--ac-font-body, 'Hanken Grotesk',system-ui,sans-serif);
  --radius-card:    var(--ac-border-radius-card, 24px);
  --radius-image:   var(--ac-border-radius-image, 18px);
  --radius-button:  var(--ac-border-radius-button, 999px);
  --radius-input:   var(--ac-border-radius-input, 999px);
  --shadow-card:    0 18px 40px -22px rgba(47,58,46,.35);
  --shadow-raised:  0 40px 80px -30px rgba(47,58,46,.5);
  --max-width:      var(--container-width, 1280px);
  --gutter:         34px;

  /* aliases for platform-chrome rules not yet rebuilt from the
     design — see PLATFORM CHROME at the foot of this file */
  --ink-muted:      var(--ink-soft);
  --line-soft:      var(--border);
  --r-card:         var(--radius-card);
  --r-btn:          var(--radius-button);
  --r-input:        var(--radius-input);
  --container:      var(--max-width);
  --font:           var(--font-body);
  --inv-text:       var(--on-dark);
  --star:           var(--accent);
}

/* DARKNESS TO LIGHT HEALING — Astrocart theme
   Warm paper · eucalyptus sage · terracotta accent. Spectral + Hanken Grotesk. No JS. */
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:var(--font-body);background:var(--bg);color:var(--ink);font-size:15.5px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none;transition:color .15s}
a:hover{color:var(--accent-ink)}
button{font:inherit;cursor:pointer;border:0;background:none;color:inherit;padding:0}
ul{list-style:none;margin:0;padding:0}
h1,h2,h3,h4,h5,h6{margin:0;font-weight:500;font-family:var(--font-heading);letter-spacing:-.012em;text-wrap:balance}
h1 em,h2 em,h3 em{font-style:italic;font-weight:400;color:var(--accent)}
p{margin:0;text-wrap:pretty}
summary{list-style:none;cursor:pointer}
summary::-webkit-details-marker{display:none}
.wrap{max-width:var(--max-width);margin:0 auto;padding:0 var(--gutter)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ico{display:inline-grid;place-items:center;flex-shrink:0}
.kicker{font-size:11px;letter-spacing:.26em;text-transform:uppercase;font-weight:700;color:var(--sage-ink);display:inline-flex;align-items:center;gap:10px}
.kicker::before{content:"✦";font-size:11px}
.kicker.is-accent{color:var(--accent-ink)}
.stars{color:var(--accent);letter-spacing:2px;font-size:13px;line-height:1;font-style:normal}
/* section shells */
.sec{padding:112px 0;background:var(--bg)}
.sec.on-surface{background:var(--surface)}
.sec.on-sand{background:var(--surface-sand)}
.sec.on-dark{background:var(--surface-dark);color:var(--on-dark)}
.sec.on-dark h2,.sec.on-dark h3{color:var(--on-dark)}
.sec.on-dark h2 em,.sec.on-dark .kicker{color:var(--accent-soft)}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:36px;margin-bottom:56px}
.sec-head .lead{max-width:620px;display:flex;flex-direction:column;gap:18px}
.sec-head h2{font-size:clamp(34px,4.4vw,58px);line-height:1.04}
.sec-head .desc{font-size:16px;color:var(--ink-soft);max-width:42ch}
/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:16px 32px;border-radius:var(--radius-button);font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:700;border:1px solid transparent;transition:transform .25s,background .25s,color .25s,border-color .25s;white-space:nowrap;text-align:center}
.btn:hover{transform:translateY(-2px)}
.btn-accent{background:var(--accent);color:var(--surface);border-color:var(--accent)}
.btn-accent:hover{background:var(--accent-deep);border-color:var(--accent-deep);color:var(--surface)}
.btn-dark{background:var(--surface-dark);color:var(--on-dark);border-color:var(--surface-dark)}
.btn-dark:hover{background:var(--surface-deeper);border-color:var(--surface-deeper);color:var(--on-dark)}
.btn-ghost{border-color:var(--ink);color:var(--ink)}
.btn-ghost:hover{background:var(--ink);color:var(--bg)}
.btn-ghost-light{border-color:color-mix(in srgb,var(--on-dark) 45%,transparent);color:var(--on-dark)}
.btn-ghost-light:hover{background:var(--on-dark);border-color:var(--on-dark);color:var(--surface-dark)}
.btn-sm{padding:12px 24px;font-size:11px}
.btn-lg{padding:19px 36px}
.btn-block{width:100%}
.tlink{font-size:12px;letter-spacing:.2em;text-transform:uppercase;font-weight:700;color:var(--ink);display:inline-flex;align-items:center;gap:9px;padding-bottom:5px;border-bottom:1px solid var(--accent);white-space:nowrap}
.tlink .a{transition:transform .25s}
.tlink:hover{color:var(--accent-ink)}
.tlink:hover .a{transform:translateX(4px)}
.on-dark .tlink{color:var(--on-dark)}
.on-dark .tlink:hover{color:var(--accent-soft)}
/* mode chips / badges */
.mode{display:inline-flex;align-items:center;gap:7px;font-size:10px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;padding:6px 13px;border-radius:var(--radius-button);white-space:nowrap}
.mode::before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}
.mode.online{background:color-mix(in srgb,var(--sage) 22%,var(--surface));color:var(--sage-ink)}
.mode.person{background:color-mix(in srgb,var(--accent) 20%,var(--surface));color:var(--accent-ink)}
.mode.both{background:var(--surface-sand);color:var(--ink-soft)}
.mode.sale{background:var(--sale);color:var(--surface)}
.mode.sale::before,.mode.new::before{content:none}
.mode.new{background:var(--surface-dark);color:var(--on-dark)}
/* ripple motif (sound / energy) — .breathe is the theme's single ambient effect */
.ripple{position:absolute;border-radius:50%;pointer-events:none;background:repeating-radial-gradient(circle at 50% 50%,transparent 0 27px,color-mix(in srgb,var(--sage) 30%,transparent) 27px 28px);-webkit-mask:radial-gradient(circle at 50% 50%,#000 60%,transparent 72%);mask:radial-gradient(circle at 50% 50%,#000 60%,transparent 72%)}
.ripple.is-accent{background:repeating-radial-gradient(circle at 50% 50%,transparent 0 27px,color-mix(in srgb,var(--accent) 28%,transparent) 27px 28px)}
.ripple.is-light{background:repeating-radial-gradient(circle at 50% 50%,transparent 0 27px,color-mix(in srgb,var(--on-dark) 14%,transparent) 27px 28px)}
.ripple.breathe{animation:breathe 9s ease-in-out infinite}
@keyframes breathe{0%,100%{transform:scale(1);opacity:.9}50%{transform:scale(1.06);opacity:.5}}
@media (prefers-reduced-motion:reduce){.ripple.breathe{animation:none}}
/* fixed-ratio image slots (tone class = loading fallback; the platform re-hosts real imagery) */
.ph{position:relative;overflow:hidden;display:grid;place-items:center;background:linear-gradient(160deg,var(--surface-sand),color-mix(in srgb,var(--surface-sand) 72%,var(--accent)));color:var(--ink-soft)}
.ph{isolation:isolate}
.ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ph.sage{background:linear-gradient(160deg,color-mix(in srgb,var(--sage) 78%,var(--surface)),color-mix(in srgb,var(--sage) 70%,var(--surface-dark)))}
.ph.clay{background:linear-gradient(160deg,color-mix(in srgb,var(--accent) 78%,var(--surface)),var(--accent-deep))}
.ph.mist{background:linear-gradient(160deg,var(--surface),var(--surface-sand))}
.ph.deep{background:linear-gradient(160deg,color-mix(in srgb,var(--surface-dark) 80%,var(--sage)),var(--surface-deeper))}
.ph.sand{background:linear-gradient(160deg,color-mix(in srgb,var(--surface-sand) 85%,var(--surface)),color-mix(in srgb,var(--surface-sand) 70%,var(--accent)))}
/* ── band: announcement ── */
.announce{background:var(--surface-dark);color:var(--on-dark);font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:700;padding:11px var(--gutter);text-align:center;display:flex;justify-content:center;align-items:center;gap:15px;flex-wrap:wrap}
.announce em{font-family:var(--font-heading);font-size:14px;text-transform:none;letter-spacing:.02em;font-weight:400;color:var(--accent-soft)}
.announce .pipe{opacity:.4}
/* ── band: header ── */
.site-head{background:color-mix(in srgb,var(--surface) 88%,transparent);backdrop-filter:blur(12px);position:sticky;top:0;z-index:60;border-bottom:1px solid var(--border)}
.hdr{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:38px;padding:18px 0}
.logo{display:flex;align-items:center;gap:13px;color:var(--ink)}
.logo:hover{color:var(--ink)}
.logo .sigil{width:38px;height:38px;flex-shrink:0;border-radius:50%;position:relative;border:1.5px solid var(--accent);display:grid;place-items:center}
.logo .sigil::before{content:"";width:15px;height:15px;border-radius:50%;background:var(--accent)}
.logo .sigil::after{content:"";position:absolute;inset:5px;border-radius:50%;border:1px solid color-mix(in srgb,var(--accent) 40%,transparent)}
.logo .wordmark{font-family:var(--font-heading);font-size:22px;line-height:1.02;white-space:nowrap;display:block}
.logo .wordmark em{font-style:italic;color:var(--accent)}
.logo .sub{font-size:9px;letter-spacing:.36em;text-transform:uppercase;color:var(--muted);font-weight:700;display:block;margin-top:2px}
.mainnav{display:flex;gap:32px;justify-content:center;min-width:0}
.mainnav a{font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:700;padding:8px 0;position:relative;color:var(--ink);white-space:nowrap}
.mainnav a::after{content:"";position:absolute;left:0;right:100%;bottom:2px;height:1.5px;background:var(--accent);transition:right .28s}
.mainnav a:hover::after,.mainnav a.is-active::after{right:0}
.hdr-r{display:flex;align-items:center;gap:20px;justify-content:flex-end}
.search{display:flex;align-items:center;gap:9px;border:1px solid var(--border);background:var(--bg);padding:10px 16px;border-radius:var(--radius-input);width:210px;color:var(--muted)}
.search:focus-within{border-color:var(--ink)}
.search svg{width:15px;height:15px;flex-shrink:0}
.search input,.msearch input{border:0;background:transparent;flex:1;outline:none;min-width:0;font:inherit;font-size:13px;color:var(--ink)}
.search input::placeholder,.msearch input::placeholder{color:var(--muted)}
.hdr-r .act{font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--ink);display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.hdr-r .act:hover{color:var(--accent-ink)}
.cart-count{min-width:20px;height:20px;border-radius:50%;background:var(--accent);color:var(--surface);font-size:11px;display:grid;place-items:center;padding:0 5px}
.msearch{display:none;align-items:center;gap:11px;border-top:1px solid var(--border);padding:12px var(--gutter);color:var(--muted)}
.msearch svg{width:16px;height:16px;flex-shrink:0}
.msearch input{font-size:14px}
.mmenu{display:none}
.mmenu__btn{width:40px;height:40px;display:grid;place-items:center;color:var(--ink);margin-left:-8px}
.mmenu__panel{position:absolute;left:0;right:0;top:100%;background:var(--surface);border-bottom:1px solid var(--border);box-shadow:var(--shadow-raised);z-index:70;padding:6px 0 18px}
.mmenu__panel a{display:block;padding:14px var(--gutter);font-family:var(--font-heading);font-size:21px;border-bottom:1px solid var(--border)}
.mmenu__panel a em{font-style:italic;color:var(--accent)}
.mmenu__foot{padding:18px var(--gutter) 0;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);line-height:1.9;font-weight:700}
/* breadcrumb + page head */
.crumb{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding:26px 0 0;font-size:10.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.crumb a{color:var(--muted)}
.crumb a:hover{color:var(--accent-ink)}
.crumb .cur{color:var(--ink-soft)}
.phead{background:var(--bg);padding:0 0 48px;border-bottom:1px solid var(--border)}
.phead__in{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:end;padding-top:36px}
.phead .lead{display:flex;flex-direction:column;gap:16px;max-width:760px}
.phead h1{font-size:clamp(42px,5.4vw,72px);line-height:1;font-weight:400}
.phead p{font-size:16px;color:var(--ink-soft);max-width:60ch}
.chips{display:flex;gap:8px;flex-wrap:wrap}
.chips a{font-size:10.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;padding:10px 16px;border:1px solid var(--border);border-radius:var(--radius-button);color:var(--ink-soft);transition:all .15s}
.chips a:hover{border-color:var(--accent);color:var(--accent-ink)}
.chips a.is-active{background:var(--surface-dark);border-color:var(--surface-dark);color:var(--on-dark)}
.phead--dark{background:var(--surface-dark);color:var(--on-dark);border-bottom:0;padding-bottom:88px;position:relative;overflow:hidden}
.phead--dark .ripple{width:620px;height:620px;top:-310px;right:-200px;opacity:.6}
.phead--dark .wrap{position:relative;z-index:2}
.phead--dark .crumb,.phead--dark .crumb a{color:var(--on-dark-muted)}
.phead--dark .crumb .cur{color:var(--on-dark)}
.phead--dark .phead__in{padding-top:70px}
.phead--dark .kicker{color:var(--accent-soft)}
.phead--dark h1{color:var(--on-dark)}
.phead--dark h1 em{color:var(--accent-soft)}
.phead--dark p{color:var(--on-dark-soft);font-size:17px}
/* ── product card (one design, used everywhere) ── */
.pgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:34px 26px}
.pcard{display:flex;flex-direction:column;position:relative;color:var(--ink)}
.pcard__shot{display:block;position:relative;border-radius:var(--radius-image);overflow:hidden;aspect-ratio:4/5;background:var(--surface-sand)}
.pcard__shot .ph{position:absolute;inset:0;transition:transform .7s}
.pcard:hover .pcard__shot .ph{transform:scale(1.05)}
.pcard__badge{position:absolute;top:14px;left:14px;z-index:2;display:flex;gap:6px;flex-wrap:wrap}
.pcard__wish{position:absolute;top:12px;right:12px;z-index:3;width:36px;height:36px;border-radius:50%;background:color-mix(in srgb,var(--surface) 90%,transparent);display:grid;place-items:center;color:var(--ink);transition:all .2s}
.pcard__wish:hover{background:var(--accent);color:var(--surface)}
.pcard__quick{position:absolute;left:12px;right:12px;bottom:12px;z-index:2;background:color-mix(in srgb,var(--surface-dark) 92%,transparent);color:var(--on-dark);padding:13px;text-align:center;font-size:10px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;border-radius:var(--radius-button);opacity:0;transform:translateY(8px);transition:all .25s}
.pcard:hover .pcard__quick{opacity:1;transform:translateY(0)}
.pcard__body{padding:18px 4px 0;display:flex;flex-direction:column;gap:8px;flex:1}
.pcard__tag{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:700}
.pcard h3{font-size:19px;line-height:1.28;font-weight:500;letter-spacing:0}
.pcard__meta{font-size:13px;color:var(--ink-soft)}
.pcard__stars{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--ink-soft)}
.pcard__foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:8px}
.pcard__price{font-family:var(--font-heading);font-size:21px;font-weight:500;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.pcard__price .was{font-family:var(--font-body);font-size:13px;color:var(--muted);text-decoration:line-through;font-weight:400}
.pcard__price.is-sale{color:var(--sale)}
.pcard__add{font-size:10px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;padding:9px 16px;border:1px solid var(--border);border-radius:var(--radius-button);transition:all .2s;white-space:nowrap}
.pcard:hover .pcard__add,.pcard__add:hover{background:var(--surface-dark);border-color:var(--surface-dark);color:var(--on-dark)}
/* ── band: newsletter ── */
.news{background:var(--surface-dark);color:var(--on-dark);position:relative;overflow:hidden}
.news .ripple{width:560px;height:560px;bottom:-280px;left:50%;margin-left:-280px;opacity:.5}
.news__in{position:relative;z-index:2;max-width:640px;margin:0 auto;text-align:center;padding:100px 0;display:flex;flex-direction:column;align-items:center;gap:22px}
.news .kicker{color:var(--accent-soft)}
.news h2{font-size:clamp(34px,4.4vw,58px);line-height:1.04;color:var(--on-dark)}
.news h2 em{color:var(--accent-soft)}
.news p{color:var(--on-dark-soft);font-size:15.5px;max-width:44ch}
.news form{display:flex;width:100%;max-width:480px;border:1px solid color-mix(in srgb,var(--on-dark) 30%,transparent);border-radius:var(--radius-input);padding:5px 5px 5px 24px;background:color-mix(in srgb,var(--surface-deeper) 60%,transparent)}
.news input{border:0;background:transparent;flex:1;outline:none;min-width:0;font:inherit;font-size:14px;color:var(--on-dark)}
.news input::placeholder{color:var(--on-dark-muted)}
.news .fine{font-size:12px;color:var(--on-dark-muted);letter-spacing:.03em}
/* ── band: footer ── */
.site-foot{background:var(--surface-deeper);color:var(--on-dark-soft)}
.foot__main{display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr;gap:48px;padding:80px 0 58px}
.foot__brand .logo{color:var(--on-dark)}
.foot__brand .logo:hover{color:var(--on-dark)}
.foot__brand .logo .sub{color:var(--on-dark-muted)}
.foot__brand p{font-size:14px;max-width:34ch;margin-top:16px;line-height:1.7}
.foot__col h4{font-family:var(--font-body);font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--accent-soft);margin:0 0 18px;font-weight:700}
.foot__col ul{display:flex;flex-direction:column;gap:11px}
.foot__col a{font-size:14px;color:var(--on-dark-soft)}
.foot__col a:hover{color:var(--on-dark)}
.foot__base{border-top:1px solid var(--border-dark);padding:22px 0;display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:12px;color:var(--on-dark-muted);flex-wrap:wrap}
.foot__base a{color:var(--on-dark-muted)}
.foot__base a:hover{color:var(--on-dark)}
/* ── shared responsive ── */
@media (max-width:1080px){.pgrid{grid-template-columns:repeat(3,1fr)}.mainnav{gap:22px}.mainnav a{letter-spacing:.1em}.search{width:170px}}
@media (max-width:940px){
:root{--gutter:18px}
.announce .hide-m,.announce .pipe{display:none}
.hdr{gap:12px;padding:12px 0}
.mmenu{display:block}
.mainnav,.search,.hdr-r .act{display:none}
.msearch{display:flex}
.logo .wordmark{font-size:19px}
.sec{padding:72px 0}
.sec-head{flex-direction:column;align-items:flex-start;gap:14px;margin-bottom:34px}
.pgrid{grid-template-columns:repeat(2,1fr);gap:26px 14px}
.pcard h3{font-size:16px}
.pcard__quick{display:none}
.pcard__foot{flex-direction:column;align-items:flex-start;gap:8px}
.pcard__add{width:100%;text-align:center}
.foot__main{grid-template-columns:1fr 1fr;gap:34px;padding:52px 0 40px}
.foot__brand{grid-column:1/-1}
.foot__base{flex-direction:column;text-align:center}
.phead__in{grid-template-columns:1fr;gap:20px;align-items:start}
.phead--dark{padding-bottom:56px}
.phead--dark .phead__in{padding-top:40px}
.news__in{padding:70px 0}
.news form{flex-direction:column;border:0;padding:0;background:none;gap:10px}
.news input{border:1px solid color-mix(in srgb,var(--on-dark) 30%,transparent);border-radius:var(--radius-input);padding:14px 22px;background:color-mix(in srgb,var(--surface-deeper) 60%,transparent)}
}

/* ── band: hero-split ── */
.hero{padding:76px 0 96px;position:relative;overflow:hidden;background:var(--bg)}
.hero__wash{top:-260px;right:-220px;width:720px;height:720px;opacity:.5}
.hero__in{position:relative;z-index:2;display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center;min-height:560px}
.hero__text{display:flex;flex-direction:column;align-items:flex-start;gap:26px}
.hero__text .whisper{font-family:var(--font-heading);font-style:italic;font-size:20px;color:var(--sage-ink)}
.hero h1{font-weight:400;font-size:clamp(46px,6vw,82px);line-height:1;letter-spacing:-.02em}
.hero__sub{font-size:17px;color:var(--ink-soft);max-width:44ch;line-height:1.65}
.hero__cta{display:flex;gap:13px;flex-wrap:wrap}
.hero__proof{display:flex;align-items:center;gap:14px;font-size:13px;color:var(--ink-soft);flex-wrap:wrap}
.hero__proof b{color:var(--ink);font-weight:700}
.hero__proof .dot{width:3px;height:3px;border-radius:50%;background:var(--ink-soft)}
.hero__visual{position:relative;display:grid;place-items:center;aspect-ratio:1/1}
.hero__visual .ripple{inset:-6%;width:112%;height:112%}
.hero__disc{position:relative;width:82%;aspect-ratio:1/1;border-radius:50%;overflow:hidden;box-shadow:var(--shadow-raised)}
.hero__disc .ph{position:absolute;inset:0}
.float{position:absolute;background:var(--surface);border-radius:var(--radius-image);box-shadow:var(--shadow-card);padding:16px 20px;z-index:3;display:flex;flex-direction:column;gap:3px}
.float.a{left:-4%;bottom:16%}
.float.b{right:-2%;top:18%}
.float .k{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-weight:700}
.float .v{font-family:var(--font-heading);font-size:23px;line-height:1}
.float .v em{font-style:italic;color:var(--accent)}
/* ── band: usp-row ── */
.trust{background:var(--surface);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.trust__row{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;padding:28px 0}
.trust__row>div{display:flex;flex-direction:column;gap:3px;padding-left:26px;border-left:1px solid var(--border)}
.trust__row>div:first-child{padding-left:0;border-left:0}
.trust__row b{font-family:var(--font-heading);font-size:17px;font-weight:500}
.trust__row b em{font-style:italic;color:var(--accent)}
.trust__row span{font-size:12.5px;color:var(--ink-soft)}
/* ── band: category-index ── */
.idx{border-top:1px solid var(--border)}
.idx__row{display:grid;grid-template-columns:96px 1.1fr 1.5fr auto;gap:34px;align-items:center;padding:34px 22px;border-bottom:1px solid var(--border);color:var(--ink);transition:padding .3s,background .3s;border-radius:var(--radius-image)}
.idx__row:hover{background:var(--surface);padding-left:34px;padding-right:34px;color:var(--ink)}
.idx__row .num{font-family:var(--font-heading);font-size:46px;font-weight:300;color:var(--accent);line-height:1;font-style:italic}
.idx__row h3{font-size:29px;font-weight:500}
.idx__row .desc{font-size:15px;color:var(--ink-soft);max-width:46ch}
.idx__row .right{display:flex;align-items:center;gap:20px;justify-self:end}
.idx__row .chips{gap:6px}
.idx__row .arrow{width:46px;height:46px;border-radius:50%;border:1px solid var(--border);display:grid;place-items:center;color:var(--ink);transition:all .28s;flex-shrink:0}
.idx__row:hover .arrow{background:var(--accent);border-color:var(--accent);color:var(--surface);transform:rotate(-45deg)}
/* ── band: split-feature ── */
.split{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.panel{position:relative;overflow:hidden;border-radius:var(--radius-card);min-height:440px;display:flex;align-items:flex-end;color:var(--on-dark)}
.panel:hover{color:var(--on-dark)}
.panel .ph{position:absolute;inset:0}
.panel::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,color-mix(in srgb,var(--surface-deeper) 25%,transparent) 0%,color-mix(in srgb,var(--surface-deeper) 82%,transparent) 35%,var(--surface-deeper) 100%)}
.panel__body{position:relative;z-index:2;padding:40px 42px;display:flex;flex-direction:column;gap:13px;align-items:flex-start}
.panel h3{font-size:clamp(28px,2.6vw,38px);line-height:1.08;color:var(--on-dark)}
.panel p{font-size:14.5px;color:var(--on-dark);max-width:38ch}
.panel .go{margin-top:8px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:700;color:var(--accent-soft);border-bottom:1px solid var(--accent);padding-bottom:5px}
/* ── band: story-split ── */
.sec.on-sand{overflow:hidden}
.guide{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center}
.guide__portrait{position:relative;display:grid;place-items:center;aspect-ratio:4/5}
.guide__frame{width:88%;height:100%;border-radius:calc(var(--radius-card) + 40px) calc(var(--radius-card) + 40px) var(--radius-card) var(--radius-card);overflow:hidden;position:relative}
.guide__frame .ph{position:absolute;inset:0}
.guide__portrait .ripple{width:70%;height:70%;bottom:-8%;right:-6%;opacity:.6}
.guide__copy{display:flex;flex-direction:column;gap:22px;align-items:flex-start}
.guide__copy h2{font-size:clamp(34px,4.4vw,58px);line-height:1.04}
.guide__copy p{color:var(--ink-soft);font-size:16.5px;max-width:52ch}
.creds{display:flex;flex-wrap:wrap;gap:9px}
.creds li{font-size:11px;letter-spacing:.13em;text-transform:uppercase;font-weight:700;border:1px solid var(--border);border-radius:var(--radius-button);padding:8px 16px;color:var(--ink-soft);background:var(--surface)}
.sig{font-family:var(--font-heading);font-style:italic;font-size:27px;color:var(--accent)}
/* ── band: events ── */
.ev-list{border-top:1px solid var(--border-dark)}
.ev{display:grid;grid-template-columns:104px 1fr auto auto;gap:30px;align-items:center;padding:26px 8px;border-bottom:1px solid var(--border-dark);color:var(--on-dark);transition:background .2s;border-radius:var(--radius-image)}
.ev:hover{background:color-mix(in srgb,var(--on-dark) 6%,transparent);color:var(--on-dark)}
.ev__date{display:flex;flex-direction:column;line-height:1.05}
.ev__date b{font-family:var(--font-heading);font-size:36px;font-weight:500}
.ev__date span{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--accent-soft);font-weight:700;margin-top:3px}
.ev__what h3{font-size:21px;font-weight:500;color:var(--on-dark)}
.ev__what p{margin-top:4px;font-size:13px;color:var(--on-dark-soft)}
.ev__price{font-family:var(--font-heading);font-size:19px;font-weight:500;white-space:nowrap}
.ev__go{font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:700;border:1px solid var(--border-dark);border-radius:var(--radius-button);padding:11px 22px;white-space:nowrap;transition:all .25s}
.ev:hover .ev__go{background:var(--accent);border-color:var(--accent);color:var(--surface)}
/* ── band: reviews ── */
.rgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.rcard{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:34px 32px;display:flex;flex-direction:column;gap:16px}
.rcard blockquote{margin:0;font-family:var(--font-heading);font-style:italic;font-size:21px;line-height:1.4;flex:1}
.rcard__sig{display:flex;align-items:center;gap:12px;padding-top:16px;border-top:1px solid var(--border)}
.rcard__sig .ph{width:40px;height:40px;border-radius:50%;flex-shrink:0}
.rcard__sig b{font-size:14px;font-weight:700;display:block}
.rcard__sig small{font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
/* ── band: journal ── */
.jr-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.jr{display:flex;flex-direction:column;gap:15px;color:var(--ink)}
.jr:hover{color:var(--ink)}
.jr__frame{border-radius:var(--radius-image);overflow:hidden;aspect-ratio:4/3;position:relative}
.jr__frame .ph{position:absolute;inset:0;transition:transform .7s}
.jr:hover .jr__frame .ph{transform:scale(1.05)}
.jr .k{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);font-weight:700}
.jr h3{font-size:22px;line-height:1.26;font-weight:500}
.jr p{font-size:14px;color:var(--ink-soft)}
@media (max-width:940px){
.hero{padding:44px 0 64px}
.hero__in{grid-template-columns:1fr;gap:44px;min-height:auto;text-align:center}
.hero__text{align-items:center}
.hero__cta{justify-content:center}
.hero__proof{justify-content:center}
.hero__visual{max-width:400px;margin:0 auto;width:100%}
.float.a{left:0}.float.b{right:0}
.trust__row{grid-template-columns:1fr 1fr;gap:22px}
.trust__row>div:nth-child(3){padding-left:0;border-left:0}
.idx__row{grid-template-columns:54px 1fr;gap:14px 16px;padding:24px 6px}
.idx__row:hover{padding-left:6px;padding-right:6px}
.idx__row .num{font-size:34px}
.idx__row .desc,.idx__row .right{grid-column:2}
.idx__row .right{justify-self:start;margin-top:4px}
.idx__row .arrow{display:none}
.split{grid-template-columns:1fr}
.panel{min-height:380px}
.panel__body{padding:30px 26px}
.guide{grid-template-columns:1fr;gap:38px}
.ev{grid-template-columns:64px 1fr;gap:14px}
.ev__price{grid-column:2;justify-self:start}
.ev__go{display:none}
.rgrid,.jr-grid{grid-template-columns:1fr}
}


/* ═══ PAGE BANDS ═══
   Statements from the other design pages that the home stylesheet
   doesn't contain (merged by --pages, verbatim). */
/* ── page bands: product.html ── */
.pdp{display:grid;grid-template-columns:1.05fr 1fr;gap:64px;padding:28px 0 100px;align-items:start}
.gallery{position:sticky;top:120px}
.gallery__sel{position:absolute;opacity:0;width:0;height:0;pointer-events:none}
.gallery__main{position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--surface-sand);border-radius:var(--radius-card)}
.gallery__main .ph{position:absolute;inset:0;opacity:0;transition:opacity .25s}
.gallery__main .pcard__badge{z-index:3}
.gallery__thumbs{display:flex;gap:10px;margin-top:12px;overflow-x:auto;scrollbar-width:none}
.gallery__thumbs::-webkit-scrollbar{display:none}
.gallery__thumbs label{width:88px;aspect-ratio:4/5;flex-shrink:0;border:1px solid var(--border);border-radius:var(--radius-image);cursor:pointer;overflow:hidden;position:relative;display:block;background:var(--surface-sand)}
.gallery__thumbs label .ph{position:absolute;inset:0}
#shot-1:checked~.gallery__main .s1,#shot-2:checked~.gallery__main .s2,#shot-3:checked~.gallery__main .s3,#shot-4:checked~.gallery__main .s4{opacity:1}
#shot-1:checked~.gallery__thumbs .t1,#shot-2:checked~.gallery__thumbs .t2,#shot-3:checked~.gallery__thumbs .t3,#shot-4:checked~.gallery__thumbs .t4{border-color:var(--accent);outline:1px solid var(--accent)}
.buybox{display:flex;flex-direction:column;gap:24px}
.buybox__top{display:flex;flex-direction:column;gap:14px}
.buybox h1{font-size:clamp(36px,4vw,54px);line-height:1.04;font-weight:400}
.buybox__rating{font-size:13px;color:var(--ink-soft);display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.buybox__price{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.buybox__price .now{font-family:var(--font-heading);font-size:38px;font-weight:500}
.buybox__price .was{font-size:17px;color:var(--muted);text-decoration:line-through}
.buybox__price .per{font-size:13px;color:var(--muted)}
.buybox__lede{font-size:16px;line-height:1.65;color:var(--ink-soft)}
.variant{display:flex;flex-direction:column;gap:12px}
.variant__label{font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;display:flex;justify-content:space-between;gap:12px}
.variant__label span{color:var(--muted);letter-spacing:.1em;font-weight:500;text-transform:none;font-size:12.5px}
.opts{display:flex;flex-wrap:wrap;gap:8px}
.opts input{position:absolute;opacity:0;width:0;height:0}
.opts input+label{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:11px 18px;border:1px solid var(--border);border-radius:var(--radius-button);cursor:pointer;transition:all .15s;display:inline-flex;align-items:center;gap:8px;background:var(--surface)}
.opts input+label:hover{border-color:var(--accent)}
.opts input:checked+label{border-color:var(--surface-dark);background:var(--surface-dark);color:var(--on-dark)}
.opts input:disabled+label{color:var(--muted);text-decoration:line-through;cursor:not-allowed}
.opts.is-dates input+label{flex-direction:column;align-items:flex-start;gap:2px;padding:12px 18px;min-width:120px}
.opts.is-dates small{font-size:10px;letter-spacing:.08em;font-weight:500;text-transform:none;opacity:.75}
.qty{display:inline-flex;align-items:center;border:1px solid var(--border);border-radius:var(--radius-input);height:56px;flex-shrink:0;background:var(--surface)}
.qty button{width:46px;height:100%;display:grid;place-items:center;font-size:18px;color:var(--ink-soft);border-radius:var(--radius-input)}
.qty button:hover{color:var(--accent-ink)}
.qty .n{min-width:30px;text-align:center;font-size:14px;font-weight:700}
.atc{display:flex;gap:10px;align-items:stretch}
.atc .btn{flex:1}
.atc__wish{width:56px;flex-shrink:0;border:1px solid var(--ink);border-radius:50%;display:grid;place-items:center;transition:all .15s}
.atc__wish:hover{background:var(--ink);color:var(--bg)}
.perks{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.perk{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-image);padding:16px;display:flex;flex-direction:column;align-items:flex-start;gap:6px;font-size:12.5px;color:var(--ink-soft);line-height:1.4}
.perk .ico{color:var(--accent)}
.perk b{font-family:var(--font-heading);font-weight:500;font-size:16px;color:var(--ink)}
.accs{display:flex;flex-direction:column}
.acc{border-bottom:1px solid var(--border)}
.acc:first-child{border-top:1px solid var(--border)}
.acc>summary{display:flex;align-items:center;justify-content:space-between;padding:18px 0;font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase}
.acc>summary svg{color:var(--muted);transition:transform .2s;flex-shrink:0}
.acc[open]>summary svg{transform:rotate(180deg)}
.acc__body{padding:0 0 20px;font-size:14.5px;line-height:1.75;color:var(--ink-soft);display:flex;flex-direction:column;gap:10px}
.acc__body ul{display:flex;flex-direction:column;gap:6px}
.acc__body li{display:flex;gap:10px;align-items:baseline}
.acc__body li::before{content:"✦";color:var(--accent);font-size:9px;flex-shrink:0}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border-dark);border-top:1px solid var(--border-dark);border-bottom:1px solid var(--border-dark)}
.step{background:var(--surface-dark);padding:40px 30px;display:flex;flex-direction:column;gap:14px;min-height:240px;justify-content:space-between}
.step__n{font-family:var(--font-heading);font-size:48px;line-height:1;color:var(--accent-soft);font-style:italic;font-weight:300}
.step h3{font-size:23px;line-height:1.15;color:var(--on-dark);margin-bottom:8px}
.step p{color:var(--on-dark-soft);font-size:14px;line-height:1.6}
@media (max-width:940px){
.pdp{grid-template-columns:1fr;gap:28px;padding-bottom:64px}
.gallery{position:static}
.perks{grid-template-columns:1fr}
.steps{grid-template-columns:1fr}
.step{min-height:0;padding:30px 24px}
}

/* ── page bands: category.html ── */
.collection{background:var(--bg);padding-bottom:100px}
.fbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 0;border-bottom:1px solid var(--border)}
.fbar__l{display:flex;align-items:center;gap:14px}
.fbtn{display:none;align-items:center;gap:9px;font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;padding:11px 18px;border:1px solid var(--ink);border-radius:var(--radius-button);cursor:pointer}
.fbtn:hover{background:var(--ink);color:var(--bg)}
.rcount{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.sortsel{font:inherit;font-size:13px;color:var(--ink);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-input);padding:10px 40px 10px 18px;cursor:pointer;outline:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%236f6757' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;min-width:210px}
.ftoggle{position:absolute;opacity:0;width:0;height:0;pointer-events:none}
.clayout{display:grid;grid-template-columns:250px 1fr;gap:48px;padding-top:40px;align-items:start}
.clayout .pgrid{grid-template-columns:repeat(3,1fr)}
.fside{position:sticky;top:120px}
.fgroup{border-bottom:1px solid var(--border);padding:20px 0}
.fgroup:first-child{padding-top:0}
.fgroup>summary{display:flex;align-items:center;justify-content:space-between;font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase}
.fgroup>summary svg{color:var(--muted);transition:transform .2s}
.fgroup[open]>summary svg{transform:rotate(180deg)}
.fgroup__body{padding-top:14px;display:flex;flex-direction:column}
.fitem{display:flex;align-items:center;gap:11px;padding:6px 0;cursor:pointer;font-size:14px;color:var(--ink-soft)}
.fitem:hover{color:var(--ink)}
.fitem input{accent-color:var(--accent);width:15px;height:15px;flex-shrink:0;cursor:pointer;margin:0}
.fitem .cnt{font-size:11px;color:var(--muted);margin-left:auto}
.prange{display:flex;gap:8px;align-items:center}
.prange input{width:100%;padding:9px 14px;font:inherit;font-size:13px;border:1px solid var(--border);border-radius:var(--radius-input);background:var(--surface);outline:none;color:var(--ink);min-width:0}
.prange input:focus{border-color:var(--accent)}
.prange span{color:var(--muted)}
.fpromo{background:var(--surface-dark);color:var(--on-dark);padding:26px;margin-top:24px;border-radius:var(--radius-card);display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.fpromo .kicker{color:var(--accent-soft)}
.fpromo h3{font-size:25px;line-height:1.08;color:var(--on-dark)}
.fpromo h3 em{color:var(--accent-soft)}
.fpromo p{font-size:13px;color:var(--on-dark-soft);line-height:1.55}
.pager{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:56px;padding-top:32px;border-top:1px solid var(--border)}
.pager a,.pager span{min-width:42px;height:42px;display:grid;place-items:center;font-size:12px;font-weight:700;border:1px solid transparent;border-radius:var(--radius-button);padding:0 14px}
.pager a:hover{border-color:var(--border);color:var(--ink)}
.pager a.is-active{background:var(--surface-dark);color:var(--on-dark);border-color:var(--surface-dark)}
.pager .gap{color:var(--muted)}
.help{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:48px 52px}
.help h2{font-size:clamp(28px,3vw,40px);line-height:1.08}
.help p{color:var(--ink-soft);margin-top:12px;max-width:52ch}
.help__cta{display:flex;gap:12px;flex-wrap:wrap}
@media (max-width:940px){
.fbtn{display:inline-flex}
.clayout{grid-template-columns:1fr;gap:0;padding-top:0}
.fside{display:none;position:static;padding:22px 0 10px}
.ftoggle:checked~.clayout .fside{display:block}
.clayout .pgrid{grid-template-columns:repeat(2,1fr);margin-top:24px}
.fpromo{display:none}
.help{grid-template-columns:1fr;padding:32px 24px;gap:24px}
}
@media (max-width:600px){.sortsel{min-width:0}.rcount{display:none}}

/* ── page bands: cart.html ── */
.cartpage{padding:0 0 100px;background:var(--bg)}
.cartpage__head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:36px 0 32px}
.cartpage__head h1{font-size:clamp(42px,4.8vw,64px);line-height:1;font-weight:400}
.cartpage__head .tlink{margin-bottom:8px}
.cart__grid{display:grid;grid-template-columns:1fr 400px;gap:56px;align-items:start}
.ship{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-image);padding:18px 22px;margin-bottom:24px;display:flex;flex-direction:column;gap:12px}
.ship__row{display:flex;justify-content:space-between;gap:12px;font-size:13.5px;color:var(--ink-soft)}
.ship__row b{color:var(--ink);font-weight:700}
.ship__bar{height:4px;background:var(--surface-sand);border-radius:4px;overflow:hidden}
.ship__bar i{display:block;height:100%;width:62%;background:var(--accent);border-radius:4px}
.cart__list{border-top:1px solid var(--border)}
.cline{display:grid;grid-template-columns:110px 1fr auto auto;gap:26px;padding:26px 0;border-bottom:1px solid var(--border);align-items:center}
.cline__shot{width:110px;aspect-ratio:4/5;border-radius:var(--radius-image)}
.cline__info{display:flex;flex-direction:column;gap:6px;min-width:0}
.cline__tag{font-size:10px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.cline__name{font-size:22px;line-height:1.12;font-weight:500}
.cline__opt{font-size:13px;color:var(--ink-soft)}
.cline__rm{font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);text-decoration:underline;text-underline-offset:3px;margin-top:6px;align-self:flex-start}
.cline__rm:hover{color:var(--sale)}
.cline__price{font-family:var(--font-heading);font-size:22px;text-align:right;min-width:90px;display:flex;flex-direction:column;align-items:flex-end}
.cline__price .was{font-family:var(--font-body);font-size:12px;color:var(--muted);text-decoration:line-through}
.cline .qty{height:42px}
.cline .qty button{width:38px;font-size:16px}
.cline .qty .n{min-width:26px;font-size:13px}
.summary{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:34px;position:sticky;top:120px;display:flex;flex-direction:column}
.summary h2{font-size:28px;margin-bottom:18px}
.srow{display:flex;justify-content:space-between;align-items:baseline;font-size:14px;padding:11px 0;color:var(--ink-soft);border-bottom:1px solid var(--border)}
.srow .v{font-weight:700;color:var(--ink)}
.srow .v.is-save{color:var(--sale)}
.srow.total{border-bottom:0;padding:18px 0 22px;align-items:center}
.srow.total .l{font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--ink)}
.srow.total .v{font-family:var(--font-heading);font-weight:500;font-size:34px}
.promo{display:flex;gap:8px;padding:18px 0 6px}
.promo input{flex:1;font:inherit;font-size:13px;padding:12px 18px;border:1px solid var(--border);border-radius:var(--radius-input);background:var(--bg);outline:none;color:var(--ink);min-width:0}
.promo input:focus{border-color:var(--accent)}
.promo .btn{padding:12px 20px}
.summary__trust{display:flex;flex-direction:column;gap:9px;margin-top:20px;padding-top:18px;border-top:1px solid var(--border)}
.summary__trust span{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--ink-soft)}
.summary__trust .ico{color:var(--accent)}
.summary__pay{display:flex;gap:6px;flex-wrap:wrap;margin-top:16px}
.summary__pay span{font-size:9px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:4px 8px;border:1px solid var(--border);border-radius:4px;color:var(--ink-soft);background:var(--bg)}
@media (max-width:940px){
.cart__grid{grid-template-columns:1fr;gap:28px}
.summary{position:static;padding:24px}
.cline{grid-template-columns:88px 1fr;gap:6px 16px;align-items:start}
.cline__shot{width:88px;grid-row:span 3}
.cline__price{text-align:left;align-items:flex-start}
.cline .qty{justify-self:start}
}

/* ── page bands: about.html ── */
.story{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}
.story__shot{aspect-ratio:4/5;border-radius:var(--radius-card);position:relative}
.story__copy{display:flex;flex-direction:column;gap:18px}
.story h2{font-size:clamp(34px,4vw,52px);line-height:1.04;margin-bottom:6px}
.story p{color:var(--ink-soft);line-height:1.75;max-width:540px}
.story p.lede{font-family:var(--font-heading);font-size:22px;line-height:1.5;color:var(--ink)}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:14px;padding-top:26px;border-top:1px solid var(--border)}
.stats .n{font-family:var(--font-heading);font-size:36px;line-height:1}
.stats .n em{font-style:italic;color:var(--accent)}
.stats .l{font-size:10px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin-top:8px;display:block}
.vgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.vcard{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:36px 32px;display:flex;flex-direction:column;gap:12px}
.vcard .sym{font-family:var(--font-heading);font-size:30px;color:var(--accent);line-height:1;font-style:italic}
.vcard h3{font-size:26px;line-height:1.1}
.vcard p{color:var(--ink-soft);font-size:14.5px;line-height:1.65}
.steps.is-4{grid-template-columns:repeat(4,1fr)}
.ggrid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.ggrid .ph{aspect-ratio:1/1;border-radius:var(--radius-image)}
.ggrid .ph:nth-child(2),.ggrid .ph:nth-child(3){aspect-ratio:4/5}
@media (max-width:940px){
.story{grid-template-columns:1fr;gap:36px}
.vgrid{grid-template-columns:1fr}
.steps.is-4{grid-template-columns:1fr 1fr}
.ggrid{grid-template-columns:1fr 1fr}
.ggrid .ph:nth-child(2),.ggrid .ph:nth-child(3){aspect-ratio:1/1}
}
@media (max-width:600px){.stats{gap:12px}.stats .n{font-size:28px}.steps.is-4{grid-template-columns:1fr}}

/* ── page bands: contact.html ── */
.formsplit{display:grid;grid-template-columns:1.1fr .9fr;gap:64px;align-items:start}
.formsplit__copy{display:flex;flex-direction:column;gap:12px;margin-bottom:28px}
.formsplit h2{font-size:clamp(32px,3.6vw,46px);line-height:1.05}
.formsplit .intro{color:var(--ink-soft)}
.fields{display:flex;flex-direction:column;gap:18px}
.field{display:flex;flex-direction:column;gap:8px}
.field label{font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase}
.field input,.field textarea,.field select{font:inherit;font-size:14px;color:var(--ink);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-input);padding:14px 20px;outline:none;width:100%}
.field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%236f6757' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 18px center}
.field textarea{min-height:160px;resize:vertical;border-radius:var(--radius-card)}
.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--accent)}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--ink-soft)}
.consent input{accent-color:var(--accent);margin:4px 0 0}
.aside{display:flex;flex-direction:column;gap:20px}
.aside-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:32px;display:flex;flex-direction:column;gap:14px}
.aside-card h3{font-size:26px;line-height:1.1}
.aside-card p{color:var(--ink-soft);font-size:14.5px}
.aside-card .big{font-family:var(--font-heading);font-size:20px;color:var(--accent-ink);word-break:break-word}
.hours{border-top:1px solid var(--border);display:flex;flex-direction:column}
.hours div{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--border);font-size:13.5px;color:var(--ink-soft)}
.hours div b{color:var(--ink);font-weight:700}
.aside-card.is-dark{background:var(--surface-dark);border-color:var(--surface-dark);color:var(--on-dark)}
.aside-card.is-dark h3{color:var(--on-dark)}
.aside-card.is-dark p{color:var(--on-dark-soft)}
.aside-card.is-dark .kicker{color:var(--accent-soft)}
.aside-card.is-dark .big{color:var(--accent-soft)}
.faq{max-width:820px;margin:0 auto;display:flex;flex-direction:column}
.faq .sec-head{flex-direction:column;align-items:center;text-align:center;gap:14px;margin-bottom:40px}
.faq .acc{border-bottom:1px solid var(--border)}
.faq .acc:first-of-type{border-top:1px solid var(--border)}
.faq .acc>summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 0;font-family:var(--font-heading);font-size:21px;font-weight:500;letter-spacing:0;text-transform:none}
.faq .acc__body{padding:0 0 22px;font-size:15px;line-height:1.75;color:var(--ink-soft);max-width:64ch;display:block}
.mapstrip{display:grid;grid-template-columns:1fr 1fr;gap:0;border-radius:var(--radius-card);overflow:hidden;border:1px solid var(--border);background:var(--surface)}
.mapstrip .ph{aspect-ratio:16/10}
.mapstrip__copy{padding:48px;display:flex;flex-direction:column;gap:14px;justify-content:center}
.mapstrip h2{font-size:clamp(28px,3vw,40px);line-height:1.08}
.mapstrip p{color:var(--ink-soft)}
.mapstrip address{font-style:normal;font-family:var(--font-heading);font-size:19px;line-height:1.5}
@media (max-width:940px){
.formsplit{grid-template-columns:1fr;gap:40px}
.mapstrip{grid-template-columns:1fr}
.mapstrip__copy{padding:28px 22px}
}
@media (max-width:600px){.field-row{grid-template-columns:1fr}.faq .acc>summary{font-size:18px}}


/* ═══ PLATFORM ADAPTATIONS ═══
   From platform-adapt.css — reconciliations between the design's
   markup assumptions and the platform's. Keep this list short;
   each entry should name why the design rule needs scoping. */
/* ── PLATFORM ADAPTATIONS (dlh) — reconciliations between the Darkness to
   Light design and the platform's own DOM: the header / footer zones (rows,
   columns and widgets rendered as #block-<id> with data-sub-element hooks),
   the Alpine product gallery, form result lines, the listing chips, the cart
   drawer and the core account pages. Inlined into dlh.css by
   scripts/design-to-theme-css.py — edit here, then regenerate. ── */

/* tokens the platform chrome rules read that the design does not define */
:root{--paper:var(--surface);--surface-alt:var(--surface-sand);--on-accent:var(--surface);--success:var(--sage-ink);--inverse:var(--surface-dark);--ticker-h:40px}

/* ── HEADER ZONE: .announce row scrolls away, the main row stays pinned ── */
#site-header{position:sticky!important;top:calc(-1 * var(--ticker-h))!important;z-index:60;background:color-mix(in srgb,var(--surface) 92%,transparent)!important;backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}
#site-header .v3-custom-section{position:relative}
#block-hdr-row-ann{padding:0!important;max-width:none!important}
#block-hdr-ann .announce{min-height:var(--ticker-h)}
#block-hdr-logo .logo,#block-hdr-mob-logo .logo{text-decoration:none}
/* main nav = the design's .mainnav */
#block-hdr-menu{display:flex;align-items:center;justify-content:center;gap:32px;position:static;min-width:0}
#block-hdr-menu>[data-nav-item]{display:flex;align-items:center;position:relative}
#block-hdr-menu [data-sub-element^="menu-link"],#block-hdr-menu a[data-nav-parent]{display:inline-flex!important;align-items:center;gap:6px!important;font-family:var(--font-body)!important;font-size:12px!important;font-weight:700!important;letter-spacing:.18em!important;text-transform:uppercase;color:var(--ink)!important;white-space:nowrap;padding:8px 0!important;text-decoration:none;position:relative;background:none!important}
#block-hdr-menu [data-sub-element^="menu-link"]::after,#block-hdr-menu a[data-nav-parent]::after{content:"";position:absolute;left:0;right:100%;bottom:2px;height:1.5px;background:var(--accent);transition:right .28s}
#block-hdr-menu [data-sub-element^="menu-link"]:hover::after,#block-hdr-menu a[data-nav-parent]:hover::after,#block-hdr-menu [aria-current="page"]::after{right:0}
#block-hdr-menu a[data-nav-parent] svg{width:9px;height:9px;stroke:var(--muted);stroke-width:2}
#block-hdr-menu [data-sub-element="menu-badge"],#mobile-drawer [data-sub-element="menu-badge"]{display:none!important}
#block-hdr-menu>details[data-nav-accordion]{display:none}
#block-hdr-menu [data-nav-dropdown]{position:absolute;top:36px;left:-16px;background:var(--surface)!important;border:1px solid var(--border)!important;border-radius:var(--radius-image)!important;box-shadow:var(--shadow-raised)!important;padding:8px!important;min-width:230px;z-index:70}
#block-hdr-menu [data-has-children]:hover>[data-nav-dropdown],#block-hdr-menu [data-has-children].open>[data-nav-dropdown]{display:flex!important;flex-direction:column}
#block-hdr-menu [data-nav-dropdown] a[data-nav-child]{display:block;padding:11px 14px;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink)!important;white-space:nowrap;text-decoration:none;border-radius:var(--radius-image);background:none}
#block-hdr-menu [data-nav-dropdown] a[data-nav-child]:hover{background:var(--bg);color:var(--accent-ink)!important}
#block-hdr-menu [data-nav-viewall],#mobile-drawer [data-nav-accordion-viewall]{display:none!important}
/* search pill = the design's .search / .msearch */
#site-header [data-block-type="header-search"] [data-sub-element="search-form"]{display:flex;align-items:center;gap:9px;margin:0;border:1px solid var(--border);background:var(--bg);padding:0 16px;height:40px;border-radius:var(--radius-input);width:210px;color:var(--muted)}
#block-hdr-mob-search [data-sub-element="search-form"]{width:100%;height:46px;padding:0 18px}
#site-header [data-block-type="header-search"] [data-sub-element="search-form"]:focus-within{border-color:var(--ink)}
#site-header [data-block-type="header-search"] [data-sub-element="icon"]{position:static!important;display:inline-flex;flex:0 0 auto;color:var(--muted);transform:none!important;width:15px;height:15px}
#site-header [data-block-type="header-search"] [data-sub-element="icon"] svg{width:15px;height:15px}
#site-header [data-block-type="header-search"] [data-sub-element="input"]{flex:1;min-width:0;border:0!important;outline:0;background:transparent!important;padding:0!important;font:inherit;font-size:13px;color:var(--ink);box-shadow:none!important}
#site-header [data-block-type="header-search"] [data-sub-element="input"]::placeholder{color:var(--muted)}
/* account + basket = the design's .hdr-r .act text links, basket count bubble */
#site-header [data-block-type="header-account"] [data-sub-element="container"],
#site-header [data-block-type="header-cart"] [data-sub-element="container"]{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-body);font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--ink);white-space:nowrap;text-decoration:none;background:none;border:0;padding:0;cursor:pointer}
#site-header [data-block-type="header-account"] [data-sub-element="container"]:hover,
#site-header [data-block-type="header-cart"] [data-sub-element="container"]:hover{color:var(--accent-ink)}
#site-header [data-block-type="header-account"] [data-sub-element="icon"],#site-header [data-block-type="header-cart"] [data-sub-element="icon"]{display:none}
#site-header [data-block-type="header-account"] [data-sub-element="label"],#site-header [data-block-type="header-cart"] [data-sub-element="label"]{display:inline}
#site-header [data-block-type="header-cart"] [data-sub-element="badge"]{position:static;transform:none;min-width:20px;height:20px;border-radius:50%;background:var(--accent)!important;color:var(--surface)!important;font-size:11px;font-weight:700;display:grid;place-items:center;padding:0 5px;letter-spacing:0;line-height:1}
/* mobile row: burger · logo · basket */
#block-hdr-mob-hamburger [data-sub-element="toggle"]{width:40px;height:40px;display:grid;place-items:center;color:var(--ink);background:none;border:0;padding:0;margin-left:-8px}
#block-hdr-mob-hamburger [data-sub-element="icon"]{width:24px;height:24px;display:block}
#block-hdr-mob-logo .logo .wordmark{font-size:19px}
#block-hdr-row-mobile-search{border-top:1px solid var(--border)}
@media(max-width:940px){
  #block-hdr-row-main{display:none!important}
  #block-hdr-row-mobile,#block-hdr-row-mobile-search{display:flex!important}
  :root{--ticker-h:34px}
}
@media(min-width:941px){
  #block-hdr-row-mobile,#block-hdr-row-mobile-search{display:none!important}
  #block-hdr-row-main{display:grid!important}
}
@media(max-width:1080px) and (min-width:941px){
  #block-hdr-menu{gap:22px}
  #block-hdr-menu [data-sub-element^="menu-link"],#block-hdr-menu a[data-nav-parent]{letter-spacing:.1em!important}
  #site-header [data-block-type="header-search"] [data-sub-element="search-form"]{width:170px}
}
/* mobile drawer = the design's .mmenu__panel (the platform writes inline light styles) */
#mobile-drawer[data-menu-drawer]{background:var(--surface)!important;color:var(--ink)!important;box-shadow:var(--shadow-raised)!important}
#mobile-drawer>button{color:var(--ink)!important}
#mobile-drawer a[data-nav-item],#mobile-drawer summary[data-nav-accordion-summary]{display:flex!important;align-items:center;justify-content:space-between;padding:14px 4px!important;font-family:var(--font-heading)!important;font-size:21px!important;font-weight:400;letter-spacing:0;text-transform:none;color:var(--ink)!important;border-bottom:1px solid var(--border)!important;border-top:0!important;background:none!important;list-style:none;cursor:pointer}
#mobile-drawer summary[data-nav-accordion-summary]::-webkit-details-marker{display:none}
#mobile-drawer summary svg{width:10px;height:10px;stroke:var(--muted)}
#mobile-drawer details[data-nav-accordion]{border:0!important}
#mobile-drawer a[data-nav-accordion-child]{display:block!important;padding:12px 4px 12px 18px!important;font-family:var(--font-body)!important;font-size:14px!important;color:var(--ink-soft)!important;border:0!important;background:none!important}
#mobile-drawer [data-drawer-content]>a[href="/account"]{display:block!important;margin-top:18px!important;padding:14px 4px!important;border-top:0!important;font-family:var(--font-body)!important;font-size:10px!important;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)!important}
#mobile-drawer a:hover{color:var(--accent-ink)!important}

/* ── FOOTER ZONE = the design's .site-foot ── */
footer[data-zone="footer"]{background:var(--surface-deeper)!important;color:var(--on-dark-soft)}
footer[data-zone="footer"] .logo,footer[data-zone="footer"] .logo:hover{color:var(--on-dark);text-decoration:none}
footer[data-zone="footer"] .logo .sub{color:var(--on-dark-muted)}
#block-ftr-tagline,#block-ftr-tagline p{font-size:14px;max-width:34ch;line-height:1.7;color:var(--on-dark-soft)!important;margin:0}
footer[data-zone="footer"] [data-block-type="footer-links"] :is(h2,h3,h4,h5,[data-sub-element="footer-links-title"]){display:block;color:var(--accent-soft)!important;font-family:var(--font-body)!important;font-size:11px!important;font-weight:700!important;letter-spacing:.24em!important;text-transform:uppercase!important;margin:0 0 18px!important}
footer[data-zone="footer"] [data-block-type="footer-links"] ul{display:flex;flex-direction:column;gap:11px;margin:0;padding:0;list-style:none}
footer[data-zone="footer"] [data-sub-element="footer-links-link"]{font-size:14px!important;color:var(--on-dark-soft)!important;text-decoration:none!important;font-weight:400!important;letter-spacing:0!important;text-transform:none!important}
footer[data-zone="footer"] [data-sub-element="footer-links-link"]:hover{color:var(--on-dark)!important}
#block-ftr-row-bottom{border-top:0;background-image:linear-gradient(var(--border-dark),var(--border-dark));background-size:calc(100% - 68px) 1px;background-position:34px 0;background-repeat:no-repeat;font-size:12px;color:var(--on-dark-muted)}
@media(max-width:940px){#block-ftr-row-bottom{background-size:calc(100% - 36px) 1px;background-position:18px 0}}
#block-ftr-copyright [data-sub-element="copy-text"],#block-ftr-credit [data-sub-element="credit"]{font-size:12px!important;color:var(--on-dark-muted)!important}
#block-ftr-credit [data-sub-element="credit"] a{color:var(--on-dark-muted)!important;text-decoration:none}
#block-ftr-credit [data-sub-element="credit"] a:hover{color:var(--on-dark)!important}

/* ── PRODUCT PAGE: the design swaps plates with :checked radios; ours is
   Alpine, so the shown plate / active thumb ride an .is-on class ── */
.gallery__main>.ph.is-on{opacity:1}
.gallery__thumbs label.is-on{border-color:var(--accent);outline:1px solid var(--accent)}
.pdp-lightbox{position:fixed;inset:0;z-index:2000;background:color-mix(in srgb,var(--surface-deeper) 95%,transparent);display:flex;align-items:center;justify-content:center}
.pdp-lightbox img{max-width:92vw;max-height:92vh;object-fit:contain;border-radius:var(--radius-image)}
.pdp-lightbox__close{position:absolute;top:18px;right:22px;background:none;border:0;color:var(--on-dark);font-size:26px;cursor:pointer}
.pdp-lightbox__nav{position:absolute;top:50%;transform:translateY(-50%);background:none;border:0;color:var(--on-dark);font-size:44px;cursor:pointer;padding:12px 18px}
.pdp-lightbox__nav--prev{left:8px}
.pdp-lightbox__nav--next{right:8px}
.pform{display:flex;flex-direction:column;gap:24px}
.pform:empty,.pform:not(:has(*)){display:none} /* Blade leaves whitespace, so :empty alone never matched and the empty box added a second 24px gap above Add to basket */
.buybox__note{font-size:13px;color:var(--ink-soft);margin:-8px 0 0}
.buybox__rating{text-decoration:none}
/* ── BOOKING DATES: real dates have different label lengths, so the design's
   content-sized two-line pills wrapped into a ragged row. An even grid of
   tiles instead — day / time / places left on their own lines. ── */
.opts.is-dates{display:grid;grid-template-columns:repeat(auto-fill,minmax(116px,1fr));gap:8px}
.opts.is-dates input+label{flex-direction:column;align-items:flex-start;justify-content:center;gap:4px;min-width:0;padding:12px 14px;border-radius:14px}
.opts.is-dates .dt{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}
.opts.is-dates .tm{font-family:var(--font-heading);font-size:19px;font-weight:400;letter-spacing:0;text-transform:none;line-height:1.1}
.opts.is-dates small{display:block;font-size:11px;letter-spacing:.02em;font-weight:500;text-transform:none;opacity:.7}
.opts.is-dates input:disabled+label{text-decoration:none;opacity:.55}
.opts.is-dates input:disabled+label .tm{text-decoration:line-through}
.opts input:checked+label small{opacity:.85}

/* ── PERKS under Add to basket: three side-by-side cards wrapped their titles
   unevenly in the narrow buy column. One panel, one row per perk (icon,
   title, line). ── */
.buybox .perks{display:block;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-image);padding:2px 20px}
.buybox .perk{display:grid;grid-template-columns:36px 1fr;column-gap:14px;row-gap:1px;align-items:center;padding:13px 0;background:none;border:0;border-top:1px solid var(--border);border-radius:0;font-size:13px}
.buybox .perk:first-child{border-top:0}
.buybox .perk .ico{grid-column:1;grid-row:1/span 2;width:36px;height:36px;border-radius:50%;background:var(--accent-soft);color:var(--accent-ink);display:grid;place-items:center}
.buybox .perk b{grid-column:2;font-size:15.5px;line-height:1.25}
.buybox .perk .perk__t{grid-column:2;color:var(--ink-soft);line-height:1.45}
.buybox .perk:not(:has(.perk__t)) .ico{grid-row:auto}
.atc .btn[disabled]{opacity:.55;cursor:not-allowed;transform:none}
.atc .qty .n{min-width:30px}

/* ── FORMS: the result lines the static design never drew ── */
.form__note{font-size:13px;margin:0}
.form__note--ok{color:var(--success)}
.form__note--err{color:var(--sale)}
.btn[disabled]{opacity:.55;cursor:not-allowed}
.news__msg{color:var(--on-dark);font-size:15px;margin:0;padding:10px 0;flex:1;text-align:center}
.news__msg--err{color:var(--accent-soft)}

/* ── LISTING: filter-count bubble, applied chips, the mobile panel head/foot ── */
.fbtn em{font-style:normal;min-width:18px;height:18px;border-radius:50%;background:var(--accent);color:var(--surface);font-size:10px;display:grid;place-items:center;letter-spacing:0}
.coll__active{display:flex;gap:8px;flex-wrap:wrap;align-items:center;flex:1;justify-content:flex-end}
.coll__active .chip{display:inline-flex;align-items:center;gap:7px;font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:8px 14px;border-radius:var(--radius-button);background:var(--surface-dark);color:var(--on-dark);text-decoration:none}
.coll__active .chip svg{width:9px;height:9px}
.coll__clear{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);text-decoration:underline;text-underline-offset:3px}
.fside__hd,.fside__foot{display:none}
.clayout__main{min-width:0}
.fitem span:first-of-type{flex:1}
.pager a.is-off{opacity:.35;pointer-events:none}
.pager svg{width:14px;height:14px}

/* ── BASKET page bits the static design never drew ── */
.cart__empty{display:flex;flex-direction:column;align-items:flex-start;gap:18px;padding:24px 0 40px}
.cart__empty h2{font-size:clamp(30px,3.4vw,44px);line-height:1.05}
.cart__empty p{color:var(--ink-soft);max-width:52ch}
.cline__name a{color:inherit}
.cline .qty{height:42px}
.cline .qty button{width:38px;font-size:16px}
.cline .qty .n{min-width:26px;font-size:13px}
.cline .qty button[disabled]{opacity:.45;cursor:default}
.summary__tax,.summary__note,.cart__fine{font-size:12.5px;color:var(--muted);margin:-10px 0 16px}
.cart__fine{margin:18px 0 0}
.summary .promo input{background:var(--bg)}

/* ── CART DRAWER (cart-slider section; the design ships no drawer, so the
   platform's panel is dressed in the design's tokens) ── */
[data-el="slider-panel"]{background:var(--surface)!important;color:var(--ink);font-family:var(--font-body)}
[data-el="slider-header"]{border-bottom:1px solid var(--border)!important;padding:22px 26px!important}
[data-el="slider-title"]{font-family:var(--font-heading)!important;font-size:28px!important;font-weight:500!important;letter-spacing:-.01em!important;text-transform:none!important;color:var(--ink)!important}
[data-el="slider-count"]{font-family:var(--font-body)!important;font-size:11px!important;font-weight:700!important;letter-spacing:.2em!important;text-transform:uppercase!important;color:var(--muted)!important}
[data-el="slider-close"]{color:var(--ink)!important;background:none!important}
[data-el="slider-items"]{padding:0 26px!important}
[data-el="slider-item"]{border-bottom:1px solid var(--border)!important;padding:20px 0!important;gap:16px!important}
[data-el="slider-item-image"]{width:72px!important;aspect-ratio:4/5;border-radius:var(--radius-image)!important;background:var(--surface-sand)!important;object-fit:cover!important}
[data-el="slider-item-name"]{font-family:var(--font-heading)!important;font-size:19px!important;font-weight:500!important;line-height:1.2!important;color:var(--ink)!important}
[data-el="slider-item-variant"],[data-el="slider-item-option"],[data-el="slider-item-subscription"]{font-size:12.5px!important;color:var(--ink-soft)!important}
[data-el="slider-item-price"]{font-family:var(--font-heading)!important;font-size:19px!important;font-weight:500!important;color:var(--ink)!important}
[data-el="slider-item-qty"]{border:1px solid var(--border)!important;border-radius:var(--radius-input)!important;height:38px!important;background:var(--surface)!important}
[data-el="slider-qty-btn"]{color:var(--ink-soft)!important;background:none!important;border:0!important;width:34px!important}
[data-el="slider-qty-value"]{font-size:13px!important;font-weight:700!important;color:var(--ink)!important}
[data-el="slider-item-remove"]{font-size:10px!important;font-weight:700!important;letter-spacing:.18em!important;text-transform:uppercase!important;text-decoration:underline!important;text-underline-offset:3px;color:var(--muted)!important}
[data-el="slider-footer"]{border-top:1px solid var(--border)!important;padding:22px 26px!important;background:var(--surface)!important}
[data-el="slider-subtotal-label"]{font-size:11px!important;font-weight:700!important;letter-spacing:.2em!important;text-transform:uppercase!important;color:var(--ink)!important}
[data-el="slider-subtotal-value"]{font-family:var(--font-heading)!important;font-size:28px!important;font-weight:500!important;color:var(--ink)!important}
[data-el="slider-shipping-note"]{font-size:12px!important;color:var(--muted)!important}
[data-el="slider-checkout-btn"]{background:var(--accent)!important;color:var(--surface)!important;border:1px solid var(--accent)!important;border-radius:var(--radius-button)!important;font-size:12px!important;font-weight:700!important;letter-spacing:.18em!important;text-transform:uppercase!important}
[data-el="slider-checkout-btn"]:hover{background:var(--accent-deep)!important;border-color:var(--accent-deep)!important}
[data-el="slider-view-cart-btn"]{background:transparent!important;color:var(--ink)!important;border:1px solid var(--ink)!important;border-radius:var(--radius-button)!important;font-size:12px!important;font-weight:700!important;letter-spacing:.18em!important;text-transform:uppercase!important}
[data-el="slider-view-cart-btn"]:hover{background:var(--ink)!important;color:var(--bg)!important}
[data-el="slider-empty"]{color:var(--ink-soft)!important;font-family:var(--font-heading)!important;font-size:22px!important}

/* ── CORE ACCOUNT / AUTH / CMS PAGES (Livewire, Tailwind utilities) in the
   design's language: pill fields and buttons, the display face on titles.
   Scoped to the core page roots so theme sections are untouched. ── */
#main-content :is(input,select,textarea).rounded-lg,#main-content :is(input,select,textarea).rounded-md,#main-content :is(input,select,textarea).rounded{border-radius:var(--radius-input)!important}
#main-content textarea.rounded-lg,#main-content textarea.rounded-md{border-radius:var(--radius-image)!important}
#main-content .btn-primary{font-size:12px!important;font-weight:700!important;letter-spacing:.18em;text-transform:uppercase;border-radius:var(--radius-button)!important;background:var(--accent)!important;border-color:var(--accent)!important;color:var(--surface)!important;padding:16px 30px!important}
#main-content label.block.font-medium{font-size:11px!important;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--ink)!important}
#main-content :is(h1,h2,h3).font-semibold,#main-content :is(h1,h2,h3).font-bold,#main-content :is(h1,h2,h3).text-lg,#main-content :is(h1,h2,h3).text-xl,#main-content :is(h1,h2,h3).text-2xl{font-family:var(--font-heading)!important;font-weight:500!important;letter-spacing:-.012em}
#main-content nav{font-family:var(--font-body)}
#main-content nav.space-y-1 :is(a,button){font-size:12px!important;font-weight:700!important;letter-spacing:.14em;text-transform:uppercase;border-radius:var(--radius-button)!important}
#main-content .btn-primary,#main-content button,#main-content a.inline-flex{font-family:var(--font-body)!important}

/* the dark help card on Contact: the design's .on-dark link colours */
.aside-card.is-dark .tlink{color:var(--on-dark)}
.aside-card.is-dark .tlink:hover{color:var(--accent-soft)}

/* grid columns may shrink below their content (the thumb row scrolls inside its own box) */
.pdp>*,.clayout>*,.cart__grid>*,.formsplit>*{min-width:0}
/* the mobile search row: the pill fills the row */
#site-header #block-hdr-mob-search,#site-header #block-hdr-mob-search form{width:100%}
#site-header #block-hdr-mob-search [data-sub-element="search-form"]{width:100%;height:46px;padding:0 18px}
