/* Layout concept: a printed swatch book. Big colour fields, garments as the image, wide-tracked labels as the voice. */
:root{
  --ink:#0E0E12;--paper:#FAFAF7;--fg:#0E0E12;--bg:#FAFAF7;--muted:#5F5B55;--line:#DDD8CE;--panel:#EFEBE3;--panel-deep:#D9D3C7;--surface:#FFFFFF;
  --purple:#5B2BD9;--magenta:#D62F8C;--orange:#F26B2C;--grad:linear-gradient(120deg,#5B2BD9,#C4247F 55%,#D9501A);
  --sand:#DABC9A;--violet:#7B3FD1;--lime:#E9F02B;--good:#1E6B45;--bad:#B3261E;
  --display:"Montserrat","Helvetica Neue",Arial,sans-serif;--body:"Inter","Helvetica Neue",Arial,sans-serif;
  --gut:max(16px,env(safe-area-inset-left,0px));--r:16px;
}
@media (min-width:768px){:root{--gut:24px}}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--fg:#F4F2EC;--bg:#121216;--paper:#121216;--muted:#AAA59B;--line:#34333A;--panel:#222228;--panel-deep:#3A3A42;--surface:#1B1B20;--good:#6FD3A0;--bad:#FF9A92;color-scheme:dark}}
:root[data-theme="dark"]{--fg:#F4F2EC;--bg:#121216;--paper:#121216;--muted:#AAA59B;--line:#34333A;--panel:#222228;--panel-deep:#3A3A42;--surface:#1B1B20;--good:#6FD3A0;--bad:#FF9A92;color-scheme:dark}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--fg);font:400 16px/1.6 var(--body);overflow-x:hidden}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--bg)}
h1,h2,h3{font-family:var(--display);line-height:1.08;margin:0;text-wrap:balance;letter-spacing:-.02em}
h1{font-weight:800;font-size:clamp(2.1rem,5vw,3.8rem)}
h2{font-weight:700;font-size:clamp(1.6rem,3.6vw,2.7rem)}
h3{font-weight:700;font-size:1.05rem;letter-spacing:-.01em}
p{margin:0 0 1em}a{color:inherit}
:focus-visible{outline:3px solid var(--magenta);outline-offset:2px;border-radius:4px}
main:focus{outline:none}
.wrap{max-width:1440px;margin-inline:auto;padding-left:var(--gut);padding-right:var(--gut)}
.ph{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 0}
.muted{color:var(--muted)}.small{font-size:.875rem}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.skip{position:absolute;left:-999px;z-index:100;background:var(--bg);padding:8px 14px}.skip:focus{left:8px;top:8px}
.spaced{display:block;font:500 .72rem/1.5 var(--display);letter-spacing:.4em;text-transform:uppercase;margin-bottom:12px}
.spaced.tiny{font-size:.6rem;letter-spacing:.3em;margin-bottom:4px;color:var(--muted)}
.lead{font-size:clamp(1.05rem,1.5vw,1.25rem);line-height:1.5;max-width:40ch}.lead.sm{font-size:1.06rem;max-width:58ch}
.row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.row.center{justify-content:center}
.only-m{display:inline-flex!important}.only-d{display:none!important}
@media (min-width:1180px){.only-m{display:none!important}.only-d{display:inline-flex!important}}
@media (min-width:1024px){.shop-tools .only-m{display:none!important}}
@media (max-width:1179px){.shop-tools .only-m{display:inline-flex!important}}
@media (min-width:1024px) and (max-width:1179px){.shop-tools .only-m{display:none!important}}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 24px;border:1.5px solid transparent;border-radius:999px;font:600 .94rem var(--display);text-decoration:none;cursor:pointer;background:var(--fg);color:var(--bg);transition:transform .2s,background-position .6s,background .2s;white-space:nowrap}
.btn.sm{min-height:42px;padding:0 18px;font-size:.84rem}
.btn.grad{background:var(--grad);background-size:220% 100%;color:#fff}.btn.grad:hover{background-position:100% 0}
.btn.ghost{background:transparent;color:var(--fg);border-color:var(--fg)}.btn.ghost:hover{background:var(--fg);color:var(--bg)}
.btn.light{background:#fff;color:#0E0E12}
.btn:disabled{opacity:.6;cursor:wait}
.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:0;background:none;color:inherit;border-radius:50%;cursor:pointer;position:relative}
.icon-btn:hover{background:color-mix(in srgb,currentColor 10%,transparent)}
.link{display:inline-flex;align-items:center;gap:6px;background:none;border:0;padding:0;color:inherit;font:600 .9rem var(--body);text-decoration:underline;text-underline-offset:3px;cursor:pointer;min-height:24px}
.input{width:100%;min-height:46px;padding:10px 12px;border:1.5px solid var(--line);border-radius:10px;background:var(--surface);color:var(--fg);font:400 1rem var(--body)}
textarea.input{resize:vertical}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{display:inline-flex;align-items:center;min-height:40px;padding:6px 14px;border:1.5px solid var(--line);border-radius:999px;background:none;color:inherit;font:500 .86rem var(--body);text-decoration:none;cursor:pointer}
button.chip:hover,a.chip:hover{border-color:var(--fg)}.chip-on{background:var(--fg);color:var(--bg);border-color:var(--fg)}.chip.static{min-height:32px;cursor:default;background:var(--panel);border-color:transparent}
.chips.big .chip{font:600 clamp(1rem,2vw,1.4rem) var(--display);padding:12px 24px}

.logo{display:inline-flex;align-items:center;gap:8px}.logo svg{display:block}
.hdr{position:fixed;top:env(safe-area-inset-top,0px);left:0;right:0;z-index:30;transition:background .25s}
[data-theme="dark"] .hdr.clear,.hdr.solid{background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(14px);box-shadow:0 1px 0 var(--line)}
.hdr-in{max-width:1440px;margin:auto;display:flex;align-items:center;gap:8px;height:72px;padding-left:var(--gut);padding-right:var(--gut)}
.hdr-in>a{text-decoration:none}
.nav{display:none;margin-left:12px;gap:4px;align-items:center}
.nav-link{display:inline-flex;align-items:center;gap:4px;padding:8px 12px;background:none;border:0;color:inherit;font:500 .9rem var(--body);text-decoration:none;cursor:pointer;min-height:40px}.nav-link:hover{text-decoration:underline;text-underline-offset:4px}
@media (min-width:1180px){.nav{display:flex}}
.hdr-act{margin-left:auto;display:flex;align-items:center;gap:2px}.hdr-act>.btn{margin-left:8px}
.basket{text-decoration:none}.count{position:absolute;top:2px;right:0;min-width:18px;height:18px;padding:0 4px;border-radius:9px;background:var(--purple);color:#fff;font:700 .66rem/18px var(--body);text-align:center}
.mega{background:var(--bg);box-shadow:0 1px 0 var(--line),0 24px 40px rgba(0,0,0,.12)}
.mega-in{max-width:1440px;margin:auto;padding:20px var(--gut) 24px;display:grid;grid-template-columns:repeat(7,1fr);gap:12px}
.mega-item{display:grid;gap:8px;text-decoration:none;font:600 .86rem var(--display)}.mega-pic{display:block;aspect-ratio:1/1;border-radius:var(--r);overflow:hidden;background:var(--panel)}
@media (max-width:1023px){.mega-in{grid-template-columns:repeat(3,1fr)}}
.sheet{position:fixed;inset:0;z-index:40;background:var(--bg);overflow:auto;padding:12px var(--gut) 32px}
.sheet-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}
.sheet nav a{display:block;padding:10px 0;font:700 1.5rem var(--display);text-decoration:none}.sheet nav a.sub{font:500 1rem var(--body);padding:8px 0 8px 14px}
.sheet-foot{display:flex;align-items:center;gap:6px;margin-top:14px}
.under-hdr{padding-top:72px}

.hero{display:grid;grid-template-columns:1fr;min-height:0}
.hero-copy{padding:104px var(--gut) 36px;display:flex;flex-direction:column;justify-content:center;gap:12px;min-width:0}
.hero h1{font-size:clamp(2.5rem,6.6vw,6.2rem);line-height:1;letter-spacing:-.035em}
.word{display:inline-block;animation:wordIn .7s both cubic-bezier(.2,.8,.2,1);white-space:pre}
@keyframes wordIn{from{opacity:0;transform:translateY(18px)}}
.hero-art{position:relative;background:#ED4137;overflow:hidden;aspect-ratio:4/4.6;max-width:100%}
.hero-photo{position:absolute;inset:0;will-change:transform}.hero-photo .ph{object-position:50% 0}
@media (min-width:1024px){.hero{grid-template-columns:minmax(0,1.16fr) minmax(0,1fr)}.hero-copy{padding:128px 40px 64px max(24px,calc((100vw - 1440px)/2 + 24px))}.hero-art{aspect-ratio:auto;min-height:calc(100vh - 56px);max-height:880px}}
.pantone{display:inline-block;width:164px;background:#fff;color:#0E0E12;border-radius:6px;padding:7px 7px 0;box-shadow:0 12px 26px rgba(0,0,0,.2);position:relative}
.pantone-chip{height:96px;border-radius:2px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}
.pantone-meta{padding:8px 2px 9px;font:400 .68rem/1.35 var(--body)}.pantone-meta strong{display:block;font:700 .8rem var(--display)}
.trust{list-style:none;margin:0;padding:18px var(--gut);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;background:var(--ink);color:#F4F2EC;font:500 .84rem var(--display)}
.trust li{display:flex;align-items:center;gap:8px}
@media (min-width:768px){.trust{grid-template-columns:repeat(4,auto);justify-content:space-around}}

.sec{padding-block:clamp(56px,8vw,112px)}.sec-sm{margin-top:56px;margin-bottom:20px}section.sec-sm h2{margin-bottom:20px}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:28px}
.rise{animation:rise .7s both cubic-bezier(.2,.8,.2,1)}@keyframes rise{from{opacity:0;transform:translateY(24px)}}
.cats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.cat{position:relative;display:block;border-radius:var(--r);overflow:hidden;aspect-ratio:4/5;text-decoration:none;color:#0E0E12;background:var(--panel)}
.cat .ph{transition:transform .6s cubic-bezier(.2,.8,.2,1)}.cat:hover .ph{transform:scale(1.05)}
.cat-tag{position:absolute;left:8px;right:8px;bottom:8px;display:flex;justify-content:space-between;align-items:baseline;gap:6px;flex-wrap:wrap;background:#fff;padding:8px 12px;border-radius:10px;font-size:.78rem}.cat-tag strong{font:700 .95rem var(--display)}
.cat-0{grid-column:span 2;aspect-ratio:1/1}
@media (min-width:1024px){.cats{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.cat-0{grid-column:span 2;grid-row:span 2;aspect-ratio:auto}.cat{aspect-ratio:1/1.1}}
.rail-sec{background:var(--panel)}
.rail{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:28px var(--gut) 12px;scrollbar-width:thin}
.rail-card{flex:0 0 min(82vw,440px);scroll-snap-align:center;position:relative;display:flex;flex-direction:column;min-height:600px;padding:26px;border-radius:24px;overflow:hidden;text-decoration:none}
.rail-card .spaced{color:inherit}.rail-card h3{font-size:clamp(1.8rem,3vw,2.5rem);font-weight:800;margin-bottom:8px}.rail-card p{max-width:30ch}
.rail-card .ph{position:absolute;left:0;right:0;bottom:0;height:62%;transition:transform .6s}.rail-card:hover .ph{transform:scale(1.03)}
@media (min-width:1280px){.rail-card{flex:1 1 0}}
.stamp{position:absolute;left:20px;bottom:20px;z-index:1;background:var(--sand);width:78px;height:78px;border:2px solid currentColor;border-radius:50%;display:grid;place-items:center;text-align:center;font:700 .6rem/1.2 var(--display);letter-spacing:.14em;text-transform:uppercase;transform:rotate(-12deg);padding:8px}
.uses h2{margin-bottom:26px;max-width:18ch}
.scroller{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(250px,1fr);gap:16px;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:10px}.scroller>*{scroll-snap-align:start}
@media (min-width:1280px){.scroller{grid-auto-columns:calc((100% - 80px)/6)}}
.card{position:relative;display:flex;flex-direction:column;min-width:0}
.card-img{position:relative;display:block;aspect-ratio:5/6;border-radius:var(--r);overflow:hidden}
.card-img .ph{transition:transform .5s}.card:hover .card-img .ph{transform:scale(1.04)}
.badge{position:absolute;top:10px;left:10px;background:#fff;color:#0E0E12;font:600 .68rem var(--display);padding:4px 9px;border-radius:999px}
.quick{position:absolute;right:10px;top:10px;background:var(--ink);color:#fff;border:0;border-radius:999px;font:600 .72rem var(--display);padding:7px 11px;cursor:pointer;min-height:32px}
.card-body{padding:12px 2px 2px}.card-body h3 a{text-decoration:none}.card-body h3 a:hover{text-decoration:underline}.card-body p{margin:2px 0 8px}
.card-foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:0 8px;margin:8px 0 0!important}
.dots{display:flex;flex-wrap:wrap;align-items:center;gap:4px}.wrapdots{flex-wrap:wrap}
.dot{width:24px;height:24px;border-radius:50%;border:1px solid rgba(128,128,128,.5);cursor:pointer;padding:0;outline-offset:2px;background-clip:padding-box}
.dot.on{box-shadow:0 0 0 2px var(--bg),0 0 0 4px var(--fg)}

.how{background:var(--ink);color:#F4F2EC}.how .muted{color:#BDB8AE}
.steps{list-style:none;counter-reset:s;display:grid;gap:28px;margin:36px 0 0;padding:0;position:relative}
.steps li{counter-increment:s;position:relative;padding-left:60px}
.steps li::before{content:counter(s);position:absolute;left:0;top:-4px;width:42px;height:42px;border-radius:50%;background:#fff;color:#0E0E12;display:grid;place-items:center;font:800 1rem var(--display)}
.steps p{color:#C9C4BA;margin:6px 0 0}
@media (min-width:1024px){.steps{grid-template-columns:repeat(4,1fr);gap:24px}.steps li{padding:62px 16px 0 0}.steps::before{content:"";position:absolute;top:20px;left:0;right:0;height:2px;background:var(--grad)}}
.tech{display:grid;gap:16px;margin-top:28px}
.tabs{display:flex;gap:8px;overflow-x:auto;padding:4px}
.tabs button{flex:none;display:flex;align-items:center;gap:10px;min-height:48px;padding:10px 14px;border:0;border-radius:12px;background:none;color:inherit;font:600 .92rem var(--display);cursor:pointer;text-align:left}
.tabs button.on{background:var(--fg);color:var(--bg)}
.tech-panel{border-radius:var(--r);padding:clamp(22px,4vw,48px);min-height:310px}.tech-panel h3{font-size:clamp(1.5rem,3vw,2.3rem);font-weight:800;margin-bottom:12px}.tech-panel p{max-width:52ch}
.fade{animation:rise .4s both}
.ticks{list-style:none;padding:0;margin:0;display:grid;gap:6px}.ticks li{display:flex;align-items:center;gap:8px}
@media (min-width:1024px){.tech{grid-template-columns:300px minmax(0,1fr)}.tabs{flex-direction:column;overflow:visible}}
.eco{background:var(--sand);color:#0E0E12}.eco .eco-fig{white-space:nowrap}
.eq{display:grid;grid-template-columns:1fr;gap:6px;align-items:center;justify-items:center;margin:34px 0;text-align:center}
.eq-photo{width:170px;height:170px;border-radius:50%;object-position:50% 40%}.eq-item{display:grid;justify-items:center;gap:6px;font-family:var(--display);max-width:220px}.eq-item svg{width:132px;height:132px}.eq-op{font:800 2.4rem var(--display)}
@media (min-width:768px){.eq{grid-template-columns:1fr auto 1fr auto 1fr}.eq-item svg{width:170px;height:170px}}
.scrap{animation:drift 4s ease-in-out infinite alternate}.s2{animation-delay:.5s}.s3{animation-delay:1s}@keyframes drift{to{transform:translate(3px,-4px)}}
.eco-table{display:grid;gap:2px;border-top:1.5px solid #0E0E12}
.eco-row{display:grid;grid-template-columns:minmax(0,1fr);gap:4px;padding:12px 0;border-bottom:1px solid rgba(14,14,18,.3);text-decoration:none;font-weight:500}
@media (min-width:768px){.eco-row{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) auto;align-items:center;gap:20px}}
.bar{display:block;height:8px;background:rgba(14,14,18,.14);border-radius:4px;overflow:hidden}.bar i{display:block;height:100%;background:#1F4A31}
.stats{background:var(--panel);padding-block:44px}.stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.stat-grid strong{display:block;font:800 clamp(2.2rem,5vw,3.8rem)/1.1 var(--display);font-variant-numeric:tabular-nums}.stat-grid span span{font:inherit}
@media (min-width:768px){.stat-grid{grid-template-columns:repeat(4,1fr)}}
.proof{padding-bottom:64px}.marquee{overflow:hidden;border-block:1px solid var(--line);margin-bottom:40px}
.marq-track{display:flex;width:max-content;animation:marq 34s linear infinite}.marq-track span{padding:20px 42px;font:700 1rem var(--display);color:var(--muted);white-space:nowrap}
@keyframes marq{to{transform:translateX(-50%)}}
.quotes{display:grid;gap:16px}blockquote{margin:0;padding:24px;background:var(--panel);border-radius:var(--r)}blockquote p{font:600 1.05rem/1.4 var(--display)}blockquote footer{font-size:.84rem;color:var(--muted)}
@media (min-width:768px){.quotes{grid-template-columns:repeat(3,1fr)}}
.final{background:var(--ink);color:#fff;text-align:center}.final-in{padding-block:clamp(64px,10vw,130px);display:grid;justify-items:center;gap:16px}.final h2{font-size:clamp(2rem,5vw,4rem);font-weight:800;max-width:16ch}.final p{color:#C9C4BA;margin:0}
.ftr{background:#17171C;color:#EDEAE3;padding-top:56px}.ftr a{display:block;text-decoration:none;padding:4px 0;font-size:.92rem}.ftr a:hover{text-decoration:underline}
.ftr-grid{display:grid;gap:28px;grid-template-columns:repeat(2,minmax(0,1fr))}.ftr-lead{grid-column:1/-1}.ftr h3{font:500 .68rem var(--display);letter-spacing:.32em;text-transform:uppercase;margin-bottom:12px;color:#BDB8AE}.ftr h3.gap{margin-top:20px}
.ftr p{font-size:.92rem;margin:0 0 8px;overflow-wrap:anywhere}.ftr-lead>p{margin-top:12px;max-width:34ch}
.nl label{display:block;font-size:.84rem;margin:12px 0 6px}.nl>div{display:flex;gap:8px}.nl .input{background:#26262C;border-color:#46464E;color:#fff;min-width:0}
.ftr-note{font-size:.78rem;color:#B5B0A6;padding-block:28px;margin:28px auto 0;border-top:1px solid #33333A}
@media (min-width:1024px){.ftr-grid{grid-template-columns:1.7fr 1fr 1fr 1fr 1.2fr}.ftr-lead{grid-column:auto}}
.fab{position:fixed;right:max(16px,env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:25;width:56px;height:56px;border-radius:50%;background:#128C4B;color:#fff;display:grid;place-items:center;box-shadow:0 10px 24px rgba(0,0,0,.28)}
.fab.raised{bottom:calc(84px + env(safe-area-inset-bottom,0px))}@media (min-width:1024px){.fab.raised{bottom:16px}}
.toasts{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:60;display:grid;gap:8px;width:min(92vw,420px)}
.toast{display:flex;gap:10px;align-items:center;background:var(--ink);color:#fff;border-radius:12px;padding:12px 16px;font-size:.92rem;box-shadow:0 12px 28px rgba(0,0,0,.3);animation:rise .3s both}.toast.error{background:#8F1D17}

.page{padding-block:32px 72px}.page.tight{padding-top:36px}.page.narrow{max-width:800px}.page.narrow p{max-width:65ch}.page h1{margin-bottom:14px;overflow-wrap:anywhere}
.crumbs{font-size:.84rem;color:var(--muted);margin-bottom:18px}.crumbs a{text-decoration:none}.crumbs a:hover{text-decoration:underline}
.shop-head{min-width:0;display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:12px;margin-bottom:18px}.shop-tools{display:flex;gap:10px;align-items:center}.sort{display:flex;align-items:center;gap:8px;font-size:.88rem}.sort select{width:auto;min-height:42px}
.shop{display:grid;grid-template-columns:minmax(0,1fr);gap:24px}.shop>div{min-width:0}.filters{display:none;min-width:0}.filters.open{display:block}
.filters fieldset{border:0;border-bottom:1px solid var(--line);margin:0;padding:12px 0}.filters legend{font:700 .84rem var(--display);padding:0;margin-bottom:8px;float:left;width:100%}.filters fieldset>*:nth-child(2){clear:both}
.check{display:flex;align-items:center;gap:8px;font-size:.92rem;min-height:30px;cursor:pointer}.check input{width:18px;height:18px;accent-color:var(--purple)}.flink{display:block;text-decoration:none;font-size:.92rem;padding:4px 0}.flink:hover{text-decoration:underline}
.range{display:grid;grid-template-columns:48px 1fr;align-items:center;gap:8px;font-size:.84rem}.range input{width:100%;accent-color:var(--purple)}
@media (min-width:1024px){.shop{grid-template-columns:250px minmax(0,1fr);gap:36px}.filters{display:block;position:sticky;top:84px;max-height:calc(100vh - 100px);overflow:auto;padding-right:8px}}
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 12px}
@media (min-width:768px){.grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 18px}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:767px){.quick{display:none}}
.empty{padding:44px 24px;background:var(--panel);border-radius:var(--r);text-align:center;display:grid;gap:10px;justify-items:center}
.modal{border:0;border-radius:18px;padding:22px;width:min(92vw,520px);max-height:88vh;background:var(--bg);color:var(--fg)}.modal.wide{width:min(94vw,860px)}.modal::backdrop{background:rgba(10,10,14,.6)}
.modal-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.modal-head h2{font-size:1.3rem}
.search-list{list-style:none;padding:0;margin:12px 0 0}.search-list a{display:flex;gap:12px;align-items:center;padding:6px;border-radius:10px;text-decoration:none}.search-list a:hover{background:var(--panel)}.mini{flex:none;width:52px;height:60px;border-radius:8px;overflow:hidden}
.qv{display:grid;gap:18px}.qv-img{aspect-ratio:5/6;border-radius:var(--r);overflow:hidden}.qv .pantone{box-shadow:0 2px 10px rgba(0,0,0,.14);margin:14px 0;border:1px solid var(--line)}
@media (min-width:768px){.qv{grid-template-columns:1fr 1fr}}
.seg{display:inline-flex;background:var(--panel);border-radius:999px;padding:3px;margin-bottom:10px;max-width:100%}.seg button{border:0;background:none;color:inherit;padding:8px 14px;min-height:36px;border-radius:999px;font:600 .82rem var(--body);cursor:pointer}.seg button.on{background:var(--fg);color:var(--bg)}
.table-wrap{overflow-x:auto;margin-bottom:6px}.tbl{border-collapse:collapse;width:100%;font-size:.9rem;font-variant-numeric:tabular-nums;background:var(--surface)}.tbl th,.tbl td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:center;white-space:nowrap}.tbl th:first-child,.tbl.left th,.tbl.left td{text-align:left}.tbl thead th{font-family:var(--display);background:var(--panel)}.tbl th{font-weight:600}
.note{background:var(--panel);padding:12px 14px;border-radius:10px;font-size:.9rem}
.pdp-bg{transition:background .5s}.pdp{display:grid;gap:28px}
@media (min-width:1024px){.pdp{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:48px}.gallery{position:sticky;top:84px;align-self:start}}
.stage{aspect-ratio:5/6;border-radius:20px;overflow:hidden;transition:background .5s}.stage>div{width:100%;height:100%;transition:transform .2s}.xfade{animation:xf .45s both;width:100%;height:100%}@keyframes xf{from{opacity:0}}
.thumbs{display:flex;gap:8px;margin-top:10px}.thumbs button{width:76px;height:92px;padding:0;overflow:hidden;background:var(--panel);border:2px solid transparent;border-radius:12px;cursor:pointer}.thumbs button.on{border-color:var(--fg)}
.buy{min-width:0}.buy h1{margin-bottom:12px}.buy .chips{margin-bottom:14px}.price{font:700 1.14rem var(--display);margin:14px 0 20px}.price .muted{font:400 .9rem var(--body)}
.h-sm{font:700 1rem var(--display);letter-spacing:0;margin:20px 0 10px}.h-sm .muted{font:400 .86rem var(--body)}.h-md{font-size:clamp(1.6rem,3vw,2.3rem)}.h-row{display:flex;justify-content:space-between;align-items:baseline}
.swatches{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:8px;margin-bottom:14px}
.swatch{position:relative;aspect-ratio:1/1.2;border:2px solid transparent;border-radius:14px;padding:0;overflow:hidden;cursor:pointer;color:var(--fg);background:var(--panel)}.swatch.on{border-color:var(--fg)}
.swatch span{position:absolute;left:0;right:0;bottom:0;padding:3px 6px;background:color-mix(in srgb,var(--bg) 88%,transparent);font:500 .6rem/1.25 var(--display);letter-spacing:.06em;text-align:left}
.feats{list-style:none;padding:0;margin:18px 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px;font-size:.9rem}.feats li{display:flex;gap:8px;align-items:center}.feats svg{flex:none}
.matrix-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:8px}.step label{display:block;font:600 .78rem var(--display);margin-bottom:3px}
.step-row{display:grid;grid-template-columns:32px minmax(0,1fr) 32px;align-items:center;border:1.5px solid var(--line);border-radius:10px;overflow:hidden;background:var(--surface)}.step-row button{height:40px;border:0;background:none;color:inherit;cursor:pointer;display:grid;place-items:center}.step-row button:hover{background:var(--panel)}.step-row input{width:100%;height:40px;border:0;background:none;color:inherit;text-align:center;font:600 .95rem var(--body);min-width:0}
.matrix-total{font-size:.92rem;margin:10px 0}.matrix-total.good{color:var(--good)}
.actions{margin-block:14px 18px}.actions .btn{flex:1 1 220px}
.acc{border-top:1px solid var(--line)}.acc details{border-bottom:1px solid var(--line)}.acc summary{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 0;font:600 .96rem var(--display);cursor:pointer;list-style:none}.acc summary::-webkit-details-marker{display:none}.acc details[open] summary svg{transform:rotate(180deg)}.acc-body{padding-bottom:12px;color:var(--muted)}
.mbar{position:fixed;left:0;right:0;bottom:0;z-index:24;display:flex;align-items:center;gap:8px;padding:10px var(--gut) calc(10px + env(safe-area-inset-bottom,0px));background:var(--bg);box-shadow:0 -1px 0 var(--line),0 -8px 20px rgba(0,0,0,.08)}.mbar .btn{padding:0 12px;min-height:44px;font-size:.8rem}.mbar-c{display:flex;align-items:center;gap:6px;font-size:.78rem;margin-right:auto;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.mbar-c i{flex:none;width:16px;height:16px;border-radius:50%;border:1px solid rgba(128,128,128,.5)}
@media (min-width:1024px){.mbar{display:none}}
@media (max-width:1023px){.pdp-bg .page{padding-bottom:110px}}

.cz-grid{display:grid;gap:22px;margin-top:12px}@media (min-width:1024px){.cz-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:40px}.cz-left{position:sticky;top:84px;align-self:start}}
.cz-left{min-width:0}.cz-stage{position:relative;width:100%;max-width:560px;margin-inline:auto;border-radius:20px;overflow:hidden;user-select:none;touch-action:none}.cz-stage.over{box-shadow:inset 0 0 0 3px var(--purple)}
.cz-stage .ph{position:absolute;inset:0;pointer-events:none}.cz-stage .layer img{height:auto}
.print-area{position:absolute;border:1.5px dashed rgba(255,255,255,.9);outline:1.5px dashed rgba(0,0,0,.45);outline-offset:-1.5px;pointer-events:none}.print-area span{position:absolute;left:4px;top:2px;font:600 .58rem var(--body);color:#fff;background:rgba(0,0,0,.55);padding:1px 5px;border-radius:3px}
.layer{position:absolute;cursor:move;touch-action:none;line-height:1;white-space:nowrap}.layer img{display:block;width:100%;pointer-events:none}.layer.sel{outline:1.5px solid var(--magenta);outline-offset:3px}
.h-scale,.h-rot{position:absolute;width:18px;height:18px;border-radius:50%;background:#fff;border:2px solid var(--magenta);touch-action:none}.h-scale{right:-12px;bottom:-12px;cursor:nwse-resize}.h-rot{left:50%;top:-28px;margin-left:-9px;cursor:grab}
.cz-colors{margin:14px 0}.cz-panel{display:grid;gap:8px;min-width:0}.cz-panel section{border-bottom:1px solid var(--line);padding-bottom:14px}.cz-panel .h-sm{margin-top:6px}
.drop{display:flex;gap:12px;align-items:center;width:100%;padding:16px;border:1.5px dashed var(--fg);border-radius:14px;background:none;color:inherit;text-align:left;cursor:pointer;margin-bottom:10px;font:inherit}.drop:hover{background:var(--panel)}
.sliders{display:grid;gap:6px;margin-top:10px}.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.colorin{padding:4px;height:46px}
.field{display:grid;gap:4px;margin-bottom:12px;min-width:0}.field label{font:600 .84rem var(--body)}.field.bad .input{border-color:var(--bad)}.err{color:var(--bad);font-size:.84rem}
.cz-act{display:grid;gap:10px;padding-top:8px}.cz-act .row .btn{flex:1 1 150px}.mock{display:block;width:100%;border-radius:12px;margin-bottom:8px}
.pick{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px;margin-top:24px}.pick-item{text-decoration:none;font:600 .9rem var(--display);display:grid;gap:8px}.pick-item span{display:block;aspect-ratio:5/6;border-radius:var(--r);overflow:hidden;background:var(--panel)}
@media (min-width:768px){.pick{grid-template-columns:repeat(4,1fr)}}@media (min-width:1280px){.pick{grid-template-columns:repeat(6,1fr)}}
.designs{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;margin-top:14px}.design img{width:100%;border-radius:12px;display:block;margin-bottom:8px}
.quote{display:grid;gap:28px;margin-top:18px}@media (min-width:1024px){.quote{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}.card-form{position:sticky;top:84px;align-self:start;max-height:calc(100vh - 100px);overflow:auto}}
.line{display:flex;flex-wrap:wrap;gap:14px;padding:14px 0;border-bottom:1px solid var(--line)}.line-img{flex:none;width:92px;height:110px;border-radius:12px;overflow:hidden}.line-img img{width:100%;height:100%;object-fit:cover;display:block}
.line-b{flex:1 1 180px;min-width:0}.line-b h2{font-size:1.05rem;margin-bottom:4px}.line-b h2 a{text-decoration:none}.line-b p{margin:0 0 4px;white-space:pre-wrap}.line-logo{width:56px;height:56px;object-fit:contain;background:var(--panel);border-radius:8px;padding:4px}.line-act{display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.quote-total{margin-top:14px}.card-form{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:20px}.card-form h2{font-size:1.25rem;margin-bottom:14px}.card-form .btn{width:100%}
.done{text-align:center;display:grid;justify-items:center;gap:8px;padding-block:72px}.done-mark{width:68px;height:68px;border-radius:50%;background:var(--grad);color:#fff;display:grid;place-items:center}
.vals{display:grid;gap:22px;margin-top:30px}.vals h2{font-size:1.1rem;margin:8px 0 4px}@media (min-width:768px){.vals{grid-template-columns:repeat(4,1fr)}}
.two-col{display:grid;gap:28px}@media (min-width:1024px){.two-col{grid-template-columns:1fr 1fr;gap:48px}}.contact p{overflow-wrap:anywhere}
.coll-grid{display:grid;gap:14px;margin-top:18px}.coll-grid .rail-card{flex:none}@media (min-width:768px){.coll-grid{grid-template-columns:1fr 1fr}}
.coll-hero{padding-top:44px;overflow:hidden}.coll-in{display:grid;gap:14px;align-items:center}.coll-in .spaced,.coll-in .lead{color:inherit}.coll-in h1{font-size:clamp(3rem,10vw,8rem);line-height:.95;margin-bottom:12px}.coll-pic{height:auto;max-height:560px;border-radius:20px 20px 0 0;align-self:end}
@media (min-width:768px){.coll-in{grid-template-columns:1.2fr 1fr}}
.story{font:600 clamp(1.1rem,2vw,1.5rem)/1.45 var(--display);max-width:48ch;margin-bottom:36px}
.guides{display:grid;grid-template-columns:minmax(0,1fr);gap:36px;margin-top:24px}.guides h2{font-size:1.3rem;margin-bottom:10px}
.nf{display:grid;gap:32px;align-items:center;min-height:60vh}.nf .card{max-width:300px}@media (min-width:768px){.nf{grid-template-columns:1.4fr 1fr}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.about{display:grid;gap:32px;align-items:start}.about p{max-width:60ch}.about .ph{height:auto;max-height:760px;object-fit:contain;background:#fff;border-radius:20px}@media (min-width:1024px){.about{grid-template-columns:1.3fr 1fr}}
.gallery{min-width:0;max-width:600px;width:100%}

.merch-band{display:grid;gap:24px;align-items:center;padding-block:clamp(40px,6vw,72px)}.merch-band>div{display:grid;gap:12px}.merch-band p{margin:0}.merch-band .ph{height:clamp(240px,34vw,420px);border-radius:20px}
.merch-hero{display:grid;gap:24px;align-items:center;margin-bottom:24px}.merch-hero .ph{height:clamp(240px,30vw,400px);border-radius:20px}
@media (min-width:768px){.merch-band,.merch-hero{grid-template-columns:1fr 1fr;gap:48px}}
.merch-grid{margin-top:22px}.merch-img{background:#fff;aspect-ratio:1/1.15;box-shadow:inset 0 0 0 1px var(--line)}.merch-stage{background:#fff;aspect-ratio:1/1.2;box-shadow:inset 0 0 0 1px var(--line)}
.mcolors{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.dot.big{width:34px;height:34px}.qty{max-width:220px;margin-top:16px}.qty label{display:block;font:600 .84rem var(--body);margin-bottom:4px}
.md-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;margin-top:18px}.md-mug,.md-panel{min-width:0}@media (min-width:1024px){.md-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:40px}.md-mug{position:sticky;top:84px;align-self:start}}
.md-canvas{display:block;width:100%;height:auto;aspect-ratio:1000/1241;max-height:66vh;object-fit:contain;border-radius:20px;background:var(--panel)}.md-turn{display:flex;justify-content:center;margin:12px auto 6px;width:fit-content}.md-r{margin-top:4px}
.md-panel section{border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:8px}.md-panel p{margin:0 0 8px}
.md-bases{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:8px}.md-bases button{padding:0;border:2px solid transparent;border-radius:12px;overflow:hidden;background:var(--panel);cursor:pointer;color:var(--fg)}.md-bases button.on{border-color:var(--fg)}.md-bases .ph{height:auto;aspect-ratio:1/1.1}.md-bases span{display:block;font:600 .66rem/1.2 var(--display);padding:5px 2px}
.md-board{position:relative;width:100%;aspect-ratio:1600/648;border:1.5px dashed var(--fg);border-radius:10px;overflow:hidden;user-select:none;touch-action:none}.md-board.over{box-shadow:inset 0 0 0 3px var(--purple)}.md-mid{position:absolute;left:50%;top:0;bottom:0;border-left:1px dashed rgba(120,120,120,.6);pointer-events:none}
.md-tools{margin-top:10px}.dl-col{display:inline-flex;align-items:center;gap:6px;font-size:.84rem}.dl-col input{width:38px;height:32px;padding:2px;border:1px solid var(--line);border-radius:6px;background:none}

.fadein{animation:fadein .28s ease}@keyframes fadein{from{opacity:.35}to{opacity:1}}@media (prefers-reduced-motion:reduce){.fadein{animation:none}}
.social{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:14px}.social a{display:inline-flex;align-items:center;gap:8px;min-height:44px}.contact .social a{color:inherit;font-weight:600}
