/*! Chloris theme styles. Generated from src/*.css by build_css.py; see the README for how to override with a child theme. */
:root{
  --navy:#1f3e51;--deep:#0b1a26;--stage:#12293a;--sky:#63a5d1;--skyt:#28698f;--skyl:#a9d0ec;--tint:#eaf3fa;--soft:#f6f7f9;
  --ink:#111111;--text:#333333;--muted:#6b6b6b;--rule:#ebebeb;--border:#e2e2e2;--ctl:#8f8f8f;--nightmuted:#c4d4df;
  --sale:#c8213a;--salet:#fdecef;--gold:#f7c02a;--ok:#177245;--okt:#e6f4ec;--blush:#f6cfcf;--white:#fff;
  --r-xs:3px;--r-sm:6px;--r-md:8px;--r-lg:14px;--r-pill:999px;
  --sh-1:0 1px 2px rgba(31,62,81,.08),0 2px 8px rgba(31,62,81,.06);--sh-2:0 8px 28px rgba(31,62,81,.14);--sh-3:0 24px 60px rgba(11,26,38,.32);
  --ease:cubic-bezier(.2,.8,.2,1);--spring:cubic-bezier(.3,1.5,.5,1);
  --gut:24px;
  color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--text);font-family:Roboto,system-ui,-apple-system,Segoe UI,Arial,sans-serif;font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:hidden}
button,input,select,textarea{font:inherit;color:inherit}
a{color:inherit;text-decoration:none}
img,svg{max-width:100%}
h1,h2,h3,h4,p{margin:0}
h1,h2,h3{color:var(--ink);text-wrap:balance}
:focus-visible{outline:2px solid var(--skyt);outline-offset:2px;border-radius:2px}
.dark :focus-visible{outline-color:var(--skyl)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:12px;top:-60px;background:var(--navy);color:#fff;padding:10px 16px;border-radius:var(--r-sm);z-index:200;transition:top .2s}
.skip:focus{top:8px}
.wrap{max-width:1280px;margin:0 auto;padding-inline:var(--gut)}
.ic{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.ic.fill{fill:currentColor;stroke:none}

/* ===== announcement + header ===== */
.ann{background:var(--navy);color:#fff;font-size:13px;letter-spacing:.02em}
.ann .wrap{display:flex;justify-content:center;gap:28px;padding-block:9px;text-align:center}
.ann span+span{color:var(--nightmuted)}
.ann b{font-weight:500;color:var(--skyl)}
.hdr{position:sticky;top:env(safe-area-inset-top,0px);z-index:60;background:#fff;border-bottom:1px solid var(--rule);transition:box-shadow .25s}
.hdr.stuck{box-shadow:0 6px 24px rgba(31,62,81,.1)}
.hdr-top{display:grid;grid-template-columns:auto minmax(280px,1fr) auto;align-items:center;gap:32px;padding-block:14px}
.brand{display:flex;align-items:center;gap:12px;color:var(--navy)}
.brand img{height:46px;width:auto;display:block;transition:transform .5s var(--spring)}
.brand:hover img{transform:rotate(-8deg) scale(1.06)}
.brand-name{font-size:28px;font-weight:500;letter-spacing:-.01em;line-height:1;white-space:nowrap;color:var(--navy)}
.search{position:relative}
.search-box{display:flex;align-items:center;height:52px;border:1px solid var(--ctl);border-radius:var(--r-pill);background:#fff;padding-left:6px;transition:border-color .2s,box-shadow .2s}
.search-box:focus-within{border-color:var(--skyt);box-shadow:0 0 0 3px rgba(99,165,209,.28)}
.search-box select{border:0;background:transparent;height:40px;padding:0 10px 0 16px;font-size:14px;border-right:1px solid var(--border);max-width:150px;color:var(--text);cursor:pointer;outline:none}
.search-box input{flex:1;min-width:0;border:0;outline:0;background:transparent;height:100%;padding:0 14px;font-size:16px}
.search-go{width:44px;height:44px;border-radius:50%;border:0;background:var(--navy);color:#fff;display:grid;place-items:center;margin-right:4px;cursor:pointer;transition:background .2s,transform .2s}
.search-go:hover{background:var(--skyt);transform:scale(1.05)}
.sdrop{position:absolute;left:0;right:0;top:calc(100% + 8px);background:#fff;border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--sh-2);padding:8px;z-index:70;max-height:70vh;overflow:auto;animation:dropin .18s var(--ease)}
.sdrop h4{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:500;padding:8px 10px 4px}
.sitem{display:flex;align-items:center;gap:12px;padding:8px 10px;border-radius:var(--r-md);cursor:pointer}
.sitem[aria-selected=true],.sitem:hover{background:var(--tint)}
.sitem .th{width:48px;height:48px;border-radius:var(--r-sm);flex:none;overflow:hidden}
.sitem .th svg{width:100%;height:100%}
.sitem b{display:block;font-weight:500;color:var(--ink);font-size:15px;line-height:1.25}
.sitem small{color:var(--muted);font-size:13px}
.sitem mark{background:none;color:var(--skyt);font-weight:700}
.sempty{padding:18px;text-align:center;color:var(--muted)}
.hacts{display:flex;align-items:center;gap:6px}
.hbtn{position:relative;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;color:var(--navy);background:transparent;border:0;cursor:pointer;transition:background .2s,transform .25s var(--spring)}
.hbtn:hover{background:var(--tint);transform:translateY(-2px)}
.hbtn .cnt{position:absolute;top:2px;right:0;min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:var(--sky);color:var(--ink);font-size:12px;font-weight:700;display:grid;place-items:center;line-height:1}
.hbtn .cnt[hidden]{display:none}
.cnt.pop{animation:cntpop .5s var(--spring)}
.hbtn.bump{animation:bump .5s var(--spring)}
.nav{display:flex;gap:34px;padding-bottom:0}
.nav a{position:relative;padding:12px 0 14px;font-size:15px;font-weight:500;letter-spacing:.09em;text-transform:uppercase;color:var(--navy);white-space:nowrap}
.nav a::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;background:var(--skyt);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}
.nav a:hover::after,.nav a[aria-current=page]::after{transform:scaleX(1)}
.nav a.sale{color:var(--sale)}
.nav .live{display:inline-block;margin-left:6px;font-size:10px;letter-spacing:.06em;background:var(--gold);color:var(--ink);border-radius:var(--r-pill);padding:2px 7px;vertical-align:2px}
.hdr-menu{display:none}
.tabbar{display:none}
.progress{position:fixed;left:0;top:0;height:3px;width:100%;z-index:120;background:linear-gradient(90deg,var(--sky),var(--gold));transform:scaleX(0);transform-origin:left;pointer-events:none;opacity:0}
.progress.run{opacity:1;animation:prog .7s var(--ease) forwards}

/* ===== buttons ===== */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:52px;padding:0 28px;border-radius:var(--r-pill);border:2px solid transparent;font-weight:500;font-size:15px;letter-spacing:.09em;text-transform:uppercase;cursor:pointer;white-space:nowrap;transition:transform .25s var(--spring),background .2s,color .2s,box-shadow .25s,border-color .2s;user-select:none}
.btn:active{transform:scale(.96)}
.btn-primary{background:var(--navy);color:#fff}
.btn-primary:hover{background:var(--deep);box-shadow:0 10px 24px rgba(31,62,81,.3);transform:translateY(-2px)}
.btn-sky{background:var(--sky);color:var(--ink)}
.btn-sky:hover{background:var(--skyl);box-shadow:0 10px 24px rgba(99,165,209,.4);transform:translateY(-2px)}
.btn-ghost{background:transparent;color:var(--navy);border-color:var(--navy)}
.btn-ghost:hover{background:var(--navy);color:#fff;transform:translateY(-2px)}
.btn-light{background:#fff;color:var(--navy)}
.btn-light:hover{background:var(--tint);transform:translateY(-2px)}
.btn-outl{background:transparent;color:#fff;border-color:rgba(255,255,255,.55)}
.btn-outl:hover{background:#fff;color:var(--navy);transform:translateY(-2px)}
.btn-sm{height:44px;padding:0 20px;font-size:13px}
.btn-block{width:100%}
.btn[disabled]{opacity:.5;cursor:not-allowed;transform:none}
.btn.added{background:var(--ok);color:#fff}
.link{color:var(--skyt);font-weight:500;letter-spacing:.06em;text-transform:uppercase;font-size:14px;display:inline-flex;align-items:center;gap:8px;transition:gap .25s var(--ease)}
.link:hover{gap:14px}
.link .ic{width:18px;height:18px}
.dark .link{color:var(--skyl)}

/* badges */
.bd{display:inline-block;height:24px;line-height:24px;padding:0 10px;border-radius:var(--r-xs);font-size:11px;font-weight:700;letter-spacing:.08em;background:#fff;color:var(--ink);box-shadow:0 1px 0 rgba(0,0,0,.06)}
.bd-new{background:var(--sky);color:var(--ink)}
.bd-best{background:var(--navy);color:#fff}
.bd-bulk{background:#fff;color:var(--skyt)}
.bd-sale{background:var(--sale);color:#fff}
.bd-pop{background:var(--gold);color:var(--ink)}

/* ===== hero ===== */
.hero{position:relative;background:var(--deep);color:#fff;overflow:hidden;isolation:isolate}
.hero-stage{position:absolute;inset:0;z-index:0}
.hero-layer{position:absolute;inset:-2% -1% 0;will-change:transform}
.hero-layer .scene{position:absolute;inset:0}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,26,38,.94) 0%,rgba(11,26,38,.74) 30%,rgba(11,26,38,0) 58%),linear-gradient(0deg,rgba(11,26,38,.7) 0%,rgba(11,26,38,0) 26%);z-index:1;pointer-events:none}
.hero-in{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:space-between;min-height:clamp(590px,50vw,700px);padding-block:56px 26px}
.hero-copy{max-width:560px}
.eyebrow{font-size:13px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--skyl);display:flex;align-items:center;gap:12px}
.eyebrow::before{content:"";width:34px;height:2px;background:var(--gold)}
.hero h1{color:#fff;font-size:clamp(42px,5vw,72px);line-height:1;font-weight:300;letter-spacing:-.03em;margin-top:22px}
.hero h1 b{font-weight:900;color:var(--skyl);display:block}
.hero h1 em{font-style:normal;font-weight:900;color:var(--gold)}
.hero-sub{font-size:19px;line-height:1.55;color:var(--nightmuted);margin-top:22px;max-width:50ch}
.hero-cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}
.hero-cta .studio{margin-top:0}
.dock{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.dock-l{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--nightmuted);min-width:150px}
.dock-l b{display:block;color:#fff;font-size:15px;letter-spacing:.02em;text-transform:none;font-weight:500;margin-top:2px}
.dock-chips{display:flex;gap:10px;flex-wrap:wrap}
.chip{position:relative;width:52px;height:52px;border-radius:50%;border:2px solid rgba(255,255,255,.22);background:rgba(255,255,255,.06);cursor:pointer;display:grid;place-items:center;transition:transform .3s var(--spring),border-color .2s,background .2s;padding:0}
.chip:hover{transform:translateY(-4px) scale(1.08);border-color:rgba(255,255,255,.7)}
.chip[aria-pressed=true]{border-color:var(--gold);background:rgba(247,192,42,.14);transform:translateY(-4px)}
.chip i{position:absolute;width:20px;height:20px;border-radius:50%;box-shadow:0 0 0 2px rgba(11,26,38,.7)}
.chip i:nth-child(1){left:7px;top:8px}.chip i:nth-child(2){right:7px;top:8px}.chip i:nth-child(3){left:50%;bottom:6px;margin-left:-10px}
.hero-hint{position:absolute;right:var(--gut);bottom:26px;z-index:3;font-size:13px;color:var(--nightmuted);display:flex;align-items:center;gap:8px}
.floaters{position:absolute;inset:0;z-index:2;pointer-events:none}
.fl{position:absolute;left:var(--x);top:var(--y);width:calc(var(--s)*1px);pointer-events:auto;cursor:pointer;background:none;border:0;padding:0;animation:drift var(--t) ease-in-out infinite;animation-delay:var(--dl);filter:drop-shadow(0 12px 14px rgba(0,0,0,.35))}
.fl svg{display:block;width:100%;overflow:visible}
.fl:hover{filter:drop-shadow(0 12px 14px rgba(0,0,0,.35)) brightness(1.1)}
.fl.gone{animation:none;opacity:0;transform:scale(.2);transition:opacity .15s,transform .15s;pointer-events:none}
.fl.back{animation:regrow .9s var(--spring) both,drift var(--t) ease-in-out .9s infinite}
.shard{position:fixed;width:8px;height:8px;border-radius:50%;pointer-events:none;z-index:300}

.ticker{background:var(--tint);border-bottom:1px solid var(--rule);overflow:hidden}
.ticker-row{display:flex;width:max-content;animation:marq 46s linear infinite}
.ticker:hover .ticker-row{animation-play-state:paused}
.ticker span{display:inline-flex;align-items:center;gap:18px;padding:14px 18px 14px 0;font-size:13px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;color:var(--navy);white-space:nowrap}
.ticker span::after{content:"";width:10px;height:13px;border-radius:50% 50% 50% 50%/60% 60% 40% 40%;background:var(--sky);display:inline-block;margin-left:0}
.ticker span:nth-child(3n)::after{background:var(--gold)}.ticker span:nth-child(3n+1)::after{background:var(--blush)}

/* ===== sections ===== */
.sec{padding-block:clamp(56px,7vw,96px)}
.sec.soft{background:var(--soft)}
.sec-h{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:36px;flex-wrap:wrap}
.sec-h h2{font-size:clamp(30px,3.6vw,48px);font-weight:300;letter-spacing:-.025em;line-height:1.05;margin-top:12px}
.sec-h h2 b{font-weight:900}
.sec-h .eyebrow{color:var(--skyt)}
.sec-h .eyebrow::before{background:var(--skyt)}
.sec-h p{color:var(--muted);max-width:52ch;margin-top:10px}
.rv-hide{opacity:0;transform:translateY(28px)}
.rv{transition:opacity .8s var(--ease),transform .8s var(--ease);transition-delay:var(--rd,0ms)}

/* categories */
.cats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.cat{position:relative;display:block;min-height:300px;border-radius:var(--r-lg);overflow:hidden;background:var(--bg,var(--tint));padding:28px;isolation:isolate;transition:transform .4s var(--ease),box-shadow .4s}
.cat:hover{transform:translateY(-6px);box-shadow:var(--sh-2)}
.cat h3{font-size:26px;font-weight:700;letter-spacing:-.015em;position:relative;z-index:2}
.cat p{margin-top:8px;color:var(--text);max-width:24ch;font-size:15px;position:relative;z-index:2}
.cat .go{position:absolute;left:28px;bottom:26px;z-index:2;display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500;letter-spacing:.09em;text-transform:uppercase;color:var(--navy)}
.cat .go .ic{transition:transform .3s var(--ease)}
.cat:hover .go .ic{transform:translateX(6px)}
.cat-art{position:absolute;right:-8%;bottom:-6%;width:66%;z-index:1;transition:transform .6s var(--spring)}
.cat:hover .cat-art{transform:translateY(-14px) rotate(-3deg) scale(1.05)}
.cat-art svg{width:100%;display:block}

/* product card */
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px 20px}
.pc{position:relative;display:flex;flex-direction:column;min-width:0}
.pc-media{position:relative;border-radius:var(--r-lg);overflow:hidden}
.pc-img{position:relative;display:block;aspect-ratio:1;overflow:hidden;background:var(--bg,var(--tint))}
.pc-art,.pc-alt{position:absolute;inset:0;transition:transform .7s var(--ease),opacity .45s}
.pc-art svg,.pc-alt svg{width:100%;height:100%;display:block}
.pc-alt{opacity:0}
.pc-alt .scene{position:absolute;inset:0}
.pc:hover .pc-art{transform:scale(1.07)}
.pc.has-alt:hover .pc-art{opacity:0}
.pc.has-alt:hover .pc-alt{opacity:1}
.pc-badges{position:absolute;left:10px;top:10px;display:flex;flex-direction:column;align-items:flex-start;gap:6px;z-index:3}
.pc-wish{position:absolute;right:10px;top:10px;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.92);border:0;display:grid;place-items:center;color:var(--navy);cursor:pointer;z-index:4;transition:transform .3s var(--spring),background .2s}
.pc-wish:hover{transform:scale(1.12)}
.pc-wish[aria-pressed=true]{color:var(--sale);background:#fff}
.pc-wish[aria-pressed=true] .ic{fill:currentColor}
.pc-wish.beat{animation:beat .5s var(--spring)}
.pc-wish .ic{width:20px;height:20px}
.pc-quick{position:absolute;left:10px;right:10px;bottom:10px;height:46px;border-radius:var(--r-pill);border:0;background:var(--navy);color:#fff;font-weight:500;letter-spacing:.09em;text-transform:uppercase;font-size:13px;cursor:pointer;z-index:4;transform:translateY(64px);transition:transform .38s var(--ease),background .2s;display:flex;align-items:center;justify-content:center;gap:8px}
.pc:hover .pc-quick,.pc:focus-within .pc-quick{transform:none}
.pc-quick:hover{background:var(--skyt)}
.pc-body{padding-top:14px;display:flex;flex-direction:column;gap:6px}
.dots{display:flex;gap:6px;align-items:center;min-height:16px}
.dots button{width:16px;height:16px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px var(--border);padding:0;cursor:pointer;background:var(--c);transition:transform .2s var(--spring)}
.dots button:hover{transform:scale(1.3)}
.dots button[aria-pressed=true]{box-shadow:0 0 0 2px var(--navy)}
.dots small{font-size:12px;color:var(--muted)}
.pc h3{font-size:16px;font-weight:500;line-height:1.3;color:var(--ink)}
.pc h3 a:hover{color:var(--skyt)}
.price{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 8px;color:var(--ink);font-weight:700;font-size:17px}
.price s{font-weight:400;color:var(--muted);font-size:14px}
.price .from{font-weight:400;color:var(--muted);font-size:13px}
.price .sv{font-size:12px;font-weight:700;color:var(--sale);background:var(--salet);padding:2px 7px;border-radius:var(--r-xs)}
.unit{font-size:13px;color:var(--muted)}
.unit b{color:var(--skyt);font-weight:500}

/* carousel */
.rail{position:relative}
.rail-track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 60px)/4);gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:12px;scrollbar-width:none;overscroll-behavior-x:contain}
.rail-track::-webkit-scrollbar{display:none}
.rail-track>*{scroll-snap-align:start}
.rail-ctl{display:flex;gap:10px}
.rail-btn{width:48px;height:48px;border-radius:50%;border:1.5px solid var(--navy);background:#fff;color:var(--navy);display:grid;place-items:center;cursor:pointer;transition:background .2s,color .2s,transform .25s var(--spring)}
.rail-btn:hover{background:var(--navy);color:#fff;transform:scale(1.08)}
.rail-btn:disabled{opacity:.35;transform:none;cursor:default;background:#fff;color:var(--navy)}

/* color shop */
.colors{display:grid;grid-template-columns:repeat(7,1fr);gap:16px 10px}
.colr{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;font-size:14px;font-weight:500;color:var(--ink)}
.colr svg{width:100%;max-width:120px;aspect-ratio:100/130;transition:transform .5s var(--spring)}
.colr:hover svg{transform:translateY(-12px) rotate(-5deg) scale(1.06)}
.colr small{display:block;font-weight:400;color:var(--muted);font-size:12px;margin-top:-4px}
.finish-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:32px}
.pill{display:inline-flex;align-items:center;height:40px;padding:0 18px;border-radius:var(--r-pill);border:1.5px solid var(--border);background:#fff;font-size:14px;font-weight:500;color:var(--navy);cursor:pointer;transition:border-color .2s,background .2s,transform .25s var(--spring)}
.pill:hover{border-color:var(--navy);transform:translateY(-2px)}
.pill[aria-pressed=true]{background:var(--navy);border-color:var(--navy);color:#fff}

/* looks */
.looks{display:grid;grid-template-columns:repeat(12,1fr);gap:20px}
.look{position:relative;border-radius:var(--r-lg);overflow:hidden;background:var(--deep);display:flex;flex-direction:column;isolation:isolate;color:#fff;transition:transform .4s var(--ease),box-shadow .4s}
.look:hover{transform:translateY(-4px);box-shadow:var(--sh-2)}
.look:nth-child(1){grid-column:span 7}.look:nth-child(2){grid-column:span 5}.look:nth-child(3){grid-column:span 5}.look:nth-child(4){grid-column:span 7}
.look .lsc{position:relative;flex:1;min-height:330px}
.look .lsc .scene{position:absolute;inset:0;transition:transform 1.2s var(--ease)}
.look:hover .lsc .scene{transform:scale(1.04)}
.look-in{position:relative;z-index:2;padding:22px 26px 26px;background:var(--deep);display:flex;flex-wrap:wrap;gap:16px 24px;align-items:flex-end;justify-content:space-between;border-top:1px solid rgba(255,255,255,.08)}
.look h3{color:#fff;font-size:24px;font-weight:700;letter-spacing:-.015em}
.look p{color:var(--nightmuted);font-size:15px;margin-top:6px;max-width:44ch}
.look .who{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);font-weight:500;margin-bottom:8px;display:block}
.look-act{display:flex;gap:10px;flex-wrap:wrap}

/* bulk band */
.band{background:var(--navy);color:#fff;position:relative;overflow:hidden;isolation:isolate}
.band h2{color:#fff}
.band .sec-h .eyebrow,.band .eyebrow{color:var(--skyl)}
.band .eyebrow::before{background:var(--gold)}
.band-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:center}
.band p.lead{color:var(--nightmuted);font-size:18px;max-width:46ch}
.ladder{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;align-items:end;height:250px;margin-top:6px}
.rung{position:relative;display:flex;flex-direction:column;justify-content:flex-end;height:100%;cursor:pointer;background:none;border:0;padding:0;color:#fff;text-align:center}
.rung .bar{height:var(--h);background:linear-gradient(180deg,var(--skyl),var(--sky));border-radius:10px 10px 0 0;transition:height 1s var(--ease),background .25s,transform .3s var(--spring);position:relative;display:grid;place-items:start center;padding-top:10px;color:var(--ink);font-weight:700;font-size:14px;transform-origin:bottom}
.rung:hover .bar{transform:scaleY(1.04)}
.rung[aria-pressed=true] .bar{background:linear-gradient(180deg,#ffe08a,var(--gold))}
.rung .qn{margin-top:10px;font-size:15px;font-weight:700}
.rung .qs{font-size:12px;color:var(--nightmuted)}
.band-out{margin-top:22px;padding:18px 22px;border:1px solid rgba(255,255,255,.18);border-radius:var(--r-lg);display:flex;justify-content:space-between;gap:16px;align-items:center;flex-wrap:wrap;background:rgba(255,255,255,.05)}
.band-out b{font-size:34px;font-weight:300;letter-spacing:-.02em;color:#fff}
.band-out b i{font-style:normal;font-weight:900;color:var(--gold)}
.band-out span{color:var(--nightmuted);font-size:14px}
.band-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.band-bal{position:absolute;right:-60px;top:-40px;width:340px;opacity:.1;z-index:-1;transform:rotate(14deg)}

/* promo */
.promo{display:grid;grid-template-columns:.9fr 1.6fr;gap:24px;align-items:stretch}
.promo-c{background:var(--sale);color:#fff;border-radius:var(--r-lg);padding:36px;display:flex;flex-direction:column;justify-content:space-between;gap:24px;position:relative;overflow:hidden}
.promo-c h2{color:#fff;font-size:clamp(34px,3.8vw,52px);font-weight:300;letter-spacing:-.03em;line-height:1}
.promo-c h2 b{font-weight:900;display:block}
.promo-c p{color:#ffe1e6;max-width:30ch}
.code{display:inline-flex;align-items:center;gap:10px;border:2px dashed rgba(255,255,255,.7);padding:10px 16px;border-radius:var(--r-md);font-weight:700;letter-spacing:.14em;font-size:18px;cursor:pointer;background:transparent;color:#fff;width:fit-content}
.code small{font-weight:400;letter-spacing:.02em;font-size:12px;opacity:.85}
.promo-g{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}

/* collections */
.colls{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.coll{position:relative;aspect-ratio:3/4;border-radius:var(--r-lg);overflow:hidden;background:var(--deep);isolation:isolate;display:flex;align-items:flex-start;color:#fff;transition:transform .4s var(--ease),box-shadow .4s}
.coll:hover{transform:translateY(-6px);box-shadow:var(--sh-2)}
.coll .lsc{position:absolute;inset:0}
.coll .lsc .scene{position:absolute;inset:0;transition:transform 1s var(--ease)}
.coll:hover .lsc .scene{transform:scale(1.08)}
.coll::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,26,38,.86),rgba(11,26,38,0) 50%)}
.coll-in{position:relative;z-index:2;padding:18px}
.coll h3{color:#fff;font-size:20px;font-weight:700;line-height:1.15}
.coll span{display:flex;align-items:center;gap:6px;margin-top:8px;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--skyl)}

/* planner strip */
.feat{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--rule)}
.feat>div{padding:32px 28px 8px 0}
.feat .ic{width:34px;height:34px;color:var(--skyt);stroke-width:1.5;margin-bottom:16px}
.feat h3{font-size:18px;font-weight:700}
.feat p{color:var(--muted);margin-top:8px;font-size:15px}

/* final cta */
.final{position:relative;background:var(--deep);color:#fff;overflow:hidden;isolation:isolate;text-align:left}
.final .fs{position:absolute;inset:0;z-index:-1}
.final .fs .scene{position:absolute;inset:0}
.final::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,26,38,.95),rgba(11,26,38,.55) 55%,rgba(11,26,38,.1));z-index:-1}
.final-in{padding-block:clamp(72px,9vw,128px);max-width:640px}
.final h2{color:#fff;font-size:clamp(38px,5vw,68px);font-weight:300;letter-spacing:-.03em;line-height:1}
.final h2 b{font-weight:900;color:var(--skyl);display:block}
.final p{color:var(--nightmuted);font-size:18px;margin-top:20px;max-width:44ch}
.final .btns{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px}

/* footer */
.foot{background:var(--navy);color:var(--nightmuted);padding-top:64px;font-size:15px}
.foot-g{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px;padding-bottom:48px}
.foot .brand-name{color:#fff;font-size:30px}
.foot p{max-width:34ch;margin-top:14px}
.foot h4{color:#fff;font-size:13px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;margin-bottom:16px}
.foot ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.foot li a{color:var(--nightmuted);transition:color .2s}
.foot li a:hover{color:#fff}
.foot-b{border-top:1px solid rgba(255,255,255,.14);padding-block:22px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:13px}
.news{display:flex;gap:8px;margin-top:20px;max-width:340px}
.news input{flex:1;min-width:0;height:48px;border-radius:var(--r-pill);border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.08);color:#fff;padding:0 18px}
.news input::placeholder{color:var(--nightmuted)}
.news button{height:48px;width:48px;border-radius:50%;background:var(--sky);border:0;cursor:pointer;color:var(--ink);display:grid;place-items:center}

@keyframes dropin{from{opacity:0;transform:translateY(-6px)}}
@keyframes cntpop{0%{transform:scale(1)}40%{transform:scale(1.6)}100%{transform:scale(1)}}
@keyframes bump{0%,100%{transform:none}30%{transform:translateY(-8px) rotate(-10deg)}60%{transform:translateY(0) rotate(6deg)}}
@keyframes prog{0%{transform:scaleX(0)}70%{transform:scaleX(.85)}100%{transform:scaleX(1);opacity:0}}
@keyframes marq{to{transform:translateX(-50%)}}
@keyframes drift{0%,100%{transform:translate(0,0) rotate(-2deg)}50%{transform:translate(8px,-22px) rotate(3deg)}}
@keyframes regrow{from{opacity:0;transform:scale(.1) translateY(60px)}to{opacity:1;transform:none}}
@keyframes beat{0%{transform:scale(1)}40%{transform:scale(1.5)}100%{transform:scale(1)}}
@keyframes inflate{from{transform:scale(0)}to{transform:scale(1)}}
@keyframes breathe{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
.scene .pp{transform-origin:0 60px}
.scene.anim .pp{animation:inflate .85s var(--spring) both;animation-delay:var(--d,0ms)}
.scene .inst{animation:breathe 9s ease-in-out infinite}
.scene.still .inst{animation:none}
.scene{width:100%;height:100%;display:block}
/* ===== page shell / breadcrumbs ===== */
main{display:block;min-height:60vh;outline:0}
#main{animation:pagein .5s var(--ease) backwards}

@keyframes pagein{from{opacity:0}}

.crumbs{display:flex;flex-wrap:wrap;gap:8px;font-size:14px;color:var(--muted);padding-block:22px}
.crumbs a:hover{color:var(--skyt)}
.crumbs span[aria-current]{color:var(--ink)}
.crumbs i{font-style:normal;color:var(--ctl)}
.dark .crumbs{color:rgba(255,255,255,.72)}.dark .crumbs a:hover{color:#fff}.dark .crumbs span[aria-current]{color:#fff}.dark .crumbs i{color:rgba(255,255,255,.4)}
.ph{background:var(--tint);border-bottom:1px solid var(--rule);position:relative;overflow:hidden}
.ph .wrap{position:relative;z-index:2;padding-block:44px 40px}
.ph h1{font-size:clamp(34px,4.4vw,58px);font-weight:300;letter-spacing:-.03em;line-height:1}
.ph h1 b{font-weight:900}
.ph p{margin-top:14px;max-width:56ch;color:var(--text);font-size:17px}
.ph-art{position:absolute;right:4%;bottom:-18%;width:min(340px,34vw);z-index:1;opacity:.95}
.ph-art svg{width:100%;display:block}

/* ===== shop ===== */
.shop{display:grid;grid-template-columns:264px minmax(0,1fr);gap:44px;padding-block:32px 80px;align-items:start}
.filters{position:sticky;top:calc(var(--hh,150px) + 16px);max-height:calc(100vh - var(--hh,150px) - 32px);overflow:auto;padding-right:6px;scrollbar-width:thin}
.fg{border-bottom:1px solid var(--rule);padding-block:18px}
.fg:first-child{padding-top:0}
.fg h3,.fg summary{font-size:13px;letter-spacing:.12em;text-transform:uppercase;font-weight:500;color:var(--ink);cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center}
.fg summary::-webkit-details-marker{display:none}
.fg summary .ic{width:18px;height:18px;transition:transform .25s}
.fg[open] summary .ic{transform:rotate(180deg)}
.fopts{display:grid;gap:4px;margin-top:12px}
.fopt{display:flex;align-items:center;gap:12px;min-height:40px;padding:4px 0;cursor:pointer;font-size:15px}
.fopt input{position:absolute;opacity:0;pointer-events:none}
.fopt .bx{width:20px;height:20px;border-radius:var(--r-xs);border:1.5px solid var(--ctl);display:grid;place-items:center;flex:none;transition:background .15s,border-color .15s}
.fopt .bx .ic{width:14px;height:14px;stroke:#fff;stroke-width:3;opacity:0;transform:scale(.4);transition:.2s var(--spring)}
.fopt input:checked+.bx{background:var(--navy);border-color:var(--navy)}
.fopt input:checked+.bx .ic{opacity:1;transform:none}
.fopt input:focus-visible+.bx{outline:2px solid var(--skyt);outline-offset:2px}
.fopt em{margin-left:auto;font-style:normal;color:var(--muted);font-size:13px}
.swr{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-top:14px}
.sw{position:relative;aspect-ratio:1;border-radius:50%;background:var(--c);border:0;box-shadow:inset 0 0 0 1px rgba(0,0,0,.12);cursor:pointer;padding:0;transition:transform .25s var(--spring)}
.sw:hover{transform:scale(1.15)}
.sw input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.sw[aria-pressed=true],.sw.on{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--navy)}
.sw:has(input:focus-visible){outline:2px solid var(--skyt);outline-offset:4px}
.sw.chrome{background:radial-gradient(circle at 30% 25%,#fff,var(--c) 40%,#000 130%)}
.range{display:flex;gap:10px;align-items:center;margin-top:14px}
.range input{width:100%;min-width:0;height:44px;border:1px solid var(--ctl);border-radius:var(--r-md);padding:0 12px}
.range span{color:var(--muted)}
.toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:22px}
.count{color:var(--muted);font-size:15px}
.count b{color:var(--ink)}
.tools{display:flex;align-items:center;gap:12px}
.sel{height:44px;border:1px solid var(--ctl);border-radius:var(--r-pill);padding:0 40px 0 18px;background:#fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%231f3e51' stroke-width='2' stroke-linecap='round'><path d='M6 9l6 6 6-6'/></svg>") right 14px center no-repeat;appearance:none;-webkit-appearance:none;cursor:pointer;font-size:15px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}
.fchip{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 8px 0 14px;border-radius:var(--r-pill);background:var(--tint);color:var(--navy);font-size:14px;font-weight:500;border:0;cursor:pointer}
.fchip .ic{width:16px;height:16px}
.fchip:hover{background:var(--skyl)}
.clr{background:none;border:0;color:var(--skyt);font-weight:500;cursor:pointer;text-decoration:underline;padding:0 6px;font-size:14px}
.empty{padding:72px 24px;text-align:center;border:1.5px dashed var(--border);border-radius:var(--r-lg)}
.empty h3{font-size:24px;font-weight:500}
.empty p{color:var(--muted);margin:10px auto 22px;max-width:40ch}
.empty svg{width:120px;margin:0 auto 12px;display:block}
.pg-anim>*{animation:cardin .55s var(--ease) both;animation-delay:calc(var(--i,0)*45ms)}
@keyframes cardin{from{opacity:0;transform:translateY(22px) scale(.97)}}
.mbar{display:none}
.scrim{position:fixed;inset:0;background:rgba(11,26,38,.55);z-index:100;opacity:0;pointer-events:none;transition:opacity .3s}
.scrim.on{opacity:1;pointer-events:auto}
.sheet-h{display:none}

/* ===== PDP ===== */
.pdp{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:56px;padding-block:6px 56px;align-items:start}
.gal{display:grid;grid-template-columns:84px minmax(0,1fr);gap:14px;position:sticky;top:calc(var(--hh,150px) + 12px)}
.thumbs{display:flex;flex-direction:column;gap:10px}
.thumbs button{aspect-ratio:1;border-radius:var(--r-md);border:2px solid transparent;overflow:hidden;padding:0;cursor:pointer;background:var(--bg,var(--tint));transition:border-color .2s,transform .25s var(--spring)}
.thumbs button:hover{transform:translateY(-2px)}
.thumbs button[aria-current=true]{border-color:var(--navy)}
.thumbs svg{width:100%;height:100%;display:block}
.thumbs .scene{position:static}
.gmain{position:relative;aspect-ratio:1;border-radius:var(--r-lg);overflow:hidden;background:var(--bg,var(--tint));cursor:zoom-in}
.gmain .gi{position:absolute;inset:0;transition:transform .35s var(--ease);transform-origin:var(--ox,50%) var(--oy,50%)}
.gmain:hover .gi{transform:scale(1.9)}
.gmain svg{width:100%;height:100%;display:block}
.gmain .pc-badges{left:14px;top:14px}
.gmain .zoomhint{position:absolute;right:14px;bottom:14px;background:rgba(255,255,255,.9);border-radius:var(--r-pill);padding:6px 12px;font-size:12px;letter-spacing:.04em;color:var(--navy);z-index:3;pointer-events:none}
.gswap{animation:gswap .45s var(--ease)}
@keyframes gswap{from{opacity:.2;transform:scale(.96)}}
.pi h1{font-size:clamp(28px,3vw,40px);font-weight:700;letter-spacing:-.02em;line-height:1.1}
.pi .rate{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:14px;margin-top:10px}
.pi .price{font-size:30px;margin-top:16px}
.pi .price s{font-size:18px}
.pi .short{margin-top:16px;color:var(--text);font-size:17px;max-width:52ch}
.opt{margin-top:24px}
.opt-l{display:flex;justify-content:space-between;font-size:13px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;color:var(--ink);margin-bottom:12px}
.opt-l span{color:var(--muted);letter-spacing:.02em;text-transform:none;font-weight:400;font-size:14px}
.swatches{display:flex;flex-wrap:wrap;gap:12px}
.swt{width:44px;height:44px;border-radius:50%;border:0;background:var(--c);box-shadow:inset 0 0 0 1px rgba(0,0,0,.14);cursor:pointer;padding:0;position:relative;transition:transform .3s var(--spring)}
.swt:hover{transform:scale(1.12)}
.swt[aria-pressed=true]{box-shadow:0 0 0 3px #fff,0 0 0 5px var(--navy)}
.swt.chrome{background:radial-gradient(circle at 30% 25%,#fff,var(--c) 42%,#000 140%)}
.gl{display:flex;flex-wrap:wrap;gap:8px}
.gl button{width:48px;height:48px;border-radius:var(--r-md);border:1.5px solid var(--border);background:#fff;font-weight:700;font-size:18px;cursor:pointer;transition:.2s}
.gl button:hover{border-color:var(--navy)}
.gl button[aria-pressed=true]{background:var(--navy);color:#fff;border-color:var(--navy)}
.packs{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.pack{position:relative;text-align:left;border:1.5px solid var(--border);border-radius:var(--r-md);background:#fff;padding:14px 14px 12px;cursor:pointer;transition:border-color .2s,background .2s,transform .25s var(--spring)}
.pack:hover{border-color:var(--navy);transform:translateY(-2px)}
.pack[aria-pressed=true]{border-color:var(--navy);background:var(--tint);box-shadow:inset 0 0 0 1px var(--navy)}
.pack b{display:block;font-size:22px;font-weight:700;color:var(--ink);line-height:1}
.pack small{display:block;color:var(--muted);font-size:13px;margin-top:6px}
.pack strong{display:block;color:var(--ink);font-weight:500;font-size:15px;margin-top:2px}
.pack .sv{position:absolute;right:8px;top:8px;background:var(--gold);color:var(--ink);font-size:11px;font-weight:700;padding:2px 7px;border-radius:var(--r-xs)}
.buyrow{display:flex;gap:10px;margin-top:28px;align-items:stretch;flex-wrap:wrap}
.qtyb{display:inline-flex;align-items:center;border:1.5px solid var(--ctl);border-radius:var(--r-pill);height:52px;background:#fff}
.qtyb button{width:46px;height:100%;border:0;background:none;cursor:pointer;color:var(--navy);border-radius:var(--r-pill);display:grid;place-items:center}
.qtyb button:hover{background:var(--tint)}
.qtyb input{width:44px;text-align:center;border:0;background:none;font-weight:700;font-size:16px;outline:0;-moz-appearance:textfield}
.qtyb input::-webkit-outer-spin-button,.qtyb input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.qtyb.sm{height:40px}.qtyb.sm button{width:36px}.qtyb.sm input{width:32px;font-size:15px}
.buyrow .btn-primary{flex:1;min-width:180px}
.wishbtn{width:52px;height:52px;border-radius:50%;border:1.5px solid var(--ctl);background:#fff;color:var(--navy);display:grid;place-items:center;cursor:pointer;transition:.25s var(--spring)}
.wishbtn:hover{transform:scale(1.08);border-color:var(--navy)}
.wishbtn[aria-pressed=true]{color:var(--sale);border-color:var(--sale)}
.wishbtn[aria-pressed=true] .ic{fill:currentColor}
.perks{display:grid;gap:10px;margin-top:26px;padding-top:22px;border-top:1px solid var(--rule);font-size:15px}
.perks div{display:flex;gap:12px;align-items:flex-start}
.perks .ic{width:22px;height:22px;color:var(--skyt);margin-top:1px}
.studio-link{display:flex;align-items:center;gap:14px;margin-top:22px;padding:14px 18px;background:var(--tint);border-radius:var(--r-lg);color:var(--navy);transition:transform .3s var(--ease),box-shadow .3s}
.studio-link:hover{transform:translateY(-2px);box-shadow:var(--sh-1)}
.studio-link b{display:block;font-weight:500}
.studio-link small{color:var(--text)}
.tabs{display:flex;gap:28px;border-bottom:1px solid var(--rule);margin-top:32px;overflow-x:auto}
.tabs button{background:none;border:0;padding:16px 0;font-size:15px;font-weight:500;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);cursor:pointer;position:relative;white-space:nowrap}
.tabs button[aria-selected=true]{color:var(--navy)}
.tabs button[aria-selected=true]::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;background:var(--skyt)}
.tabp{padding-block:28px;max-width:78ch}
.tabp h3{font-size:20px;margin-bottom:10px}
.tabp ul{padding-left:20px;display:grid;gap:6px}
.spec{display:grid;grid-template-columns:200px 1fr;gap:0;border-top:1px solid var(--rule)}
.spec dt,.spec dd{margin:0;padding:12px 0;border-bottom:1px solid var(--rule)}
.spec dt{color:var(--muted)}
.note{background:var(--soft);border-radius:var(--r-md);padding:12px 16px;font-size:14px;color:var(--muted);margin-bottom:20px}
.rev{padding:18px 0;border-bottom:1px solid var(--rule)}
.rev b{color:var(--ink)}
.stars{color:var(--gold);letter-spacing:2px}
.fbt{display:flex;align-items:flex-start;gap:14px;flex-wrap:wrap;background:var(--soft);border-radius:var(--r-lg);padding:24px}
.fbt .it{width:110px;text-align:center;font-size:13px;position:relative}
.fbt .it .im{aspect-ratio:1;border-radius:var(--r-md);overflow:hidden;background:var(--bg);margin-bottom:6px;position:relative}
.fbt .it .im svg{width:100%;height:100%}
.fbt .it input{position:absolute;left:6px;top:6px;width:20px;height:20px;accent-color:var(--navy);z-index:2}
.fbt .pl{font-size:24px;color:var(--muted);padding-top:34px}
.fbt .tot{align-self:center;margin-left:auto;text-align:right;display:grid;gap:10px}
.fbt .tot b{font-size:22px;color:var(--ink)}
.stickyatc{display:none}

/* ===== drawer / toast ===== */
.drawer{position:fixed;top:0;right:0;bottom:0;width:440px;max-width:100vw;background:#fff;z-index:110;transform:translateX(102%);transition:transform .45s var(--ease),box-shadow .45s;display:flex;flex-direction:column;box-shadow:none;padding-top:env(safe-area-inset-top,0px)}
.drawer.open{transform:none;box-shadow:var(--sh-3)}
.dr-h{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--rule)}
.dr-h h2{font-size:22px;font-weight:700}
.dr-h h2 span{color:var(--muted);font-weight:400;font-size:16px}
.ship{padding:16px 24px;background:var(--tint);font-size:14px}
.ship .bar{height:8px;background:#fff;border-radius:4px;margin-top:10px;overflow:hidden}
.ship .bar i{display:block;height:100%;background:linear-gradient(90deg,var(--sky),var(--gold));border-radius:4px;transition:width .6s var(--ease);width:0}
.dr-b{flex:1;overflow:auto;padding:8px 24px}
.ln{display:grid;grid-template-columns:76px 1fr auto;gap:14px;padding:16px 0;border-bottom:1px solid var(--rule);align-items:start}
.ln .im{width:76px;height:76px;border-radius:var(--r-md);overflow:hidden;background:var(--bg,var(--tint))}
.ln .im svg{width:100%;height:100%;display:block}
.ln a{font-weight:500;color:var(--ink);line-height:1.3;display:block}
.ln a:hover{color:var(--skyt)}
.ln small{display:block;color:var(--muted);font-size:13px;margin-top:2px}
.ln .ctl{display:flex;align-items:center;gap:12px;margin-top:10px}
.ln .rm{background:none;border:0;color:var(--muted);cursor:pointer;font-size:13px;text-decoration:underline;padding:0}
.ln .rm:hover{color:var(--sale)}
.ln .lp{font-weight:700;color:var(--ink)}
.ln.new{animation:lnin .6s var(--ease)}
@keyframes lnin{from{background:var(--tint);transform:translateX(24px);opacity:.3}}
.dr-f{padding:20px 24px calc(20px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--rule);display:grid;gap:12px;background:#fff}
.row{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.row b{color:var(--ink)}
.row.big{font-size:20px;font-weight:700;color:var(--ink)}
.upsell{padding:16px 0 4px}
.upsell h4{font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;color:var(--muted);margin-bottom:10px}
.up{display:flex;align-items:center;gap:12px;padding:8px 0}
.up .im{width:48px;height:48px;border-radius:var(--r-sm);overflow:hidden;background:var(--bg)}
.up .im svg{width:100%;height:100%}
.up span{flex:1;font-size:14px;line-height:1.3;color:var(--ink)}
.up button{height:36px;padding:0 14px;border-radius:var(--r-pill);border:1.5px solid var(--navy);background:#fff;color:var(--navy);font-weight:500;font-size:12px;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.up button:hover{background:var(--navy);color:#fff}
.x{width:44px;height:44px;border-radius:50%;border:0;background:transparent;cursor:pointer;display:grid;place-items:center;color:var(--navy)}
.x:hover{background:var(--tint)}
.toast{position:fixed;left:50%;bottom:calc(28px + env(safe-area-inset-bottom,0px));transform:translate(-50%,30px);opacity:0;background:var(--deep);color:#fff;padding:14px 22px;border-radius:var(--r-pill);z-index:150;display:flex;align-items:center;gap:12px;box-shadow:var(--sh-3);transition:.4s var(--spring);pointer-events:none;max-width:calc(100vw - 32px);font-size:15px}
.toast.on{opacity:1;transform:translate(-50%,0)}
.toast .ic{width:20px;height:20px;color:var(--gold)}
.fly{position:fixed;z-index:160;pointer-events:none;width:64px;left:0;top:0}
.confetti{position:fixed;inset:0;z-index:200;pointer-events:none;width:100%;height:100%}

/* ===== cart page ===== */
.cartg{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:48px;align-items:start;padding-bottom:80px}
.cartg h1,.co h1,.pt h1{font-size:clamp(30px,3.6vw,46px);font-weight:300;letter-spacing:-.025em;line-height:1.05}
.cartg h1 b,.co h1 b,.pt h1 b{font-weight:900}
.cl{margin-top:24px;border-top:1px solid var(--rule)}
.cli{display:grid;grid-template-columns:120px 1fr auto;gap:20px;padding:22px 0;border-bottom:1px solid var(--rule);align-items:center}
.cli .im{width:120px;height:120px;border-radius:var(--r-md);overflow:hidden;background:var(--bg)}
.cli .im svg{width:100%;height:100%;display:block}
.cli h3{font-size:18px;font-weight:500}
.cli .opts{color:var(--muted);font-size:14px;margin-top:4px}
.cli .rt{text-align:right;display:grid;gap:12px;justify-items:end}
.cli .rt b{font-size:18px;color:var(--ink)}
.card{background:#fff;border:1px solid var(--border);border-radius:var(--r-lg);padding:26px}
.card.soft{background:var(--soft);border-color:transparent}
.sumc{position:sticky;top:calc(var(--hh,150px) + 16px);display:grid;gap:14px}
.sumc h2{font-size:20px;font-weight:700}
.sumc .row{font-size:16px}
.coupon{display:flex;gap:8px}
.coupon input{flex:1;min-width:0;height:48px;border:1px solid var(--ctl);border-radius:var(--r-pill);padding:0 18px}
.disc{color:var(--ok)}
.hr{height:1px;background:var(--rule);margin-block:4px}
.fine{font-size:13px;color:var(--muted)}

/* ===== forms / checkout ===== */
.co{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:48px;align-items:start;padding-bottom:88px}
.steps{display:flex;gap:10px;align-items:center;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:22px;flex-wrap:wrap}
.steps b{color:var(--navy);font-weight:500}
.steps i{width:28px;height:1px;background:var(--border)}
.fs2{margin-top:32px}
.fs2 h2{font-size:20px;font-weight:700;margin-bottom:16px;display:flex;align-items:center;gap:10px}
.fgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.fgrid .full{grid-column:1/-1}
.f{display:grid;gap:6px;align-content:start}
.f label{font-size:14px;font-weight:500;color:var(--ink)}
.f input,.f select,.f textarea{height:52px;border:1px solid var(--ctl);border-radius:var(--r-md);padding:0 16px;background:#fff;font-size:16px;width:100%;transition:border-color .2s,box-shadow .2s}
.f textarea{height:auto;min-height:130px;padding:14px 16px;resize:vertical}
.f input:focus,.f select:focus,.f textarea:focus{outline:0;border-color:var(--skyt);box-shadow:0 0 0 3px rgba(99,165,209,.28)}
.f .err{display:none;color:var(--sale);font-size:13px}
.f.bad input,.f.bad select,.f.bad textarea{border-color:var(--sale);background:var(--salet)}
.f.bad .err{display:block}
.radios{display:grid;gap:10px}
.rad{display:flex;align-items:center;gap:14px;border:1.5px solid var(--border);border-radius:var(--r-md);padding:16px 18px;cursor:pointer;transition:border-color .2s,background .2s}
.rad:hover{border-color:var(--navy)}
.rad input{accent-color:var(--navy);width:20px;height:20px}
.rad:has(input:checked){border-color:var(--navy);background:var(--tint)}
.rad div{flex:1}.rad small{display:block;color:var(--muted)}
.rad b{color:var(--ink)}
.demo{background:var(--tint);border-radius:var(--r-md);padding:12px 16px;font-size:14px;color:var(--navy);display:flex;gap:10px;align-items:flex-start;margin-bottom:16px}
.demo .ic{width:20px;height:20px;margin-top:1px}
.mini{display:grid;grid-template-columns:56px 1fr auto;gap:12px;align-items:center;font-size:14px}
.mini .im{width:56px;height:56px;border-radius:var(--r-sm);overflow:hidden;background:var(--bg);position:relative}
.mini .im svg{width:100%;height:100%}
.mini .im i{position:absolute;right:-2px;top:-2px;min-width:20px;height:20px;border-radius:10px;background:var(--navy);color:#fff;font-size:11px;font-style:normal;display:grid;place-items:center;font-weight:700}
.mini small{display:block;color:var(--muted)}
.thanks{text-align:center;padding-block:56px 96px;max-width:720px;margin:0 auto}
.thanks .stampw{width:180px;margin:0 auto 12px}
.thanks h1{font-size:clamp(36px,5vw,60px);font-weight:300;letter-spacing:-.03em;line-height:1}
.thanks h1 b{font-weight:900;color:var(--skyt)}
.thanks p{color:var(--text);font-size:18px;margin-top:14px}
.ordbox{margin:32px 0;text-align:left}

/* ===== account / contact ===== */
.pt{padding-block:12px 32px}
.acct{display:grid;grid-template-columns:250px minmax(0,1fr);gap:40px;padding-bottom:88px;align-items:start}
.anav{display:grid;gap:4px;position:sticky;top:calc(var(--hh,150px) + 16px)}
.anav button{display:flex;align-items:center;gap:12px;height:48px;padding:0 16px;border-radius:var(--r-md);border:0;background:none;text-align:left;cursor:pointer;font-weight:500;color:var(--navy);transition:background .2s}
.anav button:hover{background:var(--tint)}
.anav button[aria-selected=true]{background:var(--navy);color:#fff}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:28px}
.stat{background:var(--tint);border-radius:var(--r-lg);padding:22px}
.stat b{display:block;font-size:40px;font-weight:300;letter-spacing:-.03em;color:var(--navy);line-height:1}
.stat span{color:var(--text);font-size:14px}
.ord{display:grid;grid-template-columns:1fr auto;gap:8px 20px;padding:20px 0;border-bottom:1px solid var(--rule);align-items:center}
.ord h3{font-size:17px;font-weight:700}
.ord p{color:var(--muted);font-size:14px}
.st{display:inline-block;padding:4px 12px;border-radius:var(--r-pill);font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.st.Delivered{background:var(--okt);color:var(--ok)}
.st.Shipped{background:var(--tint);color:var(--skyt)}
.st.Processing{background:#fff4d1;color:#6b4e00}
.saved{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.svc{border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;background:#fff}
.svc .sm{aspect-ratio:16/9;position:relative;background:var(--deep)}
.svc .sm .scene{position:absolute;inset:0}
.svc .sb{padding:16px 18px;display:flex;justify-content:space-between;align-items:center;gap:12px}
.svc b{color:var(--ink);font-weight:500}
.svc small{display:block;color:var(--muted)}
.contact{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:56px;padding-bottom:88px;align-items:start}
.cchan{display:grid;gap:14px}
.ci{display:flex;gap:16px;align-items:flex-start;padding:20px;border-radius:var(--r-lg);background:var(--soft)}
.ci .ic{color:var(--skyt);width:28px;height:28px}
.ci b{display:block;color:var(--ink)}
.ci span{color:var(--text);font-size:15px}
.faq{margin-top:28px}
.faq details{border-bottom:1px solid var(--rule);padding-block:14px}
.faq summary{cursor:pointer;font-weight:500;color:var(--ink);list-style:none;display:flex;justify-content:space-between;gap:12px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:22px;color:var(--skyt);line-height:1;transition:transform .25s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq p{margin-top:10px;color:var(--text)}

/* ===== bulk hub ===== */
.bulkh{background:var(--navy);color:#fff;position:relative;overflow:hidden}
.bulkh .wrap{padding-block:64px 56px}
.bulkh h1{color:#fff;font-size:clamp(38px,5vw,68px);font-weight:300;letter-spacing:-.03em;line-height:1}
.bulkh h1 b{font-weight:900;color:var(--skyl);display:block}
.bulkh p{color:var(--nightmuted);font-size:18px;margin-top:18px;max-width:52ch}
.tiers{width:100%;border-collapse:collapse;margin-top:8px}
.tiers th,.tiers td{padding:14px 12px;text-align:left;border-bottom:1px solid var(--rule)}
.tiers th{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:500}
.tiers td b{color:var(--ink)}
.tiers .save{color:var(--ok);font-weight:700}
.tierwrap{overflow-x:auto}
.bulk2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;align-items:start}
.calc h2,.quote h2{font-size:24px;font-weight:700;margin-bottom:6px}
.calc>p,.quote>p{color:var(--muted);margin-bottom:18px}
.seg{display:flex;flex-wrap:wrap;gap:8px}
.calc-out{margin-top:22px;background:var(--navy);color:#fff;border-radius:var(--r-lg);padding:24px}
.calc-out b{display:block;font-size:52px;font-weight:300;letter-spacing:-.03em;line-height:1;color:#fff}
.calc-out b i{font-style:normal;font-weight:900;color:var(--gold)}
.calc-out span{color:var(--nightmuted);font-size:14px}
.rng{width:100%;accent-color:var(--navy);height:32px}
.rngv{display:flex;justify-content:space-between;font-size:14px;color:var(--muted)}
.rngv b{color:var(--ink)}

/* ===== studio ===== */
.studio{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:28px;align-items:start;padding-bottom:88px}
.stage{position:relative;aspect-ratio:16/9;border-radius:var(--r-lg);overflow:hidden;background:var(--deep);box-shadow:var(--sh-2);isolation:isolate}
.stage .scene{position:absolute;inset:0}
.stage-tag{position:absolute;left:16px;top:16px;z-index:3;background:rgba(11,26,38,.72);backdrop-filter:blur(8px);color:#fff;border-radius:var(--r-pill);padding:8px 16px;font-size:13px;letter-spacing:.06em;display:flex;gap:10px;align-items:center}
.stage-tag i{width:8px;height:8px;border-radius:50%;background:var(--gold);display:inline-block}
.stage-est{position:absolute;right:16px;top:16px;z-index:3;background:rgba(255,255,255,.94);border-radius:var(--r-lg);padding:12px 18px;text-align:right;box-shadow:var(--sh-1)}
.stage-est b{display:block;font-size:34px;font-weight:300;letter-spacing:-.03em;color:var(--navy);line-height:1}
.stage-est b i{font-style:normal;font-weight:900}
.stage-est span{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.rule{background:var(--tint);border-radius:var(--r-lg);padding:20px 22px}
.rule h3{font-size:14px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;color:var(--navy)}
.rule p{font-size:15px;margin-top:8px;color:var(--text)}
.mixbar{display:flex;height:34px;border-radius:var(--r-pill);overflow:hidden;margin-top:14px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}
.mixbar i{display:block;height:100%;transition:flex .5s var(--ease);position:relative;font-style:normal;font-size:11px;font-weight:700;display:grid;place-items:center;color:rgba(0,0,0,.7)}
.mixbar i.dk{color:rgba(255,255,255,.9)}
.slft{display:grid;gap:14px;align-content:start}
@media (min-height:800px) and (min-width:961px){.slft{position:sticky;top:calc(var(--hh,150px) + 12px)}}
.stools{display:flex;gap:8px;flex-wrap:wrap}
.stools button{height:42px;padding:0 18px;border-radius:var(--r-pill);border:1.5px solid var(--border);background:#fff;color:var(--navy);font-weight:500;font-size:13px;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;display:flex;align-items:center;gap:8px;transition:transform .25s var(--spring),border-color .2s}
.stools button:hover{transform:translateY(-2px);border-color:var(--navy)}
.stools .ic{width:18px;height:18px}
.card.bill{padding:20px 22px;background:var(--soft);border-color:transparent}
.bill-h{display:flex;justify-content:space-between;align-items:baseline}
.bill-h h3{font-size:13px;letter-spacing:.12em;text-transform:uppercase;font-weight:500;color:var(--ink)}
.bill-h span{color:var(--muted);font-size:14px}
.bill-g{display:grid;grid-template-columns:repeat(2,1fr);gap:2px 24px;margin-top:8px}
.bill-f{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:12px;flex-wrap:wrap}
.bill-f b{display:block;font-size:28px;color:var(--ink);font-weight:700;font-variant-numeric:tabular-nums;line-height:1.1}
.bill .fine{margin-top:10px}
.panel{display:grid;gap:0;border:1px solid var(--border);border-radius:var(--r-lg);background:#fff}
.ps{padding:20px 22px;border-bottom:1px solid var(--rule)}
.ps h3{font-size:13px;letter-spacing:.12em;text-transform:uppercase;font-weight:500;color:var(--ink);margin-bottom:12px;display:flex;justify-content:space-between;align-items:center}
.ps h3 span{color:var(--muted);letter-spacing:.02em;text-transform:none;font-weight:400;font-size:13px}
.opt2{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.opt3{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.tile{border:1.5px solid var(--border);border-radius:var(--r-md);background:#fff;padding:12px 10px;cursor:pointer;text-align:left;transition:border-color .2s,background .2s,transform .25s var(--spring)}
.tile:hover{border-color:var(--navy);transform:translateY(-2px)}
.tile[aria-pressed=true]{border-color:var(--navy);background:var(--tint);box-shadow:inset 0 0 0 1px var(--navy)}
.tile b{display:block;font-size:14px;font-weight:500;color:var(--ink);line-height:1.2}
.tile small{display:block;color:var(--muted);font-size:12px;margin-top:2px;line-height:1.3}
.tile .rm{height:44px;border-radius:5px;margin-bottom:8px;position:relative;overflow:hidden}
.pal{display:grid;gap:8px}
.palb{display:flex;align-items:center;gap:12px;border:1.5px solid var(--border);border-radius:var(--r-md);padding:8px 12px 8px 8px;background:#fff;cursor:pointer;text-align:left;transition:border-color .2s,background .2s,transform .25s var(--spring)}
.palb:hover{border-color:var(--navy);transform:translateX(3px)}
.palb[aria-pressed=true]{border-color:var(--navy);background:var(--tint);box-shadow:inset 0 0 0 1px var(--navy)}
.pdots{display:flex;flex:none}
.pdots i{width:26px;height:26px;border-radius:50%;box-shadow:0 0 0 2px #fff,inset 0 0 0 1px rgba(0,0,0,.1);margin-left:-8px}
.pdots i:first-child{margin-left:0}
.palb b{display:block;font-weight:500;color:var(--ink);font-size:15px;line-height:1.2}
.palb small{color:var(--muted);font-size:12px}
.tgl{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.dot{width:32px;height:32px;border-radius:50%;background:var(--c);border:0;cursor:pointer;box-shadow:inset 0 0 0 1px rgba(0,0,0,.14);padding:0;transition:transform .25s var(--spring);position:relative}
.dot:hover{transform:scale(1.15)}
.dot[aria-pressed=true]{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--navy)}
.bl{display:grid;grid-template-columns:20px 1fr auto;gap:10px;align-items:center;font-size:14px;padding:7px 0}
.bl i{width:20px;height:20px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(0,0,0,.14)}
.bl em{font-style:normal;color:var(--muted);font-size:12px}
.bl b{color:var(--ink);font-variant-numeric:tabular-nums}
.stbar{display:none}
/* ===== mobile chrome + responsive ===== */
.mnav{position:fixed;top:0;left:0;bottom:0;width:min(340px,88vw);background:#fff;z-index:110;transform:translateX(-102%);transition:transform .4s var(--ease),box-shadow .4s;display:flex;flex-direction:column;box-shadow:none;padding-top:env(safe-area-inset-top,0px)}
.mnav.open{transform:none;box-shadow:var(--sh-3)}
.mnav nav{display:grid;padding:8px 8px 24px;overflow:auto}
.mnav nav a{padding:14px 16px;font-weight:500;letter-spacing:.09em;text-transform:uppercase;font-size:15px;color:var(--navy);border-radius:var(--r-md)}
.mnav nav a.sub{padding:8px 16px 8px 32px;text-transform:none;letter-spacing:0;font-weight:400;color:var(--text)}
.mnav nav a:hover{background:var(--tint)}
.sortsheet,.filters .sheet-f{display:none}
.sheet-h b{font-size:18px}
@media (max-width:1180px){
  .grid{grid-template-columns:repeat(3,1fr)}
  .rail-track{grid-auto-columns:calc((100% - 40px)/3)}
  .colors{grid-template-columns:repeat(7,1fr)}
  .promo-g{grid-template-columns:repeat(2,1fr)}.promo-g>*:nth-child(3){display:none}
  .colls{grid-template-columns:repeat(3,1fr)}.colls .coll:nth-child(n+4){display:none}
  .studio{grid-template-columns:minmax(0,1fr) 360px}
  .hdr-top{gap:20px}.brand-name{font-size:24px}
}
@media (max-width:960px){
  :root{--gut:16px}
  .hide-m{display:none!important}
  .ann .wrap{gap:12px}
  .hdr-top{grid-template-columns:auto 1fr auto;grid-template-areas:"menu brand acts" "search search search";gap:6px 4px;padding-block:8px 10px}
  .hdr-menu{display:grid;grid-area:menu}
  .brand{grid-area:brand;justify-self:start;gap:8px}.brand img{height:34px}.brand-name{font-size:20px}
  .hacts{grid-area:acts}.search{grid-area:search}
  .search-box{height:46px}.search-box select{display:none}
  .search-go{width:38px;height:38px}
  .nav{display:none}
  .hbtn{width:44px;height:44px}
  body{padding-bottom:calc(64px + env(safe-area-inset-bottom,0px))}
  .tabbar{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:0;right:0;bottom:0;z-index:90;background:#fff;border-top:1px solid var(--rule);padding-bottom:env(safe-area-inset-bottom,0px);box-shadow:0 -6px 20px rgba(31,62,81,.08)}
  .tabbar a,.tabbar button{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;height:60px;color:var(--muted);font-size:11px;letter-spacing:.04em;background:none;border:0;cursor:pointer}
  .tabbar .ic{width:24px;height:24px}
  .tabbar [aria-current]{color:var(--navy);font-weight:700}
  .tabbar .cnt{position:absolute;top:6px;left:calc(50% + 6px);min-width:18px;height:18px;padding:0 4px;border-radius:9px;background:var(--sky);color:var(--ink);font-style:normal;font-size:11px;font-weight:700;display:grid;place-items:center}
  .tabbar .cnt[hidden]{display:none}
  .hero-in{min-height:640px;padding-block:32px 22px}
  .hero::after{background:linear-gradient(180deg,rgba(11,26,38,.94) 0%,rgba(11,26,38,.72) 42%,rgba(11,26,38,0) 66%),linear-gradient(0deg,rgba(11,26,38,.75) 0%,rgba(11,26,38,0) 24%)}
  .hero h1{font-size:clamp(38px,11vw,56px)}
  .hero-sub{font-size:17px;margin-top:16px}
  .hero-cta{margin-top:22px}.hero-cta .btn{height:48px;padding:0 20px}
  .dock{gap:10px}.dock-l{min-width:0;width:100%}
  .dock-chips{gap:8px}.chip{width:46px;height:46px}.chip i{width:17px;height:17px}.chip i:nth-child(1){left:6px;top:7px}.chip i:nth-child(2){right:6px;top:7px}.chip i:nth-child(3){margin-left:-8.5px;bottom:5px}
  .fl:nth-child(n+5){display:none}
  .cats{grid-template-columns:repeat(2,1fr);gap:12px}.cat{min-height:230px;padding:18px}.cat h3{font-size:19px}.cat p{font-size:13px}.cat .go{left:18px;bottom:16px;font-size:12px}
  .grid{grid-template-columns:repeat(2,1fr);gap:22px 12px}
  .rail-track{grid-auto-columns:64%;gap:12px}
  .rail-ctl{display:none}
  .colors{grid-template-columns:repeat(4,1fr)}
  .looks{grid-template-columns:1fr}.look:nth-child(n){grid-column:auto;min-height:400px}
  .band-grid{grid-template-columns:1fr;gap:32px}
  .ladder{height:200px}
  .promo{grid-template-columns:1fr}.promo-g{grid-template-columns:repeat(2,1fr)}.promo-g>*:nth-child(3){display:block}
  .colls{grid-template-columns:repeat(2,1fr)}.colls .coll:nth-child(n+4){display:flex}.colls .coll:nth-child(5){grid-column:span 2;aspect-ratio:16/9}
  .feat{grid-template-columns:repeat(2,1fr)}.feat>div{padding-right:14px}
  .foot-g{grid-template-columns:1fr 1fr;gap:28px}.foot-g>div:first-child{grid-column:1/-1}
  /* shop */
  .shop{grid-template-columns:1fr;padding-block:16px 96px}
  .ph .wrap{padding-block:26px 24px}.ph-art{display:none}
  .filters{position:fixed;left:0;right:0;bottom:0;top:auto;max-height:88vh;z-index:105;background:#fff;border-radius:20px 20px 0 0;padding:0 20px;transform:translateY(105%);transition:transform .4s var(--ease),box-shadow .4s;box-shadow:none;display:flex;flex-direction:column;overflow:hidden}
  .filters.open{transform:none;box-shadow:var(--sh-3)}
  #ffilters{display:flex;flex-direction:column;flex:1;min-height:0}
  #fbody{overflow:auto;flex:1;min-height:0;padding-block:4px}
  .filters .sheet-h,.sortsheet .sheet-h{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--rule)}
  .filters .sheet-f{display:block;padding:14px 0 calc(14px + env(safe-area-inset-bottom,0px))}
  .fg:first-child{padding-top:18px}
  .mbar{display:grid;grid-template-columns:1fr 1fr;position:fixed;left:12px;right:12px;bottom:calc(72px + env(safe-area-inset-bottom,0px));z-index:80;background:var(--navy);border-radius:var(--r-pill);box-shadow:var(--sh-2);overflow:hidden}
  .mbar button{height:50px;background:none;border:0;color:#fff;font-weight:500;letter-spacing:.09em;text-transform:uppercase;font-size:14px;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer}
  .mbar button+button{border-left:1px solid rgba(255,255,255,.25)}
  .sortsheet{display:block;position:fixed;left:0;right:0;bottom:0;z-index:105;background:#fff;border-radius:20px 20px 0 0;padding:0 20px calc(16px + env(safe-area-inset-bottom,0px));transform:translateY(105%);transition:transform .4s var(--ease),box-shadow .4s;box-shadow:none}
  .sortsheet.open{transform:none;box-shadow:var(--sh-3)}
  .sortsheet button[data-sortv]{display:flex;justify-content:space-between;align-items:center;width:100%;height:54px;background:none;border:0;border-bottom:1px solid var(--rule);font-size:16px;text-align:left;cursor:pointer}
  .sortsheet button[data-sortv] .ic{opacity:0;color:var(--skyt)}.sortsheet button[aria-pressed=true] .ic{opacity:1}.sortsheet button[aria-pressed=true]{font-weight:700;color:var(--navy)}
  .toolbar{margin-bottom:14px}
  /* pdp */
  .pdp{grid-template-columns:1fr;gap:24px}
  .gal{position:static;grid-template-columns:1fr}
  .gal .thumbs{flex-direction:row;order:2}.gal .thumbs button{width:72px;flex:none}
  .pi h1{font-size:28px}
  .packs{grid-template-columns:repeat(3,1fr);gap:8px}.pack{padding:12px 10px}.pack b{font-size:19px}
  .buyrow .btn-primary{min-width:0}
  .fbt{padding:16px;gap:6px}.fbt .it{width:auto;flex:1 1 0;min-width:0;font-size:12px}.fbt .pl{font-size:18px;flex:none}.fbt .tot{margin-left:0;margin-top:8px;width:100%;text-align:left}
  .stickyatc{display:flex;position:fixed;left:0;right:0;bottom:calc(60px + env(safe-area-inset-bottom,0px));z-index:85;background:#fff;border-top:1px solid var(--rule);padding:10px 16px;align-items:center;justify-content:space-between;gap:12px;box-shadow:0 -6px 20px rgba(31,62,81,.08)}
  .stickyatc b{font-size:18px;color:var(--ink)}
  .spec{grid-template-columns:120px 1fr}
  /* cart / checkout */
  .cartg,.co{grid-template-columns:1fr;gap:28px}
  .sumc{position:static}
  .cli{grid-template-columns:84px 1fr;gap:14px}.cli .im{width:84px;height:84px}.cli .rt{grid-column:1/-1;grid-auto-flow:column;justify-content:space-between;align-items:center}
  .fgrid{grid-template-columns:1fr}
  /* account, contact */
  .acct{grid-template-columns:1fr;gap:20px}.anav{position:static;grid-auto-flow:column;overflow-x:auto;gap:8px}.anav button{flex:none;height:44px}
  .stats{grid-template-columns:repeat(3,1fr);gap:8px}.stat{padding:14px}.stat b{font-size:28px}
  .saved{grid-template-columns:1fr}
  .acct .grid{grid-template-columns:repeat(2,1fr)!important}
  .contact{grid-template-columns:1fr;gap:32px}
  .bulk2{grid-template-columns:1fr}
  /* studio */
  .studio{grid-template-columns:1fr;gap:20px}
  .slft{position:static}
  .stage{aspect-ratio:4/3.4;border-radius:var(--r-md)}
  .stage .scene{}
  .stage-est b{font-size:26px}.stage-est{padding:8px 12px}
  .stage-tag{font-size:11px;padding:6px 12px;max-width:52%}
  .stools button{height:38px;padding:0 12px;font-size:11px}.bill-f .btn{width:100%}.bill-g{grid-template-columns:1fr}
  .stbar{display:flex;position:fixed;left:0;right:0;bottom:calc(60px + env(safe-area-inset-bottom,0px));z-index:85;background:#fff;border-top:1px solid var(--rule);padding:10px 16px;align-items:center;justify-content:space-between;gap:12px;box-shadow:0 -6px 20px rgba(31,62,81,.08)}
  .stbar b{font-size:20px;color:var(--ink)}
  .drawer{width:100vw}
  .toast{bottom:calc(140px + env(safe-area-inset-bottom,0px))}
}
@media (max-width:520px){
  .sec{padding-block:48px}
  .sec-h{margin-bottom:24px}
  .colors{gap:12px 6px}.colr{font-size:12px}
  .tabs{gap:20px}
  .feat{grid-template-columns:1fr}
  .look{min-height:380px}.look-in{padding:20px}.look h3{font-size:22px}
  .band-out b{font-size:28px}
  .hero-hint{display:none}
  .foot-b{flex-direction:column}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-delay:0s!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  .ticker-row{animation:none}
  .rv-hide{opacity:1;transform:none}
}

/* ---- mobile polish pass ---- */
.hdr-sbtn{display:none}
@media (max-width:960px){
  .hdr.compact .search{display:none}
  .hdr.compact .hdr-top{grid-template-areas:"menu brand acts";padding-block:8px}
  .tiers td .fine{display:block;margin-top:2px}.tiers td .fine .sep{display:none}
  .hdr.compact .hdr-sbtn{display:grid}
  .hdr.compact .brand-name{display:none}
  .hero-in{min-height:700px}
  .hero::after{background:linear-gradient(180deg,rgba(11,26,38,.95) 0%,rgba(11,26,38,.86) 44%,rgba(11,26,38,.5) 60%,rgba(11,26,38,0) 76%),linear-gradient(0deg,rgba(11,26,38,.88) 0%,rgba(11,26,38,0) 30%)}
  .floaters{top:56%}
  .coll::after{background:linear-gradient(180deg,rgba(11,26,38,.92) 0%,rgba(11,26,38,.62) 30%,rgba(11,26,38,0) 64%)}
  .final::after{background:linear-gradient(180deg,rgba(11,26,38,.95) 0%,rgba(11,26,38,.86) 62%,rgba(11,26,38,.55) 100%)}
  .colors{display:flex;flex-wrap:wrap;justify-content:center;gap:16px 10px}
  .colors>*{flex:0 0 calc(25% - 8px)}
  /* studio: keep the room in view while tuning */
  .slft{display:contents}
  .stage{position:sticky;top:var(--hh,56px);z-index:20;aspect-ratio:auto;height:min(34vh,300px);border-radius:0 0 var(--r-md) var(--r-md);margin-inline:calc(var(--gut) * -1);box-shadow:0 10px 24px rgba(11,26,38,.22)}
  .stage-tag{left:12px;top:10px;font-size:10px;padding:5px 10px;max-width:58%}
  .stage-est{right:10px;top:10px;padding:6px 12px;border-radius:999px;display:flex;align-items:baseline;gap:6px}
  .stage-est b{font-size:20px;display:inline}
  .stage-est span{font-size:10px;letter-spacing:.06em;text-transform:uppercase}
  .stickyatc{transform:translateY(110%);opacity:0;pointer-events:none;transition:transform .35s var(--ease),opacity .25s}
  .stickyatc.on{transform:none;opacity:1;pointer-events:auto}
}
@media (max-width:520px){
  .brand-name{font-size:17px;letter-spacing:-.01em}
  .brand img{height:32px;width:auto}
}
@media (max-width:380px){ .brand-name{font-size:15px} .hbtn{width:40px}}


/* =====================================================================
   WooCommerce-native markup, WordPress core markup and template glue.
   Everything here reuses the design tokens defined at the top of this file.
   ===================================================================== */

/* ===== utilities ===== */
[hidden]{display:none!important}
.hidden{display:none!important}
.hp{position:absolute!important;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}
html.js .nojs-only{display:none!important}
.screen-reader-text{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
.screen-reader-text:focus{clip:auto;clip-path:none;width:auto;height:auto;margin:0;padding:12px 18px;background:#fff;color:var(--navy);z-index:300;left:12px;top:12px;box-shadow:var(--sh-2);border-radius:var(--r-sm)}
.alignleft{float:left;margin:4px 24px 12px 0}
.alignright{float:right;margin:4px 0 12px 24px}
.aligncenter{display:block;margin-inline:auto}
.wp-caption{max-width:100%}
.wp-caption-text,figcaption.wp-element-caption{font-size:13px;color:var(--muted);margin-top:6px}
.cpw-art{display:block}
.cpw-art svg{display:block;width:100%;height:100%}
.busy{cursor:progress}
button.busy,.btn.busy,.pc-quick.busy{opacity:.65;pointer-events:none}
.drawer.busy .cpw-mc{opacity:.55;pointer-events:none;transition:opacity .2s}
#cpw-results{transition:opacity .2s}
#cpw-results.loading{opacity:.45;pointer-events:none}
.wl[data-loading] .grid{opacity:.4}
@keyframes cpwspin{to{transform:rotate(360deg)}}

/* ===== WooCommerce notices ===== */
.woocommerce-notices-wrapper{display:grid;gap:10px}
.woocommerce-notices-wrapper:empty{display:none}
.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-noreviews,p.no-comments{list-style:none;margin:0 0 20px;padding:14px 18px;border-radius:var(--r-md);background:var(--tint);color:var(--navy);font-size:15px;line-height:1.5}
.woocommerce-message::after,.woocommerce-info::after{content:"";display:table;clear:both}
.woocommerce-message::before,.woocommerce-info::before,.woocommerce-error li::before{content:"";display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--skyt);margin-right:12px;vertical-align:middle}
.woocommerce-message{background:var(--okt);color:var(--ok)}
.woocommerce-message::before{background:var(--ok)}
.woocommerce-error{background:var(--salet);color:#8f1a2c;display:grid;gap:6px}
.woocommerce-error li::before{background:var(--sale)}
.woocommerce-message .button,.woocommerce-info .button{float:right;margin-left:16px;height:38px;padding:0 16px;font-size:12px}
.woocommerce-message a:not(.button),.woocommerce-info a:not(.button),.woocommerce-error a{text-decoration:underline}

/* ===== WooCommerce buttons ===== */
.button,button.button,input.button,a.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:48px;padding:0 24px;border-radius:var(--r-pill);border:2px solid var(--navy);background:transparent;color:var(--navy);font-weight:500;font-size:14px;letter-spacing:.09em;text-transform:uppercase;cursor:pointer;white-space:nowrap;transition:transform .25s var(--spring),background .2s,color .2s,box-shadow .25s}
.button:hover{background:var(--navy);color:#fff;transform:translateY(-2px)}
.button.alt,#place_order{background:var(--navy);color:#fff}
.button.alt:hover,#place_order:hover{background:var(--deep);box-shadow:0 10px 24px rgba(31,62,81,.3)}
.button[disabled],.button.disabled,.btn.disabled{opacity:.5;cursor:not-allowed;transform:none;pointer-events:none}
#place_order{width:100%;height:56px;font-size:15px}
.woocommerce-Button{font-family:inherit}

/* ===== form rows (checkout, account, lost password, gateways) ===== */
.form-row{display:grid;gap:6px;align-content:start;margin:0;min-width:0}
.form-row label{font-size:14px;font-weight:500;color:var(--ink);line-height:1.35}
.form-row .required,.comment-form .required{color:var(--sale);border:0;text-decoration:none;font-weight:700}
.form-row .optional{color:var(--muted);font-weight:400}
.woocommerce-input-wrapper{display:block}
.form-row input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=hidden]):not([type=file]),.form-row select,.form-row textarea{height:52px;width:100%;border:1px solid var(--ctl);border-radius:var(--r-md);padding:0 16px;background:#fff;font-size:16px;transition:border-color .2s,box-shadow .2s}
.form-row textarea{height:auto;min-height:130px;padding:14px 16px;resize:vertical}
.form-row input:focus,.form-row select:focus,.form-row textarea:focus{outline:0;border-color:var(--skyt);box-shadow:0 0 0 3px rgba(99,165,209,.28)}
.form-row.woocommerce-invalid input:not([type=checkbox]):not([type=radio]),.form-row.woocommerce-invalid select,.form-row.woocommerce-invalid textarea,.form-row.woocommerce-invalid .select2-selection{border-color:var(--sale);background:var(--salet)}
.form-row.woocommerce-invalid label{color:var(--sale)}
.form-row select,.sel-wrap select,.swsel select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%231f3e51' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:44px}
.fgrid .form-row-wide,.fgrid .notes,.fgrid #order_comments_field,.fgrid .form-row-full{grid-column:1/-1}
.woocommerce-form__label-for-checkbox,label.checkbox{display:flex;align-items:flex-start;gap:12px;cursor:pointer;font-weight:400;font-size:15px}
.woocommerce-form__label-for-checkbox input,label.checkbox input{width:20px;height:20px;margin:2px 0 0;accent-color:var(--navy);flex:none}
.fs2 h2 .checkbox{font-size:20px;font-weight:700;color:var(--ink);align-items:center}
.woocommerce-shipping-fields .shipping_address{margin-top:4px}
.woocommerce-terms-and-conditions-wrapper{font-size:13px;color:var(--muted);margin:14px 0}
.woocommerce-privacy-policy-text p{font-size:13px;color:var(--muted);margin:0 0 10px;line-height:1.5}
.woocommerce-privacy-policy-text a,.woocommerce-terms-and-conditions-wrapper a{color:var(--skyt);text-decoration:underline}
.woocommerce-form__input-checkbox+span{color:var(--text)}

/* select2 / selectWoo: country and state pickers (core layout + theme skin) */
.select2-container{display:block;position:relative;width:100%!important;box-sizing:border-box;margin:0;vertical-align:middle}
.select2-hidden-accessible{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;border:0!important}
.select2-container .select2-selection--single{display:flex;align-items:center;height:52px;border:1px solid var(--ctl);border-radius:var(--r-md);background:#fff;cursor:pointer;user-select:none;transition:border-color .2s,box-shadow .2s}
.select2-container--default .select2-selection--single .select2-selection__rendered{flex:1;padding:0 44px 0 16px;line-height:normal;color:var(--text);font-size:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.select2-container--default .select2-selection--single .select2-selection__placeholder{color:var(--muted)}
.select2-container--default .select2-selection--single .select2-selection__arrow{position:absolute;right:12px;top:0;height:100%;width:20px}
.select2-container--default .select2-selection--single .select2-selection__arrow b{position:absolute;left:50%;top:50%;margin:-2px 0 0 -5px;border:solid transparent;border-width:6px 5px 0;border-top-color:var(--navy);width:0;height:0}
.select2-container--open .select2-selection--single,.select2-container--focus .select2-selection--single{border-color:var(--skyt);box-shadow:0 0 0 3px rgba(99,165,209,.28);outline:0}
.select2-dropdown{position:absolute;left:-100000px;width:100%;z-index:9999;background:#fff;border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--sh-2);overflow:hidden;box-sizing:border-box}
.select2-container--open .select2-dropdown{left:0}
.select2-dropdown--below{margin-top:6px}
.select2-dropdown--above{margin-bottom:6px}
.select2-search--dropdown{padding:8px}
.select2-search--dropdown .select2-search__field{width:100%;height:42px;border:1px solid var(--ctl);border-radius:var(--r-sm);padding:0 12px;font-size:16px;box-sizing:border-box}
.select2-results__options{list-style:none;margin:0;padding:0;max-height:260px;overflow:auto}
.select2-results__option{padding:11px 16px;font-size:15px;cursor:pointer;color:var(--text)}
.select2-container--default .select2-results__option--highlighted[aria-selected],.select2-container--default .select2-results__option--highlighted[data-selected]{background:var(--tint);color:var(--navy)}
.select2-container--default .select2-results__option[aria-selected=true],.select2-container--default .select2-results__option[data-selected=true]{background:var(--navy);color:#fff}
.select2-container--default .select2-results__option[aria-disabled=true]{color:var(--muted);cursor:default}

/* ===== update overlays (checkout / cart refresh via WooCommerce scripts) ===== */
.blockUI.blockOverlay{background:#fff!important;opacity:.6!important;position:absolute}
.blockUI.blockOverlay::before{content:"";position:absolute;left:50%;top:50%;width:28px;height:28px;margin:-14px 0 0 -14px;border-radius:50%;border:3px solid var(--tint);border-top-color:var(--skyt);animation:cpwspin .8s linear infinite}
.woocommerce-checkout-review-order-table.processing,.cart_totals.processing{position:relative}

/* ===== cart page ===== */
.cart-collaterals{align-self:stretch;min-width:0}
.cart-collaterals .sumc{width:100%}
.actions{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-top:24px}
.cli h3 a:hover{color:var(--skyt)}
.cli .rm{color:var(--muted);font-size:13px;text-decoration:underline;cursor:pointer;background:none;border:0;padding:0}
.cli .rm:hover{color:var(--sale)}
.cli .quantity{margin:0}
.sum-table{width:100%;border-collapse:collapse;font-size:15px;table-layout:auto}
.sum-table th{text-align:left;font-weight:400;color:var(--text);padding:8px 16px 8px 0;vertical-align:top}
.sum-table td{text-align:right;padding:8px 0;color:var(--ink);font-weight:500;vertical-align:top}
.sum-table .cart-discount td{color:var(--ok)}
.sum-table .cart-discount a{font-size:12px;margin-left:6px;text-decoration:underline;color:var(--muted)}
.sum-table .order-total th,.sum-table .order-total td{font-size:20px;font-weight:700;color:var(--ink);padding-top:16px;border-top:1px solid var(--rule)}
.sum-table .order-total small{display:block;font-size:12px;font-weight:400;color:var(--muted)}
.sum-table tr.cpw-minis-row td{padding:0 0 4px;text-align:left}
.minis{display:grid;gap:14px;padding-bottom:14px;border-bottom:1px solid var(--rule);margin-bottom:6px}
.mini b{color:var(--ink);font-weight:500;white-space:nowrap}
.sum-table,.sum-table tbody,.sum-table tfoot{display:block}
.sum-table tr{display:flex;justify-content:space-between}
.sum-table td{flex:1;min-width:0}
.sum-table th{flex:none}
.sum-table tr.shipping,.sum-table tr.woocommerce-shipping-totals{display:block;padding:8px 0}
.sum-table tr.shipping th,.sum-table tr.shipping td,.sum-table tr.woocommerce-shipping-totals th,.sum-table tr.woocommerce-shipping-totals td{display:block;padding:0;text-align:left}
.sum-table tr.shipping th,.sum-table tr.woocommerce-shipping-totals th{margin-bottom:8px}
.woocommerce-account-fields p.create-account{margin:0 0 16px}
ul.woocommerce-shipping-methods{list-style:none;margin:0;padding:0;display:grid;gap:8px}
ul.woocommerce-shipping-methods li{display:flex;align-items:center;gap:12px;border:1.5px solid var(--border);border-radius:var(--r-md);padding:12px 14px;transition:border-color .2s,background .2s}
ul.woocommerce-shipping-methods li:has(input:checked){border-color:var(--navy);background:var(--tint)}
ul.woocommerce-shipping-methods input{accent-color:var(--navy);width:18px;height:18px;margin:0;flex:none}
ul.woocommerce-shipping-methods label{flex:1;cursor:pointer;color:var(--ink);font-weight:500;font-size:15px}
.woocommerce-shipping-destination{font-size:13px;color:var(--muted);margin:10px 0 0;line-height:1.45}
.shipping-calculator-button{color:var(--skyt);text-decoration:underline;font-size:14px;display:inline-block;margin-top:6px}
.shipping-calculator-form{display:grid;gap:10px;margin-top:12px}
.shipping-calculator-form p{margin:0}
.wc-proceed-to-checkout{display:grid;gap:10px}
.checkout-button{height:56px}
.cart_totals .fine{margin-top:-4px}

/* ===== checkout ===== */
.woocommerce-billing-fields h3,.woocommerce-additional-fields h3{font-size:20px;font-weight:700;margin-bottom:16px}
.co .sumc h2{margin-bottom:2px}
#payment{margin-top:10px}
.wc_payment_methods{list-style:none;margin:0 0 16px;padding:0;display:grid;gap:10px}
.wc_payment_method{position:relative;border:1.5px solid var(--border);border-radius:var(--r-md);background:#fff;overflow:hidden;transition:border-color .2s,background .2s}
.wc_payment_method:has(>input:checked){border-color:var(--navy);background:var(--tint)}
.wc_payment_method>input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.wc_payment_method>label{display:flex;align-items:center;gap:12px;padding:16px 18px;cursor:pointer;font-weight:500;color:var(--ink);margin:0}
.wc_payment_method>label::before{content:"";width:20px;height:20px;border-radius:50%;border:2px solid var(--ctl);background:#fff;flex:none;transition:border-color .2s,box-shadow .2s}
.wc_payment_method>input:checked+label::before{border-color:var(--navy);box-shadow:inset 0 0 0 4px #fff;background:var(--navy)}
.wc_payment_method>input:focus-visible+label{outline:2px solid var(--skyt);outline-offset:-2px;border-radius:var(--r-md)}
.wc_payment_method label img{margin-left:auto;max-height:24px;width:auto}
.wc_payment_method .about_paypal{font-size:13px;margin-left:12px;color:var(--skyt);text-decoration:underline}
.payment_box{padding:0 18px 16px;font-size:14px;color:var(--text);line-height:1.5}
.payment_box p{margin:0 0 8px}
.payment_box fieldset{border:0;margin:0;padding:0;display:grid;gap:12px}
.woocommerce-checkout-payment .place-order{margin-top:16px}
.woocommerce-checkout-payment .woocommerce-notice,.woocommerce-checkout-payment .woocommerce-info{margin:0}
.cpw-event-card{background:var(--tint);border-radius:var(--r-lg);padding:20px 22px;margin:24px 0}
.cpw-event-card h2{font-size:18px;font-weight:700;margin-bottom:8px}
.cpw-event-card p{display:flex;align-items:center;gap:10px;color:var(--navy)}
.cpw-event-card .ic{width:20px;height:20px;color:var(--skyt)}
.woocommerce-form-coupon-toggle .woocommerce-info,.woocommerce-form-login-toggle .woocommerce-info{margin-bottom:16px}
.woocommerce-form-coupon-toggle .woocommerce-info a,.woocommerce-form-login-toggle .woocommerce-info a{font-weight:500}
form.checkout_coupon,form.woocommerce-form-login.login[style]{border:1px solid var(--border);border-radius:var(--r-lg);padding:20px;margin:0 0 24px}
form.checkout_coupon{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end}
form.checkout_coupon>p:first-child,form.checkout_coupon>.clear{grid-column:1/-1;margin:0}
form.checkout_coupon .form-row-first,form.checkout_coupon .form-row-last{width:auto}
form.checkout_coupon button.button{height:52px}

/* ===== thank-you page ===== */
.thanks-cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:24px}
.thanks-details{text-align:left;margin-top:44px}
.thanks-details h2{font-size:20px;font-weight:700;margin:28px 0 12px}
.thanks-details ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.thanks-details p{font-size:15px;margin-top:8px}
.thanks h1+p a{color:var(--skyt);text-decoration:underline}

/* ===== product page: options, packs, digits, tabs ===== */
.entry-summary,.summary{min-width:0}
.cpw-buy{margin:0}
.variations{display:grid;gap:0}
.sel-wrap{display:flex;align-items:center;gap:14px}
.sel-wrap select{flex:1;height:52px;border:1px solid var(--ctl);border-radius:var(--r-md);padding:0 16px;background-color:#fff;font-size:16px}
.reset_variations{font-size:13px;color:var(--skyt);text-decoration:underline;white-space:nowrap}
.swsel{margin-top:10px}
.swsel select{width:100%;height:48px;border:1px solid var(--ctl);border-radius:var(--r-md);padding:0 16px;background-color:#fff;font-size:15px}
html.js .swsel{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);margin:-1px}
html:not(.js) .swatches{display:none}
.swt.oos{opacity:.4}
.swt.oos::after{content:"";position:absolute;left:50%;top:-3px;width:2px;height:calc(100% + 6px);background:var(--ctl);transform:rotate(45deg)}
p.stock,.woocommerce-variation-availability p{font-size:14px;font-weight:500;color:var(--ok);margin:12px 0 0}
p.stock.out-of-stock,.woocommerce-variation-availability .out-of-stock{color:var(--sale)}
p.stock.available-on-backorder{color:#8a5a00}
html.js .woocommerce-variation-price,html.js .woocommerce-variation-description{display:none}
.woocommerce-variation{margin-top:8px}
.single_variation_wrap{margin:0}
.woocommerce-variation-add-to-cart{margin:0}
.packs{margin-top:0}
label.pack{display:block}
.pack input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.pack .pk{display:block}
.pack:has(input:checked){border-color:var(--navy);background:var(--tint);box-shadow:inset 0 0 0 1px var(--navy)}
.pack:has(input:focus-visible){outline:2px solid var(--skyt);outline-offset:2px}
.pack:hover{border-color:var(--navy);transform:translateY(-2px)}
.pack .pk-u{display:inline}
.glb{position:relative;display:block}
.glb input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.glb span{display:grid;place-items:center;width:48px;height:48px;border-radius:var(--r-md);border:1.5px solid var(--border);background:#fff;font-weight:700;font-size:18px;transition:.2s}
.glb:hover span{border-color:var(--navy)}
.glb input:checked+span{background:var(--navy);color:#fff;border-color:var(--navy)}
.glb input:focus-visible+span{outline:2px solid var(--skyt);outline-offset:2px}
.tabs a{display:block;padding:16px 0;font-size:15px;font-weight:500;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);position:relative;white-space:nowrap;transition:color .2s}
.tabs a:hover,.tabs a[aria-selected=true]{color:var(--navy)}
.tabs a[aria-selected=true]::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;background:var(--skyt)}
.cpw-tabs.on .tabp{display:none}
.cpw-tabs.on .tabp.cur{display:block}
.tabp>h2:first-child{font-size:20px;margin-bottom:12px}
.related{border-top:1px solid var(--rule)}
.fbt-sec{margin-top:56px}
.fbt-sec h2{font-size:26px;font-weight:700;margin-bottom:18px}
.woocommerce-product-attributes{width:100%;border-collapse:collapse}
.woocommerce-product-attributes th,.woocommerce-product-attributes td{padding:12px 0;border-bottom:1px solid var(--rule);text-align:left;vertical-align:top}
.woocommerce-product-attributes th{width:200px;color:var(--muted);font-weight:400}

/* star ratings (CSS only, no icon font) */
.star-rating{position:relative;display:inline-block;overflow:hidden;width:5.6em;height:1.1em;line-height:1.1;font-size:16px;letter-spacing:.1em;color:var(--gold);vertical-align:middle}
.star-rating::before{content:"\2605\2605\2605\2605\2605";position:absolute;left:0;top:0;color:#d9dde1}
.star-rating span{position:absolute;left:0;top:0;height:100%;overflow:hidden;padding-top:2em;white-space:nowrap}
.star-rating span::before{content:"\2605\2605\2605\2605\2605";position:absolute;left:0;top:0;color:var(--gold)}
p.stars{margin:6px 0 0}
p.stars span{display:inline-flex;gap:4px}
p.stars a{position:relative;width:1.25em;height:1.25em;overflow:hidden;font-size:26px;line-height:1;text-indent:-999px;display:inline-block}
p.stars a::before{content:"\2605";position:absolute;left:0;top:0;text-indent:0;color:#d9dde1;transition:color .15s}
p.stars:hover a::before,p.stars.selected a::before{color:var(--gold)}
p.stars a:hover~a::before{color:#d9dde1}
p.stars.selected a.active~a::before{color:#d9dde1}
.comment-form-rating select#rating{display:none}
html:not(.js) .comment-form-rating select#rating{display:block}

/* product reviews (WooCommerce default markup) */
#reviews{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:48px;align-items:start}
#reviews .woocommerce-Reviews-title,#reply-title,.comment-reply-title{display:block;font-size:22px;font-weight:700;color:var(--ink);margin-bottom:14px}
.commentlist{list-style:none;margin:0;padding:0}
.commentlist li.review{padding:20px 0;border-bottom:1px solid var(--rule)}
.commentlist .comment_container{display:grid;grid-template-columns:48px 1fr;gap:16px}
.commentlist img.avatar{width:48px;height:48px;border-radius:50%}
.commentlist .comment-text .meta{margin:6px 0;font-size:14px;color:var(--muted)}
.commentlist .comment-text .meta strong{color:var(--ink)}
.commentlist .description p{margin:0}
.woocommerce-verification-required{font-size:13px;color:var(--muted)}
#review_form_wrapper .comment-form,.comments .comment-form{display:grid;gap:16px}
.comment-form p{margin:0;display:grid;gap:6px}
.comment-form label{font-size:14px;font-weight:500;color:var(--ink)}
.comment-form input:not([type=checkbox]):not([type=submit]):not([type=hidden]),.comment-form textarea{width:100%;border:1px solid var(--ctl);border-radius:var(--r-md);padding:0 16px;height:52px;background:#fff;font-size:16px;transition:border-color .2s,box-shadow .2s}
.comment-form textarea{height:auto;min-height:140px;padding:14px 16px;resize:vertical}
.comment-form input:focus,.comment-form textarea:focus{outline:0;border-color:var(--skyt);box-shadow:0 0 0 3px rgba(99,165,209,.28)}
.comment-form-cookies-consent{display:flex!important;align-items:flex-start;gap:10px}
.comment-form-cookies-consent input{width:18px;height:18px;margin-top:3px;accent-color:var(--navy)}
.comment-form-cookies-consent label{font-weight:400;font-size:13px;color:var(--muted)}
.form-submit input[type=submit],.comment-form .submit{height:52px;padding:0 32px;border-radius:var(--r-pill);border:2px solid transparent;background:var(--navy);color:#fff;font-weight:500;font-size:15px;letter-spacing:.09em;text-transform:uppercase;cursor:pointer;width:auto;justify-self:start;transition:background .2s,transform .25s var(--spring)}
.form-submit input[type=submit]:hover,.comment-form .submit:hover{background:var(--deep);transform:translateY(-2px)}

/* ===== drawer wrappers, empty states ===== */
.drawer .widget_shopping_cart_content,.cpw-mc{display:flex;flex-direction:column;flex:1;min-height:0}
.dr-empty{display:grid;place-items:center;text-align:center;padding:32px 24px}
.empty-art{width:160px;margin:0 auto 8px}
.dr-empty h3,.empty h3{font-size:22px;font-weight:500}
.dr-empty .fine{margin-top:8px}
.empty-cta{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:18px}
.empty .empty-cta{margin-top:0}
.ln .lp{white-space:nowrap}

/* ===== forms: done panels, newsletter, socials ===== */
.done{text-align:center;padding:44px 20px}
.done-art{width:160px;margin:0 auto 12px}
.done h3{font-size:24px;font-weight:500}
.done p{margin-top:8px}
.ok{color:var(--ok);font-weight:500}
.news-ok{color:var(--skyl);font-size:14px;margin:10px 0 0}
.soc{list-style:none;margin:22px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px 20px}
.soc a{color:var(--nightmuted);font-size:14px;transition:color .2s}
.soc a:hover{color:#fff}
.bulkh-cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}
.calc-cta{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.band-h{font-size:clamp(30px,3.6vw,48px);font-weight:300;letter-spacing:-.025em;line-height:1.05;margin-top:12px;color:#fff}
.band-h b{display:block;font-weight:900;color:var(--skyl)}
.svc-act{display:flex;align-items:center;gap:8px}

/* ===== pages, posts, search, 404 ===== */
.wrap-woo{min-height:40vh}
.woocommerce-page-content{min-width:0}
.pt-sub{color:var(--muted);font-size:18px;line-height:1.55;margin-top:12px;max-width:60ch}
.eyebrow-dk{font-size:13px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--skyt);margin-bottom:10px}
.prose{max-width:72ch;font-size:17px;line-height:1.75;padding-bottom:32px}
.prose>*{margin-block:0 1.15em}
.prose h2{font-size:28px;font-weight:700;margin-top:1.8em;letter-spacing:-.015em}
.prose h3{font-size:21px;font-weight:700;margin-top:1.6em}
.prose a{color:var(--skyt);text-decoration:underline;text-underline-offset:3px}
.prose ul,.prose ol{padding-left:1.4em}
.prose li{margin-bottom:.4em}
.prose blockquote{margin-inline:0;padding:4px 0 4px 22px;border-left:3px solid var(--sky);color:var(--navy);font-size:1.15em}
.prose img,.prose video{border-radius:var(--r-md);height:auto}
.prose table{width:100%;border-collapse:collapse;font-size:15px}
.prose th,.prose td{padding:10px 12px;border-bottom:1px solid var(--rule);text-align:left}
.prose pre,.prose code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9em}
.prose pre{background:var(--soft);padding:16px;border-radius:var(--r-md);overflow:auto}
.prose hr{border:0;height:1px;background:var(--rule);margin-block:2em}
.postg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;padding-bottom:88px}
.postc{display:flex;flex-direction:column;background:#fff;border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;transition:box-shadow .3s var(--ease),transform .3s var(--ease)}
.postc:hover{box-shadow:var(--sh-2);transform:translateY(-4px)}
.postc-img{display:block;aspect-ratio:16/10;background:var(--tint);overflow:hidden}
.postc-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s var(--ease)}
.postc:hover .postc-img img{transform:scale(1.05)}
.postc-b{display:flex;flex-direction:column;gap:10px;padding:22px;flex:1}
.postc-b h2{font-size:21px;font-weight:700;line-height:1.25}
.postc-b h2 a:hover{color:var(--skyt)}
.postc-b p{color:var(--muted);font-size:15px}
.postc-b .eyebrow-dk{margin:0}
.more{margin-top:auto;padding-top:6px;display:inline-flex;align-items:center;gap:8px;color:var(--skyt);font-weight:500;font-size:14px;letter-spacing:.06em;text-transform:uppercase;transition:gap .25s var(--ease)}
.more:hover{gap:14px}
.more .ic{width:18px;height:18px}
.post-hero{border-radius:var(--r-lg);overflow:hidden;margin:8px 0 36px;max-height:520px}
.post-hero img{width:100%;height:100%;object-fit:cover;display:block}
.nf{text-align:center;padding-block:40px 96px;max-width:640px;margin:0 auto}
.nf-art{position:relative;width:min(420px,100%);aspect-ratio:16/10;border-radius:var(--r-lg);overflow:hidden;margin:0 auto 28px;background:var(--deep)}
.nf-art .scene{position:absolute;inset:0}
.nf h1{font-size:clamp(34px,4.6vw,56px);font-weight:300;letter-spacing:-.03em;line-height:1.05}
.nf h1 b{font-weight:900}
.nf .pt-sub{margin-inline:auto}
.nf .sform2{margin-inline:auto}
.nf-cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:24px}
.sform2{display:flex;gap:8px;max-width:560px;margin:24px 0}
.sform2 input[type=search]{flex:1;min-width:0;height:52px;border:1px solid var(--ctl);border-radius:var(--r-pill);padding:0 22px;font-size:16px;background:#fff;transition:border-color .2s,box-shadow .2s}
.sform2 input[type=search]:focus{outline:0;border-color:var(--skyt);box-shadow:0 0 0 3px rgba(99,165,209,.28)}
.pager{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;align-items:center;margin:36px 0 8px}
.pager .page-numbers,.pager>a:not(.btn){display:inline-grid;place-items:center;min-width:44px;height:44px;padding:0 14px;border-radius:var(--r-pill);border:1.5px solid var(--border);background:#fff;color:var(--navy);font-weight:500;transition:border-color .2s,background .2s,color .2s}
.pager a.page-numbers:hover,.pager>a:not(.btn):hover{border-color:var(--navy)}
.pager .page-numbers.current{background:var(--navy);border-color:var(--navy);color:#fff}
.pager .page-numbers.dots{border-color:transparent;background:none}
.pager .ic{width:18px;height:18px}
.comments{margin-top:56px;padding-top:32px;border-top:1px solid var(--rule);max-width:72ch}
.comments-h{font-size:24px;font-weight:700;margin-bottom:20px}
.comment-list{list-style:none;margin:0 0 32px;padding:0;display:grid;gap:22px}
.comment-list .children{list-style:none;margin:18px 0 0;padding-left:28px;display:grid;gap:18px}
.comment-body{display:grid;gap:8px}
.comment-author{display:flex;align-items:center;gap:12px;font-weight:500;color:var(--ink)}
.comment-author img{width:44px;height:44px;border-radius:50%}
.comment-author .says{display:none}
.comment-metadata{font-size:13px;color:var(--muted)}
.comment-content p{margin:0 0 .8em;line-height:1.65}
.reply a{font-size:13px;color:var(--skyt);text-decoration:underline}

/* ===== my account ===== */
.anav a{display:flex;align-items:center;gap:12px;height:48px;padding:0 16px;border-radius:var(--r-md);font-weight:500;color:var(--navy);transition:background .2s,color .2s}
.anav a:hover{background:var(--tint)}
.anav a[aria-current=page]{background:var(--navy);color:#fff}
.anav a .ic{width:20px;height:20px}
.woocommerce-MyAccount-content{min-width:0}
.acct-h{font-size:20px;font-weight:700;margin:0 0 2px}
.acct-links{display:flex;flex-wrap:wrap;gap:8px 24px;margin:28px 0 0}
.acct-links a,.woocommerce-MyAccount-content>p a,.woocommerce-Address-title a{color:var(--skyt);font-weight:500;text-decoration:underline;text-underline-offset:3px}
.ord-r{display:flex;align-items:center;justify-content:flex-end;gap:12px 16px;flex-wrap:wrap}
.ord-r b{color:var(--ink)}
.ord h3 a:hover{color:var(--skyt)}
.st.completed,.st.delivered{background:var(--okt);color:var(--ok)}
.st.shipped{background:var(--tint);color:var(--skyt)}
.st.processing,.st.pending,.st.on-hold{background:#fff4d1;color:#6b4e00}
.st.cancelled,.st.failed,.st.refunded{background:var(--salet);color:var(--sale)}
.authg{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;max-width:980px;padding-bottom:88px}
.authg.one{grid-template-columns:minmax(0,480px)}
.card-h{font-size:22px;font-weight:700;margin-bottom:18px}
.card form{display:grid;gap:16px}
.auth-row{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;font-size:14px}
.auth-row a{color:var(--skyt);text-decoration:underline}
.chk{display:flex;align-items:center;gap:10px;cursor:pointer}
.chk input{width:20px;height:20px;accent-color:var(--navy)}
.woocommerce-ResetPassword,.woocommerce-EditAccountForm,.woocommerce-address-fields{max-width:720px}
.woocommerce-EditAccountForm,.woocommerce-address-fields__field-wrapper{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.woocommerce-EditAccountForm .clear,.woocommerce-ResetPassword .clear{display:none}
.woocommerce-EditAccountForm .form-row-wide,.woocommerce-EditAccountForm fieldset,.woocommerce-EditAccountForm>p:last-child,.woocommerce-EditAccountForm>.woocommerce-form-row--wide{grid-column:1/-1}
.woocommerce-EditAccountForm fieldset{border:1px solid var(--border);border-radius:var(--r-lg);padding:24px;margin:8px 0;display:grid;gap:16px}
.woocommerce-EditAccountForm legend{font-weight:700;color:var(--ink);padding:0 8px;font-size:18px}
.woocommerce-ResetPassword{display:grid;gap:16px}
.woocommerce-address-fields .form-row-wide{grid-column:1/-1}
.woocommerce-address-fields>p:last-child{margin-top:18px}
.col2-set,.woocommerce-Addresses{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.woocommerce-Address{background:var(--soft);border-radius:var(--r-lg);padding:22px}
.woocommerce-Address-title{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:10px}
.woocommerce-Address-title h2,.woocommerce-Address-title h3{font-size:18px;font-weight:700}
.woocommerce-MyAccount-content address,.woocommerce-customer-details address{font-style:normal;line-height:1.65}
.woocommerce-order-details,.woocommerce-customer-details{margin-top:32px}
.woocommerce-order-details__title,.woocommerce-column__title,.woocommerce-customer-details h2{font-size:20px;font-weight:700;margin-bottom:14px}
table.woocommerce-table{width:100%;border-collapse:collapse;font-size:15px}
table.woocommerce-table th,table.woocommerce-table td{padding:12px 0;border-bottom:1px solid var(--rule);text-align:left;vertical-align:top}
table.woocommerce-table td:last-child,table.woocommerce-table th:last-child{text-align:right}
table.woocommerce-table thead th{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:500}
table.woocommerce-table tfoot th{font-weight:400;color:var(--text)}
table.woocommerce-table tfoot tr:last-child th,table.woocommerce-table tfoot tr:last-child td{font-size:18px;font-weight:700;color:var(--ink)}
table.woocommerce-table .wc-item-meta{list-style:none;padding:0;margin:4px 0 0;font-size:13px;color:var(--muted)}
table.woocommerce-table .wc-item-meta p{display:inline;margin:0}
.woocommerce-table__product-name a{color:var(--ink);font-weight:500}
.woocommerce-table__product-name a:hover{color:var(--skyt)}
p.order-again{margin-top:20px}
mark.order-number,mark.order-date,mark.order-status{background:none;font-weight:700;color:var(--ink)}
.woocommerce-info a.button{margin-left:auto}

/* ===== home: verified reviews ===== */
.revs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.revc{margin:0;background:var(--soft);border-radius:var(--r-lg);padding:26px;display:flex;flex-direction:column;gap:14px}
.revc blockquote{margin:0;font-size:17px;line-height:1.6;color:var(--ink)}
.revc figcaption{margin-top:auto;font-size:14px;color:var(--muted)}
.revc figcaption b{color:var(--ink);font-weight:500}
.revc figcaption a{color:var(--skyt);text-decoration:underline;text-underline-offset:3px}

/* ===== responsive ===== */
@media (max-width:960px){
  .anav{grid-auto-columns:max-content}.anav a{flex:none;height:44px;white-space:nowrap}
  .postg,.revs{grid-template-columns:repeat(2,minmax(0,1fr))}
  .authg{grid-template-columns:1fr}
  #reviews{grid-template-columns:1fr;gap:32px}
  .cart-collaterals{align-self:auto}
}
@media (max-width:520px){
  .postg{gap:20px;padding-bottom:64px}
  .postg,.revs{grid-template-columns:1fr}
  .col2-set,.woocommerce-Addresses{grid-template-columns:1fr}
  .woocommerce-EditAccountForm,.woocommerce-address-fields__field-wrapper{grid-template-columns:1fr}
  .fgrid .form-row-first,.fgrid .form-row-last{grid-column:1/-1}
  .fgrid{grid-template-columns:1fr}
  .ord-r{justify-content:flex-start}
  .ord{grid-template-columns:1fr}
  .woocommerce-message .button,.woocommerce-info .button{float:none;display:flex;margin:12px 0 0}
  .prose{font-size:16px}
  .sform2{flex-direction:column}.sform2 input[type=search]{flex:none;width:100%}
  .sform2 .btn{width:100%}
  .alignleft,.alignright{float:none;margin:0 auto 16px;display:block}
  .thanks-details{margin-top:32px}
  .woocommerce-product-attributes th{width:120px}
  .commentlist .comment_container{grid-template-columns:36px 1fr;gap:12px}
  .commentlist img.avatar{width:36px;height:36px}
}
@media (prefers-reduced-motion:reduce){
  .blockUI.blockOverlay::before{animation-duration:2.4s}
  .postc,.postc-img img,.pack,.button{transition:none}
  .postc:hover,.postc:hover .postc-img img{transform:none}
}

/* Number / letter pickers: an even grid instead of a ragged flex wrap. */
.gl:has(.glb){display:grid;grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:8px}
.gl .glb span{width:100%;height:auto;aspect-ratio:1}
.card .coupon{display:flex;gap:8px;align-items:center}
.card .coupon .btn{flex:none;width:auto}
