@font-face{font-family:"DM Sans";src:url("/assets/dm-sans.woff2") format("woff2");font-display:swap;font-weight:300 700;font-style:normal}
@font-face{font-family:Quicksand;src:url("/assets/quicksand.woff2") format("woff2");font-display:swap;font-weight:600 700;font-style:normal}
:root{--blue:#0350a0;--blue-dark:#00366f;--navy:#032f5f;--ink:#343434;--muted:#626a73;--cloud:#f2f6fb;--line:#d9e1ea;--white:#fff;--gold:#f5a623;--danger:#b42318;--radius:14px;--shadow:0 18px 50px rgba(1,41,83,.14)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{margin:0;color:var(--ink);background:var(--white);font-family:"DM Sans",Arial,sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased}
body.dialog-open{overflow:hidden}
a{color:inherit}
img{display:block;max-width:100%;height:auto}
button,input,textarea{font:inherit}
button,a{touch-action:manipulation}
:focus-visible{outline:3px solid #f5a623;outline-offset:3px}
h1,h2,h3,h4,p{margin-top:0}
h1,h2,h3{font-family:"DM Sans",Arial,sans-serif;line-height:1.15}
h2{font-size:clamp(2rem,4vw,3.3rem);letter-spacing:-.025em;margin-bottom:1.3rem}
h3{line-height:1.25}
.shell{width:min(1180px,calc(100% - 40px));margin-inline:auto}
.section{padding:clamp(70px,8vw,110px) 0}
.skip-link{position:fixed;top:12px;left:12px;z-index:1000;padding:10px 16px;background:#fff;color:var(--blue);transform:translateY(-160%);border-radius:8px;font-weight:700}.skip-link:focus{transform:none}
.site-header{position:sticky;top:0;z-index:50;background:var(--blue);color:#fff;box-shadow:0 3px 18px rgba(0,0,0,.16)}
.header-inner{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none}.brand-mark{width:36px;height:44px}.brand strong,.brand small{display:block;text-transform:uppercase;line-height:1.15}.brand strong{font-family:Quicksand,sans-serif;font-size:17px;letter-spacing:.02em}.brand small{font-size:9px;letter-spacing:.2em;opacity:.8;margin-top:4px}
.header-actions{display:flex;align-items:center;gap:22px}.phone-link{font-weight:700;text-decoration:none;font-size:18px}
.button{min-height:46px;display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:7px;padding:11px 20px;font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}
.button:hover{transform:translateY(-1px)}.button:disabled{cursor:not-allowed;opacity:.65;transform:none}
.button--primary{background:var(--blue);color:#fff;box-shadow:0 8px 20px rgba(3,80,160,.22)}.button--primary:hover{background:var(--blue-dark)}
.button--light{background:#fff;color:var(--blue)}.button--outline{border-color:rgba(255,255,255,.72);color:#fff;background:rgba(255,255,255,.04)}
.button--ghost{border-color:var(--line);background:#fff;color:var(--ink)}
.hero{position:relative;min-height:720px;padding:72px 0;background:url("/assets/hero.webp") center/cover no-repeat;color:#fff;isolation:isolate}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,43,89,.96) 0%,rgba(0,57,115,.88) 44%,rgba(0,39,76,.48) 100%);z-index:-1}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(360px,.72fr);gap:64px;align-items:center}
.hero h1{font-size:clamp(2.5rem,5vw,4.7rem);letter-spacing:-.04em;margin-bottom:26px}.hero h1 span,.hero h1 em{display:block}.hero h1 span{color:#fff}.hero h1 em{font-size:.55em;font-style:normal;color:#bcdcff;margin-top:10px;letter-spacing:-.01em}
.hero-lede{max-width:650px;font-size:20px;color:rgba(255,255,255,.88)}
.trust-list{display:flex;flex-wrap:wrap;gap:11px 18px;list-style:none;padding:0;margin:26px 0}.trust-list li{font-size:13px;font-weight:600}.trust-list li::before{content:"◆";color:#8fc2f5;font-size:9px;margin-right:8px}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px}
.appointment-card{background:#fff;color:var(--ink);padding:32px;border-radius:var(--radius);box-shadow:var(--shadow)}
.appointment-card--hero{background:linear-gradient(var(--blue),var(--blue)) 0 0/100% 130px no-repeat,#fff}.appointment-card--hero>.eyebrow,.appointment-card--hero>h2,.appointment-card--hero>.form-intro{color:#fff}.appointment-card--hero>.eyebrow::before{background:#cfe5fb}
.appointment-card h2,.appointment-card h3{margin-bottom:8px;font-size:27px}.appointment-card .eyebrow{margin-bottom:8px}.form-intro{color:var(--muted);font-size:14px;margin-bottom:28px}.hero-form-call{margin:18px 0 0;padding-top:15px;border-top:1px solid var(--line);text-align:center;font-size:12px;color:var(--muted)}.hero-form-call a{color:var(--blue);font-weight:700;text-decoration:none}
.appointment-form{display:grid;gap:13px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field{min-width:0}.field label{display:block;font-size:12px;line-height:1.3;font-weight:700;margin:0 0 6px}.field label span{color:var(--blue)}
.field input,.field textarea{width:100%;border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:#212529;padding:11px 12px;line-height:1.35;transition:border .2s,box-shadow .2s}.field textarea{resize:vertical}.field input:focus,.field textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(3,80,160,.14)}.field input[aria-invalid="true"],.field textarea[aria-invalid="true"]{border-color:var(--danger)}
.field-help{font-size:11px;color:var(--muted);margin:5px 0 0}.honeypot{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.form-error{background:#fff1f0;color:var(--danger);border-left:3px solid var(--danger);padding:10px 12px;margin:0;font-size:13px}.submit-button{width:100%;margin-top:2px}.privacy-note{text-align:center;color:#667085;font-size:11px;margin:0}
.eyebrow{display:flex;align-items:center;gap:10px;color:#4a5562;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.18em}.eyebrow::before{content:"";width:9px;height:9px;background:var(--blue);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}.eyebrow--light{color:rgba(255,255,255,.72)}.eyebrow--light::before{background:rgba(255,255,255,.72)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.split--reverse>.content-block{order:2}.content-block>p:not(.eyebrow){color:var(--muted);font-size:17px}.text-link{display:inline-flex;gap:10px;color:var(--blue);font-weight:700;text-decoration:none;text-transform:uppercase;letter-spacing:.08em;font-size:13px;margin-top:12px}
.image-card{position:relative;margin:0}.image-card>img,.feature-image{border-radius:var(--radius);aspect-ratio:3/2;object-fit:cover}.image-card figcaption{position:absolute;right:20px;bottom:-26px;min-width:220px;display:grid;grid-template-columns:auto 1fr;gap:0 10px;align-items:center;background:#fff;padding:15px 18px;border-radius:10px;box-shadow:var(--shadow)}.image-card figcaption strong{font-size:23px;color:var(--blue)}.image-card figcaption>span:last-child{grid-column:1/-1;font-size:11px}.stars{color:var(--gold);letter-spacing:1px}
.services-section{background:var(--cloud);text-align:center}.services-section .eyebrow{justify-content:center}.section-lede{max-width:700px;margin:0 auto 40px;color:var(--muted);font-size:17px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;text-align:left}.service-card{background:#fff;border-radius:11px;overflow:hidden;box-shadow:0 6px 24px rgba(0,48,99,.08);transition:transform .25s,box-shadow .25s}.service-card:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(0,48,99,.13)}.service-card img{width:100%;height:190px;object-fit:cover}.service-card div{padding:21px}.service-card h3{font-size:19px;margin-bottom:6px}.service-card p{color:var(--muted);font-size:14px;margin:0}
.biomimetic-section{background:var(--blue);color:#fff}.biomimetic-section .content-block>p:not(.eyebrow){color:rgba(255,255,255,.77)}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:30px 0}.stat-grid div{border-left:1px solid rgba(255,255,255,.25);padding-left:14px}.stat-grid strong,.stat-grid span{display:block}.stat-grid strong{font-family:Quicksand,sans-serif;font-size:31px}.stat-grid span{font-size:11px;line-height:1.3;color:rgba(255,255,255,.72)}
.choice-section{text-align:center}.choice-section .eyebrow{justify-content:center}.choice-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);text-align:left}.choice-grid article{padding:34px 26px;border-right:1px solid var(--line)}.choice-grid article:last-child{border-right:0}.choice-grid article>span{font-family:Quicksand,sans-serif;color:#2f6fae;font-size:28px}.choice-grid h3{font-size:18px;margin:12px 0}.choice-grid p{font-size:14px;color:var(--muted);margin:0}
.location-section{background:var(--navy);color:#fff}.location-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center}.location-section address{font-style:normal;font-size:17px}.location-section p{color:rgba(255,255,255,.7)}.phone-callout{font-family:Quicksand,sans-serif;font-size:26px;font-weight:700}.area-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.area-grid li{padding:13px 14px;border:1px solid rgba(255,255,255,.18);border-radius:7px;font-size:13px;background:rgba(255,255,255,.04)}
.final-cta{background:#f6f8fa}.final-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:70px;align-items:center}.final-copy p:not(.eyebrow){font-size:18px;color:var(--muted)}
.site-footer{background:#032341;color:#fff;padding:60px 0 100px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:60px}.footer-grid strong,.footer-grid small{display:block;text-transform:uppercase}.footer-grid strong{font-family:Quicksand,sans-serif;font-size:18px}.footer-grid small{font-size:10px;letter-spacing:.18em;opacity:.65}.footer-grid p{color:rgba(255,255,255,.68);font-size:14px;margin-top:14px}.footer-grid h4{text-transform:uppercase;letter-spacing:.12em;font-size:12px}.footer-bottom{border-top:1px solid rgba(255,255,255,.14);margin-top:44px;padding-top:22px;display:flex;justify-content:space-between;gap:24px;font-size:11px;color:rgba(255,255,255,.6)}.footer-bottom a{margin-left:20px}
.cookie-banner{position:fixed;z-index:100;left:20px;right:20px;bottom:20px;max-width:1180px;margin:auto;display:grid;grid-template-columns:1fr auto;align-items:center;gap:28px;padding:22px 24px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 24px 70px rgba(0,25,54,.25)}.cookie-banner[hidden]{display:none}.cookie-banner strong{font-family:Quicksand,sans-serif}.cookie-banner p{font-size:13px;color:var(--muted);margin:3px 0}.cookie-banner a{font-size:12px;color:var(--blue)}.cookie-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}
.consent-dialog{width:min(620px,calc(100% - 28px));border:0;border-radius:14px;padding:0;box-shadow:0 30px 90px rgba(0,24,55,.35)}.consent-dialog::backdrop{background:rgba(0,20,42,.62)}.consent-dialog form{padding:28px}.dialog-header{display:flex;justify-content:space-between;gap:20px}.dialog-header h2{font-size:28px;margin-bottom:14px}.icon-button{width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:#fff;font-size:25px;line-height:1;cursor:pointer}.preference-row{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:17px 0;border-top:1px solid var(--line)}.preference-row p{margin:2px 0 0;color:var(--muted);font-size:13px}.preference-row>span{font-size:12px;font-weight:700;color:var(--blue)}.preference-row input{width:24px;height:24px;accent-color:var(--blue)}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.consent-reopen{position:fixed;z-index:60;left:16px;bottom:16px;border:1px solid #b9c9d9;border-radius:999px;background:#fff;color:var(--blue);padding:9px 14px;font-size:11px;font-weight:700;box-shadow:0 5px 18px rgba(0,32,67,.16);cursor:pointer}
.mobile-actions{display:none}.noscript-notice{position:fixed;z-index:110;top:0;left:0;right:0;padding:10px;text-align:center;background:#fff4ce;color:#4d3900;margin:0}.error-page{min-height:100vh;display:grid;place-items:center;background:var(--cloud);padding:30px}.error-page main{width:min(680px,100%);background:#fff;padding:50px;border-radius:var(--radius);box-shadow:var(--shadow)}.error-page h1{font-size:clamp(2.5rem,7vw,5rem)}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
@media (max-width:980px){.hero-grid,.split,.location-grid,.final-grid{grid-template-columns:1fr;gap:48px}.hero{padding-top:54px}.hero-copy{max-width:760px}.appointment-card--hero{max-width:620px}.split--reverse>.content-block{order:initial}.service-grid{grid-template-columns:repeat(2,1fr)}.choice-grid{grid-template-columns:repeat(2,1fr)}.choice-grid article:nth-child(2){border-right:0}.choice-grid article:nth-child(-n+2){border-bottom:1px solid var(--line)}.footer-grid{grid-template-columns:1.5fr 1fr}.footer-grid>div:last-child{grid-column:1/-1}.cookie-banner{grid-template-columns:1fr}.cookie-actions{justify-content:flex-start}}
@media (max-width:680px){html{scroll-padding-top:70px}.shell{width:min(100% - 28px,1180px)}.section{padding:64px 0}.site-header{position:relative}.header-inner{min-height:66px}.brand-mark{width:29px;height:36px}.brand strong{font-size:14px}.header-actions .phone-link,.header-actions .button{display:none}.hero{min-height:auto;padding:48px 0;background-image:url("/assets/hero-mobile.jpg");background-position:62% center}.hero-overlay{background:linear-gradient(180deg,rgba(0,42,84,.96),rgba(0,48,97,.84))}.hero-grid{gap:36px}.hero h1{font-size:clamp(2.2rem,11vw,3.3rem)}.hero-lede{font-size:17px}.trust-list{display:grid}.hero-actions .button{flex:1}.appointment-card{padding:24px 20px}.form-grid{grid-template-columns:1fr}.image-card figcaption{position:relative;right:auto;bottom:auto;margin:-30px 14px 0}.service-grid,.choice-grid,.area-grid,.footer-grid{grid-template-columns:1fr}.service-card img{height:180px}.stat-grid{gap:8px}.stat-grid strong{font-size:25px}.choice-grid article{border-right:0;border-bottom:1px solid var(--line)!important}.choice-grid article:last-child{border-bottom:0!important}.final-grid{gap:34px}.footer-grid>div:last-child{grid-column:auto}.footer-bottom{display:grid;padding-bottom:20px}.footer-bottom a{margin:0 18px 0 0}.site-footer{padding-bottom:150px}.cookie-banner{left:10px;right:10px;bottom:76px;padding:18px;max-height:calc(100vh - 100px);overflow:auto}.cookie-actions{display:grid;grid-template-columns:1fr;width:100%}.cookie-actions .button{width:100%}.dialog-actions{display:grid}.consent-reopen{bottom:70px}.mobile-actions{position:fixed;z-index:55;display:grid;grid-template-columns:1fr 1.4fr;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--line);box-shadow:0 -8px 22px rgba(0,32,67,.12)}.mobile-actions a{min-height:58px;display:grid;place-items:center;text-decoration:none;text-transform:uppercase;font-size:12px;font-weight:700;letter-spacing:.06em;color:var(--blue)}.mobile-actions a:last-child{background:var(--blue);color:#fff}}
