@font-face{font-family:Reckless;src:url('polices/RecklessNeue-Regular.woff') format('woff');font-display:swap}
@font-face{font-family:Neurial;src:url('polices/NeurialGrotesk-Regular.woff2') format('woff2');font-display:swap}
:root{--paper:#f0f0e7;--ink:#191d16;--olive:#a1a889;--line:rgba(241,241,228,.15);--ease-out:cubic-bezier(.23,1,.32,1);--ease-in-out:cubic-bezier(.77,0,.175,1);--gutter:4vw;color-scheme:dark}
*{box-sizing:border-box}html{background:var(--ink);scroll-behavior:auto}body{margin:0;background:radial-gradient(ellipse at 25% 40%,#889375,#303729 48%,#121510 80%);color:var(--paper);font-family:Neurial,Arial,sans-serif;font-size:16px;-webkit-font-smoothing:antialiased}button,a,input,select{-webkit-tap-highlight-color:transparent}button,input,select{font:inherit}button,a{touch-action:manipulation}button{color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button{border:0}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid currentColor;outline-offset:5px}button:disabled{opacity:.4;cursor:default}[hidden]{display:none!important}p{line-height:1.45;margin:0}h1,h2,h3{font-weight:400;margin:0}em{font-family:Reckless,Georgia,serif;font-weight:400;font-style:normal}svg{fill:none;stroke:currentColor;stroke-width:.7}button:active{transform:scale(.98)}.eyebrow{text-transform:uppercase;font-size:11px;letter-spacing:.1em}.small-note{font-size:12px;line-height:1.5;color:#c7cbbb}.skip{position:fixed;top:10px;left:40%;padding:12px;background:var(--paper);color:var(--ink);z-index:200;transform:translateY(-200%)}.skip:focus{transform:none}
#atmosphere{position:fixed;inset:0;width:100%;height:100%;pointer-events:none}.grain{position:fixed;inset:0;z-index:40;pointer-events:none;opacity:.055;background-size:128px 128px;background-repeat:repeat;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.86' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23n)' opacity='.75' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}.header{position:fixed;top:0;left:0;width:100%;height:108px;padding:18px var(--gutter);z-index:70;display:flex;align-items:center;gap:5vw;border-bottom:1px solid var(--line);background:linear-gradient(#11150f44,transparent);transition:color .2s ease,background .2s ease}.brand{width:153px;flex:none}.brand img{display:block;width:100%;height:auto;filter:invert(1)}.location{font-size:12px;line-height:1.7;margin-right:auto}.location>span{opacity:.65}.location i,.dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:currentColor;margin-right:6px;vertical-align:middle}.header nav{display:flex;gap:25px;font-size:13px}.header nav a{position:relative}.header nav a:after{content:'';position:absolute;bottom:-5px;left:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .2s var(--ease-out)}.header nav a:hover:after{transform:scaleX(1)}.pill{display:flex;gap:18px;align-items:center;justify-content:space-between;padding:18px 24px;border:1px solid #f0f0e740;border-radius:60px;background:#f0f0e72b;font-size:13px;transition:background .2s ease,transform .16s var(--ease-out)}.pill:hover{background:#f0f0e745}.header-book{padding:15px 22px;white-space:nowrap}.header-book span{margin-left:22px}.solid{background:var(--paper);color:var(--ink);border-color:var(--paper)}.solid:hover{background:#dce2c9}.header.is-light{color:var(--ink);background:linear-gradient(#f0f0e7cc,transparent);border-color:#191d1624}.header.is-light .brand img{filter:none}.header.is-light .pill{border-color:#191d1640;background:#191d1612}
#viewport{position:relative;overflow:hidden}#world{position:relative}.beat{position:relative;min-height:100svh;overflow:hidden;padding:150px var(--gutter) 90px}.grid{position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(to right,var(--line) 1px,transparent 1px);background-size:25% 100%;background-position:var(--gutter) 0}.grid:after{content:'';position:absolute;inset:108px 0 64px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.chapter-label{position:relative;margin-bottom:38px}.opening{min-height:100svh}.hero-image,.photo-shade{position:absolute;inset:0}.hero-image{overflow:hidden;transform-origin:70% 42%}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:70% 43%;transform:scale(1.035);will-change:transform}.photo-shade{background:linear-gradient(0deg,#11140fbb,transparent 75%),linear-gradient(90deg,#11140f20,transparent)}.opening-copy{position:relative;margin-top:12vh}.opening-copy>.eyebrow{margin-bottom:22px}.opening h1{font-family:Reckless,Georgia,serif;font-size:clamp(68px,8.9vw,180px);line-height:.91;letter-spacing:-.055em}.opening h1>span{display:block}.serif-indent{padding-left:18vw}.hero-caption{display:flex;justify-content:space-between;width:80%;margin-top:34px;font-size:14px}.hero-caption p:last-child{max-width:230px}.hero-book{position:absolute;bottom:93px;left:var(--gutter);width:calc(100% - var(--gutter)*2);justify-content:center;background:#eeebdc30;padding:20px}.hero-book>span:last-child{position:absolute;right:25px}.next-label{position:absolute;bottom:25px;left:var(--gutter);right:var(--gutter);font-size:11px;display:flex;justify-content:space-between;align-items:center;z-index:2}.next-label span:first-child{margin-left:210px}.attention{background:radial-gradient(ellipse at 28% 20%,#91a07b55,transparent 75%)}.manifesto{position:relative;font-size:clamp(45px,5.5vw,110px);line-height:1.06;letter-spacing:-.055em;margin-top:4vh}.manifesto span:first-child{padding-left:24vw}.manifesto em{display:block;font-size:1.08em;line-height:1.1;padding-left:24vw;color:#d9dec4}.attention-bottom{position:relative;display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:6vw;margin-top:7vh;align-items:start}.serif-body{font-family:Reckless,Georgia,serif;font-size:clamp(22px,2vw,36px);line-height:1.13;letter-spacing:-.03em}.attention-bottom>div:last-child{max-width:360px;font-size:14px}.text-link{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:16px 0;border-bottom:1px solid var(--line);background:none;font-size:13px;margin-top:25px}.orbit{position:relative;height:150px;width:150px;margin:auto}.orbit span{position:absolute;inset:8%;border:1px solid #dbe2c469;border-radius:50%}.orbit span:nth-child(2){inset:23% -7%;transform:rotate(60deg)}.orbit span:nth-child(3){inset:23% -7%;transform:rotate(-60deg)}.orbit i{position:absolute;inset:48%;border-radius:50%;background:var(--paper)}
.care{background:var(--paper);color:var(--ink);--line:#191d161b}.care-head{display:flex;position:relative;justify-content:space-between;align-items:end;gap:6vw}.care h2{font-size:clamp(45px,5.1vw,100px);letter-spacing:-.055em;line-height:1.02}.care-head>p{max-width:250px;font-size:14px;padding-bottom:10px}.care-list{display:grid;grid-template-columns:repeat(3,1fr);margin-top:6vh;position:relative;border-top:1px solid var(--line)}.care-item{position:relative;text-align:left;background:none;padding:22px 26px 20px 0;border-right:1px solid var(--line);display:flex;flex-direction:column;align-items:start;min-height:310px}.care-item+ .care-item{padding-left:26px}.care-item:last-child{border-right:0}.care-no{font-size:11px}.care-item svg{width:76px;height:65px;margin:18px 0;transition:transform .25s var(--ease-out)}.care-item h3{font-family:Reckless,Georgia,serif;font-size:clamp(30px,3vw,56px);letter-spacing:-.035em}.care-item p{font-size:14px;margin-top:12px}.care-action{width:100%;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:11px;padding-top:17px;margin-top:30px}.care-action b{font-size:17px;font-weight:400}.care-item:hover svg{transform:translateY(-4px) rotate(4deg)}
.cabinet{background:#141811}.portrait{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:30% 50%;transform:scale(1.025)}.portrait-shade{position:absolute;inset:0;background:linear-gradient(90deg,transparent 30%,#12160f33 50%,#12160f88)}.cabinet-copy{position:relative;margin-left:51%;margin-top:7vh}.cabinet h2{font-size:clamp(44px,5.2vw,105px);line-height:1.03;letter-spacing:-.05em}.cabinet-copy .serif-body{margin-top:5vh}.cabinet-copy>p:not(.serif-body){margin-top:25px;max-width:325px;font-size:14px}.cabinet-copy .text-link{max-width:325px}.photo-note{position:absolute;bottom:95px;left:var(--gutter);font-family:Reckless,Georgia,serif;font-size:24px}.appointment{background:radial-gradient(ellipse at 15% 80%,#a6af8255,transparent 70%)}.appointment-layout{position:relative;display:grid;grid-template-columns:1.2fr 1fr;gap:12vw;margin-top:5vh}.appointment h2{font-size:clamp(68px,8.2vw,160px);line-height:.91;letter-spacing:-.065em}.appointment h2 em{display:block}.appointment-layout .serif-body{margin-top:6vh}.appointment-details{max-width:450px}.appointment-details h3{font-size:clamp(34px,3.2vw,58px);letter-spacing:-.055em;line-height:1.08;margin:25px 0 20px}.appointment-details>p:not(.eyebrow){max-width:340px;font-size:14px}.appointment-details>.pill{width:100%;margin-top:28px}.practical{display:grid;grid-template-columns:1fr 1.2fr;gap:20px;border-top:1px solid var(--line);padding-top:22px;margin:28px 0 22px}.practical span{font-size:10px;text-transform:uppercase;letter-spacing:.08em;opacity:.65}.practical p{font-size:12px;margin-top:10px}.mention-demo{font-size:10px;line-height:1.5;color:#c5cbb8;max-width:230px;margin-top:6vh}.journey{display:none;position:fixed;right:17px;top:50%;transform:translateY(-50%);z-index:65;flex-direction:column;gap:8px}.journey a{position:relative;display:block;width:23px;height:25px;padding:9px}.journey a:after{content:'';display:block;width:4px;height:4px;border-radius:50%;background:currentColor;opacity:.35}.journey a[aria-current]:after{opacity:1;outline:1px solid currentColor;outline-offset:5px}.journey span{position:absolute;right:24px;font-size:10px;top:7px;opacity:0}.journey a:hover span{opacity:1}.journey.is-light{color:var(--ink)}
.motion #viewport{position:fixed;inset:0}.motion #world{width:100vw;height:100svh;transform-origin:0 0;will-change:transform}.motion .beat{position:absolute;width:100vw;height:100svh;min-height:0}.motion .opening,.motion .attention{left:0;top:0}.motion .attention{clip-path:circle(0% at 70% 42%);background:radial-gradient(ellipse at 25% 30%,#8b967344,#1c23160a 80%)}.motion .care{left:100%;top:0}.motion .cabinet{left:100%;top:-100%}.motion .appointment{left:0;top:-100%}.motion #scroll-track{height:950svh}.motion .journey{display:flex}.motion .attention{visibility:hidden}.motion .beat:not(.opening){pointer-events:none}.motion .beat[data-active]{pointer-events:auto}.nojs{padding:20px 5vw}
dialog{border:1px solid #6b7555;border-radius:3px;background:#e8ebdf;color:var(--ink);padding:0;width:min(1050px,94vw);max-height:90svh;overflow:auto;color-scheme:light;box-shadow:0 25px 100px #0008}dialog::backdrop{background:#10150de8}dialog[open]{display:grid;grid-template-columns:.85fr 1.15fr}.close-dialog{position:absolute;right:16px;top:13px;width:36px;height:36px;z-index:2;background:transparent;border:1px solid #25331d40;border-radius:50%;font-size:23px}.booking-intro{padding:55px 35px;background:radial-gradient(ellipse at 0 0,#8f9c74,#29351f 90%);color:var(--paper);display:flex;flex-direction:column;min-height:615px}.booking-intro h2{font-size:70px;line-height:.98;letter-spacing:-.055em;margin:38px 0 20px}.booking-intro>p:not(.eyebrow){font-size:13px}.booking-intro>.small-note{margin-top:auto;padding-top:35px;max-width:255px}.booking-progress{display:flex;flex-direction:column;gap:17px;margin:35px 0;font-size:11px}.booking-progress span{opacity:.45}.booking-progress span.active{opacity:1}.booking-progress b{font-weight:400;font-size:13px;margin-left:15px}.booking-content{padding:70px 40px 40px;--line:#191d1630}.booking-content fieldset{border:0;margin:0;padding:0;min-width:0}.booking-content legend{font-size:30px;letter-spacing:-.04em;line-height:1.1;padding:0}.booking-content fieldset>p{font-size:12px;margin:13px 0 25px}.motifs{margin:25px 0 30px}.motifs label{display:flex;align-items:center;gap:12px;border-top:1px solid #191d1624;padding:22px 0;cursor:pointer}.motifs label:last-child{border-bottom:1px solid #191d1624}.motifs input{accent-color:#526640;width:17px;height:17px;flex:none}.motifs span{flex:1}.motifs strong{font-size:15px;font-weight:400;display:block}.motifs small{display:block;font-size:11px;line-height:1.4;margin-top:6px;opacity:.7}.motifs b{font-size:20px;font-weight:400}.booking-content .solid{background:#27351e;color:var(--paper);border-color:#27351e}.booking-content .solid:hover{background:#425335}.booking-content .pill{font-size:12px}.select-label{display:block;font-size:12px;margin-bottom:8px}select{width:100%;background:transparent;color:var(--ink);padding:14px 12px;border:1px solid #52664080;border-radius:3px}.slots{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:25px 0}.slot{border:1px solid #52664065;border-radius:4px;background:transparent;padding:14px 8px}.slot[aria-pressed=true]{background:#27351e;color:var(--paper)}.booking-actions{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:28px}.booking-actions .text-link{margin:0;border:0;font-size:12px}.field-error{color:#913720;min-height:18px}.recap{margin:28px 0}.recap>div{border-top:1px solid #191d1624;padding:19px 0}.recap dt{font-size:10px;text-transform:uppercase;letter-spacing:.07em;opacity:.65}.recap dd{font-size:16px;line-height:1.4;margin:7px 0 0}.booking-content .small-note{color:#52604b;font-size:12px}#booking-success .success-mark{display:grid;place-items:center;width:50px;height:50px;border:1px solid #52664080;border-radius:50%;font-size:23px;margin-bottom:30px}#booking-success h3{font-size:58px;letter-spacing:-.06em;line-height:1;margin:20px 0}#booking-success p:not(.eyebrow){font-size:13px;margin:20px 0}#booking-success .pill{margin-top:30px;width:100%}#booking-success>.text-link{border:0;margin:10px auto 0;font-size:11px}
@media(hover:hover) and (pointer:fine){.pill:hover{transform:translateY(-2px)}}
@media(min-width:1600px){.beat{padding-top:170px}.chapter-label{margin-bottom:5vh}.care-item{min-height:380px}.care-item svg{margin:30px 0}.care-list{margin-top:8vh}}
@media(max-height:800px) and (min-width:761px){.header{height:88px}.brand{width:125px}.grid:after{top:88px}.beat{padding-top:115px}.chapter-label{margin-bottom:24px}.opening-copy{margin-top:9vh}.opening h1{font-size:8.2vw}.hero-caption{margin-top:22px}.manifesto{font-size:5vw;margin-top:0}.attention-bottom{margin-top:5vh}.care h2{font-size:4.5vw}.care-list{margin-top:25px}.care-item{min-height:260px}.care-item svg{height:45px;margin:12px 0}.care-action{margin-top:18px}.cabinet-copy{margin-top:1vh}.cabinet h2{font-size:4.8vw}.appointment-layout{margin-top:1vh}.appointment h2{font-size:7.4vw}.appointment-details h3{margin-top:16px;font-size:3vw}.appointment-details>.pill{margin-top:20px}.practical{margin:20px 0 12px;padding-top:16px}.appointment-layout .serif-body{margin-top:4vh}}
@media(max-width:1000px){.header{gap:3vw}.header nav{gap:15px}.location{display:none}.brand{margin-right:auto}.manifesto{font-size:6vw}.cabinet h2{font-size:5.8vw}.appointment-layout{gap:7vw}.appointment h2{font-size:9vw}}
@media(max-width:760px){:root{--gutter:6vw}.header{height:85px;padding:13px var(--gutter);gap:15px}.brand{width:125px}.header nav{display:none}.header-book{font-size:10px;padding:12px 15px;gap:6px}.header-book span{margin-left:3px}.grid{background-size:50% 100%}.grid:after{top:85px;bottom:60px}.beat{padding:118px var(--gutter) 85px}.chapter-label{font-size:9px;margin-bottom:30px}.eyebrow{font-size:9px}.opening-copy{margin-top:24vh}.opening-copy>.eyebrow{margin-bottom:20px}.opening h1{font-size:13.7vw;line-height:1;letter-spacing:-.055em}.serif-indent{padding-left:0}.hero-image img{object-position:72% 35%}.hero-caption{font-size:12px;width:100%;margin-top:25px;gap:35px}.hero-caption p:last-child{max-width:145px}.hero-book{bottom:97px;padding:18px;font-size:11px}.next-label{bottom:27px;font-size:9px;left:var(--gutter);right:var(--gutter)}.next-label span:first-child{display:none}.next-label span:last-child{margin-left:auto}.journey{right:3px;gap:4px}.journey a{width:19px}.journey a:after{width:3px;height:3px}.manifesto{font-size:10.1vw;margin-top:9vh;line-height:1.05}.manifesto span:first-child{padding-left:0}.manifesto em{padding-left:0;margin-top:12px}.attention-bottom{grid-template-columns:1fr 1fr;gap:22px;margin-top:6vh}.attention-bottom .orbit{display:none}.serif-body{font-size:24px}.attention-bottom>div:last-child{font-size:12px}.attention-bottom .text-link{font-size:11px;margin-top:15px}.care-head{display:block}.care h2{font-size:10.7vw}.care-head>p{font-size:12px;margin-top:20px;max-width:270px}.care-list{display:block;margin-top:28px}.care-item,.care-item+.care-item{padding:16px 0;min-height:0;width:100%;border-right:0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:24px 1fr 25px;column-gap:8px}.care-no{grid-column:1;grid-row:1;align-self:center;font-size:9px}.care-item svg{display:none}.care-item h3{grid-column:2;grid-row:1;font-size:30px}.care-item p{grid-column:2;grid-row:2;font-size:11px;margin-top:7px}.care-item p br{display:none}.care-action{grid-column:3;grid-row:1 / span 2;font-size:0;border:0;padding:0;margin:0;align-items:center}.care-action b{font-size:19px}.portrait{object-position:25% 50%}.portrait-shade{background:linear-gradient(0deg,#11160ff0,transparent 100%)}.cabinet-copy{margin:27vh 0 0}.cabinet h2{font-size:12vw}.cabinet-copy .serif-body{margin-top:26px;font-size:24px}.cabinet-copy>p:not(.serif-body){font-size:12px;margin-top:18px;max-width:270px}.cabinet-copy .text-link{font-size:12px;margin-top:16px;max-width:270px}.photo-note{display:none}.appointment-layout{display:block;margin-top:5vh}.appointment h2{font-size:14vw}.appointment h2 em{display:inline}.appointment h2 br{display:none}.appointment-layout .serif-body{display:none}.appointment-details{margin-top:35px}.appointment-details h3{font-size:30px;margin:15px 0}.appointment-details h3 br{display:none}.appointment-details>p:not(.eyebrow){font-size:12px;max-width:290px}.appointment-details>.pill{margin-top:22px;font-size:12px}.practical{gap:18px;margin:25px 0 18px;padding-top:20px}.practical p{font-size:11px}.practical span{font-size:9px}.mention-demo{position:absolute;bottom:-50px;font-size:9px;max-width:280px;margin-top:0}.motion #scroll-track{height:800svh}.dune-retour{font-size:10px}
 dialog{width:94vw;max-height:93svh}dialog[open]{display:block}.booking-intro{padding:25px;min-height:0}.booking-intro h2{font-size:39px;line-height:1;margin:15px 0 0}.booking-intro h2 br{display:none}.booking-intro>p:not(.eyebrow){display:none}.booking-progress{flex-direction:row;gap:20px;margin:20px 0 0;font-size:9px}.booking-progress b{font-size:10px;margin-left:5px}.close-dialog{color:var(--paper);border-color:#f0f0e770;right:12px;top:12px}.booking-content{padding:30px 25px}.booking-content legend{font-size:26px}.motifs label{padding:18px 0}.motifs strong{font-size:13px}.motifs small{font-size:10px}.booking-content .pill{font-size:11px;padding:16px}.booking-actions{gap:10px}.booking-actions .pill{padding:15px 13px}.slots{margin:20px 0}.slot{padding:12px}.recap>div{padding:14px 0}#booking-success h3{font-size:46px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-image img,.portrait{transform:none!important}.grain{opacity:.055}.journey{display:none!important}.beat{min-height:100svh}.header{background:#191d16f0}.attention{background:radial-gradient(ellipse at 25% 20%,#6f7d53,#191d16 80%)}.appointment{background:radial-gradient(ellipse at 20% 80%,#68764c,#191d16 80%)}}
@media print{.header,.journey,#scroll-track,dialog,#atmosphere,.grain{display:none!important}#viewport,#world,.beat{position:static!important;width:auto!important;height:auto!important;transform:none!important;clip-path:none!important;visibility:visible!important;opacity:1!important}.beat{min-height:90vh;page-break-after:always}}
h1[tabindex="-1"]:focus,h2[tabindex="-1"]:focus,legend:focus{outline:none}.attention{background:none}.motion .attention{background:radial-gradient(ellipse at 20% 15%,#7a88621a,transparent 65%)}
@media(max-width:760px){.booking-intro h2{font-size:35px}.booking-content legend{font-size:24px}}
@media(max-width:760px){.appointment h2 em,.booking-intro h2 em{display:block}.appointment-details h3{letter-spacing:-.035em}.appointment-details h3 br{display:block}}
html:not(.motion) .header{background:#191d16f0}
