/* Blite fresh — travertine fitting room system. Claude 2026-11-01 */
@font-face{font-family:Figtree;src:url('/fonts/figtree.woff2') format('woff2');font-weight:300 900;font-display:swap}
:root{
  --paper:#F6F3EE;--stone:#ECE6DD;--stone-2:#DCD3C6;--mist:#DFE5EA;
  --ink:#1D1F23;--ink-2:#3A3D43;--muted:#6B6E73;--line:rgba(29,31,35,.12);
  --ox:#6E1423;--ox-2:#8A1E31;
  --glass:rgba(255,255,255,.58);--glass-edge:rgba(255,255,255,.75);
  --f:Figtree,system-ui,-apple-system,"Segoe UI",sans-serif;
  --sh-h:64px;--dep-h:44px;--top:calc(var(--sh-h) + var(--dep-h));
  --g:clamp(16px,3.2vw,44px);--r:14px;--ease:cubic-bezier(.2,.7,.2,1)
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--top) + 12px)}
body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.55 var(--f);-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
h1,h2,h3{font-weight:450;letter-spacing:-.025em;line-height:1.08;margin:0}
p{margin:0}
[hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--ink);color:#fff;padding:10px 14px;border-radius:8px}.skip:focus{top:12px}
:focus-visible{outline:2px solid var(--ox);outline-offset:3px}
.ic{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}
.eyebrow{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}
.muted{color:var(--muted)}
.fine{font-size:13px;color:var(--muted);margin-top:14px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 24px;border-radius:999px;border:1px solid transparent;font-size:15px;font-weight:500;text-decoration:none;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.btn--ink{background:var(--ink);color:#fff}.btn--ink:hover{background:#000}
.btn--line{background:transparent;border-color:rgba(29,31,35,.35)}.btn--line:hover{border-color:var(--ink);background:rgba(255,255,255,.4)}
.btn--wide{width:100%}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.actions--stack{flex-direction:column}.actions--stack .btn{width:100%}
.tlink{display:inline-flex;align-items:center;gap:8px;background:none;border:0;padding:8px 0;min-height:44px;font-size:14px;font-weight:500;text-decoration:underline;text-underline-offset:5px;text-decoration-color:rgba(29,31,35,.3);cursor:pointer}
.tlink:hover{text-decoration-color:var(--ink)}

/* header */
.sh{position:fixed;inset:0 0 auto;z-index:40;background:rgba(246,243,238,.9);backdrop-filter:saturate(140%) blur(16px);-webkit-backdrop-filter:saturate(140%) blur(16px);border-bottom:1px solid var(--line)}
.sh__bar{height:var(--sh-h);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 var(--g)}
.sh__l,.sh__r{display:flex;align-items:center;gap:20px}.sh__r{justify-content:flex-end}
.sh__logo{display:flex;color:var(--ink)}.sh__logo svg,.menu__logo svg,.sf__logo svg{width:118px;height:auto}
.sh__icon{display:inline-grid;place-items:center;width:44px;height:44px;border:0;background:none;border-radius:50%;cursor:pointer}.sh__icon:hover{background:rgba(29,31,35,.06)}
.sh__text{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:14px;text-decoration:none;background:none;border:0;padding:0;cursor:pointer}
.sh__book{display:inline-flex;align-items:center;min-height:40px;padding:0 18px;border-radius:999px;background:var(--ink);color:#fff;font-size:14px;font-weight:500;text-decoration:none}
.sh__depts{height:var(--dep-h);display:flex;justify-content:center;align-items:center;gap:clamp(18px,3vw,44px);border-top:1px solid var(--line);overflow-x:auto;scrollbar-width:none;padding:0 var(--g)}
.sh__depts::-webkit-scrollbar{display:none}
.sh__depts a{font-size:12px;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;color:var(--ink-2);white-space:nowrap;padding:12px 0;border-bottom:1px solid transparent}
.sh__depts a:hover,.sh__depts a[aria-current]{color:var(--ink);border-bottom-color:var(--ox)}
.sh__menu{display:none}
main{padding-top:var(--top);min-height:60vh}
.menu{border:0;margin:0;width:min(420px,100%);max-width:100%;height:100%;max-height:100%;padding:16px 24px 32px;background:var(--paper);color:var(--ink)}
.menu::backdrop{background:rgba(20,20,20,.35)}
.menu__top{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}
.menu__depts,.menu__more{display:flex;flex-direction:column}
.menu__depts a{font-size:26px;letter-spacing:-.02em;text-decoration:none;padding:10px 0;border-bottom:1px solid var(--line)}
.menu__more{margin-top:28px;gap:4px}.menu__more a{min-height:44px;display:flex;align-items:center;text-decoration:none;color:var(--ink-2)}

/* fitting room */
.fr{position:relative}
.fr-stage{position:relative;height:clamp(600px,calc(100svh - var(--top) - 34px),920px);overflow:hidden;background:#e9e3da;isolation:isolate}
.fr-media,.fr-plate,.fr-plate img{position:absolute;inset:0;width:100%;height:100%}
.fr-plate{opacity:0;transition:opacity .7s var(--ease)}
.fr-plate.is-on{opacity:1}
.fr-plate img{object-fit:cover;object-position:50% 58%;transform-origin:50% var(--oy,50%);transform:scale(var(--zoom,1));transition:transform .9s var(--ease)}
.fr-plate.is-on img{animation:frBreathe 14s ease-in-out infinite alternate}
.fr[data-zoomed] .fr-plate.is-on img{animation:none}
@keyframes frBreathe{from{transform:scale(1)}to{transform:scale(1.025) translateY(-.4%)}}
.fr-shaft{position:absolute;inset:-10% -20%;pointer-events:none;background:linear-gradient(115deg,transparent 30%,rgba(255,236,206,.22) 42%,rgba(255,236,206,.06) 52%,transparent 60%);mix-blend-mode:soft-light;animation:frShaft 18s ease-in-out infinite alternate}
@keyframes frShaft{from{transform:translateX(-3%);opacity:.6}to{transform:translateX(3%);opacity:1}}
.fr.is-paused .fr-plate img,.fr.is-paused .fr-shaft{animation-play-state:paused}
.glass{background:var(--glass);backdrop-filter:blur(18px) saturate(150%);-webkit-backdrop-filter:blur(18px) saturate(150%);border:1px solid var(--glass-edge);box-shadow:0 10px 40px rgba(60,48,30,.10)}
.fr-tabs{position:absolute;top:22px;left:50%;transform:translateX(-50%);display:flex;gap:4px;padding:4px;border-radius:999px;background:rgba(255,255,255,.42);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--glass-edge);z-index:3}
.fr-tabs button{border:0;background:none;padding:10px 18px;min-height:40px;border-radius:999px;font-size:14px;color:var(--ink-2);cursor:pointer;position:relative}
.fr-tabs button[aria-selected=true]{background:#fff;color:var(--ink);box-shadow:inset 0 -2px 0 var(--ox)}
.fr-copy{position:absolute;left:clamp(24px,6vw,96px);top:50%;transform:translateY(-50%);width:min(320px,28vw);z-index:2}
.fr-copy h1{font-size:clamp(48px,5.2vw,84px);letter-spacing:-.045em;margin:0 0 14px}
.fr-line{font-size:15px;color:var(--ink-2);max-width:30ch}
.fr-copy .actions{flex-direction:column;align-items:flex-start}.fr-copy .btn{min-width:220px}
.fr-rail{position:absolute;right:clamp(20px,5vw,80px);top:50%;transform:translateY(-50%);width:clamp(220px,20vw,270px);z-index:2}
.fr-pieces{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.fr-pieces li{position:relative}
.fr-piece{display:flex;align-items:center;gap:14px;width:100%;padding:8px 48px 8px 8px;border-radius:var(--r);cursor:pointer;text-align:left;background:var(--glass);backdrop-filter:blur(16px) saturate(150%);-webkit-backdrop-filter:blur(16px) saturate(150%);border:1px solid var(--glass-edge);transition:background .2s,box-shadow .2s,transform .2s}
.fr-piece:hover{background:rgba(255,255,255,.75)}
.fr-piece[aria-pressed=true]{background:#fff;box-shadow:0 8px 28px rgba(60,48,30,.14),inset 2px 0 0 var(--ox)}
.fr-piece img{width:58px;height:58px;border-radius:9px;object-fit:cover;background:var(--stone)}
.fr-piece span{font-size:14px}.fr-piece b{font-weight:500;color:var(--muted);margin-right:8px;font-variant-numeric:tabular-nums}
.fr-swap{position:absolute;right:8px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:34px;height:34px;border-radius:50%;color:var(--ink-2)}.fr-swap:hover{background:rgba(29,31,35,.07)}.fr-swap .ic{width:17px;height:17px}
.fr-status{font-size:13px;color:var(--ink-2);margin-top:12px;min-height:40px}.fr-status a{font-weight:500}
.fr-pause{position:absolute;left:calc(50% + clamp(110px,12vw,190px));bottom:clamp(110px,15vh,150px);z-index:2;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;cursor:pointer;background:var(--glass);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--glass-edge)}
.fr-pause__r,.fr.is-paused .fr-pause__p{display:none}.fr.is-paused .fr-pause__r{display:block}
.fr-pause .ic{fill:currentColor;stroke:none}.fr-pause__p .ic{fill:none;stroke:currentColor;stroke-width:2.4}
.fr-ask{position:absolute;left:50%;bottom:24px;transform:translateX(-50%);width:min(480px,calc(100% - 32px));display:flex;align-items:center;gap:8px;padding:6px 6px 6px 20px;border-radius:999px;z-index:3;background:rgba(255,255,255,.66);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid var(--glass-edge);box-shadow:0 10px 30px rgba(60,48,30,.12)}
.fr-ask input{flex:1;min-width:0;border:0;background:none;outline:none;font-size:15px;padding:10px 0}.fr-ask input::placeholder{color:var(--ink-2)}
.fr-ask button{width:44px;height:44px;border-radius:50%;border:0;background:var(--ink);color:#fff;display:grid;place-items:center;cursor:pointer}.fr-ask button .ic{width:18px;height:18px}
.fr-caption{font-size:12px;color:var(--muted);padding:10px var(--g);text-align:right}
@media (prefers-reduced-motion:reduce){.fr-plate.is-on img,.fr-shaft{animation:none}.fr-pause{display:none}.fr-plate,.fr-plate img{transition:none}}

/* sections */
.shead{max-width:640px;margin-bottom:32px}.shead h2{font-size:clamp(32px,4vw,52px);margin-bottom:12px}.shead p{color:var(--ink-2)}
.shead--row{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;max-width:none}
.dgrid,.fall,.related,.arrivals{padding:clamp(64px,9vw,120px) var(--g)}
.dgrid__cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.dcard{position:relative;display:block;aspect-ratio:4/5;border-radius:var(--r);overflow:hidden;text-decoration:none;color:#fff;background:var(--stone)}
.dcard img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}.dcard:hover img{transform:scale(1.04)}
.dcard::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(18,16,14,.72))}
.dcard span{position:absolute;left:22px;right:22px;bottom:20px;z-index:1;display:flex;flex-direction:column;gap:6px}
.dcard strong{font-size:clamp(24px,2.4vw,32px);font-weight:450;letter-spacing:-.03em}.dcard small{font-size:14px;opacity:.85}
.fall{background:var(--stone)}
.pgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 14px;padding:0 var(--g) 80px}
.fall .pgrid,.related .pgrid,.arrivals .pgrid{padding:0}
.pgrid--rail{grid-auto-flow:column;grid-auto-columns:minmax(220px,1fr);grid-template-columns:none;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px!important}
.pgrid--rail .pcard{scroll-snap-align:start}
.pcard{text-decoration:none;display:flex;flex-direction:column;gap:4px}
.pcard__media{aspect-ratio:3/4;background:#fff;border-radius:10px;overflow:hidden;margin-bottom:8px}
.pcard__media img{width:100%;height:100%;object-fit:contain;transition:transform .6s var(--ease)}.pcard:hover .pcard__media img{transform:scale(1.03)}
.pcard__name{font-size:15px}.pcard__meta{font-size:13px;color:var(--muted)}
.visit{display:grid;grid-template-columns:1.1fr 1fr;background:#fff}
.visit figure{margin:0;min-height:420px}.visit figure img{width:100%;height:100%;object-fit:cover}
.visit__copy{padding:clamp(40px,7vw,100px);align-self:center}.visit__copy h2{font-size:clamp(38px,4.6vw,64px);margin-bottom:18px}
.visit__addr{margin:22px 0 12px;font-size:17px}.visit__addr a{text-decoration:none}
.hours{margin:0;display:grid;gap:4px;font-size:14px}.hours div{display:flex;justify-content:space-between;gap:16px;max-width:320px}.hours dt{color:var(--muted)}.hours dd{margin:0}

/* department */
.dhero{display:grid;grid-template-columns:1.2fr 1fr;min-height:min(78svh,760px)}
.dhero figure{margin:0;position:relative}.dhero figure img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.dhero__copy{padding:clamp(40px,6vw,96px);align-self:center}.dhero__copy h1{font-size:clamp(38px,4.4vw,66px);letter-spacing:-.04em;margin-bottom:20px}.dhero__copy>p{color:var(--ink-2);max-width:46ch;font-size:17px}
.dtypes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 18px;padding:clamp(56px,8vw,110px) var(--g)}
.dtype figure{margin:0 0 16px;aspect-ratio:4/5;border-radius:var(--r);overflow:hidden;background:var(--stone)}
.dtype figure img{width:100%;height:100%;object-fit:cover;transform:scale(1.35);transition:transform 1.2s var(--ease)}
.dtype:hover figure img{transform:scale(1.42)}
.dtype h2{font-size:22px;margin-bottom:6px}.dtype p{color:var(--ink-2);font-size:15px}

/* listing + pdp */
.phead{padding:clamp(48px,7vw,96px) var(--g) 28px;max-width:860px}.phead h1{font-size:clamp(44px,6vw,84px);letter-spacing:-.045em;margin-bottom:16px}.phead p{color:var(--ink-2);max-width:60ch;font-size:17px}
.phead--center{margin:0 auto;text-align:center}.phead--center .actions{justify-content:center}.phead--center p{margin:0 auto}
.filters{display:flex;gap:8px;overflow-x:auto;padding:0 var(--g) 28px;scrollbar-width:none}
.filters button{white-space:nowrap;min-height:40px;padding:8px 16px;border-radius:999px;border:1px solid var(--line);background:#fff;cursor:pointer;font-size:14px}.filters button span{color:var(--muted);margin-left:4px}
.filters button[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}.filters button[aria-pressed=true] span{color:rgba(255,255,255,.7)}
.crumbs{display:flex;gap:10px;font-size:13px;color:var(--muted);padding:24px var(--g) 0}.crumbs a{text-decoration:none}
.pdp{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(300px,.8fr);gap:clamp(24px,5vw,80px);padding:24px var(--g) 60px;align-items:start}
.gal__main figure{margin:0;background:#fff;border-radius:var(--r);aspect-ratio:3/4;display:grid;place-items:center;overflow:hidden}.gal__main img{width:100%;height:100%;object-fit:contain}
.gal__thumbs{display:flex;gap:8px;margin-top:10px;overflow-x:auto}.gal__thumbs button{flex:none;width:72px;height:96px;padding:0;border:1px solid transparent;border-radius:8px;background:#fff;overflow:hidden;cursor:pointer}.gal__thumbs button[aria-pressed=true]{border-color:var(--ink)}.gal__thumbs img{width:100%;height:100%;object-fit:contain}
.pdp__info{position:sticky;top:calc(var(--top) + 24px)}.pdp__info h1{font-size:clamp(30px,3vw,44px);margin-bottom:16px}.pdp__info>p{color:var(--ink-2)}
.pdp__note{margin-top:20px!important;padding:14px 16px;background:var(--stone);border-radius:10px;font-size:14px}
.pdp__details{padding-left:18px;color:var(--ink-2);font-size:14px;margin:16px 0 0}
.swatches{border:0;padding:0;margin:20px 0 0;display:flex;flex-wrap:wrap;gap:8px}.swatches legend{font-size:14px;margin-bottom:10px;padding:0}
.swatches button{min-height:40px;padding:6px 14px;border-radius:999px;border:1px solid var(--line);background:#fff;cursor:pointer;font-size:14px}.swatches button[aria-pressed=true]{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}

/* visit + book */
.vpage{display:grid;grid-template-columns:minmax(280px,.8fr) 1.2fr;gap:clamp(24px,5vw,72px);padding:12px var(--g) 90px}
.vpage h2{font-size:14px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:28px 0 10px;font-weight:500}.vpage h2:first-child{margin-top:0}.vpage p{font-size:18px}.vpage a{text-decoration:none}
.vpage__photos{display:grid;grid-template-columns:1fr 1fr;gap:10px}.vpage__photos img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r)}
.book{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,.7fr);gap:clamp(24px,5vw,72px);padding:8px var(--g) 90px;align-items:start}
.bform fieldset{border:0;padding:0;margin:0 0 30px}.bform legend{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:14px}
.bform label{display:flex;flex-direction:column;gap:6px;font-size:14px;margin-bottom:14px}
.bform input:not([type=radio]),.bform select,.bform textarea{min-height:50px;padding:12px 14px;border-radius:10px;border:1px solid var(--stone-2);background:#fff;font-size:16px}
.bform textarea{min-height:96px;resize:vertical}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.svc{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.svc label{flex-direction:row;align-items:flex-start;gap:12px;margin:0;padding:16px;border:1px solid var(--stone-2);border-radius:12px;background:#fff;cursor:pointer}
.svc label:has(input:checked){border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.svc input{margin-top:4px;accent-color:var(--ox)}.svc strong{display:block;font-weight:500;font-size:15px}.svc small{color:var(--muted);font-size:13px}
.trap{position:absolute;left:-9999px}
.bform__status{margin-top:14px;font-size:15px}.bform__status.is-ok{padding:16px;border-radius:12px;background:#E6EFE8}.bform__status.is-err{color:var(--ox)}
.book__aside img{border-radius:var(--r);aspect-ratio:4/5;object-fit:cover;width:100%;margin-bottom:20px}

/* chat */
.chat{border:0;padding:0;margin:auto 0 auto auto;width:min(440px,100%);height:100%;max-height:100%;background:var(--paper);color:var(--ink);display:none;flex-direction:column}
.chat[open]{display:flex}.chat::backdrop{background:rgba(20,20,20,.3)}
.chat__head{display:flex;justify-content:space-between;align-items:flex-start;padding:22px 22px 12px;border-bottom:1px solid var(--line)}.chat__head h2{font-size:22px}
.chat__log{flex:1;overflow-y:auto;padding:18px 22px;display:flex;flex-direction:column;gap:12px}
.chat__msg{max-width:88%;padding:12px 14px;border-radius:14px;font-size:15px;line-height:1.5}
.chat__msg--a{background:#fff;align-self:flex-start;border-bottom-left-radius:4px}.chat__msg--u{background:var(--ink);color:#fff;align-self:flex-end;border-bottom-right-radius:4px}
.chat__msg--typing{color:var(--muted)}
.chat__acts{display:flex;flex-wrap:wrap;gap:8px;align-self:flex-start}.chat__acts a{font-size:13px;padding:8px 12px;border-radius:999px;border:1px solid var(--line);background:#fff;text-decoration:none}
.chat__form{display:flex;gap:8px;padding:12px 16px;border-top:1px solid var(--line)}.chat__form input{flex:1;min-height:48px;padding:10px 16px;border-radius:999px;border:1px solid var(--stone-2);background:#fff;font-size:16px}
.chat__form button{width:48px;height:48px;border-radius:50%;border:0;background:var(--ink);color:#fff;display:grid;place-items:center;cursor:pointer}
.chat__fine{font-size:12px;color:var(--muted);padding:0 20px 18px}

/* footer */
.sf{background:var(--ink);color:#E9E5DE;padding:72px var(--g) 28px}
.sf a{text-decoration:none;color:inherit}.sf a:hover{text-decoration:underline}
.sf__top{display:grid;grid-template-columns:1.3fr 1fr 1.2fr 1fr;gap:40px}
.sf__top nav,.sf__top>div{display:flex;flex-direction:column;gap:8px;font-size:14px}
.sf .eyebrow{color:#A7A39C}.sf .muted{color:#A7A39C}
.sf__logo{color:#fff;margin-bottom:12px}.sf__brand p{max-width:30ch;color:#C9C4BC;margin-bottom:18px}
.sf .btn--ink{background:#fff;color:var(--ink);align-self:flex-start}
.sf .hours dt{color:#A7A39C}
.sf__bot{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.14);margin-top:56px;padding-top:20px;font-size:12px;color:#A7A39C}

/* tablet & phone */
@media (max-width:1100px){.fr-copy{width:min(280px,30vw)}.fr-copy .btn{min-width:0}.pgrid{grid-template-columns:repeat(3,minmax(0,1fr))}.dtypes{grid-template-columns:repeat(2,minmax(0,1fr))}.sf__top{grid-template-columns:1fr 1fr}}
@media (max-width:899px){
  :root{--sh-h:58px;--dep-h:0px}
  .sh__depts{display:none}.sh__menu{display:inline-grid}.sh__l .sh__text,.sh__ask{display:none}.sh__book{padding:0 14px;font-size:13px;min-height:38px;white-space:nowrap}.sh__bar{padding:0 10px 0 6px}
  .pgrid--rail{grid-template-columns:none;grid-auto-columns:46%;gap:10px}
  .sf__top>div:nth-of-type(2){grid-column:1/-1}
  .sh__logo svg{width:96px}
  .fr-stage{height:auto;display:flex;flex-direction:column;background:var(--paper);overflow:visible}
  .fr-media{position:relative;inset:auto;height:min(118vw,640px);overflow:hidden}
  .fr-plate img{object-position:50% 52%}
  .fr-tabs{top:14px;width:calc(100% - 24px);justify-content:space-between}.fr-tabs button{flex:1;padding:10px 6px;font-size:13px}
  .fr-pause{left:auto;right:16px;bottom:auto;top:calc(min(118vw,640px) - 64px)}
  .fr-rail{position:static;transform:none;width:auto;order:2;padding:14px 12px 0}
  .fr-pieces{flex-direction:row;overflow-x:auto;scroll-snap-type:x mandatory;gap:8px;padding-bottom:4px;scrollbar-width:none}
  .fr-pieces li{flex:0 0 calc((100% - 32px)/4.4);scroll-snap-align:start}
  .fr-piece{flex-direction:column;padding:6px;gap:6px;background:#fff;border-color:var(--line);backdrop-filter:none}
  .fr-piece img{width:100%;height:auto;aspect-ratio:1}
  .fr-piece span{font-size:12px;text-align:center}.fr-piece b{display:block;margin:0}
  .fr-swap{display:none}
  .fr-status{margin:8px 4px 0;min-height:0}
  .fr-ask{position:relative;left:auto;bottom:auto;transform:none;order:3;width:calc(100% - 24px);margin:12px auto 0;background:#fff}
  .fr-copy{position:static;transform:none;width:auto;order:4;padding:26px 20px 8px}
  .fr-copy h1{font-size:44px}.fr-copy .actions{flex-direction:row}.fr-copy .btn{flex:1;padding:12px 14px}
  .fr-caption{text-align:left}
  .dgrid__cards{grid-template-columns:1fr 1fr;gap:10px}.dcard span{left:14px;right:14px;bottom:14px}.dcard strong{font-size:20px}.dcard small{display:none}
  .shead--row{flex-direction:column;align-items:flex-start}
  .visit,.dhero,.pdp,.vpage,.book{grid-template-columns:1fr}
  .visit figure{min-height:300px}.dhero figure{min-height:56vw}
  .pdp__info{position:static}
  .pgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 8px;padding:0 10px 60px}
  .dtypes{gap:36px 10px;padding:48px 10px}.dtype h2{font-size:17px}.dtype p{font-size:14px}
  .row2,.svc{grid-template-columns:1fr}
  .sf__top{grid-template-columns:1fr 1fr;gap:28px}.sf__brand{grid-column:1/-1}
}

/* --- Fable review pass (2026-11-01) --- */
.fr .eyebrow{color:var(--ox);letter-spacing:.18em}
.fr-copy{width:min(300px,28vw)}
.fr-copy h1{font-size:clamp(56px,7vw,108px);line-height:.92;letter-spacing:-.035em;font-weight:300;margin:0 0 18px}
.fr-line{font-size:17px;line-height:1.5;color:rgba(29,31,35,.72)}
.fine{color:rgba(29,31,35,.62)}
.fr-piece{border-radius:18px;background:rgba(246,243,238,.55);border-color:rgba(255,255,255,.45)}
.fr-piece img{width:56px;height:70px;object-fit:cover}
.fr-piece b{color:var(--ox);font-size:12px;letter-spacing:.06em}
.fr-piece[aria-pressed=true]{background:rgba(255,255,255,.88);box-shadow:inset 2px 0 0 var(--ox),0 8px 28px rgba(60,48,30,.12)}
.fr-swap{opacity:.55}.fr-pieces li:hover .fr-swap,.fr-swap:focus-visible{opacity:1}
.fr-pause{left:auto;right:24px;bottom:24px;width:40px;height:40px;opacity:.8}.fr-pause:hover{opacity:1}
.dcard img,.dtype figure img,.dhero figure img,.visit figure img,.vpage__photos img,.book__aside img{filter:saturate(.82) contrast(1.04)}
.dcard{border-radius:20px}.dcard::after{background:linear-gradient(180deg,transparent 45%,rgba(29,31,35,.78))}
.chat{border-left:1px solid var(--stone)}
.pgrid--rail{display:flex;grid-template-columns:none;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px}
.pgrid--rail .pcard{flex:0 0 clamp(200px,21vw,280px)}
@media (max-width:899px){
  .fr-tabs{position:relative;top:auto;left:auto;transform:none;order:0;width:calc(100% - 24px);margin:12px auto;background:#fff;border-color:var(--line);backdrop-filter:none}
  .fr-media{order:1}
  .fr-pause{right:14px;bottom:auto;top:calc(72px + min(118vw,640px) - 56px)}
  .fr-piece img{width:100%;height:auto;aspect-ratio:4/5}
  .fr-copy{width:auto}.fr-copy h1{font-size:56px}
  .pgrid--rail{gap:10px;padding:0 0 8px!important}
  .pgrid--rail .pcard{flex:0 0 min(62vw,240px)}
}

/* --- inline stylist (replaces side panel) --- */
.stylist{padding:clamp(56px,8vw,104px) var(--g);background:linear-gradient(180deg,var(--paper),#efeae2)}
.stylist__in{max-width:780px;margin:0 auto}
.stylist header{text-align:center}.stylist header .eyebrow{color:var(--ox)}
.stylist header h2{font-size:clamp(34px,4.2vw,58px);font-weight:300;letter-spacing:-.035em;margin-bottom:12px}
.stylist header>p{color:var(--ink-2);max-width:52ch;margin:0 auto}
.stylist__log{display:flex;flex-direction:column;gap:12px;margin-top:28px}
.stylist__log:empty{display:none}
.stylist .chat__msg{max-width:86%}
.stylist .chat__msg--a{background:#fff;box-shadow:0 6px 24px rgba(60,48,30,.06)}
.stylist__form{display:flex;align-items:center;gap:8px;margin-top:26px;padding:6px 6px 6px 22px;border-radius:999px;background:#fff;border:1px solid var(--stone-2);box-shadow:0 12px 40px rgba(60,48,30,.08)}
.stylist__form:focus-within{border-color:var(--ink)}
.stylist__form input{flex:1;min-width:0;border:0;outline:none;background:none;font-size:16px;padding:12px 0}
.stylist__form button{width:48px;height:48px;border-radius:50%;border:0;background:var(--ink);color:#fff;display:grid;place-items:center;cursor:pointer}
.stylist__chips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:16px}
.stylist__chips button{min-height:40px;padding:8px 16px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.6);font-size:14px;cursor:pointer}
.stylist__chips button:hover{background:#fff;border-color:var(--ink)}
.stylist.is-active .stylist__chips{display:none}
.stylist .fine{text-align:center}

/* --- lookbook reel: pinned, vertical scroll drives the strip sideways --- */
.reel{position:relative;height:var(--reel-h,300vh);background:#151517;color:#F1ECE4}
.reel__sticky{position:sticky;top:var(--top);height:calc(100svh - var(--top));overflow:hidden;display:flex;flex-direction:column;justify-content:center;gap:clamp(18px,3vh,36px)}
.reel__head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;padding:0 var(--g)}
.reel .eyebrow{color:#C9A9A0}.reel h2{font-size:clamp(34px,4.6vw,72px);font-weight:300;letter-spacing:-.04em}
.reel__tabs{display:flex;gap:6px;flex-wrap:wrap}
.reel__tabs button{min-height:40px;padding:8px 16px;border-radius:999px;border:1px solid rgba(255,255,255,.22);background:none;color:#F1ECE4;font-size:14px;cursor:pointer}
.reel__tabs button span{opacity:.55;margin-left:4px}.reel__tabs button[aria-selected=true]{background:#F1ECE4;color:#151517}
.reel__track{display:flex;align-items:center;gap:clamp(12px,1.6vw,24px);padding:0 var(--g);will-change:transform;height:min(64vh,640px)}
.reel__card{position:relative;flex:none;height:100%;border-radius:18px;overflow:hidden;text-decoration:none;color:#fff;background:#222}
.reel__card--4x5{aspect-ratio:4/5}.reel__card--16x9{aspect-ratio:16/9}.reel__card--9x16{aspect-ratio:9/16}
.reel__card img{width:100%;height:100%;object-fit:cover;transform:scale(1.06);transition:transform 1.4s var(--ease)}
.reel__card:hover img{transform:scale(1)}
.reel__card span{position:absolute;left:16px;bottom:14px;right:16px;font-size:14px;text-shadow:0 1px 12px rgba(0,0,0,.5)}.reel__card b{font-weight:500;opacity:.7;margin-right:8px;font-size:12px;letter-spacing:.08em}
.reel__more{flex:none;display:flex;align-items:center;gap:10px;padding:0 40px;font-size:18px;color:#F1ECE4;text-decoration:none;white-space:nowrap}
.reel__bar{margin:0 var(--g);height:2px;background:rgba(255,255,255,.12)}.reel__bar i{display:block;height:100%;width:0;background:#C9A9A0}

/* --- chapters: sticky copy, parallax images --- */
.chapters{padding:clamp(40px,6vw,80px) 0}
.chapter{display:grid;grid-template-columns:minmax(280px,.8fr) 1.2fr;gap:clamp(24px,5vw,80px);padding:clamp(40px,6vw,90px) var(--g)}
.chapter__copy{position:sticky;top:calc(var(--top) + 12vh);align-self:start}
.chapter__copy .eyebrow{color:var(--ox)}.chapter__copy h2{font-size:clamp(56px,8vw,128px);font-weight:300;letter-spacing:-.05em;line-height:.9;margin-bottom:18px}
.chapter__copy>p{color:var(--ink-2);font-size:18px;max-width:30ch}
.chapter__media{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}
.chapter__fig{margin:0;border-radius:20px;overflow:hidden;position:relative;will-change:transform}
.chapter__fig img{width:100%;height:100%;object-fit:cover;object-position:50% 22%}
.chapter__fig--0{grid-column:1/-1;aspect-ratio:16/10}.chapter__fig--1{aspect-ratio:4/5;margin-top:-6vh}.chapter__fig--2{aspect-ratio:4/5;margin-top:10vh}
.chapter__fig figcaption{position:absolute;left:14px;bottom:12px;color:#fff;font-size:13px;text-shadow:0 1px 10px rgba(0,0,0,.5)}

/* --- lookbook pages: replaced by the wall + viewer (Fable 2026-11-02), see the end of this file --- */
[data-reveal]{opacity:0;transform:translateY(40px);transition:opacity 1s var(--ease),transform 1.2s var(--ease)}
[data-reveal].is-in{opacity:1;transform:none}
@media (max-width:899px){
  .reel{height:auto}.reel__sticky{position:static;height:auto;padding:56px 0}
  .reel__head{flex-direction:column;align-items:flex-start}
  .reel__track{overflow-x:auto;scroll-snap-type:x mandatory;height:auto;transform:none!important;scrollbar-width:none}
  .reel__card{height:auto;width:72vw;scroll-snap-align:center}.reel__card--16x9{width:88vw}.reel__card--9x16{width:56vw}
  .reel__bar{display:none}
  .chapter{grid-template-columns:1fr}.chapter__copy{position:static}.chapter__copy h2{font-size:64px}
  .chapter__fig--1,.chapter__fig--2{margin-top:0}
}
@media (prefers-reduced-motion:reduce){[data-reveal]{opacity:1;transform:none;transition:none}.reel__card img{transform:none}}

/* --- Fitting Room v2: 20 looks per occasion --- */
.fr--v2 .fr-plate{opacity:0;transition:opacity .35s ease}.fr--v2 .fr-plate.is-on{opacity:1}
.fr--v2 .fr-tabs button span{opacity:.55;font-size:.85em;margin-left:4px}
.fr2-items{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0 18px;font-size:13px}
.fr2-items>span{width:100%;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2)}
.fr2-items a,.fr2-items>span~span{display:inline-flex;align-items:center;min-height:32px;padding:4px 12px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.7);text-decoration:none;color:inherit}
.fr2-items a:hover{border-color:var(--ink)}
.fr2-nav{position:absolute;right:clamp(12px,3vw,40px);top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:10px;z-index:3}
.fr2-nav button{width:48px;height:48px;border-radius:999px;border:1px solid var(--line);background:rgba(246,243,238,.85);backdrop-filter:blur(6px);cursor:pointer;display:grid;place-items:center}
.fr2-nav button:first-child .ic{transform:rotate(180deg)}
.fr2-nav button:hover{background:#fff}
.fr2-strip{display:flex;gap:8px;overflow-x:auto;padding:14px var(--g) 6px;scroll-snap-type:x proximity;scrollbar-width:thin}
.fr2-strip button{flex:none;width:76px;border:0;background:none;padding:0;cursor:pointer;scroll-snap-align:center;text-align:center}
.fr2-strip img{display:block;width:76px;height:95px;object-fit:cover;object-position:50% 30%;border-radius:10px;border:2px solid transparent;background:var(--stone)}
.fr2-strip span{display:block;font-size:11px;letter-spacing:.08em;margin-top:4px;color:var(--ink-2)}
.fr2-strip button[aria-selected="true"] img{border-color:var(--ink)}
.fr2-strip button[aria-selected="true"] span{color:var(--ink);font-weight:600}
@media (max-width:899px){.fr2-nav{top:auto;bottom:16px;flex-direction:row;right:16px;transform:none}.fr2-nav button{width:44px;height:44px}.fr2-strip{padding:12px 16px 4px}}

/* --- "Styled in the lookbook" strips on product / department pages --- */
.seen{padding:clamp(48px,6vw,96px) var(--g) 0}
.seen__row{display:flex;gap:16px;overflow-x:auto;padding-bottom:8px;scroll-snap-type:x proximity}
.seen__card{flex:none;width:clamp(200px,22vw,300px);text-decoration:none;color:inherit;scroll-snap-align:start}
.seen__card img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:16px;background:var(--stone)}
.seen__card span{display:block;margin-top:10px;font-size:14px}
.seen__card b{font-weight:600;letter-spacing:.06em;margin-right:4px;color:var(--ox)}
.fr--v2 .fr-copy h1{font-size:clamp(34px,3.6vw,56px);line-height:1;letter-spacing:-.035em;max-width:13ch}
.fr--v2 .fr-line{font-size:15px;max-width:34ch;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
@media (max-width:899px){.fr--v2 .fr-copy h1{font-size:34px}.fr--v2 .fr-line{-webkit-line-clamp:6}}

/* ================= Shop the look: Fitting Room v3 ================= */
.sh__bag{position:relative;display:inline-grid;place-items:center;width:44px;height:44px;border-radius:999px;color:inherit}
.sh__bag .ic{width:22px;height:22px}
.sh__badge{position:absolute;top:4px;right:2px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--ox);color:#fff;font-size:11px;font-weight:600;line-height:18px;text-align:center}
.sh__badge.is-pop{animation:pop .45s cubic-bezier(.2,1.6,.4,1)}
@keyframes pop{0%{transform:scale(.4)}100%{transform:scale(1)}}

/* ================= The opening: scroll intro (curtain) + the Fitting Room stage =================
   Geometry (home only): .open wraps the intro and the stage. The stage is sticky under the header and
   starts at the top of .open (negative margin), the intro sits above it (z-index) and is 3 stages tall:
   2 stages of pinned scroll for the intro story, then the intro frame scrolls up off the already-framed
   stage like a curtain. .open__end pads the wrapper so the stage stays pinned until the curtain is gone,
   and is the scroll-snap target that lands the stage cleanly. --S = one stage = viewport minus header. */
html:has(body.is-home){scroll-snap-type:y proximity;scroll-padding-top:var(--top)}
.open{--S:calc(100svh - var(--top));--ih:calc(var(--S) * 3);position:relative;background:var(--stone)}
.open__end{height:var(--ih);scroll-snap-align:end;pointer-events:none}
.open .sr{position:sticky;top:var(--top);z-index:1;height:var(--S);margin-top:calc(-1 * var(--ih))}

/* ----- intro ----- */
.intro{position:relative;z-index:3;height:var(--ih);background:#0a0a0c;color:#fff}
.intro__pin{position:sticky;top:var(--top);height:var(--S);overflow:hidden;background:#0a0a0c;isolation:isolate;box-shadow:0 24px 70px rgba(0,0,0,.55)}
.intro__img{position:absolute;inset:0;z-index:0}
.intro__img img{width:100%;height:100%;object-fit:cover;object-position:50% 42%;transform:scale(1.42);transform-origin:50% 48%;will-change:transform;user-select:none;-webkit-user-drag:none}
.intro__doors{position:absolute;inset:0;z-index:2;display:flex;pointer-events:none}
.intro__door{position:relative;flex:1;background:linear-gradient(90deg,#141417,#0d0d10 45%,#0b0b0e);box-shadow:inset 0 0 0 1px rgba(255,255,255,.035);will-change:transform}
.intro__door::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 23%,rgba(255,255,255,.028) 23% calc(23% + 1px),transparent calc(23% + 1px) 25%);opacity:.9}
.intro__door--r::before{content:"";position:absolute;left:-1px;top:0;bottom:0;width:2px;background:#fff1dc;box-shadow:0 0 18px 5px rgba(255,218,172,.75),0 0 70px 22px rgba(255,205,160,.38),0 0 180px 60px rgba(255,190,140,.16);z-index:1}
.intro__four{position:absolute;inset:0;z-index:3;margin:0;padding:0 6px;list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:6px;align-items:end;pointer-events:none;will-change:transform}
.intro__four li{position:relative;height:72%;overflow:hidden;background:#17171a;transform:translate3d(0,112%,0);will-change:transform}
.intro__four img{width:100%;height:100%;object-fit:cover;object-position:50% 24%;user-select:none;-webkit-user-drag:none}
.intro__four li::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(8,8,10,.72),rgba(8,8,10,0) 42%)}
.intro__four span{position:absolute;left:14px;right:10px;bottom:14px;z-index:1;font-size:clamp(14px,1.5vw,22px);font-weight:400;letter-spacing:-.01em;color:#fff;line-height:1.1}
.intro__four small{display:block;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.62);margin-bottom:6px;font-variant-numeric:tabular-nums}
.intro__veil{position:absolute;inset:0;z-index:4;background:#07070a;opacity:.74;pointer-events:none;will-change:opacity}
.intro__t{position:absolute;left:0;right:0;z-index:5;text-align:center;color:#fff;padding:0 var(--g);pointer-events:none}
.intro__t--1{top:50%;transform:translateY(-54%);will-change:transform,opacity}
.intro__t--1 .eyebrow{color:rgba(255,255,255,.7);margin-bottom:clamp(14px,2.4vh,26px);font-size:11px;letter-spacing:.3em}
.intro__t--1 h1{display:flex;flex-direction:column;align-items:center;color:#fff;font-size:clamp(66px,15vw,230px);font-weight:300;letter-spacing:-.055em;line-height:.84;margin:0;text-shadow:0 6px 60px rgba(0,0,0,.45)}
.intro__t--1 h1{animation:breathe 7s ease-in-out infinite alternate}
@keyframes breathe{from{transform:scale(1)}to{transform:scale(1.035)}}
.intro__t--1 .intro__the{font-size:.22em;font-weight:400;letter-spacing:.34em;text-transform:uppercase;line-height:1;margin:0 0 .5em .34em;opacity:.85}
.intro__t--2{top:clamp(28px,6svh,64px);opacity:0;will-change:transform,opacity}
.intro__k{font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:rgba(255,255,255,.72);margin:0 0 10px}
.intro__l{font-size:clamp(21px,2.6vw,38px);font-weight:300;letter-spacing:-.025em;line-height:1.15;color:#fff;max-width:26ch;margin:0 auto;text-shadow:0 2px 30px rgba(0,0,0,.4)}
.intro__grain{position:absolute;inset:-60px;z-index:6;pointer-events:none;opacity:.14;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%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");background-size:180px 180px}
.intro__skip{position:absolute;left:50%;bottom:clamp(22px,4vh,40px);z-index:7;transform:translateX(-50%);display:inline-flex;gap:10px;align-items:center;min-height:46px;padding:0 20px;border-radius:999px;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.1);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:#fff;text-decoration:none;font-size:13px;letter-spacing:.06em;white-space:nowrap;transition:background .35s,color .35s,border-color .35s,transform .35s var(--ease)}
.intro__skip .ic{transform:rotate(90deg);transition:transform .3s;animation:bob 2.4s ease-in-out infinite}
@keyframes bob{0%,100%{transform:rotate(90deg)}50%{transform:rotate(90deg) translateX(4px)}}
.intro__skip:hover,.intro__skip.is-cue{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.intro__skip.is-cue{transform:translateX(-50%) scale(1.06)}
.intro__skip.is-cue .ic{animation:none;transform:rotate(90deg) translateX(3px)}
@media (min-width:900px){
  .intro__grain{animation:grain 1.1s steps(5) infinite}
}
@keyframes grain{0%{transform:translate(0,0)}20%{transform:translate(-20px,12px)}40%{transform:translate(14px,-26px)}60%{transform:translate(-28px,-8px)}80%{transform:translate(22px,20px)}100%{transform:translate(0,0)}}
@media (max-width:899px){
  .intro__four{padding:0 4px;gap:4px}
  .intro__four li{height:64%}
  .intro__four span{left:8px;right:4px;bottom:10px;font-size:12px}
  .intro__four small{font-size:9px;letter-spacing:.14em;margin-bottom:3px}
  .intro__t--1 h1{font-size:clamp(66px,19vw,120px)}
  .intro__t--2{top:clamp(20px,5svh,48px)}
  .intro__l{font-size:21px}
}
@media (prefers-reduced-motion:reduce){
  html:has(body.is-home){scroll-snap-type:none}
  .open{display:flex;flex-direction:column}
  .open .sr{position:relative;top:auto;margin-top:0}
  .open__end{display:none}
  .intro{height:auto;order:-1}
  .intro__pin{position:relative;top:auto;box-shadow:none}
  .intro__img img{transform:scale(1.08)}
  .intro__doors,.intro__four,.intro__t--2{display:none}
  .intro__veil{opacity:.5}
  .intro__grain,.intro__t--1 h1,.intro__skip .ic{animation:none}
}

/* ----- the stage is the section ----- */
.sr{position:relative;height:100svh;min-height:600px;overflow:hidden;background:var(--stone);color:var(--ink);isolation:isolate;--d:1}
.is-home .sr{height:calc(100svh - var(--top,0px))}
.sr-stage{position:absolute;inset:0;z-index:0;touch-action:pan-y;background:var(--stone)}
/* plates: the incoming plate wipes in (a sliding window over a still image: two opposed transforms, all composited),
   the outgoing plate dims under it. --d is the wipe direction (1 = from the right, -1 = from the left). */
.sr-plate{position:absolute;inset:0;overflow:hidden;transform:translate3d(calc(var(--d) * 100%),0,0);will-change:transform,opacity}
.sr-plate.is-instant,.sr-plate.is-instant img{transition:none!important}
.sr-plate img{width:100%;height:100%;object-fit:cover;object-position:50% 40%;transform:translate3d(calc(var(--d) * -100%),0,0);will-change:transform;user-select:none;-webkit-user-drag:none}
.sr-plate.is-on{opacity:1;z-index:1;transform:none;transition:transform .58s cubic-bezier(.3,.8,.2,1)}
.sr-plate.is-on img{transform:none;transition:transform .58s cubic-bezier(.3,.8,.2,1)}
.sr-plate.is-off{opacity:0;transform:none;transition:opacity .36s ease .22s}
.sr-plate.is-off img{transform:scale(1.045);transition:transform .6s var(--ease)}
.sr-light,.sr-vig,.sr-grain,.sr-sweep,.sr-flash{position:absolute;inset:0;pointer-events:none;display:block}
.sr-light{z-index:2;inset:-12% -20%;background:linear-gradient(108deg,transparent 28%,rgba(255,247,232,.16) 42%,rgba(255,247,232,.07) 50%,transparent 62%);opacity:.9}
.sr-vig{z-index:2;background:radial-gradient(125% 95% at 50% 42%,transparent 56%,rgba(26,20,14,.26) 100%)}
.sr-grain{z-index:3;inset:-40px;opacity:.065;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .2 0 0 0 0 .18 0 0 0 0 .16 0 0 0 .6 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:180px 180px}
.sr-sweep{z-index:4;inset:-10% -45%;opacity:0;background:linear-gradient(100deg,transparent 38%,rgba(255,255,255,.34) 50%,transparent 62%)}
.sr-flash{z-index:4;opacity:0;background:#fff8ee}
.sr-stage.is-sweep .sr-sweep{animation:srsweep .68s cubic-bezier(.3,.7,.2,1)}
.sr-stage.is-sweep .sr-flash{animation:srflash .5s ease-out}
@keyframes srsweep{0%{opacity:0;transform:translate3d(calc(var(--d) * 62%),0,0)}18%{opacity:1}100%{opacity:0;transform:translate3d(calc(var(--d) * -62%),0,0)}}
@keyframes srflash{0%{opacity:.26}100%{opacity:0}}
@media (min-width:900px){.sr-light{animation:srlight 18s ease-in-out infinite alternate}}
@keyframes srlight{from{transform:translate3d(-5%,0,0)}to{transform:translate3d(5%,0,0)}}
.sr-ui{position:absolute;inset:0;z-index:5;pointer-events:none}
.sr-ui>*{pointer-events:auto}
/* left column: editorial index */
.sr-nav{position:absolute;left:clamp(20px,3.6vw,60px);top:0;bottom:0;width:clamp(264px,22vw,330px);display:flex;flex-direction:column;justify-content:center;gap:clamp(18px,3.4vh,34px);pointer-events:none}
.sr-nav>*{pointer-events:auto}
.sr-nav__k{display:flex;justify-content:space-between;gap:12px;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-2);padding-bottom:12px;border-bottom:1px solid rgba(29,31,35,.22);margin:0}
.sr-nav__k span:last-child{color:var(--ox)}
.sr-occ{display:flex;flex-direction:column}
.sr-occ button{all:unset;cursor:pointer;display:flex;align-items:baseline;gap:14px;min-height:50px;padding:0 0 0 2px;font-size:clamp(24px,2.1vw,32px);font-weight:300;letter-spacing:-.025em;line-height:1;color:rgba(29,31,35,.5);border-bottom:1px solid rgba(29,31,35,.1);transition:color .25s,padding .3s var(--ease),font-weight .2s}
.sr-occ button small{font-size:11px;letter-spacing:.14em;color:rgba(29,31,35,.45);font-variant-numeric:tabular-nums;min-width:22px;transition:color .25s}
.sr-occ button em{font-style:normal;margin-left:auto;font-size:12px;color:rgba(29,31,35,.38);font-variant-numeric:tabular-nums;transition:opacity .25s}
.sr-occ button:hover{color:var(--ink);padding-left:8px}
.sr-occ button[aria-selected="true"]{color:var(--ink);font-weight:450;padding-left:8px}
.sr-occ button[aria-selected="true"] small{color:var(--ox)}
.sr-occ button:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.sr.is-new .sr-count,.sr.is-new .sr-head{animation:srtext .55s var(--ease)}
@keyframes srtext{from{opacity:0;transform:translateY(10px)}}
.sr-count{display:flex;flex-direction:column;gap:8px}
.sr-count__n{display:flex;align-items:baseline;gap:8px;font-size:clamp(64px,6.4vw,104px);font-weight:200;letter-spacing:-.05em;font-variant-numeric:tabular-nums;line-height:.9;color:var(--ink)}
.sr-count__n b{font-weight:200}
.sr-count__of{font-size:clamp(15px,1.1vw,18px);letter-spacing:.02em;font-weight:400;color:var(--ink-2)}
.sr-count__t{font-size:clamp(22px,1.9vw,30px);font-weight:300;letter-spacing:-.025em;line-height:1.15;max-width:20ch;min-height:2.3em}
.sr-ticks{display:flex;gap:3px;flex-wrap:wrap}
.sr-ticks button{all:unset;cursor:pointer;width:10px;height:30px;display:grid;place-items:center;position:relative}
.sr-ticks button::before{content:"";width:1.5px;height:14px;background:rgba(29,31,35,.3);transition:height .22s,background .22s,width .22s}
.sr-ticks button:hover::before{height:22px;background:var(--ink)}
.sr-ticks button[aria-selected="true"]::before{background:var(--ox);height:30px;width:2.5px}
.sr-ticks button span{position:absolute;bottom:38px;left:50%;width:104px;height:132px;margin-left:-52px;border-radius:4px;background:var(--stone) center/cover;box-shadow:0 16px 40px rgba(0,0,0,.22);opacity:0;transform:translateY(8px);transition:.2s var(--ease);pointer-events:none}
.sr-ticks button:hover span,.sr-ticks button:focus-visible span{opacity:1;transform:none}
.sr-arrow{position:absolute;bottom:clamp(22px,4.4vh,44px);width:54px;height:54px;border-radius:999px;border:1px solid rgba(29,31,35,.22);background:rgba(246,243,238,.72);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);display:grid;place-items:center;cursor:pointer;color:var(--ink);transition:transform .2s var(--ease),background .2s,color .2s,border-color .2s}
.sr-arrow:hover{background:var(--ink);color:#fff;border-color:var(--ink);transform:scale(1.06)}
.sr-arrow:active{transform:scale(.96)}
.sr-arrow--prev{left:calc(50% - 68px)}.sr-arrow--prev .ic{transform:rotate(180deg)}
.sr-arrow--next{left:calc(50% + 14px)}
/* right column: the pieces panel */
.sr-sheet{position:absolute;right:clamp(20px,3.6vw,60px);top:clamp(20px,4vh,44px);bottom:clamp(20px,4vh,44px);width:clamp(330px,31vw,400px);display:flex;flex-direction:column;background:rgba(246,243,238,.9);backdrop-filter:blur(20px) saturate(1.25);-webkit-backdrop-filter:blur(20px) saturate(1.25);border-radius:6px;box-shadow:0 30px 90px rgba(29,31,35,.2),inset 0 0 0 1px rgba(255,255,255,.55);overflow:hidden}
.sr-sheet::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--ox)}
.sr-grab{display:none}
.sr-head{padding:26px 24px 14px;border-bottom:1px solid var(--line)}
.sr-head__k{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--ox);margin:0 0 10px}
.sr-head h2{font-size:clamp(24px,1.9vw,30px);font-weight:300;letter-spacing:-.03em;line-height:1.08;margin:0}
.sr-head__tot{margin:10px 0 0;font-size:14px;color:var(--ink-2);display:flex;align-items:baseline;gap:8px}
.sr-head__tot::before{content:"";width:18px;height:1px;background:var(--ox);align-self:center}
.sr-peek{display:none}
.sr-rows{list-style:none;margin:0;padding:4px 14px;overflow:auto;flex:1;overscroll-behavior:contain;scrollbar-width:thin}
.sr-row{border-top:1px solid var(--line)}
.sr-row:first-child{border-top:0}
.sr-row.is-shake{animation:shake .4s 2}
@keyframes shake{25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}
.sr-row__top{display:flex;align-items:center;gap:6px}
.sr-chk{position:relative;width:32px;height:44px;display:grid;place-items:center;flex:none;cursor:pointer}
.sr-chk input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}
.sr-chk i{width:18px;height:18px;border-radius:3px;border:1.5px solid var(--ink);display:grid;place-items:center;transition:background .15s}
.sr-chk input:checked+i{background:var(--ink)}
.sr-chk input:checked+i::after{content:"";width:8px;height:4px;border:2px solid #fff;border-top:0;border-right:0;transform:rotate(-45deg) translate(1px,-1px)}
.sr-chk input:focus-visible+i{outline:2px solid var(--ox);outline-offset:2px}
.sr-row__btn{all:unset;cursor:pointer;flex:1;display:grid;grid-template-columns:54px 1fr auto;gap:14px;align-items:center;padding:12px 6px;min-width:0}
.sr-row__btn img{width:54px;height:70px;object-fit:cover;border-radius:3px;background:var(--stone)}
.sr-row__n{min-width:0}.sr-row__n b{display:block;font-weight:500;font-size:15px;line-height:1.25;letter-spacing:-.01em}.sr-row__n small{display:block;font-size:12.5px;color:var(--ink-2);margin-top:3px}
.sr-row__p{text-align:right;font-size:14px;font-weight:500;white-space:nowrap;font-variant-numeric:tabular-nums}.sr-row__p small{display:block;font-weight:400;font-size:12px;color:var(--ink-2);margin-top:3px}
.sr-row.is-open .sr-row__btn img{outline:1.5px solid var(--ox);outline-offset:2px}
.sr-row__btn:focus-visible{outline:2px solid var(--ink);border-radius:6px}
.sr-row__more{padding:2px 6px 18px 38px;animation:open .3s ease}
@keyframes open{from{opacity:0;transform:translateY(-6px)}}
.sr-gal{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px;scrollbar-width:none}
.sr-gal img{flex:none;width:72%;aspect-ratio:3/4;object-fit:cover;border-radius:4px;scroll-snap-align:start;background:var(--stone)}
.sr-sizes{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 6px}
.sr-sizes button{min-width:48px;height:40px;padding:0 10px;border-radius:999px;border:1px solid var(--line);background:#fff;font:inherit;font-size:13px;cursor:pointer;transition:background .15s,color .15s,border-color .15s}
.sr-sizes button:hover{border-color:var(--ink)}
.sr-sizes button[aria-checked="true"]{background:var(--ink);color:#fff;border-color:var(--ink)}
.sr-guide{font-size:13px;margin:4px 0 10px}.sr-guide button{all:unset;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.sr-row__acts{display:flex;gap:14px;align-items:center}.sr-row__acts .btn{min-height:44px;padding:0 18px;font-size:14px}
.sr-cta{padding:14px 16px 16px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:6px;background:rgba(246,243,238,.96)}
.sr-buy{min-height:56px;border:0;border-radius:999px;background:var(--ink);color:#fff;font:inherit;font-size:16px;font-weight:500;letter-spacing:.01em;cursor:pointer;transition:background .2s,color .2s,transform .1s,box-shadow .2s}
.sr-buy:hover{background:#000}
.sr-buy:active{transform:scale(.985)}
.sr-buy.is-done{background:#fff;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink)}
.sr-book{text-align:center;font-size:13px;color:var(--ink-2);min-height:32px;display:grid;place-items:center}
.sr-slip{position:absolute;z-index:6;left:50%;bottom:24px;transform:translate(-50%,20px);opacity:0;display:flex;gap:16px;align-items:center;padding:12px 18px;min-height:52px;border-radius:999px;background:var(--ink);color:#fff;font-size:14px;transition:.3s var(--ease);box-shadow:0 12px 40px rgba(0,0,0,.25)}
.sr-slip.is-on{opacity:1;transform:translate(-50%,0)}
.sr-slip a{color:#fff;font-weight:600}
@media (min-width:900px) and (max-width:1180px){
  .sr-row__btn{grid-template-columns:46px 1fr auto;gap:10px;padding:10px 4px}.sr-row__btn img{width:46px;height:60px}.sr-row__n b{font-size:14px}.sr-row__p{font-size:13px}.sr-head{padding:22px 18px 12px}.sr-rows{padding:4px 10px}
}
@media (prefers-reduced-motion:reduce){
  .sr-plate,.sr-plate img{transform:none!important;transition:opacity .3s!important}
  .sr-light,.sr-stage.is-sweep .sr-sweep,.sr-stage.is-sweep .sr-flash{animation:none}
  .sr-row__more,.sr.is-new .sr-count,.sr.is-new .sr-head{animation:none}
}

@media (max-width:899px){
  .sr{height:calc(100svh - var(--top,0px));min-height:560px;--peek:200px}
  .sr-plate img{object-position:50% 28%}
  .sr-vig{background:radial-gradient(125% 95% at 50% 40%,transparent 56%,rgba(26,20,14,.22) 100%),linear-gradient(to top,rgba(24,18,12,.5),rgba(24,18,12,0) 38%)}
  .sr-nav{left:0;right:0;top:0;bottom:0;width:auto;justify-content:flex-start;gap:0;padding:10px 14px 0;pointer-events:none}
  .sr-nav__k{display:none}
  .sr-occ{flex-direction:row;gap:2px;padding:3px;border-radius:999px;background:rgba(246,243,238,.62);backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px) saturate(1.2);box-shadow:inset 0 0 0 1px rgba(255,255,255,.5)}
  .sr-occ button{flex:1;justify-content:center;gap:0;padding:0;min-height:40px;border:0;border-radius:999px;font-size:12px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:rgba(29,31,35,.62);transition:background .25s,color .25s}
  .sr-occ button small,.sr-occ button em{display:none}
  .sr-occ button:hover{padding-left:0}
  .sr-occ button[aria-selected="true"]{background:var(--ink);color:#fff;font-weight:500;padding-left:0}
  .sr-count{margin-top:auto;padding:0 2px calc(var(--peek) + 12px);gap:4px;color:#fff;text-shadow:0 1px 18px rgba(0,0,0,.45);transition:opacity .3s;pointer-events:none}
  .sr-count__n{font-size:44px;gap:6px;color:#fff;line-height:.95}
  .sr-count__of{font-size:13px;color:rgba(255,255,255,.75)}
  .sr-count__t{font-size:22px;font-weight:400;max-width:none;min-height:0;line-height:1.15;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .sr.sheet-open .sr-count{opacity:0}
  .sr-ticks{position:absolute;left:14px;right:14px;top:62px;max-width:none;gap:0}
  .sr-ticks button{flex:1;width:auto;height:14px}.sr-ticks button::before{width:100%;height:1.5px;background:rgba(29,31,35,.22)}.sr-ticks button[aria-selected="true"]::before{height:2.5px;width:100%}.sr-ticks button span{display:none}
  .sr-arrow{bottom:auto;top:44%;width:42px;height:42px;background:rgba(246,243,238,.5)}.sr-arrow--prev{left:8px}.sr-arrow--next{left:auto;right:8px}
  .sr-sheet{left:0;right:0;top:auto;bottom:0;width:auto;height:var(--peek);max-height:60%;border-radius:18px 18px 0 0;box-shadow:0 -20px 60px rgba(29,31,35,.18);transition:height .4s var(--ease);background:rgba(246,243,238,.94)}
  .sr-sheet::before{display:none}
  .sr.sheet-open .sr-sheet{height:60%}
  .sr:not(.sheet-open) .sr-rows,.sr:not(.sheet-open) .sr-book{display:none}
  .sr-grab{display:grid;place-items:center;width:100%;height:24px;border:0;background:none;cursor:pointer}.sr-grab i{width:38px;height:4px;border-radius:4px;background:rgba(29,31,35,.22)}
  .sr-head{display:none}.sr.sheet-open .sr-head{display:block;padding:2px 18px 10px;border-bottom:1px solid var(--line)}
  .sr-head h2{font-size:22px}
  .sr-peek{display:flex;gap:10px;padding:0 14px 8px;overflow-x:auto;scrollbar-width:none}.sr.sheet-open .sr-peek{display:none}
  .sr-peek button{all:unset;cursor:pointer;flex:none;width:56px;text-align:center}.sr-peek img{width:56px;height:66px;object-fit:cover;border-radius:4px;display:block;background:var(--stone)}.sr-peek small{display:block;font-size:10px;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:4px}
  .sr-rows{padding:2px 12px}
  .sr-cta{order:5;position:sticky;bottom:0;padding:8px 14px calc(10px + env(safe-area-inset-bottom))}
  .sr-buy{min-height:52px}
  .sr-slip{bottom:auto;top:116px;max-width:calc(100% - 24px);white-space:nowrap}
}

/* size guide */
.sg{border:0;padding:0;width:min(640px,100%);max-height:92vh;border-radius:22px;background:var(--paper,#F6F3EE);color:var(--ink)}
.sg::backdrop{background:rgba(20,20,22,.45);backdrop-filter:blur(4px)}
.sg__in{padding:22px clamp(18px,4vw,32px) 28px;overflow:auto;max-height:92vh}
.sg__h{display:flex;align-items:center;gap:12px}.sg__h h2{flex:1;margin:0;font-size:24px;font-weight:500}
.sg__u{display:flex;border:1px solid var(--line);border-radius:999px;padding:2px}.sg__u button{all:unset;cursor:pointer;min-width:40px;min-height:36px;text-align:center;border-radius:999px;font-size:13px}.sg__u button[aria-pressed="true"]{background:var(--ink);color:#fff}
.sg__x{all:unset;cursor:pointer;width:44px;height:44px;display:grid;place-items:center}
.sg__tabs{display:flex;gap:4px;margin:16px 0;border-bottom:1px solid var(--line)}.sg__tabs button{all:unset;cursor:pointer;min-height:44px;padding:0 12px;font-size:14px;border-bottom:2px solid transparent;color:var(--ink-2)}.sg__tabs button[aria-selected="true"]{color:var(--ink);border-color:var(--ox)}
.sg table{width:100%;border-collapse:collapse;font-size:14px;margin:8px 0 6px}.sg th,.sg td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line)}.sg th{font-weight:500;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2)}
.sg h3{font-size:16px;margin:18px 0 4px}.sg__note{font-size:13px;color:var(--ink-2)}
.sg__f{display:grid;grid-template-columns:1fr 1fr;gap:12px}.sg__f label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--ink-2)}.sg__f select,.sg__f input{min-height:48px;border:1px solid var(--line);border-radius:10px;padding:0 12px;font:inherit;font-size:16px;background:#fff;color:var(--ink)}.sg__f button{grid-column:1/-1}
.sg__out{margin-top:18px;padding:18px;border-radius:16px;background:#fff}.sg__out dl{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:10px 0}.sg__out dt{font-size:12px;color:var(--ink-2)}.sg__out dd{margin:2px 0 0;font-size:24px;font-weight:500}
.sg__how{padding-left:18px;line-height:1.6}.sg__how li{margin-bottom:8px}
@media (max-width:899px){.sg{width:100%;max-width:100%;margin:auto 0 0;border-radius:22px 22px 0 0}.sg__out dl{grid-template-columns:repeat(2,1fr)}}

/* The Rail */
.rail{padding:clamp(28px,5vw,64px) var(--g) 40px}
.rail__h h1{font-size:clamp(34px,5vw,64px);font-weight:300;letter-spacing:-.04em;margin:6px 0 8px}
.rail__body{display:grid;grid-template-columns:1fr 380px;gap:clamp(20px,4vw,56px);margin-top:28px;align-items:start}
.rail__g{margin-bottom:32px}
.rail__g header{display:flex;gap:14px;align-items:center;margin-bottom:10px}.rail__g header img{width:72px;height:90px;object-fit:cover;border-radius:10px}
.rail__g header h2{font-size:20px;font-weight:500;margin:2px 0 4px}
.rail__g ul{list-style:none;margin:0;padding:0;border-top:2px solid var(--ink);position:relative}
.hang{display:grid;grid-template-columns:64px 1fr auto auto;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line);transition:transform .2s,opacity .2s}
.hang::before{content:"";position:absolute;left:30px;width:2px;height:12px;margin-top:-58px;background:var(--ink)}
.hang img{width:64px;height:80px;object-fit:cover;border-radius:8px;background:var(--stone)}
.hang b{font-weight:500}.hang b a{color:inherit;text-decoration:none}.hang small{display:block;font-size:13px;color:var(--ink-2)}
.hang.is-off{transform:translateY(-12px);opacity:0}
.rail__order{position:sticky;top:calc(var(--top,80px) + 16px);background:#fff;border-radius:20px;padding:22px}
.rail__order h2{font-size:18px;font-weight:500;margin:0 0 12px}
.seg{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border-radius:14px;background:var(--stone)}.seg button{all:unset;cursor:pointer;min-height:44px;text-align:center;border-radius:10px;font-size:13.5px;padding:4px 8px}.seg button[aria-checked="true"]{background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.08);font-weight:500}
.chk{display:flex;gap:10px;align-items:flex-start;font-size:14px;margin:14px 0}.chk input{width:20px;height:20px;margin-top:1px;accent-color:var(--ink)}
.rail__sum{margin:0 0 14px;border-top:1px solid var(--line)}.rail__sum div{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line)}.rail__sum dt{color:var(--ink-2)}.rail__sum dd{margin:0;font-weight:500}
.rail__form{display:grid;gap:10px}.rail__form label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--ink-2)}.rail__form input{min-height:48px;border:1px solid var(--line);border-radius:10px;padding:0 12px;font:inherit;font-size:16px}
.btn--block{width:100%;min-height:54px}
@media (max-width:899px){.rail__body{grid-template-columns:1fr}.rail__order{position:static}.hang{grid-template-columns:56px 1fr auto;}.hang [data-rail-rm]{grid-column:2/-1;justify-self:start}}
@media (max-width:899px){
  .sh__book{display:none}
}

/* ---- audit fixes (2026-11-01) ---- */
:is(.sr-ticks,.sr-peek,.sr-guide,.sg__u,.sg__tabs,.seg) button:focus-visible,.sg__x:focus-visible{outline:2px solid var(--ox,#7a1b2b);outline-offset:2px}
.sg,.sg__in{max-height:92svh}
.sg__in{overscroll-behavior:contain;padding-bottom:calc(28px + env(safe-area-inset-bottom))}
html:has(dialog[open]){overflow:hidden}
.hang__size{display:inline-flex;align-items:center;gap:8px;margin-top:6px;font-size:13px}
.hang__size span{opacity:.7}
.hang__size select{font:inherit;padding:6px 28px 6px 10px;border:1px solid currentColor;border-radius:999px;background:transparent;color:inherit}
.rail__form textarea{font:inherit;width:100%;padding:10px 12px;border:1px solid currentColor;border-radius:10px;background:transparent;color:inherit;resize:vertical}

/* ================= Fitting Room polish (2026-11-01 b): piece card, shoes in view, centred tabs, sharper phone stage ================= */
/* rows open a piece card (no inline expansion) */
.sr-row__btn{grid-template-columns:54px 1fr auto 12px}
.sr-row__go{font-size:22px;line-height:1;color:var(--muted);justify-self:end}
.sr-row__btn img,.sr-peek img,.sr-pc__gal img{mix-blend-mode:multiply}
.sr-row__btn img{background:#E7E1D8}
/* the piece card */
.sr-detail{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:0 0 12px;scrollbar-width:thin}
.sr.piece-open .sr-rows,.sr.piece-open .sr-head,.sr.piece-open .sr-peek,.sr.piece-open .sr-pt{display:none!important}
.sr-pc__bar{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px 10px 8px;background:rgba(246,243,238,.96);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.sr-pc__back{all:unset;cursor:pointer;font-size:14px;font-weight:500;padding:8px 10px;border-radius:999px}
.sr-pc__back:hover,.sr-pc__back:focus-visible{background:rgba(29,31,35,.06)}
.sr-pc__nav{display:flex;align-items:center;gap:4px;font-variant-numeric:tabular-nums}.sr-pc__nav small{font-size:12px;color:var(--ink-2);min-width:34px;text-align:center}
.sr-pc__nav button{all:unset;cursor:pointer;width:36px;height:36px;display:grid;place-items:center;border-radius:50%;font-size:22px;line-height:1;border:1px solid var(--line)}
.sr-pc__nav button:disabled{opacity:.3;cursor:default}
.sr-pc__nav button:focus-visible,.sr-pc__back:focus-visible{outline:2px solid var(--ox);outline-offset:2px}
.sr-pc__gal{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;padding:14px 16px 4px;scrollbar-width:none;overscroll-behavior-x:contain}
.sr-pc__gal::-webkit-scrollbar{display:none}
.sr-pc__gal figure{flex:none;width:min(68%,300px);margin:0;scroll-snap-align:start;border-radius:10px;overflow:hidden;background:#E9E3DA;aspect-ratio:4/5}
.sr-pc__gal img{width:100%;height:100%;object-fit:cover;display:block}
.sr-pc__dots{display:flex;justify-content:center;gap:6px;padding:8px 0 0}.sr-pc__dots i{width:6px;height:6px;border-radius:50%;background:rgba(29,31,35,.18);transition:background .2s,transform .2s}.sr-pc__dots i.on{background:var(--ink);transform:scale(1.15)}
.sr-pc__info{padding:12px 18px 0}
.sr-pc__info h3{margin:0;font-size:22px;font-weight:400;letter-spacing:-.02em;line-height:1.15}
.sr-pc__sub{margin:4px 0 0;font-size:13px;color:var(--ink-2)}
.sr-pc__price{margin:8px 0 0;font-size:15px;font-weight:500;font-variant-numeric:tabular-nums}
.sr-pc__sz,.sr-pc__one{padding:6px 18px 0}
.sr-pc__one{font-size:13px;color:var(--ink-2)}
.sr-pc__lbl{margin:12px 0 0;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}.sr-pc__lbl b{font-weight:500;letter-spacing:0;text-transform:none;color:var(--ink);margin-left:6px;font-size:13px}
.sr-pc__acts{display:flex;gap:8px;padding:10px 18px 4px}.sr-pc__acts .btn{flex:1;min-height:46px;justify-content:center}
.sr-pt{display:none}

@media (max-width:899px){
  /* the four occasions: labels truly centred in their pills */
  .sr-occ button{align-items:center;line-height:1;text-align:center}
  .sr-occ button span{display:block;line-height:1;padding-top:1px}
  /* the look sits in the space above the panel, so the shoes and plinth always show */
  .sr-stage{background:linear-gradient(#d7cdc0,#c9bdaf)}
  .sr-plate{bottom:calc(var(--peek) - 14px)}
  .sr-plate img{object-position:50% 50%}
  .sr-vig{background:radial-gradient(130% 100% at 50% 40%,transparent 60%,rgba(26,20,14,.16) 100%)}
  .sr-grain{display:none}
  /* counter + title move into the panel so nothing covers the figure */
  .sr-count{display:none}
  .sr-pt{display:flex;align-items:baseline;gap:6px;margin:0;padding:0 16px 8px;font-variant-numeric:tabular-nums;min-width:0}
  .sr-pt b{font-size:15px;font-weight:500}.sr-pt span{font-size:12px;color:var(--ink-2)}
  .sr-pt em{font-style:normal;font-size:14px;color:var(--ink);margin-left:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
  .sr.sheet-open .sr-pt{display:none}
  .sr-peek button{width:60px}.sr-peek img{width:60px;height:72px;background:#E7E1D8}
  /* list = 60%, piece card = 88% (the look stays visible above it) */
  .sr.piece-open .sr-sheet{height:80%;max-height:80%}
  .sr.sheet-open .sr-arrow{opacity:0;pointer-events:none}
  .sr.piece-open .sr-cta .sr-book{display:none}
  .sr-arrow{top:38%}
}
@media (min-width:900px){
  .sr-detail{padding-bottom:6px}
  .sr-pc__gal figure{width:62%}
}
@media (prefers-reduced-motion:reduce){.sr-pc__dots i{transition:none}}
@media (min-width:900px) and (max-width:1180px){.sr-row__btn{grid-template-columns:46px 1fr auto 10px}}

/* ================= Tap the garment (2026-11-01 c): a dot per piece on the figure ================= */
.sr-ui>.sr-hs{position:absolute;inset:0;pointer-events:none}
.sr-hs__dot{position:absolute;width:44px;height:44px;margin:-22px 0 0 -22px;padding:0;border:0;background:none;cursor:pointer;pointer-events:auto;display:grid;place-items:center;opacity:0;transform:scale(.4);transition:opacity .3s ease,transform .45s cubic-bezier(.3,1.4,.5,1);-webkit-tap-highlight-color:transparent}
.sr-hs.is-in .sr-hs__dot{opacity:1;transform:none;transition-delay:calc(.5s + var(--k) * 70ms)}
.sr-hs__dot i{position:relative;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 0 0 5px rgba(255,255,255,.34),0 2px 12px rgba(0,0,0,.32);transition:transform .2s,background .2s}
.sr-hs__dot i::after{content:"";position:absolute;inset:-5px;border-radius:50%;border:1.5px solid rgba(255,255,255,.95);opacity:0;animation:hsPulse 2.2s ease-out 1.1s 3}
@keyframes hsPulse{0%{transform:scale(.7);opacity:.9}100%{transform:scale(2.3);opacity:0}}
.sr-hs__dot:hover i,.sr-hs__dot:focus-visible i,.sr-hs__dot.is-on i{transform:scale(1.2);background:var(--ink);box-shadow:0 0 0 5px rgba(255,255,255,.9),0 2px 12px rgba(0,0,0,.3)}
.sr-hs__dot span{position:absolute;left:36px;top:50%;transform:translate(-6px,-50%);white-space:nowrap;padding:8px 13px;border-radius:999px;background:rgba(255,255,255,.95);color:var(--ink);font-size:13px;line-height:1;letter-spacing:-.005em;box-shadow:0 8px 26px rgba(0,0,0,.14);opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}
.sr-hs__dot span b{font-weight:600;margin-left:6px}
.sr-hs__dot:hover span,.sr-hs__dot:focus-visible span,.sr-hs__dot.is-on span{opacity:1;transform:translate(0,-50%)}
@media (max-width: 899px){
  .sr-hs__dot{width:40px;height:40px;margin:-20px 0 0 -20px}
  .sr-hs__dot i{width:14px;height:14px;box-shadow:0 0 0 4px rgba(255,255,255,.36),0 2px 10px rgba(0,0,0,.3)}
  .sr-hs__dot span{display:none}
  .sr-hs{transition:opacity .25s}
  .sr.sheet-open .sr-hs{opacity:0;visibility:hidden;transition:opacity .2s,visibility 0s .2s}
}
@media (prefers-reduced-motion: reduce){
  .sr-hs__dot,.sr-hs.is-in .sr-hs__dot{transform:none;transition:opacity .2s}
  .sr-hs__dot i::after{animation:none}
}

/* ================= The opening, lit (2026-11-01 c): pale travertine doors, a sharp bright room, no dark veil ================= */
.intro,.intro__pin{background:#efe8de;color:#1b1610}
.intro__pin{box-shadow:0 24px 70px rgba(70,48,24,.16)}
.intro__img img{transform:scale(1.2)}
.intro__door{background:linear-gradient(90deg,#f4eee6,#ece4d9 46%,#e5dccf);box-shadow:inset 0 0 0 1px rgba(255,255,255,.55),inset -36px 0 70px rgba(120,88,56,.07)}
.intro__door--r{background:linear-gradient(270deg,#f4eee6,#ece4d9 46%,#e5dccf);box-shadow:inset 0 0 0 1px rgba(255,255,255,.55),inset 36px 0 70px rgba(120,88,56,.07)}
.intro__door::after{background:repeating-linear-gradient(90deg,transparent 0 23%,rgba(96,68,40,.075) 23% calc(23% + 1px),transparent calc(23% + 1px) 25%);opacity:1}
.intro__door--r::before{background:#fffaf2;box-shadow:0 0 16px 4px rgba(255,238,210,.95),0 0 60px 20px rgba(255,228,190,.5),0 0 160px 56px rgba(255,216,172,.22)}
.intro__veil{background:#f4eee6;opacity:.62}
.intro__t--1 .eyebrow{color:rgba(30,23,16,.6)}
.intro__t--1 h1{color:#1b1610;text-shadow:0 2px 40px rgba(255,250,242,.55)}
.intro__k{color:rgba(30,23,16,.62)}
.intro__l{color:#1b1610;text-shadow:0 1px 22px rgba(255,250,242,.9)}
.intro__four li{background:#e6ddd1;box-shadow:0 -10px 40px rgba(70,48,24,.12)}
.intro__four li::after{background:linear-gradient(to top,rgba(22,15,8,.52),rgba(22,15,8,0) 32%)}
.intro__four img{object-position:50% 40%}
.intro__grain{opacity:.045}
.intro__skip{border-color:rgba(30,23,16,.18);background:rgba(255,252,247,.72);color:#1b1610}
.intro__skip:hover,.intro__skip.is-cue{background:#1b1610;color:#fff;border-color:#1b1610}
@media (prefers-reduced-motion:reduce){
  .intro__veil{opacity:.5}
  .intro__img img{transform:none}
}

/* ================= Shop: prices, buy box, department grids (2026-11-01 c) ================= */
.pcard__price{font-size:14px;font-weight:600;letter-spacing:-.01em;margin-top:2px;font-variant-numeric:tabular-nums}
.pdp__info>.pdp__price{font-size:clamp(22px,2vw,28px);font-weight:500;letter-spacing:-.02em;margin:-6px 0 14px;color:var(--ink);font-variant-numeric:tabular-nums}
.pdp__buy{margin:22px 0 4px;padding:18px;border:1px solid var(--line);border-radius:14px;background:#fff}
.pdp__sizes{border:0;padding:0;margin:0 0 12px;min-width:0}
.pdp__sizes legend{font-size:14px;padding:0;margin-bottom:2px}
.pdp__sizes legend span{font-weight:600;margin-left:4px}
.pdp__sizes .sr-sizes{margin-top:10px}
.pdp__one{font-size:14px;margin:0 0 12px;color:var(--ink-2)}
.pdp__msg{font-size:14px;margin:10px 0 0}.pdp__msg:empty{display:none}
.pdp__msg a{color:inherit;font-weight:600}
.pdp .actions--stack{margin-top:14px;gap:8px}
.dshop{padding:clamp(40px,6vw,80px) var(--g) 10px}
.dshop .pgrid{margin-top:22px;padding:0 0 20px}

/* ================= Shop navigation (Fable 2026-11-02): mega panel under "Shop", phone menu shop grid ================= */
.mega{position:absolute;left:0;right:0;top:100%;z-index:41;background:rgba(246,243,238,.96);backdrop-filter:blur(20px) saturate(1.3);-webkit-backdrop-filter:blur(20px) saturate(1.3);border-bottom:1px solid var(--line);box-shadow:0 30px 60px rgba(29,31,35,.12);opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .22s var(--ease),transform .28s var(--ease),visibility 0s .22s}
.sh:has(.sh__shoplink:hover) .mega,.sh:has(.sh__shoplink:focus-visible) .mega,.mega:hover,.mega:focus-within{opacity:1;visibility:visible;transform:none;transition-delay:.08s,.08s,0s}
.mega__in{display:grid;grid-template-columns:240px minmax(0,1fr);gap:36px;align-items:start;padding:24px var(--g) 28px;max-width:1500px;margin:0 auto}
.mega__all{display:flex;flex-direction:column;text-decoration:none;color:inherit;padding-top:2px}
.mega__all .eyebrow{color:var(--ox);margin-bottom:10px}
.mega__all strong{font-size:26px;font-weight:300;letter-spacing:-.03em;line-height:1.05}
.mega__all small{font-size:13px;color:var(--ink-2);margin-top:8px}
.mega__all .ic{margin-top:14px;transition:transform .2s var(--ease)}.mega__all:hover .ic{transform:translateX(4px)}
.mega__grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:10px}
.mega__d{text-decoration:none;color:inherit;min-width:0}
.mega__d img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px;background:var(--stone);filter:saturate(.85) contrast(1.03);transition:transform .5s var(--ease),filter .3s}
.mega__d:hover img{filter:saturate(1) contrast(1.03);transform:translateY(-2px)}
.mega__d--pack img{object-fit:cover;background:#F3EFE8;mix-blend-mode:multiply}
.mega__d span{display:flex;flex-direction:column;gap:1px;margin-top:8px}
.mega__d strong{font-weight:500;font-size:13.5px;letter-spacing:-.005em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mega__d small{font-size:12px;color:var(--muted)}
.mega__d:focus-visible{outline:2px solid var(--ox);outline-offset:3px;border-radius:10px}
@media (max-width:1180px){.mega__grid{grid-template-columns:repeat(4,minmax(0,1fr))}.mega__in{grid-template-columns:200px minmax(0,1fr)}}
@media (max-width:899px){.mega{display:none}}
.menu__shop{margin-top:26px}
.menu__shopall{display:flex;justify-content:space-between;align-items:baseline;gap:12px;text-decoration:none;font-size:16px;font-weight:500;padding:0 0 12px}
.menu__shopall span{font-size:13px;color:var(--muted);font-weight:400}
.menu__shopgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.menu__shopgrid a{text-decoration:none;font-size:12px;line-height:1.2;color:var(--ink-2);min-width:0}
.menu__shopgrid img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:10px;background:var(--stone);margin-bottom:6px;filter:saturate(.85)}
.menu__shopgrid span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (prefers-reduced-motion:reduce){.mega{transition:none}.mega__d img,.mega__all .ic{transition:none}}

/* ================= Product cards with quick shop (Fable 2026-11-02) ================= */
.pcard{position:relative;display:flex;flex-direction:column;gap:4px;min-width:0;text-decoration:none}
.pcard__media{position:relative;aspect-ratio:3/4;background:#F3EFE8;border-radius:12px;overflow:hidden;margin-bottom:8px}
.pcard__media img{width:100%;height:100%;object-fit:cover;mix-blend-mode:multiply;transition:transform .6s var(--ease)}
.pcard:hover .pcard__media img{transform:scale(1.03)}
.pcard__name{text-decoration:none;color:inherit;font-size:15px;line-height:1.3}
.pcard__name::after{content:"";position:absolute;inset:0;z-index:1;border-radius:12px}
.pcard:has(.pcard__name:focus-visible){outline:2px solid var(--ox);outline-offset:4px;border-radius:12px}
.pcard__name:focus-visible{outline:none}
.pcard__add{position:absolute;right:8px;bottom:8px;z-index:2;width:40px;height:40px;border-radius:50%;border:1px solid rgba(29,31,35,.1);background:rgba(255,255,255,.94);color:var(--ink);display:grid;place-items:center;cursor:pointer;box-shadow:0 4px 16px rgba(29,31,35,.12);transition:background .2s,color .2s,transform .2s var(--ease)}
.pcard__add .ic{width:18px;height:18px;stroke-width:2}
.pcard__add:hover,.pcard__add:focus-visible{background:var(--ink);color:#fff;border-color:var(--ink);transform:scale(1.06)}
.pcard__add:active{transform:scale(.96)}
.pgrid--rail .pcard__add{right:6px;bottom:6px;width:36px;height:36px}

/* ================= Lookbook: the wall (Fable 2026-11-02) =================
   An image wall with no copy: all 80 looks, the occasion chips sticky under the header. Dense grid; a row unit is a
   quarter of a column (minus the gap share) so 4:5 tiles span 5 rows, 9:16 seven and 16:9 two columns by five. */
.lw{--gap:14px;--cols:4;--cw:calc((100vw - 2*var(--g) - (var(--cols) - 1)*var(--gap))/var(--cols));--u:calc(var(--cw)/4 - .8*var(--gap));padding-bottom:48px}
.lw__head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:clamp(32px,5vw,60px) var(--g) 14px}
.lw__head h1{font-size:clamp(56px,7.5vw,116px);font-weight:300;letter-spacing:-.05em;line-height:.9;margin:0}
.lw__head sup,.shop__head sup{font-size:.22em;font-weight:500;letter-spacing:0;color:var(--ox);vertical-align:top;margin-left:.3em;line-height:1;position:relative;top:.42em;font-variant-numeric:tabular-nums}
.lw__line{color:var(--ink-2);max-width:36ch;font-size:16px;padding-bottom:10px}
.lw__bar{position:sticky;top:var(--top);z-index:30;padding:8px var(--g);background:rgba(246,243,238,.84);backdrop-filter:blur(16px) saturate(1.3);-webkit-backdrop-filter:blur(16px) saturate(1.3)}
.lw__chips,.shop__chips{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;scroll-padding:0 10px}
.lw__chips::-webkit-scrollbar,.shop__chips::-webkit-scrollbar{display:none}
.lw__chips a,.shop__chips button{flex:none;display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 16px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.72);text-decoration:none;font:inherit;font-size:14px;color:var(--ink);cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.lw__chips a span,.shop__chips button span{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}
.lw__chips a:hover,.shop__chips button:hover{border-color:var(--ink)}
.lw__chips a[aria-current="page"],.shop__chips button[aria-pressed="true"]{background:var(--ink);color:#fff;border-color:var(--ink)}
.lw__chips a[aria-current="page"] span,.shop__chips button[aria-pressed="true"] span{color:rgba(255,255,255,.65)}
.lw__chips a:focus-visible,.shop__chips button:focus-visible{outline:2px solid var(--ox);outline-offset:2px}
.lw__grid{display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));grid-auto-rows:var(--u);grid-auto-flow:dense;gap:var(--gap);padding:10px var(--g) 0}
.lw__t{position:relative;display:block;overflow:hidden;border-radius:14px;background:var(--stone);text-decoration:none;color:#fff;grid-row:span 5;-webkit-tap-highlight-color:transparent;transform:translateZ(0)}
.lw__t--9x16{grid-row:span 7}.lw__t--16x9{grid-column:span 2}
.lw__t img{width:100%;height:100%;object-fit:cover;object-position:var(--px,50%) 50%;transition:transform 1.1s var(--ease)}
.lw__t:hover img{transform:scale(1.035)}
.lw__t::after{content:"";position:absolute;inset:auto 0 0;height:46%;background:linear-gradient(to top,rgba(24,20,16,.6),rgba(24,20,16,.28) 45%,rgba(24,20,16,0));pointer-events:none}
.lw__cap{position:absolute;left:14px;right:14px;bottom:12px;z-index:1;display:flex;flex-direction:column;gap:3px;text-shadow:0 1px 12px rgba(0,0,0,.4)}
.lw__cap b{font-size:11px;letter-spacing:.14em;font-weight:600;opacity:.85}
.lw__cap em{font-style:normal;font-size:15px;font-weight:500;letter-spacing:-.01em;line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.lw__cap small{font-size:12px;opacity:.92;font-variant-numeric:tabular-nums}
.lw__t:focus-visible{outline:2px solid var(--ox);outline-offset:3px}
.lw__note{font-size:13px;color:var(--muted);padding:28px var(--g) 0;max-width:720px}
@media (max-width:1100px){.lw{--cols:3}}
@media (max-width:599px){
  .lw{--cols:2;--gap:8px;--cw:calc((100vw - 20px - var(--gap))/2)}
  .lw__head{padding:26px 10px 10px;flex-direction:column;align-items:flex-start;gap:4px}.lw__head h1{font-size:50px}.lw__line{font-size:14px;padding-bottom:0}
  .lw__bar{padding:6px 10px}.lw__grid{padding:6px 10px 0}
  .lw__t{border-radius:10px}.lw__cap{left:10px;right:10px;bottom:9px;gap:2px}.lw__cap em{font-size:13px}.lw__cap small{font-size:11px}.lw__cap b{font-size:10px}
  .lw__note{padding:22px 10px 0}
}
@media (prefers-reduced-motion:reduce){.lw__t img{transition:none}.lw__t:hover img{transform:none}}

/* ================= Lookbook: the viewer (Fable 2026-11-02) =================
   A full-screen dialog. Phone: one look per screen, vertical scroll snap, the photo above a bone shop panel.
   Desktop: a spread, the photo left on a soft ambient of itself, the panel right; arrows + keys move. */
.lv{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:var(--paper);color:var(--ink);overflow:hidden}
.lv::backdrop{background:rgba(246,243,238,.5)}
.lv[open]{animation:lvIn .34s var(--ease)}
@keyframes lvIn{from{opacity:0;transform:scale(1.025)}}
.lv__scroll{position:absolute;inset:0;overflow-y:auto;scroll-snap-type:y mandatory;overscroll-behavior:contain;scrollbar-width:none;outline:none}
.lv__scroll::-webkit-scrollbar{display:none}
.lv__look{position:relative;height:100%;scroll-snap-align:start;scroll-snap-stop:always;display:grid;grid-template-rows:minmax(0,1fr) auto;background:var(--paper);overflow:hidden}
.lv__photo{position:relative;overflow:hidden;background:var(--stone);min-height:0}
.lv__bg{position:absolute;inset:-10%;width:120%;height:120%;object-fit:cover;filter:blur(44px) saturate(1.1);opacity:.24;transform:translateZ(0);pointer-events:none}
.lv__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:2;user-select:none;-webkit-user-drag:none;background:transparent}
.lv__hs{position:absolute;inset:0;z-index:3;pointer-events:none}
.lv__hs .sr-hs__dot{pointer-events:auto}
.lv__top{position:absolute;left:0;right:0;top:0;z-index:6;display:flex;align-items:center;justify-content:space-between;padding:calc(10px + env(safe-area-inset-top)) 12px 0;pointer-events:none}
.lv__top>*{pointer-events:auto}
.lv__x,.lv__arrow{width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.65);background:rgba(246,243,238,.8);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);display:grid;place-items:center;cursor:pointer;color:var(--ink);box-shadow:0 6px 20px rgba(29,31,35,.14);transition:background .2s,color .2s,border-color .2s,transform .2s var(--ease)}
.lv__x:hover,.lv__arrow:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.lv__x:focus-visible,.lv__arrow:focus-visible{outline:2px solid var(--ox);outline-offset:2px}
.lv__arrow:disabled{opacity:.35;pointer-events:none}
.lv__pos{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:0 14px;border-radius:999px;background:rgba(246,243,238,.8);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);font-variant-numeric:tabular-nums;box-shadow:0 6px 20px rgba(29,31,35,.1);margin:0}
.lv__pos b{font-weight:600;color:var(--ink);letter-spacing:.06em}.lv__pos i{font-style:normal;opacity:.5}
.lv__panel{position:relative;z-index:4;padding:12px 14px calc(12px + env(safe-area-inset-bottom));background:var(--paper);display:flex;flex-direction:column;gap:10px;min-width:0}
.lv__k{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-2);margin:0;display:flex;gap:10px}.lv__id{color:var(--ox);font-weight:600}
.lv__panel h2{font-size:21px;font-weight:400;letter-spacing:-.025em;line-height:1.12;margin:2px 0 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.lv__sum,.lv__tot{display:none}
.lv__pieces{list-style:none;margin:2px -14px 0;padding:0 14px;display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x proximity;scroll-padding:0 14px}
.lv__pieces::-webkit-scrollbar{display:none}
.lv__pieces li{flex:none;scroll-snap-align:start;min-width:0}
.lv__pc{all:unset;cursor:pointer;display:grid;grid-template-columns:44px minmax(0,1fr);grid-template-rows:auto auto;column-gap:10px;align-items:center;align-content:center;padding:6px 14px 6px 6px;border-radius:14px;background:#fff;border:1px solid var(--line);min-height:68px;max-width:224px;box-sizing:border-box;transition:border-color .2s,box-shadow .2s}
.lv__pc:hover{border-color:var(--ink)}
.lv__pc:focus-visible{outline:2px solid var(--ox);outline-offset:2px}
.lv__pc.is-on{box-shadow:inset 0 0 0 1.5px var(--ink);border-color:var(--ink)}
.lv__pc img{grid-row:1/3;width:44px;height:54px;object-fit:cover;border-radius:8px;background:#EDE7DE;mix-blend-mode:multiply}
.lv__pc b{grid-column:2;font-weight:500;font-size:12.5px;line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-width:150px}
.lv__pc small{display:none}
.lv__pc em{grid-column:2;font-style:normal;font-size:12px;color:var(--ink-2);margin-top:3px;font-variant-numeric:tabular-nums;white-space:nowrap}
.lv__acts{display:flex;gap:8px}
.lv__acts .btn{flex:1;min-height:48px;padding:10px 12px;font-size:14px;white-space:nowrap;min-width:0}
.lv__acts .btn em{font-style:normal;opacity:.65;font-weight:400;margin-left:2px}
.lv__buy.is-done{background:#fff;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink)}
.lv__fine{font-size:11.5px;color:var(--muted);margin:0;line-height:1.4}
.lv__nav{display:none}
.lv__slip{position:absolute;z-index:8;left:50%;bottom:calc(20px + env(safe-area-inset-bottom));transform:translate(-50%,20px);opacity:0;display:flex;gap:16px;align-items:center;padding:12px 18px;min-height:50px;border-radius:999px;background:var(--ink);color:#fff;font-size:14px;transition:.3s var(--ease);box-shadow:0 12px 40px rgba(0,0,0,.25);white-space:nowrap;max-width:calc(100% - 24px)}
.lv__slip.is-on{opacity:1;transform:translate(-50%,0)}
.lv__slip a{color:#fff;font-weight:600}
@media (min-width:900px){
  .lv__look{grid-template-rows:none;grid-template-columns:minmax(0,1fr) clamp(360px,30vw,420px)}
  .lv__photo{background:var(--paper)}
  .lv__img{object-fit:contain;padding:clamp(72px,10vh,96px) clamp(24px,4vw,64px) clamp(84px,13vh,124px)}
  .lv__top{padding:22px 26px 0}
  .lv__x{order:2}.lv__pos{order:1}
  .lv__pos{font-size:12px}
  .lv__panel{padding:clamp(60px,9vh,80px) clamp(24px,2.6vw,40px) 24px;border-left:1px solid var(--line);overflow:auto;gap:14px;scrollbar-width:thin}
  .lv__panel h2{font-size:clamp(26px,2.2vw,34px);font-weight:300;letter-spacing:-.03em;-webkit-line-clamp:3}
  .lv__sum{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;font-size:14px;line-height:1.5;color:var(--ink-2);margin:0}
  .lv__pieces{flex-direction:column;overflow:visible;margin:6px 0 0;padding:0;gap:0;border-top:1px solid var(--line)}
  .lv__pieces li{border-bottom:1px solid var(--line)}
  .lv__pc{grid-template-columns:54px minmax(0,1fr) auto;column-gap:14px;padding:10px 4px;border:0;border-radius:4px;background:none;max-width:none;width:100%;min-height:0}
  .lv__pc.is-on{box-shadow:none;background:rgba(255,255,255,.7)}
  .lv__pc img{width:54px;height:70px;border-radius:4px}
  .lv__pc b{font-size:15px;max-width:none;white-space:normal;letter-spacing:-.01em}
  .lv__pc small{display:block;grid-column:2;font-size:12.5px;color:var(--ink-2);margin-top:3px}
  .lv__pc em{grid-column:3;grid-row:1/3;font-size:14px;font-weight:500;color:var(--ink);margin:0;text-align:right}
  .lv__tot{display:flex;align-items:baseline;gap:8px;margin:4px 0 0;font-size:14px;color:var(--ink-2)}
  .lv__tot::before{content:"";width:18px;height:1px;background:var(--ox);align-self:center}
  .lv__acts{flex-direction:column;margin-top:4px}.lv__acts .btn{min-height:52px;font-size:15px}
  .lv__fine{font-size:12px}
  .lv__nav{display:flex;position:absolute;left:0;right:clamp(360px,30vw,420px);bottom:clamp(22px,4vh,40px);justify-content:center;gap:10px;z-index:6;pointer-events:none}
  .lv__arrow{pointer-events:auto;width:54px;height:54px}
  .lv__arrow--prev .ic{transform:rotate(-90deg)}.lv__arrow--next .ic{transform:rotate(90deg)}
  .lv__slip{bottom:clamp(90px,16vh,124px);left:calc((100% - clamp(360px,30vw,420px))/2)}
}
@media (prefers-reduced-motion:reduce){
  .lv[open]{animation:none}.lv__scroll{scroll-behavior:auto}.lv__slip{transition:opacity .2s}
}

/* ================= Quick shop sheet (Fable 2026-11-02): one sheet for look pieces, shop and department cards ================= */
.qs{border:0;padding:0;width:min(540px,100%);max-width:100%;max-height:92dvh;margin:auto;border-radius:24px;background:var(--paper);color:var(--ink);box-shadow:0 40px 100px rgba(29,31,35,.28);overflow:hidden}
.qs::backdrop{background:rgba(29,31,35,.34);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
.qs[open]{opacity:1;transform:none;transition:opacity .22s var(--ease),transform .32s var(--ease)}
@starting-style{.qs[open]{opacity:0;transform:translateY(28px)}}
.qs.is-closing{opacity:0;transform:translateY(28px)}
.qs__in{max-height:92dvh;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-bottom:calc(18px + env(safe-area-inset-bottom))}
.qs__bar{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:12px 8px 4px 20px;background:linear-gradient(var(--paper) 72%,rgba(246,243,238,0))}
.qs__grab{display:none;position:absolute;left:50%;top:7px;width:38px;height:4px;border-radius:4px;background:rgba(29,31,35,.2);transform:translateX(-50%)}
.qs__k{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-2);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.qs__x{all:unset;cursor:pointer;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;flex:none}.qs__x:hover{background:rgba(29,31,35,.06)}.qs__x:focus-visible{outline:2px solid var(--ox);outline-offset:2px}
.qs__gal{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 20px 2px;scrollbar-width:none;overscroll-behavior-x:contain}
.qs__gal::-webkit-scrollbar{display:none}
.qs__gal figure{flex:none;width:min(70%,300px);margin:0;scroll-snap-align:start;border-radius:14px;overflow:hidden;background:#EDE7DE;aspect-ratio:4/5}
.qs__gal img{width:100%;height:100%;object-fit:cover;mix-blend-mode:multiply;display:block}
.qs__gal:focus-visible{outline:2px solid var(--ox);outline-offset:-2px}
.qs__dots{display:flex;justify-content:center;gap:6px;padding:10px 0 0}.qs__dots i{width:6px;height:6px;border-radius:50%;background:rgba(29,31,35,.18);transition:background .2s}.qs__dots i.on{background:var(--ink)}
.qs__info{padding:14px 20px 0}.qs__info h2{font-size:22px;font-weight:400;letter-spacing:-.02em;line-height:1.15;margin:0}
.qs__sub{font-size:13px;color:var(--ink-2);margin:4px 0 0}.qs__price{font-size:16px;font-weight:500;margin:8px 0 0;font-variant-numeric:tabular-nums}
.qs__colors{padding:12px 20px 0}.qs__colors p{margin:0 0 8px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}.qs__colors p b{font-weight:500;letter-spacing:0;text-transform:none;color:var(--ink);margin-left:6px;font-size:13px}
.qs__colors div{display:flex;flex-wrap:wrap;gap:6px}
.qs__colors button{min-height:38px;padding:0 14px;border-radius:999px;border:1px solid var(--line);background:#fff;font:inherit;font-size:13px;cursor:pointer;transition:background .15s,color .15s,border-color .15s}
.qs__colors button:hover{border-color:var(--ink)}.qs__colors button[aria-checked="true"]{background:var(--ink);color:#fff;border-color:var(--ink)}
.qs__sz{padding:6px 20px 0}.qs__sz .sr-pc__lbl{margin-top:10px}
.qs__one{padding:14px 20px 0;font-size:13px;color:var(--ink-2);margin:0}
.qs__acts{display:flex;gap:8px;padding:14px 20px 0}.qs__acts .btn{flex:1;min-height:50px;justify-content:center;white-space:nowrap}
.qs__note{font-size:12.5px;color:var(--muted);padding:12px 20px 0;margin:0;line-height:1.45}
.qs__msg{font-size:14px;padding:10px 20px 0;margin:0}.qs__msg:empty{display:none}.qs__msg a{font-weight:600}
@media (max-width:899px){
  .qs{width:100%;margin:auto 0 0;border-radius:22px 22px 0 0;max-height:88dvh}.qs__in{max-height:88dvh}
  .qs__grab{display:block}.qs__bar{padding-top:16px}
  .qs__gal figure{width:min(68%,280px)}
}
@media (prefers-reduced-motion:reduce){.qs[open]{transition:none}}

/* ================= /shop/ (Fable 2026-11-02): every piece on one wall ================= */
.shop__head{padding:clamp(32px,5vw,60px) var(--g) 14px;max-width:920px}
.shop__head h1{font-size:clamp(44px,6vw,92px);font-weight:300;letter-spacing:-.045em;line-height:.95;margin:0 0 14px}
.shop__head p:not(.eyebrow){color:var(--ink-2);max-width:60ch;font-size:16px}
.shop__bar{position:sticky;top:var(--top);z-index:30;display:flex;align-items:center;gap:10px;padding:8px var(--g);background:rgba(246,243,238,.84);backdrop-filter:blur(16px) saturate(1.3);-webkit-backdrop-filter:blur(16px) saturate(1.3)}
.shop__chips{flex:1;min-width:0}
.shop__sort{position:relative;flex:none;display:inline-flex;align-items:center}
.shop__sort select{appearance:none;-webkit-appearance:none;min-height:40px;padding:0 36px 0 16px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.72);font:inherit;font-size:14px;color:var(--ink);cursor:pointer}
.shop__sort select:focus-visible{outline:2px solid var(--ox);outline-offset:2px}
.shop__sort .ic{position:absolute;right:13px;width:15px;height:15px;transform:rotate(90deg);pointer-events:none}
.pgrid--shop{padding-top:12px}
.shop__empty{padding:40px var(--g) 80px;color:var(--ink-2)}
@media (max-width:899px){
  .shop__head{padding:26px 10px 10px}.shop__head h1{font-size:44px}.shop__head p:not(.eyebrow){font-size:14px}
  .shop__bar{padding:6px 10px;gap:8px}
  /* phone: the sort is a round button; the native select sits invisibly on top so a tap opens the picker */
  .shop__sort{width:44px;height:40px;justify-content:center;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.72);overflow:hidden;transition:background .2s,color .2s,border-color .2s}
  .shop__sort select{position:absolute;inset:0;width:100%;height:100%;min-height:0;padding:0;opacity:0;border:0}
  .shop__sort .ic{position:static;width:18px;height:18px;transition:transform .2s var(--ease)}
  .shop__sort[data-dir="asc"] .ic{transform:rotate(-90deg)}
  .shop__sort.is-on{background:var(--ink);color:#fff;border-color:var(--ink)}
  .shop__sort:has(select:focus-visible){outline:2px solid var(--ox);outline-offset:2px}
  .pgrid--shop{padding-top:8px}
}
