/* ==========================================================
   KURESAAR DESIGN — 2026
   ========================================================== */
:root{
  --bone:#efe9e1;
  --bone-2:#e6ded3;
  --paper:#f7f3ee;
  --ink:#14110f;
  --ink-2:#2a2420;
  --mute:#8a7d70;
  --line:rgba(20,17,15,.14);
  --line-inv:rgba(239,233,225,.16);
  --accent:#7b2d26;          /* oxblood */
  --lilac:#9b6ad6;           /* feather lilac */
  --live:#3f8f55;
  --serif:"Instrument Serif", "Times New Roman", serif;
  --sans:"Inter Tight", system-ui, -apple-system, sans-serif;
  --pad:clamp(16px, 3.2vw, 48px);
  --ease:cubic-bezier(.22,1,.36,1);
  --ease-io:cubic-bezier(.76,0,.24,1);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:auto}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
body{
  background:var(--bone);color:var(--ink);
  font-family:var(--sans);font-size:15px;line-height:1.55;font-weight:400;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
body.is-loading{overflow:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
em{font-family:var(--serif);font-style:italic;font-weight:400}
::selection{background:var(--ink);color:var(--bone)}
:focus-visible{outline:1.5px solid var(--accent);outline-offset:4px}

.skip{position:fixed;left:16px;top:-60px;z-index:1000;background:var(--ink);color:var(--bone);padding:10px 16px}
.skip:focus{top:16px}

.eyebrow{font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;display:inline-block}
.eyebrow--num{color:var(--mute)}
.h2{font-family:var(--serif);font-weight:400;font-size:clamp(44px,7.4vw,124px);line-height:.92;letter-spacing:-.025em}
.h2 em{color:var(--accent)}

/* ---------- grain ---------- */
.grain{position:fixed;inset:-10%;will-change:transform;z-index:900;pointer-events:none;opacity:.07;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  animation:grain 1s steps(6) infinite}
@keyframes grain{0%{transform:translate3d(0,0,0)}20%{transform:translate3d(-4%,3%,0)}40%{transform:translate3d(3%,-5%,0)}60%{transform:translate3d(-5%,2%,0)}80%{transform:translate3d(4%,4%,0)}100%{transform:translate3d(0,0,0)}}

/* ---------- loader ---------- */
.loader{position:fixed;inset:0;z-index:1200;background:var(--bone);color:var(--ink);
  display:grid;grid-template-rows:auto 1fr auto;padding:var(--pad);font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.loader__top,.loader__bottom{display:flex;justify-content:space-between}
.loader__count{align-self:end;font-family:var(--serif);font-size:clamp(120px,26vw,420px);line-height:.8;letter-spacing:-.04em;text-transform:none}
.loader__count sup{font-size:.2em;vertical-align:top;margin-left:.1em}
.loader__bar{position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--line)}
.loader__bar i{display:block;height:100%;width:100%;background:var(--ink);transform:scaleX(0);transform-origin:left}

/* ---------- cursor ---------- */
.cursor{position:fixed;left:0;top:0;z-index:1100;pointer-events:none;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;
  background:var(--accent);will-change:transform;transition:width .45s var(--ease),height .45s var(--ease),margin .45s var(--ease),background .4s}
.on-dark .cursor{background:var(--lilac)}
.on-dark .cursor.is-label{background:var(--bone)}
.on-dark .cursor__label{color:var(--ink)}
.cursor.is-hover{width:44px;height:44px;margin:-22px 0 0 -22px}
.cursor.is-label{width:96px;height:96px;margin:-48px 0 0 -48px;background:var(--ink)}
.cursor__label{position:absolute;inset:0;display:grid;place-items:center;color:var(--bone);font-size:11px;letter-spacing:.12em;text-transform:uppercase;opacity:0;transition:opacity .3s}
.cursor.is-label .cursor__label{opacity:1}
@media (hover:none),(pointer:coarse){.cursor{display:none}}

/* ---------- nav ---------- */
.nav{position:fixed;top:0;left:0;right:0;z-index:800;display:flex;align-items:center;justify-content:space-between;gap:24px;
  padding:18px var(--pad);color:var(--bone);transition:transform .6s var(--ease),color .45s var(--ease);will-change:transform}
.nav.is-light{color:var(--ink)}
.nav::before{content:"";position:absolute;inset:0;z-index:-1;background:rgba(239,233,225,.94);opacity:0;transition:opacity .4s,background .4s;border-bottom:1px solid var(--line)}
.nav.is-scrolled::before{opacity:1}
.nav.is-scrolled:not(.is-light)::before{background:rgba(20,17,15,.55);border-color:transparent}
.nav.is-hidden{transform:translateY(-110%)}
/* logotype as live text — Lexend Mega, tuned to match the Piret Kuresaar mark */
.logo{display:block;font-family:"Lexend Mega",var(--sans);font-weight:340;text-transform:uppercase;letter-spacing:-.065em;word-spacing:.32em;
  line-height:1;white-space:nowrap;font-size:13px;font-synthesis:none}
.logo--fit{display:inline-block;font-size:calc((100vw - 2 * var(--pad)) / 6.1)}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.nav__logo{display:block;padding:6px 0}
.nav__logo .logo{font-size:clamp(12px,1vw,15px)}
.loader__logo .logo{font-size:12px}
.nav__links{display:flex;gap:28px;font-size:13px}
.nav__links a,.foot__cols a,.link{position:relative}
.nav__links a::after,.link::after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .5s var(--ease)}
.nav__links a:hover::after,.link:hover::after{transform:scaleX(1);transform-origin:left}
.nav__right{display:flex;align-items:center;gap:22px;font-size:13px}
.nav__status{display:flex;align-items:center;gap:8px;font-size:11px;letter-spacing:.1em;text-transform:uppercase}
.nav__status i{width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.5}
.nav__status.is-open i{background:#6fe39a;opacity:1;box-shadow:0 0 0 0 rgba(111,227,154,.6);animation:ping 2s infinite}
@keyframes ping{0%{box-shadow:0 0 0 0 rgba(111,227,154,.6)}70%{box-shadow:0 0 0 8px rgba(111,227,154,0)}100%{box-shadow:0 0 0 0 rgba(111,227,154,0)}}
.lang{display:flex;gap:2px;font-size:11px;letter-spacing:.12em}
.lang a{padding:4px 7px;border-radius:20px;opacity:.55;transition:opacity .3s,background .3s,color .3s}
.lang a:hover{opacity:1}
.lang a[aria-current="page"]{opacity:1;border:1px solid currentColor}
.menu__foot .lang{font-size:13px;margin-bottom:10px}
.nav__count{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;margin-left:4px;border:1px solid currentColor;border-radius:20px;font-size:11px}
.nav__count.bump{animation:bump .6s var(--ease)}
@keyframes bump{40%{transform:scale(1.5)}}
.nav__burger{display:none;width:28px;height:20px;position:relative}
.nav__burger i{position:absolute;left:0;right:0;height:1.5px;background:currentColor;transition:transform .5s var(--ease),top .5s var(--ease)}
.nav__burger i:first-child{top:5px}.nav__burger i:last-child{top:13px}
.nav__burger[aria-expanded="true"] i:first-child{top:9px;transform:rotate(45deg)}
.nav__burger[aria-expanded="true"] i:last-child{top:9px;transform:rotate(-45deg)}

.menu{position:fixed;inset:0;z-index:790;background:var(--bone);color:var(--ink);padding:100px var(--pad) var(--pad);
  display:flex;flex-direction:column;justify-content:space-between;clip-path:inset(0 0 100% 0);transition:clip-path .9s var(--ease-io)}
.menu.is-open{clip-path:inset(0 0 0 0)}
.menu nav{display:flex;flex-direction:column}
.menu nav a{font-family:var(--serif);font-size:clamp(44px,12vw,80px);line-height:1.05;border-bottom:1px solid var(--line);padding:6px 0;display:flex;align-items:baseline;gap:14px}
.menu nav a small{font-family:var(--sans);font-size:11px;opacity:.5}
.menu__foot{display:flex;flex-direction:column;gap:6px;font-size:14px}

/* ---------- hero ---------- */
.hero{position:relative;height:100vh;height:100svh;min-height:640px;overflow:hidden;background:var(--bone);color:var(--ink);
  display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);grid-template-rows:1fr auto auto;padding:90px var(--pad) 22px}
.hero__meta{align-self:center;display:flex;flex-direction:column;gap:18px;z-index:3}
.hero__meta--r{text-align:right;align-items:flex-end}
.hero__lede{font-family:var(--serif);font-size:clamp(22px,2.2vw,34px);line-height:1.05}
.hero__caption{font-family:var(--serif);font-style:italic;font-size:clamp(20px,1.8vw,28px);color:var(--accent)}
.hero__frame{grid-column:2;grid-row:1/3;position:relative;align-self:center;
  width:clamp(240px,27vw,440px);aspect-ratio:2/3;overflow:hidden;z-index:1;margin-bottom:-3.4vw}
.hero__slides{position:absolute;inset:0}
.hero__slides img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;clip-path:inset(100% 0 0 0);transform:scale(1.25)}
.hero__slides img.is-active{clip-path:inset(0 0 0 0);transform:scale(1)}
.hero__progress{position:absolute;left:12px;right:12px;bottom:12px;height:2px;background:rgba(255,255,255,.25);z-index:2}
.hero__progress i{display:block;height:100%;width:100%;background:#fff;transform:scaleX(0);transform-origin:left}
.hero__word{grid-column:1/-1;grid-row:2;position:relative;z-index:2;min-width:0;margin:0 0 -.6vw;font-weight:400;line-height:0;color:var(--bone);mix-blend-mode:difference;pointer-events:none}
.hero__foot{grid-column:1/-1;grid-row:3;display:flex;justify-content:space-between;align-items:center;font-size:11px;letter-spacing:.14em;text-transform:uppercase;padding-top:14px;border-top:1px solid var(--line);z-index:4;position:relative}
.hero__scroll{display:flex;align-items:center;gap:10px}
.hero__scroll i{width:1px;height:26px;background:var(--line);position:relative;overflow:hidden}
.hero__scroll i::after{content:"";position:absolute;left:0;top:-100%;width:100%;height:100%;background:var(--ink);animation:drip 1.8s var(--ease-io) infinite}
@keyframes drip{to{top:100%}}

/* ---------- manifest ---------- */
.manifest{padding:clamp(100px,16vw,240px) var(--pad);display:grid;grid-template-columns:1fr 4fr;gap:40px}
.manifest__text{font-family:var(--serif);font-size:clamp(32px,5vw,82px);line-height:1.04;letter-spacing:-.02em;text-indent:1.6em}
.manifest__text em{color:var(--accent)}
.manifest__text .w{opacity:.14;transition:opacity .35s var(--ease)}
.manifest__text .w.on{opacity:1}
.pill{display:inline-block;width:1.5em;height:.82em;border-radius:1em;overflow:hidden;vertical-align:-.04em;margin:0 .06em;background:var(--bone-2)}
.pill--wide{width:2.3em}
.pill img{width:100%;height:100%;object-fit:cover}
.manifest__sign{grid-column:2;display:flex;align-items:baseline;gap:20px;margin-top:20px}
.sign{font-family:var(--serif);font-style:italic;font-size:36px}

/* ---------- archive (horizontal) ---------- */
.archive{background:var(--bone-2);color:var(--ink);position:relative}
.archive__pin{height:100vh;height:100svh;display:flex;align-items:center;overflow:hidden;position:relative}
.archive__track{display:flex;align-items:center;gap:clamp(24px,3vw,56px);padding:0 var(--pad);will-change:transform}
.archive__head{flex:none;width:min(520px,80vw);padding-left:var(--pad);position:absolute;left:0;top:50%;transform:translateY(-50%)}
.archive__head .h2 em{color:var(--accent)}
.archive__note{max-width:300px;margin-top:24px;color:var(--ink-2)}
.archive__all{display:inline-block;margin-top:18px;font-size:14px;color:var(--accent)}
.archive__track::before{content:"";flex:none;width:min(520px,80vw)}
.archive__track::after{content:"";flex:none;width:calc(var(--pad) + 40px);height:1px}
.look{flex:none;width:clamp(240px,24vw,380px);position:relative}
.look--low{transform:translateY(8vh)}
.look__img{aspect-ratio:2/3;overflow:hidden;background:var(--bone)}
.look__img img{width:100%;height:118%;object-fit:cover;transform:translateY(-8%);transition:transform 1.2s var(--ease),filter .8s}
.look:hover .look__img img{transform:translateY(-8%) scale(1.06)}
.look__meta{display:grid;grid-template-columns:auto 1fr;column-gap:16px;margin-top:14px;align-items:baseline}
.look__yr{grid-row:1/3;font-family:var(--serif);font-size:54px;line-height:.85;letter-spacing:-.03em;color:var(--accent)}
.look__meta h3{font-weight:500;font-size:13px;letter-spacing:.1em;text-transform:uppercase}
.look__meta span:last-child{font-size:13px;color:var(--mute)}
.look--end{width:clamp(220px,22vw,340px);aspect-ratio:2/3;display:grid;place-items:center;border:1px solid var(--line);border-radius:999px;transition:background .5s,color .5s}
.look--end:hover{background:var(--ink);color:var(--bone)}
.look--end .h2{font-size:clamp(40px,4vw,64px);text-align:center}
.archive__progress{position:absolute;left:var(--pad);right:var(--pad);bottom:28px;height:1px;background:var(--line)}
.archive__progress i{display:block;height:100%;width:100%;background:var(--ink);transform:scaleX(0);transform-origin:left}

/* ---------- shop ---------- */
.shop{padding:clamp(90px,12vw,180px) var(--pad) clamp(70px,8vw,120px)}
.shop__head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap;margin-bottom:clamp(40px,5vw,72px)}
.filters{display:flex;flex-wrap:wrap;gap:8px}
.filters button{padding:10px 16px;border:1px solid var(--line);border-radius:40px;font-size:13px;transition:background .35s,color .35s,border-color .35s}
.filters button sup{font-size:9px;opacity:.6;margin-left:2px}
.filters button:hover{border-color:var(--ink)}
.filters button[aria-selected="true"]{background:var(--ink);color:var(--bone);border-color:var(--ink)}
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,1.6vw,24px);row-gap:clamp(36px,4vw,64px)}
.card{position:relative;cursor:pointer;text-align:left;display:block;width:100%}
.card--xl{grid-column:span 2;grid-row:span 2}
.card__media{position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--paper)}
.card--xl .card__media{aspect-ratio:auto;height:calc(100% - 64px)}
.card__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:6%;mix-blend-mode:multiply;transition:transform 1s var(--ease)}
.card:hover .card__media img{transform:scale(1.06)}
.card__tag{position:absolute;top:12px;left:12px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;background:var(--ink);color:var(--bone);padding:5px 9px;border-radius:20px;z-index:2}
.card__tag--l{background:var(--lilac)}
.card__quick{position:absolute;left:12px;right:12px;bottom:12px;z-index:2;background:var(--ink);color:var(--bone);text-align:center;padding:12px;font-size:12px;letter-spacing:.1em;text-transform:uppercase;
  transform:translateY(130%);transition:transform .6s var(--ease)}
.card:hover .card__quick,.card:focus-visible .card__quick{transform:none}
.card__info{display:flex;justify-content:space-between;gap:10px;padding-top:14px;align-items:baseline}
.card__name{font-family:var(--serif);font-size:24px;line-height:1.05}
.card__sub{font-size:12.5px;color:var(--mute);margin-top:2px}
.card__price{font-size:14px;white-space:nowrap}
.card.is-out{display:none}
.shop__more{display:flex;justify-content:center;margin-top:clamp(50px,6vw,90px)}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:14px;padding:16px 26px;border-radius:60px;font-size:13px;letter-spacing:.06em;text-transform:uppercase;font-weight:500;position:relative;overflow:hidden;isolation:isolate;transition:color .5s var(--ease)}
.btn span{transition:transform .5s var(--ease)}
.btn:hover span{transform:translateX(5px)}
.btn--line{border:1px solid currentColor}
.btn--line::before,.btn--solid::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;transform:translateY(101%);transition:transform .6s var(--ease)}
.btn--line::before{background:var(--ink)}
.btn--line:hover{color:var(--bone)}
.btn--line:hover::before,.btn--solid:hover::before{transform:none}
.btn--solid{background:var(--ink);color:var(--bone)}
.btn--solid::before{background:var(--accent)}
.btn--full{width:100%}

/* ---------- feather ---------- */
.feather{display:grid;grid-template-columns:1.1fr 1fr;min-height:100vh;background:var(--bone-2)}
.feather__img{overflow:hidden;background:#e9e7e4}
.feather__img img{width:100%;height:100%;object-fit:cover;object-position:center 30%}
.feather__text{padding:clamp(40px,7vw,120px) var(--pad);display:flex;flex-direction:column;justify-content:center;gap:28px;max-width:640px}
.feather__big{font-family:var(--serif);font-size:clamp(64px,10vw,170px);line-height:.86;letter-spacing:-.035em}
.feather__big em{color:var(--accent)}
.feather__text p:not(.feather__big){max-width:400px;color:var(--ink-2)}
.feather__text .btn{align-self:flex-start}

/* ---------- MTM ---------- */
.mtm{background:var(--paper);color:var(--ink);padding:clamp(90px,12vw,180px) var(--pad)}
.mtm .h2 em{color:var(--accent)}
.mtm__intro{display:grid;grid-template-columns:1fr 1.4fr;gap:24px 40px;align-items:end;margin-bottom:clamp(50px,6vw,90px)}
.mtm__intro .eyebrow{grid-column:1/-1}
.mtm__intro p{max-width:420px;color:var(--ink-2);justify-self:end}
.mtm__stage{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(30px,5vw,90px);padding-top:clamp(30px,4vw,56px);align-items:start}
.mtm__tabs{position:relative;display:flex;gap:clamp(20px,4vw,56px);border-bottom:1px solid var(--line)}
.mtm__tabs button{font-family:var(--serif);font-size:clamp(22px,2.6vw,40px);line-height:1;padding:0 0 18px;color:var(--mute);transition:color .4s;display:flex;align-items:flex-start;gap:10px;text-align:left}
.mtm__tabs button small{font-family:var(--sans);font-size:11px;letter-spacing:.12em;margin-top:4px}
.mtm__tabs button[aria-selected="true"],.mtm__tabs button:hover{color:var(--ink)}
.mtm__tabline{position:absolute;left:0;bottom:-1px;height:2px;background:var(--accent);transition:transform .7s var(--ease),width .7s var(--ease)}
.pane{display:flex;flex-direction:column;gap:28px;min-width:0}
.mtm__panes{min-width:0}
.pane[hidden]{display:none}
.range__top label{cursor:pointer}
.num{display:inline-flex;align-items:baseline;gap:4px;font-family:var(--serif);font-size:26px;line-height:1}
.num input{width:2.6em;text-align:right;font:inherit;color:inherit;background:transparent;border:0;border-bottom:1px dashed transparent;padding:0;-moz-appearance:textfield;transition:border-color .3s}
.num input::-webkit-outer-spin-button,.num input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.num input:hover,.num input:focus{border-bottom-color:var(--ink);outline:none}
.num input.bad{color:var(--accent);border-bottom-color:var(--accent)}
.num span{font-size:.75em}
.more{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 0}
.more summary{cursor:pointer;list-style:none;font-size:12px;letter-spacing:.12em;text-transform:uppercase;display:flex;justify-content:space-between}
.more summary::-webkit-details-marker{display:none}
.more summary::after{content:"+";font-size:18px;line-height:1;transition:transform .4s var(--ease)}
.more[open] summary::after{transform:rotate(45deg)}
.more summary span{color:var(--mute);margin-left:6px;margin-right:auto;text-transform:none;letter-spacing:0}
.more__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px 30px;margin-top:20px}
.more__grid label{display:flex;justify-content:space-between;align-items:baseline;font-size:12px;letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid var(--line);padding-bottom:6px}
.more__grid .num{font-size:22px}
.more__grid .num input::placeholder{color:rgba(20,17,15,.25)}
.more__how{display:inline-block;margin-top:16px;font-size:13px}
.how{margin-top:12px;padding-left:18px;font-size:13.5px;color:var(--ink-2);display:grid;gap:6px}
.fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.field{display:flex;flex-direction:column;gap:6px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}
.field--wide{grid-column:1/-1}
.field input,.field select,.field textarea{font:400 16px/1.4 var(--sans);letter-spacing:0;text-transform:none;color:var(--ink);background:var(--bone);border:1px solid var(--line);border-radius:10px;padding:13px 14px;transition:border-color .3s,background .3s;width:100%;resize:vertical}
.field select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--ink) 50%),linear-gradient(135deg,var(--ink) 50%,transparent 50%);background-position:calc(100% - 20px) 50%,calc(100% - 15px) 50%;background-size:5px 5px;background-repeat:no-repeat;padding-right:40px}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--ink);background:var(--paper)}
.field.bad input{border-color:var(--accent)}
.field.bad span{color:var(--accent)}
.check{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;color:var(--ink-2);cursor:pointer}
.check input{accent-color:var(--ink);width:16px;height:16px;margin-top:2px}
.pane__actions{display:flex;flex-wrap:wrap;align-items:center;gap:18px}
.form__msg{font-size:13.5px;color:var(--accent);min-height:1.4em}
.step{display:flex;flex-direction:column;gap:14px}
.step__h{font-size:12px;letter-spacing:.12em;text-transform:uppercase;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.step__h b{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--ink);color:var(--bone);font-weight:500;font-size:11px;letter-spacing:0}
.step__h small{color:var(--mute);text-transform:none;letter-spacing:0;font-size:13px}
.days{display:grid;grid-auto-flow:column;grid-auto-columns:64px;gap:8px;overflow-x:auto;padding:2px 2px 10px;scroll-snap-type:x mandatory;scrollbar-width:thin}
.days button{scroll-snap-align:start;display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 0;border:1px solid var(--line);border-radius:14px;background:var(--bone);transition:background .3s,color .3s,border-color .3s,transform .4s var(--ease)}
.days button small{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}
.days button b{font-family:var(--serif);font-weight:400;font-size:28px;line-height:1}
.days button.is-sat{border-style:dashed}
.days button:hover{border-color:var(--ink);transform:translateY(-2px)}
.days button[aria-checked="true"]{background:var(--ink);color:var(--bone);border-color:var(--ink)}
.days button[aria-checked="true"] small{color:rgba(239,233,225,.7)}
.slots{display:flex;flex-wrap:wrap;gap:8px;min-height:46px}
.slots button{padding:11px 18px;border:1px solid var(--line);border-radius:40px;font-size:14px;background:var(--bone);transition:background .3s,color .3s,border-color .3s}
.slots button:hover{border-color:var(--ink)}
.slots button[aria-checked="true"]{background:var(--accent);color:var(--bone);border-color:var(--accent)}
.muted{color:var(--mute);font-size:14px}
.mtm__viz{position:sticky;top:90px;display:flex;flex-direction:column;gap:20px;align-items:stretch}
.mtm.is-book #dressSvg{display:none}
.range__top{display:flex;justify-content:space-between;font-size:12px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:12px}
.range__top output{font-family:var(--serif);font-size:26px;letter-spacing:0;text-transform:none;line-height:1}
input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:28px;background:transparent;cursor:pointer;--p:50%}
input[type=range]::-webkit-slider-runnable-track{height:1px;background:linear-gradient(90deg,var(--ink) var(--p),var(--line) var(--p))}
input[type=range]::-moz-range-track{height:1px;background:var(--line)}
input[type=range]::-moz-range-progress{height:1px;background:var(--ink)}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:var(--ink);margin-top:-9px;transition:transform .3s var(--ease)}
input[type=range]::-moz-range-thumb{width:18px;height:18px;border:0;border-radius:50%;background:var(--ink)}
input[type=range]:active::-webkit-slider-thumb{transform:scale(1.4)}
.mtm__models{border:0;display:flex;flex-wrap:wrap;gap:8px}
.mtm__models legend{font-size:12px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:12px}
.mtm__models label{cursor:pointer}
.mtm__models input{position:absolute;opacity:0;pointer-events:none}
.mtm__models span{display:inline-block;padding:10px 16px;border:1px solid var(--line);border-radius:40px;font-size:13px;transition:.35s}
.mtm__models input:checked+span{background:var(--ink);color:var(--bone);border-color:var(--ink)}
.mtm__models input:focus-visible+span{outline:1.5px solid var(--accent);outline-offset:3px}
#dressSvg{width:100%;height:auto;max-height:min(56vh,520px);color:var(--ink);transition:opacity .6s}
#dressSvg .grid-lines line{stroke:var(--line);stroke-dasharray:3 5}
#dressPath{fill:none;stroke:var(--ink);stroke-width:1.2}
#dressFill{color:var(--accent)}
.marks line{stroke:var(--accent);stroke-width:1}
.marks text{fill:var(--ink);font:500 10px var(--sans);letter-spacing:.1em}
.mtm__ticket{background:var(--bone);border:1px solid var(--line);padding:24px;display:flex;flex-direction:column;gap:14px;border-radius:4px}
.ticket__big{font-family:var(--serif);font-size:clamp(26px,2.4vw,34px);line-height:1.05}
.ticket__big b{font-weight:400;font-style:italic;color:var(--accent)}
.ticket__switch{align-self:flex-start;font-size:13px;color:var(--ink-2);text-align:left}
.mtm__ticket .btn--line{align-self:flex-start}
.mtm__small{font-size:13px;color:var(--mute)}

/* ---------- atelier ---------- */
.atelier{display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(30px,5vw,90px);padding:clamp(90px,12vw,180px) var(--pad);align-items:center}
.atelier__media{aspect-ratio:3/2;overflow:hidden;clip-path:inset(0 0 0 0)}
.atelier__media img{width:100%;height:120%;object-fit:cover}
.atelier__body{display:flex;flex-direction:column;gap:22px}
.atelier__body p{max-width:470px;color:var(--ink-2)}
.stats{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line);margin-top:14px}
.stats div{padding:18px 0;border-bottom:1px solid var(--line)}
.stats div:nth-child(odd){border-right:1px solid var(--line);padding-right:16px}
.stats div:nth-child(even){padding-left:18px}
.stats dt{font-family:var(--serif);font-size:clamp(44px,4.4vw,70px);line-height:1;letter-spacing:-.03em}
.stats dd{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--mute);margin-top:6px}

/* ---------- runway ---------- */
.runway{position:relative;height:110vh;overflow:hidden;display:grid;place-items:center;color:#fff}
.runway__img{position:absolute;inset:0}
.runway__img img{width:100%;height:100%;object-fit:cover}
.runway__img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,17,15,.1),rgba(20,17,15,.55))}
.runway__q{position:relative;z-index:1;text-align:center;font-family:var(--serif);font-size:clamp(40px,6.4vw,110px);line-height:.95;letter-spacing:-.02em;padding:0 var(--pad)}
.runway__q .eyebrow{display:block;font-family:var(--sans);font-size:11px;letter-spacing:.14em;margin-bottom:26px}

/* ---------- visit ---------- */
.visit{padding:clamp(90px,12vw,180px) var(--pad);display:grid;grid-template-columns:1fr 1.2fr;gap:50px;align-items:end}
.visit__col{display:flex;flex-direction:column;gap:22px}
.open{display:inline-flex;align-self:flex-start;gap:10px;align-items:center;padding:10px 16px;border:1px solid var(--line);border-radius:40px;font-size:13px}
.open i{width:8px;height:8px;border-radius:50%;background:var(--mute)}
.open.is-open i{background:var(--live);animation:pingG 2s infinite}
@keyframes pingG{0%{box-shadow:0 0 0 0 rgba(63,143,85,.5)}70%{box-shadow:0 0 0 10px rgba(63,143,85,0)}100%{box-shadow:0 0 0 0 rgba(63,143,85,0)}}
.visit__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;border-top:1px solid var(--line);padding-top:24px}
.visit__grid .eyebrow{color:var(--mute);margin-bottom:12px;display:block}
.visit__grid p{margin-bottom:10px}
.hours{list-style:none}
.hours li{display:flex;justify-content:space-between;gap:12px;padding:4px 0;border-bottom:1px dashed var(--line)}
.hours li.is-today{font-weight:600}
.hours li.is-today span:first-child::before{content:"● ";color:var(--accent)}

/* ---------- footer ---------- */
.foot{background:var(--bone-2);color:var(--ink);border-top:1px solid var(--line);padding:clamp(70px,8vw,120px) var(--pad) 24px;overflow:hidden}
.foot__top{display:grid;grid-template-columns:1.2fr 1.5fr;gap:60px}
.news .eyebrow{color:var(--mute)}
.news__row{display:flex;border-bottom:1px solid var(--ink);margin-top:22px}
.news__row input{flex:1;background:none;border:0;color:var(--ink);font-family:var(--serif);font-size:clamp(26px,3vw,42px);padding:8px 0;min-width:0}
.news__row input::placeholder{color:rgba(20,17,15,.3)}
.news__row input:focus{outline:none}
.news__row button{font-size:13px;letter-spacing:.08em;text-transform:uppercase;padding-left:16px}
.news__msg{margin-top:12px;font-size:13px;color:var(--accent);min-height:1.5em}
.foot__cols{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.foot__cols div{display:flex;flex-direction:column;gap:8px;font-size:14px}
.foot__cols .eyebrow{color:var(--mute);margin-bottom:8px}
.foot__cols a{opacity:.85;transition:opacity .3s}
.foot__cols a:hover{opacity:1}
.foot__word{margin:clamp(60px,9vw,140px) 0 clamp(24px,3vw,40px)}
.foot__word{line-height:0;min-width:0;overflow:hidden}
.foot__word .logo{transition:color .6s}
.foot__word:hover .logo{color:var(--accent)}
.foot__base{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:11px;letter-spacing:.12em;text-transform:uppercase;border-top:1px solid var(--line);padding-top:18px;color:var(--mute)}

/* ---------- drawers ---------- */
.scrim{position:fixed;inset:0;z-index:950;background:rgba(20,17,15,.45);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);opacity:0;pointer-events:none;transition:opacity .6s var(--ease)}
.scrim.is-on{opacity:1;pointer-events:auto}
.drawer,.bag{position:fixed;top:0;right:0;bottom:0;z-index:960;background:var(--paper);color:var(--ink);transform:translateX(102%);transition:transform .9s var(--ease);display:flex;flex-direction:column;overflow:auto;overscroll-behavior:contain}
.drawer{width:min(940px,100%);display:grid;grid-template-columns:1fr 1fr}
.bag{width:min(460px,100%)}
.drawer.is-open,.bag.is-open{transform:none}
.drawer__close{position:absolute;top:18px;right:20px;z-index:3;font-size:12px;letter-spacing:.1em;text-transform:uppercase}
.drawer__img{background:var(--bone);position:relative;min-height:360px}
.drawer__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:8%;mix-blend-mode:multiply}
.drawer__body{padding:70px 36px 36px;display:flex;flex-direction:column;gap:18px}
.drawer__body .eyebrow{color:var(--mute)}
.drawer__name{font-family:var(--serif);font-weight:400;font-size:clamp(40px,4vw,60px);line-height:.95;letter-spacing:-.02em}
.drawer__desc{color:var(--ink-2)}
.drawer__price{font-size:22px}
.sizes{display:flex;flex-wrap:wrap;gap:8px}
.sizes button{min-width:48px;padding:10px 14px;border:1px solid var(--line);border-radius:40px;font-size:13px;transition:.3s}
.sizes button[aria-checked="true"]{background:var(--ink);color:var(--bone);border-color:var(--ink)}
.drawer__usp{list-style:none;font-size:13px;color:var(--mute);border-top:1px solid var(--line);padding-top:16px;display:flex;flex-direction:column;gap:6px}
.drawer__usp li::before{content:"— "}
.bag__head{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid var(--line)}
.bag__head h3{font-family:var(--serif);font-weight:400;font-size:36px}
.bag__head h3 sup{font-family:var(--sans);font-size:12px}
.bag__head button{font-size:12px;letter-spacing:.1em;text-transform:uppercase}
.bag__list{list-style:none;flex:1;padding:8px 24px;overflow:auto}
.bag__list li{display:grid;grid-template-columns:72px 1fr auto;gap:14px;padding:16px 0;border-bottom:1px solid var(--line);align-items:center}
.bag__list img{width:72px;height:90px;object-fit:contain;background:var(--bone);mix-blend-mode:multiply}
.bag__list b{font-family:var(--serif);font-weight:400;font-size:20px;display:block}
.bag__list small{color:var(--mute)}
.bag__list button{font-size:12px;text-decoration:underline;color:var(--mute)}
.bag__empty{padding:40px 0;font-family:var(--serif);font-size:26px;color:var(--mute)}
.bag__foot{padding:24px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:16px}
.bag__total{display:flex;justify-content:space-between;font-size:18px}

.toast{position:fixed;left:50%;bottom:24px;z-index:1000;transform:translate(-50%,150%);background:var(--ink);color:var(--bone);padding:14px 22px;border-radius:40px;font-size:13px;transition:transform .7s var(--ease),opacity .4s,visibility 0s .7s;white-space:nowrap}
.toast{pointer-events:none;opacity:0;visibility:hidden}
.toast.is-on{transform:translate(-50%,0);opacity:1;visibility:visible;transition:transform .7s var(--ease),opacity .3s,visibility 0s}

/* ---------- lightbox ---------- */
.lb{position:fixed;inset:0;z-index:1050;visibility:hidden;pointer-events:none;color:var(--ink)}
.lb.is-open{visibility:visible;pointer-events:auto}
.lb__bg{position:absolute;inset:0;background:var(--bone);opacity:0}
.lb.is-open .lb__bg{opacity:1}
.lb__stage{position:absolute;inset:0;display:grid;place-items:center;touch-action:none;cursor:zoom-out}
.lb__pan{position:relative;overflow:hidden;background:var(--paper);will-change:transform;box-shadow:0 30px 80px -40px rgba(20,17,15,.35)}
.lb__img{width:100%;height:100%;object-fit:contain;cursor:zoom-in;will-change:transform;user-select:none;-webkit-user-drag:none;transform-origin:50% 50%}
.lb.is-zoom .lb__img{cursor:zoom-out}
.lb.is-zoom .lb__pan{box-shadow:none}
.lb__top{position:absolute;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:22px var(--pad);font-size:12px;letter-spacing:.12em;text-transform:uppercase;pointer-events:none}
.lb__top > *{pointer-events:auto}
.lb__close{font-size:12px;letter-spacing:.12em;text-transform:uppercase;padding:10px 16px;border:1px solid var(--line);border-radius:40px;background:var(--bone);transition:background .3s,color .3s}
.lb__close:hover{background:var(--ink);color:var(--bone)}
.lb__nav{position:absolute;top:50%;width:56px;height:56px;margin-top:-28px;border-radius:50%;border:1px solid var(--line);background:var(--bone);font-size:18px;display:grid;place-items:center;transition:background .3s,color .3s,transform .4s var(--ease)}
.lb__nav:hover{background:var(--ink);color:var(--bone)}
.lb__nav--prev{left:var(--pad)}.lb__nav--next{right:var(--pad)}
.lb__nav--prev:hover{transform:translateX(-4px)}.lb__nav--next:hover{transform:translateX(4px)}
.lb__nav[hidden]{display:none}
.lb__foot{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding:22px var(--pad);pointer-events:none}
.lb__cap{font-family:var(--serif);font-size:clamp(20px,2vw,30px);line-height:1.1}
.lb__cap em{color:var(--accent)}
.lb__hint{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);text-align:right}
.lb.is-zoom .lb__top,.lb.is-zoom .lb__foot .lb__cap,.lb.is-zoom .lb__nav{opacity:.0!important;transition:opacity .3s}
.drawer__img{cursor:zoom-in}
.drawer__zoom{position:absolute;right:16px;bottom:16px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;background:var(--paper);padding:8px 12px;border-radius:30px;border:1px solid var(--line)}
.look,.hero__frame,.feather__img,.atelier__media,.runway{cursor:zoom-in}
@media (max-width:800px){
  .lb__nav{top:auto;bottom:70px;margin:0;width:48px;height:48px}
  .lb__foot{flex-direction:column;gap:6px}
  .lb__hint{text-align:left}
}

/* ---------- reveal ---------- */
.rv{opacity:0;transform:translateY(40px)}

/* ---------- responsive ---------- */
@media (max-width:1100px){
  .nav__links{display:none}
  .nav__burger{display:block}
  .grid{grid-template-columns:repeat(2,1fr)}
  .card--xl{grid-row:auto}
  .card--xl .card__media{aspect-ratio:4/5;height:auto}
  .mtm__stage{grid-template-columns:minmax(0,1fr)}
  .mtm__viz{position:static;display:grid;grid-template-columns:1fr 1fr;align-items:end}
}
@media (max-width:800px){
  body{font-size:15px}
  .nav__status{display:none}
  .nav__right > .lang{display:none}
  .hero{grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr auto auto;padding-top:76px;gap:14px}
  .hero__meta--l{grid-row:1;align-self:start}
  .hero__meta--l .hero__lede{font-size:20px}
  .hero__meta--r{display:none}
  .hero__frame{grid-column:1;grid-row:2;justify-self:center;align-self:center;width:min(62vw,300px,max(124px,calc((100svh - 410px) * .667)));margin-bottom:-3vw}
  .hero__word{grid-row:3}
  .hero__foot{grid-row:4}
  .hero__foot > span:first-child{display:none}
  .manifest{grid-template-columns:1fr}
  .manifest__sign{grid-column:1;flex-direction:column;gap:4px}
  .archive__pin{height:auto;display:block;padding:90px 0 70px}
  .archive__head{position:static;transform:none;padding:0 var(--pad) 40px;width:auto}
  .archive__track{overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-bottom:60px;scrollbar-width:none}
  .archive__track::-webkit-scrollbar{display:none}
  .archive__track::before{display:none}
  .look{width:72vw;scroll-snap-align:center}
  .look--low{transform:translateY(30px)}
  .archive__progress{display:none}
  .grid{gap:12px;row-gap:34px}
  .card--xl{grid-column:span 2}
  .card__name{font-size:20px}
  .card__info{flex-direction:column;gap:2px}
  .card__quick{display:none}
  .feather{grid-template-columns:1fr}
  .feather__img{height:80vh}
  .mtm__intro{grid-template-columns:1fr}
  .mtm__intro p{justify-self:start}
  .mtm__viz{position:static;display:flex;order:-1}
  #dressSvg{max-height:40vh}
  .fields,.more__grid{grid-template-columns:1fr}
  .mtm__tabs{gap:18px}
  .mtm__tabs button{font-size:20px;flex-direction:column;gap:4px}
  #dressSvg{max-height:52vh}
  .atelier{grid-template-columns:1fr}
  .visit{grid-template-columns:1fr}
  .visit__grid{grid-template-columns:1fr;gap:28px}
  .foot__top{grid-template-columns:1fr}
  .foot__cols{grid-template-columns:repeat(2,1fr)}
  .drawer{grid-template-columns:1fr}
  .drawer__img{min-height:52vh}
  .drawer__body{padding:28px 20px 40px}
  .runway{height:80vh}
}
/* =========================================================
   ARCHIVE PAGE
   ========================================================= */
.page-archive{--navh:68px}
.ar-hero{padding:calc(140px + var(--sat)) var(--pad) clamp(40px,6vw,80px);display:flex;flex-direction:column;gap:22px}
.ar-back{align-self:flex-start;font-size:13px}
.ar-title{font-family:var(--serif);font-weight:400;font-size:clamp(68px,13vw,230px);line-height:.86;letter-spacing:-.035em}
.ar-title em{color:var(--accent)}
.ar-lede{max-width:520px;color:var(--ink-2);font-size:16px}
.ar-index{position:sticky;top:0;z-index:700;background:rgba(239,233,225,.94);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  border-block:1px solid var(--line);transition:top .6s var(--ease)}
.nav-shown .ar-index{top:var(--navh)}
.ar-index__track{display:flex;gap:6px;overflow-x:auto;padding:10px var(--pad);scrollbar-width:none;scroll-snap-type:x proximity}
.ar-index__track::-webkit-scrollbar{display:none}
.ar-index a{flex:none;scroll-snap-align:start;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:76px;min-height:52px;
  padding:6px 12px;border-radius:14px;border:1px solid var(--line);font-family:var(--serif);font-size:21px;line-height:1;transition:background .3s,color .3s,border-color .3s}
.ar-index a small{font-family:var(--sans);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}
.ar-index a:hover{border-color:var(--ink)}
.ar-index a[aria-current="true"]{background:var(--ink);color:var(--bone);border-color:var(--ink)}
.ar-index a[aria-current="true"] small{color:rgba(239,233,225,.7)}
.season{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2.5fr);gap:clamp(24px,4vw,70px);padding:clamp(60px,8vw,120px) var(--pad);border-bottom:1px solid var(--line);scroll-margin-top:140px}
.season__head{position:sticky;top:160px;align-self:start;display:flex;flex-direction:column;gap:14px}
.season__no{font-size:11px;letter-spacing:.14em;color:var(--mute)}
.season .h2{font-size:clamp(40px,5vw,86px)}
.season__meta{font-size:13px;color:var(--mute);max-width:240px}
.season__grid{columns:3 200px;column-gap:clamp(10px,1.4vw,20px)}
.ar-item{break-inside:avoid;margin:0 0 clamp(10px,1.4vw,20px);overflow:hidden;background:var(--bone-2);cursor:zoom-in;border-radius:2px}
.ar-item img{display:block;width:100%;height:auto;transition:transform 1.1s var(--ease),opacity .9s var(--ease)}
.ar-item:hover img{transform:scale(1.04)}
.ar-item:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.ar-cta{padding:clamp(80px,10vw,160px) var(--pad);text-align:center;display:flex;flex-direction:column;align-items:center;gap:22px}
.ar-cta p{max-width:440px;color:var(--ink-2)}
@media (max-width:800px){
  .page-archive{--navh:calc(56px + var(--sat))}
  .ar-hero{padding-top:calc(96px + var(--sat))}
  .season{grid-template-columns:minmax(0,1fr);padding:48px var(--pad);scroll-margin-top:130px}
  .season__head{position:static;gap:8px}
  .season__meta{max-width:none}
  .season__grid{columns:2;column-gap:8px}
  .ar-item{margin-bottom:8px}
  .ar-index a{min-width:68px;font-size:19px}
}
@media (hover:none){ .ar-item:active img{transform:scale(.98)} .ar-item img{transition:transform .25s var(--ease),opacity .9s var(--ease)} }

/* =========================================================
   SHOP · PRODUCT · CUSTOMER CARE
   ========================================================= */
.page-shop,.page-product,.page-info{--navh:68px}
.sh-hero{padding:calc(140px + var(--sat)) var(--pad) clamp(30px,5vw,60px);display:flex;flex-direction:column;gap:20px}
/* toolbar */
.sh-bar{position:sticky;top:0;z-index:700;background:rgba(239,233,225,.95);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
  border-block:1px solid var(--line);transition:top .6s var(--ease)}
.nav-shown .sh-bar{top:var(--navh)}
.sh-chips{display:flex;gap:6px;overflow-x:auto;padding:12px var(--pad) 8px;scrollbar-width:none}
.sh-chips::-webkit-scrollbar{display:none}
.sh-chips button,.sh-toggle{flex:none;padding:9px 15px;border:1px solid var(--line);border-radius:40px;font-size:13px;white-space:nowrap;transition:background .3s,color .3s,border-color .3s}
.sh-chips button sup,.sh-toggle sup{font-size:9px;opacity:.6;margin-left:2px}
.sh-chips button:hover,.sh-toggle:hover{border-color:var(--ink)}
.sh-chips button[aria-pressed="true"],.sh-toggle[aria-pressed="true"]{background:var(--ink);color:var(--bone);border-color:var(--ink)}
.sh-toggle[aria-pressed="true"]#fSale{background:var(--accent);border-color:var(--accent)}
.sh-tools{display:flex;align-items:center;gap:8px;padding:0 var(--pad) 12px;flex-wrap:wrap}
.sh-search{flex:1 1 260px;display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:40px;padding:0 14px;background:var(--paper);min-height:40px}
.sh-search svg{width:18px;height:18px;fill:none;stroke:var(--mute);stroke-width:1.6;stroke-linecap:round}
.sh-search input{flex:1;border:0;background:none;font:16px/1.2 var(--sans);color:var(--ink);padding:9px 0;min-width:0}
.sh-search input:focus{outline:none}
.sh-search:focus-within{border-color:var(--ink)}
.sh-sort select{appearance:none;border:1px solid var(--line);border-radius:40px;background:var(--paper);font:13px var(--sans);color:var(--ink);padding:10px 34px 10px 15px;cursor:pointer;
  background-image:linear-gradient(45deg,transparent 50%,var(--ink) 50%),linear-gradient(135deg,var(--ink) 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px;background-repeat:no-repeat}
.sh-count{margin-left:auto;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}
/* product cards */
.sh-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(14px,1.6vw,24px);row-gap:clamp(30px,3.5vw,54px);padding:clamp(30px,4vw,56px) var(--pad)}
.pc{display:block;position:relative}
.pc[hidden]{display:none}
.pc__media{position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--paper)}
.pc__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:5%;mix-blend-mode:multiply;transition:opacity .6s var(--ease),transform 1s var(--ease)}
.pc__b{opacity:0}
@media (hover:hover){.pc:hover .pc__b{opacity:1}.pc:hover .pc__a{opacity:0}.pc:hover .pc__media img{transform:scale(1.04)}}
.pc__badge{position:absolute;top:10px;left:10px;z-index:2;font-size:10px;letter-spacing:.1em;text-transform:uppercase;padding:5px 9px;border-radius:20px;background:var(--ink);color:var(--bone)}
.pc__badge--sale{background:var(--accent)}
.pc__badge--out{background:var(--paper);color:var(--mute);border:1px solid var(--line)}
.pc__badge--sale+.pc__badge--out{top:40px}
.pc__info{display:grid;grid-template-columns:1fr auto;column-gap:10px;padding-top:12px}
.pc__t{font-family:var(--serif);font-size:22px;line-height:1.05}
.pc__s{grid-column:1;font-size:12.5px;color:var(--mute);margin-top:3px}
.pc__p{grid-column:2;grid-row:1;font-size:14px;white-space:nowrap;text-align:right}
.pc__p s{color:var(--mute);font-size:12px;margin-right:4px}
.sh-empty{padding:60px var(--pad) 100px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:18px}
.sh-empty p:not(.h2){max-width:420px;color:var(--ink-2)}
.sh-more{height:1px}
/* product page */
.pp{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(24px,4vw,70px);padding:calc(110px + var(--sat)) var(--pad) clamp(50px,6vw,90px)}
.pp-crumbs{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--mute)}
.pp-crumbs a:hover{color:var(--ink)}
.pp-gallery{display:flex;flex-direction:column;gap:clamp(10px,1.2vw,18px)}
.pp-img{background:var(--paper);cursor:zoom-in;overflow:hidden}
.pp-img img{width:100%;height:auto;aspect-ratio:1/1;object-fit:contain;mix-blend-mode:multiply;transition:transform 1.1s var(--ease)}
@media (hover:hover){.pp-img:hover img{transform:scale(1.03)}}
.pp-dots{display:none}
.pp-sticky{position:sticky;top:110px;display:flex;flex-direction:column;gap:16px}
.pp-cat{color:var(--mute)}
.pp-title{font-family:var(--serif);font-weight:400;font-size:clamp(52px,6vw,96px);line-height:.9;letter-spacing:-.025em}
.pp-sub{font-size:16px;color:var(--ink-2);margin-top:-6px}
.pp-price{font-size:22px;display:flex;align-items:baseline;gap:10px}
.pp-price s{color:var(--mute);font-size:16px}
.pp-price b{font-weight:500}
.pp-pct{font-size:11px;letter-spacing:.1em;background:var(--accent);color:#fff;padding:4px 8px;border-radius:20px}
.pp-status{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink-2)}
.pp-status i{width:8px;height:8px;border-radius:50%;background:var(--live)}
.pp-status--out{color:var(--accent)}
.pp-label{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);margin-bottom:10px}
.sizes .sz-mtm{border-style:dashed}
.pp-mtm{font-size:13.5px;color:var(--accent);align-self:flex-start}
.pp-acc{border-top:1px solid var(--line);padding:14px 0}
.pp-acc:last-of-type{border-bottom:1px solid var(--line)}
.pp-acc summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;font-size:12px;letter-spacing:.12em;text-transform:uppercase}
.pp-acc summary::-webkit-details-marker{display:none}
.pp-acc summary::after{content:"+";font-size:18px;line-height:1;transition:transform .4s var(--ease)}
.pp-acc[open] summary::after{transform:rotate(45deg)}
.pp-acc div{padding-top:12px;color:var(--ink-2);font-size:14.5px;display:grid;gap:10px}
.pp-acc ul{padding-left:18px}
.pp-rel{padding:clamp(40px,6vw,90px) 0 clamp(60px,8vw,120px);border-top:1px solid var(--line)}
.pp-rel header{padding:0 var(--pad)}
.pp-buybar{display:none}
/* customer care */
.ci{display:grid;grid-template-columns:minmax(200px,1fr) minmax(0,2.6fr);gap:clamp(24px,5vw,90px);padding:0 var(--pad) clamp(60px,8vw,120px)}
.ci-toc{position:sticky;top:100px;align-self:start}
.ci-toc__in{display:flex;flex-direction:column;gap:2px;border-left:1px solid var(--line)}
.ci-toc a{padding:8px 0 8px 16px;font-size:14px;color:var(--mute);border-left:2px solid transparent;margin-left:-1px;transition:color .3s,border-color .3s}
.ci-toc a:hover{color:var(--ink)}
.ci-toc a[aria-current="true"]{color:var(--ink);border-left-color:var(--accent)}
.ci-sec{padding:clamp(30px,4vw,56px) 0;border-bottom:1px solid var(--line);scroll-margin-top:110px;max-width:760px}
.ci-h{font-family:var(--serif);font-weight:400;font-size:clamp(36px,4vw,60px);line-height:1;letter-spacing:-.02em;margin-bottom:22px}
.ci-body{display:grid;gap:14px;color:var(--ink-2);font-size:15.5px;line-height:1.65}
.ci-body h2,.ci-body h3,.ci-body h4{font-family:var(--sans);font-weight:600;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);margin-top:14px}
.ci-body ul,.ci-body ol{padding-left:20px;display:grid;gap:6px}
.ci-body a{text-decoration:underline;text-underline-offset:3px}
.ci-body strong{color:var(--ink);font-weight:600}
.ci-note{font-size:13px;color:var(--accent);margin:-8px 0 16px}
@media (max-width:1100px){ .sh-grid{grid-template-columns:repeat(3,minmax(0,1fr))} }
@media (max-width:800px){
  .page-shop,.page-product,.page-info{--navh:calc(56px + var(--sat))}
  .sh-hero{padding-top:calc(96px + var(--sat))}
  .sh-tools{gap:6px}
  .sh-search{flex:1 1 100%;order:-1}
  .sh-count{flex:1 1 100%;margin:2px 0 0;text-align:left}
  .sh-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;row-gap:28px;padding:20px var(--pad)}
  .pc__info{grid-template-columns:1fr}
  .pc__t{font-size:19px}
  .pc__p{grid-column:1;grid-row:auto;text-align:left;margin-top:4px}
  .pp{grid-template-columns:minmax(0,1fr);padding-top:calc(70px + var(--sat));gap:16px}
  .pp-crumbs{order:-1}
  .pp-gallery{flex-direction:row;overflow-x:auto;scroll-snap-type:x mandatory;gap:0;margin:0 calc(-1 * var(--pad));scrollbar-width:none}
  .pp-gallery::-webkit-scrollbar{display:none}
  .pp-img{flex:0 0 100%;scroll-snap-align:center}
  .pp-dots{display:flex;justify-content:center;gap:6px;margin-top:-4px}
  .pp-dots i{width:6px;height:6px;border-radius:3px;background:var(--line);transition:width .3s var(--ease),background .3s}
  .pp-dots i.on{width:18px;background:var(--ink)}
  .pp-sticky{position:static;gap:14px}
  .pp-title{font-size:54px}
  .pp-buybar{display:flex;position:fixed;left:0;right:0;bottom:calc(var(--tabh) + var(--sab));z-index:840;align-items:center;gap:12px;padding:10px var(--pad);
    background:rgba(247,243,238,.96);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--line);transform:translateY(120%);transition:transform .5s var(--ease)}
  .pp-buybar.is-on{transform:none}
  .pp-buybar .btn{flex:1;padding:14px 18px}
  .pp-buybar__p{font-size:18px;white-space:nowrap}
  body.sheet-open .pp-buybar{transform:translateY(200%)}
  .ci{grid-template-columns:minmax(0,1fr)}
  .ci-toc{top:var(--navh);z-index:600;margin:0 calc(-1 * var(--pad));background:rgba(239,233,225,.95);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
  .ci-toc__in{flex-direction:row;overflow-x:auto;border:0;padding:8px var(--pad);gap:6px;scrollbar-width:none}
  .ci-toc__in::-webkit-scrollbar{display:none}
  .ci-toc a{flex:none;border:1px solid var(--line);border-radius:30px;padding:9px 14px;margin:0;font-size:13px;white-space:nowrap}
  .ci-toc a[aria-current="true"]{background:var(--ink);color:var(--bone);border-color:var(--ink)}
  .ci-sec{scroll-margin-top:170px}
}

/* =========================================================
   CHECKOUT · ORDER RESULT
   ========================================================= */
.co-hero{padding-bottom:clamp(24px,3vw,40px)}
.co-hero .ar-title{font-size:clamp(46px,6vw,96px)}
.co{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:clamp(24px,5vw,80px);padding:0 var(--pad) clamp(60px,8vw,120px);align-items:start}
.co-form{display:flex;flex-direction:column;gap:30px}
.co-form[hidden],.co-sum[hidden]{display:none}
.co-step{border:0;display:flex;flex-direction:column;gap:16px}
.co-step legend{display:flex;align-items:center;gap:10px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:16px}
.co-step legend b{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--ink);color:var(--bone);font-weight:500;font-size:11px;letter-spacing:0}
.co-opts{display:grid;gap:10px}
.co-opt{position:relative;display:flex;align-items:center;gap:14px;padding:16px 18px;border:1px solid var(--line);border-radius:14px;background:var(--paper);cursor:pointer;transition:border-color .3s,background .3s}
.co-opt[hidden]{display:none}
.co-opt input{appearance:none;width:20px;height:20px;border-radius:50%;border:1.5px solid var(--mute);flex:none;display:grid;place-items:center;transition:border-color .3s}
.co-opt input::after{content:"";width:10px;height:10px;border-radius:50%;background:var(--ink);transform:scale(0);transition:transform .3s var(--ease)}
.co-opt input:checked{border-color:var(--ink)}
.co-opt input:checked::after{transform:scale(1)}
.co-opt:has(input:checked){border-color:var(--ink);background:var(--bone)}
.co-opt input:focus-visible{outline:1.5px solid var(--accent);outline-offset:3px}
.co-opt__b{display:flex;flex-direction:column;gap:2px;flex:1}
.co-opt__b b{font-weight:500;font-size:15px}
.co-opt__b small{font-size:13px;color:var(--mute)}
.co-opt em{font-style:normal;font-size:14px;white-space:nowrap}
.co-locker[hidden]{display:none}
.field select{width:100%}
.field.bad select,.field.bad input,.check.bad span{border-color:var(--accent);color:var(--accent)}
.co-terms a{color:var(--ink)}
.co-pay b{font-weight:500}
.co-pay.is-busy{opacity:.6;pointer-events:none}
.co-pay[disabled]{cursor:wait}
.co-secure{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--mute)}
.co-secure svg{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6}
.co-sum{position:sticky;top:100px;background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:24px;display:flex;flex-direction:column;gap:16px}
.co-sum__h{font-family:var(--serif);font-weight:400;font-size:32px;line-height:1}
.co-items{list-style:none;display:grid;gap:14px;max-height:46vh;overflow:auto}
.co-items li{display:grid;grid-template-columns:56px 1fr auto;gap:12px;align-items:center}
.co-items img{width:56px;height:70px;object-fit:contain;background:var(--bone);mix-blend-mode:multiply}
.co-items b{font-family:var(--serif);font-weight:400;font-size:19px;display:block;line-height:1.1}
.co-items small{display:block;font-size:12px;color:var(--mute)}
.co-items .is-bad{opacity:.7}
.co-warn{color:var(--accent)!important}
.co-tot{border-top:1px solid var(--line);padding-top:14px;display:grid;gap:8px}
.co-tot div{display:flex;justify-content:space-between;font-size:14px}
.co-tot__all{font-size:20px!important;padding-top:8px;border-top:1px dashed var(--line)}
.co-tot__all dd{font-weight:500}
.co-edit{align-self:flex-start;font-size:13px;color:var(--mute)}
.co-empty{grid-column:1/-1;display:flex;flex-direction:column;align-items:flex-start;gap:20px;padding:40px 0}
.co-empty[hidden]{display:none}
#bag .is-disabled{opacity:.4;pointer-events:none}
.res{min-height:70vh;justify-content:center;padding-bottom:clamp(60px,8vw,120px)}
.res-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:10px}
@media (max-width:800px){
  .co{grid-template-columns:minmax(0,1fr)}
  .co-sum{position:static;order:-1;padding:18px}
  .co-items{max-height:none}
}

/* =========================================================
   MOBILE APP LAYER — tab bar, bottom sheets, touch feedback, safe areas
   ========================================================= */
:root{--tabh:0px;--sat:env(safe-area-inset-top,0px);--sab:env(safe-area-inset-bottom,0px)}
html{-webkit-tap-highlight-color:transparent}
a,button,label,summary,.card,.look,[role=button]{touch-action:manipulation}
.tabbar{display:none}
.sheet-handle{display:none}

@media (max-width:800px){
  :root{--tabh:64px}
  body{overscroll-behavior-x:none}
  .grain{display:none}                                   /* save battery */
  .nav{padding:calc(12px + var(--sat)) var(--pad) 12px}
  .nav__bag,.nav__burger{display:none}
  .nav__right > .lang{display:flex}
  .lang a{min-height:32px;min-width:36px;display:grid;place-items:center;padding:0 8px}
  section[id],#top{scroll-margin-top:calc(56px + var(--sat))}

  /* bottom tab bar */
  .tabbar{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:0;right:0;bottom:0;z-index:850;
    height:calc(var(--tabh) + var(--sab));padding:6px 4px var(--sab);background:rgba(247,243,238,.94);
    -webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px);border-top:1px solid var(--line);
    transition:transform .5s var(--ease)}
  .tabbar a,.tabbar button{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;
    font-size:10.5px;letter-spacing:.02em;color:var(--mute);border-radius:14px;transition:color .25s,transform .2s var(--ease)}
  .tabbar svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;transition:transform .35s var(--ease)}
  .tabbar [aria-current="true"]{color:var(--ink)}
  .tabbar [aria-current="true"] svg{transform:translateY(-1px) scale(1.08);stroke-width:1.8}
  .tabbar [aria-current="true"]::after{content:"";position:absolute;top:-6px;left:50%;width:18px;height:2px;margin-left:-9px;border-radius:2px;background:var(--accent)}
  .tabbar a:active,.tabbar button:active{transform:scale(.9)}
  .tabbar__count{position:absolute;top:2px;left:calc(50% + 6px);min-width:18px;height:18px;padding:0 5px;border-radius:9px;
    background:var(--accent);color:#fff;font:600 10px/18px var(--sans);text-align:center}
  .tabbar__count.bump{animation:bump .6s var(--ease)}
  body.sheet-open .tabbar{transform:translateY(110%)}

  /* room for the tab bar */
  .hero{min-height:0;padding-bottom:calc(14px + var(--tabh) + var(--sab));padding-top:calc(70px + var(--sat))}
  .foot{padding-bottom:calc(24px + var(--tabh) + var(--sab))}
  .toast{bottom:calc(16px + var(--tabh) + var(--sab))}

  /* app-like horizontal chip scroller */
  .filters{flex-wrap:nowrap;overflow-x:auto;margin:0 calc(-1 * var(--pad));padding:2px var(--pad) 6px;scrollbar-width:none;scroll-snap-type:x proximity}
  .filters::-webkit-scrollbar{display:none}
  .filters button{flex:none;scroll-snap-align:start;min-height:40px}

  /* bigger touch targets */
  input[type=range]{height:44px}
  input[type=range]::-webkit-slider-thumb{width:28px;height:28px;margin-top:-14px}
  input[type=range]::-moz-range-thumb{width:28px;height:28px}
  .sizes button,.slots button,.mtm__models span{min-height:44px}
  .foot__cols a{padding:9px 0}
  .nav__logo{padding:14px 0}
  .link,.ticket__switch,.foot__base a,.more__how{display:inline-block;padding:12px 0}
  .visit__grid p .link{padding:8px 0}
  .hero__scroll{min-height:44px;min-width:44px;justify-content:center}

  /* bottom sheets instead of side drawers */
  .drawer,.bag{top:auto;left:0;right:0;bottom:0;width:100%;max-height:calc(100svh - 40px - var(--sat));border-radius:22px 22px 0 0;
    transform:translateY(105%);transition:transform .6s var(--ease);box-shadow:0 -20px 60px -30px rgba(20,17,15,.4);padding-bottom:var(--sab)}
  .drawer.is-open,.bag.is-open{transform:translateY(0)}
  .drawer.is-dragging,.bag.is-dragging{transition:none}
  .drawer{display:block}
  .sheet-handle{display:block;position:sticky;top:0;z-index:4;height:22px;margin-bottom:-22px;cursor:grab}
  .sheet-handle::before{content:"";position:absolute;left:50%;top:8px;width:40px;height:5px;margin-left:-20px;border-radius:3px;background:rgba(20,17,15,.22)}
  .drawer__img{min-height:0;height:46svh;border-radius:22px 22px 0 0;overflow:hidden}
  .drawer__close{top:14px;right:14px;z-index:5;background:var(--paper);border-radius:30px;padding:8px 12px;border:1px solid var(--line)}
  .bag__head{padding-top:28px}
  .bag{display:flex}
  .bag__list{max-height:52svh}

  /* lightbox controls clear the home indicator */
  .lb__top{padding-top:calc(14px + var(--sat))}
  .lb__foot{padding-bottom:calc(18px + var(--sab))}
  .lb__nav{bottom:calc(76px + var(--sab))}
}

/* pressed-state feedback on touch devices */
@media (hover:none){
  .btn,.filters button,.sizes button,.slots button,.days button,.lb__nav,.lb__close,.mtm__models span{transition:transform .18s var(--ease),background .3s,color .3s}
  .btn:active,.filters button:active,.sizes button:active,.slots button:active,.days button:active,.lb__nav:active,.lb__close:active{transform:scale(.95)}
  .card:active .card__media{transform:scale(.98)}
  .card__media{transition:transform .25s var(--ease)}
  .look:active .look__img{transform:scale(.98)}
  .look__img{transition:transform .25s var(--ease)}
}

/* installed as an app (home screen) */
@media (display-mode:standalone){
  .nav{padding-top:calc(12px + var(--sat))}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001s!important;animation-iteration-count:1!important;transition-duration:.001s!important}
  .grain{display:none}
  .rv{opacity:1;transform:none}
  .manifest__text .w{opacity:1}
  .fade{opacity:1}
}
