@font-face{font-family:Heebo;src:url('/fonts/heebo-400.ttf') format('truetype');font-weight:400 600;font-display:swap}
@font-face{font-family:Heebo;src:url('/fonts/heebo-700.ttf') format('truetype');font-weight:700 900;font-display:swap}
:root{--ink:#173449;--navy:#123f5c;--navy-deep:#0e354d;--teal:#0a746f;--paper:#fff;--soft:#eef7f7;--line:#d6e4e8;--muted:#526979;--shadow:0 22px 55px rgba(19,62,81,.1);font-size:16px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:var(--paper);font-family:Heebo,Arial,sans-serif;line-height:1.75}
img{max-width:100%;height:auto}
a{color:var(--navy);text-underline-offset:.2em}
button,input,textarea{font:inherit}
button,a,input,textarea{touch-action:manipulation}
:focus-visible{outline:3px solid #de7d34;outline-offset:3px}
.skip-link{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;z-index:1000}
.skip-link:focus{position:fixed;top:1rem;right:1rem;width:auto;height:auto;padding:.65rem 1rem;clip:auto;background:#fff;border:2px solid var(--navy);border-radius:.4rem}
.container{width:min(1160px,calc(100% - 40px));margin-inline:auto}
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.97);box-shadow:0 1px 0 var(--line)}
.header-inner{min-height:86px;display:flex;align-items:center;gap:2rem}
.brand{display:flex;align-items:center;gap:.8rem;text-decoration:none;color:var(--navy);font-size:1.2rem;font-weight:800;line-height:1.25;white-space:nowrap}
.brand small{display:block;color:var(--muted);font-size:.68rem;font-weight:500;margin-top:.2rem}
.brand-mark{display:grid;place-items:center;width:2.8rem;height:2.8rem;border-radius:.8rem;background:var(--navy);color:#fff;font-size:2rem;font-weight:400;line-height:1}
.site-header nav{display:flex;align-items:center;gap:1.5rem;margin-inline-start:auto}
.site-header nav a{text-decoration:none;font-weight:600;font-size:.91rem}
.site-header nav a:hover,.site-header nav a:focus-visible{color:var(--teal)}
.header-call{padding:.57rem .9rem;border:1px solid var(--navy);border-radius:.5rem;text-decoration:none;font-weight:700;white-space:nowrap}
.header-call:hover{background:var(--navy);color:#fff}
.hero{background:linear-gradient(125deg,#f5fafb 10%,#e5f3f3 76%);overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:3rem;align-items:center;min-height:590px;padding-block:3.6rem}
.eyebrow{margin:0 0 .75rem;color:var(--teal);font-size:1rem;letter-spacing:.04em;font-weight:800}
.eyebrow a{color:inherit}
h1,h2,h3{line-height:1.25;color:var(--navy);margin:0 0 1rem}
h1{font-size:clamp(2.5rem,5vw,4.4rem);letter-spacing:-.035em}
h2{font-size:clamp(1.9rem,3vw,2.7rem);letter-spacing:-.02em}
h3{font-size:1.25rem}
p{margin:0 0 1.1rem}
.hero-subtitle{font-size:clamp(1.35rem,2vw,1.75rem);font-weight:700;color:var(--navy-deep);margin-bottom:1rem}
.hero-intro{font-size:1.13rem;color:var(--muted);max-width:32rem}
.hero-actions,.contact-actions{display:flex;gap:.8rem;flex-wrap:wrap;margin:1.7rem 0}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.63rem 1.25rem;border-radius:.55rem;text-decoration:none;font-weight:700;border:2px solid transparent;cursor:pointer;transition:transform .18s,background-color .18s}
.button:hover{transform:translateY(-2px)}
.button-primary{background:var(--navy);color:#fff}
.button-primary:hover{background:var(--navy-deep);color:#fff}
.button-secondary{border-color:var(--navy);color:var(--navy);background:#fff}
.button-light{background:#fff;color:var(--navy)}
.button-outline-light{border-color:#fff;color:#fff}
.button-outline-light:hover{background:#fff;color:var(--navy)}
.hero-meta{display:flex;gap:1.4rem;flex-wrap:wrap;color:var(--muted);font-size:.9rem;font-weight:600}
.hero-meta span::before{content:"✓";display:inline-block;margin-inline-end:.35rem;color:var(--teal);font-weight:800}
.hero-photo{position:relative;max-width:500px;justify-self:end}
.hero-photo img{display:block;width:100%;aspect-ratio:1;object-fit:cover;border-radius:1.4rem 1.4rem 5rem 1.4rem;box-shadow:var(--shadow)}
.photo-caption{position:absolute;inset-inline-start:-1.2rem;bottom:1.2rem;max-width:15rem;background:#fff;padding:.75rem 1rem;border-radius:.6rem;box-shadow:var(--shadow);font-weight:700;font-size:.86rem}
.section{padding-block:5rem}
.section-soft{background:var(--soft)}
.split{display:grid;grid-template-columns:1.6fr .8fr;gap:5rem;align-items:center}
.split p{font-size:1.05rem}
.highlight-card{background:var(--navy);color:#fff;padding:2.2rem;border-radius:1rem;box-shadow:var(--shadow)}
.highlight-card strong{display:block;font-size:1.1rem}
.highlight-card p{margin:.5rem 0 0;color:#dbe9ed}
.highlight-number{display:block;font-size:4rem;font-weight:800;line-height:1;color:#fff;margin-bottom:.4rem}
.text-link{color:var(--teal);font-weight:800;text-decoration:none}
.text-link:hover{text-decoration:underline}
.service-grid{list-style:none;padding:0;margin:2rem 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.service-grid li{background:#fff;padding:1.2rem 1.25rem;border-radius:.65rem;border:1px solid var(--line);box-shadow:0 8px 20px rgba(19,62,81,.04);font-weight:600}
.service-grid li span{color:var(--teal);font-size:1.2rem;margin-inline-end:.7rem}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1.5rem}
.article-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.3rem}
.article-card{background:#fff;border:1px solid var(--line);border-radius:.85rem;overflow:hidden;box-shadow:0 8px 24px rgba(19,62,81,.05)}
.article-card__image{display:block;height:190px;overflow:hidden;background:#e0ebef}
.article-card img{width:100%;height:100%;object-fit:cover;transition:transform .25s}
.article-card:hover img{transform:scale(1.035)}
.article-card__body{padding:1.25rem}
.article-card h3{font-size:1.16rem}
.article-card h3 a{text-decoration:none}
.article-card p{color:var(--muted);font-size:1rem;line-height:1.6}
.contact-section{background:var(--navy);color:#fff;padding-block:5rem}
.contact-grid{display:grid;grid-template-columns:1fr .9fr;gap:4rem;align-items:start}
.contact-section h2{color:#fff}
.contact-section .eyebrow{color:#9de4d7}
.contact-note{color:#cae0e7;font-size:1rem}
.legal-container{min-width:0;overflow-wrap:anywhere}
.contact-form{background:#fff;color:var(--ink);padding:2rem;border-radius:1rem;box-shadow:var(--shadow)}
.contact-form h3{margin-bottom:1.2rem}
.contact-form label{display:block;font-size:.9rem;font-weight:700;margin-bottom:.9rem}
.contact-form input:not([type=checkbox]),.contact-form textarea{display:block;width:100%;border:1px solid #adbfca;border-radius:.42rem;background:#fff;color:var(--ink);padding:.65rem .7rem;margin-top:.25rem}
.contact-form input:focus,.contact-form textarea:focus{border-color:var(--teal)}
.contact-form .consent{display:flex;align-items:flex-start;gap:.5rem;font-weight:500;font-size:.82rem;line-height:1.5}
.consent input{margin-top:.24rem;flex:none}
.contact-form button{width:100%}
.form-status{min-height:1em;font-size:.9rem;margin:.65rem 0 0}
.page-hero{padding-block:4rem;background:linear-gradient(125deg,#f4fafb,#e8f4f5)}
.page-hero h1{font-size:clamp(2.2rem,4vw,3.4rem);max-width:900px}
.page-hero p{color:var(--muted);font-size:1.1rem}
.article-hero{padding-block:4.3rem}
.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:3rem;align-items:start}
.prose{font-size:1.07rem;line-height:1.9}
.prose.wide{max-width:900px}
.prose h2{font-size:1.65rem;margin:2rem 0 .7rem}
.prose h3{font-size:1.3rem;margin:1.7rem 0 .55rem}
.prose p,.prose ul,.prose ol{margin-bottom:1.2rem}
.prose li{margin-bottom:.35rem}
.service-detail-grid{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.service-detail-grid li{border:1px solid var(--line);border-radius:.6rem;padding:1rem;background:var(--soft)}
.service-detail-grid strong,.service-detail-grid span{display:block}
.service-detail-grid span{color:var(--muted)}
.prose img{border-radius:.6rem}
.article-cover{width:100%;max-height:380px;object-fit:cover;margin-bottom:1.5rem}
.prose details{border:1px solid var(--line);padding:1rem;border-radius:.5rem;margin-bottom:.7rem;background:#fff}
.prose summary{font-weight:700;cursor:pointer;color:var(--navy)}
.prose details p:last-child{margin-bottom:0}
.review-list__items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1.2rem}
.review-list__items blockquote{margin:0;padding:1rem;border:1px solid var(--line);border-radius:.5rem;background:var(--cream,#f7f8f8)}
.review-list__items cite{display:block;margin-top:.5rem;font-style:normal;font-weight:700}
.video-links{columns:2;column-gap:2rem}
@media(max-width:700px){.review-list__items{grid-template-columns:1fr}.video-links{columns:1}}
.prose table{border-collapse:collapse;display:block;overflow-x:auto;width:100%}
.prose th,.prose td{border:1px solid var(--line);padding:.5rem;min-width:110px}
.article-aside{position:sticky;top:110px;border:1px solid var(--line);border-radius:.8rem;padding:1.5rem;background:var(--soft)}
.article-aside h2{font-size:1.35rem}
.medical-note{background:var(--soft);border-inline-start:4px solid var(--teal);padding:1rem;margin-top:2rem;font-size:.9rem}
.site-footer{background:#0d2c40;color:#e5f0f3;padding-block:3.5rem 1rem}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:2rem}
.site-footer strong{display:block;color:#fff;font-size:1.08rem;margin-bottom:.8rem}
.site-footer p{margin:.25rem 0}
.site-footer a{color:#e5f0f3}
.footer-bottom{border-top:1px solid #4b6472;margin-top:2.5rem;padding-top:1rem;color:#b9cbd2;font-size:.82rem}
.fab-container{position:fixed;left:1.2rem;bottom:1.2rem;display:flex;flex-direction:column;gap:.5rem;z-index:90}
.fab{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;text-decoration:none;color:#fff;font-weight:800;box-shadow:0 6px 15px rgba(0,0,0,.18)}
.fab.wa{background:#176b55;font-size:.8rem}
.fab.call{background:var(--navy);font-size:1.4rem}
@media(max-width:1020px){.site-header nav{gap:.7rem}.brand small{max-width:180px;white-space:normal}.header-call{display:none}.hero-grid{gap:2rem}}
@media(max-width:760px){.container{width:min(100% - 28px,580px)}.header-inner{min-height:70px;flex-wrap:wrap;gap:.5rem;padding-block:.6rem}.brand{font-size:1rem}.brand-mark{width:2.3rem;height:2.3rem}.brand small{font-size:.61rem;max-width:none}.site-header nav{width:100%;overflow-x:auto;white-space:nowrap;gap:1.2rem;padding-bottom:.25rem;margin:0}.site-header nav a{font-size:.85rem}.hero-grid,.split,.contact-grid,.article-layout{grid-template-columns:1fr}.hero-grid{padding-block:2.5rem;gap:2rem}.hero-photo{justify-self:center;max-width:420px}.photo-caption{inset-inline-start:.8rem;bottom:.8rem}.section,.contact-section{padding-block:3.3rem}.split,.contact-grid{gap:2rem}.service-grid{grid-template-columns:1fr 1fr}.article-grid{grid-template-columns:1fr 1fr}.article-aside{position:static}.footer-grid{grid-template-columns:1fr 1fr}.page-hero{padding-block:3rem}}
@media(max-width:520px){h1{font-size:2.55rem}.hero-actions .button{width:100%}.hero-meta{gap:.5rem;display:grid}.service-grid,.service-detail-grid,.article-grid,.footer-grid{grid-template-columns:1fr}.section-heading{align-items:start;flex-direction:column}.contact-form{padding:1.3rem}.fab-container{left:.7rem;bottom:.7rem}.fab{width:43px;height:43px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
