@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&display=swap";
:root{--ink:#172a35;--blue:#378ace;--deep:#143e5a;--orange:#ec8b2e;--paper:#faf9f6;--muted:#62747d;--line:#dce3e5;--hero-shift:0px;--scroll-progress:0%;color:var(--ink);background:var(--paper);font-synthesis:none;font-family:DM Sans,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit}a{color:inherit;text-decoration:none}img{width:100%;height:auto;display:block}button{border:0}button:focus-visible,a:focus-visible{outline:3px solid var(--orange);outline-offset:5px}p{line-height:1.65}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:500}h1,h2{letter-spacing:-.065em;line-height:1.06}h2{margin-bottom:30px;font-size:clamp(40px,5vw,72px)}h2 span{color:var(--blue)}h3{letter-spacing:-.04em;font-size:27px}.eyebrow{letter-spacing:.15em;text-transform:uppercase;margin-bottom:28px;font-size:11px;font-weight:650}.skip{z-index:100;background:#fff;padding:14px;position:fixed;top:-80px;left:20px}.skip:focus{top:15px}.header{z-index:20;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--line);background:#faf9f6f5;justify-content:space-between;align-items:center;padding:22px 5vw;display:flex;position:sticky;top:0}.header:after{content:"";background:var(--blue);height:2px;width:var(--scroll-progress);position:absolute;bottom:-1px;left:0}.brand{mix-blend-mode:multiply;width:205px}.nav{gap:35px;font-size:13px;display:flex}.nav a{position:relative}.nav a:after{content:"";background:var(--blue);transform-origin:0;width:100%;height:1px;transition:transform .3s;position:absolute;bottom:-6px;left:0;transform:scaleX(0)}.nav a:hover:after{transform:scaleX(1)}.header-actions{align-items:center;gap:12px;display:flex}.button{color:#fff;background:var(--deep);border-radius:4px;justify-content:space-between;align-items:center;gap:38px;min-height:56px;padding:19px 23px;font-size:14px;transition:background .25s,transform .25s;display:inline-flex}.button:hover{background:#256186;transform:translateY(-2px)}.arrow-icon{vertical-align:middle;flex-shrink:0;width:24px;height:24px;transition:transform .25s;display:inline-block}.button:hover .arrow-icon,.text-link:hover .arrow-icon{transform:translate(2px,-2px)}.small{gap:24px;min-height:44px;padding:12px 17px;font-size:12px}.menu-toggle{width:44px;height:44px;color:var(--ink);background:0 0;padding:10px;display:none}.text-link{border-bottom:1px solid var(--ink);color:var(--ink);background:0 0;justify-content:space-between;align-items:center;gap:24px;padding:10px 0;font-size:13px;display:inline-flex}.hero{grid-template-columns:1.03fr 1fr;gap:4vw;padding:45px 5vw 0;display:grid;position:relative}.hero-copy{padding:38px 0 35px}.dot{background:var(--orange);border-radius:50%;width:7px;height:7px;margin-right:10px;display:inline-block}.hero h1{margin-bottom:25px;font-size:clamp(58px,6.3vw,94px);animation:.9s both enter}.hero h1 span{color:var(--blue)}.hero-description{color:var(--muted);margin-bottom:30px;font-size:16px}.hero-copy>.text-link{border:0;width:max-content;margin-top:22px;display:flex}.hero-photo{background:#d6c9bb;border-radius:130px 5px 5px;min-height:550px;position:relative;overflow:hidden}.hero-photo>img{object-fit:cover;object-position:57% center;height:100%;transform:translateY(var(--hero-shift)) scale(1.18);animation:1.5s both photo-enter;position:absolute;inset:0}.hero-photo:after{content:"";pointer-events:none;background:linear-gradient(#0000,#181a1980);position:absolute;inset:50% 0 0}.photo-note{z-index:1;color:#fff;gap:12px;display:grid;position:absolute;bottom:66px;left:35px}.note-label{letter-spacing:.16em;font-size:10px}.photo-note>span:last-child{letter-spacing:-.04em;font-size:33px}.photo-coordinate{color:#fff;z-index:1;letter-spacing:.14em;font-size:9px;position:absolute;bottom:29px;left:35px}.hero-footer{border-bottom:1px solid var(--line);letter-spacing:.14em;color:var(--muted);grid-column:1/-1;justify-content:space-between;align-items:center;padding:27px 0;font-size:10px;display:flex}.section{padding:100px 5vw}.intro{grid-template-columns:1fr 2fr 1fr;align-items:start;gap:45px;display:grid}.intro>div>p{color:var(--muted);max-width:530px;font-size:16px}.intro h2{font-size:clamp(38px,4vw,58px)}.intro-aside{padding-top:8px}.sun{color:var(--orange);margin-bottom:25px;font-size:75px;line-height:1;display:block}.intro-aside p{font-size:13px!important}.services{background:#eff3f3}.section-heading{justify-content:space-between;align-items:end;margin-bottom:42px;display:flex}.section-heading h2{margin-bottom:0}.section-heading>p{color:var(--muted);max-width:310px;font-size:15px}.filters{gap:8px;margin-bottom:32px;display:flex}.filters button{color:var(--ink);background:0 0;border:1px solid #c8d3d6;border-radius:30px;padding:12px 20px;font-size:12px;transition:background .2s}.filters button[aria-pressed=true]{background:var(--deep);border-color:var(--deep);color:#fff}.service-grid{grid-template-columns:repeat(3,1fr);gap:44px 28px;display:grid}.service-image{aspect-ratio:1.3;background:#d6dcdd;border-radius:4px;position:relative;overflow:hidden}.service-image img{object-fit:cover;height:100%;transition:transform .65s cubic-bezier(.2,.6,.3,1)}.service:hover .service-image img{transform:scale(1.045)}.service-copy{padding-top:23px}.service-copy .eyebrow{color:var(--muted);margin-bottom:10px;font-size:9px}.service h3{margin-bottom:12px}.service-copy>p:not(.eyebrow){color:var(--muted);max-width:330px;min-height:44px;margin-bottom:15px;font-size:13px}.service .text-link{border-color:#c7d4d8;width:100%}.pause{background:var(--deep);color:#fff;padding:110px 5vw;position:relative;overflow:hidden}.pause-inner{z-index:2;position:relative}.pause .eyebrow{color:#a6c5d8}.pause h2{margin-bottom:35px;font-size:clamp(44px,6vw,88px)}.pause h2 em{color:#a7cde7;font-style:normal}.light{background:var(--paper);color:var(--deep)}.light:hover{background:#fff}.orbit{border:1px solid #456e88;border-radius:50%;width:590px;height:590px;position:absolute;top:40px;right:-160px}.orbit:before,.orbit:after{content:"";border:1px solid #456e88;border-radius:50%;position:absolute;inset:55px}.orbit:after{inset:110px}.team{grid-template-columns:1fr 1.2fr;gap:8vw;display:grid}.section-description{color:var(--muted);font-size:15px}.team-list{padding-top:25px}.team-list article{border-top:1px solid var(--line);align-items:center;gap:20px;padding:28px 0;display:flex}.person-initial{width:68px;height:68px;color:var(--blue);background:#d9e9f2;border-radius:50%;justify-content:center;align-items:center;font-size:32px;display:flex}.orange{color:#b9681c;background:#f7e5d2}.team-list h3{margin-bottom:5px;font-size:25px}.team-list p{color:var(--muted);margin-bottom:0;font-size:12px}.person-tag{letter-spacing:.12em;color:var(--muted);margin-left:auto;font-size:9px}.team-note{border-top:1px solid var(--line);padding-top:20px}.team-note a{color:var(--ink);text-decoration:underline}.visit{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:10vw;display:grid}.address{letter-spacing:-.02em;font-size:23px}.visit>div>p:not(.eyebrow):not(.address){color:var(--muted);font-size:14px}.visit .button{margin-top:20px}.visit-details{padding-top:25px}.visit-details h3{font-size:20px}.visit dl{margin:0 0 42px}.visit dl div{border-bottom:1px solid var(--line);justify-content:space-between;padding:17px 0;font-size:13px;display:flex}.visit dd{color:var(--muted);margin:0}.contact a{letter-spacing:-.035em;justify-content:space-between;padding:13px 0;font-size:20px;display:flex}.last-call{background:#dceaf2;padding:65px 5vw}.last-call .eyebrow{margin-bottom:20px}.last-call button{width:100%;color:var(--deep);letter-spacing:-.065em;text-align:left;background:0 0;justify-content:space-between;font-size:clamp(40px,7vw,100px);line-height:1.15;display:flex}.last-call .arrow-icon{color:var(--blue);width:1em;height:1em}footer{grid-template-columns:1fr 1fr;align-items:start;gap:30px;padding:45px 5vw;display:grid}.footer-brand{letter-spacing:-.03em;font-size:23px;font-weight:650}.footer-brand span{letter-spacing:.15em;margin-top:7px;font-size:8px;font-weight:500;display:block}footer>div{justify-content:end;gap:24px;font-size:12px;display:flex}footer>p{color:var(--muted);grid-column:1/-1;margin:0;font-size:10px}.mobile-book{display:none}.booking-dialog{width:min(900px,94vw);max-width:calc(100vw - 20px);max-height:92dvh;color:var(--ink);background:var(--paper);border:0;border-radius:10px;padding:28px}.booking-dialog::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0d2436a6}.booking-header{justify-content:space-between;align-items:start;gap:20px;display:flex}.booking-header .eyebrow{margin-bottom:10px}.booking-header h2{margin-bottom:12px;font-size:32px}.close{color:var(--ink);background:#e7ecee;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:18px;display:flex}.booking-intro,.booking-fallback{color:var(--muted);font-size:12px}.booking-consent{border:1px solid var(--line);text-align:center;padding:40px 20px}.booking-consent p{font-size:14px}.booking-frame{border:1px solid var(--line);background:#fff;width:100%;height:60dvh;min-height:360px;display:block}.booking-fallback{margin-top:18px;margin-bottom:0}.booking-fallback a{color:var(--deep);text-decoration:underline}[data-reveal]{opacity:1}@media (prefers-reduced-motion:no-preference){.motion-ready [data-reveal]{opacity:0;transition:opacity .75s,transform .75s cubic-bezier(.16,1,.3,1);transform:translateY(25px)}[data-reveal].in-view{opacity:1;transform:none}}@keyframes enter{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}@keyframes photo-enter{0%{opacity:0}to{opacity:1}}@media (min-width:1600px){.header,.hero,.section,.pause,.last-call,footer{padding-left:max(5vw,50vw - 720px);padding-right:max(5vw,50vw - 720px)}.hero{gap:65px}}@media (max-width:1050px){.nav{gap:20px}.brand{width:165px}.hero{gap:25px}.hero h1{font-size:65px}.hero-photo{min-height:520px}.intro{grid-template-columns:.7fr 2fr}.intro-aside{display:none}.team{gap:45px}.person-tag{display:none}.section{padding-top:75px;padding-bottom:75px}.service-grid{gap:36px 20px}.service h3{font-size:25px}}@media (max-width:760px){html{scroll-padding-top:90px}.header{padding:15px 5vw}.brand{width:145px}.header .small{gap:12px;min-height:38px;padding:10px 12px;font-size:11px}.header .small .arrow-icon{width:18px;height:18px}.menu-toggle{display:block}.nav{background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;gap:25px;padding:25px 5vw;font-size:18px;display:none;position:absolute;top:100%;left:0;right:0}.nav.open{text-align:center;display:flex}.hero{padding-top:0;display:block}.hero-copy{text-align:center;padding:45px 0 35px}.hero-copy>.text-link{margin-left:auto;margin-right:auto}.hero .eyebrow{margin-bottom:22px;font-size:9px}.hero h1{font-size:clamp(55px,10.5vw,75px);line-height:1.04}.hero-description{font-size:15px}.hero-photo{border-top-left-radius:100px;height:440px;min-height:0}.hero-footer{text-align:center;grid-template-columns:1fr 1fr;gap:18px;font-size:9px;display:grid}.section{padding:65px 5vw}.intro{text-align:center;display:block}.intro>div>p{margin-left:auto;margin-right:auto}.intro>.eyebrow{margin-bottom:32px}.intro h2{font-size:44px}.intro>div>p{font-size:15px}.section-heading{text-align:center;margin-bottom:30px;display:block}.section-heading>p{margin-left:auto;margin-right:auto}.section-heading h2{margin-bottom:24px;font-size:50px}.section-heading>p{font-size:14px}.filters{flex-wrap:wrap;justify-content:center;gap:6px}.filters button{padding:10px 13px;font-size:11px}.service-grid{grid-template-columns:1fr 1fr;gap:35px 16px}.service-image{aspect-ratio:.9}.service h3{min-height:55px;font-size:24px;line-height:1.15}.service-copy .eyebrow{letter-spacing:.09em;font-size:8px}.service-copy>p:not(.eyebrow){min-height:78px;font-size:12px}.service .text-link{gap:8px;font-size:11px}.service-copy{padding-top:18px}.pause{text-align:center;padding:75px 5vw}.pause h2{font-size:46px}.orbit{width:370px;height:370px;top:80px;right:-220px}.team,.visit{display:block}.team>div:first-child,.visit>div:first-child,.visit-details h3,.team-note{text-align:center}.team-list{padding-top:15px}.team-list article{text-align:center;flex-direction:column;gap:12px;padding:28px 0}.team-list article h3{margin-bottom:7px}.team h2,.visit h2{font-size:48px}.person-initial{width:55px;height:55px;font-size:27px}.visit-details{padding-top:55px}.visit dl div{font-size:13px}.last-call{text-align:center;padding:45px 5vw}.last-call button{font-size:50px}footer{text-align:center;padding-bottom:110px;display:block}footer>div{justify-content:center;margin:30px 0}footer>p{font-size:9px}.mobile-book{z-index:19;background:var(--paper);border-top:1px solid var(--line);padding:10px 5vw calc(10px + env(safe-area-inset-bottom));grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:12px;font-size:12px;display:grid;position:fixed;bottom:0;left:0;right:0}.mobile-book>a{border:1px solid var(--deep);width:100%;min-width:0;min-height:52px;color:var(--deep);background:0 0;border-radius:4px;justify-content:center;align-items:center;padding:12px 14px;display:inline-flex}.mobile-book>a:hover{background:#e5edf1}.mobile-book>button{background:var(--deep);color:#fff;border-radius:4px;justify-content:center;align-items:center;gap:14px;width:100%;min-width:0;max-width:none;min-height:52px;margin:0;padding:13px 18px;display:flex}.booking-dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 20px);padding:20px 16px}.booking-header{text-align:center;justify-content:center;padding-top:44px;position:relative}.booking-header .close{width:40px;height:40px;position:absolute;top:0;right:0}.booking-intro,.booking-fallback{text-align:center}.photo-note,.photo-coordinate{text-align:center;left:20px;right:20px}.booking-consent{padding:24px 12px}.booking-header h2{font-size:29px}.booking-frame{height:55dvh;min-height:280px}.desktop{display:none}}@media (max-width:380px){.brand{width:125px}.hero h1{font-size:52px}.service-grid{grid-template-columns:1fr}.service-image{aspect-ratio:1.25}.service h3,.service-copy>p:not(.eyebrow){min-height:0}.header-actions{gap:6px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}.hero-photo>img{transform:scale(1.05)}}.contact{text-align:center}.contact a{justify-content:center;align-items:center;gap:16px;min-height:48px}.contact a .arrow-icon{flex-shrink:0}
