@font-face{font-family:Manrope;src:url(manrope.woff2) format('woff2');font-weight:200 800;font-display:swap}
:root{--ink:#20242a;--muted:#59636e;--brand:#0089cc;--action:#006c9f;--paper:#f0f8fc;--line:#d8e7ee;font-family:Manrope,Arial,sans-serif;color:var(--ink);background:#fff;font-synthesis:none;scroll-behavior:smooth;scroll-padding-top:150px}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,summary{touch-action:manipulation}button,summary{cursor:pointer}img{max-width:100%;height:auto;display:block}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.15;letter-spacing:-.045em}p{line-height:1.8}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--brand);outline-offset:4px}.container{width:min(1150px,calc(100% - 80px));margin-inline:auto}.section{padding-block:80px}.skip{position:fixed;top:-100px;left:15px;background:#fff;padding:14px;z-index:100}.skip:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.header{position:sticky;top:0;z-index:30;background:#fff;border-bottom:1px solid var(--line)}.header-main{min-height:105px;display:flex;align-items:center;justify-content:space-between;gap:25px;position:relative}.brand{display:block;width:115px;flex-shrink:0}.brand img{width:100%;height:90px;object-fit:contain}.desktop-nav{display:flex;align-items:center;gap:27px;font-size:11px;font-weight:750}.desktop-nav>a{padding:15px 0}.desktop-nav>a:hover{color:var(--action)}.desktop-nav .nav-cta{padding:13px 20px;background:var(--action);color:#fff;border-radius:7px}.contact-bar{background:var(--paper);color:#31566b;font-size:10px;overflow:hidden}.contact-bar>.container{min-height:33px;display:flex;align-items:center;justify-content:end;gap:30px}.contact-bar a{padding:7px 0}.contact-bar a:hover{text-decoration:underline}.mobile-menu{display:none}.eyebrow{font-size:9px;font-weight:800;letter-spacing:.14em;color:var(--action);margin-bottom:23px;display:flex;align-items:center;gap:9px}.eyebrow>span{width:7px;height:7px;background:var(--brand);border-radius:50%}.hero{display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:75px;padding-block:55px 70px}.hero h1{font-size:clamp(52px,5.5vw,76px);font-weight:800;line-height:1.08;margin-bottom:28px}.hero h1>span{color:var(--brand)}.hero .lead{font-size:17px;color:#465463;margin-bottom:15px}.hero-copy>p:not(.eyebrow):not(.lead):not(.hero-note){font-size:13px;color:var(--muted);max-width:410px;margin-bottom:28px}.actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:25px;min-height:50px;padding:16px 22px;border-radius:7px;border:0;font-size:12px;font-weight:750}.button.primary{background:var(--action);color:white}.button.primary:hover{background:#005784}.button.secondary{background:#fff;border:1px solid #8dc2da;color:var(--action)}.text-link{font-size:11px;font-weight:800;display:inline-flex;align-items:center;gap:15px;color:var(--action);min-height:44px}.text-link:hover{text-decoration:underline}.hero-note{font-size:10px;color:var(--muted);margin-top:25px;margin-bottom:0}.hero-image{position:relative}.hero-image>img{width:100%;height:475px;object-fit:cover;border-radius:22px}.image-caption{position:absolute;left:-27px;bottom:28px;background:#fff;padding:20px 24px;box-shadow:0 12px 30px #1136511c;border-radius:10px;display:flex;align-items:center;gap:17px;font-size:11px;line-height:1.7}.caption-icon{font-size:37px;color:var(--brand)}.image-caption b{font-size:13px}h2{font-size:39px;font-weight:800;margin-bottom:22px}.services{background:var(--paper)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:42px}.section-heading h2{margin-bottom:0}.services-grid{display:grid;grid-template-columns:.85fr 1fr 1fr;gap:40px;align-items:start}.services-image>img{width:100%;aspect-ratio:.72;object-fit:cover;border-radius:15px}.area-number{font-size:11px;font-weight:800;color:#3a6b82;margin-bottom:17px}.services-grid h3{font-size:23px;color:var(--action);margin-bottom:23px}.service-list{padding:0;list-style:none;margin:0;font-size:12px;line-height:1.8}.service-list>li{position:relative;padding-left:17px;margin-bottom:16px}.service-list>li:before{content:'▸';position:absolute;left:0;top:0;color:var(--brand);font-size:15px}.appointment{display:grid;grid-template-columns:.8fr 1.3fr;align-items:start;gap:80px}.appointment-intro>p:not(.eyebrow){font-size:13px;color:var(--muted)}.appointment-note{font-size:11px!important;border-left:2px solid #a4d0e3;padding-left:15px;margin-top:28px}.appointment-panel{background:#f4f9fc;border:1px solid var(--line);border-radius:15px;padding:30px}fieldset{margin:0;padding:0;border:0;min-width:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px 18px}.form-grid>label{display:flex;flex-direction:column;gap:9px;font-size:11px;font-weight:750;min-width:0}.form-grid>label>span{font-size:9px;font-weight:500;color:var(--muted);margin-bottom:-5px}input,select,textarea{width:100%;min-width:0;border:1px solid #c0d3df;border-radius:6px;background:#fff;color:var(--ink);padding:13px 11px;font-size:13px;min-height:46px}select{padding-right:20px;text-overflow:ellipsis}input[type=date]{min-width:0;appearance:none}.privacy-note{font-size:10px;color:var(--muted);margin:22px 0 16px}.form-status{font-size:12px;color:var(--action);margin:15px 0 0}.form-status:empty{display:none}.message-preview{border-top:1px solid #c6dce7;margin-top:26px;padding-top:25px}.message-preview h3{font-size:21px;margin-bottom:15px}.message-preview textarea{resize:vertical;min-height:180px;font-size:12px;line-height:1.8}.message-preview .actions{margin-top:16px;gap:15px}.message-preview>.actions .button{font-size:11px;padding:14px 16px}.copy-button{border:0;background:transparent;color:var(--action);text-decoration:underline;font-size:11px;font-weight:750;min-height:44px;padding:10px 0}.message-preview>p{font-size:10px;color:var(--muted);margin:15px 0 0}.about-band{background:var(--paper);padding-block:70px}.about-grid{display:grid;grid-template-columns:1fr .8fr 1.1fr;align-items:center;gap:0}.about-photo{align-self:start;padding-top:30px}.about-photo>img{width:100%;aspect-ratio:.75;object-fit:cover;border-radius:18px 0 0 18px}.hours-panel{position:relative;background:var(--action);color:#fff;border-radius:13px;padding:28px 23px;margin-left:-15px;margin-right:35px;box-shadow:0 14px 30px #006c9f1f}.hours-panel h2{font-size:22px;margin:0 0 18px}.clock{position:absolute;right:15px;top:-24px;width:46px;height:46px;border:4px solid #f0f8fc;border-radius:50%;background:var(--action);font-size:29px;line-height:1.25;text-align:center}.hours-panel dl{margin:0;font-size:10px}.hours-panel dl>div{display:flex;justify-content:space-between;gap:15px;padding:14px 0;border-bottom:1px solid #ffffff40}.hours-panel dd{margin:0;font-weight:750;white-space:nowrap}.hours-panel>p{font-size:9px;margin:18px 0 8px}.hours-panel>a{display:inline-block;font-size:10px;font-weight:750;text-decoration:underline;padding-block:8px}.about-copy .eyebrow{margin-bottom:16px}.about-copy h2{font-size:31px}.about-copy h3{font-size:14px;color:var(--action);margin:25px 0 11px}.about-copy>p:not(.eyebrow){font-size:11px;color:#4f5f6b}.visit h2{font-size:35px}.visit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:35px}.visit-grid>article{border-top:1px solid var(--line);padding-top:22px}.visit-grid>article>span{font-size:11px;color:var(--action);font-weight:800}.visit-grid h3{font-size:20px;margin:22px 0 14px}.visit-grid p{font-size:12px;color:var(--muted)}.contact-section{background:#e9f5fb;padding-block:60px}.contact-grid{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:75px}.contact-actions{display:grid;gap:12px}.contact-actions .button>span:first-child{font-size:10px;font-weight:500}.contact-actions .button b{display:block;font-size:19px;line-height:1.8}.contact-actions .button>span:last-child{font-size:20px}.contact-actions>p{font-size:10px;color:var(--muted);margin:5px 0 0;text-align:center}.contact-actions>p>a{text-decoration:underline}.footer-main{display:grid;grid-template-columns:.8fr 1fr 1.1fr;align-items:center;gap:70px;padding-block:55px}.footer-qr{display:flex;flex-direction:column;align-items:center;gap:12px;font-size:10px;font-weight:650;max-width:170px}.footer-qr>img{width:155px;aspect-ratio:1}.footer-qr>a{min-height:30px;display:flex;align-items:center}.footer-brand>img{width:220px}.footer-contact h2{font-size:17px;margin-bottom:18px}.footer-contact>a{display:block;font-size:11px;margin-bottom:13px;line-height:1.6}.footer-contact>p{font-size:11px;color:var(--muted);margin-bottom:10px}.privacy-details{font-size:10px;color:var(--muted);margin-top:18px}.privacy-details summary{font-weight:750;min-height:35px;line-height:1.6}.privacy-details p{margin-top:10px}.footer-dark{background:#161e25;color:white}.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-block:22px}.footer-bottom p{margin:0;font-size:10px;color:#d1dbe2}.credit{display:flex;align-items:center;gap:15px}.credit img{width:128px;height:37px;object-fit:contain}[hidden]{display:none!important}
.form-grid>label>.label-text{font-size:11px;font-weight:750;color:var(--ink);margin:0}.label-text small{font-weight:500;color:var(--muted);font-size:9px}.form-grid input,.form-grid select{height:48px}
@media(max-width:1050px){.container{width:calc(100% - 48px)}.desktop-nav{gap:20px;font-size:10px}.hero{gap:40px}.hero h1{font-size:60px}.hero-image>img{height:450px}.hero .actions{gap:15px}.services-grid{gap:25px}.services-grid h3{font-size:21px}.appointment{gap:40px}.about-grid{grid-template-columns:.9fr .85fr 1fr}.hours-panel{margin-right:25px;padding:25px 18px}.about-copy h2{font-size:28px}.footer-main{gap:40px}}
@media(max-width:760px){:root{scroll-padding-top:150px}.container{width:calc(100% - 36px)}.section{padding-block:52px}.header-main{min-height:85px}.brand{width:96px}.brand img{height:77px}.desktop-nav{display:none}.mobile-menu{display:block}.mobile-menu>summary{list-style:none;display:flex;align-items:center;gap:15px;border:1px solid var(--line);border-radius:7px;padding:11px 14px;font-size:11px;font-weight:750;min-height:44px}.mobile-menu>summary::-webkit-details-marker{display:none}.mobile-menu>nav{position:absolute;right:0;top:calc(100% + 1px);background:white;box-shadow:0 15px 35px #07365022;border:1px solid var(--line);border-radius:0 0 10px 10px;width:min(300px,100%);padding:12px;display:grid;z-index:5}.mobile-menu nav>a{display:block;padding:13px;font-size:13px;min-height:44px}.mobile-menu nav>a:hover{background:var(--paper)}.contact-bar>.container{gap:4px 18px;flex-wrap:wrap;justify-content:start;padding-block:5px}.contact-bar a{font-size:9px;padding:4px 0}.contact-bar a:last-child{font-size:8px}.hero{grid-template-columns:1fr;gap:30px;padding-block:35px 45px}.hero h1{font-size:clamp(44px,10vw,65px);margin-bottom:23px}.hero .lead{font-size:16px}.hero-copy>p:not(.eyebrow):not(.lead):not(.hero-note){font-size:13px;max-width:none}.hero .eyebrow{font-size:8px}.hero .actions{gap:12px 20px}.hero-image>img{height:auto;aspect-ratio:1;object-position:center 45%;border-radius:17px}.image-caption{left:14px;bottom:18px;padding:15px 18px;gap:12px;font-size:10px}.image-caption b{font-size:12px}.caption-icon{font-size:30px}.hero-note{font-size:9px;margin-top:20px}h2{font-size:32px}.section-heading{display:block;margin-bottom:25px}.section-heading .text-link{margin-top:15px}.services-grid{grid-template-columns:1fr 1fr;gap:28px 25px}.services-image{grid-column:span 2}.services-image>img{aspect-ratio:1.35;object-position:center 36%;max-height:370px}.services-grid h3{font-size:22px}.service-list{font-size:12px}.appointment{grid-template-columns:1fr;gap:24px}.appointment-intro h2 br{display:none}.appointment-intro>p:not(.eyebrow){max-width:500px}.appointment-note{margin-top:18px}.appointment-panel{padding:25px}.form-grid{gap:20px 15px}.form-grid label{font-size:11px}input,select,textarea{font-size:16px}.form-grid select{font-size:13px}.appointment-panel .button{font-size:12px}.about-band{padding-block:45px}.about-grid{grid-template-columns:1fr 1fr;gap:0}.about-photo{padding-top:20px}.about-photo>img{aspect-ratio:.6;border-radius:14px 0 0 14px}.hours-panel{margin-right:0;margin-left:-10px;padding:23px 15px}.hours-panel dl{font-size:9px}.hours-panel dl>div{gap:10px;padding:12px 0}.hours-panel h2{font-size:21px}.about-copy{grid-column:span 2;margin-top:35px}.about-copy h2{font-size:32px}.about-copy>p:not(.eyebrow){font-size:13px}.about-copy h3{font-size:16px}.visit h2{font-size:31px}.visit-grid{grid-template-columns:1fr;gap:15px;margin-top:25px}.visit-grid article{display:grid;grid-template-columns:35px 1fr;gap:12px}.visit-grid article>span{grid-row:span 2;padding-top:3px}.visit-grid h3{margin:0;font-size:20px}.visit-grid p{font-size:12px}.contact-section{padding-block:45px}.contact-grid{grid-template-columns:1fr;gap:25px}.footer-main{grid-template-columns:1fr 1fr;gap:30px;padding-block:40px}.footer-qr{grid-row:span 2}.footer-brand>img{width:180px;max-height:150px;object-fit:contain}.footer-contact h2{font-size:16px}.footer-bottom{flex-direction:column;align-items:start;gap:15px}.credit{flex-wrap:wrap}}
@media(max-width:480px){.form-grid{grid-template-columns:1fr}.appointment-panel{padding:24px 20px}.form-grid select{font-size:16px}.services-grid{grid-template-columns:1fr}.services-image{grid-column:auto}.services-image>img{aspect-ratio:.95;max-height:380px}.services-grid h3{font-size:25px}.service-list{font-size:13px}.services-grid article{padding-top:12px;border-top:1px solid #cfe0e8}.area-number{margin-bottom:12px}.hours-panel{padding-inline:12px}.hours-panel dl{font-size:8px}.hours-panel h2{font-size:20px}.about-photo>img{aspect-ratio:.52}.footer-main{grid-template-columns:1fr;justify-items:center;text-align:center}.footer-qr{grid-row:auto}.footer-brand>img{margin:auto;width:190px;height:auto;max-height:170px}.footer-contact>a{font-size:12px}.privacy-details{text-align:left;max-width:320px}.credit{gap:10px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*{animation:none!important;transition:none!important}}

.header-floating{position:fixed;inset:0 0 auto;width:100%;--compact-logo-width:94px;--compact-logo-height:68px}.header-space{pointer-events:none}.header-floating.compact .contact-bar{display:none}.header-floating.compact .header-main{min-height:78px}.header-floating.compact .brand{width:var(--compact-logo-width)}.header-floating.compact .brand img{height:var(--compact-logo-height)}


/* QRPRINCIPAL-inspired 404. Scoped to the error page. */
.brand-404{--error-color:#006c9f;text-align:center;max-width:900px;margin:0 auto;padding:64px 24px 80px;min-height:60vh;display:flex;flex-direction:column;align-items:center;justify-content:center;box-sizing:border-box}
.brand-404 .brand-error-art{color:var(--error-color);width:min(100%,440px);aspect-ratio:440/260;margin:0 auto 24px;flex:none}
.brand-404 .brand-error-illustration{display:block;width:100%;height:auto;overflow:visible}
.brand-404 .brand-error-zero{transform-box:fill-box;transform-origin:center bottom}
.brand-404 h1{font-size:clamp(28px,5vw,44px);line-height:1.15;margin:0 0 18px;overflow-wrap:anywhere}
.brand-404 p{max-width:520px;font-size:15px;line-height:1.7;margin:0 0 26px}
.brand-404 .brand-error-link{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:12px 24px;border-radius:8px;background:var(--error-color);color:#fff;font-size:14px;font-weight:700;text-decoration:none}
.brand-404 .brand-error-link:focus-visible{outline:3px solid var(--error-color);outline-offset:5px}
@media(prefers-reduced-motion:no-preference){.brand-error-badge{animation:brand-error-drop 1.6s cubic-bezier(.33,0,.67,1) .2s both}.brand-error-zero{animation:brand-error-squash 1.6s ease-out .2s both}}
@keyframes brand-error-drop{0%{transform:translateY(-100px);opacity:0}10%{opacity:1}42%{transform:translateY(0)}56%{transform:translateY(-18px)}70%,100%{transform:translateY(0);opacity:1}}
@keyframes brand-error-squash{0%,38%{transform:scale(1)}44%{transform:scale(1.07,.88)}57%{transform:scale(.98,1.04)}72%,100%{transform:scale(1)}}
@media(max-width:600px){.brand-404{padding:45px 20px 60px}.brand-404 .brand-error-art{width:min(100%,330px)}}
@media(prefers-reduced-motion:reduce){.brand-error-badge,.brand-error-zero{animation:none!important}}
