@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@300;400;600&family=Jost:wght@300;400;500;600&display=swap');
:root{--ink:#1E2A24;--paper:#EFE8DD;--accent:#C4A87C;--accent2:#8C7F70;--soft:#D9D0C4;--button:#EFE8DD;--display:'Cormorant Garamond',sans-serif;--title:'Cormorant Garamond',sans-serif;--body:'Jost',sans-serif;--hero-weight:600;--brand-weight:600;--title-track:-.055em}

*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.58;overflow-x:hidden}body.locked{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button,a,input,select,textarea,summary{min-height:44px}img{display:block;width:100%;height:auto;object-fit:cover}figure{margin:0}.skip{position:fixed;left:1rem;top:-6rem;z-index:500;background:var(--ink);color:var(--paper);padding:.8rem 1rem;transition:top .25s,box-shadow .25s}.skip:focus{top:1rem;box-shadow:0 12px 35px #0004}.topline{height:32px;padding:0 3vw;background:var(--ink);color:var(--paper);display:flex;align-items:center;gap:1.5rem;font-size:.62rem;letter-spacing:.11em;text-transform:uppercase}.topline span:nth-child(2){margin:auto;opacity:.7}.topline a{font-weight:800}.site-header{height:86px;padding:0 3vw;display:flex;align-items:center;gap:1.6rem;position:sticky;top:0;z-index:100;background:color-mix(in srgb,var(--paper) 94%,transparent);backdrop-filter:blur(20px);border-bottom:1px solid color-mix(in srgb,var(--ink) 18%,transparent)}.brand{display:flex;align-items:center;gap:.75rem;flex:none;transition:transform .3s,color .3s}.brand:hover{transform:translateX(3px);color:var(--accent)}.brand-mark{width:46px;height:46px;display:grid;place-items:center;border:1px solid var(--ink);font:700 .76rem var(--title);letter-spacing:-.04em;transition:border-radius .3s,background .3s,color .3s}.brand:hover .brand-mark{border-radius:50%;background:var(--accent);color:var(--button)}.brand-words{display:grid;line-height:1.05}.brand-words b{font:var(--brand-weight) .88rem var(--display);letter-spacing:-.03em}.brand-words small{font-size:.52rem;letter-spacing:.1em;text-transform:uppercase;margin-top:.22rem}.site-header>nav{margin-left:auto;display:flex;align-items:center;gap:1.2rem;font-size:.7rem;font-weight:700}.site-header>nav>a{position:relative;padding:.7rem 0;transition:color .25s,transform .25s}.site-header>nav>a::after{content:"";height:2px;position:absolute;left:0;right:100%;bottom:4px;background:var(--accent);transition:right .28s,background .28s}.site-header>nav>a:hover,.site-header>nav>a.is-active{color:var(--accent);transform:translateY(-2px)}.site-header>nav>a:hover::after,.site-header>nav>a.is-active::after{right:0}.service-menu{position:relative}.service-menu summary{list-style:none;display:flex;align-items:center}.service-menu summary::-webkit-details-marker{display:none}.service-menu summary::after{content:"+";margin-left:.35rem;color:var(--accent)}.service-menu[open] summary::after{content:"−"}.service-menu>div{position:absolute;right:0;top:calc(100% + .6rem);width:290px;padding:.6rem;background:var(--paper);border:1px solid color-mix(in srgb,var(--ink) 25%,transparent);box-shadow:0 25px 70px #0002;display:grid}.service-menu>div a{padding:.8rem;border-bottom:1px solid color-mix(in srgb,var(--ink) 15%,transparent);transition:padding .25s,background .25s,color .25s}.service-menu>div a:hover{padding-left:1.1rem;background:var(--accent);color:var(--button)}.header-phone{font-size:.7rem;font-weight:800;white-space:nowrap;transition:color .25s,letter-spacing .25s}.header-phone:hover{color:var(--accent);letter-spacing:.03em}.header-cta,.primary{display:inline-flex;align-items:center;justify-content:center;gap:.7rem;padding:.82rem 1.05rem;border:1px solid var(--accent);background:var(--accent);color:var(--button);font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;transition:background .28s,color .28s,transform .28s,box-shadow .28s}.header-cta:hover,.primary:hover{background:var(--ink);color:var(--paper);transform:translateY(-3px);box-shadow:0 12px 28px #0003}.menu-toggle{display:none;background:transparent;border:0;padding:.4rem}.menu-toggle span{display:block;width:24px;height:1px;background:currentColor;margin:5px;transition:transform .3s,opacity .3s}.menu-toggle b{position:absolute;clip:rect(0 0 0 0)}.eyebrow{font-size:.64rem;font-weight:800;letter-spacing:.17em;text-transform:uppercase;color:var(--accent);margin:0 0 1rem}.hero{position:relative;overflow:hidden}.hero-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.hero h1,.page-hero h1,.not-found h1{font-family:var(--display);font-weight:var(--hero-weight);line-height:.91;letter-spacing:var(--title-track);margin:.18em 0}.hero h1 span,.hero h1 em{display:block;font-style:normal}.hero h1 em{color:var(--accent)}.hero-lead{font-size:clamp(1rem,1.45vw,1.24rem);max-width:42rem}.hero-actions{display:flex;gap:.65rem;flex-wrap:wrap;margin:1.2rem 0}.hero-actions .secondary{display:inline-flex;gap:.8rem;align-items:center;padding:.82rem 1rem;border:1px solid currentColor;font-size:.72rem;font-weight:800;text-transform:uppercase;transition:background .28s,color .28s,transform .28s}.hero-actions .secondary:hover{background:var(--ink);color:var(--paper);transform:translateX(4px)}.hero-copy>small{font-size:.65rem;letter-spacing:.04em}.hero figure{position:relative}.hero figure img{height:100%;min-height:560px;transition:transform 1.1s cubic-bezier(.2,.75,.25,1),filter .5s}.hero:hover figure img{transform:scale(1.018)}.hero figcaption{position:absolute;right:1rem;bottom:1rem;max-width:250px;background:var(--paper);color:var(--ink);padding:.55rem .7rem;font-size:.58rem}.hero-index{font:700 .62rem var(--body);letter-spacing:.13em}.hero-orbit{position:absolute;border:1px solid var(--accent);border-radius:50%;pointer-events:none;animation:orbit 12s linear infinite}.page-hero{min-height:68vh;display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);border-bottom:1px solid color-mix(in srgb,var(--ink) 18%,transparent)}.page-hero>div{padding:clamp(4rem,8vw,8rem) clamp(1.2rem,6vw,7rem);display:flex;flex-direction:column;justify-content:center}.page-hero h1{font-size:clamp(3.4rem,7vw,8rem);max-width:10ch}.page-hero>div>p:last-child{font-size:1.12rem;max-width:38rem}.page-hero figure{min-height:570px;position:relative}.page-hero figure img{height:100%}.page-hero figcaption{position:absolute;right:1rem;bottom:1rem;background:var(--paper);padding:.6rem;font-size:.6rem}.page-hero-dark{background:var(--ink);color:var(--paper)}.page-hero-dark figcaption{background:var(--ink);color:var(--paper)}h2,h3{font-family:var(--title);line-height:.98;letter-spacing:-.045em}h2{font-size:clamp(2.7rem,5.4vw,6.2rem);margin:.16em 0}h3{font-size:clamp(1.5rem,2.4vw,2.5rem)}.ticker-strip{overflow:hidden;background:var(--accent);color:var(--button);border-block:1px solid var(--ink)}.ticker-strip>div{width:max-content;display:flex;align-items:center;animation:marquee 28s linear infinite}.ticker-strip:hover>div{animation-play-state:paused}.ticker-strip span{padding:1.05rem 1.5rem;font:700 clamp(1rem,1.7vw,1.45rem) var(--title);text-transform:uppercase}.ticker-strip i{font-style:normal}.metrics{padding:clamp(5rem,9vw,10rem) 5vw}.metrics header{display:grid;grid-template-columns:.32fr 1fr;gap:3vw;align-items:start}.metrics header .eyebrow{margin-top:1rem}.metrics>div{display:grid;grid-template-columns:repeat(4,1fr);margin-top:4rem;border-block:1px solid}.metrics article{min-height:220px;padding:1.5rem;border-right:1px solid;display:flex;flex-direction:column;justify-content:space-between}.metrics article:last-child{border:0}.metrics b{font:var(--hero-weight) clamp(3rem,6vw,7rem)/1 var(--display);color:var(--accent)}.metrics span{text-transform:uppercase;font-size:.68rem;letter-spacing:.1em}.giant-quote{padding:clamp(6rem,12vw,13rem) 7vw;position:relative}.giant-quote blockquote{margin:.3em 0;font:var(--hero-weight) clamp(3rem,7vw,8.2rem)/.96 var(--display);letter-spacing:-.06em;max-width:14ch}.giant-quote>p:not(.eyebrow){max-width:42rem;margin-left:auto}.giant-quote>span{position:absolute;right:3vw;top:3rem;font-size:.6rem;letter-spacing:.15em;writing-mode:vertical-rl}.manifesto{padding:clamp(6rem,10vw,11rem) 5vw}.manifesto>header{display:grid;grid-template-columns:.25fr 1fr .55fr;gap:3vw;align-items:start}.manifesto>header .eyebrow{margin-top:1rem}.manifesto>header p:last-child{font-size:1.05rem}.manifesto>div{display:grid;grid-template-columns:repeat(3,1fr);margin-top:5rem}.manifesto article{min-height:330px;padding:2rem;border-top:1px solid;border-right:1px solid}.manifesto article:last-child{border-right:0}.manifesto article>b{color:var(--accent)}.manifesto article h3{font-size:clamp(2.5rem,4vw,5rem);margin:1.4em 0 .3em}.diptych{display:grid;grid-template-columns:repeat(2,1fr);position:relative;background:var(--ink);color:var(--paper)}.diptych header{grid-column:1/-1;padding:6rem 6vw;display:grid;grid-template-columns:.25fr 1fr .5fr;gap:3vw}.diptych figure{height:72vh;min-height:560px;position:relative}.diptych figure img{height:100%;filter:saturate(.85);transition:filter .6s,transform .8s}.diptych figure:hover img{filter:saturate(1.08);transform:scale(1.02)}.diptych figcaption{position:absolute;left:1.5rem;bottom:1.5rem;padding:.55rem .8rem;border:1px solid var(--paper);font-size:.65rem;letter-spacing:.1em}.comparison{padding:clamp(5rem,9vw,10rem) 5vw}.comparison header{max-width:900px}.compare{height:min(68vw,780px);position:relative;overflow:hidden;margin-top:3rem;background:var(--ink)}.compare>img,.compare-before,.compare-before img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.compare-before{width:var(--position);overflow:hidden;border-right:2px solid var(--paper);transition:width .12s}.compare-before img{width:min(90vw,1500px);max-width:none}.compare input{position:absolute;inset:0;width:100%;height:100%;opacity:0;z-index:5;cursor:ew-resize}.compare i{position:absolute;left:var(--position);top:50%;width:54px;height:54px;border-radius:50%;background:var(--paper);transform:translate(-50%,-50%);transition:left .12s,transform .25s;z-index:4}.compare:hover i{transform:translate(-50%,-50%) scale(1.12)}.compare i::after{content:"↔";position:absolute;inset:0;display:grid;place-items:center;color:var(--ink);font-style:normal}.compare>span{position:absolute;z-index:3;bottom:1rem;padding:.5rem .7rem;background:var(--ink);color:var(--paper);font-size:.62rem;letter-spacing:.1em}.compare>span:nth-of-type(1){left:1rem}.compare>span:nth-of-type(2){right:1rem}.finder{padding:clamp(6rem,10vw,11rem) 6vw;display:grid;grid-template-columns:.7fr 1.3fr;gap:7vw;background:var(--soft)}.finder form{display:grid;grid-template-columns:1fr .75fr;gap:1rem}.finder fieldset{border:0;padding:0;display:grid;align-content:start}.finder legend{font:600 1.3rem var(--title);margin-bottom:1rem}.finder fieldset button{padding:1rem;text-align:left;border:0;border-top:1px solid;background:transparent;transition:padding .25s,background .25s,color .25s}.finder fieldset button:hover,.finder fieldset button.active{padding-left:1.5rem;background:var(--accent);color:var(--button)}.finder output{padding:2rem;background:var(--ink);color:var(--paper);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.finder output small{font-size:.62rem;letter-spacing:.12em;text-transform:uppercase}.finder output b{font:700 2rem var(--title);color:var(--accent);margin:.7rem 0}.finder output a{border-bottom:1px solid var(--accent);font-weight:700}.faq-section{padding:clamp(6rem,10vw,11rem) 6vw;display:grid;grid-template-columns:.75fr 1.25fr;gap:6vw}.faq-section header p:last-child{max-width:35rem}.faq-section details{border-top:1px solid;padding:.9rem 0;transition:background .3s,padding .3s}.faq-section details:last-child{border-bottom:1px solid}.faq-section details[open]{background:var(--soft);padding:1.2rem}.faq-section summary{list-style:none;display:grid;grid-template-columns:50px 1fr 30px;align-items:center;font:600 1.15rem var(--title);cursor:pointer}.faq-section summary::-webkit-details-marker{display:none}.faq-section summary span{color:var(--accent);font:.7rem var(--body)}.faq-section summary i{font-style:normal;font-size:1.5rem;transition:transform .3s,color .3s}.faq-section details[open] summary i{transform:rotate(45deg);color:var(--accent)}.faq-section details p{padding-left:50px;max-width:55rem}.timeline{padding:clamp(6rem,10vw,11rem) 5vw;background:var(--ink);color:var(--paper)}.timeline header{max-width:880px}.timeline ol{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,1fr);margin:4rem 0 0}.timeline li{padding:2rem 1.3rem;min-height:330px;border-top:1px solid var(--paper);border-right:1px solid color-mix(in srgb,var(--paper) 25%,transparent);transition:background .3s,transform .3s}.timeline li:hover{background:color-mix(in srgb,var(--accent) 24%,transparent);transform:translateY(-7px)}.timeline li>b{color:var(--accent)}.timeline li h3{font-size:1.8rem;margin:3rem 0 1rem}.numbered{padding:clamp(6rem,10vw,11rem) 6vw}.numbered header{display:grid;grid-template-columns:.24fr 1fr .45fr;gap:3vw}.numbered>div{margin-top:4rem}.numbered>div>a{display:grid;grid-template-columns:70px 1fr 50px;align-items:center;padding:1.1rem 0;border-top:1px solid;transition:padding .3s,color .3s,background .3s}.numbered>div>a:last-child{border-bottom:1px solid}.numbered>div>a:hover{padding-inline:1rem;background:var(--accent);color:var(--button)}.numbered a>b{font-size:.68rem}.numbered a span{display:flex;justify-content:space-between;align-items:center;gap:1rem}.numbered strong{font:600 clamp(1.4rem,2.4vw,2.5rem) var(--title)}.numbered small{font-size:.65rem}.numbered i{font-style:normal;font-size:1.5rem}.negative-cta{display:grid;grid-template-columns:1.05fr .95fr;min-height:720px;background:var(--ink);color:var(--paper)}.negative-cta figure img{height:100%;min-height:650px}.negative-cta>div{padding:clamp(4rem,8vw,8rem);display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.negative-cta dl{width:100%;margin:2rem 0}.negative-cta dl>div{display:grid;grid-template-columns:100px 1fr;border-top:1px solid color-mix(in srgb,var(--paper) 30%,transparent);padding:.8rem 0}.negative-cta dt{font-size:.62rem;text-transform:uppercase;letter-spacing:.12em;color:var(--accent)}.negative-cta dd{margin:0}.map-section,.practical-grid{display:grid;grid-template-columns:1.12fr .88fr;min-height:680px;background:var(--soft)}.map-section>div:last-child,.practical-grid>div:last-child{padding:clamp(4rem,8vw,8rem);display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.map-section address{font:600 1.4rem var(--title);margin:1rem 0}.map-section a,.practical-grid a{font-weight:800;border-bottom:1px solid var(--accent)}.map-graphic,.practical-map{position:relative;overflow:hidden;background:var(--ink);min-height:580px}.map-graphic i,.practical-map i{position:absolute;width:45vw;height:1px;background:color-mix(in srgb,var(--paper) 30%,transparent);left:10%;top:30%;transform:rotate(24deg)}.map-graphic i:nth-child(2),.practical-map i:nth-child(2){top:52%;left:-5%;transform:rotate(-14deg)}.map-graphic i:nth-child(3),.practical-map i:nth-child(3){top:72%;transform:rotate(41deg)}.map-graphic span,.practical-map span{position:absolute;left:53%;top:48%;padding:.75rem;background:var(--accent);color:var(--button);font:700 .7rem var(--title);transform:translate(-50%,-50%);animation:pulse 2.8s ease-in-out infinite}.practical-map small{position:absolute;left:1rem;bottom:1rem;color:var(--paper);font-size:.6rem}.overflow-story{display:grid;grid-template-columns:.82fr 1.18fr;min-height:760px;padding:7rem 0 7rem 6vw;overflow:hidden}.overflow-story>div{padding:4rem 5vw 4rem 0;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.overflow-story>div>a{font-weight:800;border-bottom:1px solid var(--accent)}.overflow-story figure{position:relative;transform:translateX(4vw)}.overflow-story figure img{height:100%;min-height:620px}.overflow-story figcaption{position:absolute;left:1rem;bottom:1rem;max-width:270px;background:var(--paper);padding:.7rem;font-size:.6rem}.service-carousel{padding:clamp(6rem,10vw,11rem) 0 clamp(6rem,10vw,11rem) 6vw;overflow:hidden}.service-carousel header{display:grid;grid-template-columns:1fr .55fr auto;gap:2rem;align-items:end;padding-right:5vw}.service-carousel header nav{display:flex;gap:.4rem}.service-carousel header nav button{width:50px;border:1px solid;background:transparent;transition:background .25s,color .25s,transform .25s}.service-carousel header nav button:hover{background:var(--accent);color:var(--button);transform:translateY(-3px)}.service-rail{display:flex;gap:1rem;overflow:auto;scroll-snap-type:x mandatory;padding:4rem 6vw 1rem 0;scrollbar-width:none}.service-rail article{flex:0 0 min(390px,80vw);min-height:480px;padding:2rem;border:1px solid;scroll-snap-align:start;display:flex;flex-direction:column;transition:background .35s,color .35s,transform .35s}.service-rail article:hover{background:var(--ink);color:var(--paper);transform:translateY(-8px)}.service-rail article>span{color:var(--accent)}.service-rail article h3{font-size:2.4rem;margin:2.5rem 0 1rem}.service-rail article>div{display:flex;justify-content:space-between;margin-top:auto;padding:1rem 0;border-block:1px solid}.service-rail article>a{font-weight:800;padding-top:1rem;color:var(--accent)}.mosaic-section{padding:clamp(6rem,10vw,11rem) 4vw}.mosaic-section header{max-width:900px}.mosaic-section>div{display:grid;grid-template-columns:1.1fr .7fr 1fr;grid-template-rows:360px 250px;gap:.7rem;margin-top:4rem}.mosaic-section figure{position:relative;overflow:hidden}.mosaic-section figure:nth-child(1){grid-row:1/3}.mosaic-section figure:nth-child(4){grid-column:2/4}.mosaic-section figure img{height:100%;filter:saturate(.86);transition:transform .7s,filter .5s}.mosaic-section figure:hover img{transform:scale(1.04);filter:saturate(1.08)}.mosaic-section figcaption{position:absolute;left:.7rem;bottom:.7rem;background:var(--paper);padding:.45rem .6rem;font-size:.6rem}.editorial-grid{padding:clamp(6rem,10vw,11rem) 5vw}.editorial-grid header{display:grid;grid-template-columns:.25fr 1fr .5fr;gap:3vw}.editorial-grid>div{display:grid;grid-template-columns:1.18fr .82fr 1fr;margin-top:4rem}.editorial-grid article{min-height:410px;padding:2rem;border-top:1px solid;border-right:1px solid;display:flex;flex-direction:column;transition:background .35s,color .35s,transform .35s}.editorial-grid article:nth-child(n+4){border-bottom:1px solid}.editorial-grid article:nth-child(2){transform:translateY(3rem)}.editorial-grid article:hover{background:var(--accent);color:var(--button);transform:translateY(-6px)}.editorial-grid article>span{color:var(--accent)}.editorial-grid article:hover>span{color:inherit}.editorial-grid article h3{margin:2.3rem 0 1rem}.editorial-grid article>div{display:flex;justify-content:space-between;margin-top:auto;padding-top:1rem;border-top:1px solid}.editorial-grid article>a{padding-top:1rem;font-weight:800}.editorial-grid article>a i{float:right;font-style:normal}.final-cta{padding:clamp(7rem,12vw,13rem) 6vw;background:var(--accent);color:var(--button);text-align:center}.final-cta .eyebrow{color:inherit}.final-cta h2{max-width:15ch;margin:.25em auto}.final-cta>p:not(.eyebrow){max-width:48rem;margin:0 auto 2rem}.final-cta>div{display:flex;justify-content:center;gap:.6rem;flex-wrap:wrap}.final-cta>div>a:not(.primary){display:inline-flex;align-items:center;gap:.7rem;padding:.82rem 1rem;border:1px solid currentColor;font-size:.72rem;font-weight:800;text-transform:uppercase;transition:background .25s,color .25s,transform .25s}.final-cta>div>a:not(.primary):hover{background:var(--paper);color:var(--ink);transform:translateY(-3px)}footer{background:var(--ink);color:var(--paper);padding:5rem 4vw 2rem}footer>section{display:grid;grid-template-columns:1.2fr repeat(3,1fr);gap:3rem}footer>section>div{display:flex;flex-direction:column;align-items:flex-start;gap:.48rem;font-size:.7rem}footer .brand-mark{border-color:var(--paper)}footer .brand small{color:color-mix(in srgb,var(--paper) 65%,transparent)}footer>section>div>b{font:600 1rem var(--title);margin-bottom:.6rem}footer>section>div>a:not(.brand){min-height:0;transition:color .25s,transform .25s}footer>section>div>a:not(.brand):hover{color:var(--accent);transform:translateX(4px)}.footer-phone{font:600 1.6rem var(--title)!important;color:var(--accent)}.cookie-open{background:transparent;border:0;color:inherit;padding:0;font-size:.7rem;text-decoration:underline}footer>p{padding-top:2rem;margin-top:3rem;border-top:1px solid color-mix(in srgb,var(--paper) 22%,transparent);font-size:.62rem}.tier-label{position:fixed;right:0;top:46%;z-index:110;background:var(--accent);color:var(--button);padding:.55rem .35rem;writing-mode:vertical-rl;text-transform:uppercase;font-size:.52rem;font-weight:800;letter-spacing:.14em}.mobile-book{display:none}.cookie-panel{width:min(520px,calc(100% - 2rem));border:0;padding:2rem;background:var(--paper);color:var(--ink);box-shadow:0 30px 100px #0006}.cookie-panel::backdrop{background:#0008;backdrop-filter:blur(5px)}.cookie-panel h2{font-size:2.5rem}.cookie-panel label{display:flex;gap:.7rem;align-items:center;padding:.8rem 0;border-top:1px solid}.cookie-close{position:absolute;right:1rem;top:1rem;background:transparent;border:0;font-size:2rem}.cookie-save{margin-top:1rem;padding:.8rem 1rem;border:0;background:var(--accent);color:var(--button);font-weight:800}.reveal{opacity:0;transform:translateY(26px);transition:opacity .68s cubic-bezier(.2,.7,.2,1),transform .68s cubic-bezier(.2,.7,.2,1)}.reveal.is-visible{opacity:1;transform:none}.delay-1{transition-delay:.08s}.delay-2{transition-delay:.16s}.delay-3{transition-delay:.24s}

/* Shared inner pages */
.service-directory{padding:7rem 6vw}.service-directory>header{max-width:900px;margin-bottom:4rem}.service-row{display:grid;grid-template-columns:70px 1fr minmax(210px,.35fr);gap:2rem;padding:3rem 0;border-top:1px solid}.service-row:last-child{border-bottom:1px solid}.service-row>span{color:var(--accent);font-weight:800}.service-row h2{font-size:clamp(2.4rem,4vw,4.8rem)}.service-row dl{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:2rem}.service-row dl>div{border-top:1px solid;padding-top:.7rem}.service-row dt{font-size:.6rem;color:var(--accent);text-transform:uppercase;letter-spacing:.12em}.service-row dd{margin:.4rem 0;font-size:.84rem}.service-row aside{display:flex;flex-direction:column;align-items:flex-start;gap:.8rem;padding-left:2rem;border-left:1px solid}.service-row aside>b{font:600 1.3rem var(--title)}.service-row aside>strong{font-size:.85rem}.service-row aside>a{margin-top:auto;border-bottom:1px solid var(--accent);font-weight:800}.service-detail-intro{padding:7rem 7vw;display:grid;grid-template-columns:1fr .55fr;gap:8vw}.service-detail-intro>div>p:not(.eyebrow){font-size:1.15rem;max-width:55rem}.clinical-note{padding:1.3rem;border-left:3px solid var(--accent);background:var(--soft)}.service-detail-intro aside{border:1px solid;padding:2rem}.service-detail-intro aside>div{padding:1rem 0;border-bottom:1px solid;display:grid;gap:.3rem}.service-detail-intro aside span{font-size:.62rem;text-transform:uppercase;letter-spacing:.1em;color:var(--accent)}.service-detail-intro aside b{font:600 1.5rem var(--title)}.service-detail-intro aside .primary{margin-top:2rem;width:100%}.service-process{padding:7rem 6vw;background:var(--ink);color:var(--paper)}.service-process header{max-width:800px}.service-process ol{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,1fr);margin-top:4rem}.service-process li{min-height:240px;padding:1.5rem;border-top:1px solid;border-right:1px solid color-mix(in srgb,var(--paper) 25%,transparent);display:flex;flex-direction:column}.service-process li b{color:var(--accent)}.service-process li span{font:600 1.25rem var(--title);margin-top:auto}.service-prep{display:grid;grid-template-columns:1.1fr .9fr;min-height:720px}.service-prep figure img{height:100%}.service-prep>div{padding:7vw;display:flex;flex-direction:column;justify-content:center}.service-prep blockquote{font:600 clamp(1.8rem,3.3vw,3.6rem)/1.08 var(--title);margin:2rem 0;color:var(--accent)}.service-faq{padding:7rem 7vw;display:grid;grid-template-columns:.7fr 1.3fr;gap:7vw}.service-faq details{border-top:1px solid;padding:1rem 0}.service-faq summary{list-style:none;font:600 1.15rem var(--title);display:flex;justify-content:space-between}.service-faq summary i{font-style:normal}.related{padding:7rem 6vw;background:var(--soft)}.related>div{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:3rem}.related>div>a{min-height:380px;padding:2rem;border:1px solid;display:flex;flex-direction:column;transition:background .3s,color .3s,transform .3s}.related>div>a:hover{background:var(--accent);color:var(--button);transform:translateY(-6px)}.related a h3{font-size:2.6rem}.related a b{margin-top:auto}.gallery-page{padding:7rem 4vw}.gallery-page>header{max-width:850px;margin-bottom:4rem}.gallery-page>div{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:160px;gap:.7rem}.gallery-item{overflow:hidden}.gallery-item>button,.gallery-item>div{width:100%;height:100%;padding:0;border:0;background:none;position:relative;display:block}.gallery-item img{height:100%;transition:transform .7s,filter .5s}.gallery-item:hover img{transform:scale(1.04);filter:saturate(1.12)}.gallery-item span{position:absolute;left:.7rem;bottom:.7rem;background:var(--paper);padding:.4rem .55rem;font-size:.58rem}.gallery-item-1{grid-column:span 7;grid-row:span 4}.gallery-item-2{grid-column:span 5;grid-row:span 3}.gallery-item-3{grid-column:span 5;grid-row:span 4}.gallery-item-4{grid-column:span 4;grid-row:span 3}.gallery-item-5{grid-column:span 3;grid-row:span 3}.gallery-item-6{grid-column:span 5;grid-row:span 3}.gallery-item-7{grid-column:span 4;grid-row:span 3}.gallery-item-8{grid-column:span 3;grid-row:span 3}.team-grid{padding:7rem 5vw}.team-grid>header{max-width:900px;margin-bottom:4rem}.team-grid>div{display:grid;grid-template-columns:repeat(12,1fr);gap:1rem}.person{grid-column:span 4;border-top:1px solid;padding-top:1rem}.person:nth-child(4){grid-column:5/9}.person figure{height:430px;overflow:hidden;margin-bottom:1rem}.person figure img{height:100%;transition:transform .7s,filter .5s}.person:hover figure img{transform:scale(1.025);filter:saturate(1.1)}.person>span{font-size:.65rem;color:var(--accent)}.person h2{font-size:2.4rem}.person-role{font-weight:800;color:var(--accent)}.person blockquote{border-left:2px solid var(--accent);padding-left:1rem;margin:1rem 0}.person ul{padding-left:1rem;font-size:.75rem}.person small{display:block;margin-top:1rem}.place-story{display:grid;grid-template-columns:1.1fr .9fr;min-height:720px;background:var(--soft)}.place-story figure img{height:100%}.place-story>div{padding:7vw;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.place-story dl{width:100%}.place-story dl>div{border-top:1px solid;padding:.7rem 0}.place-story dt{font-size:.62rem;color:var(--accent);text-transform:uppercase}.place-story dd{margin:.3rem 0}.place-story a{font-weight:800;border-bottom:1px solid var(--accent)}.material-band{padding:5rem 4vw;display:grid;grid-template-columns:1fr .6fr .6fr;gap:1rem;align-items:center}.material-band>p{font:600 clamp(2rem,4vw,4.5rem)/1 var(--title);max-width:12ch}.material-band figure{height:380px}.material-band figure img{height:100%}.practical-details{padding:5rem 5vw;display:grid;grid-template-columns:repeat(4,1fr)}.practical-details article{min-height:280px;border-top:1px solid;border-right:1px solid;padding:1.5rem}.practical-details article:last-child{border-right:0}.practical-details article>span{color:var(--accent)}.practical-details h2{font-size:2rem;margin:2.5rem 0 1rem}.regulatory{padding:7rem 6vw;background:var(--ink);color:var(--paper);display:grid;grid-template-columns:.8fr 1.2fr;gap:7vw}.regulatory dl>div{padding:1rem 0;border-top:1px solid color-mix(in srgb,var(--paper) 30%,transparent)}.regulatory dt{font-size:.62rem;color:var(--accent);text-transform:uppercase;letter-spacing:.1em}.regulatory dd{margin:.4rem 0}.emergency-note{padding:2rem 5vw;background:var(--accent);color:var(--button);display:flex;gap:2rem;align-items:center}.emergency-note p{margin:0}.simple-booking{padding:7rem 6vw;display:grid;grid-template-columns:.7fr 1.3fr;gap:7vw}.simple-booking form fieldset{border:0;padding:0;margin-bottom:3rem}.simple-booking legend,.booking-engine legend{font:600 2rem var(--title);margin-bottom:1rem}.booking-service-cards{display:grid;grid-template-columns:repeat(2,1fr)}.booking-service-cards label{min-height:140px;padding:1rem;border:1px solid;margin:-1px 0 0 -1px;display:grid;grid-template-columns:30px 1fr;align-content:center;cursor:pointer;transition:background .25s,color .25s,transform .25s}.booking-service-cards label:hover,.booking-service-cards label:has(input:checked){background:var(--accent);color:var(--button);transform:translateY(-3px)}.booking-service-cards label input{grid-row:1/4}.booking-service-cards label span{font-size:.6rem}.booking-service-cards label b{font:600 1.2rem var(--title)}.booking-service-cards label small{font-size:.65rem}.booking-day,.booking-contact,.book-contact{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.simple-booking label:not(.booking-service-cards label),.book-contact label,.gift-builder label{display:grid;gap:.3rem;font-size:.72rem;font-weight:700}.simple-booking input,.simple-booking select,.simple-booking textarea,.book-contact input,.book-contact textarea,.gift-builder input,.gift-builder textarea{width:100%;padding:.9rem;background:transparent;border:1px solid}.simple-booking textarea,.book-contact textarea,.gift-builder textarea{min-height:120px}.consent{display:flex!important;grid-template-columns:none!important;align-items:center;gap:.7rem!important;margin:1rem 0}.consent input{width:auto}.booking-confirmation{padding:3rem;margin-top:2rem;background:var(--ink);color:var(--paper);text-align:center}.booking-confirmation>span,.book-done>span{width:70px;height:70px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:var(--button);font-size:2rem;margin:auto;animation:confirm .65s cubic-bezier(.2,.8,.2,1)}.not-found{min-height:calc(100vh - 118px);display:grid;grid-template-columns:.3fr .8fr .9fr;align-items:center;background:var(--ink);color:var(--paper);padding:5vw;gap:4vw}.not-found>span{font:700 clamp(4rem,10vw,12rem)/1 var(--display);color:var(--accent);writing-mode:vertical-rl}.not-found h1{font-size:clamp(4rem,8vw,9rem)}.not-found>div>a{display:inline-flex;margin:.4rem}.not-found figure{height:70vh}.not-found figure img{height:100%}.legal-content{max-width:920px;margin:auto;padding:7rem 1.5rem}.legal-updated{font-size:.7rem;color:var(--accent);letter-spacing:.1em}.legal-content article{padding:2.5rem 0;border-top:1px solid}.legal-content article h2{font-size:2.5rem}.legal-content aside{padding:2rem;border-left:4px solid var(--accent);background:var(--soft)}

@keyframes marquee{to{transform:translateX(-50%)}}
@keyframes orbit{to{transform:rotate(360deg)}}
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 color-mix(in srgb,var(--accent) 50%,transparent)}50%{box-shadow:0 0 0 18px transparent}}
@keyframes confirm{0%{transform:scale(.2) rotate(-30deg);opacity:0}70%{transform:scale(1.12) rotate(4deg)}100%{transform:scale(1);opacity:1}}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@keyframes draw{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}

/* Signature: architecture immersive, interactions avancées et 15 pages métier. */
.site-header{height:94px;padding-inline:4vw}.site-header>nav{gap:1.45rem}.hero{min-height:calc(100vh - 126px)}.hero-split{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);background:var(--soft)}.hero-split .hero-copy{padding:clamp(5rem,9vw,10rem) clamp(1.2rem,6vw,7rem)}.hero-split h1{font-size:clamp(4.5rem,8vw,9.8rem)}.hero-split figure{min-height:calc(100vh - 126px)}.hero-split .hero-orbit{width:340px;height:340px;left:31%;bottom:-170px}.hero-full{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);background:var(--ink);color:var(--paper)}.hero-full figure{grid-column:1;grid-row:1;min-height:calc(100vh - 126px)}.hero-full .hero-copy{grid-column:2;grid-row:1;padding:clamp(5rem,8vw,9rem) 6vw}.hero-full h1{font-size:clamp(4rem,7vw,8.5rem)}.hero-full .hero-index{position:absolute;right:1rem;bottom:1rem;writing-mode:vertical-rl}.hero-type{display:grid;grid-template-columns:1fr}.hero-type .hero-copy{min-height:70vh;padding:clamp(5rem,9vw,10rem) 6vw 4rem}.hero-type h1{font-size:clamp(5rem,11vw,13rem);max-width:12ch}.hero-type figure{height:48vh;min-height:430px;margin:0 4vw 5rem}.hero-type .hero-index{position:absolute;right:4vw;top:4rem}.tier-signature .manifesto,.tier-signature .metrics{background:var(--soft)}.tier-signature .numbered>div>a{min-height:92px}.tier-signature .mosaic-section>div{grid-template-rows:420px 290px}.tier-signature .negative-cta figure{clip-path:polygon(0 0,94% 0,100% 100%,0 100%)}.tier-signature .final-cta{position:relative;overflow:hidden}.tier-signature .final-cta::before{content:"";position:absolute;width:380px;height:380px;border:1px solid currentColor;border-radius:50%;left:-100px;top:-200px;opacity:.2;animation:float 7s ease-in-out infinite}

.booking-engine{padding:7rem 5vw}.booking-engine>header{display:grid;grid-template-columns:1fr 1fr;gap:4vw;align-items:end}.booking-engine>header ol{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid}.booking-engine>header li{padding:1rem .5rem;display:grid;border-bottom:3px solid transparent;transform:translateY(2px);transition:border-color .3s,color .3s}.booking-engine>header li.active{border-color:var(--accent);color:var(--accent)}.booking-engine>header li b{font-size:.65rem}.booking-engine>header li span{font-size:.7rem}.booking-layout{display:grid;grid-template-columns:1.35fr .65fr;gap:1rem;margin-top:4rem;align-items:start}.booking-layout>form{min-height:680px;padding:3rem;background:var(--soft)}.booking-layout fieldset{border:0;padding:0}.book-services{display:grid;grid-template-columns:repeat(2,1fr);margin:2rem 0}.book-services label{min-height:140px;padding:1rem;border:1px solid;margin:-1px 0 0 -1px;display:grid;grid-template-columns:25px 1fr 30px;align-items:center;cursor:pointer;transition:background .28s,color .28s,transform .28s}.book-services label:hover,.book-services label:has(input:checked){background:var(--accent);color:var(--button);transform:translateY(-4px)}.book-services label span{display:grid}.book-services label b{font:600 1.2rem var(--title)}.book-services label small{font-size:.65rem}.book-services label i{font-size:1.4rem;font-style:normal}.book-providers{display:grid;gap:.5rem;margin:2rem 0}.book-providers label{display:grid;grid-template-columns:25px 1fr;align-items:center;padding:1rem;border:1px solid;cursor:pointer;transition:background .25s,color .25s,transform .25s}.book-providers label:hover,.book-providers label:has(input:checked){background:var(--ink);color:var(--paper);transform:translateX(5px)}.book-providers span{display:grid}.book-providers small{font-size:.65rem}.book-nav{display:flex;justify-content:space-between;gap:.6rem;margin-top:2rem}.book-nav>button:not(.primary){background:transparent;border:1px solid;padding:.8rem 1rem}.fake-calendar{border:1px solid;margin-top:2rem}.fake-calendar>header{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-bottom:1px solid}.fake-calendar>header button{border:0;background:transparent}.fake-calendar>div{display:grid;grid-template-columns:repeat(3,1fr);padding:1rem;gap:.5rem}.fake-calendar>div button{min-height:105px;border:1px solid;background:var(--paper);display:grid;place-items:center;transition:background .25s,color .25s,transform .25s}.fake-calendar>div button:hover,.fake-calendar>div button.active{background:var(--accent);color:var(--button);transform:translateY(-3px)}.fake-calendar span{font-size:.62rem}.fake-calendar b{font:600 1.25rem var(--title)}.booking-summary{position:sticky;top:120px;background:var(--ink);color:var(--paper);padding:2rem;min-height:420px}.booking-summary h3{font-size:2rem;color:var(--accent)}.booking-summary dl>div{padding:.8rem 0;border-top:1px solid color-mix(in srgb,var(--paper) 30%,transparent);display:grid;grid-template-columns:.55fr 1fr}.booking-summary dt{font-size:.62rem;text-transform:uppercase;letter-spacing:.1em}.booking-summary dd{margin:0;text-align:right}.booking-summary>p:last-child{font-size:.68rem;margin-top:2rem}.book-done{text-align:center;padding:5rem 2rem}.book-done h2{font-size:5rem}.book-done>div{display:flex;justify-content:center;gap:.5rem}.book-done button,.book-done a{padding:.8rem 1rem;border:1px solid;background:transparent;color:inherit}

.lightbox{inset:0;width:100vw;height:100vh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:#090909;color:white;overflow:hidden}.lightbox::backdrop{background:#000}.lightbox-track{height:100%;touch-action:pan-y}.lightbox-track figure{position:absolute;inset:0;display:none}.lightbox-track figure.active{display:block;animation:draw .55s ease both}.lightbox-track img{width:100%;height:100%;object-fit:contain}.lightbox-track figcaption{position:absolute;left:2rem;bottom:1.5rem;display:flex;gap:2rem;align-items:center;background:#000b;padding:.6rem 1rem}.lightbox-track figcaption span{color:var(--accent)}.lightbox>button{position:absolute;z-index:5;border:1px solid #fff8;background:#0008;color:white;border-radius:50%;width:54px;height:54px;transition:background .25s,color .25s,transform .25s}.lightbox>button:hover{background:var(--accent);color:var(--button);transform:scale(1.08)}.lightbox-close{right:1.5rem;top:1.5rem}.lightbox-prev{left:1.5rem;top:50%}.lightbox-next{right:1.5rem;top:50%}.lightbox>p{position:absolute;right:2rem;bottom:1.5rem;font-size:.6rem;letter-spacing:.1em}

.client-shell{max-width:1420px;margin:7rem auto;padding:0 2rem;display:grid;grid-template-columns:290px 1fr;min-height:760px}.client-shell>aside{padding:2rem;background:var(--ink);color:var(--paper);display:flex;flex-direction:column;align-items:flex-start}.client-avatar{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:var(--button);font:700 1.3rem var(--title);margin-bottom:1rem}.client-shell>aside>span{font-size:.65rem;opacity:.65}.client-shell>aside nav{display:grid;width:100%;margin:3rem 0}.client-shell>aside nav button{background:transparent;color:inherit;border:0;border-top:1px solid #ffffff35;text-align:left;padding:.8rem 0;transition:padding .25s,color .25s,background .25s}.client-shell>aside nav button:hover,.client-shell>aside nav button.active{padding-left:.8rem;color:var(--accent);background:#ffffff08}.client-shell>aside>a{margin-top:auto;border:1px solid;padding:.8rem;width:100%;text-align:center}.client-content{padding:4rem;background:var(--soft)}.client-content>section{display:none}.client-content>section.active{display:block;animation:draw .5s ease}.client-content h2{font-size:clamp(3rem,6vw,6rem)}.next-appointment{display:grid;grid-template-columns:50px 1fr auto;align-items:center;padding:1.5rem 0;border-block:1px solid}.next-appointment>span{color:var(--accent)}.next-appointment>div{display:grid}.next-appointment button{border:1px solid;background:transparent}.dashboard-stats{display:grid;grid-template-columns:repeat(3,1fr);margin-top:3rem}.dashboard-stats article{padding:1.5rem;border:1px solid;margin-left:-1px;display:grid}.dashboard-stats b{font:600 2.5rem var(--title);color:var(--accent)}.dashboard-stats span{font-size:.7rem}.client-content ol{list-style:none;padding:0}.client-content ol li{display:grid;grid-template-columns:120px 1fr auto;padding:1.2rem 0;border-top:1px solid}.client-content ol i{font-style:normal;color:var(--accent)}.download-list{display:grid}.download-list a{display:grid;grid-template-columns:60px 1fr 30px;padding:1rem 0;border-top:1px solid;transition:padding .25s,background .25s,color .25s}.download-list a:hover{padding-inline:1rem;background:var(--accent);color:var(--button)}.client-content form{display:grid;gap:1rem}.client-content form label{display:flex;gap:1rem;align-items:center}.client-content form select{padding:.7rem;margin-left:auto}.client-content form button{justify-self:start;padding:.8rem 1rem;background:var(--accent);color:var(--button);border:0}

.gift-builder{padding:7rem 6vw;display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center;background:var(--soft)}.gift-preview{aspect-ratio:1.55;position:relative;padding:3rem;background:var(--ink);color:var(--paper);display:flex;flex-direction:column;overflow:hidden;box-shadow:0 35px 80px #0003;transform:rotate(-2deg);transition:transform .5s,box-shadow .5s}.gift-preview::after{content:"";position:absolute;width:70%;aspect-ratio:1;border:1px solid var(--accent);border-radius:50%;right:-25%;bottom:-50%}.gift-preview:hover{transform:rotate(0) translateY(-8px);box-shadow:0 45px 90px #0004}.gift-preview>span{font-size:.6rem;letter-spacing:.17em;color:var(--accent)}.gift-preview>b{font:700 clamp(2rem,4vw,4rem) var(--display)}.gift-preview>p{margin:auto 0;font:500 clamp(1.4rem,2.4vw,2.5rem) var(--title);max-width:13ch}.gift-preview>strong{font:700 2rem var(--title);color:var(--accent)}.gift-preview>small{font-size:.55rem}.gift-builder form fieldset{border:0;padding:0;margin:2rem 0}.gift-builder form fieldset button{padding:.7rem 1rem;border:1px solid;background:transparent;transition:background .25s,color .25s,transform .25s}.gift-builder form fieldset button:hover,.gift-builder form fieldset button.active{background:var(--accent);color:var(--button);transform:translateY(-3px)}.gift-builder form>label{margin:1rem 0}.loyalty-journey{padding:8rem 6vw}.loyalty-journey header{max-width:900px}.loyalty-track{height:220px;margin-top:5rem;position:relative;border-top:1px solid}.loyalty-track>i{position:absolute;left:0;top:-3px;width:var(--progress);height:5px;background:var(--accent);animation:draw 1s ease both}.loyalty-track>span{position:absolute;left:var(--at);top:-19px;transform:translateX(-50%);display:grid;text-align:center}.loyalty-track>span::before{content:"";width:36px;height:36px;border-radius:50%;border:1px solid;background:var(--paper);margin:auto}.loyalty-track>span b{margin-top:.7rem}.loyalty-track>span small{font-size:.6rem;max-width:90px}.loyalty-rules{padding:6rem 6vw;display:grid;grid-template-columns:repeat(3,1fr);background:var(--ink);color:var(--paper)}.loyalty-rules article{min-height:320px;padding:2rem;border-right:1px solid #ffffff35}.loyalty-rules article:last-child{border:0}.loyalty-rules article>span{color:var(--accent)}.loyalty-rules article h2{font-size:4rem;margin-top:2rem}

.visit-timeline{padding:7rem 6vw}.visit-timeline ol{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,1fr);margin-top:4rem}.visit-timeline li{padding:2rem 1.5rem;min-height:340px;border-top:1px solid;border-right:1px solid}.visit-timeline li:last-child{border-right:0}.visit-timeline li>b{color:var(--accent)}.visit-timeline h3{font-size:2rem;margin-top:4rem}.consent-band{padding:6rem 7vw;display:grid;grid-template-columns:1fr .65fr;gap:7vw;background:var(--ink);color:var(--paper)}.resource-library{padding:7rem 6vw}.resource-library>header{display:grid;grid-template-columns:1fr .5fr;align-items:end}.resource-library header nav{display:flex;gap:.4rem;flex-wrap:wrap}.resource-library header button{background:transparent;border:1px solid;padding:.6rem .8rem;transition:background .25s,color .25s,transform .25s}.resource-library header button:hover,.resource-library header button.active{background:var(--accent);color:var(--button);transform:translateY(-2px)}.resource-library>div{display:grid;grid-template-columns:repeat(3,1fr);margin-top:4rem}.resource-library article{min-height:360px;padding:2rem;border:1px solid;margin:-1px 0 0 -1px;display:flex;flex-direction:column;transition:background .3s,color .3s,transform .3s}.resource-library article:hover{background:var(--soft);transform:translateY(-5px)}.resource-library article>span{color:var(--accent);font-size:.65rem;text-transform:uppercase}.resource-library article h2{font-size:2.2rem}.resource-library article a{margin-top:auto;font-weight:800}.resource-warning{padding:1rem;border-left:3px solid var(--accent);margin-top:2rem}.journal-feature{padding:8rem 7vw;background:var(--accent);color:var(--button)}.journal-feature h2{max-width:14ch}.journal-feature p:not(.eyebrow){max-width:50rem}.journal-feature a{display:inline-flex;margin-top:1rem;border-bottom:1px solid;font-weight:800}.journal-grid{padding:7rem 4vw}.journal-grid article{display:grid;grid-template-columns:1.05fr .95fr;min-height:620px;border-top:1px solid}.journal-grid article:nth-child(even){grid-template-columns:.95fr 1.05fr}.journal-grid article:nth-child(even) figure{order:2}.journal-grid article figure{overflow:hidden}.journal-grid article figure img{height:100%;transition:transform .8s,filter .5s}.journal-grid article:hover figure img{transform:scale(1.025);filter:saturate(1.1)}.journal-grid article>div{padding:6vw;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.journal-grid article>div>span{color:var(--accent);font-size:.62rem;letter-spacing:.1em}.journal-grid article h2{font-size:clamp(2.4rem,4vw,4.6rem)}.journal-grid article a{font-weight:800;border-bottom:1px solid var(--accent)}.personal-tool{padding:7rem 6vw;background:var(--soft)}.personal-tool>header{max-width:900px}.tool-workspace{display:grid;grid-template-columns:1.25fr .75fr;gap:1rem;margin-top:4rem}.tool-workspace form{background:var(--paper);padding:2rem}.tool-workspace fieldset{border:0;padding:1.5rem 0;border-top:1px solid}.tool-workspace legend{font:600 1.4rem var(--title);width:100%;margin-bottom:1rem}.tool-workspace legend span{font:.65rem var(--body);color:var(--accent);margin-right:1rem}.tool-workspace fieldset button{padding:.7rem 1rem;border:1px solid;background:transparent;margin:.25rem;transition:background .25s,color .25s,transform .25s}.tool-workspace fieldset button:hover,.tool-workspace fieldset button.active{background:var(--accent);color:var(--button);transform:translateY(-3px)}.tool-workspace>aside{position:sticky;top:120px;align-self:start;padding:2rem;background:var(--ink);color:var(--paper);min-height:460px}.tool-workspace>aside h3{font-size:2.2rem;color:var(--accent)}.tool-workspace>aside ol{padding-left:1.2rem}.tool-code{padding:1rem 0;border-block:1px solid;margin:2rem 0;font-size:.65rem}.tool-code b{float:right;color:var(--accent)}.tool-workspace>aside>a,.tool-workspace>aside>button{width:100%;margin:.35rem 0}.tool-workspace>aside>button{background:transparent;border:1px solid var(--paper);color:var(--paper)}
.site-source-spa .brand-mark{border-color:var(--accent);color:var(--accent)}.site-source-spa .hero figure img{filter:saturate(.72) contrast(1.04)}.site-source-spa .hero-type{background:var(--paper)}.site-source-spa .hero-type figure{margin-inline:5vw}.site-source-spa .manifesto,.site-source-spa .negative-cta,.site-source-spa .timeline{background:#17211d}.site-source-spa h1,.site-source-spa h2{letter-spacing:-.035em}
@media(max-width:1120px){.site-header>nav{display:none;position:absolute;left:0;right:0;top:100%;padding:1rem 4vw 2rem;background:var(--paper);border-bottom:1px solid;flex-direction:column;align-items:stretch}.site-header.menu-open>nav{display:flex}.site-header>nav>a{padding:.7rem;border-bottom:1px solid color-mix(in srgb,var(--ink) 14%,transparent)}.service-menu>div{position:static;width:100%;box-shadow:none}.menu-toggle{display:block;margin-left:auto}.header-phone{display:none}.manifesto>header,.diptych header,.numbered header,.editorial-grid header,.service-carousel header{grid-template-columns:1fr}.metrics header{grid-template-columns:1fr}.finder,.faq-section,.simple-booking,.regulatory,.service-faq{grid-template-columns:1fr}.timeline ol,.service-process ol,.visit-timeline ol{grid-template-columns:repeat(2,1fr)}.editorial-grid>div{grid-template-columns:repeat(2,1fr)!important}.editorial-grid article:nth-child(2){transform:none}.booking-engine>header{grid-template-columns:1fr}.booking-layout{grid-template-columns:1fr}.booking-summary,.tool-workspace>aside{position:static}.client-shell{grid-template-columns:240px 1fr}.material-band{grid-template-columns:1fr 1fr}.material-band>p{grid-column:1/-1}.resource-library>div{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){.topline{justify-content:space-between;padding-inline:1rem}.topline span:nth-child(2){display:none}.site-header{height:76px;padding-inline:1rem}.brand-mark{width:40px;height:40px}.brand-words small{display:none}.header-cta{display:none}.hero-split,.hero-full{display:flex!important;flex-direction:column;min-height:0}.hero-split .hero-copy,.hero-full .hero-copy{order:1;padding:4.5rem 1.2rem 3rem}.hero-split figure,.hero-full figure{order:2;min-height:0;height:58vh}.hero h1{font-size:clamp(3.4rem,14vw,6rem)!important}.hero-type .hero-copy{min-height:62vh;padding:4.5rem 1.2rem 2.5rem}.hero-type figure{height:42vh;min-height:300px;margin:0!important}.hero-type .hero-index{right:1rem;top:1.5rem}.hero-orbit{display:none}.page-hero{display:flex;flex-direction:column;min-height:0}.page-hero>div{padding:4.5rem 1.2rem 3rem}.page-hero h1{font-size:clamp(3.4rem,13vw,6rem)}.page-hero figure{min-height:0;height:52vh}.metrics,.manifesto,.giant-quote,.comparison,.timeline,.numbered,.faq-section,.mosaic-section,.editorial-grid,.service-directory,.team-grid,.practical-details,.booking-engine,.gift-builder,.loyalty-journey,.visit-timeline,.resource-library,.journal-grid,.personal-tool{padding-inline:1.2rem}.metrics>div{grid-template-columns:repeat(2,1fr)}.manifesto>div{grid-template-columns:1fr}.manifesto article{min-height:240px;border-right:0}.diptych{grid-template-columns:1fr}.diptych header{padding:4rem 1.2rem}.diptych figure{height:60vh;min-height:430px}.compare{height:70vh}.finder{padding:5rem 1.2rem}.finder form{grid-template-columns:1fr}.timeline ol,.service-process ol,.visit-timeline ol{grid-template-columns:1fr}.timeline li,.service-process li,.visit-timeline li{min-height:220px;border-right:0}.numbered>div>a{grid-template-columns:42px 1fr 30px}.numbered a span{display:grid}.negative-cta,.map-section,.practical-grid,.overflow-story,.service-prep,.place-story{grid-template-columns:1fr;min-height:0}.negative-cta figure,.place-story figure,.service-prep figure{height:55vh}.negative-cta>div,.map-section>div:last-child,.practical-grid>div:last-child,.place-story>div,.service-prep>div{padding:4rem 1.2rem}.map-graphic,.practical-map{min-height:450px}.overflow-story{padding:5rem 0 0}.overflow-story>div{padding:0 1.2rem 3rem}.overflow-story figure{transform:none;height:60vh}.overflow-story figure img{min-height:0}.service-carousel{padding-left:1.2rem}.service-carousel header{padding-right:1.2rem}.mosaic-section>div{grid-template-columns:repeat(2,1fr);grid-template-rows:340px 240px 280px!important}.mosaic-section figure:nth-child(1){grid-row:span 1}.mosaic-section figure:nth-child(4){grid-column:auto}.mosaic-section figure:last-child{grid-column:1/-1}.editorial-grid>div{grid-template-columns:1fr!important}.editorial-grid article{min-height:300px;border-right:0}.final-cta{padding-inline:1.2rem}footer{padding-inline:1.2rem;padding-bottom:5rem}footer>section{grid-template-columns:repeat(2,1fr)}.mobile-book{display:flex;position:fixed;left:1rem;right:1rem;bottom:1rem;z-index:115;justify-content:center;align-items:center;background:var(--accent);color:var(--button);font-weight:800;text-transform:uppercase;box-shadow:0 15px 50px #0005}.tier-label{display:none}.service-row{grid-template-columns:40px 1fr}.service-row aside{grid-column:2;padding:1rem 0 0;border:0;border-top:1px solid}.service-row dl{grid-template-columns:1fr}.service-detail-intro{grid-template-columns:1fr;padding:5rem 1.2rem}.service-detail-intro aside{padding:1.2rem}.service-process{padding:5rem 1.2rem}.related{padding:5rem 1.2rem}.related>div{grid-template-columns:1fr}.gallery-page>div{display:grid;grid-template-columns:repeat(2,1fr);grid-auto-rows:260px}.gallery-item{grid-column:auto!important;grid-row:auto!important}.gallery-item-1,.gallery-item-4{grid-column:1/-1!important}.team-grid>div{display:block}.person{margin-bottom:4rem}.person figure{height:58vh}.material-band{padding-inline:1.2rem}.practical-details{grid-template-columns:repeat(2,1fr)}.simple-booking{padding-block:5rem}.booking-service-cards,.booking-day,.booking-contact,.book-contact{grid-template-columns:1fr}.booking-layout>form{padding:1.2rem;min-height:0}.book-services{grid-template-columns:1fr}.fake-calendar>div{grid-template-columns:repeat(2,1fr)}.client-shell{display:block;margin:4rem 0;padding:0 1.2rem}.client-shell>aside{min-height:320px}.client-shell>aside nav{grid-template-columns:repeat(2,1fr);margin:1.5rem 0}.client-content{padding:2rem 1rem}.gift-builder{grid-template-columns:1fr;padding-block:5rem}.gift-preview{padding:1.5rem}.loyalty-track{height:560px;border-top:0;border-left:1px solid;margin-left:2rem}.loyalty-track>i{top:0;left:-3px;width:5px;height:var(--progress)}.loyalty-track>span{left:-18px!important;top:var(--at);transform:translateY(-50%);grid-template-columns:45px 1fr;text-align:left;align-items:center}.loyalty-track>span::before{grid-row:1/3}.loyalty-track>span b,.loyalty-track>span small{margin:0}.loyalty-rules{grid-template-columns:1fr;padding:5rem 1.2rem}.loyalty-rules article{min-height:220px;border-right:0;border-bottom:1px solid #ffffff35}.consent-band{grid-template-columns:1fr;padding:5rem 1.2rem}.resource-library>header{grid-template-columns:1fr}.resource-library>div{grid-template-columns:1fr}.journal-grid article,.journal-grid article:nth-child(even){display:flex;flex-direction:column;min-height:0}.journal-grid article:nth-child(even) figure{order:0}.journal-grid article figure{height:55vh}.journal-grid article>div{padding:3rem 0}.tool-workspace{grid-template-columns:1fr}.tool-workspace form{padding:1rem}.not-found{grid-template-columns:1fr;padding:5rem 1.2rem}.not-found>span{writing-mode:horizontal-tb}.not-found figure{height:45vh}}
@media(max-width:480px){body{font-size:15px}.brand-words b{font-size:.75rem}.hero-actions{display:grid;width:100%}.hero-actions a{width:100%}.metrics>div{grid-template-columns:1fr}.metrics article{min-height:150px;border-right:0;border-bottom:1px solid}.mosaic-section>div{display:block}.mosaic-section figure{height:60vw;margin-bottom:.7rem}.gallery-page>div{display:block}.gallery-item{height:75vw;margin-bottom:.7rem}.practical-details{grid-template-columns:1fr}.practical-details article{min-height:190px;border-right:0}.booking-engine>header ol{grid-template-columns:repeat(2,1fr)}.fake-calendar>div{grid-template-columns:1fr}.client-content ol li{grid-template-columns:90px 1fr}.client-content ol i{grid-column:2}.dashboard-stats{grid-template-columns:1fr}.next-appointment{grid-template-columns:35px 1fr}.next-appointment button{grid-column:2}.lightbox-prev{left:.5rem}.lightbox-next{right:.5rem}.lightbox>p{display:none}.lightbox-track figcaption{left:.5rem;right:.5rem;bottom:.5rem}.tool-workspace fieldset button{width:100%;margin:.25rem 0}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}

/* Final optical pass: generous type without clipping inside narrow hero columns. */
.topline a{min-height:0}
.brand-mark img{width:100%;height:100%;object-fit:contain;padding:.22rem}
.menu-toggle b{width:1px;height:1px;overflow:hidden;white-space:nowrap}
.hero h1,.page-hero h1,.not-found h1{text-wrap:balance;overflow-wrap:break-word}
.page-hero h1{font-size:clamp(3rem,4.55vw,5.3rem);max-width:14ch;line-height:.94}
.fake-calendar>div button:disabled,.fake-calendar>div button:disabled:hover{opacity:.34;cursor:not-allowed;background:var(--soft);color:var(--ink);transform:none;text-decoration:line-through}
.fake-calendar>div button small{font-size:.52rem;text-decoration:none;text-transform:uppercase;letter-spacing:.08em}
.appointment-actions{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:2rem}.appointment-actions button{padding:.8rem 1rem;border:1px solid;background:transparent;transition:background .25s,color .25s,transform .25s}.appointment-actions button:hover,.appointment-actions button.active{background:var(--accent);color:var(--button);transform:translateY(-3px)}.client-status{min-height:2.8rem;padding-top:.8rem;font-weight:700;color:var(--accent)}
.review-stack{width:100%;margin:1.5rem 0 2rem;border-top:1px solid color-mix(in srgb,var(--paper) 34%,transparent)}.review-stack>.eyebrow{margin:.9rem 0}.review-stack article{display:grid;grid-template-columns:1fr auto;gap:1rem;padding:.75rem 0;border-top:1px solid color-mix(in srgb,var(--paper) 18%,transparent)}.review-stack blockquote{margin:0;font-size:.82rem;line-height:1.45}.review-stack small{max-width:130px;text-align:right;color:var(--accent);font-size:.6rem;text-transform:uppercase;letter-spacing:.07em}
.service-detail-gallery{padding:7rem 5vw;background:var(--soft)}.service-detail-gallery>header{display:grid;grid-template-columns:.25fr 1fr .5fr;gap:3vw;align-items:start}.service-detail-gallery>div{display:grid;grid-template-columns:1.18fr .82fr;grid-template-rows:290px 290px;gap:.7rem;margin-top:4rem}.service-detail-gallery figure{position:relative;overflow:hidden}.service-detail-gallery figure:first-child{grid-row:1/3}.service-detail-gallery img{height:100%;transition:transform .7s,filter .5s}.service-detail-gallery figure:hover img{transform:scale(1.035);filter:saturate(1.08)}.service-detail-gallery figcaption{position:absolute;left:.7rem;bottom:.7rem;padding:.45rem .6rem;background:var(--paper);font-size:.58rem;text-transform:uppercase;letter-spacing:.07em}
.tier-essentiel .hero-split h1,.tier-essentiel .hero-full h1{font-size:clamp(3.25rem,5vw,6.4rem)}
.tier-signature .hero-split h1,.tier-signature .hero-full h1{font-size:clamp(3.3rem,4.65vw,6.4rem)}
.tier-essentiel .hero-type .hero-copy{min-height:56vh}
.tier-essentiel .hero-type h1{font-size:clamp(3.8rem,7vw,8rem)}
.tier-signature .hero-type .hero-copy{min-height:58vh}
.tier-signature .hero-type h1{font-size:clamp(3.8rem,6.4vw,7.4rem)}
@media(max-width:800px){.topline{height:auto;min-height:32px;padding-block:.42rem;line-height:1.2;align-items:flex-start}.tier-essentiel .hero h1,.tier-signature .hero h1{font-size:clamp(3rem,11.5vw,4.7rem)!important}.page-hero h1{font-size:clamp(2.85rem,10.5vw,4.8rem);max-width:15ch}.service-detail-gallery{padding:5rem 1.2rem}.service-detail-gallery>header{grid-template-columns:1fr}.service-detail-gallery>div{grid-template-columns:1fr;grid-template-rows:none}.service-detail-gallery figure,.service-detail-gallery figure:first-child{grid-row:auto;height:55vh}.tier-essentiel .hero-type .hero-copy,.tier-signature .hero-type .hero-copy{min-height:55vh}}
@media(max-width:480px){.topline{justify-content:center;align-items:center}.topline span:first-child{display:none}.review-stack article{grid-template-columns:1fr}.review-stack small{text-align:left;max-width:none}}

.site-source-spa{--button:var(--ink);--source-accent-text:#6B5435}
.site-source-spa .brand-mark{border-color:var(--source-accent-text);color:var(--source-accent-text)}
.site-source-spa .site-header>nav>a:hover,.site-source-spa .site-header>nav>a.is-active,.site-source-spa .header-phone:hover{color:var(--source-accent-text)}
.site-source-spa .eyebrow,.site-source-spa .hero h1 em,.site-source-spa .person>span,.site-source-spa .person-role,.site-source-spa .legal-updated,.site-source-spa .service-rail article>span,.site-source-spa .service-rail article>a,.site-source-spa .editorial-grid article>span,.site-source-spa .metrics b,.site-source-spa .service-row>span,.site-source-spa .service-row dt{color:var(--source-accent-text)}
.site-source-spa .manifesto{color:var(--paper)}
.site-source-spa :is(.hero-full,.page-hero-dark,.diptych,.manifesto,.timeline,.negative-cta,.service-process,.regulatory,.booking-summary,.client-shell>aside,.gift-preview,.loyalty-rules,.consent-band,.tool-workspace>aside,.not-found,.finder output,footer) .eyebrow{color:var(--accent)}
.site-source-spa .hero-full h1 em,.site-source-spa .manifesto article>b,.site-source-spa .timeline li>b,.site-source-spa .service-rail article:hover>span,.site-source-spa .service-rail article:hover>a{color:var(--accent)}
.site-source-spa .journal-feature .eyebrow{color:var(--ink)}
.site-source-spa .final-cta .eyebrow,.site-source-spa .place-story dt,.site-source-spa .practical-details article>span,.site-source-spa .service-detail-intro aside span,.site-source-spa .service-prep blockquote,.site-source-spa .client-content .next-appointment>span,.site-source-spa .client-content .dashboard-stats b,.site-source-spa .journal-grid article>div>span{color:var(--source-accent-text)}
.site-source-spa .final-cta .eyebrow{color:var(--ink)}
.site-source-spa .faq-section summary span,.site-source-spa .tool-workspace legend span{color:var(--source-accent-text)}
.site-source-spa .booking-engine>header li.active{color:var(--source-accent-text);border-color:var(--source-accent-text)}
.site-source-spa .fake-calendar>div button{color:var(--ink)}
.site-source-spa .final-cta .primary{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.site-source-spa .final-cta .primary:hover{background:var(--paper);border-color:var(--paper);color:var(--ink)}
