@font-face{font-family:"DM Sans";src:url("dm-sans.woff2") format("woff2");font-style:normal;font-weight:400 700;font-display:swap}
@font-face{font-family:"Doppio One";src:url("doppio-one.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap}
:root{--paper:#f7fbfd;--paper-dark:#e7f4f8;--ink:#12364f;--ink-soft:#426478;--forest:#1b4965;--forest-deep:#10364f;--gold:#62b6cb;--line:#c8dfe8;--white:#fff;--font-body:"DM Sans",Arial,sans-serif;--font-title:"Doppio One",Arial,sans-serif;scroll-behavior:smooth}
*,*::before,*::after{box-sizing:border-box}
html{scroll-padding-top:90px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
[hidden]{display:none!important}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
a{color:inherit;text-decoration:none}
::selection{background:#d2be98;color:var(--ink)}
:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.skip-link{position:fixed;left:12px;top:-100px;z-index:100;padding:10px 16px;background:var(--ink);color:white}.skip-link:focus{top:12px}
.shell{width:min(100% - 96px,1440px);margin-inline:auto}
.section-space{padding-block:clamp(90px,10vw,160px)}
h1,h2,h3,p,figure{margin:0}
h1,h2,h3{font-weight:400}
h1,h2{font-family:var(--font-title);letter-spacing:-.026em;line-height:1.08}
h2{font-size:clamp(2.8rem,4.5vw,5.15rem)}
.site-header{position:fixed;z-index:50;inset:0 0 auto;background:rgba(246,244,238,.96);border-bottom:1px solid rgba(24,43,42,.12);transition:background .25s,box-shadow .25s}
.site-header.scrolled{background:rgba(246,244,238,.99);box-shadow:0 8px 32px rgba(20,36,32,.08)}
.header-inner{height:84px;display:flex;align-items:center;gap:40px}
.wordmark{display:inline-flex;flex-direction:column;line-height:1;flex:none;color:var(--ink)}
.wordmark span{font-family:var(--font-title);font-size:34px;letter-spacing:.055em;line-height:.84;font-weight:500}
.wordmark small{font-size:9px;font-weight:700;letter-spacing:.32em;padding-top:9px}
.primary-nav{display:flex;gap:clamp(17px,2.4vw,40px);margin-left:auto;align-items:center}
.primary-nav a{font-size:13px;font-weight:600;transition:color .2s}.primary-nav a:hover{color:#92774e}
.header-cta{display:flex;align-items:center;justify-content:space-between;gap:34px;background:var(--forest);color:#fff;padding:14px 20px;font-size:13px;font-weight:700;white-space:nowrap;transition:background .2s}.header-cta:hover,.button-dark:hover{background:#365751}
.header-cta span,.button span,.text-link span,.light-link span{font-size:18px;line-height:1}
.menu-toggle{display:none;appearance:none;border:0;background:none;padding:10px;margin-left:auto}
.menu-toggle span{display:block;width:25px;height:2px;background:var(--ink);margin-block:5px}
.hero{position:relative;display:grid;grid-template-columns:47% 53%;min-height:min(780px,100svh);padding-top:84px;background:var(--paper)}
.hero-copy{display:flex;align-items:center;padding:70px 4vw 98px max(48px,calc((100vw - 1440px)/2))}
.hero-copy-inner{max-width:610px}
.hero-location{font-size:12px;text-transform:uppercase;letter-spacing:.2em;font-weight:700;color:#796647;margin-bottom:34px}
.hero h1{font-size:clamp(3.65rem,5vw,6.1rem);max-width:11.2ch;line-height:1.02}
.hero-intro{max-width:490px;color:var(--ink-soft);font-size:16px;line-height:1.72;margin-top:30px}
.hero-actions{display:flex;align-items:center;gap:32px;flex-wrap:wrap;margin-top:38px}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;min-height:54px;border:1px solid transparent;padding:14px 22px;font-size:14px;font-weight:700;line-height:1.2;transition:background .2s,color .2s,border .2s}
.button-dark{background:var(--forest);color:#fff}
.button:disabled{opacity:.62;cursor:wait}
.button-outline{border-color:var(--ink);color:var(--ink)}.button-outline:hover{background:var(--forest);color:#fff}
.text-link,.light-link{display:inline-flex;align-items:center;gap:18px;border-bottom:1px solid currentColor;padding-bottom:8px;font-size:14px;font-weight:700;line-height:1.2;transition:gap .2s,color .2s}.text-link:hover,.light-link:hover{gap:25px;color:#94794d}
.hero-phone{display:block;font-size:12px;color:var(--ink-soft);margin-top:43px}.hero-phone strong{color:var(--ink)}
.hero-visual{position:relative;min-height:600px;overflow:hidden;background:#e6e8e4}
.hero-visual img{width:100%;height:100%;object-fit:cover;object-position:52% center}
.photo-note{position:absolute;bottom:20px;right:24px;color:#fff;background:rgba(20,37,34,.58);padding:3px 8px;font-size:10px;letter-spacing:.04em}
.hero-scroll{position:absolute;bottom:34px;left:max(48px,calc((100vw - 1440px)/2));display:flex;align-items:center;gap:15px;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.hero-scroll span{height:1px;width:32px;background:var(--gold)}
.intro-heading{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.65fr);gap:10vw;align-items:end;margin-bottom:72px}
.intro-heading h2{max-width:750px}.intro-heading p{max-width:390px;color:var(--ink-soft);line-height:1.75;padding-bottom:8px}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:0}
.service-item{position:relative;display:flex;flex-direction:column;min-height:235px;padding:26px 34px 35px 0;border-bottom:1px solid var(--line);transition:padding-left .25s,background .25s}
.service-item:nth-child(3n+2),.service-item:nth-child(3n+3){padding-left:32px;border-left:1px solid var(--line)}
.service-item:hover{background:rgba(224,219,205,.35)}
.service-index{font-size:11px;letter-spacing:.12em;color:#88744f;font-weight:700;margin-bottom:25px}
.service-item h3{font-family:var(--font-title);font-size:clamp(1.55rem,1.8vw,2.12rem);line-height:1.2;max-width:260px}
.service-item p{color:var(--ink-soft);font-size:13px;line-height:1.65;max-width:270px;margin-top:14px}
.service-arrow{position:absolute;right:24px;top:25px;font-size:18px;color:#9b825a}
.section-end{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:36px}.section-end p{color:var(--ink-soft);font-size:14px}
.belief{background:var(--forest-deep);color:#f5f2e9;padding-block:clamp(100px,11vw,176px)}
.belief-inner{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.55fr);gap:8vw;align-items:end}
.belief h2{max-width:910px;font-size:clamp(3.4rem,6vw,7rem)}
.belief-copy{padding-bottom:10px}.belief-copy p{max-width:420px;color:#dfebe5;line-height:1.82;font-size:15px}.light-link{color:#e4cf9f;margin-top:35px}
.approach{display:grid;grid-template-columns:1fr 1fr;gap:0;padding-bottom:0;padding-top:0;min-height:680px}
.approach-photo{position:relative;min-height:680px;background:#e5e8e6}.approach-photo img{width:100%;height:100%;object-fit:cover}.approach-photo span{position:absolute;left:24px;bottom:22px;padding:3px 8px;color:#fff;background:rgba(20,37,34,.58);font-size:10px}
.approach-content{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(70px,8vw,130px) clamp(50px,8vw,130px);background:var(--paper-dark)}
.approach-content h2{font-size:clamp(2.7rem,4vw,4.85rem);max-width:650px}.approach-content>p{margin-top:24px;color:var(--ink-soft);max-width:550px;line-height:1.75}
.care-steps{list-style:none;margin:44px 0 35px;padding:0;width:100%;border-top:1px solid #c6c9bc}.care-steps li{display:flex;gap:30px;border-bottom:1px solid #c6c9bc;padding:19px 0}.care-steps li>span{color:#8b7551;font-size:12px;font-weight:700}.care-steps strong{display:block;font-size:15px}.care-steps p{font-size:13px;color:var(--ink-soft);margin-top:3px;line-height:1.5}
.team{display:grid;grid-template-columns:40% 1fr;gap:6vw;align-items:start}
.team-heading{position:sticky;top:126px}.team-heading h2{max-width:510px}.team-heading p{margin-top:25px;max-width:390px;color:var(--ink-soft);line-height:1.75}
.team-list{border-top:1px solid var(--line)}.team-member{display:grid;grid-template-columns:1fr;gap:5px;padding:21px 0;border-bottom:1px solid var(--line)}.team-member h3{font-family:var(--font-title);font-size:clamp(1.45rem,2vw,2.1rem)}.team-member p{font-size:13px;color:var(--ink-soft)}
.team>.button{grid-column:2;justify-self:start;margin-top:-14px}
.gallery-band{background:#dfe5df;padding-block:100px 70px;overflow:hidden}.gallery-heading{display:flex;align-items:end;justify-content:space-between;gap:60px;margin-bottom:40px}.gallery-heading h2{max-width:770px}.gallery-heading p{max-width:260px;color:var(--ink-soft);font-size:14px}
.gallery-track{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;cursor:grab;padding-inline:max(48px,calc((100vw - 1440px)/2));touch-action:pan-x;user-select:none}.gallery-track::-webkit-scrollbar{display:none}.gallery-track.dragging{cursor:grabbing;scroll-snap-type:none}.gallery-slide{flex:0 0 min(47vw,610px);scroll-snap-align:start}.gallery-slide img{width:100%;aspect-ratio:1.43;object-fit:cover;pointer-events:none}.gallery-slide figcaption{display:flex;justify-content:space-between;gap:15px;padding:14px 0;font-size:13px;font-weight:700}.gallery-slide figcaption span{font-size:11px;font-weight:400;color:var(--ink-soft)}
.gallery-controls{display:flex;align-items:center;justify-content:space-between;margin-top:18px}.gallery-controls p{text-transform:uppercase;font-size:11px;letter-spacing:.14em;font-weight:700;color:var(--ink-soft)}.gallery-controls>div{display:flex;gap:10px}.gallery-controls button{display:grid;place-items:center;width:45px;height:45px;border:1px solid #8c9b91;background:transparent;color:var(--ink);font-size:20px;transition:background .2s,color .2s}.gallery-controls button:hover{background:var(--forest);color:white}
.faq{display:grid;grid-template-columns:41% 1fr;gap:9vw}.faq-intro h2{max-width:500px}.faq-intro p{max-width:390px;color:var(--ink-soft);margin-top:24px;line-height:1.75}.faq-intro .text-link{margin-top:34px}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{cursor:pointer;list-style:none;padding:24px 38px 24px 0;position:relative;font-weight:600;font-size:16px}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary::after{content:"+";position:absolute;right:4px;top:17px;font-size:27px;font-weight:300;color:#8b7652}.faq-list details[open] summary::after{content:"−"}.faq-list details p{padding:0 40px 26px 0;color:var(--ink-soft);font-size:14px;max-width:650px}
.contact-section{background:#d9dfd6;padding-block:clamp(90px,9vw,140px)}.contact-inner{display:grid;grid-template-columns:37% 1fr;gap:8vw}.contact-copy h2{max-width:470px}.contact-copy>p{max-width:400px;color:var(--ink-soft);margin-top:26px;line-height:1.8}.contact-direct{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-top:44px;font-size:14px;font-weight:700}.contact-direct a{border-bottom:1px solid currentColor}.contact-direct a:hover{color:#8f754e}
.contact-form{display:grid;gap:20px}.contact-form label{display:flex;flex-direction:column;gap:8px;font-size:12px;font-weight:700;color:var(--ink)}.contact-form label span{font-weight:400}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:22px}.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:1px solid #9baaa0;border-radius:0;background:#eff2ec;color:var(--ink);padding:15px 14px;min-height:52px;outline:none}.contact-form textarea{resize:vertical}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--forest);box-shadow:0 0 0 2px rgba(33,58,55,.15)}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#566760}.honeypot{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.form-bottom{display:flex;justify-content:space-between;align-items:end;gap:30px}.form-bottom p{max-width:350px;font-size:11px;color:var(--ink-soft);line-height:1.5}.form-status{min-height:1.5em;font-size:13px;font-weight:700}.form-status.error{color:#8a2929}.form-status.success{color:#215946}
.location{display:grid;grid-template-columns:35% 1fr;gap:8vw;align-items:stretch}.location-info h2{max-width:450px}.location-info .address{font-weight:700;line-height:1.6;margin-top:32px;max-width:370px}.location-info>p:not(.address){color:var(--ink-soft);font-size:14px;margin-top:10px}.location-info>.text-link{margin-top:26px}.hours{margin-top:52px;border-top:1px solid var(--line);padding-top:26px;max-width:380px}.hours h3{font-family:var(--font-title);font-size:25px;margin-bottom:12px}.hours p{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:10px 0;font-size:13px}.hours strong{font-weight:600}.hours small{display:block;color:var(--ink-soft);font-size:11px;margin-top:15px;line-height:1.6}.map-frame{min-height:530px;background:#e2e8dd}.map-frame iframe{width:100%;height:100%;border:0;display:block}
.footer{background:var(--forest-deep);color:#f6f2e9;padding-top:80px}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:30px;padding-bottom:72px;border-bottom:1px solid rgba(255,255,255,.22)}.footer-wordmark{color:#f6f2e9}.footer-wordmark span{font-size:54px}.footer-wordmark small{font-size:11px}.footer-top p{font-family:var(--font-title);font-size:21px;margin-top:24px;color:#d7dfd7}.footer-cta{font-family:var(--font-title);font-size:clamp(1.8rem,3vw,3.1rem);border-bottom:1px solid currentColor;padding-bottom:5px;white-space:nowrap}.footer-cta span{font-family:var(--font-body);font-size:24px}.footer-cta:hover{color:#dfc794}
.footer-grid{display:grid;grid-template-columns:1fr 1.25fr 1fr;gap:7vw;padding-block:65px 85px}.footer-grid h2{font:700 11px var(--font-body);text-transform:uppercase;letter-spacing:.18em;color:#c9d8ce;margin-bottom:23px}.footer-grid a,.footer-grid p{display:block;max-width:340px;font-size:14px;line-height:1.75;margin-bottom:8px}.footer-grid a:hover,.footer-bottom a:hover{color:#dfc794}.social-links{display:grid;grid-template-columns:repeat(2,max-content);gap:1px 28px}
.footer-bottom{display:flex;justify-content:space-between;gap:30px;align-items:center;border-top:1px solid rgba(255,255,255,.22);padding:22px 0;font-size:11px;color:#cbd7cf}.footer-bottom>div{display:flex;align-items:center;gap:34px}.footer-credit{display:inline-flex;align-items:center;gap:11px}.footer-credit img{display:inline-block;width:105px;height:auto;max-height:32px;filter:brightness(0) invert(1)}
.floating-whatsapp{position:fixed;right:28px;bottom:25px;z-index:49;width:59px;height:59px;display:grid;place-items:center;background:#25d366;border-radius:50%;box-shadow:0 8px 25px rgba(0,0,0,.22);opacity:0;visibility:hidden;transform:translateY(15px);transition:opacity .25s,transform .25s,visibility .25s}.floating-whatsapp.visible{opacity:1;visibility:visible;transform:translateY(0)}.floating-whatsapp img{filter:brightness(0) invert(1);width:29px;height:29px}.floating-whatsapp:hover{background:#1cac54}
@media(max-width:1180px){.shell{width:min(100% - 64px,1440px)}.header-inner{gap:25px}.primary-nav{gap:18px}.hero-copy{padding-left:32px}.hero-scroll{left:32px}.hero h1{font-size:clamp(3.4rem,5.7vw,5.5rem)}.approach-content{padding-inline:60px}}
@media(max-width:900px){.header-inner{height:74px}.site-header .primary-nav{display:none;position:absolute;top:74px;left:0;right:0;background:var(--paper);padding:20px 32px 34px;border-bottom:1px solid var(--line);box-shadow:0 15px 25px rgba(20,40,30,.08)}.site-header .primary-nav.open{display:flex;flex-direction:column;align-items:flex-start;gap:20px}.primary-nav a{font-size:17px}.menu-toggle{display:block}.header-cta{margin-left:auto}.menu-toggle{margin-left:0}.hero{padding-top:74px;grid-template-columns:1fr 1fr;min-height:700px}.hero-copy{padding:70px 28px 90px 32px}.hero h1{font-size:clamp(3rem,5.7vw,4.5rem)}.hero-intro{font-size:14px}.hero-actions{gap:25px}.intro-heading{gap:4vw}.services-grid{grid-template-columns:repeat(2,1fr)}.service-item:nth-child(n){border-left:0;padding-left:0}.service-item:nth-child(2n){padding-left:28px;border-left:1px solid var(--line)}.belief-inner{gap:5vw}.approach{min-height:auto}.approach-photo{min-height:550px}.approach-content{padding:70px 40px}.team{gap:4vw}.gallery-slide{flex-basis:60vw}.faq{gap:5vw}.contact-inner{gap:5vw}.location{gap:5vw}}
@media(max-width:650px){html{scroll-padding-top:70px}.shell{width:calc(100% - 40px)}.section-space{padding-block:80px}.header-inner{height:68px}.wordmark span{font-size:30px}.wordmark small{font-size:8px}.header-cta{display:none}.site-header .primary-nav{top:68px}.hero{padding-top:68px;display:flex;flex-direction:column;min-height:auto}.hero-copy{padding:68px 20px 55px;order:1}.hero-location{margin-bottom:25px;font-size:10px}.hero h1{font-size:clamp(3rem,11vw,4.35rem);max-width:12ch}.hero-intro{font-size:15px;margin-top:23px}.hero-actions{margin-top:28px;gap:22px}.hero-phone{margin-top:28px}.hero-visual{order:2;min-height:auto;height:390px}.hero-visual img{object-position:center 42%}.hero-scroll{display:none}.intro-heading{display:block;margin-bottom:40px}.intro-heading p{margin-top:24px}.services-grid{grid-template-columns:1fr}.service-item:nth-child(n){padding:20px 25px 23px 0;border-left:0;min-height:0}.service-index{margin-bottom:12px}.service-item h3{font-size:1.9rem}.service-item p{margin-top:7px}.section-end{display:block}.section-end .text-link{margin-top:22px}.belief{padding-block:80px}.belief-inner{display:block}.belief h2{font-size:clamp(3.25rem,11.5vw,5rem)}.belief-copy{margin-top:45px}.approach{display:flex;flex-direction:column}.approach-photo{min-height:auto;height:360px}.approach-content{padding:68px 20px 75px}.approach-content h2{font-size:clamp(2.65rem,9.5vw,4rem)}.care-steps{margin-top:30px}.team{display:block}.team-heading{position:static;margin-bottom:42px}.team-heading h2{max-width:500px}.team>.button{margin-top:34px}.gallery-band{padding-block:80px 56px}.gallery-heading{display:block;margin-bottom:30px}.gallery-heading p{margin-top:18px}.gallery-track{padding-inline:20px;gap:12px}.gallery-slide{flex-basis:82vw}.gallery-controls{margin-top:12px}.faq{display:block}.faq-intro{margin-bottom:40px}.faq-list summary{font-size:15px}.contact-section{padding-block:80px}.contact-inner{display:block}.contact-copy{margin-bottom:48px}.contact-direct{margin-top:28px}.form-row{grid-template-columns:1fr;gap:20px}.form-bottom{align-items:stretch;flex-direction:column;gap:20px}.form-bottom button{align-self:flex-start}.location{display:flex;flex-direction:column}.location-info{margin-bottom:38px}.hours{margin-top:38px}.map-frame{min-height:350px}.footer{padding-top:65px}.footer-top{display:block;padding-bottom:50px}.footer-wordmark span{font-size:46px}.footer-cta{display:inline-block;margin-top:44px}.footer-grid{grid-template-columns:1fr 1fr;gap:38px 24px;padding-block:50px}.footer-grid>div:first-child{grid-column:1}.footer-grid>div:nth-child(2){grid-column:2}.footer-grid>div:last-child{grid-column:1/-1}.footer-grid a,.footer-grid p{font-size:12px;overflow-wrap:anywhere}.footer-bottom{display:block}.footer-bottom>div{display:flex;justify-content:space-between;gap:14px;margin-top:17px;flex-wrap:wrap}.floating-whatsapp{right:18px;bottom:18px;width:54px;height:54px}}
@media(max-width:400px){.hero h1{font-size:clamp(2.85rem,11vw,3.5rem)}.hero-actions{align-items:flex-start;flex-direction:column}.hero-visual{height:330px}.footer-grid{display:block}.footer-grid>div+div{margin-top:35px}.gallery-slide{flex-basis:85vw}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Aurea's clinic palette and immersive first screen */
::selection{background:#bee9e8;color:#12364f}
:focus-visible{outline-color:#1b4965}
.site-header,.site-header.scrolled{background:rgba(247,251,253,.97);border-color:rgba(27,73,101,.13)}
.site-header.scrolled{box-shadow:0 8px 32px rgba(27,73,101,.08)}
.wordmark{align-items:center}.wordmark img{width:180px;height:auto;max-height:66px;object-fit:contain}
.primary-nav a:hover,.text-link:hover,.light-link:hover,.contact-direct a:hover{color:#1b4965}
.primary-nav .nav-booking{display:none}
.header-cta:hover,.button-dark:hover{background:#2b6784}
.hero{display:flex;align-items:center;isolation:isolate;min-height:min(850px,100svh);padding-top:84px;background:#1b4965;color:#fff}
.hero-visual{position:absolute;z-index:-2;inset:0;min-height:0;height:100%;background:#1b4965 url('hero-poster.webp') center/cover no-repeat}
.hero-visual video{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.hero::after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(11,42,63,.92) 0%,rgba(15,54,78,.8) 36%,rgba(20,63,83,.23) 78%),linear-gradient(0deg,rgba(10,43,65,.35),transparent 48%);pointer-events:none}
.hero-copy{position:relative;z-index:1;width:100%;padding:80px max(48px,calc((100vw - 1440px)/2)) 100px}
.hero-copy-inner{max-width:720px}.hero-location{color:#bee9e8;margin-bottom:29px}
.hero h1{max-width:12.5ch;font-size:clamp(3.8rem,6vw,7rem);line-height:1.02;text-wrap:balance}
.hero-intro{color:#e4f3f6;max-width:520px}.hero .button-dark{background:#bee9e8;color:#10364f}.hero .button-dark:hover{background:#fff}
.hero .text-link,.hero-phone{color:#fff}.hero .text-link:hover{color:#bee9e8}.hero-scroll{color:#fff}.hero-scroll span{background:#bee9e8}
.photo-note{background:rgba(16,54,79,.68)}
.service-item:hover{background:rgba(190,233,232,.3)}.service-index,.service-arrow,.care-steps li>span,.faq-list summary::after{color:#287d98}
.belief{color:#f5fcfd}.belief-copy p{color:#d6edf2}.light-link{color:#bee9e8}.light-link:hover{color:#fff}
.care-steps,.care-steps li{border-color:#b8d8e2}.gallery-band{background:#e3f3f5}.gallery-controls button{border-color:#82afbe}
.contact-section{background:#dceff4}.contact-form input,.contact-form select,.contact-form textarea{border-color:#94b9c5;background:#f7fbfd}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{box-shadow:0 0 0 2px rgba(98,182,203,.25)}
.footer{color:#f5fcfd}.footer-wordmark img{width:220px;max-height:90px;filter:brightness(0) invert(1)}.footer-top p{color:#cfe6ec}.footer-grid h2,.footer-bottom{color:#c3dfe7}.footer-cta:hover,.footer-grid a:hover,.footer-bottom a:hover{color:#bee9e8}
.social-links{gap:5px 25px}.social-links a{display:inline-flex;align-items:center;gap:9px}.social-links img{width:17px;height:17px;filter:brightness(0) invert(1);flex:none}
.team-heading .team-stock-note{display:block;max-width:390px;margin-top:24px;color:#5a7888;font-size:11px;line-height:1.5}
.team-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 24px;border-top:0}.team-member{display:block;padding:0 0 21px;border-bottom:1px solid var(--line)}
.team-member img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 22%;margin-bottom:15px;background:#cbe5ed;filter:saturate(.78)}
.team-member h3{font-size:clamp(1.3rem,1.65vw,1.8rem);line-height:1.18}.team-member p{margin-top:7px;line-height:1.45}

/* Booking uses real server availability. */
.booking-section{background:#bee9e8}.booking-layout{display:grid;grid-template-columns:minmax(250px,.78fr) minmax(0,1fr);gap:clamp(40px,8vw,150px);align-items:start}
.booking-intro{position:sticky;top:130px}.booking-kicker{font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:#1b4965;margin-bottom:25px}.booking-intro h2{max-width:590px}.booking-intro>p:not(.booking-kicker){max-width:470px;margin-top:24px;color:#284e63;line-height:1.75}.booking-intro .text-link{margin-top:34px}
.booking-panel{background:#f8fcfd;padding:clamp(24px,4.4vw,64px);box-shadow:0 18px 55px rgba(27,73,101,.08)}
.booking-form{display:grid;gap:22px}.booking-row,.booking-contact label{display:flex;flex-direction:column;gap:8px;font-size:12px;font-weight:700}.booking-contact label span{font-weight:400}
.booking-form select,.booking-form input,.booking-form textarea{width:100%;min-height:52px;border:1px solid #98bac5;border-radius:0;background:#fff;color:#12364f;padding:13px 15px;outline:none}.booking-form textarea{resize:vertical}.booking-form select:focus,.booking-form input:focus,.booking-form textarea:focus{border-color:#1b4965;box-shadow:0 0 0 2px rgba(98,182,203,.25)}
.booking-times{border:0;padding:0;margin:0;min-width:0}.booking-times legend{font-size:12px;font-weight:700;margin-bottom:8px}.booking-times>p{font-size:12px;color:#426478;line-height:1.55;margin-bottom:13px}.booking-slots-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.booking-slots-grid button{border:1px solid #a5c8d3;background:#fff;color:#1b4965;padding:9px 4px;min-height:43px;font-size:13px;font-weight:700;transition:background .2s,border-color .2s,color .2s}.booking-slots-grid button:hover,.booking-slots-grid button[aria-pressed="true"]{background:#1b4965;border-color:#1b4965;color:#fff}
.booking-selected{min-height:1.4em;font-size:12px;font-weight:700;color:#1b4965}.booking-contact{display:grid;gap:18px;padding-top:20px;border-top:1px solid var(--line)}.booking-contact-pair{display:grid;grid-template-columns:1fr 1fr;gap:14px}.booking-message{font-size:12px;line-height:1.6;color:#426478}.booking-submit{justify-self:start;min-width:190px}.booking-status{min-height:1.5em;font-size:13px;font-weight:700;line-height:1.5}.booking-status.error{color:#9e3030}.booking-status.success{color:#226c58}.booking-unavailable{padding-block:28px}.booking-unavailable p{margin-bottom:20px}
@media(max-width:1180px){.hero-copy{padding-left:32px;padding-right:32px}}
@media(max-width:900px){.hero{min-height:750px;padding-top:74px}.hero-copy{padding:80px 32px 100px}.hero h1{font-size:clamp(3.3rem,7vw,5.6rem)}.booking-layout{grid-template-columns:1fr;gap:38px}.booking-intro{position:static}.booking-panel{max-width:800px}.team-list{gap:26px 18px}}
@media(max-width:650px){.primary-nav .nav-booking{display:block;color:#1b4965}.wordmark img{width:148px;max-height:57px}.hero{display:flex;min-height:760px;min-height:100svh;padding-top:68px}.hero-copy{order:0;padding:74px 20px 82px}.hero h1{font-size:clamp(3.1rem,11vw,4.8rem);max-width:13ch}.hero-intro{font-size:15px}.hero-visual{order:0;height:100%;min-height:0}.hero-visual video{object-position:62% center}.hero::after{background:linear-gradient(90deg,rgba(10,41,63,.88),rgba(10,41,63,.52)),linear-gradient(0deg,rgba(10,41,63,.65),transparent 65%)}.hero-scroll{display:none}.team-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 14px}.team-member img{margin-bottom:10px}.team-member h3{font-size:1.3rem}.team-member p{font-size:11px}.booking-panel{padding:25px 20px}.booking-slots-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.booking-contact-pair{grid-template-columns:1fr}.footer-wordmark img{width:205px}}
@media(max-width:400px){.hero{min-height:760px}.hero h1{font-size:clamp(2.85rem,11vw,3.7rem)}.hero-actions{align-items:flex-start}.hero-visual{height:100%}.team-member h3{font-size:1.13rem}.booking-slots-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* A geometric display face keeps headings distinct from the body copy. */
h1,h2,h3{font-synthesis:none}
h1,h2{letter-spacing:-.022em;line-height:1.08}
h2{font-size:clamp(2.45rem,4.2vw,4.55rem)}
.hero h1{font-size:clamp(3.25rem,5.5vw,5.9rem);max-width:14ch;line-height:1.02}
.belief h2{font-size:clamp(3.1rem,5.3vw,5.9rem)}
.approach-content h2{font-size:clamp(2.5rem,3.6vw,4.15rem)}
.service-item h3{font-size:clamp(1.45rem,1.65vw,1.9rem)}
.team-member h3{font-size:clamp(1.2rem,1.5vw,1.65rem)}
.footer-cta{font-size:clamp(1.7rem,2.6vw,2.65rem)}
.footer-grid h2{font-family:var(--font-title);font-weight:400;font-size:15px;letter-spacing:0;text-transform:none}
.hero::after{background:linear-gradient(90deg,rgba(12,30,39,.75) 0%,rgba(12,30,39,.51) 39%,rgba(12,30,39,.07) 82%),linear-gradient(0deg,rgba(12,30,39,.17),transparent 48%)}
@media(max-width:900px){.hero h1{font-size:clamp(3rem,6.5vw,5rem)}}
@media(max-width:650px){h2{font-size:clamp(2.35rem,8.2vw,3.45rem)}.hero h1{font-size:clamp(2.85rem,10vw,4.1rem);max-width:14ch}.belief h2{font-size:clamp(2.65rem,9vw,4.2rem)}.approach-content h2{font-size:clamp(2.45rem,8vw,3.5rem)}.hero::after{background:linear-gradient(90deg,rgba(12,30,39,.77),rgba(12,30,39,.38)),linear-gradient(0deg,rgba(12,30,39,.32),transparent 65%)}}
@media(max-width:400px){.hero h1{font-size:clamp(2.65rem,10vw,3.35rem)}.team-member h3{font-size:1.08rem}}

/* Keep the next section below the fold at every viewport size. */
.hero{min-height:100vh;min-height:100svh}
