:root { --fe-paper:#f4f2ed; --fe-ink:#24221f; --fe-muted:#706b63; --fe-rule:#c9c5bd; --fe-wine:#482726; --fe-gap:clamp(1.25rem,4.3vw,5rem); --fe-ease:cubic-bezier(.22,.68,0,1.02); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--fe-paper); color:var(--fe-ink); font-family:"Jost",sans-serif; font-size:16px; line-height:1.5; -webkit-font-smoothing:antialiased; }
body:has(.fe-menu[open]) { overflow:hidden; }
a { color:inherit; text-underline-offset:.35em; }
button,input { font:inherit; }
button,a { -webkit-tap-highlight-color:transparent; }
button { color:inherit; cursor:pointer; }
button:focus-visible,a:focus-visible,input:focus-visible { outline:2px solid currentColor; outline-offset:5px; }
img { display:block; width:100%; max-width:100%; height:auto; }
h1,h2,h3,p,figure { margin:0; }
h1,h2,h3 { font-weight:400; letter-spacing:-.06em; line-height:1; text-wrap:balance; }
em { font-family:"Cormorant Garamond",Georgia,serif; font-weight:400; letter-spacing:-.035em; }
[hidden] { display:none!important; }
.fe-skip { position:fixed; left:1rem; top:1rem; z-index:8; background:var(--fe-paper); padding:1rem; transform:translateY(-200%); }
.fe-skip:focus { transform:none; }
.fe-container { width:min(100%,1560px); padding-inline:var(--fe-gap); margin-inline:auto; }
.fe-label { font-size:.66rem; font-weight:450; text-transform:uppercase; letter-spacing:.12em; line-height:1.5; }
.fe-note { font-size:.7rem; line-height:1.6; color:var(--fe-muted); }
.fe-header { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; position:absolute; top:0; left:0; right:0; z-index:3; gap:1.5rem; padding:1.2rem 1.9rem; color:#fff; font-size:.7rem; letter-spacing:.02em; }
.fe-header__start,.fe-header__end { display:flex; align-items:center; gap:1.8rem; }
.fe-header__end { justify-content:flex-end; }
.fe-header a { text-decoration:none; }
.fe-header a:hover { text-decoration:underline; }
.fe-header__place { font-size:.61rem; letter-spacing:.14em; text-transform:uppercase; }
.fe-menu-toggle { display:flex; gap:.65rem; align-items:center; padding:.5rem 0; border:0; background:none; min-height:44px; font-size:inherit; }
.fe-menu-lines { width:16px; height:7px; border-block:1px solid currentColor; }
.fe-header__book { background:var(--fe-paper); color:var(--fe-ink); padding:.6rem .6rem .6rem 1rem; border-radius:30px; display:flex; gap:1.25rem; align-items:center; }
.fe-header__book span { width:26px; height:26px; display:grid; place-items:center; background:#e3dfd6; border-radius:50%; }
.fe-cover { position:relative; height:max(690px, min(100svh,1100px)); background:#544d44; color:white; isolation:isolate; }
.fe-cover__diptych { position:absolute; inset:0; display:grid; grid-template-columns:1fr 1fr; gap:4px; z-index:-2; overflow:hidden; }
.fe-cover__diptych img { width:100%; height:100%; object-fit:cover; }
.fe-cover__city { object-position:50% 48%; }
.fe-cover__beauty { object-position:50% 42%; }
.fe-cover::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,#16131155,transparent 35%,transparent 58%,#16131166); pointer-events:none; }
.fe-cover__brand { position:absolute; top:6.5rem; left:50%; transform:translateX(-50%); width:clamp(270px,39vw,610px); }
.fe-cover__brand img { filter:brightness(0) invert(1); }
.fe-cover__editorial { position:absolute; bottom:2.5rem; left:var(--fe-gap); right:var(--fe-gap); }
.fe-cover h1 { font-size:clamp(4.2rem,10.3vw,10.5rem); letter-spacing:-.065em; font-weight:450; text-transform:uppercase; margin:1rem 0 1.7rem; line-height:.92; }
.fe-cover__bottom { display:flex; align-items:end; justify-content:space-between; gap:2rem; }
.fe-cover__bottom p { font-size:.71rem; text-align:right; }
.fe-light-link,.fe-text-link { display:inline-flex; align-items:center; justify-content:space-between; gap:3rem; min-height:44px; padding:.4rem 0; border-bottom:1px solid currentColor; text-decoration:none; font-size:.8rem; }
.fe-light-link span,.fe-text-link span { transition:transform .35s var(--fe-ease); font-size:1.2rem; }
.fe-light-link:hover span,.fe-text-link:hover span { transform:translate(3px,-3px); }
.fe-cover__number { position:absolute; top:50%; left:1.8rem; font-size:.61rem; letter-spacing:.1em; writing-mode:vertical-rl; }
.fe-concierge { display:grid; grid-template-columns:repeat(3,1fr); padding:0 var(--fe-gap); border-bottom:1px solid var(--fe-rule); }
.fe-concierge a { position:relative; display:grid; padding:1.6rem 1.8rem; border-left:1px solid var(--fe-rule); text-decoration:none; gap:.2rem; transition:background .4s var(--fe-ease); }
.fe-concierge a:first-child { border-left:0; padding-left:0; }
.fe-concierge a:last-child { padding-right:0; }
.fe-concierge a:hover { background:#eae6de; }
.fe-concierge span { font-size:.67rem; color:var(--fe-muted); }
.fe-concierge strong { font-size:.88rem; font-weight:450; padding-right:1rem; }
.fe-concierge i { position:absolute; right:1.8rem; top:50%; transform:translateY(-50%); font-size:1.3rem; font-style:normal; }
.fe-concierge a:last-child i { right:0; }
.fe-edit { padding-top:7rem; padding-bottom:5rem; scroll-margin-top:2rem; }
.fe-edit__intro { display:grid; grid-template-columns:1fr 2fr; gap:3rem; margin-bottom:4.5rem; }
.fe-edit__intro>.fe-label { padding-top:.55rem; }
.fe-edit h2 { font-size:clamp(3rem,5.5vw,6rem); text-transform:uppercase; font-weight:450; }
.fe-edit h2 span { color:var(--fe-wine); }
.fe-edit__intro div>p { max-width:39ch; margin:1.8rem 0 0; color:var(--fe-muted); font-size:.93rem; }
.fe-lookbook { display:grid; grid-template-columns:1.12fr .88fr; gap:clamp(2rem,6.5vw,7rem); align-items:start; }
.fe-look--small { margin-top:8rem; }
.fe-look__image { display:block; position:relative; overflow:hidden; background:#cec3b6; color:white; isolation:isolate; }
.fe-look__image img { aspect-ratio:4 / 4.6; object-fit:cover; transition:transform 900ms var(--fe-ease); }
.fe-look--small .fe-look__image img { aspect-ratio:4 / 4.5; object-position:50% 35%; }
.fe-look__image::after { content:""; position:absolute; inset:0; background:linear-gradient(transparent 75%,#16131140); z-index:0; }
.fe-look__image:hover img { transform:scale(1.035); }
.fe-image-index { position:absolute; z-index:1; left:1.3rem; bottom:1.5rem; font-size:.67rem; letter-spacing:.07em; text-transform:uppercase; }
.fe-image-action { position:absolute; z-index:1; right:1rem; bottom:1rem; border:1px solid #ffffff99; border-radius:50%; width:38px; height:38px; display:grid; place-items:center; }
.fe-look__caption { display:flex; justify-content:space-between; align-items:end; gap:1rem; padding:1.3rem 0 0; }
.fe-look__caption .fe-label { color:var(--fe-muted); font-size:.6rem; margin-bottom:.4rem; }
.fe-look h3 { font-size:clamp(1.2rem,1.7vw,1.7rem); letter-spacing:-.03em; }
.fe-look__caption>a { font-size:.69rem; white-space:nowrap; }
.fe-look__note { font-family:"Cormorant Garamond",Georgia,serif; font-style:italic; font-size:2.1rem; line-height:1.1; max-width:16ch; margin:2.3rem 0 0; }
.fe-treatment-links { display:grid; grid-template-columns:repeat(4,1fr); gap:2rem; margin-top:4rem; }
.fe-treatment-links a { display:flex; justify-content:space-between; gap:1rem; font-size:.75rem; padding:1rem 0; border-bottom:1px solid var(--fe-rule); text-decoration:none; }
.fe-treatment-links a:hover { border-color:var(--fe-wine); color:var(--fe-wine); }
.fe-ritual { background:var(--fe-wine); color:var(--fe-paper); }
.fe-ritual__photo { position:relative; height:clamp(400px,55vw,770px); overflow:hidden; }
.fe-ritual__photo img { height:100%; object-fit:cover; object-position:center; }
.fe-ritual__photo>.fe-label { position:absolute; bottom:1.8rem; left:var(--fe-gap); padding:.4rem .65rem; background:var(--fe-paper); color:var(--fe-ink); font-size:.6rem; }
.fe-ritual__content { display:grid; grid-template-columns:1fr 1fr; gap:6rem; padding:4.5rem var(--fe-gap) 5rem; max-width:1560px; margin-inline:auto; }
.fe-ritual h2 { font-size:clamp(4.5rem,7vw,7.5rem); letter-spacing:-.055em; line-height:.86; margin-top:1.5rem; }
.fe-ritual h2 em { font-size:1.15em; }
.fe-ritual__copy { padding-top:.4rem; }
.fe-ritual__copy>p:not(.fe-note) { max-width:44ch; margin-bottom:1.2rem; font-size:.91rem; }
.fe-button { display:inline-flex; align-items:center; justify-content:space-between; gap:2.4rem; min-height:49px; border:1px solid currentColor; border-radius:40px; padding:.5rem .55rem .5rem 1.3rem; font-size:.75rem; text-decoration:none; }
.fe-button span { display:grid; place-items:center; width:32px; height:32px; border-radius:50%; background:#ffffff19; font-size:1.15rem; transition:transform .4s var(--fe-ease); }
.fe-button:hover span { transform:rotate(45deg); }
.fe-button:active { transform:scale(.98); }
.fe-ritual .fe-button { margin:.6rem 0 1.4rem; }
.fe-ritual__secondary { display:block; width:fit-content; font-size:.74rem; margin-bottom:1.5rem; }
.fe-ritual .fe-note { color:#d5c4bd; max-width:46ch; }
.fe-stories { display:grid; grid-template-columns:1.25fr .75fr; gap:7vw; align-items:center; padding-block:7rem; }
.fe-stories h2 { font-size:clamp(3rem,4.5vw,4.7rem); line-height:1.03; margin:2rem 0 2.5rem; letter-spacing:-.05em; }
.fe-stories h2 em { font-size:1.17em; line-height:.94; }
.fe-story { max-width:380px; }
.fe-story__photo { position:relative; display:block; overflow:hidden; }
.fe-story__photo img { aspect-ratio:4 / 5; object-fit:cover; object-position:center 25%; filter:grayscale(1); transition:transform 900ms var(--fe-ease); }
.fe-story__photo:hover img { transform:scale(1.025); }
.fe-story__photo>span { position:absolute; bottom:0; left:0; right:0; padding:.8rem 1rem; font-size:.73rem; color:white; background:#24221f99; }
.fe-story__caption h3 { font-size:1.3rem; letter-spacing:-.02em; margin:1.2rem 0 .3rem; }
.fe-story__caption p { color:var(--fe-muted); font-size:.76rem; }
.fe-story__caption small { display:block; color:var(--fe-muted); font-size:.62rem; line-height:1.5; margin-top:.6rem; }
.fe-results { --fe-muted:#665f56; background:#e7e3db; padding-block:5rem; scroll-margin-top:1rem; }
.fe-results__layout { display:grid; grid-template-columns:.8fr 1.2fr; gap:5vw; align-items:center; }
.fe-results h2 { font-size:clamp(2.6rem,3.6vw,4rem); margin:1.8rem 0; line-height:1.02; letter-spacing:-.045em; }
.fe-results h2 em { font-size:1.13em; }
.fe-results__copy>p:not(.fe-label) { font-size:.86rem; color:var(--fe-muted); margin-bottom:1rem; }
.fe-results__all { display:block; margin-top:1.5rem; font-size:.75rem; width:fit-content; }
.fe-case { min-width:0; }
.fe-case__controls { display:flex; gap:1.25rem; margin-bottom:.8rem; }
.fe-case__controls button { border:0; border-bottom:1px solid transparent; background:none; padding:.6rem 0; font-size:.68rem; color:var(--fe-muted); min-height:44px; }
.fe-case__controls button[aria-pressed="true"] { color:var(--fe-ink); border-bottom-color:var(--fe-ink); }
.fe-case__pair { display:grid; grid-template-columns:1fr 1fr; gap:.5rem; }
.fe-case__pair img { aspect-ratio:6 / 5; object-fit:cover; }
.fe-case__pair figcaption { margin-top:.5rem; font-size:.62rem; color:var(--fe-muted); }
.fe-case>.fe-note { font-size:.64rem; margin-top:1.25rem; max-width:68ch; }
.fe-case__slider { position:relative; aspect-ratio:6 / 5; overflow:hidden; --fe-position:50%; }
.fe-case__slider>img,.fe-case__before,.fe-case__before img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.fe-case__before { clip-path:inset(0 calc(100% - var(--fe-position)) 0 0); }
.fe-case__handle { position:absolute; left:var(--fe-position); top:50%; transform:translate(-50%,-50%); display:grid; place-items:center; width:40px; height:40px; border-radius:50%; color:var(--fe-ink); background:var(--fe-paper); }
.fe-case__handle::before { content:""; position:absolute; bottom:100%; width:1px; height:600px; background:var(--fe-paper); }
.fe-case__handle::after { content:""; position:absolute; top:100%; width:1px; height:600px; background:var(--fe-paper); }
.fe-case__slider input { position:absolute; inset:0; width:100%; height:100%; margin:0; opacity:0; cursor:ew-resize; }
.fe-case__slider:has(input:focus-visible) { outline:2px solid var(--fe-wine); outline-offset:5px; }
.fe-booking { display:grid; grid-template-columns:1fr 1fr; gap:8vw; padding-block:6.5rem; scroll-margin-top:1rem; }
.fe-booking h2 { font-size:clamp(3.5rem,5.8vw,6.3rem); line-height:.94; margin:1.6rem 0; }
.fe-booking__intro>p:not(.fe-label) { font-size:.84rem; color:var(--fe-muted); }
.fe-booking__paths>a { display:block; border-bottom:1px solid var(--fe-rule); padding:1.8rem 0; text-decoration:none; }
.fe-booking__paths>a:first-child { padding-top:.4rem; }
.fe-booking__paths small { display:block; text-transform:uppercase; letter-spacing:.09em; font-size:.63rem; margin-bottom:.75rem; color:var(--fe-muted); }
.fe-booking__paths span { display:flex; align-items:center; justify-content:space-between; gap:1rem; font-size:clamp(1.2rem,1.8vw,1.7rem); line-height:1.2; letter-spacing:-.035em; }
.fe-booking__paths i { font-style:normal; transition:transform .4s var(--fe-ease); }
.fe-booking__paths a:hover i { transform:translate(3px,-3px); }
.fe-booking__paths a>p { font-size:.78rem; color:var(--fe-muted); margin-top:.7rem; max-width:40ch; }
.fe-booking__paths>.fe-note { margin-top:1.4rem; max-width:52ch; }
.fe-footer { background:var(--fe-wine); color:var(--fe-paper); padding:2.5rem var(--fe-gap) 2rem; }
.fe-footer__top { display:flex; justify-content:space-between; align-items:center; gap:2rem; font-size:.7rem; }
.fe-footer__top>a { text-decoration:none; }
.fe-footer__brand { display:block; width:min(100%,1300px); margin:4.5rem auto; }
.fe-footer__brand img { filter:brightness(0) invert(1); }
.fe-footer__bottom { display:grid; grid-template-columns:1fr 1fr 1.25fr 1fr; gap:2rem; border-top:1px solid #a78c814d; padding-top:1.5rem; font-size:.67rem; }
.fe-footer address { font-style:normal; }
.fe-footer__bottom nav { display:grid; gap:.3rem; justify-items:start; }
.fe-footer__bottom a { text-decoration:none; }
.fe-footer a:hover { text-decoration:underline; }
.fe-footer__bottom>p { text-align:right; }
.fe-menu { width:100%; max-width:none; height:100dvh; max-height:none; margin:0; padding:2rem var(--fe-gap); border:0; background:var(--fe-paper); color:var(--fe-ink); }
.fe-menu::backdrop { background:#1b1613aa; }
.fe-menu[open] { animation:fe-menu-in .45s var(--fe-ease) both; }
.fe-menu__top { display:flex; justify-content:space-between; align-items:center; gap:2rem; }
.fe-menu-close { display:flex; align-items:center; gap:1rem; min-height:44px; border:0; background:none; padding:.4rem; font-size:.78rem; }
.fe-menu-close span { font-size:1.8rem; font-weight:300; }
.fe-menu__layout { display:grid; grid-template-columns:1.4fr 1fr; gap:10vw; margin-top:4rem; align-items:end; }
.fe-menu__links { display:grid; }
.fe-menu__links a { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.6rem 0; font-size:clamp(2.3rem,5.4vw,5.5rem); line-height:1.05; letter-spacing:-.05em; text-decoration:none; }
.fe-menu__links a:hover { color:var(--fe-wine); }
.fe-menu__links span { font-size:.7rem; letter-spacing:0; }
.fe-menu__aside { padding-bottom:.8rem; }
.fe-menu__aside p { font-family:"Cormorant Garamond",Georgia,serif; font-size:2.5rem; line-height:1.1; margin-bottom:2rem; }
.fe-menu__aside a { display:block; width:fit-content; margin-top:.75rem; font-size:.85rem; }
.fe-noscript { display:flex; justify-content:center; gap:2rem; padding:1rem; background:var(--fe-paper); }
.fe-revealed { animation:fe-enter .8s var(--fe-ease) both; }
@keyframes fe-enter { from { opacity:0; transform:translateY(25px); } to { opacity:1; transform:translateY(0); } }
@keyframes fe-menu-in { from { opacity:0; transform:translateY(-16px); } to { opacity:1; transform:translateY(0); } }
@media(max-width:1000px) {
  .fe-header__place { display:none; } .fe-header { grid-template-columns:1fr 1fr; }
  .fe-look__caption { display:block; } .fe-look__caption>a { display:inline-block; margin-top:.6rem; }
  .fe-look--small { margin-top:5rem; } .fe-look__note { font-size:1.7rem; }
  .fe-ritual__content { gap:3rem; } .fe-stories { gap:4rem; }
  .fe-results__layout { grid-template-columns:1fr 1.1fr; gap:3rem; }
}
@media(max-width:640px) {
  .fe-header { padding:.85rem 1.25rem; gap:1rem; } .fe-header__desktop { display:none; } .fe-header__book { padding:.4rem .45rem .4rem .85rem; gap:1rem; }
  .fe-cover { height:calc(100svh - 1px); min-height:640px; max-height:900px; }
  .fe-cover__diptych { grid-template-columns:.45fr .55fr; gap:3px; }
  .fe-cover__city { object-position:47% center; } .fe-cover__beauty { object-position:53% center; }
  .fe-cover__brand { top:6.2rem; width:calc(100% - 2.5rem); }
  .fe-cover__editorial { bottom:1.65rem; }
  .fe-cover h1 { font-size:clamp(3.5rem,13vw,5.2rem); max-width:8ch; margin:1rem 0 1.5rem; line-height:.94; }
  .fe-cover__editorial>.fe-label { max-width:20ch; font-size:.57rem; }
  .fe-cover__bottom { align-items:end; gap:1rem; } .fe-cover__bottom p { font-size:.57rem; }
  .fe-light-link { font-size:.69rem; gap:1rem; } .fe-cover__number { left:.5rem; }
  .fe-concierge { grid-template-columns:1fr; padding:0 var(--fe-gap); }
  .fe-concierge a,.fe-concierge a:first-child,.fe-concierge a:last-child { grid-template-columns:.85fr 1fr; gap:.7rem; align-items:center; border-left:0; border-bottom:1px solid var(--fe-rule); padding:1.05rem 1.3rem 1.05rem 0; }
  .fe-concierge a:last-child { border-bottom:0; }
  .fe-concierge i,.fe-concierge a:last-child i { right:0; font-size:1.1rem; }
  .fe-concierge span { font-size:.61rem; } .fe-concierge strong { font-size:.75rem; padding:0; }
  .fe-edit { padding-top:4rem; padding-bottom:3rem; } .fe-edit__intro { display:block; margin-bottom:2.5rem; }
  .fe-edit h2 { font-size:clamp(2.6rem,10vw,4rem); margin-top:1.5rem; } .fe-edit__intro div>p { font-size:.88rem; margin-top:1.4rem; }
  .fe-lookbook { grid-template-columns:1fr; gap:2.5rem; } .fe-look--small { margin:0 0 0 14%; } .fe-look h3 { font-size:1.4rem; } .fe-look__image img { aspect-ratio:4 / 4.5; }
  .fe-look__note { font-size:1.85rem; max-width:18ch; margin-top:1.5rem; }
  .fe-treatment-links { grid-template-columns:1fr 1fr; gap:.2rem 1.5rem; margin-top:2.5rem; }
  .fe-treatment-links a { font-size:.7rem; }
  .fe-ritual__photo { height:430px; } .fe-ritual__photo img { object-position:60% center; }
  .fe-ritual__content { grid-template-columns:1fr; gap:2.5rem; padding-block:3rem; }
  .fe-ritual h2 { font-size:4.9rem; } .fe-ritual__copy>p:not(.fe-note) { font-size:.88rem; }
  .fe-stories { grid-template-columns:1fr; gap:2.5rem; padding-block:4rem; } .fe-stories h2 { font-size:2.7rem; margin:1.5rem 0; } .fe-stories h2 em { font-size:1.05em; }
  .fe-story { width:76%; margin-left:auto; } .fe-story__photo img { aspect-ratio:4 / 4.7; }
  .fe-results { padding-block:3.5rem; } .fe-results__layout { grid-template-columns:1fr; gap:2rem; } .fe-results h2 { font-size:2.9rem; margin:1.4rem 0; }
  .fe-results__all { display:inline-block; margin-top:1rem; font-size:.73rem; } .fe-results__copy .fe-text-link { margin-right:1rem; }
  .fe-booking { grid-template-columns:1fr; gap:2.7rem; padding-block:4rem; } .fe-booking h2 { font-size:4rem; }
  .fe-booking__paths span { font-size:1.4rem; } .fe-booking__paths>a { padding-block:1.5rem; }
  .fe-footer { padding-top:2rem; } .fe-footer__top { flex-wrap:wrap; gap:1rem 2rem; } .fe-footer__top>.fe-label { width:100%; }
  .fe-footer__brand { margin-block:3rem; } .fe-footer__bottom { grid-template-columns:1fr 1fr; gap:1.5rem 1rem; font-size:.61rem; }
  .fe-footer__bottom>p { text-align:left; } .fe-footer__bottom nav:last-of-type { grid-column:1 / -1; }
  .fe-menu { padding:1rem var(--fe-gap) 2rem; } .fe-menu__layout { grid-template-columns:1fr; gap:2.5rem; margin-top:2rem; }
  .fe-menu__links a { font-size:2.7rem; padding-block:.5rem; } .fe-menu__aside p { font-size:1.8rem; margin-bottom:1.2rem; } .fe-menu__aside a { font-size:.8rem; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation:none!important; transition:none!important; } }
