/* Shared visual system: typography, spacing, surfaces and interaction states. */
:root{--blue:#1b3d78;--ink:#1c304d;--muted:#55677d;--light:#f0f4fa;--border:#dce5f0;--radius-control:12px;--radius-card:20px;--radius-panel:24px;--shadow-soft:0 8px 30px #18365a0a;--space-section:clamp(56px,6.5vw,88px)}
body{font-family:'DM Sans',sans-serif;font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.wrap{width:min(1180px,calc(100% - 64px))}h1,h2,h3{font-family:'Manrope',sans-serif;font-weight:700;text-wrap:balance}h1{font-size:clamp(38px,4.5vw,62px);line-height:1.16;letter-spacing:-.045em}h2{font-size:clamp(30px,3.3vw,42px);line-height:1.25;letter-spacing:-.035em}h3{letter-spacing:-.02em}p{text-wrap:pretty}.eyebrow{font-size:11px;letter-spacing:.12em;margin-bottom:18px;font-weight:700}
.section{padding-block:var(--space-section)}.section-heading{gap:40px;margin-bottom:32px}.section-heading>p{font-size:16px;line-height:1.75}.page-intro{padding-block:56px}.page-intro h1{font-size:clamp(38px,4.4vw,58px);line-height:1.17;letter-spacing:-.04em}.page-intro>p:last-child{font-size:17px;line-height:1.8;max-width:650px;margin-top:22px}.page-intro .eyebrow{margin-bottom:18px}
.nav{height:88px;gap:20px}.brand{flex-shrink:0}.brand img{width:220px}.nav nav{gap:18px;align-items:center}.nav nav a{display:inline-flex;align-items:center;min-height:44px;font-size:13px;white-space:nowrap}.nav nav a[aria-current=page]{padding-bottom:0;box-shadow:none;position:relative}.nav nav a[aria-current=page]:after{content:'';position:absolute;bottom:2px;left:0;right:0;height:3px;border-radius:3px;background:var(--yellow)}.nav>.button{padding:12px 17px;min-height:46px;white-space:nowrap;font-size:12px}.menu-toggle{min-height:44px;padding:8px 0 8px 10px}
.button{border-radius:var(--radius-control);min-height:48px;font-size:14px;font-weight:600;padding:13px 22px;line-height:1.5;text-align:center;transition:background .2s,box-shadow .2s,transform .2s}.button:hover{box-shadow:0 5px 15px #1b3d7815;transform:translateY(-1px)}.button.small{min-height:44px}.outline{border-color:#afc1d9}.text-link{font-size:14px;font-weight:600;line-height:1.65}.button:disabled{box-shadow:none;transform:none;cursor:not-allowed}
.hero{padding-top:48px;padding-bottom:56px;gap:48px}.hero .intro{font-size:17px;line-height:1.8;max-width:465px;margin:24px 0 28px}.hero-actions{gap:20px}.hero-image{height:480px;border-radius:96px 28px 28px 28px;margin-right:0}.heritage-label{margin-bottom:16px;border-radius:8px;font-size:11px}.hero .eyebrow{margin-bottom:20px}.image-note{left:16px;bottom:72px;border-radius:16px;padding:13px 16px;max-width:calc(100% - 32px)}.slideshow-controls{right:16px;bottom:16px;padding:6px 11px;min-height:40px}.slideshow-controls .slide-pause{min-height:32px}.rating{gap:12px;margin-top:26px;min-height:48px}.rating .muted{font-size:12px}.trust-strip{padding-block:24px}.trust-strip>div{align-items:center;gap:16px;line-height:1.7}
.service-grid,.tool-teaser-grid{gap:20px}.service-card,.tool-teaser-grid>a,.review-grid figure{border-radius:var(--radius-card);border:1px solid var(--border);box-shadow:var(--shadow-soft)}.service-card{padding:28px;background:#f5f8fc}.service-card h3{font-size:20px;line-height:1.4;margin-bottom:12px}.service-card p,.tool-teaser-grid p{font-size:15px;line-height:1.8}.service-card svg{margin-bottom:24px}.service-link{min-height:36px;display:inline-flex;align-items:center;font-size:13px}.tool-teaser-grid>a{padding:28px}.tool-teaser-grid h3{font-size:21px}.review-grid{gap:20px}.review-grid figure{padding:28px}.review-grid blockquote{font-size:19px;line-height:1.75}.review-grid figcaption{row-gap:10px}.review-grid figcaption .stars{white-space:nowrap}
.story-grid,.doctor-grid{gap:64px}.story-photo img{border-radius:28px 76px 28px 28px}.portrait{border-radius:76px 28px 28px 28px}.photo-caption,.portrait-label{font-size:12px;line-height:1.6}.doctor-grid h2,.contact h2,.contact-form-intro h2{font-size:clamp(30px,3.3vw,42px);line-height:1.25}.doctor-id{margin:24px 0 28px}.service-detail{padding-block:48px;gap:24px}.service-detail h2{font-size:32px;line-height:1.3}.service-detail p:not(.eyebrow){font-size:16px;line-height:1.85}.contact-grid{gap:64px}.contact-details h3{font-size:20px;line-height:1.4}.route-buttons a{border-radius:var(--radius-control);min-height:46px;font-weight:600}.phone{font-size:27px;line-height:1.5}.map-wrap{border-radius:var(--radius-panel)}.map-placeholder{padding:40px 28px}.faq{gap:64px}.faq h2{font-size:32px}.faq summary{min-height:44px;align-items:center;font-size:15px;line-height:1.65}.faq details{padding-block:16px}.faq details p{font-size:15px;line-height:1.8;margin-top:12px}
.health-dashboard,.tool-panel,.contact-question-form,.privacy-dialog{border-radius:var(--radius-panel);border-color:var(--border);box-shadow:var(--shadow-soft)}.health-results{padding:36px}.tool-panel{padding:36px}.tool-heading h2{font-size:32px;line-height:1.3}.tool-heading p{font-size:16px;line-height:1.8}.tool-layout{gap:32px}.tool-tabs{border-radius:16px;padding:6px;gap:6px}.tool-tabs a{border-radius:var(--radius-control);min-height:52px;font-size:13px}.tool-output,.tool-result,.contact-form-note,.care-note{border-radius:16px}.tool-output,.tool-result{padding:28px}.tool-result h3{font-size:26px;line-height:1.35}.tool-actions{gap:12px}.checklist-item{border-radius:var(--radius-control);padding:20px}.checklist-item small{font-size:13px;line-height:1.8}.question-form fieldset{border-radius:var(--radius-control)}.question-form legend{line-height:1.65}.question-form fieldset label{line-height:1.7;min-height:40px}.question-form input[type=radio],input[type=checkbox]{accent-color:var(--blue)}
.contact-form-section{gap:56px}.contact-question-form{padding:32px}.contact-fields{gap:24px 20px}.tool-form label,.contact-fields label{font-size:14px;line-height:1.65;font-weight:600}.tool-form input:not([type=checkbox]):not([type=radio]),.tool-form select,.contact-fields input,.contact-fields textarea,.compact-select select{border-radius:var(--radius-control);border:1px solid #bdcce0;background:#fbfcfe;color:var(--ink);padding:12px 14px;font:inherit;font-size:15px;line-height:1.6;min-height:48px}.tool-form input:not([type=checkbox]):not([type=radio]),.tool-form select,.contact-fields input,.contact-fields textarea{width:100%;min-width:0}.contact-privacy-note,.field-help,.tool-disclaimer{font-size:12px;line-height:1.8}.contact-send-status{border-radius:var(--radius-control)}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #4d75b5;outline-offset:4px}.contact-fields input:focus,.contact-fields textarea:focus{outline:3px solid #4d75b5;outline-offset:3px}.privacy-content{max-width:800px}.privacy-content h2{font-size:25px;line-height:1.4;margin-top:32px}.privacy-content p{font-size:16px;line-height:1.9}.cookie-banner{border-radius:var(--radius-card)}.cookie-actions button{border-radius:var(--radius-control);min-height:46px}.privacy-category p{line-height:1.8}.dialog-close{border-radius:8px}
footer{padding-bottom:24px}.footer-main{padding-block:36px;gap:24px}.footer-sitemap{padding-block:32px;gap:32px}.footer-link-group h2{font-size:15px;line-height:1.5;letter-spacing:-.01em}.footer-link-group li a{font-size:13px;min-height:36px;color:var(--muted)}.footer-contact p{line-height:1.9;color:var(--muted)}.footer-bottom{padding:20px 0;gap:16px;align-items:center;line-height:1.7}.footer-bottom a,.footer-bottom button{min-height:36px;display:inline-flex;align-items:center}.footer-routes a{border-radius:8px}.footer-main>div a{min-height:36px;display:inline-flex;align-items:center}
@media(max-width:1100px){.nav nav{gap:14px}.nav{gap:14px}.brand img{width:205px}.nav>.button{padding-inline:13px}.hero{gap:32px}.story-grid,.doctor-grid,.contact-grid{gap:40px}.service-card{padding:24px}}
@media(max-width:960px){.nav{height:80px}.nav>nav{display:none}.menu-toggle{display:flex;margin-left:auto}.nav>.button{display:none}.nav>nav.open{display:flex;position:absolute;top:80px;left:0;right:0;background:#fff;border-bottom:1px solid var(--border);box-shadow:0 12px 24px #18365a0a;padding:16px 24px;flex-direction:column;align-items:stretch;gap:4px}.nav>nav.open a{font-size:15px;min-height:46px;padding:8px 12px;border-radius:8px}.nav>nav.open a[aria-current=page]{background:var(--light)}.nav>nav.open a[aria-current=page]:after{display:none}.hero{grid-template-columns:1fr;gap:36px;padding-top:40px}.hero-copy{max-width:640px}.hero .hero-actions{flex-direction:row;align-items:center}.hero-image{width:100%;height:430px;max-width:680px;justify-self:center}.hero .intro{max-width:590px}.hero .eyebrow{font-size:11px}.hero .rating .muted{display:inline}.section-heading{gap:28px}.health-results{padding:28px}.tool-panel{padding:28px}.contact-form-section{gap:32px}.faq{gap:36px}}
@media(max-width:600px){.wrap{width:calc(100% - 40px)}.nav{height:76px}.brand img{width:195px}.nav>nav.open{top:76px}.hero{padding-top:30px;padding-bottom:36px;gap:28px}.hero h1{font-size:clamp(38px,10vw,48px)}.hero .intro{font-size:16px;line-height:1.8;margin:22px 0 24px}.hero .eyebrow{font-size:10px}.hero .hero-actions{gap:16px;flex-wrap:wrap}.hero-actions .button{font-size:14px;padding:13px 18px;min-height:48px}.hero-actions .text-link{font-size:13px;min-height:40px;display:inline-flex;align-items:center}.hero-image{height:350px;border-radius:64px 24px 24px 24px}.image-note{left:12px;bottom:64px;padding:11px 13px}.slideshow-controls{right:12px;bottom:12px}.heritage-label{font-size:10px;line-height:1.65;margin-bottom:16px}.rating{flex-wrap:wrap;font-size:12px}.rating .muted{font-size:11px}.section{padding-block:56px}.section-heading{margin-bottom:26px}.section-heading>p{font-size:15px;margin-top:18px}.page-intro{padding-top:34px;padding-bottom:40px}.page-intro h1{font-size:clamp(34px,9vw,42px);line-height:1.2}.page-intro>p:last-child{font-size:16px;line-height:1.8;margin-top:18px}.eyebrow{font-size:10px}.trust-strip{padding-block:4px}.trust-strip>div{padding:16px 8px;font-size:12px}.service-card,.tool-teaser-grid>a{padding:24px;border-radius:18px}.service-card h3{font-size:21px}.service-card p{font-size:15px;max-width:none}.service-link{min-height:44px;font-size:14px}.service-grid,.tool-teaser-grid,.review-grid{gap:16px}.review-grid figure{padding:24px 20px;border-radius:18px}.review-grid blockquote{font-size:18px}.review-grid figcaption{flex-wrap:wrap}.review-grid figcaption .stars{font-size:11px}.story-grid,.doctor-grid{gap:32px}.story-photo img{border-radius:24px 60px 24px 24px}.portrait{border-radius:60px 24px 24px 24px}.contact h2,.doctor-grid h2,.contact-form-intro h2{font-size:32px}.contact-grid{gap:32px}.route-buttons{gap:8px}.route-buttons a{font-size:13px;padding:10px 14px}.phone{font-size:25px}.faq{gap:24px}.faq h2{font-size:30px}.service-detail{padding-block:32px;gap:16px}.service-detail h2{font-size:28px}.service-detail p:not(.eyebrow){font-size:15px}.service-detail .button{font-size:14px;min-height:48px}.health-dashboard,.tool-panel,.contact-question-form{border-radius:18px}.health-sidebar,.health-results{padding:24px 18px}.tool-panel{padding:24px 18px}.tool-heading h2{font-size:28px}.tool-heading p{font-size:15px}.tool-tabs{border-radius:14px}.tool-tabs a{font-size:12px;min-height:48px;padding:10px 8px}.tool-output,.tool-result{padding:24px 18px}.tool-result h3{font-size:24px}.tool-layout{gap:28px}.contact-question-form{padding:24px 18px}.tool-form input:not([type=checkbox]):not([type=radio]),.tool-form select,.contact-fields input,.contact-fields textarea,.compact-select select{font-size:16px;min-height:48px}.question-form fieldset label{min-height:44px}.tool-actions .button,.tool-result>.button,.question-form .button{font-size:14px;min-height:48px}.contact-fields{gap:20px}.contact-send{font-size:14px;min-height:48px}.privacy-content p{font-size:15px}.privacy-dialog{border-radius:20px;padding:32px 22px}.privacy-dialog h2{font-size:26px}.footer-main{padding-block:30px;gap:20px}.footer-sitemap{gap:28px 20px;padding-block:28px}.footer-link-group h2{font-size:14px}.footer-link-group li a{font-size:12px;min-height:44px}.footer-bottom{align-items:flex-start;padding:18px 0;gap:8px}.footer-bottom a,.footer-bottom button,.footer-main>div a{min-height:44px}.footer-main p{line-height:1.8}.map-placeholder{padding:32px 20px}}
@media(max-width:350px){.brand img{width:175px}.nav{gap:12px}.wrap{width:calc(100% - 32px)}.hero .hero-actions{align-items:flex-start;flex-direction:column;gap:12px}.hero-image{height:330px}.heritage-label{font-size:10px}.review-grid figcaption .stars{margin-left:0}}
@media(prefers-reduced-motion:reduce){.button,.service-card,.review-grid figure{transition:none}.button:hover,.service-card:hover{transform:none}}

.contact-fields label>.field-label{color:var(--ink);font-size:14px;font-weight:600;line-height:1.65}.contact-fields .field-label small{font-size:12px;font-weight:400;color:var(--muted)}.tool-form input:not([type=checkbox]):not([type=radio]),.tool-form select,.contact-fields input,.contact-fields textarea{font-weight:400}
