/* Olforlab — V5 design system
   Zodiak (display, used large), Host Grotesk (text & interface), DM Mono (data: ml, prices, counts, notes labels). */
:root{
  --ink:#0B0B0A;
  --ink-2:#141311;
  --paper:#F2EFE9;
  --paper-2:#E7E2D9;
  --warm:#E9E1D4;
  --dark:#111110;
  --gold:#E9BE5C;
  --gold-d:#76591A;
  --fg:var(--paper);
  --bg:var(--ink);
  --hair:rgba(242,239,233,.2);
  --disp:"Zodiak",ui-serif,Georgia,serif;
  --text:"Host Grotesk","Helvetica Neue",Helvetica,Arial,sans-serif;
  --mono:"DM Mono",ui-monospace,"SFMono-Regular",Menlo,monospace;
  --gut:clamp(16px,4.4vw,64px);
  --max:1600px;
  --ease:cubic-bezier(.22,.61,.36,1);
  --out:cubic-bezier(.16,1,.3,1);
  --hd:76px;
  color-scheme:dark;
}
@view-transition{navigation:auto}
::view-transition-old(root),::view-transition-new(root){animation-duration:.45s;animation-timing-function:var(--ease)}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:72px;background:var(--ink);overflow-x:hidden}
body{margin:0;background:var(--bg);color:var(--fg);font:400 16px/1.6 var(--text);font-variant-numeric:lining-nums;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:clip;text-rendering:optimizeLegibility}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button,input,select{font:inherit;color:inherit}
button{background:none;border:0;padding:0;cursor:pointer}
p{margin:0}
ul,ol{list-style:none;margin:0;padding:0}
h1,h2,h3{margin:0;font-weight:inherit}
figure{margin:0}
dl,dd{margin:0}
[hidden]{display:none!important}
::selection{background:var(--gold);color:var(--ink)}
:focus-visible{outline:1px solid var(--gold);outline-offset:4px}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;margin:-1px}
.skip{position:fixed;left:16px;top:-80px;z-index:120;background:var(--paper);color:var(--ink);padding:12px 18px;font-size:13px;transition:top .2s}
.skip:focus{top:16px}
.wrap{width:100%;max-width:var(--max);margin:0 auto;padding:0 var(--gut)}
.paper{--fg:var(--dark);--bg:var(--paper);--hair:rgba(17,17,16,.18);background:var(--paper);color:var(--dark)}
.paper ::selection{background:var(--dark);color:var(--paper)}

/* ---------- type ---------- */
/* display: Zodiak, a contemporary serif with character, always in lower case, set tight. */
.d,.vit-h,.man-h,.fmt-h,.best-h,.idx-h,.auth-head .d,.vitrine-h,.talk-h,.ship-h,.pdp-advice .d{letter-spacing:-.03em}
.d{font-family:var(--disp);font-weight:400;line-height:.96}
.mono,.num{font-family:var(--mono);font-weight:400;font-size:13px;line-height:1.5;letter-spacing:.01em;font-variant-numeric:tabular-nums}
.lead{font-size:clamp(16px,1.2vw,18px);line-height:1.6;max-width:44ch;text-wrap:pretty}
.note{font-size:13.5px;line-height:1.55;max-width:48ch}
.nw{white-space:nowrap}
/* staggered lines for the big statements (data-lines) */
.lines .ln{display:block}
.stag .ln:nth-child(2){padding-left:1.6em}
.stag .ln:nth-child(3){padding-left:.5em}
.stag .ln:nth-child(4){padding-left:2.4em}
@media (max-width:759px){.stag .ln:nth-child(2){padding-left:.6em}.stag .ln:nth-child(3){padding-left:.2em}.stag .ln:nth-child(4){padding-left:1em}}

/* ---------- actions: three levels ---------- */
/* 1 · editorial link: lower case, a line that redraws itself, the arrow steps forward */
.link{position:relative;display:inline-flex;align-items:baseline;gap:10px;min-height:44px;padding:12px 0 10px;font:400 15px/1.3 var(--text);letter-spacing:0;transition:transform .22s var(--ease)}
.link::after{content:"";position:absolute;left:0;right:0;bottom:6px;height:1px;background:currentColor;transform-origin:right;transition:transform .32s var(--ease)}
.ar{display:inline-block;font-family:var(--text);transition:transform .22s var(--ease)}
.link:hover .ar{transform:translateX(4px)}
@media (hover:hover){
  .link:hover{transform:translateX(2px)}
  .link:hover::after{animation:redraw .45s var(--ease)}
}
@keyframes redraw{0%{transform:scaleX(1);transform-origin:right}45%{transform:scaleX(0);transform-origin:right}46%{transform:scaleX(0);transform-origin:left}100%{transform:scaleX(1);transform-origin:left}}
.link.quiet::after{transform:scaleX(0);transform-origin:left}
.link.quiet:hover::after{animation:none;transform:scaleX(1)}
.link:active{transform:translateX(2px) scale(.985)}
/* 2 · main action: a compact rectangle that inverts */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:space-between;gap:28px;min-height:48px;padding:0 20px;border:1px solid currentColor;border-radius:0;background:transparent;color:inherit;font:500 12px/1 var(--text);letter-spacing:.14em;text-transform:uppercase;transition:background-color .2s var(--ease),color .2s var(--ease),border-color .2s var(--ease),transform .12s var(--ease)}
.btn .ar{letter-spacing:0}
.btn svg{width:14px;height:14px;fill:currentColor;flex:none}
.btn:hover{background:var(--fg);color:var(--bg);border-color:var(--fg)}
.btn:hover .ar{transform:translateX(4px)}
.btn:active{transform:scale(.985)}
.btn.full{width:100%}
/* 3 · commerce: a solid bar with the price on the right, and a clear answer once pressed */
.buy{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px;width:100%;min-height:58px;padding:0 22px;background:var(--paper);color:var(--ink);font:500 15px/1.2 var(--text);text-align:left;transition:background-color .2s var(--ease),transform .12s var(--ease)}
.buy .mono{font-size:14px}
.buy svg{width:15px;height:15px;fill:currentColor;flex:none}
.buy .t{display:inline-flex;align-items:center;gap:12px;min-width:0}
.buy:hover{background:#FFFFFF}
.buy:active{transform:translateY(1px)}
.buy .ok{display:none;align-items:center;gap:12px}
.buy .ok::before{content:"";width:7px;height:7px;background:var(--gold)}
.buy.added{background:var(--ink-2);color:var(--paper);box-shadow:inset 0 0 0 1px rgba(242,239,233,.4)}
.buy.added .t{display:none}
.buy.added .ok{display:inline-flex}
.paper .buy,.drawer-panel .buy{background:var(--dark);color:var(--paper)}
.paper .buy:hover,.drawer-panel .buy:hover{background:#000}

/* ---------- header: the logo first, little else ---------- */
.hd{position:fixed;top:0;left:0;right:0;z-index:60;transition:background-color .5s var(--ease),color .5s var(--ease),opacity .8s var(--ease)}
.hd-in{height:var(--hd);display:flex;align-items:center;gap:clamp(28px,4vw,64px)}
.hd.scrolled,.hd.solid{background:rgba(11,11,10,.94)}
.hd.light{background:rgba(242,239,233,.95);color:var(--dark)}
.hd-logo{display:block;flex:none;padding:8px 0}
.hd-logo-svg{display:block;height:21px;width:auto;color:currentColor;transition:opacity .25s var(--ease)}
.hd-nav{display:flex;gap:clamp(22px,2.6vw,40px);transition:opacity .3s var(--ease)}
.hd-nav a,.hd-cart,.hd-snap{position:relative;display:inline-flex;align-items:center;gap:8px;min-height:44px;font:400 14px/1 var(--text)}
.hd-nav a::after{content:"";position:absolute;left:0;right:0;bottom:12px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .35s var(--ease)}
.hd-nav a:hover::after,.hd-nav a[aria-current="true"]::after{transform:scaleX(1);transform-origin:left}
.hd-right{margin-left:auto;display:flex;align-items:center;gap:clamp(20px,2.6vw,40px)}
.lang{display:flex;align-items:center;gap:6px;font:400 12px/1 var(--mono)}
.lang button{min-height:44px;padding:0 2px;font:inherit}
.lang button[aria-pressed="true"]{text-decoration:underline;text-underline-offset:5px}
.hd-count{font:400 13px/1 var(--mono)}
.hd-count::before{content:"("}.hd-count::after{content:")"}
.hd-snap svg{width:14px;height:14px;fill:currentColor}
.hd-snap svg{display:none}
.hd-menu{display:none;width:44px;height:44px;align-items:center;justify-content:center;flex-direction:column;gap:6px;margin-right:-10px}
.hd-menu i{display:block;width:22px;height:1px;background:currentColor;transition:transform .4s var(--out)}
.hd-menu[aria-expanded="true"] i:first-of-type{transform:translateY(3.5px) rotate(45deg)}
.hd-menu[aria-expanded="true"] i:last-of-type{transform:translateY(-3.5px) rotate(-45deg)}
@media (max-width:959px){
  :root{--hd:62px}
  .hd-logo-svg{height:18px}
  .hd-nav,.hd .lang{display:none}
  .hd-menu{display:flex}
  .hd-snap .t,.hd-cart .t{display:none}
  .hd-snap svg{display:block;width:17px;height:17px}
  .hd-snap{min-width:44px;justify-content:center}
  .hd-cart:not(.has){display:none}
  .hd-right{gap:8px}
}

/* mobile menu */
.menu{position:fixed;inset:0;z-index:55;background:var(--ink);display:flex;flex-direction:column;padding:calc(var(--hd) + 24px) var(--gut) calc(28px + env(safe-area-inset-bottom));opacity:0;visibility:hidden;transition:opacity .4s var(--ease),visibility 0s linear .4s}
.menu.open{opacity:1;visibility:visible;transition:opacity .4s var(--ease)}
.menu nav{display:flex;flex-direction:column;margin-bottom:auto}
.menu nav a{font-family:var(--disp);font-size:clamp(36px,10vw,52px);line-height:1.12;letter-spacing:-.02em}
.menu-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:20px}
.menu-foot .lang{display:flex}

/* ---------- hero: a campaign image ---------- */
.vit{position:relative;min-height:100svh;overflow:hidden;isolation:isolate;display:flex;flex-direction:column;justify-content:flex-end}
.vit-light{position:absolute;inset:0;z-index:-2;background:radial-gradient(42% 46% at 52% 62%,#231e17 0%,rgba(11,11,10,0) 72%),var(--ink)}
.vit-slot{position:absolute;left:var(--gut);right:var(--gut);top:calc(var(--hd) + 2vh);z-index:0;color:var(--paper)}
.vit-slot svg{display:block;width:100%;height:auto}
.brand{position:fixed;left:0;top:0;z-index:1;pointer-events:none;color:var(--paper);transform-origin:0 0;will-change:transform}
.brand svg{display:block;width:100%;height:auto}
html:not(.brand-live) .brand{display:none}
.brand-live .vit-slot svg{visibility:hidden}
.brand-docked .brand{visibility:hidden}
.brand-live:not(.brand-docked) .hd-logo-svg{opacity:0}
.brand-moving .hd-nav{opacity:0;pointer-events:none}
.vit-stage{position:absolute;left:50%;bottom:clamp(96px,15vh,150px);z-index:2;width:min(64vw,900px,calc((60vh - 40px) * 1.5));aspect-ratio:1.5;transform:translateX(-50%)}
.vit-b{position:absolute;bottom:0;left:var(--x);height:calc(var(--hh) * 1%)}
.vit-b picture{display:block;height:100%}
.vit-b img{display:block;height:100%;width:auto;max-width:none}
.vit-b.back{filter:brightness(.62)}
.vit-b::after{content:"";position:absolute;left:6%;right:6%;bottom:-2.5%;height:5%;z-index:-1;background:radial-gradient(closest-side,rgba(0,0,0,.8),transparent)}
.vit-foot{position:relative;z-index:3;display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding-bottom:clamp(26px,4.4vh,48px)}
.vit-h{font-family:var(--disp);font-size:clamp(28px,2.4vw,40px);line-height:1;max-width:11ch}
.vit-h em{font-style:normal}
/* curtain: the logo alone on black, then the bottles */
.intro-on .hd,.intro-on .vit-foot{opacity:0}
.intro-on .vit-stage{opacity:0;transform:translate(-50%,24px)}
.vit-stage{transition:opacity 1.1s var(--ease),transform 1.3s var(--out)}
.vit-foot{transition:opacity .9s var(--ease) .3s}
.intro-on .brand svg,.intro-on .vit-slot svg{animation:introLogo 1.1s var(--out) both}
@keyframes introLogo{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@media (max-width:959px){
  .vit{min-height:0;padding-top:calc(var(--hd) + 20px)}
  .vit-slot{position:relative;left:auto;right:auto;top:auto;padding:0 var(--gut)}
  .vit-stage{position:relative;left:auto;bottom:auto;transform:none;width:calc(100% - 2*var(--gut));margin:-4vw auto 34px}
  .intro-on .vit-stage{transform:translateY(24px)}
  .vit-foot{flex-direction:column;align-items:flex-start;gap:14px}
  .vit-h{font-size:clamp(28px,8vw,36px)}
}

/* ---------- manifesto + the numbers ---------- */
.man{position:relative;padding:clamp(120px,14vw,230px) 0 0}
.man-h{font-size:clamp(46px,7.2vw,128px)}
.man-row{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gut);margin-top:clamp(56px,6vw,96px)}
.man-row .lead{grid-column:8/12}
.man-row .link{grid-column:8/12;justify-self:start;margin-top:22px}
.stats{position:relative;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gut);align-items:end;padding:clamp(110px,12vw,190px) 0 clamp(120px,13vw,200px)}
.st{display:flex;align-items:baseline;gap:16px}
.st b{font-family:var(--disp);font-weight:400;line-height:.8;white-space:nowrap;font-size:clamp(84px,11vw,190px);letter-spacing:-.04em}
.st span{font-size:15px;line-height:1.3;max-width:10ch}
.st:nth-child(1){grid-column:1/6}
.st:nth-child(2){grid-column:6/9;align-self:start}
.st:nth-child(3){grid-column:9/13;justify-self:end}
.st:nth-child(2) b,.st:nth-child(3) b{font-size:clamp(52px,6vw,104px)}
/* a bottle set across the edge, half on the paper, half in the dark */
.cross{position:absolute;right:calc(var(--gut) + 6vw);bottom:0;z-index:4;height:clamp(200px,22vw,340px);transform:translateY(46%);pointer-events:none}
.cross img{height:100%;width:auto;max-width:none}
@media (max-width:959px){
  .man-row .lead,.man-row .link{grid-column:1/-1}
  .stats{grid-template-columns:1fr 1fr;row-gap:36px}
  .st:nth-child(1){grid-column:1/-1}
  .st:nth-child(2){grid-column:1/2;align-self:end}
  .st:nth-child(3){grid-column:2/3;justify-self:start}
  .st b{font-size:clamp(72px,22vw,110px)}
  .st:nth-child(2) b,.st:nth-child(3) b{font-size:clamp(42px,12vw,60px)}
  .st span{font-size:14px}
  .cross{right:var(--gut);height:170px}
}

/* ---------- selection: one fragrance at a time, as an object ---------- */
.show{position:relative}
.show-in{display:grid;grid-template-rows:1fr auto;gap:18px}
.sh-text{display:grid;justify-items:start;align-content:end;padding-bottom:4vh}
.sh-house{font-size:14px}
.sh-name{font-family:var(--disp);font-size:clamp(52px,5.8vw,104px);line-height:.95;letter-spacing:-.03em;margin-top:16px}
.sh-notes{margin-top:30px;display:grid;gap:6px}
.sh-notes li{display:grid;grid-template-columns:64px minmax(0,1fr);gap:12px;align-items:baseline;font-size:16px;line-height:1.4}
.sh-price{margin-top:26px}
.sh-text .link{margin-top:12px}
.sh-media{position:relative;display:flex;align-items:flex-end;justify-content:center;min-height:0}
.sh-cut{position:relative;display:block;height:100%}
.sh-cut img{display:block;height:100%;width:auto;max-width:none}
.sh-photo{position:relative;display:block;width:min(56vh,560px);height:auto;align-self:center;filter:saturate(.85);clip-path:inset(3%)}
.sh-stage{position:relative;min-height:0;display:flex}
.sh-stage>.sh-media{flex:1}
.show-nav{display:flex;flex-wrap:wrap;gap:4px 30px;align-items:baseline}
.show-nav li:first-child{margin-right:10px}
.show-nav button{min-height:44px;font:400 14px/1 var(--text);position:relative;transition:transform .2s var(--ease)}
.show-nav button::after{content:"";position:absolute;left:0;right:0;bottom:12px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.show-nav button:hover::after,.show-nav button[aria-current="true"]::after{transform:scaleX(1)}
.show-count{font-family:var(--mono);font-size:13px}
@media (min-width:960px){
  .show{height:calc(var(--n,6) * 70vh + 100vh)}
  .show-stick{position:sticky;top:0;height:100vh;overflow:hidden}
  .show-in{height:100%;padding-top:calc(var(--hd) + 24px);padding-bottom:22px}
  .show-items{position:relative;min-height:0}
  .sh{position:absolute;inset:0;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gut);opacity:0;visibility:hidden;transition:opacity .7s var(--ease),visibility 0s linear .7s}
  .sh.on{opacity:1;visibility:visible;transition:opacity .7s var(--ease)}
  .sh-text{grid-column:1/6;grid-row:1;position:relative;z-index:2}
  .sh-stage{grid-column:5/13;grid-row:1}
  .sh:nth-child(even) .sh-text{grid-column:8/13}
  .sh:nth-child(even) .sh-stage{grid-column:1/9}
}
@media (max-width:959px){
  .show{padding:clamp(110px,16vw,150px) 0 40px}
  .show-items{display:grid;gap:96px}
  .sh{display:grid;gap:26px}
  .sh-media{height:78vw;max-height:540px}
  .sh:not(.is-cut) .sh-media{height:auto;max-height:none}
  .sh-photo{width:100%}
  .sh-name{font-size:clamp(46px,13vw,68px)}
  .show-nav,.show-count{display:none}
}

/* ---------- formats: four bottles to scale ---------- */
.fmt{position:relative;background:var(--ink)}
.fmt-stick{padding:clamp(110px,12vw,180px) 0}
.fmt-in{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gut);row-gap:44px}
.fmt-head{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:18px 40px}
.fmt-h{font-family:var(--disp);font-size:clamp(40px,4.6vw,80px);line-height:.98}
.fmt-h .ln{display:inline-block;margin-right:.24em}
.fmt-same{display:grid;gap:2px;font-size:15px;padding-bottom:.5em}
.fmt-same span{display:block}
.fmt-stage{--sh:clamp(240px,40vh,400px);grid-column:1/9;display:flex;align-items:flex-end;justify-content:space-between;gap:clamp(12px,3vw,48px);height:var(--sh);padding:0 clamp(4px,1.5vw,24px);border-bottom:1px solid var(--hair)}
.fb{display:flex;flex-direction:column;align-items:center;gap:10px;padding-bottom:16px;min-width:44px;transition:opacity .5s var(--ease)}
.fb-b{position:relative;display:block;height:calc(var(--h) * (var(--sh) - 100px));width:calc(var(--h) * (var(--sh) - 100px) * .42);border:1px solid rgba(242,239,233,.55);border-radius:12% 12% 6% 6% / 6% 6% 3% 3%;background:rgba(242,239,233,.03);transition:border-color .4s var(--ease),transform .5s var(--out)}
.fb-cap{position:absolute;left:31%;right:31%;bottom:100%;height:13%;border:1px solid rgba(242,239,233,.55);border-bottom:0;background:#8f7438}
.fb-liq{position:absolute;left:5%;right:5%;bottom:3%;height:76%;background:rgba(201,152,72,.55);transition:height 1.2s var(--out)}
.fb-gl{display:none}
.fb-ml{font-family:var(--mono);font-size:13px;line-height:1}
.fb-role{font-size:13px;line-height:1}
.fb[aria-checked="true"] .fb-b{border-color:var(--paper);transform:translateY(-6px)}
.fb[aria-checked="true"] .fb-ml{text-decoration:underline;text-underline-offset:5px}
.fb[aria-checked="false"] .fb-b{opacity:.5}
.io .fmt-stage .fb:not(.in){opacity:0}
.io .fb:not(.in) .fb-liq{height:0}
.fmt-detail{grid-column:9/13;align-self:end;display:grid;gap:8px;padding-bottom:16px}
.fd-ml{font-family:var(--disp);font-size:clamp(72px,7vw,128px);line-height:.85;letter-spacing:-.04em}
.fd-kind{margin-top:14px;font-size:15px}
.fd-d{font-family:var(--disp);font-size:clamp(22px,1.7vw,28px);line-height:1.1;margin-top:6px}
.fd-n,.fd-p{font-family:var(--mono);font-size:13px}
.fd-scale{font-size:13px;margin-top:10px}
.fmt-foot{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:24px 40px}
.proof{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 22px;font-size:15px}
.proof b{font-family:var(--disp);font-weight:400;font-size:clamp(36px,3vw,54px);line-height:.9;letter-spacing:-.03em;margin-right:6px}
.proof i{display:inline-block;width:40px;height:1px;background:currentColor;align-self:center}
.proof-cap{flex-basis:100%;font-family:var(--mono);font-size:12.5px}
.proof-cap a{text-decoration:underline;text-underline-offset:3px}
@media (min-width:960px){
  .fmt{height:240vh}
  .fmt-stick{position:sticky;top:0;min-height:100vh;display:flex;align-items:center;padding:calc(var(--hd) + 16px) 0 28px}
  .fmt-stick>.wrap{width:100%}
  .fmt-in{row-gap:26px}
}
@media (max-width:959px){
  .fmt-stage,.fmt-detail{grid-column:1/-1}
  .fmt-stage{--sh:300px;padding:0}
  .fmt-detail{padding-bottom:0}
  .fd-ml{font-size:72px}
}

/* ---------- best-sellers ---------- */
.best{padding:clamp(100px,11vw,170px) 0 clamp(40px,5vw,80px)}
.best-h{font-family:var(--disp);font-size:clamp(36px,4vw,68px);line-height:.98}
.best-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:56px var(--gut);margin-top:clamp(40px,5vw,72px)}
@media (max-width:1099px){.best-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:759px){.best-grid{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;margin:32px calc(-1*var(--gut)) 0;padding:0 var(--gut);scrollbar-width:none}.best-grid::-webkit-scrollbar{display:none}.best-grid .card{flex:0 0 66%;scroll-snap-align:start}}

/* ---------- houses: a living index ---------- */
.idx{position:relative;padding:clamp(120px,13vw,210px) 0 clamp(110px,12vw,190px)}
.idx-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:20px 40px}
.idx-h{font-family:var(--disp);font-size:clamp(40px,4.6vw,80px);line-height:.98}
.idx-head .lead{max-width:34ch;padding-bottom:.4em}
.idx-body{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gut);margin-top:clamp(56px,7vw,110px)}
.idx-list{grid-column:1/9}
.h-row{display:flex;align-items:baseline;gap:24px;width:100%;padding:8px 0 6px;text-align:left;border-top:1px solid var(--hair)}
.h-name{font-family:var(--disp);font-size:clamp(28px,2.8vw,48px);line-height:1.08;letter-spacing:-.02em;transition:font-size .45s var(--out),opacity .3s var(--ease)}
.h-items{margin-left:auto;font-family:var(--mono);font-size:12.5px;text-align:right;max-width:45%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:0;transition:opacity .3s var(--ease)}
.idx-fig{grid-column:9/13;position:relative}
.idx-fig-in{position:sticky;top:calc(var(--hd) + 40px);height:min(62vh,560px);display:flex;align-items:flex-end;justify-content:center}
.idx-fig img,.idx-fig picture{position:absolute;bottom:0;left:50%;transform:translateX(-50%);max-height:100%;width:auto;max-width:100%;opacity:0;transition:opacity .45s var(--ease)}
.idx-fig img.photo{width:100%;height:auto;bottom:auto;top:50%;transform:translate(-50%,-50%) scale(1.06);clip-path:inset(3%)}
.idx-fig .on{opacity:1}
.idx-cap{display:none}
@media (hover:hover) and (pointer:fine){
  .idx-list:hover .h-name{opacity:.38}
  .h-row.cur .h-name{opacity:1!important;font-size:clamp(44px,5vw,92px);letter-spacing:-.035em}
  .h-row.cur .h-items{opacity:1}
}
@media (max-width:959px){
  .idx-list{grid-column:1/-1}
  .idx-fig{display:none}
  .h-row{flex-direction:column;gap:4px;padding:12px 0 10px}
  .h-name{font-size:clamp(26px,7vw,36px)}
  .h-items{margin-left:0;text-align:left;opacity:1;max-width:none;white-space:normal}
}

/* ---------- collection ---------- */
.cat{position:relative;padding:clamp(110px,12vw,190px) 0 clamp(120px,13vw,200px)}
.cat-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px 40px}
.cat-head .d{font-size:clamp(46px,6.4vw,116px);line-height:.95;letter-spacing:-.035em}
.cat-meta{display:grid;gap:4px;justify-items:end;text-align:right;padding-bottom:.5em}
.cat-meta .note{max-width:38ch}
/* filters: one editorial line, thin separators */
.ctrl{display:grid;grid-template-columns:minmax(0,2.3fr) repeat(4,minmax(0,1fr));margin-top:clamp(48px,5vw,80px);border-top:1px solid var(--hair);border-bottom:1px solid var(--hair)}
.ctrl label{position:relative;display:flex;align-items:center;gap:12px;min-width:0;padding:0 18px;min-height:64px}
.ctrl label:first-child{padding-left:0}
.ctrl label+label{border-left:1px solid var(--hair)}
.ctrl-l{flex:none;font-family:var(--mono);font-size:12.5px}
.ctrl-q .ctrl-l{display:none}
.ctrl input,.ctrl select{width:100%;min-width:0;min-height:40px;background:transparent;border:0;border-radius:0;padding:0;font:400 15px/1.4 var(--text);-webkit-appearance:none;appearance:none}
.ctrl input{font-size:clamp(18px,1.5vw,22px)}
.ctrl input::placeholder{color:currentColor;opacity:1}
.ctrl input:focus,.ctrl select:focus{outline:none}
.ctrl label:focus-within{box-shadow:inset 0 -1px 0 currentColor}
.ctrl select{padding-right:18px;cursor:pointer;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='9' height='6'%3E%3Cpath d='M.5 .5l4 4 4-4' fill='none' stroke='%23F2EFE9'/%3E%3C/svg%3E") no-repeat right 2px center;text-overflow:ellipsis}
.ctrl select option{background:var(--ink-2);color:var(--paper)}
.ctrl input[type=search]::-webkit-search-cancel-button{filter:invert(1)}
/* custom dropdown (desktop) */
.ctrl .dd-native{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.dd{position:relative;flex:1;min-width:0}
.dd-btn{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:40px;font:400 15px/1.4 var(--text);text-align:left}
.dd-v{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.dd-btn i{flex:none;width:6px;height:6px;margin:-4px 2px 0 0;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg);transition:transform .2s var(--ease)}
.dd.open .dd-btn i{transform:translateY(3px) rotate(225deg)}
.dd-list{position:absolute;left:-18px;right:-18px;top:calc(100% + 12px);z-index:30;max-height:min(360px,52vh);overflow-y:auto;overscroll-behavior:contain;padding:6px 0;background:var(--ink-2);border:1px solid var(--hair);opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .18s var(--ease),transform .22s var(--out),visibility 0s linear .22s;scrollbar-width:thin;scrollbar-color:rgba(242,239,233,.3) transparent}
.dd.open .dd-list{opacity:1;visibility:visible;transform:none;transition:opacity .18s var(--ease),transform .22s var(--out)}
.dd-list:focus{outline:none}
.dd-opt{position:relative;display:flex;align-items:center;min-height:40px;padding:8px 18px 8px 34px;font-size:15px;line-height:1.35;cursor:pointer}
.dd-opt.act{background:rgba(242,239,233,.07)}
.dd-opt[aria-selected="true"]::before{content:"";position:absolute;left:18px;top:50%;width:6px;height:6px;margin-top:-3px;background:var(--gold)}
.ctrl-state{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:56px}
.ctrl-state p{font-family:var(--mono);font-size:13px}
@media (max-width:959px){
  .ctrl{grid-template-columns:repeat(2,minmax(0,1fr));border-bottom:0}
  .ctrl label{padding:0 14px;border-bottom:1px solid var(--hair)}
  .ctrl label+label{border-left:0}
  .ctrl label:nth-child(odd){padding-left:0}
  .ctrl label:nth-child(3),.ctrl label:nth-child(5){border-left:1px solid var(--hair)}
  .ctrl-q{grid-column:1/-1}
  .cat-meta{justify-items:start;text-align:left}
}
/* the fragrances, as objects: no frame, the name set large */
.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(72px,7vw,120px) var(--gut);margin-top:clamp(40px,4vw,64px)}
.cat-grid{grid-auto-flow:row dense}
.cat-grid .card:nth-child(3n+2){margin-top:clamp(48px,6vw,110px)}
.card{display:block;position:relative}
.card-media{display:block;position:relative;overflow:hidden;aspect-ratio:1/1;background:var(--ink-2)}
.card-media img{width:100%;height:100%;object-fit:cover;transform:scale(1.06);filter:saturate(.78);transition:transform .9s var(--out),filter .6s var(--ease)}
.card:hover .card-media img{transform:scale(1.1);filter:saturate(1)}
.card-meta{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:16px;row-gap:6px;padding-top:22px;transition:transform .35s var(--out)}
.card:hover .card-meta{transform:translateX(4px)}
.card-house{grid-column:1/-1;font-family:var(--mono);font-size:12.5px}
.card-name{grid-column:1/-1;font-family:var(--disp);font-size:clamp(24px,1.9vw,32px);line-height:1.02;letter-spacing:-.02em}
.card-notes{grid-column:1/-1;font-size:14px;line-height:1.45}
.card-price{font-family:var(--mono);font-size:13px;margin-top:6px}
.card-go{align-self:end;font-size:14px;display:inline-flex;gap:8px;opacity:0;transform:translateX(-6px);transition:opacity .25s var(--ease),transform .3s var(--out)}
.card:hover .card-go,.card:focus-visible .card-go{opacity:1;transform:none}
@media (hover:none){.card-go{opacity:1;transform:none}}
.grid .card.wide{grid-column:span 2;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);column-gap:clamp(24px,3vw,48px);align-items:end;margin-top:0}
.card.wide .card-name{font-size:clamp(38px,3.8vw,66px);letter-spacing:-.03em}
.card.is-cut .card-media{aspect-ratio:4/3;display:flex;align-items:flex-end;justify-content:center;background:var(--ink-2)}
.card-cut{display:block;height:88%}
.card-cut img{display:block;height:100%;width:auto;max-width:none;transition:transform .9s var(--out)}
.card.is-cut:hover .card-cut img{transform:translateY(-6px)}
.empty{grid-column:1/-1;padding:56px 0;border-top:1px solid var(--hair)}
.empty strong{display:block;font-family:var(--disp);font-weight:400;font-size:clamp(30px,3vw,46px);line-height:1}
.empty p{margin-top:14px}
.empty .link{margin-top:14px}
@media (max-width:1099px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cat-grid .card:nth-child(3n+2){margin-top:0}.cat-grid .card:nth-child(2n){margin-top:clamp(32px,6vw,72px)}}
@media (max-width:759px){
  .grid{gap:52px 14px;margin-top:32px}
  .cat-grid .card:nth-child(2n){margin-top:44px}
  .card-meta{padding-top:14px;grid-template-columns:1fr}
  .card-name{font-size:21px}
  .card-notes{font-size:13px}
  .card-go{display:none}
  .grid .card.wide{grid-template-columns:1fr;margin-top:0!important}
  .card.wide .card-name{font-size:30px}
}

/* ---------- authenticity: documents, not arguments ---------- */
.auth{padding:clamp(120px,13vw,210px) 0}
.auth-head{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gut);row-gap:28px;align-items:end}
.auth-head .d{grid-column:1/9;font-size:clamp(40px,4.6vw,80px);line-height:.98}
.auth-head .lead{grid-column:9/13}
.docs{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gut);row-gap:clamp(56px,6vw,96px);margin-top:clamp(80px,9vw,140px);align-items:start}
.doc-i figure{overflow:hidden;background:var(--paper-2)}
.doc-i img{width:100%;height:100%;object-fit:cover;filter:saturate(.8)}
.doc-i figcaption,.doc-cap{display:flex;gap:14px;align-items:baseline;justify-content:space-between;border-top:1px solid var(--hair);margin-top:14px;padding-top:10px;font-family:var(--mono);font-size:12.5px}
.doc-i h3{font-family:var(--disp);font-size:clamp(26px,2.2vw,38px);line-height:1;letter-spacing:-.02em;margin-top:26px}
.doc-i p{margin-top:14px;max-width:40ch;line-height:1.6}
.doc-i:nth-child(1){grid-column:1/8}
.doc-i:nth-child(1) figure{aspect-ratio:4/3}
.doc-i:nth-child(2){grid-column:9/13;margin-top:clamp(120px,14vw,240px)}
.doc-i:nth-child(2) figure{aspect-ratio:4/5}
.doc-i:nth-child(3){grid-column:3/8}
.doc-i:nth-child(3) figure{aspect-ratio:1/1}
.vitrine{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gut);row-gap:40px;margin-top:clamp(110px,12vw,190px)}
.vitrine-h{grid-column:1/6;font-family:var(--disp);font-size:clamp(32px,3vw,52px);line-height:1}
.vitrine-body{grid-column:7/13}
.figs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding-bottom:32px;border-bottom:1px solid var(--hair)}
.figs b{display:block;font-family:var(--disp);font-weight:400;font-size:clamp(40px,3.4vw,60px);line-height:.9;letter-spacing:-.03em;margin-bottom:12px}
.figs>span>span{font-size:14px;line-height:1.4}
.why{margin-top:32px;display:grid;gap:18px;line-height:1.65}
@media (max-width:959px){
  .auth-head .d,.auth-head .lead,.doc-i:nth-child(n),.vitrine-h,.vitrine-body{grid-column:1/-1}
  .doc-i:nth-child(2){margin-top:0}
}
@media (max-width:420px){.figs{grid-template-columns:1fr}.figs>span{display:flex;align-items:baseline;gap:16px}}

/* ---------- advice: a sentence and a way to answer ---------- */
.talk{position:relative;padding:clamp(140px,16vw,260px) 0;background:var(--warm);color:var(--dark);--fg:var(--dark);--bg:var(--warm);--hair:rgba(17,17,16,.18)}
.talk-in{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gut)}
.talk-h{grid-column:1/-1;font-family:var(--disp);font-size:clamp(46px,7.2vw,128px);line-height:.96}
.talk-body{grid-column:7/12;margin-top:clamp(56px,6vw,100px);display:grid;gap:22px;justify-items:start}
.talk-lead{font-family:var(--disp);font-size:clamp(26px,2vw,34px);line-height:1;letter-spacing:-.02em}
.talk-qs{display:grid;gap:4px;font-size:17px;line-height:1.5}
.talk-qs .num{display:none}
.talk-sub{font-size:16px;line-height:1.6}
.talk-body .btn{margin-top:10px}
@media (max-width:959px){.talk-body{grid-column:1/-1}}

/* ---------- ordering & shipping ---------- */
.ship{padding:clamp(120px,13vw,210px) 0 clamp(100px,11vw,170px)}
.ship-h{font-family:var(--disp);font-size:clamp(40px,5vw,92px);line-height:.98}
.flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:var(--gut);row-gap:40px;margin-top:clamp(64px,7vw,110px)}
.flow li{display:grid;align-content:start;gap:10px;border-top:1px solid var(--hair);padding-top:16px}
.flow-n{font-family:var(--mono);font-size:13px}
.flow h3{font-family:var(--disp);font-size:clamp(28px,2.4vw,40px);line-height:1;letter-spacing:-.02em;margin-top:18px}
.flow p{max-width:32ch;line-height:1.6}
.ship-svc{display:flex;flex-wrap:wrap;gap:8px 32px;margin-top:clamp(56px,6vw,90px);font-family:var(--mono);font-size:13px}
@media (max-width:759px){.flow{grid-template-columns:1fr}}

/* ---------- footer: the logo closes the page ---------- */
.ft{padding:0 0 calc(32px + env(safe-area-inset-bottom));background:var(--ink)}
.ft-sign{display:grid;gap:clamp(28px,3.4vw,52px);padding:clamp(120px,14vw,220px) 0 clamp(56px,6vw,96px)}
.ft-logo-wrap{clip-path:inset(calc((1 - var(--fp,1)) * 100%) 0 0 0);transform:translate3d(0,calc((1 - var(--fp,1)) * 40px),0)}
.ft-logo{display:block;width:100%;height:auto;color:var(--paper)}
.ft-sign-row{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:20px 40px}
.ft-phrase{font-family:var(--disp);font-size:clamp(28px,2.6vw,46px);line-height:1;letter-spacing:-.025em}
.ft-phrase em{font-style:normal}
.ft-in{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:32px var(--gut);align-items:start;padding-top:28px;border-top:1px solid var(--hair)}
.ft-brand{grid-column:1/5}
.ft-brand p{font-size:14px;line-height:1.7}
.ft-nav{grid-column:5/10;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 28px}
.ft-nav a,.ft-legal a{font-size:14px;width:fit-content;padding:6px 0;position:relative}
.ft-nav a::after,.ft-legal a::after{content:"";position:absolute;left:0;right:0;bottom:4px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}
.ft-nav a:hover::after,.ft-legal a:hover::after{transform:scaleX(1)}
.ft-side{grid-column:10/13;display:grid;gap:14px;justify-items:start}
.ft-side .lang{display:flex}
.ft-legal{display:grid;gap:4px}
.ft-copy{font-family:var(--mono);font-size:12.5px}
@media (max-width:959px){.ft-brand,.ft-nav,.ft-side{grid-column:1/-1}}

/* ---------- sticky mobile bar ---------- */
.mbar{display:none}
@media (max-width:759px){
  .mbar{display:flex;align-items:center;gap:10px;position:fixed;left:0;right:0;bottom:0;z-index:50;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:var(--ink);border-top:1px solid var(--hair);transform:translateY(110%);transition:transform .5s var(--out)}
  .mbar.on{transform:none}
  .mbar .buy{flex:1;min-height:52px;padding:0 18px}
  .mbar-sep{margin:0 8px}
  .mbar-cart{display:inline-flex;align-items:center;justify-content:center;min-width:52px;height:52px;border:1px solid var(--hair);font-family:var(--mono);font-size:14px}
  .mbar-cart[hidden]{display:none}
  .mbar-info{display:flex;flex-direction:column;gap:4px;min-width:0;padding-left:4px}
  .mbar-info b{font-family:var(--mono);font-weight:400;font-size:15px;white-space:nowrap}
  .mbar-info span{font-family:var(--mono);font-size:12px;white-space:nowrap}
  body.has-mbar .ft{padding-bottom:calc(110px + env(safe-area-inset-bottom))}
}

/* ---------- selection drawer ---------- */
.drawer{position:fixed;inset:0;z-index:70;overflow:hidden;visibility:hidden;transition:visibility 0s linear .45s}
.drawer.open{visibility:visible;transition:none}
.drawer-bg{position:absolute;inset:0;background:rgba(11,11,10,.6);opacity:0;transition:opacity .45s var(--ease)}
.drawer.open .drawer-bg{opacity:1}
.drawer-panel{--fg:var(--dark);--bg:var(--paper);--hair:rgba(17,17,16,.16);position:absolute;top:0;right:0;bottom:0;width:min(480px,100%);display:flex;flex-direction:column;background:var(--paper);color:var(--dark);padding:26px clamp(20px,3vw,40px) calc(22px + env(safe-area-inset-bottom));transform:translateX(100%);transition:transform .5s var(--out);overflow:hidden}
.drawer.open .drawer-panel{transform:none}
.drawer-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding-bottom:16px;border-bottom:1px solid var(--hair)}
.drawer-title{font-family:var(--disp);font-size:34px;line-height:1;letter-spacing:-.025em}
.drawer-list{flex:1;overflow-y:auto;overscroll-behavior:contain;margin:0 calc(-1*clamp(20px,3vw,40px));padding:0 clamp(20px,3vw,40px)}
.c-item{display:grid;grid-template-columns:84px minmax(0,1fr);gap:18px;padding:20px 0;border-bottom:1px solid var(--hair)}
.c-img{display:block;aspect-ratio:1;overflow:hidden;background:var(--paper-2)}
.c-img img{width:100%;height:100%;object-fit:cover;transform:scale(1.06)}
.c-body{display:grid;gap:4px;align-content:start}
.c-house{font-family:var(--mono);font-size:12.5px}
.c-name{font-family:var(--disp);font-size:21px;line-height:1.05;letter-spacing:-.015em}
.c-meta{font-family:var(--mono);font-size:13px}
.c-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:6px}
.c-qty{display:inline-flex;align-items:center;border:1px solid var(--hair)}
.c-qty button{width:44px;height:40px;font-size:18px;line-height:1;transition:background-color .15s var(--ease)}
.c-qty button:hover{background:rgba(17,17,16,.06)}
.c-qty button:active{background:rgba(17,17,16,.12)}
.c-qty button:disabled{opacity:.3;cursor:default}
.c-qty span{min-width:24px;text-align:center;font-family:var(--mono);font-size:14px}
.c-rm{min-height:44px;font-size:14px;text-decoration:underline;text-underline-offset:4px}
.drawer-empty{flex:1;display:grid;align-content:center;justify-items:start;gap:14px}
.drawer-empty-t{font-family:var(--disp);font-size:30px;line-height:1;letter-spacing:-.02em}
.drawer-foot{display:grid;gap:14px;padding-top:18px;border-top:1px solid var(--hair)}
.drawer-total{display:flex;align-items:baseline;justify-content:space-between;font-size:15px}
.drawer-total b{font-family:var(--mono);font-weight:400;font-size:22px}
.drawer-links{display:flex;flex-wrap:wrap;justify-content:space-between;gap:0 20px}

/* ---------- toast ---------- */
.toast{position:fixed;left:50%;bottom:26px;z-index:90;transform:translate(-50%,20px);opacity:0;pointer-events:none;max-width:min(440px,calc(100% - 32px));padding:14px 20px;background:var(--paper);color:var(--ink);font-size:14px;line-height:1.45;text-align:center;transition:opacity .3s var(--ease),transform .45s var(--out)}
.toast.on{opacity:1;transform:translate(-50%,0)}
.drawer.open ~ .toast{bottom:auto;top:20px;background:var(--dark);color:var(--paper)}
@media (max-width:759px){.toast{bottom:calc(86px + env(safe-area-inset-bottom))}.drawer.open ~ .toast{bottom:auto;top:16px}}

/* ---------- product page ---------- */
.pdp{padding-top:calc(var(--hd) + clamp(20px,3vw,48px))}
.pdp-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:40px var(--gut);align-items:start}
.pdp-media{grid-column:1/8;position:sticky;top:calc(var(--hd) + 20px)}
.pdp-fig{position:relative;aspect-ratio:1/1;overflow:hidden;background:var(--ink-2)}
.pdp-fig img{width:100%;height:100%;object-fit:cover;transform:scale(1.06);view-transition-name:product}
.pdp-fig.is-cut{display:flex;align-items:flex-end;justify-content:center;padding:8% 0 6%}
.pdp-fig.is-cut picture{display:block;height:100%}
.pdp-fig.is-cut img{height:100%;width:auto;max-width:none;transform:none}
.pdp-info{grid-column:8/13;padding-bottom:40px}
.back{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-size:14px;transition:transform .2s var(--ease)}
.back:hover{transform:translateX(-3px)}
.pdp-house{margin-top:clamp(28px,4vw,56px);font-size:14px}
.pdp-name{font-family:var(--disp);font-size:clamp(52px,5vw,96px);line-height:.95;letter-spacing:-.035em;margin-top:14px;text-wrap:balance}
.pdp-accords{margin-top:18px;font-size:15px}
.pdp-short{font-family:var(--disp);font-size:clamp(21px,1.6vw,26px);line-height:1.2;letter-spacing:-.01em;margin-top:26px;max-width:30ch}
.pdp-block{margin-top:40px;padding-top:14px;border-top:1px solid var(--hair)}
.pdp-block>.mono{margin-bottom:14px}
.notes{display:grid;gap:8px}
.notes div{display:grid;grid-template-columns:64px minmax(0,1fr);gap:14px;align-items:baseline}
.notes dt{font-family:var(--mono);font-size:12.5px}
.notes dd{font-size:15.5px;line-height:1.55}
/* formats: a line of options, not boxes */
.sizes{display:flex;flex-wrap:wrap;gap:0 26px}
.size{display:inline-flex;align-items:baseline;gap:10px;min-height:48px;padding:0;font-family:var(--mono);font-size:14px;position:relative;transition:transform .2s var(--ease)}
.size::after{content:"";position:absolute;left:0;right:0;bottom:10px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}
.size:hover::after{transform:scaleX(.4)}
.size[aria-checked="true"]::after{transform:scaleX(1)}
.size[aria-checked="true"]::before{content:"";position:absolute;left:-13px;top:50%;width:6px;height:6px;margin-top:-4px;background:var(--gold)}
.size span,.size b{font:inherit}
.size b{font-weight:400}
.pdp-spray{margin-top:6px;font-family:var(--mono);font-size:13px}
.pdp-buy{margin-top:30px;display:grid;gap:6px}
.pdp-buy .link{justify-self:start}
.pdp-note{margin-top:14px;font-size:14px}
.story{padding:clamp(110px,12vw,190px) 0}
.story-in{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:32px var(--gut)}
.story-in>.mono{grid-column:1/4;padding-top:10px}
.story-body{grid-column:4/12}
.story-h{font-family:var(--disp);font-size:clamp(34px,3.4vw,58px);line-height:1.02;letter-spacing:-.025em;max-width:20ch}
.story-body .lead{margin-top:32px;font-size:clamp(17px,1.3vw,19px);max-width:56ch}
.related{padding:clamp(100px,11vw,170px) 0}
.rel-h{font-family:var(--disp);font-size:clamp(34px,3.4vw,58px);line-height:1}
.related .grid{margin-top:48px}
.pdp-advice{padding:clamp(100px,11vw,170px) 0;background:var(--warm);color:var(--dark);--fg:var(--dark);--bg:var(--warm);--hair:rgba(17,17,16,.18)}
.pdp-advice .wrap{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:36px var(--gut);align-items:end}
.pdp-advice .d{grid-column:1/8;font-size:clamp(40px,4.4vw,78px);line-height:.98}
.advice-act{grid-column:8/13;display:grid;gap:18px;justify-items:start}
@media (max-width:959px){
  .pdp-media,.pdp-info,.story-in>.mono,.story-body,.pdp-advice .d,.advice-act{grid-column:1/-1}
  .pdp-media{position:relative;top:0;margin:0 calc(-1*var(--gut))}
  .pdp-house{margin-top:4px}
}
@media (max-width:759px){.pdp-name{font-size:clamp(44px,12vw,60px)}.pdp{padding-top:var(--hd)}.pdp-grid{row-gap:24px}}

/* ---------- legal / 404 ---------- */
.doc{padding:calc(var(--hd) + clamp(56px,8vw,120px)) 0 clamp(96px,10vw,160px)}
.doc .title{font-family:var(--disp);font-size:clamp(40px,5vw,88px);line-height:.98;letter-spacing:-.03em;max-width:16ch}
.doc .title em{font-style:normal}
.doc-body{max-width:68ch;margin-top:56px;display:grid;gap:18px;font-size:16px}
.doc-body h2{font-family:var(--disp);font-size:28px;line-height:1.1;margin-top:30px}
.doc-body mark{background:rgba(233,190,92,.18);color:inherit;padding:0 4px}
.doc-warn{border-left:2px solid var(--gold);padding:14px 18px;font-size:14px}
.doc .label{font-family:var(--mono);font-size:13px}
.doc .label .n{margin-right:12px}

/* ---------- reduced motion ---------- */
/* no pinned showcase when motion is reduced: the fragrances follow one another */
@media (prefers-reduced-motion:reduce) and (min-width:960px){
  .show{height:auto;padding:clamp(110px,12vw,180px) 0 40px}
  .show-stick{position:static;height:auto;overflow:visible}
  .show-in{height:auto}
  .show-items{display:grid;gap:clamp(96px,10vw,160px)}
  .sh{position:relative;inset:auto;opacity:1;visibility:visible;min-height:80vh}
  .show-nav{display:none}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .drawer-panel{transform:none!important}
  .ft-logo-wrap{clip-path:none;transform:none}
  .io .fb .fb-liq{height:76%}
  @view-transition{navigation:none}
}

/* =====================================================================
   V6 — colour, hierarchy, motion (27/09/2026)
   80–90 % ivory and black. The colour comes from one signature, saffron on dark grounds, amber on
   light ones, used rarely. Bordeaux is kept for the manifesto.
   ===================================================================== */
:root{
  --saf:#E1A93A; --amb:#8C5410;
  --acc:var(--saf);
}
.paper,.talk,.drawer-panel,.pdp-advice{--acc:var(--amb)}

/* ---------- words and phrases ---------- */
.k{color:var(--acc)}
.d em,.lines em,.ft-phrase em,.talk-h em,.fmt-h em{font-style:italic}
.fmt-h em{color:var(--amb)}
.ft-phrase em{color:var(--saf)}
.link:hover,.link:focus-visible{color:var(--acc)}
.link .ar{display:inline-block}
.ft .ar,.ft-nav a:hover,.ft-legal a:hover{color:var(--saf)}
/* titles drift a few pixels as the page moves */
[data-drift]{transform:translate3d(0,var(--dy,0px),0);will-change:transform}

/* ---------- hero: the bottles move at their own pace ---------- */
.vit-b picture{transform:translate3d(0,var(--py,0px),0) scale(var(--ps,1));transform-origin:50% 100%;will-change:transform}

/* ---------- the logo as a backdrop, cut by the edges ---------- */
.wm-box{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.wm{position:absolute;left:-16vw;width:132vw;transform:translate3d(var(--wx,0px),0,0)}
.wm svg{display:block;width:100%;height:auto}
.wm-bord{top:34%}
.wm-ivory{bottom:-4vw;color:var(--paper);opacity:.045}
.man>.wrap,.idx>.wrap{position:relative;z-index:1}

/* ---------- manifesto: a second voice, word by word ---------- */
.man-say{max-width:24ch;margin:clamp(64px,7vw,120px) 0 0 auto;font-family:var(--disp);font-size:clamp(28px,2.8vw,50px);line-height:1.08;letter-spacing:-.025em;text-wrap:balance}
.man-say em{display:inline;font-style:italic}
.io .words .w{display:inline-block;opacity:0;transform:translateY(.28em);transition:opacity 1s var(--ease),transform 1.2s var(--out);transition-delay:calc(var(--i,0) * 120ms + 150ms)}
.io .words.in .w{opacity:1;transform:none}
.st:nth-child(3) b{color:var(--amb)}
@media (max-width:759px){.man-say{margin-left:0}}

/* ---------- selection: the signature marks the notes and the active name ---------- */
.sh-notes .mono{color:var(--saf)}
.show-nav button[aria-current="true"]{color:var(--saf)}
.sh-price{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin-top:28px}
.sh-price b{font-family:var(--disp);font-weight:400;font-size:clamp(44px,4vw,72px);line-height:.9;letter-spacing:-.04em}
.sh-price .mono{font-size:13px}

/* ---------- formats: light ground, saffron, the figures huge ---------- */
.fmt.paper{background:var(--paper)}
.fmt-stage{--bh:clamp(130px,24vh,250px);height:auto;align-items:flex-end;padding-top:20px}
.fb{position:relative;gap:0;padding-bottom:14px}
.fb-n{font-family:var(--disp);font-size:clamp(56px,6.6vw,124px);line-height:.8;letter-spacing:-.05em;transition:color .5s var(--ease),transform .6s var(--out)}
.fb-b{height:calc(var(--h) * var(--bh));width:calc(var(--h) * var(--bh) * .42);margin-top:calc(var(--h) * var(--bh) * .13 + 10px);z-index:1;border-color:rgba(17,17,16,.6);background:rgba(242,239,233,.6)}
.fb-cap{border-color:rgba(17,17,16,.6);background:#9C7A2E}
.fb-liq{background:rgba(214,160,46,.72)}
.fb-ml{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%)}
.fb-role{margin-top:12px;font-size:14px}
.fb[aria-checked="true"] .fb-n{color:var(--amb);transform:translateY(-6px)}
.fb[aria-checked="true"] .fb-b{border-color:var(--dark);transform:none}
.fb[aria-checked="true"] .fb-role{text-decoration:underline;text-underline-offset:5px;text-decoration-color:var(--amb)}
.fb[aria-checked="false"] .fb-b{opacity:.55}
.fb:hover .fb-n{transform:translateY(-4px)}
.fmt-detail{gap:6px}
.fd-p{font-family:var(--disp);font-size:clamp(84px,8vw,150px);line-height:.8;letter-spacing:-.05em;color:var(--amb)}
.fd-p .mono{font-size:13px;letter-spacing:.01em;margin-right:12px;vertical-align:.9em;color:var(--dark)}
.fd-kind{margin-top:16px;font-family:var(--mono);font-size:13px}
.fd-d{margin-top:4px}
.fmt .proof b{color:var(--dark)}

/* ---------- houses: the line comes alive in saffron ---------- */
.idx-head{flex-direction:row-reverse}
.idx-head .lead{text-align:left}
.h-row{position:relative;transition:border-color .3s var(--ease)}
.h-name{transition:font-size .45s var(--out),opacity .3s var(--ease),color .3s var(--ease),transform .45s var(--out)}
.h-go{align-self:center;margin-left:14px;font-size:22px;opacity:0;transform:translateX(-10px);transition:opacity .25s var(--ease),transform .35s var(--out)}
@media (hover:hover) and (pointer:fine){
  .h-row.cur{border-top-color:var(--saf)}
  .h-row.cur .h-name{color:var(--saf);transform:translateX(10px)}
  .h-row.cur .h-go{opacity:1;transform:none;color:var(--saf)}
}
@media (max-width:959px){.idx-head{flex-direction:column;align-items:flex-start}.h-go{display:none}}

/* ---------- collection: ivory, amber on hover ---------- */
.cat.paper .ctrl select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='9' height='6'%3E%3Cpath d='M.5 .5l4 4 4-4' fill='none' stroke='%23111110'/%3E%3C/svg%3E")}
.paper .ctrl select option{background:var(--paper);color:var(--dark)}
.paper .ctrl input[type=search]::-webkit-search-cancel-button{filter:none}
.paper .dd-list{background:var(--paper);border-color:var(--hair);scrollbar-color:rgba(17,17,16,.3) transparent;box-shadow:0 1px 0 var(--hair)}
.paper .dd-opt.act{background:rgba(17,17,16,.06)}
.paper .dd-opt[aria-selected="true"]::before{background:var(--amb)}
.paper .card-media{background:var(--paper-2)}
.card.is-cut .card-media{background:var(--paper-2)}
.card-media::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--acc);transform:scaleX(0);transform-origin:left;transition:transform .45s var(--out)}
.card:hover .card-media::after,.card:focus-visible .card-media::after{transform:scaleX(1)}
.card-house{transition:color .3s var(--ease)}
.card:hover .card-house,.card:hover .card-go{color:var(--acc)}
.card-go .ar{transition:transform .25s var(--ease)}
.card:hover .card-go .ar{transform:translateX(4px)}
.card-price{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px;margin-top:8px}
.card-price b{font-family:var(--disp);font-weight:400;font-size:clamp(24px,1.8vw,30px);line-height:1;letter-spacing:-.03em}
.card-price .mono{font-size:12.5px}
.best.paper{background:var(--paper)}

/* ---------- authenticity: dark, centred ---------- */
.auth-head{display:grid;justify-items:center;text-align:center}
.auth-head .d,.auth-head .lead{grid-column:1/-1}
.auth-head .lead{max-width:40ch}
.doc-i figure{background:var(--ink-2)}
.figs b{color:var(--paper)}
.figs>span:first-child b{color:var(--saf)}

/* ---------- advice, shipping: other placements ---------- */
.ship-h{text-align:right}
.ship .flow li:first-child{padding-top:16px}

/* ---------- product page ---------- */
.pdp .notes dt{color:var(--saf)}
.size[aria-checked="true"]::before{background:var(--saf)}
.pdp-big{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 16px;margin-top:22px}
.pdp-big b{font-family:var(--disp);font-weight:400;font-size:clamp(56px,5vw,92px);line-height:.85;letter-spacing:-.045em}
.pdp-big .pdp-spray{margin-top:0}

@media (prefers-reduced-motion:reduce){
  [data-drift],.vit-b picture,.wm{transform:none!important}
  .io .words .w{opacity:1;transform:none}
}

/* =====================================================================
   V9 — the fonts of sayhar.fr (27/09/2026, user's choice)
   Instrument Sans: titles, names, figures and navigation, in capitals, medium weight.
   Poppins: text and data. Bricolage Grotesque: buttons and small labels, spaced capitals.
   ===================================================================== */
:root{
  --disp:"Instrument Sans","Helvetica Neue",Arial,sans-serif;
  --text:"Poppins","Helvetica Neue",Arial,sans-serif;
  --mono:"Poppins","Helvetica Neue",Arial,sans-serif;
  --tag:"Bricolage Grotesque","Helvetica Neue",Arial,sans-serif;
}
body{font:400 15px/1.7 var(--text)}
.wm-bord{color:var(--dark);opacity:.045}

/* ---------- titles and names: Instrument Sans, capitals ---------- */
.d,.vit-h,.man-h,.talk-h,.fmt-h,.cat-head .d,.idx-h,.best-h,.auth-head .d,.vitrine-h,.ship-h,.sh-name,.pdp-name,.card-name,.h-name,
.c-name,.drawer-title,.rel-h,.pdp-advice .d,.doc .title,.doc-body h2,.flow h3,.doc-i h3,.ft-phrase,.menu nav a,.empty strong,
.drawer-empty-t,.talk-lead{font-family:var(--disp);font-weight:500;font-style:normal;text-transform:uppercase;letter-spacing:-.01em}
.man-h em,.talk-h em,.fmt-h em,.ft-phrase em{font-family:var(--disp);font-style:italic;font-weight:400;font-size:1em;line-height:inherit;letter-spacing:-.01em}
.vit-h{font-size:clamp(22px,2vw,34px);line-height:1.1;max-width:14ch}
.vit-h .k{font-weight:600}
.man-h,.talk-h{font-size:clamp(36px,5.2vw,92px);line-height:.98}
.fmt-h{font-size:clamp(28px,3vw,52px);line-height:1}
.cat-head .d{font-size:clamp(40px,5.4vw,96px);line-height:.95}
.idx-h,.best-h,.auth-head .d{font-size:clamp(32px,3.6vw,62px);line-height:1}
.vitrine-h{font-size:clamp(26px,2.4vw,40px);line-height:1.05}
.ship-h{font-size:clamp(34px,4vw,72px);line-height:1}
.sh-name{font-size:clamp(40px,4.4vw,80px);line-height:.95}
.pdp-name{font-size:clamp(40px,4vw,74px);line-height:.95}
.card-name{font-size:clamp(17px,1.35vw,21px);line-height:1.2}
.card.wide .card-name{font-size:clamp(28px,2.8vw,48px);line-height:1}
.h-name{font-size:clamp(22px,2.2vw,36px);line-height:1.15;transition:font-size .45s var(--out),opacity .3s var(--ease),color .3s var(--ease),transform .45s var(--out)}
@media (hover:hover) and (pointer:fine){.h-row.cur .h-name{font-weight:600;font-style:normal;font-size:clamp(34px,3.8vw,68px)}}
.c-name{font-size:17px;line-height:1.2}
.drawer-title{font-size:26px}
.drawer-empty-t{font-size:24px;line-height:1.1}
.rel-h{font-size:clamp(26px,2.6vw,44px)}
.pdp-advice .d{font-size:clamp(32px,3.6vw,60px);line-height:1}
.doc .title{font-size:clamp(32px,4vw,68px);line-height:1}
.doc-body h2{font-size:20px}
.flow h3{font-size:clamp(20px,1.7vw,26px)}
.doc-i h3{font-size:clamp(18px,1.5vw,22px);line-height:1.2}
.ft-phrase{font-size:clamp(20px,1.9vw,30px);line-height:1.15}
.menu nav a{font-size:clamp(28px,8vw,42px);line-height:1.2}
.empty strong{font-size:clamp(26px,2.6vw,40px)}
.talk-lead{font-size:18px}
/* sentences keep their lower case */
.story-h{font-family:var(--disp);font-weight:500;font-style:normal;text-transform:none;font-size:clamp(28px,2.8vw,46px);line-height:1.1;letter-spacing:-.02em}
.man-say{font-family:var(--text);font-weight:300;font-size:clamp(20px,2vw,34px);line-height:1.35;letter-spacing:-.01em}
.man-say em{font-family:var(--text);font-weight:300;font-style:italic}
.pdp-short{font-family:var(--text);font-weight:300;font-style:normal;font-size:clamp(18px,1.4vw,21px);line-height:1.5;letter-spacing:0}
.fd-d{font-family:var(--text);font-weight:400;font-style:normal;font-size:18px;line-height:1.4;letter-spacing:0}

/* ---------- figures and prices: Instrument Sans ---------- */
.st b,.fb-n,.fd-p,.proof b,.sh-price b,.card-price b,.pdp-big b,.figs b{font-family:var(--disp);font-style:normal;font-variant-numeric:tabular-nums;letter-spacing:-.03em}
.st b{font-weight:400;font-size:clamp(84px,11vw,190px)}
.st:nth-child(2) b,.st:nth-child(3) b{font-size:clamp(50px,5.8vw,100px)}
.st:nth-child(3) b{font-weight:500}
.fb-n{font-weight:400;font-size:clamp(48px,5.6vw,108px)}
.fd-p{font-weight:500;font-size:clamp(68px,6.4vw,120px)}
.proof b{font-weight:400;font-size:clamp(32px,2.8vw,48px)}
.sh-price b{font-weight:500;font-size:clamp(36px,3.2vw,56px)}
.card-price b{font-weight:600;font-size:clamp(18px,1.4vw,22px);letter-spacing:-.01em}
.pdp-big b{font-weight:500;font-size:clamp(46px,4.2vw,76px)}
.figs b{font-weight:400;font-size:clamp(42px,3.6vw,64px)}

/* ---------- navigation and links: Instrument Sans capitals, like the menu of the reference ---------- */
.hd-nav a,.hd-cart,.hd-snap,.link,.back,.show-nav button,.ft-nav a,.ft-legal a,.c-rm,.lang{font-family:var(--disp);font-weight:400;text-transform:uppercase;letter-spacing:-.02em;font-size:14px}
.hd-count{font-family:var(--disp);font-size:13px}
/* ---------- buttons and small labels: Bricolage Grotesque, spaced capitals ---------- */
.btn,.buy .t,.card-go,.fams button,.ctrl-l,.notes dt,.tr-row dt,.fb-role,.flow-n,.doc-cap,.card-house,.sh-house,.c-house,.pdp-house,.show-count,.tr-fam a{font-family:var(--tag);font-weight:500;text-transform:uppercase;letter-spacing:.12em;font-size:11px}
.btn{font-size:11.5px;letter-spacing:.14em}
.buy .t{font-size:12px;letter-spacing:.12em}
.card-house,.sh-house,.pdp-house{font-size:10.5px}
/* ---------- data: Poppins ---------- */
.mono,.num,.fd-n,.fd-kind,.c-meta,.ctrl-state p,.ship-svc,.proof-cap,.ft-copy,.h-items,.pdp-spray,.size,.mbar-info b,.mbar-info span,.c-qty span,.drawer-total b,.card-price .mono,.sh-price .mono{font-family:var(--text);font-weight:400;letter-spacing:0;font-variant-numeric:tabular-nums}
.lead,.note,.talk-qs,.talk-sub,.flow p,.why,.doc-i p,.card-notes,.notes dd,.pdp-accords{font-family:var(--text);font-weight:400}
.ctrl input,.dd-btn,.dd-opt{font-family:var(--text)}

/* ---------- sort by olfactive family ---------- */
.fams{display:flex;flex-wrap:wrap;gap:4px 26px;margin-top:clamp(36px,4vw,56px)}
.fams button{position:relative;min-height:44px;font-size:12px;letter-spacing:.14em;transition:color .2s var(--ease)}
.fams sup{margin-left:4px;font-family:var(--text);font-size:10px;letter-spacing:0;vertical-align:.6em}
.fams button::after{content:"";position:absolute;left:0;right:0;bottom:10px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}
.fams button:hover::after,.fams button[aria-pressed="true"]::after{transform:scaleX(1)}
.fams button[aria-pressed="true"]{color:var(--acc)}
.fams+.ctrl{margin-top:18px}

/* ---------- product page: families, projection, sillage, longevity ---------- */
.traits dl{display:grid;gap:10px}
.tr-row{display:grid;grid-template-columns:104px minmax(0,1fr);gap:14px;align-items:center;min-height:28px}
.tr-row dd{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;font-size:14.5px}
.gauge{display:inline-flex;gap:4px}
.gauge i{display:block;width:22px;height:3px;background:rgba(242,239,233,.22)}
.gauge i.on{background:var(--saf)}
.tr-fam{gap:6px 18px}
.tr-fam a{position:relative;font-size:11.5px;padding:6px 0}
.tr-fam a::after{content:"";position:absolute;left:0;right:0;bottom:3px;height:1px;background:currentColor}
.tr-fam a:hover{color:var(--saf)}
.tr-note{margin-top:14px;font-size:12.5px}

@media (max-width:759px){
  .man-h,.talk-h{font-size:clamp(30px,8.8vw,44px)}
  .st b{font-size:clamp(68px,20vw,100px)}
  .st:nth-child(2) b,.st:nth-child(3) b{font-size:clamp(40px,11vw,54px)}
  .sh-name,.pdp-name{font-size:clamp(34px,10vw,50px)}
  .fd-p{font-size:68px}
  .cat-head .d{font-size:clamp(36px,10.5vw,50px)}
  .h-name{font-size:clamp(20px,5.8vw,26px)}
  .fb-n{font-size:clamp(34px,9.6vw,54px)}
  .vit-h{font-size:clamp(20px,6vw,26px)}
  .card-name{font-size:15px}
  .card.wide .card-name{font-size:24px}
  .ship-h,.auth-head .d,.idx-h{font-size:clamp(28px,8.4vw,40px)}
  .fams{gap:0 20px}
  .tr-row{grid-template-columns:92px minmax(0,1fr)}
}
.pdp-house.mono,.sh-house.mono,.sh-notes .mono{font-family:var(--tag);font-weight:500;text-transform:uppercase;letter-spacing:.12em;font-size:10.5px}

/* =====================================================================
   V10 — /parfums, /marques, and a lighter home page (27/09/2026)
   ===================================================================== */
.page{min-height:100vh;padding-top:calc(var(--hd) + clamp(28px,4vw,56px))}
.page>.cat,.page>.brands{padding-top:0}
.crumb{display:flex;gap:10px;margin-bottom:clamp(20px,2.4vw,36px);font-family:var(--tag);font-weight:500;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase}
.crumb a{text-decoration:underline;text-underline-offset:4px}
/* families on the photo of each card */
.card-fam{position:absolute;right:10px;bottom:10px;z-index:1;padding:5px 9px;background:rgba(242,239,233,.92);color:var(--dark);font-family:var(--text);font-size:11.5px;line-height:1.2}
/* /parfums: an even grid of four, like a shop */
[data-page="catalog"] .cat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(48px,4.4vw,72px) clamp(16px,1.8vw,28px)}
[data-page="catalog"] .cat-grid .card:nth-child(n){margin-top:0}
@media (max-width:1099px){[data-page="catalog"] .cat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:759px){[data-page="catalog"] .cat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 14px}}
/* home: a few collections */
.rails{padding:clamp(110px,12vw,190px) 0 clamp(120px,13vw,200px)}
.rails .cat-head{align-items:flex-end}
.rail{margin-top:clamp(64px,7vw,110px)}
.rail-head{display:flex;align-items:baseline;justify-content:space-between;gap:20px;padding-top:14px;border-top:1px solid var(--hair)}
.rail-h{font-family:var(--disp);font-weight:500;text-transform:uppercase;letter-spacing:-.01em;font-size:clamp(22px,2vw,32px)}
.rail-head sup{margin-left:4px;font-family:var(--text);font-size:10px;letter-spacing:0}
.rail-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:40px clamp(16px,1.8vw,28px);margin-top:24px}
@media (max-width:1099px){.rail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:759px){.rail-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0 var(--gut);gap:14px;margin:20px calc(-1*var(--gut)) 0;padding:0 var(--gut);scrollbar-width:none}.rail-grid::-webkit-scrollbar{display:none}.rail-grid .card{flex:0 0 62%;scroll-snap-align:start}}
/* /marques: search, initials, the houses letter by letter */
.brands{padding-bottom:clamp(110px,12vw,180px)}
.brands .cat-head{align-items:flex-end}
.b-search{display:block;margin-top:clamp(36px,4vw,56px)}
.b-search input{width:100%;min-height:52px;padding:0 20px;background:transparent;border:1px solid var(--hair);border-radius:0;font:400 16px/1.4 var(--text);-webkit-appearance:none;appearance:none}
.b-search input::placeholder{color:currentColor;opacity:1}
.b-search input:focus{outline:none;border-color:currentColor}
.az{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 10px;margin-top:22px;padding:14px 0;border-top:1px solid var(--hair);border-bottom:1px solid var(--hair)}
.az a,.az span{display:inline-flex;align-items:center;justify-content:center;min-width:28px;min-height:36px;font-family:var(--disp);font-weight:500;font-size:14px}
.az a{text-decoration:underline;text-decoration-color:transparent;text-underline-offset:5px;transition:color .2s var(--ease),text-decoration-color .2s var(--ease)}
.az a:hover{color:var(--acc);text-decoration-color:currentColor}
.az span.off{opacity:.3}
.b-group{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,9fr);column-gap:var(--gut);padding:clamp(28px,3vw,44px) 0;border-bottom:1px solid var(--hair);scroll-margin-top:calc(var(--hd) + 20px)}
.b-letter{font-family:var(--disp);font-weight:500;font-size:clamp(56px,6vw,104px);line-height:.85}
.b-names{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px var(--gut);align-content:start;padding-top:6px}
.b-names a{position:relative;font-family:var(--disp);font-weight:500;text-transform:uppercase;font-size:14.5px;letter-spacing:-.01em;transition:color .2s var(--ease)}
.b-names a:hover{color:var(--acc)}
.b-names sup{margin-left:4px;font-family:var(--text);font-size:10px}
.b-empty{padding:40px 0}
@media (max-width:759px){.b-group{grid-template-columns:1fr;row-gap:14px}.b-names{grid-template-columns:1fr 1fr}.az{justify-content:flex-start}}
/* /marques with the houses' logos: one tile per house, the logo centred, all logos at the same visual weight */
.b-names{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px clamp(14px,1.6vw,24px);padding-top:0}
.b-card{display:grid;gap:12px;align-content:start;transition:color .2s var(--ease)}
.b-box{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:2/1;background:var(--paper-2);transition:background-color .3s var(--ease)}
.b-logo{display:block;height:var(--hp);aspect-ratio:var(--r);max-width:84%;background:currentColor;
  -webkit-mask:var(--l) center/contain no-repeat;mask:var(--l) center/contain no-repeat;transition:transform .45s var(--out)}
.b-word{padding:0 12%;text-align:center;font-family:var(--disp);font-weight:500;text-transform:uppercase;font-size:clamp(16px,1.4vw,21px);line-height:1.1;letter-spacing:-.01em}
.b-cap{font-family:var(--tag);font-weight:500;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase}
.b-cap sup{margin-left:4px;font-family:var(--text);letter-spacing:0}
.b-card:hover{color:var(--acc)}
.b-card:hover .b-box{background:#E2DBCF}
.b-card:hover .b-logo{transform:scale(1.04)}
@media (max-width:759px){.b-names{grid-template-columns:1fr 1fr;gap:20px 12px}}

/* =====================================================================
   V11 — a continuous opening, an immersive footer (27/09/2026)
   ===================================================================== */
/* opening: the logo rises, the bottles follow from the back to the front, then the header and the words */
.vit-stage,.intro-on .vit-stage{opacity:1;transform:translateX(-50%);transition:none}
.vit-b{transition:opacity 1.4s var(--ease) calc(var(--d,0) * 160ms),transform 2s var(--out) calc(var(--d,0) * 160ms)}
.intro-on .vit-b{opacity:0;transform:translate3d(0,70px,0)}
.intro-on .brand svg,.intro-on .vit-slot svg{animation:introLogo 1.3s var(--out) both}
.hd{transition:background-color .5s var(--ease),color .5s var(--ease),opacity 1s var(--ease) .55s}
.vit-foot{transition:opacity 1.2s var(--ease) .75s}
@media (max-width:959px){.vit-stage,.intro-on .vit-stage{transform:none}}

/* footer: the page pauses on the logo while it rebuilds itself */
.ft-sign{display:block;height:320vh;padding:0}
.ft-stage{position:sticky;top:0;height:100vh;display:grid;align-content:center;gap:clamp(28px,3.4vw,52px);padding:calc(var(--hd) + 10px) 0 24px}
.ft-logo-wrap{clip-path:inset(calc((1 - var(--fp,1)) * 100%) 0 0 0);opacity:calc(.25 + var(--fp,1) * .75);transform:translate3d(0,calc((1 - var(--fp,1)) * 120px),0) scale(calc(.9 + var(--fp,1) * .1));transform-origin:50% 100%;will-change:clip-path,transform}
.ft-sign-row{opacity:var(--fr,1);transform:translate3d(0,calc((1 - var(--fr,1)) * 24px),0)}
@media (max-width:759px){.ft-sign{height:250vh}}
@media (prefers-reduced-motion:reduce){
  .ft-sign{height:auto}
  .ft-stage{position:static;height:auto;padding:clamp(120px,14vw,220px) 0 clamp(56px,6vw,96px)}
  .ft-logo-wrap,.ft-sign-row{clip-path:none;transform:none;opacity:1}
  .intro-on .vit-b{opacity:1;transform:none}
}
.b-names li,.b-card{min-width:0}
.b-box{width:100%;min-width:0;overflow:hidden}
.b-logo{max-height:72%;flex:none}
/* the number of sprays, framed */
.spray{display:inline-flex;align-items:center;gap:9px;padding:9px 15px 9px 12px;border:1px solid var(--acc);font-family:var(--text);font-weight:500;font-size:14px;line-height:1.2;letter-spacing:.01em;white-space:nowrap;vertical-align:middle}
.spray svg{width:17px;height:17px;flex:none;color:var(--acc)}
.fd-n{margin-top:6px}
.pdp-spray{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}

/* =====================================================================
   V12 — /trouver-mon-parfum: four questions, one at a time, then a selection
   ===================================================================== */
.mm-app{min-height:72vh;padding:clamp(28px,4vw,64px) 0 clamp(110px,11vw,170px)}
.mm-h{font-family:var(--disp);font-weight:500;text-transform:uppercase;font-size:clamp(44px,6.4vw,112px);line-height:.95;letter-spacing:-.01em}
.mm-lead{max-width:44ch;margin:28px 0 40px;font-weight:300;font-size:clamp(17px,1.4vw,20px);line-height:1.55}
.mm-count{font-family:var(--tag);font-weight:500;font-size:11px;letter-spacing:.14em;color:var(--saf)}
.mm-q{margin-top:16px;font-family:var(--disp);font-weight:500;text-transform:uppercase;font-size:clamp(32px,4.2vw,72px);line-height:1;letter-spacing:-.01em}
.mm-q:focus,.mm-h:focus{outline:none}
.mm-sub{margin-top:14px;font-size:15px}
.mm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;margin-top:clamp(32px,4vw,52px)}
.mm-grid.notes{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}
.mm-opt{display:grid;align-content:center;gap:6px;min-height:84px;padding:18px 22px;text-align:left;border:1px solid var(--hair);transition:background-color .2s var(--ease),color .2s var(--ease),border-color .2s var(--ease),transform .12s var(--ease)}
.mm-opt:hover{border-color:currentColor}
.mm-opt:active{transform:scale(.985)}
.mm-opt[aria-pressed="true"]{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.mm-opt-t{font-family:var(--disp);font-weight:500;text-transform:uppercase;font-size:17px;line-height:1.15}
.mm-opt-s{font-size:13.5px;line-height:1.4}
.mm-nav{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:clamp(36px,4vw,56px)}
.btn[disabled]{opacity:.35;pointer-events:none}
.mm-res-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 40px}
.mm-sum{font-size:14px;max-width:60ch}
.mm-grid-res{grid-template-columns:repeat(3,minmax(0,1fr));gap:48px clamp(16px,1.8vw,28px);margin-top:clamp(36px,4vw,56px)}
.mm-card{position:relative}
.mm-pct{position:absolute;left:10px;top:10px;z-index:2;display:inline-flex;align-items:baseline;gap:6px;padding:6px 10px;background:var(--saf);color:var(--ink);font-family:var(--tag);font-weight:500;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase}
.mm-pct b{font-family:var(--disp);font-weight:600;font-size:15px;letter-spacing:0}
.mm-why{margin-top:10px;padding-top:10px;border-top:1px solid var(--hair);font-size:13px;line-height:1.5}
.mm-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 32px;margin-top:clamp(48px,5vw,72px)}
@media (max-width:959px){.mm-grid-res{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:759px){.mm-grid,.mm-grid.notes{grid-template-columns:1fr 1fr;gap:8px}.mm-opt{min-height:68px;padding:14px 14px}.mm-opt-t{font-size:14px}.mm-grid-res{gap:36px 12px}}
.mm-pct{white-space:nowrap}
@media (max-width:759px){.mm-pct-l{display:none}}

/* matchmaker icons: one line style for every choice */
.mm-opt{grid-template-columns:auto minmax(0,1fr);column-gap:14px;align-items:center}
.mm-opt .mm-opt-t,.mm-opt .mm-opt-s{grid-column:2}
.mm-ico{grid-row:1/span 2;width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round;color:var(--saf);transition:color .2s var(--ease),transform .35s var(--out)}
.mm-opt:hover .mm-ico{transform:scale(1.08)}
.mm-opt[aria-pressed="true"] .mm-ico{color:var(--amb)}
@media (max-width:759px){.mm-ico{width:24px;height:24px}.mm-opt{column-gap:10px}}
/* official packshots: the bottle cut out on a light tile, for every card that has one */
.card.is-cut .card-media{aspect-ratio:1/1;display:flex;align-items:flex-end;justify-content:center;padding:8% 0 7%;background:var(--paper-2)}
.card.wide.is-cut .card-media{aspect-ratio:4/3}
.card-cut{display:block;height:100%}
.card-cut img{height:100%;width:auto;max-width:none;filter:none!important;transform:none!important;transition:transform .9s var(--out)!important}
.card.is-cut:hover .card-cut img{transform:translateY(-6px) scale(1.02)!important}
/* the collections section sits on the dark ground now (the houses index left the home page) */
.rails{background:var(--ink)}
.rails .card-name,.rails .card-price b{color:var(--paper)}
.auth.paper .figs b{color:var(--dark)}
.auth.paper .figs>span:first-child b{color:var(--amb)}
.auth.paper .doc-i figure{background:var(--paper-2)}

/* the hero holds still while the logo travels to the header (wide screens, motion allowed) */
@media (min-width:960px){.brand-live .vit-pin{height:195vh}.brand-live .vit-pin>.vit{position:sticky;top:0;height:100vh;min-height:0}}
