/* EPIC Apparel — the store-world. Loaded only by /shop/*. Independent of style.css.
   One angle everywhere: the logo slope, 1:2 (26.57°). Every cut corner is 2 units across for 1 unit down.
   Obsidian / gunmetal / bronze are the base. Epic Blue is the bull "awake" signal only (eyes, focus, CTA pulse) — never a large fill.
   Motion is slow and heavy: ease-out, no bounce. */
@font-face{font-family:Archivo;src:url(../fonts/archivo-latin-wdth-normal.woff2) format("woff2");font-weight:100 900;font-stretch:62% 125%;font-display:swap}
@font-face{font-family:Inter;src:url(../fonts/inter-var.woff2) format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url(../fonts/cormorant-garamond-latin-500-normal.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url(../fonts/cormorant-garamond-latin-500-italic.woff2) format("woff2");font-weight:500;font-style:italic;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url(../fonts/cormorant-garamond-latin-700-normal.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Special Elite";src:url(../fonts/special-elite-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}

:root{
  --obs:#0B0B0D;--gun:#14161A;--gun2:#1C1F24;--gun3:#2A2E35;--bronze:#8F6A4D;--bronze-l:#B58E69;--bone:#EEEAE2;--bone-d:#D9D4C8;--tit:#8C949D;
  --blue:#0066FF;--sblue:#286AF2;--oxb:#5A0F1B;--oxb-d:#2A070D;--gold:#C9A25A;--gold-l:#E3C98C;--conc:#8A8A85;
  --head:Archivo,"Arial Narrow",Arial,sans-serif;--body:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;--serif:"Cormorant Garamond",Georgia,serif;--type:"Special Elite","Courier New",monospace;
  --cx:22px;--cy:11px;
  --cut:polygon(0 0,calc(100% - var(--cx)) 0,100% var(--cy),100% 100%,var(--cx) 100%,0 calc(100% - var(--cy)));
  --ease:cubic-bezier(.22,.61,.2,1);--slow:1100ms;
  --slab:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='20' viewBox='0 0 36 20'%3E%3Cpolygon points='0,16 32,0 32,4 0,20' fill='%238F6A4D'/%3E%3C/svg%3E");
  --grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;background:var(--obs)}
body.shop{margin:0;font-family:var(--body);font-size:1rem;line-height:1.6;color:var(--bone);background:var(--obs);--bg:var(--obs);--fg:var(--bone);--mut:#A29F98;--hair:rgba(238,234,226,.16);--acc:var(--bronze-l);overflow-x:hidden}
img,svg{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3,p,ul,figure{margin:0}
ul{padding:0;list-style:none}
button{font:inherit;color:inherit}
.wrap{width:min(100% - 2.5rem,1280px);margin-inline:auto}
.sr-only{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip-link{position:absolute;left:1rem;top:-4rem;z-index:100;background:var(--bone);color:#111;padding:.7rem 1rem;font-weight:700;transition:top .2s}
.skip-link:focus{top:1rem}
:focus-visible{outline:2px solid var(--blue);outline-offset:3px;box-shadow:0 0 0 5px rgba(0,102,255,.25)}
.eyebrow{display:flex;align-items:center;gap:.7rem;font-family:var(--head);font-stretch:125%;font-weight:600;font-size:.72rem;letter-spacing:.3em;text-transform:uppercase;color:var(--acc)}
.eyes{display:inline-flex;gap:3px;flex:none}
.eyes::before,.eyes::after{content:"";width:12px;height:5px;background:var(--blue);clip-path:polygon(0 100%,100% 0,100% 40%,0 100%,0 100%);clip-path:polygon(0 100%,100% 0,100% 55%,18% 100%);box-shadow:0 0 6px var(--blue)}
.eyes::after{transform:scaleX(-1)}

/* ---------- buttons: cut-corner, outlined; the blue one "wakes" ---------- */
.btn{--bb:rgba(238,234,226,.55);--bf:var(--bg,#0B0B0D);position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;gap:.7rem;min-height:3rem;padding:.8rem 1.7rem;border:0;background:var(--bb);color:var(--fg);font-family:var(--head);font-stretch:125%;font-weight:600;font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;text-decoration:none;cursor:pointer;--cx:16px;--cy:8px;clip-path:var(--cut);transition:color .6s var(--ease)}
.btn::before{content:"";position:absolute;inset:1.5px;background:var(--bf);clip-path:polygon(0 0,calc(100% - var(--cx) + 1px) 0,100% calc(var(--cy) - .5px),100% 100%,calc(var(--cx) - 1px) 100%,0 calc(100% - var(--cy) + .5px));z-index:-1;transition:background .6s var(--ease)}
.btn svg{width:1.1rem;height:1.1rem;flex:none}
.btn:hover::before{background:color-mix(in srgb,var(--bf) 82%,var(--fg))}
.btn--pulse{--bb:var(--blue)}
.btn--pulse::after{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse 60% 120% at 50% 130%,rgba(0,102,255,.6),transparent 70%);opacity:0;animation:eyeglow 4.2s ease-in-out infinite}
.btn--ghost{--bb:rgba(238,234,226,.3)}
@keyframes eyeglow{0%,100%{opacity:.05}50%{opacity:1}}
.pill{display:inline-flex;align-items:center;gap:.6rem;font-family:var(--head);font-stretch:125%;font-weight:600;font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;padding:.45rem .8rem;border:1px solid var(--hair)}
.pill--sm{font-size:.62rem;padding:.3rem .55rem}
.linklike{background:none;border:0;padding:0;color:inherit;text-decoration:underline;cursor:pointer}
.shop-note{padding-block:2rem;color:var(--mut)}

/* ---------- header (always dark) ---------- */
.sh{position:sticky;top:0;z-index:50;background:#08080A;color:var(--bone);border-bottom:1px solid rgba(238,234,226,.1);transition:box-shadow .6s var(--ease)}
.sh.is-stuck{box-shadow:0 10px 30px -12px rgba(0,0,0,.7)}
.sh__strip{background:#050506;border-bottom:1px solid rgba(238,234,226,.07);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:#8d8a84}
.sh__strip-in{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:2rem}
.sh__back{display:inline-flex;align-items:center;gap:.5rem;text-decoration:none}
.sh__back svg{width:.9rem;height:.9rem}
.sh__back:hover,.sh__main a:hover{color:var(--bone)}
.sh__tag{font-family:var(--head);font-stretch:125%;letter-spacing:.3em}
.sh__main{display:flex;gap:1.4rem}.sh__main a{text-decoration:none}
.sh__bar-in{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:2rem;min-height:4.2rem}
.sh__brand{display:inline-flex;align-items:center;gap:.9rem;text-decoration:none}
.sh__brand img{height:2rem;width:auto}
.sh__slash{font-family:var(--head);font-weight:300;font-size:1.5rem;color:#6c6a66;line-height:1}
.sh__shop{font-family:var(--head);font-stretch:125%;font-weight:600;font-size:.95rem;letter-spacing:.26em;text-transform:uppercase;color:#c9c5bc}
.sh__nav{display:flex;justify-content:center;gap:clamp(1.4rem,3.2vw,3.4rem)}
.sh__nav a{position:relative;padding:.4rem 0;font-family:var(--head);font-stretch:125%;font-weight:500;font-size:.78rem;letter-spacing:.26em;text-transform:uppercase;text-decoration:none;color:#c9c5bc;transition:color .6s var(--ease)}
.sh__nav a::after{content:"";position:absolute;left:0;right:0;bottom:-.2rem;height:2px;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform .8s var(--ease);box-shadow:0 0 8px var(--blue)}
.sh__nav a:hover,.sh__nav a[aria-current]{color:#fff}
.sh__nav a:hover::after,.sh__nav a[aria-current]::after{transform:scaleX(1)}
.sh__list{position:relative;display:inline-flex;align-items:center;gap:.6rem;text-decoration:none;font-family:var(--head);font-stretch:125%;font-weight:500;font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;color:#c9c5bc}
.sh__list svg{width:1.4rem;height:1.4rem}
.sh__list:hover{color:#fff}
.sh__count{display:inline-grid;place-items:center;min-width:1.25rem;height:1.25rem;padding:0 .25rem;background:var(--blue);color:#fff;font-size:.68rem;font-weight:700;letter-spacing:0;clip-path:polygon(0 0,70% 0,100% 30%,100% 100%,30% 100%,0 70%)}
.sh__toggle{display:none;width:2.8rem;height:2.8rem;background:none;border:1px solid rgba(238,234,226,.25);cursor:pointer;position:relative}
.sh__toggle i{position:absolute;left:.8rem;right:.8rem;height:2px;background:var(--bone);transition:transform .6s var(--ease)}
.sh__toggle i:first-of-type{top:1.05rem}.sh__toggle i:last-of-type{top:1.6rem}
.nav-open .sh__toggle i:first-of-type{transform:translateY(.27rem) rotate(26.57deg)}.nav-open .sh__toggle i:last-of-type{transform:translateY(-.28rem) rotate(-26.57deg)}

/* ---------- plate dividers ---------- */
.slabs,.sf__slabs,.sec-h__rule{display:block;background:var(--slab) repeat-x;height:20px}
.sec-h__rule{display:inline-block;width:5.4rem;height:20px;vertical-align:middle;margin-left:1.2rem;background-size:36px 20px;opacity:.9}

/* ---------- hero: the bull ---------- */
.hero{--hh:min(56.25vw,calc(100svh - 6.2rem));position:relative;height:max(var(--hh),30rem);overflow:hidden;background:#000;isolation:isolate}
.hero__bull{position:absolute;inset:0}
.hero__img{position:absolute;left:50%;top:50%;width:max(100%,calc(var(--hh) * 1.7778));aspect-ratio:16/9;transform:translate3d(calc(-50% + var(--mx,0px)),calc(-50% + var(--py,0px)),0) scale(1.04);will-change:transform}
.hero__img img{width:100%;height:100%;object-fit:cover}
.hero__eye{position:absolute;top:45.3%;width:2.2%;height:1.6%;transform:translate(-50%,-50%);background:radial-gradient(closest-side,rgba(60,140,255,.95),rgba(0,102,255,.5) 40%,transparent 75%);mix-blend-mode:screen;opacity:.55;animation:eyeglow 4.6s ease-in-out infinite;filter:blur(2px)}
.hero__eye--l{left:44.7%}.hero__eye--r{left:55.5%;animation-delay:.12s}
.hero__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.45),rgba(0,0,0,0) 22%,rgba(0,0,0,0) 62%,rgba(0,0,0,.9))}
.hero__in{position:relative;z-index:2;height:100%;display:grid;grid-template-columns:1fr minmax(0,46%) 1fr;grid-template-rows:auto 1fr auto;align-items:center;column-gap:0;padding-block:clamp(1.2rem,3vw,2.4rem)}
.hero__eb{grid-column:1/-1;justify-content:flex-start}
.hero__h{display:contents;font-family:var(--head)}
.hero__w{grid-row:2;font-family:var(--head);font-stretch:125%;font-weight:300;font-size:clamp(1.1rem,2.3vw,2.7rem);letter-spacing:.3em;text-transform:uppercase;line-height:1.1;color:#d7d3ca;white-space:nowrap;text-shadow:0 2px 24px #000}
.hero__w--l{grid-column:1;justify-self:end;padding-right:1.6rem;transform:translateY(-10%);position:relative;padding-bottom:.9rem}
.hero__w--r{grid-column:3;justify-self:start;padding-left:1.6rem;transform:translateY(-10%);position:relative;padding-bottom:.9rem}
.hero__w::after{content:"";position:absolute;left:1.6rem;right:1.9rem;bottom:0;height:1px;background:linear-gradient(90deg,transparent,rgba(238,234,226,.45) 50%,transparent)}
.hero__cta{grid-column:1/-1;grid-row:3;justify-self:center;align-self:end}
.hero__cta .btn{--bf:rgba(8,10,16,.82);padding-inline:2.4rem}
.hero__prev{position:absolute;z-index:3;right:1rem;bottom:.6rem;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:#7a7771}

/* ---------- doors: three collections, three worlds ---------- */
.doors{background:var(--obs);padding:.6rem 0 0}
.doors__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;width:min(100% - 1.2rem,1700px);margin-inline:auto}
.door{--cx:34px;--cy:17px;position:relative;display:block;min-height:clamp(23rem,34vw,31rem);overflow:hidden;text-decoration:none;color:var(--bone);clip-path:var(--cut);isolation:isolate;transition:filter .9s var(--ease)}
.door::before{content:"";position:absolute;inset:0;z-index:-2;background:var(--dbg)}
.door::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:var(--dfx);opacity:var(--dfo,.6)}
.door__body{position:relative;z-index:2;display:flex;flex-direction:column;align-items:flex-start;gap:.9rem;padding:clamp(1.6rem,2.4vw,2.4rem);height:100%;max-width:60%}
.door__no{font-family:var(--head);font-stretch:125%;font-weight:300;font-size:1.5rem;letter-spacing:.2em;color:var(--acc)}
.door__name{font-family:var(--head);font-stretch:125%;font-weight:700;font-size:clamp(1.25rem,1.9vw,1.9rem);letter-spacing:.16em;text-transform:uppercase;line-height:1.15;margin-top:auto}
.door__name small{display:block;font-size:.5em;letter-spacing:.5em;font-weight:500;color:var(--acc);margin-bottom:.35rem}
.door__words{font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;line-height:1.9;color:#cfcbc2;max-width:15rem}
.door__go{display:inline-flex;align-items:center;gap:.8rem;margin-top:.4rem;padding:.7rem 1.2rem;font-family:var(--head);font-stretch:125%;font-weight:600;font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;border:1px solid rgba(238,234,226,.4);transition:border-color .7s var(--ease),box-shadow .7s var(--ease),background .7s var(--ease)}
.door__go svg{width:1rem;height:1rem;transition:transform .8s var(--ease)}
.door:hover .door__go,.door:focus-visible .door__go{border-color:var(--blue);box-shadow:0 0 0 1px rgba(0,102,255,.4),0 0 22px -4px rgba(0,102,255,.7)}
.door:hover .door__go svg{transform:translateX(6px)}
.door__count{font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:#8d8a84}
.door__stage{position:absolute;z-index:1;right:-3%;top:5%;bottom:1%;width:62%;display:block}
.door .door__f{position:absolute}
.door .door__f--0{inset:0;width:auto;height:auto}
.door .door__f--1{inset:auto 30% -3% auto;width:44%;height:34%;z-index:2}
.door[data-w=signature]{--dbg:radial-gradient(ellipse 70% 60% at 70% 40%,#4A0F1A 0,#1A070C 55%,#0A0507 100%);--dfx:linear-gradient(180deg,transparent,rgba(201,162,90,.1));--acc:var(--gold)}
.door[data-w=signature] .door__name{font-family:var(--serif);font-stretch:100%;font-weight:700;letter-spacing:.14em}
.door[data-w=street]{--dbg:linear-gradient(135deg,#242422,#101010 70%);--dfx:var(--grain);--dfo:.1;--acc:#b3afa4}
.door[data-w=street] .door__name{font-stretch:62%;font-size:clamp(1.7rem,2.5vw,2.6rem);letter-spacing:.06em;font-weight:900}
.door[data-w=performance]{--dbg:linear-gradient(135deg,#2a2d33,#14161a 60%,#0d0e11);--dfx:linear-gradient(115deg,transparent 40%,rgba(238,234,226,.07) 40.2%,rgba(238,234,226,.07) 41%,transparent 41.2%,transparent 62%,rgba(143,106,77,.12) 62.2%,rgba(143,106,77,.12) 63.4%,transparent 63.6%);--dfo:1;--acc:var(--bronze-l)}

/* ---------- featured / pieces (light band, like a studio table) ---------- */
.feat,.pieces{background:var(--bone);color:#111317;--fg:#111317;--bg:var(--bone);--mut:#5c5a56;--hair:rgba(17,19,23,.16);--acc:var(--bronze);padding:clamp(2.6rem,5vw,4.4rem) 0 clamp(3rem,6vw,5.4rem);margin-top:.6rem}
.sec-h{margin-bottom:1.6rem}
.sec-h--row{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.sec-h__t{font-family:var(--head);font-stretch:125%;font-weight:700;font-size:clamp(1.15rem,2.2vw,1.75rem);letter-spacing:.2em;text-transform:uppercase;line-height:1.2}
.sec-h__t--s{font-size:1.15rem}
.shop-count{font-family:var(--head);font-stretch:125%;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--mut)}
.filters{display:flex;flex-wrap:wrap;gap:.8rem 2.2rem;margin:0 0 1.8rem}
.fgroup{display:flex;align-items:center;gap:.9rem;flex-wrap:wrap}
.fgroup__l{font-family:var(--head);font-stretch:125%;font-size:.66rem;letter-spacing:.26em;text-transform:uppercase;color:var(--mut)}
.fchips{display:flex;gap:.4rem;flex-wrap:wrap}
.fchip{--cx:10px;--cy:5px;min-height:2.4rem;padding:.4rem 1rem;background:transparent;border:0;cursor:pointer;font-family:var(--head);font-stretch:125%;font-weight:600;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;position:relative;isolation:isolate;clip-path:var(--cut);transition:color .6s var(--ease)}
.fchip{background:rgba(17,19,23,.28)}
.fchip::before{content:"";position:absolute;inset:1px;z-index:-1;background:var(--bone);clip-path:var(--cut);transition:background .6s var(--ease)}
.fchip[aria-pressed=true]{color:var(--bone)}
.fchip[aria-pressed=true]::before{background:#111317}
.fchip[aria-pressed=true]{background:var(--blue)}
.pgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(.8rem,1.6vw,1.4rem)}
.pgrid--line{grid-template-columns:repeat(4,1fr)}
.shop-empty{grid-column:1/-1;padding:2rem 0;color:var(--mut)}
.pcard{position:relative;min-width:0}
.pcard__media{position:relative;display:block;aspect-ratio:4/5;overflow:hidden;background:var(--pbg,linear-gradient(180deg,#E6E3DC,#CDC9BF));text-decoration:none}
.pcard__media .f3d{position:absolute;inset:0}
.pcard__tag{position:absolute;left:.7rem;top:.7rem;z-index:3;font-family:var(--head);font-stretch:125%;font-weight:600;font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;color:#111;background:rgba(238,234,226,.9);padding:.28rem .5rem;clip-path:polygon(0 0,calc(100% - 8px) 0,100% 4px,100% 100%,0 100%)}
.pcard[data-w=performance] .pcard__tag{display:none}
.pcard__code{position:absolute;right:.8rem;top:.6rem;z-index:3;font-family:var(--head);font-stretch:125%;font-weight:300;font-size:1.25rem;letter-spacing:.18em;color:#111317;opacity:.7}
.pcard__save{position:absolute;right:.6rem;bottom:calc(5.2rem + .6rem);z-index:4;width:2.5rem;height:2.5rem;display:grid;place-items:center;background:rgba(238,234,226,.92);border:0;color:#111;cursor:pointer;clip-path:polygon(0 0,70% 0,100% 30%,100% 100%,30% 100%,0 70%);transition:color .5s}
.pcard__save svg{width:1.15rem;height:1.15rem}
.pcard__save[aria-pressed=true]{color:#fff;background:var(--blue)}
.pcard__save[aria-pressed=true] svg{fill:currentColor}
.pcard__body{padding:1rem .2rem 0;text-align:center}
.pcard__line{font-size:.62rem;letter-spacing:.24em;text-transform:uppercase;color:var(--mut)}
.pcard__name{font-family:var(--head);font-stretch:125%;font-weight:700;font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;line-height:1.35;margin:.25rem 0}
.pcard__name a{text-decoration:none}
.pcard__name a::after{content:"";position:absolute;inset:0;z-index:2}
.pcard__save{z-index:5}
.pcard__meta{display:flex;justify-content:center;align-items:center;gap:.8rem;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--mut)}
.sw-row{display:inline-flex;gap:.3rem}
.sw{width:.75rem;height:.75rem;background:var(--c);border:1px solid rgba(17,19,23,.35);clip-path:polygon(0 0,70% 0,100% 30%,100% 100%,30% 100%,0 70%)}
.pcard[data-w=signature] .pcard__media{--pbg:radial-gradient(ellipse 80% 60% at 50% 38%,#4c101c,#1a070c 62%,#0c0507);box-shadow:inset 0 0 0 1px rgba(201,162,90,.45)}
.pcard[data-w=street] .pcard__media{--pbg:linear-gradient(160deg,#2a2a28,#121212);}
.pcard[data-w=street] .pcard__media::after{content:"";position:absolute;inset:0;background:var(--grain);opacity:.09;pointer-events:none;z-index:1}
.pcard[data-w=signature] .pcard__code,.pcard[data-w=street] .pcard__code{color:var(--bone)}
.pcard:hover .pcard__media{outline:0}
.pcard__media{transition:box-shadow .8s var(--ease)}
.pcard:hover .pcard__media,.pcard:focus-within .pcard__media{box-shadow:0 0 0 2px var(--blue),0 18px 34px -16px rgba(0,0,0,.5)}

/* ---------- the bull explained ---------- */
.code,.wl,.others{color:var(--bone)}
.code{padding:clamp(3rem,6vw,5.5rem) 0;background:linear-gradient(180deg,#0B0B0D,#101216);border-top:1px solid rgba(238,234,226,.08)}
.code .sec-h__t{font-size:clamp(1.5rem,3.2vw,2.6rem)}
.code__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(238,234,226,.12)}
.code__i{padding:clamp(1.4rem,2.4vw,2.2rem);background:#0e1013}
.code__n{display:block;font-family:var(--head);font-stretch:125%;font-weight:300;font-size:2rem;letter-spacing:.14em;color:var(--bronze-l);margin-bottom:.8rem}
.code__i h3{font-family:var(--head);font-stretch:125%;font-weight:700;font-size:.95rem;letter-spacing:.16em;text-transform:uppercase;margin-bottom:.6rem}
.code__i p{color:#b2afa7;font-size:.95rem;line-height:1.7}
.wl{padding:clamp(2.6rem,5vw,4.2rem) 0;background:#101216;border-top:1px solid rgba(238,234,226,.08)}
.wl__in{display:flex;justify-content:space-between;align-items:center;gap:2rem;flex-wrap:wrap}
.wl__p{max-width:34rem;color:#b2afa7;margin-top:.8rem}
.wl__cta{display:flex;gap:.8rem;flex-wrap:wrap}

/* ---------- footer ---------- */
.sf{color:var(--bone);background:#070708;border-top:1px solid rgba(238,234,226,.08);padding-bottom:1.2rem}
.sf__slabs{height:20px;opacity:.55;margin-bottom:2.4rem}
.sf__grid{display:grid;grid-template-columns:1.2fr repeat(3,1fr);gap:2rem;padding-bottom:2rem}
.sf__brand img{margin-bottom:.8rem}
.sf__name{font-family:var(--head);font-stretch:125%;letter-spacing:.2em;text-transform:uppercase;font-size:.9rem}
.sf__tag{color:var(--bronze-l);font-size:.8rem;letter-spacing:.2em;text-transform:uppercase;margin-top:.3rem}
.sf__h{font-family:var(--head);font-stretch:125%;font-weight:600;font-size:.68rem;letter-spacing:.3em;text-transform:uppercase;color:#8d8a84;margin-bottom:.8rem}
.sf li{margin:.35rem 0}.sf a{text-decoration:none;color:#c9c5bc;font-size:.9rem}.sf a:hover{color:#fff;text-decoration:underline}
.sf__bottom{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding-top:1.2rem;border-top:1px solid rgba(238,234,226,.08);font-size:.74rem;color:#7a7771}

/* ---------- line pages ---------- */
.lp{position:relative;overflow:hidden;padding:clamp(1.6rem,3vw,2.6rem) 0 clamp(2.4rem,5vw,4.5rem);isolation:isolate;background:var(--lbg,#0B0B0D)}
.lp__in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:2rem;align-items:center;min-height:min(40rem,72vh)}
.crumbs{display:flex;gap:.6rem;align-items:center;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--mut);margin-bottom:1.6rem;flex-wrap:wrap}
.crumbs a{text-decoration:none}.crumbs a:hover{text-decoration:underline}
.lp__h{font-family:var(--head);font-stretch:125%;font-weight:800;font-size:clamp(2.2rem,6vw,5rem);letter-spacing:.1em;text-transform:uppercase;line-height:1.02;margin:1rem 0}
.lp__h small{display:block;font-size:.3em;letter-spacing:.7em;font-weight:500;color:var(--acc);margin-bottom:.7rem}
.lp__tag{font-size:1.15rem;letter-spacing:.04em;color:var(--fg)}
.lp__story{max-width:34rem;margin-top:1rem;color:var(--mut);line-height:1.75}
.pillars{display:flex;flex-wrap:wrap;gap:.5rem 1.8rem;margin:1.6rem 0 0}
.pillars li{display:flex;flex-direction:column;border-left:2px solid var(--acc);padding-left:.7rem}
.pillars b{font-family:var(--head);font-stretch:125%;font-size:.76rem;letter-spacing:.2em;text-transform:uppercase}
.pillars span{font-size:.7rem;color:var(--mut);letter-spacing:.1em}
.mottos{display:flex;flex-direction:column;gap:.3rem;margin-top:1.4rem;font-family:var(--head);font-stretch:125%;font-size:.68rem;letter-spacing:.3em;color:var(--acc)}
.lp__go{margin-top:2rem}
.lp__media{position:relative;min-height:clamp(22rem,42vw,36rem)}
.lp__fig{position:absolute;display:block;text-decoration:none}
.lp__fig--0{inset:0 18% 0 8%}
.lp__fig--1{inset:12% 0 6% 56%;z-index:2}
.lp__fig:only-child{inset:0 12%}
.lp__fig .f3d{position:absolute;inset:0}

/* Performance: calm, light, technical — with the dark hero band from the collection board */
html[data-world=performance] body.shop{--bg:var(--bone);--fg:#111317;--mut:#5c5a56;--hair:rgba(17,19,23,.16);--acc:var(--bronze);background:var(--bone);color:#111317}
html[data-world=performance] .lp{--lbg:linear-gradient(135deg,#1b1e23,#0e0f12 62%);--fg:var(--bone);--mut:#a8a59e;--acc:var(--bronze-l);color:var(--bone)}
html[data-world=performance] .lp::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(115deg,transparent 52%,rgba(238,234,226,.06) 52.1%,rgba(238,234,226,.06) 53.4%,transparent 53.5%,transparent 70%,rgba(143,106,77,.14) 70.1%,rgba(143,106,77,.14) 71.2%,transparent 71.3%),linear-gradient(115deg,transparent 84%,rgba(40,106,242,.2) 84.1%,rgba(40,106,242,.2) 84.7%,transparent 84.8%)}
html[data-world=performance] .lp__h{font-weight:300;letter-spacing:.1em;font-size:clamp(1.55rem,3.3vw,3.1rem)}
html[data-world=performance] .lp{--bg:#0e0f12}
html[data-world=performance] .pieces{background:var(--bone)}
.palette{background:#E4E0D6;color:#111317;padding:clamp(1.8rem,3vw,2.6rem) 0}
.palette__in{display:grid;grid-template-columns:auto 1fr;gap:2rem;align-items:center}
.palette ul{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem}
.palette li{display:flex;flex-direction:column;gap:.15rem;font-size:.74rem;color:#5c5a56}
.palette li i{display:block;height:3.2rem;background:var(--c);margin-bottom:.5rem;clip-path:polygon(0 0,calc(100% - 22px) 0,100% 11px,100% 100%,0 100%);border:0}
.palette li b{font-family:var(--head);font-stretch:125%;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:#111317}
.palette code{font:500 .68rem/1 var(--body);letter-spacing:.1em;color:#7b7872}
.palette .eyebrow{color:var(--bronze)}

/* Signature: sacred, vertical, gold on obsidian */
html[data-world=signature] body.shop{background:radial-gradient(ellipse 70% 40% at 50% 0,#2a0a11,transparent 70%),#0A0608;--acc:var(--gold)}
html[data-world=signature] .lp{--lbg:radial-gradient(ellipse 60% 70% at 72% 45%,#4A0F1A 0,#1A070C 55%,#0A0608 100%);--acc:var(--gold)}
html[data-world=signature] .lp::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:.6}
html[data-world=signature] .lp__h{font-family:var(--serif);font-stretch:100%;font-weight:700;letter-spacing:.16em}
html[data-world=signature] .lp__tag,html[data-world=signature] .pinfo__tag{font-family:var(--serif);font-style:italic;font-size:1.6rem;color:var(--gold-l)}
html[data-world=signature] .pillars li{border-color:var(--gold)}
html[data-world=signature] .mottos{color:var(--gold);letter-spacing:.34em}
html[data-world=signature] .pieces{background:#0E0709;color:var(--bone);--fg:var(--bone);--bg:#0E0709;--mut:#a89f9b;--hair:rgba(201,162,90,.3);--acc:var(--gold)}
html[data-world=signature] .pieces .fchip::before{background:#0E0709}
html[data-world=signature] .pcard__tag{background:var(--gold);color:#1a070c}

/* Street: raw, washed, taped — condensed, gritty */
html[data-world=street] body.shop{background:#121211;--acc:#c8c3b4;--mut:#9a968c}
html[data-world=street] body.shop::before{content:"";position:fixed;inset:0;z-index:60;pointer-events:none;background:var(--grain);opacity:.06}
html[data-world=street] .lp{--lbg:linear-gradient(160deg,#262624,#121211 70%)}
html[data-world=street] .lp__h{font-stretch:62%;font-weight:900;letter-spacing:.02em;font-size:clamp(3rem,9vw,7.5rem);line-height:.9}
html[data-world=street] .lp__h small{font-family:var(--type);font-stretch:100%;font-weight:400;letter-spacing:.4em}
html[data-world=street] .lp__tag{font-family:var(--type);font-size:1.15rem;text-transform:uppercase;letter-spacing:.08em}
html[data-world=street] .eyebrow,html[data-world=street] .mottos{font-family:var(--type);font-stretch:100%;font-weight:400}
html[data-world=street] .pieces{background:#1a1a18;color:var(--bone);--fg:var(--bone);--bg:#1a1a18;--mut:#9a968c;--hair:rgba(238,234,226,.2);--acc:#c8c3b4;background-image:linear-gradient(0deg,rgba(0,0,0,.2),rgba(0,0,0,.2))}
html[data-world=street] .pieces .fchip::before{background:#1a1a18}
html[data-world=street] .sec-h__t{font-stretch:62%;font-weight:900;letter-spacing:.06em;font-size:clamp(1.8rem,4vw,3rem)}
.tapeband{overflow:hidden;background:var(--bone);color:#111;transform:skewY(-1.2deg);margin:-1rem 0 1.4rem;border-block:2px solid #111;position:relative;z-index:3;box-shadow:0 10px 30px -10px rgba(0,0,0,.7)}
.tapeband__t{display:flex;width:max-content;animation:tape 60s linear infinite}
.tapeband__t span{padding:.55rem 2rem;font-family:var(--head);font-stretch:62%;font-weight:900;font-size:1.25rem;letter-spacing:.18em;text-transform:uppercase;white-space:nowrap}
.tapeband__t span::after{content:"/";margin-left:2rem;color:#8a8a85}
@keyframes tape{to{transform:translateX(-50%)}}
.others{background:#0B0B0D;padding:clamp(2.4rem,4vw,3.4rem) 0;border-top:1px solid rgba(238,234,226,.08);color:var(--bone);--mut:#a29f98}
.others__h{font-family:var(--head);font-stretch:125%;font-weight:600;font-size:.72rem;letter-spacing:.3em;text-transform:uppercase;color:#8d8a84;margin-bottom:1rem}
.others__row{display:grid;grid-template-columns:repeat(2,1fr);gap:.6rem}
.oline{--cx:26px;--cy:13px;position:relative;display:flex;flex-direction:column;gap:.3rem;padding:1.4rem 1.6rem;text-decoration:none;background:var(--ob,#17191d);clip-path:var(--cut);transition:background .8s var(--ease)}
.oline span{font-size:.66rem;letter-spacing:.22em;text-transform:uppercase;color:#a29f98}
.oline b{font-family:var(--head);font-stretch:125%;font-size:1.05rem;letter-spacing:.14em;text-transform:uppercase}
.oline i{position:absolute;right:1.4rem;top:50%;width:1.4rem;height:1.4rem;transform:translateY(-50%);transition:transform .8s var(--ease);color:var(--bronze-l)}
.oline:hover i{transform:translate(6px,-50%)}
.oline[data-w=signature]{--ob:linear-gradient(135deg,#3a0c15,#12060a)}.oline[data-w=street]{--ob:linear-gradient(135deg,#242422,#121211)}.oline[data-w=performance]{--ob:linear-gradient(135deg,#2a2d33,#14161a)}

/* ---------- product page ---------- */
.pdp{padding:clamp(1.4rem,3vw,2.4rem) 0 clamp(2.4rem,4vw,3.6rem);background:var(--pdpbg,transparent)}
.pdp__in{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(1.6rem,4vw,4rem);align-items:start}
.gallery{position:sticky;top:7.4rem}
.gallery__main{position:relative;aspect-ratio:1/1.08;overflow:hidden;background:var(--gbg,linear-gradient(180deg,#E8E5DE,#CFCBC1));clip-path:polygon(0 0,calc(100% - 44px) 0,100% 22px,100% 100%,44px 100%,0 calc(100% - 22px))}
.gallery__main::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 60% 40% at 50% 100%,rgba(0,0,0,.14),transparent 70%)}
#g-stagebox,#g-stagebox .f3d{position:absolute;inset:0}
.f3d--pdp{touch-action:pan-y;cursor:grab;-webkit-user-select:none;user-select:none}
.f3d--pdp.is-drag{cursor:grabbing}
.gdetail{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;z-index:3;background:#18181a;animation:rise 1s var(--ease) both}
.gdetail[hidden]{display:none}
.gallery__tag{position:absolute;left:1rem;bottom:1rem;z-index:5;font-family:var(--head);font-stretch:125%;font-weight:600;font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:#111;background:rgba(238,234,226,.92);padding:.35rem .6rem}
.gallery__hint{position:absolute;right:1rem;bottom:1rem;z-index:5;font-size:.64rem;letter-spacing:.18em;text-transform:uppercase;color:#4b4a46}
.gallery__hint[hidden]{display:none}
.gnav{position:absolute;top:50%;z-index:6;width:2.8rem;height:2.8rem;display:grid;place-items:center;transform:translateY(-50%);background:rgba(11,11,13,.82);color:var(--bone);border:0;cursor:pointer;clip-path:polygon(0 0,70% 0,100% 30%,100% 100%,30% 100%,0 70%);transition:background .6s var(--ease)}
.gnav:hover{background:#000;box-shadow:0 0 0 1px var(--blue)}
.gnav svg{width:1.2rem;height:1.2rem}.gnav--p{left:.8rem}.gnav--p svg{transform:scaleX(-1)}.gnav--n{right:.8rem}.gnav[hidden]{display:none}
.gyro{position:absolute;left:50%;top:1rem;z-index:6;transform:translateX(-50%);padding:.55rem 1rem;border:1px solid var(--blue);background:rgba(11,11,13,.85);color:var(--bone);font-family:var(--head);font-stretch:125%;font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;box-shadow:0 0 18px -4px rgba(0,102,255,.8)}
.gyro[hidden]{display:none}
.gallery__thumbs{display:flex;gap:.6rem;margin-top:.7rem;flex-wrap:wrap}
.thumb{--cx:12px;--cy:6px;position:relative;width:5.6rem;padding:0;border:0;background:#cfcbc1;cursor:pointer;clip-path:var(--cut);isolation:isolate;overflow:hidden;color:#111;text-align:center}
.thumb img{width:100%;aspect-ratio:1/1;object-fit:contain;padding:.35rem}
.thumb--detail img{object-fit:cover;padding:0}
.thumb span{display:block;font-size:.56rem;letter-spacing:.16em;text-transform:uppercase;padding:.2rem 0 .35rem;font-family:var(--head);font-stretch:125%;font-weight:600}
.thumb.is-on{box-shadow:inset 0 0 0 2px var(--blue);outline:2px solid var(--blue);outline-offset:-2px}
.gallery__note{font-size:.72rem;color:var(--mut);margin-top:.8rem}
.pinfo__line{font-family:var(--head);font-stretch:125%;font-size:.7rem;letter-spacing:.26em;text-transform:uppercase;text-decoration:none;color:var(--acc)}
.pinfo__name{font-family:var(--head);font-stretch:125%;font-weight:800;font-size:clamp(1.6rem,3.2vw,2.6rem);letter-spacing:.06em;text-transform:uppercase;line-height:1.1;margin:.7rem 0 .5rem}
.pinfo__tag{font-size:1.05rem;color:var(--mut)}
.pinfo__status{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin:1.2rem 0}
.pinfo__price{font-family:var(--head);font-stretch:125%;font-weight:600;letter-spacing:.14em;text-transform:uppercase;font-size:.9rem}
.pinfo__sum{max-width:34rem;line-height:1.75;margin-bottom:1.4rem}
fieldset{border:0;padding:0;margin:0 0 1.3rem;min-width:0}
legend{font-family:var(--head);font-stretch:125%;font-weight:600;font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;margin-bottom:.7rem;padding:0;display:flex;gap:1rem;align-items:baseline}
.guide-link{font-size:.64rem;color:var(--acc);letter-spacing:.14em}
.colors__row{display:flex;gap:.6rem}
.cswatch{position:relative;cursor:pointer}
.cswatch input{position:absolute;opacity:0;inset:0}
.cswatch__dot{display:block;width:2.2rem;height:2.2rem;background:var(--c);border:1px solid var(--hair);clip-path:polygon(0 0,70% 0,100% 30%,100% 100%,30% 100%,0 70%)}
.cswatch input:checked+.cswatch__dot{box-shadow:0 0 0 2px var(--bg),0 0 0 4px var(--blue)}
.cswatch input:focus-visible+.cswatch__dot{outline:2px solid var(--blue);outline-offset:3px}
.sizes__row{display:flex;flex-wrap:wrap;gap:.5rem}
.size{position:relative;cursor:pointer}
.size input{position:absolute;opacity:0;inset:0;cursor:pointer}
.size span{display:grid;place-items:center;min-width:3.2rem;min-height:2.8rem;padding:0 .8rem;font-family:var(--head);font-stretch:125%;font-weight:600;font-size:.76rem;letter-spacing:.12em;border:1px solid var(--hair);transition:background .5s,color .5s,border-color .5s}
.size:hover span{border-color:var(--fg)}
.size input:checked+span{background:var(--fg);color:var(--bg);border-color:var(--fg)}
.size input:focus-visible+span{outline:2px solid var(--blue);outline-offset:2px}
.sizes--one .label{font-weight:600;letter-spacing:.2em;text-transform:uppercase;font-size:.7rem}
.buy{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:.4rem}
.buy .btn{flex:1 1 13rem}
.buy__save svg{width:1.1rem;height:1.1rem}
.buy__save[aria-pressed=true] svg{fill:currentColor;color:var(--blue)}
.buy__hint{font-size:.8rem;color:var(--mut);margin:.9rem 0 1.6rem}
.acc details{border-top:1px solid var(--hair)}.acc details:last-child{border-bottom:1px solid var(--hair)}
.acc summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:1rem 0;font-family:var(--head);font-stretch:125%;font-weight:600;font-size:.74rem;letter-spacing:.22em;text-transform:uppercase}
.acc summary::-webkit-details-marker{display:none}
.acc summary::after{content:"";width:.7rem;height:.7rem;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translate(-3px,-3px);transition:transform .7s var(--ease)}
.acc details[open] summary::after{transform:rotate(-135deg)}
.acc details>div{padding:0 0 1.2rem;color:var(--mut);line-height:1.75}
.acc details>div p+p{margin-top:.7rem}
.plist{padding-left:1.1rem;list-style:disc}.plist li{margin:.3rem 0}
/* product page worlds */
html[data-world=performance] .pdp{background:var(--bone)}
html[data-world=signature] .pdp{--gbg:radial-gradient(ellipse 70% 60% at 50% 40%,#4d101c,#1a070c 70%,#0b0507)}
html[data-world=signature] .gallery__tag,html[data-world=signature] .gallery__hint{color:var(--gold-l);background:none}
html[data-world=signature] .gallery__tag{background:rgba(10,6,8,.8)}
html[data-world=street] .pdp{--gbg:linear-gradient(160deg,#2c2c2a,#131312)}
html[data-world=street] .gallery__hint{color:#aaa59a}
html[data-world=street] .pinfo__name{font-stretch:62%;font-weight:900;font-size:clamp(2.2rem,4.6vw,3.8rem);letter-spacing:.03em}
html[data-world=signature] .pinfo__name{font-family:var(--serif);font-stretch:100%;letter-spacing:.1em}
html[data-world=signature] .thumb,html[data-world=street] .thumb{background:#2a2a2a}
html[data-world=signature] .thumb,html[data-world=street] .thumb{color:var(--bone)}
html[data-world=signature] .pieces--more,html[data-world=street] .pieces--more{margin-top:0}

/* ---------- cart & documents ---------- */
.doc-top{padding:2.4rem 0 .6rem}.doc-top__h{font-family:var(--head);font-stretch:125%;font-weight:700;font-size:clamp(1.8rem,4vw,3rem);letter-spacing:.14em;text-transform:uppercase;margin-top:.4rem}
.doc{padding:2rem 0 clamp(3rem,6vw,5rem)}
.doc__in{max-width:56rem}
.doc__h{font-family:var(--head);font-stretch:125%;font-weight:700;font-size:1rem;letter-spacing:.18em;text-transform:uppercase;margin:2.2rem 0 .8rem}
.doc__lead{color:#b2afa7;max-width:42rem;margin:.4rem 0 1rem}
.doc p,.doc li{color:#c3c0b8}
.doc__btns{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.4rem}
.draft{border:1px dashed var(--bronze-l);padding:1rem 1.2rem;color:var(--bronze-l);margin-bottom:1.2rem}
.tablewrap{overflow-x:auto;margin:.4rem 0 1rem;border:1px solid rgba(238,234,226,.14)}
table{border-collapse:collapse;width:100%;font-size:.85rem}
th,td{padding:.7rem 1rem;text-align:left;border-bottom:1px solid rgba(238,234,226,.1)}
thead th{font-family:var(--head);font-stretch:125%;font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--bronze-l)}
.cart{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:2rem;align-items:start}
.cart__list{display:flex;flex-direction:column;gap:.7rem}
.citem{display:grid;grid-template-columns:6rem 1fr auto;gap:1.2rem;align-items:center;padding:1rem;background:var(--gun);clip-path:var(--cut);--cx:22px;--cy:11px}
.citem__img{display:block;aspect-ratio:1/1;background:linear-gradient(180deg,#E6E3DC,#CDC9BF)}
.citem__img img{width:100%;height:100%;object-fit:contain;padding:.3rem}
.citem h2{font-family:var(--head);font-stretch:125%;font-size:.9rem;letter-spacing:.12em;text-transform:uppercase}
.citem h2 a{text-decoration:none}
.citem__m{font-size:.8rem;color:#a29f98;margin:.3rem 0 .5rem}
.citem__rm{background:none;border:1px solid rgba(238,234,226,.3);padding:.5rem .9rem;cursor:pointer;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase}
.citem__rm:hover{border-color:var(--blue)}
.cart__side{padding:1.6rem;background:var(--gun);clip-path:var(--cut);--cx:30px;--cy:15px}
.cart__side p{color:#b2afa7;margin:.6rem 0 1.2rem}
.cart__side .linklike{display:block;margin-top:1rem;font-size:.8rem;color:#a29f98}
.cart-empty{padding:2rem 0}
.link-arrow{display:inline-flex;gap:.5rem;align-items:center;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase}.link-arrow svg{width:1rem}
.shop-notfound{padding:3rem 0}

/* ---------- floating garment stage ---------- */
.f3d{display:block;position:relative;width:100%;height:100%;-webkit-perspective:1000px;perspective:1000px;--sa:.55}
.f3d__flat{position:absolute;inset:3% 4% 11%;width:92%;height:86%;object-fit:contain}
.f3d__shadow{position:absolute;left:50%;bottom:1.5%;width:60%;height:7%;margin-left:-30%;border-radius:50%;background:radial-gradient(closest-side,rgba(0,0,0,var(--sa)),rgba(0,0,0,.18) 55%,rgba(0,0,0,0));filter:blur(4px);will-change:transform,opacity}
.f3d__float{position:absolute;inset:3% 4% 11%;display:block;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;will-change:transform}
.f3d__rot{position:absolute;inset:0;display:block;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;will-change:transform}
.f3d__face,.f3d__slab{position:absolute;inset:0;display:block;-webkit-backface-visibility:hidden;backface-visibility:hidden;pointer-events:none}
.f3d__slab{-webkit-backface-visibility:visible;backface-visibility:visible}
.f3d__face img,.f3d__slab img{display:block;width:100%;height:100%;object-fit:contain;-webkit-user-drag:none}
.f3d__slab img{filter:brightness(.28) contrast(1.1)}
.f3d__face--b.is-lining img{filter:brightness(.5) saturate(.6)}
.f3d__gloss{position:absolute;inset:0;display:block;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;background:linear-gradient(105deg,rgba(255,255,255,0) calc(var(--gx,50%) - 14%),rgba(255,255,255,.34) var(--gx,50%),rgba(255,255,255,0) calc(var(--gx,50%) + 14%));opacity:.7;pointer-events:none}
.pcard[data-w=signature] .f3d,.door[data-w=signature] .f3d,.pcard[data-w=street] .f3d,.door .f3d,.lp .f3d,html[data-world=signature] .gallery .f3d,html[data-world=street] .gallery .f3d{--sa:.85}
.pcard:not([data-w=signature]):not([data-w=street]) .f3d,html[data-world=performance] .gallery .f3d{--sa:.5}
.f3d__flat+*{}
.pcard .f3d__float{inset:5% 8% 16%}
.pcard .f3d__shadow{bottom:5%}
.pcard:hover .f3d__float{transition:transform 1s var(--ease)}
.door__f--0 .f3d__float{inset:4% 2% 10% 6%}

/* ---------- motion: plates arrive one by one, slow and heavy ---------- */
@keyframes rise{from{opacity:0;transform:translate3d(0,26px,0)}to{opacity:1;transform:none}}
html.motion-ok [data-plate]{opacity:0;transform:translate3d(0,34px,0);clip-path:polygon(0 0,0 0,0 100%,0 100%)}
html.motion-ok [data-plate].is-in{opacity:1;transform:none;clip-path:polygon(-1% -1%,101% -1%,101% 101%,-1% 101%);transition:opacity var(--slow) var(--ease),transform var(--slow) var(--ease),clip-path calc(var(--slow) + 300ms) var(--ease);transition-delay:calc(var(--i,0) * 130ms)}
html.motion-ok .door[data-plate].is-in{clip-path:var(--cut)}
html.motion-ok .door[data-plate]:not(.is-in){clip-path:polygon(0 0,0 0,0 100%,0 100%)}
html.motion-ok .btn[data-plate].is-in,html.motion-ok .hero__cta.is-in .btn{clip-path:var(--cut)}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .btn--pulse::after{animation:none;opacity:.35}
  .hero__eye{animation:none;opacity:.6}
  .tapeband__t{animation:none}
  .gdetail{animation:none}
  *,*::before,*::after{transition-duration:.01ms!important}
}

/* ---------- responsive ---------- */
@media (max-width:1100px){
  .pgrid,.pgrid--line{grid-template-columns:repeat(2,1fr)}
  .palette ul{grid-template-columns:repeat(3,1fr)}.palette__in{grid-template-columns:1fr}
  .sh__main{display:none}.sh__strip-in{justify-content:space-between}
}
@media (max-width:900px){
  .sh__bar-in{grid-template-columns:auto 1fr auto auto;gap:.8rem}
  .sh__toggle{display:block;grid-column:4}.sh__list{grid-column:3;justify-self:end}
  .sh__nav{position:absolute;left:0;right:0;top:100%;flex-direction:column;gap:0;background:#08080A;border-bottom:1px solid rgba(238,234,226,.12);max-height:0;overflow:hidden;visibility:hidden;transition:max-height .8s var(--ease),visibility 0s .8s;justify-content:flex-start}
  .nav-open .sh__nav{max-height:24rem;visibility:visible;transition:max-height .8s var(--ease),visibility 0s}
  .sh__nav a{padding:1.1rem 1.5rem;border-top:1px solid rgba(238,234,226,.08)}.sh__nav a::after{left:1.5rem;right:auto;width:2.4rem;bottom:.7rem}
  .sh__lt{display:none}
  .doors__grid{grid-template-columns:1fr}
  .door{min-height:20rem}
  .lp__in{grid-template-columns:1fr;min-height:0}
  .lp__media{min-height:26rem;order:-1}
  .pdp__in{grid-template-columns:1fr}.gallery{position:static}
  .code__grid{grid-template-columns:1fr}
  .cart{grid-template-columns:1fr}
  .sf__grid{grid-template-columns:1fr 1fr}
  .others__row{grid-template-columns:1fr}
}
@media (max-width:700px){
  .wrap{width:min(100% - 2rem,1280px)}
  .sh__strip{display:none}
  .sh__brand img{height:1.6rem}.sh__slash{font-size:1.2rem}.sh__shop{font-size:.8rem}
  .hero{height:auto;--hh:auto}
  .hero__bull{position:relative;inset:auto;aspect-ratio:17/18}
  .hero__img{width:100%;aspect-ratio:17/18;left:0;top:0;transform:translate3d(var(--mx,0px),var(--py,0px),0) scale(1.02)}
  .hero__eye{top:45.4%;width:3.4%;height:2.2%}.hero__eye--l{left:40.2%}.hero__eye--r{left:60.3%}
  .hero__shade{background:linear-gradient(180deg,rgba(0,0,0,.35),transparent 20%,transparent 60%,#000 100%)}
  .hero__in{position:absolute;inset:0;grid-template-columns:1fr;grid-template-rows:auto 1fr auto auto;column-gap:0;padding-block:1.2rem 1.4rem;justify-items:center;text-align:center}
  .hero__w{grid-column:1;grid-row:auto;font-size:clamp(1.5rem,8vw,2.3rem);letter-spacing:.3em;transform:none;justify-self:center;padding-bottom:0}
  .hero__w::after{display:none}
  .hero__w--l{grid-row:3}.hero__w--r{grid-row:4}
  .hero__cta{grid-row:5;margin-top:1.2rem}
  .hero{background:#000}
  .hero__in{position:relative;inset:auto;margin-top:-34%;padding-bottom:1.6rem;display:flex;flex-direction:column;align-items:center}
  .hero__eb{font-size:.62rem;letter-spacing:.2em}
  .door__body{max-width:54%;padding:1.2rem}
  .door__name{font-size:1rem;letter-spacing:.1em}
  .door[data-w=street] .door__name{font-size:1.6rem}
  .door__go{padding:.6rem .8rem;letter-spacing:.14em;font-size:.62rem}
  .door .door__f--1{inset:auto 34% -2% auto;width:52%;height:30%}
  .hero__eb{margin-bottom:.9rem}
  .hero__in{margin-top:-30%}
  .pgrid,.pgrid--line{grid-template-columns:repeat(2,1fr);gap:.6rem}
  .pcard__name{font-size:.7rem;letter-spacing:.08em}
  .pcard__meta{flex-direction:column;gap:.3rem;font-size:.6rem}
  .pcard__tag{font-size:.5rem}
  .pcard__save{width:2.2rem;height:2.2rem;bottom:calc(6.2rem + .4rem)}
  .palette ul{grid-template-columns:repeat(2,1fr)}
  .sf__grid{grid-template-columns:1fr}.sf__bottom{flex-direction:column}
  .citem{grid-template-columns:4.6rem 1fr}.citem__rm{grid-column:1/-1;justify-self:start}
  .gallery__main{aspect-ratio:1/1.12}
  .gallery__thumbs .thumb{width:4.6rem}
  .lp__h{font-size:clamp(2rem,10vw,3.4rem)}
  .lp__media{min-height:22rem}.lp__fig--0{inset:0 26% 8% 0}.lp__fig--1{inset:14% 0 0 46%}
  .hero__prev{display:none}
}

/* artwork spotlight (Signature / Street) */
.spot{padding:clamp(2.4rem,4vw,3.8rem) 0;background:var(--sbg,#0E0709);color:var(--bone)}
.spot__row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;margin-top:1.4rem}
.spot figure{position:relative;overflow:hidden;aspect-ratio:4/3;background:#0b0b0d;clip-path:var(--cut);--cx:34px;--cy:17px}
.spot img{width:100%;height:100%;object-fit:cover;transition:transform 2.4s var(--ease)}
.spot figure:hover img{transform:scale(1.04)}
.spot figcaption{position:absolute;left:1.2rem;bottom:1rem;font-family:var(--head);font-stretch:125%;font-size:.64rem;letter-spacing:.24em;text-transform:uppercase;background:rgba(11,11,13,.8);padding:.4rem .7rem}
html[data-world=street] .spot{--sbg:#121211}
html[data-world=street] .spot figcaption{font-family:var(--type);font-stretch:100%}
@media (max-width:700px){.spot__row{grid-template-columns:1fr}}
/* AA contrast for bronze text on the light Performance body */
html[data-world=performance] .pinfo__line,html[data-world=performance] .guide-link{color:#6f4d33}
body.shop #main{min-height:100svh}
@media (max-width:640px){body.shop #lines{min-height:calc(100vw*2.37)}body.shop #pgrid{min-height:calc(100vw*3.3)}}
