@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;650;700;800&display=swap');
:root{--navy:#0d2942;--blue:#087b9b;--cyan:#5ad2ee;--muted:#586773;--line:#dfe6eb;--soft:#eef5f8}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:#fff;color:var(--navy);font:16px/1.65 'DM Sans',Arial,sans-serif}h1,h2,h3,p,figure{margin:0}a{color:inherit;text-decoration:none}h1,h2,h3{font-family:Manrope,Arial,sans-serif}a:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:5px}.skip{position:absolute;top:-100px}.skip:focus{top:10px;left:10px;background:white;padding:12px;z-index:20}.wrap{max-width:1440px;margin:auto}.header{min-height:110px;padding:24px 6%;display:flex;justify-content:space-between;align-items:center;gap:26px}.brand{display:flex;align-items:center;gap:12px;font:800 23px/1.05 Manrope,Arial,sans-serif;letter-spacing:-.7px}.brand small{display:block;font-size:11px;letter-spacing:2.7px;margin-bottom:5px}.monogram{width:44px;height:46px;display:grid;place-content:center;background:var(--navy);border-radius:8px;font-size:33px;position:relative;color:white}.monogram span{position:absolute;bottom:6px;right:6px;color:var(--cyan)}.inc{font-size:11px;letter-spacing:0}nav{display:flex;gap:30px;align-items:center;font-size:14px;font-weight:600}.nav-cta{border:1px solid var(--line);padding:12px 18px;border-radius:6px}.nav-cta span{margin-left:18px}.hero{display:grid;grid-template-columns:48% 52%;padding:14px 3% 48px 6%;min-height:665px}.hero-copy{padding:34px 28px 18px 0}.eyebrow{font-size:12px;font-weight:700;letter-spacing:1.7px;line-height:1.6}.hero-copy>.eyebrow:before{content:'';display:inline-block;width:20px;height:2px;background:var(--blue);vertical-align:middle;margin-right:10px}h1{font-size:clamp(48px,5.1vw,74px);font-weight:650;letter-spacing:-3.5px;line-height:1.1;margin-top:24px}em{color:var(--blue);font-style:normal}.intro{font-size:17px;line-height:1.8;color:var(--muted);margin:26px 0}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;background:var(--navy);color:white;padding:17px 24px;border-radius:6px;font-size:15px;font-weight:600;transition:background .2s}.button:hover{background:#164b70}.button>span{font-size:20px}.hero-note{font-size:13px;max-width:320px;color:var(--muted);margin-top:15px}.hero-image{min-height:560px;position:relative;border-radius:14px;background:var(--soft)}.hero-image>img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:63% center;border-radius:14px}.hero-image:after{content:'';position:absolute;inset:0;border-radius:14px;background:linear-gradient(180deg,#00182955,transparent 32%,transparent 70%,#00182945);pointer-events:none}.hero-image figcaption{position:absolute;top:25px;left:27px;color:white;font-size:11px;letter-spacing:2px;z-index:1}.image-card{position:absolute;left:-30px;bottom:40px;z-index:2;background:white;border-radius:9px;padding:21px 28px;box-shadow:0 8px 35px #122e431a;transform:rotate(-4deg)}.image-card>span{font-size:11px;font-weight:700;letter-spacing:1.8px}.image-card strong{display:block;font:650 38px/1.5 Manrope,Arial;letter-spacing:-1.5px}.image-card small{font-size:13px;color:var(--muted)}.photo-note{position:absolute;bottom:12px;right:16px;color:white;font-size:12px;z-index:1}.service-strip{display:flex;justify-content:center;align-items:center;gap:55px;background:var(--navy);color:white;padding:23px 6%;font-size:14px}.service-strip span:nth-child(even){color:var(--cyan);font-size:20px}.section{padding:95px 7%}.service-section{display:grid;grid-template-columns:1fr 1fr;gap:80px}h2{font-size:43px;font-weight:600;letter-spacing:-1.8px;line-height:1.2}.section-heading h2,.faq h2{margin-top:22px}.section-intro{max-width:360px;font-size:18px;color:var(--muted);margin:24px 0}.text-link{display:inline-flex;gap:22px;font-weight:600;font-size:15px;border-bottom:1px solid var(--navy);padding-bottom:5px}.service-row{display:flex;gap:24px;border-top:1px solid var(--line);padding:23px 0}.number{font-size:13px;color:var(--blue);padding-top:4px}.service-row h3{font-size:18px;font-weight:650;line-height:1.5;letter-spacing:-.4px}.service-row p{color:var(--muted);font-size:15px;margin-top:6px}.source-note{font-size:12px;color:var(--muted);margin-top:10px}.contact-section{background:var(--soft)}.contact-inner{padding:83px 7%;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.offer-copy h2{font-size:49px;margin:22px 0}.offer-copy>p:not(.eyebrow){color:var(--muted);font-size:17px;max-width:390px}.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:27px}.tags span{border:1px solid #ccdce6;border-radius:30px;padding:6px 15px;font-size:13px}.contact-card{background:white;border:1px solid #d8e3ea;padding:35px 38px;border-radius:12px;width:100%;max-width:500px;justify-self:end}.contact-card h3{font-size:29px;letter-spacing:-1px;line-height:1.3;margin:19px 0 27px}.check{display:flex;gap:15px;margin:19px 0;align-items:baseline;font-size:15px}.check>span{color:var(--blue);font-size:12px}.contact-card .button{width:100%;margin-top:14px}.fine{font-size:12px;color:var(--muted);margin-top:13px}.faq{display:grid;grid-template-columns:1fr 1fr;gap:65px}.faq h2{font-size:37px}.faq-list details{border-bottom:1px solid var(--line)}summary{cursor:pointer}.faq-list summary{list-style:none;font-size:16px;font-weight:600;padding:22px 30px 22px 0;position:relative}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:'+';position:absolute;right:0;top:16px;font-size:25px;font-weight:400;color:var(--blue)}.faq-list details[open] summary:after{content:'−'}.faq-list details p{font-size:15px;color:var(--muted);padding-bottom:22px}.faq-list p a{text-decoration:underline}.last-call{padding:65px 20px 72px;background:var(--navy);color:white;text-align:center}.last-call .eyebrow{color:var(--cyan)}.last-call h2{font-size:40px;margin:18px 0 27px}.light{background:var(--cyan);color:var(--navy)}.light:hover{background:#94e7fa}footer{padding:48px 7% 24px}.footer-main{display:flex;justify-content:space-between;gap:35px;align-items:flex-start}.footer-main p{font-size:14px;color:var(--muted);margin-top:9px}.footer-main>div>a:first-child{font-size:20px;font-weight:600}.map-link{font-size:14px;display:inline-block;margin-top:9px;text-decoration:underline}.footer-bottom{border-top:1px solid var(--line);margin-top:35px;padding-top:20px;display:flex;justify-content:space-between;gap:35px;font-size:12px;color:var(--muted)}.research{max-width:600px}.research summary{text-align:right}.research p{margin-top:12px}.research a{text-decoration:underline}.mobile-call{display:none}@media(min-width:1441px){.hero{grid-template-columns:48% 52%}}@media(max-width:1000px){h1{font-size:53px;letter-spacing:-2.5px}.hero-image{min-height:530px}.hero-copy{padding-top:25px}.hero{grid-template-columns:49% 51%}.service-section,.contact-inner{gap:45px}.service-strip{gap:24px}h2{font-size:36px}.offer-copy h2{font-size:42px}.contact-card{padding:28px}.header{padding-left:5%;padding-right:5%}nav{gap:20px}}@media(max-width:720px){.header{min-height:90px;padding:20px 6%}.brand{font-size:20px}.brand small{font-size:10px}.monogram{width:38px;height:42px}nav>a:not(.nav-cta){display:none}.nav-cta{font-size:12px;padding:10px}.nav-cta span{display:none}.hero{display:flex;flex-direction:column;padding:8px 6% 40px;gap:30px}.hero-copy{padding:15px 0 0}h1{font-size:clamp(44px,10.5vw,66px);line-height:1.1;letter-spacing:-2.5px}.intro{font-size:16px;margin:22px 0}.hero-image{min-height:390px;margin-left:12px}.image-card{left:-12px;bottom:34px;padding:16px 24px}.image-card strong{font-size:32px}.hero-image figcaption{font-size:10px;letter-spacing:1.1px;left:20px}.service-strip{gap:10px;padding:22px 6%;flex-wrap:wrap;font-size:13px}.service-strip span:nth-child(even){font-size:12px}.section{padding:62px 6%}.service-section,.contact-inner,.faq{grid-template-columns:1fr;gap:36px}.section-heading h2{font-size:36px}.section-intro{font-size:17px;margin:20px 0}.contact-inner{padding:60px 6%}.contact-card{max-width:none;padding:28px}.offer-copy h2{font-size:42px}.faq h2{font-size:35px}.last-call h2{font-size:35px}.footer-main{flex-wrap:wrap;gap:28px}.footer-main>.brand{width:100%}footer{padding:40px 6% 100px}.footer-bottom{display:block}.research{margin-top:15px}.research summary{text-align:left}.mobile-call{position:fixed;bottom:0;left:0;right:0;z-index:10;display:flex;justify-content:space-between;align-items:center;background:var(--navy);color:white;padding:16px 6% calc(16px + env(safe-area-inset-bottom));font-size:16px;font-weight:600;box-shadow:0 -2px 15px #0d294222}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.booking{border-bottom:1px solid var(--line)}.booking-heading{text-align:center;margin-bottom:40px}.booking-heading h2{margin:15px 0}.booking-heading>p:last-child{color:var(--muted);max-width:630px;margin:auto}.booking-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px}.booking h3,.slot-fieldset legend{font:600 20px/1.5 Manrope,Arial}.booking h3>span,.slot-fieldset legend>span{display:inline-grid;place-content:center;background:var(--navy);color:white;width:29px;height:29px;border-radius:50%;font-size:14px;margin-right:8px}.step-note{color:var(--muted);font-size:14px;margin:10px 0 18px}.calendar{border:1px solid var(--line);padding:20px;border-radius:10px;max-width:440px}.calendar-nav{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.calendar-nav button{border:1px solid var(--line);background:white;border-radius:5px;width:38px;height:38px;font-size:23px;color:var(--navy);cursor:pointer}.calendar-nav strong{text-transform:capitalize}.calendar-days,.weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.weekdays span{text-align:center;font-size:13px;padding-bottom:10px;color:var(--muted)}.calendar-days button{font:500 15px 'DM Sans',Arial;min-height:42px;border:0;background:#f2f6f8;color:var(--navy);border-radius:5px;cursor:pointer}.calendar-days button:disabled{background:transparent;color:#b1bac1;cursor:default}.calendar-days button[aria-pressed=true]{background:var(--navy);color:white}.calendar-days button:not(:disabled):hover{box-shadow:inset 0 0 0 2px var(--blue)}.slot-fieldset{border:0;padding:0;margin:0;min-width:0}.slots{display:grid;grid-template-columns:1fr 1fr;gap:12px}.slots label{position:relative;cursor:pointer}.slots input{position:absolute;opacity:0;inset:0}.slots label>span{display:block;text-align:center;border:1px solid var(--line);border-radius:6px;padding:17px 12px;font-weight:600}.slots input:checked+span{border-color:var(--navy);background:var(--navy);color:white}.slots input:focus-visible+span{outline:3px solid var(--blue);outline-offset:3px}.booking-help{padding:22px;background:var(--soft);border-radius:8px;margin-top:28px}.booking-help p{font-size:14px;color:var(--muted);margin:8px 0}.booking-help a{font-weight:700;text-decoration:underline}.client-details{margin-top:32px;padding-top:32px;border-top:1px solid var(--line)}.fields{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:25px}.fields label{font-size:14px;font-weight:600}.fields input,.fields select,.fields textarea{display:block;width:100%;padding:13px 14px;border:1px solid #cdd8e1;border-radius:6px;margin-top:6px;color:var(--navy);background:white;font:16px/1.5 'DM Sans',Arial}.full{grid-column:1/-1}.consent{display:flex;gap:12px;align-items:flex-start;font-size:14px;margin:25px 0 16px}.consent input{width:18px;height:18px;flex-shrink:0;accent-color:var(--navy);margin-top:3px}.booking-notice{font-size:14px;background:var(--soft);padding:15px 18px;border-radius:6px;margin-bottom:22px;color:var(--muted)}button.button{border:0;cursor:pointer;font-family:inherit}.button:disabled{opacity:.6;cursor:wait}#booking-message{margin-top:20px;font-weight:600}#booking-message.error{color:#ae2929}.calendar button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible{outline:3px solid var(--blue);outline-offset:3px}@media(max-width:720px){.booking-grid{grid-template-columns:1fr;gap:28px}.calendar{max-width:none}.fields{grid-template-columns:1fr}.booking-heading{text-align:left}.booking h2{font-size:35px}.slot-fieldset legend,.booking h3{font-size:18px}.booking .button{width:100%}}
