
:root{--ink:#1B2432;--cobalt:#274690;--cobalt-d:#1B3266;--pink:#E4577B;--pink-d:#C13A60;--pink-l:#F6B9C9;
--cloud:#F6F8FB;--sky:#E7EEF8;--line:#DAE4F0;--body:#3A4657;--max:1160px;--prose:70ch}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
body{font-family:'Figtree',system-ui,sans-serif;color:var(--body);background:#fff;font-size:1.0625rem;line-height:1.72;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:'Bricolage Grotesque','Figtree',sans-serif;color:var(--ink);line-height:1.1;font-weight:700}
h1{font-size:clamp(2.2rem,5vw,3.6rem);letter-spacing:-.02em}
h2{font-size:clamp(1.5rem,2.6vw,2rem);margin:2.6rem 0 1rem;letter-spacing:-.01em}
h3{font-size:1.2rem;margin:1.8rem 0 .5rem}
p{margin:0 0 1.15rem}
a{color:var(--cobalt);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--pink-d)}
a:focus-visible,button:focus-visible{outline:3px solid var(--pink);outline-offset:2px;border-radius:2px}
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:#fff;padding:.6rem 1rem;z-index:100}
.skip:focus{left:1rem;top:1rem}
.wrap{max-width:var(--max);margin:0 auto;padding:0 1.4rem}
.eyebrow{font-size:.76rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--pink-d);margin-bottom:.7rem}
/* header */
header.site{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;padding:.7rem 1.4rem;gap:1rem;min-height:60px;position:relative}
.logo{font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:1.25rem;color:var(--ink);text-decoration:none;line-height:1;letter-spacing:-.02em;white-space:nowrap}
.logo span{color:var(--pink)}
.logo em{font-style:normal;font-weight:700;font-size:.72em;color:var(--body);opacity:.75;margin-left:.05em}
nav.main{display:flex;gap:1.05rem;align-items:center}
nav.main a{font-size:.9rem;font-weight:700;color:var(--ink);text-decoration:none;padding:.3rem 0;border-bottom:2.5px solid transparent;white-space:nowrap}
nav.main a:hover,nav.main a[aria-current]{border-bottom-color:var(--pink);color:var(--cobalt-d)}
nav.main .navtel,nav.main .navcta{display:none}
.tel{font-weight:800;color:var(--ink);text-decoration:none;white-space:nowrap;font-size:.95rem}
.navtoggle{display:none}
.burger{display:none;width:44px;height:44px;border-radius:10px;border:1px solid var(--line);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:5px;background:#fff}
.burger span{display:block;width:20px;height:2px;background:var(--ink);border-radius:2px;transition:transform .2s,opacity .2s}
.btn{display:inline-block;background:var(--pink);color:#fff!important;font-weight:800;font-size:.95rem;padding:.72rem 1.4rem;border-radius:99px;text-decoration:none;border:2px solid var(--pink)}
.btn:hover{background:var(--pink-d);border-color:var(--pink-d)}
.btn.ghost{background:transparent;color:var(--cobalt)!important;border-color:var(--cobalt)}
.btn.ghost:hover{background:var(--sky)}
@media(max-width:1040px){
 .tel{display:none}
 .burger{display:flex}
 nav.main{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--line);
   grid-template-columns:1fr 1fr;column-gap:1.4rem;row-gap:0;padding:.3rem 1.4rem .9rem;box-shadow:0 12px 30px rgba(27,36,50,.12);max-height:calc(100vh - 60px);overflow:auto}
 nav.main a{padding:.5rem 0;border-bottom:1px solid var(--line);font-size:.93rem;line-height:1.3}
 nav.main a[aria-current]{border-bottom:1px solid var(--line);color:var(--pink-d)}
 nav.main .navtel{display:block;grid-column:1/-1;color:var(--cobalt);font-weight:800;border-bottom:0;padding:.6rem 0 .2rem}
 nav.main .navcta{display:block;grid-column:1/-1;border:0;background:var(--pink);color:#fff;text-align:center;border-radius:99px;margin-top:.4rem;padding:.65rem 1rem}
 .navtoggle:checked ~ nav.main{display:grid}
 .navtoggle:checked ~ .burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
 .navtoggle:checked ~ .burger span:nth-child(2){opacity:0}
 .navtoggle:checked ~ .burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
}
/* hero (home) */
.hero{position:relative;background:var(--ink);color:#fff;overflow:hidden}
.hero .media{position:absolute;inset:0}
.hero .media img,.hero .media svg{width:100%;height:100%;object-fit:cover;display:block;opacity:.92}
.hero .media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(27,36,50,.94) 0%,rgba(27,36,50,.72) 48%,rgba(27,36,50,.25) 100%)}
.hero .wrap{position:relative;padding:5.5rem 1.4rem 5rem;max-width:var(--max)}
.hero h1{color:#fff;max-width:20ch}
.hero .eyebrow{color:var(--pink-l)}
.hero p.lede{font-size:1.2rem;color:#D8E0F0;max-width:52ch;margin:1.3rem 0 1.9rem}
.hero .actions{display:flex;gap:.9rem;flex-wrap:wrap}
.hero .btn.ghost{color:#fff!important;border-color:rgba(255,255,255,.55)}
.hero .btn.ghost:hover{background:rgba(255,255,255,.1)}
/* page hero (interior) */
.phead{background:var(--sky);border-bottom:1px solid var(--line)}
.phead .wrap{display:grid;grid-template-columns:1.2fr .8fr;gap:3rem;align-items:center;padding:3.4rem 1.4rem 3rem}
.phead h1{max-width:18ch}
.phead p.lede{font-size:1.15rem;margin:1rem 0 0;color:var(--body);max-width:50ch}
.phead .media{border-radius:16px;overflow:hidden;aspect-ratio:4/3;background:var(--cobalt-d)}
.phead .media img,.phead .media svg{width:100%;height:100%;object-fit:cover;display:block}
.crumbs{font-size:.82rem;margin-bottom:1rem;color:var(--body)}
.crumbs a{color:var(--cobalt);text-decoration:none}
.crumbs span{margin:0 .45rem;color:#9AA6BB}
/* prose */
.prose{max-width:var(--prose);margin:0 auto;padding:2.8rem 1.4rem 3rem}
.prose ul,.prose ol{margin:0 0 1.2rem 1.35rem}
.prose li{margin-bottom:.5rem}
.prose .kicker{font-size:1.14rem;color:var(--ink);border-left:4px solid var(--pink);padding:.3rem 0 .3rem 1.1rem;margin:0 0 1.6rem}
.prose table{width:100%;border-collapse:collapse;margin:1.4rem 0;font-size:.95rem}
.prose th{background:var(--ink);color:#fff;text-align:left;padding:.65rem .85rem;font-weight:700}
.prose td{padding:.65rem .85rem;border:1px solid var(--line);vertical-align:top}
details{border:1px solid var(--line);border-radius:10px;margin-bottom:.7rem;padding:.2rem 1.1rem}
summary{font-weight:700;color:var(--ink);cursor:pointer;padding:.7rem 0}
details p{padding-bottom:.9rem}
figure.inline{margin:1.2rem 0 1.6rem;border-radius:14px;overflow:hidden}figure.inline img{width:100%;height:auto;display:block}
/* wire */
.wire{border:1px solid var(--line);border-radius:14px;padding:1.4rem 1.6rem 1rem;margin:0 0 2rem;background:#fff}
.wire ol{list-style:none;display:flex;position:relative;justify-content:space-between;margin:0}
.wire ol::before{content:"";position:absolute;left:8px;right:8px;top:8px;height:2.5px;background:#B9C6E2}
.wire li{position:relative;z-index:1;text-align:center;flex:1;font-size:.62rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--body)}
.wire li::before{content:"";display:block;width:15px;height:15px;margin:0 auto .5rem;background:#fff;border:2px solid #B9C6E2;border-radius:3px}
.wire li.done{color:var(--ink)}.wire li.done::before{background:var(--pink);border-color:var(--pink)}
.wire li.here{color:var(--pink-d)}.wire li.here::before{background:var(--pink);border-color:var(--pink-d);box-shadow:0 0 0 4px var(--pink-l)}
.wire p{font-size:.8rem;margin:.9rem 0 0;text-align:center}
.elastics{display:flex;gap:.55rem;margin:.2rem 0 1.4rem}.elastics span{width:15px;height:15px;border-radius:50%;display:inline-block}
/* section grids */
.section{padding:3.4rem 0}
.section.tint{background:var(--cloud)}
.section .wrap>h2{margin-top:0}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:1.25rem;margin-top:1.6rem}
.tile{background:#fff;border:1px solid var(--line);border-radius:16px;padding:1.4rem 1.5rem;text-decoration:none;display:block;color:var(--body)}
.tile:hover{border-color:var(--pink);box-shadow:0 8px 24px rgba(39,70,144,.10)}
.tile .eyebrow{font-size:.68rem;margin-bottom:.4rem}
.tile h3{margin:0 0 .45rem;font-size:1.12rem;color:var(--ink)}
.tile p{margin:0;font-size:.95rem}
.two{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}
.two .media{border-radius:16px;overflow:hidden;aspect-ratio:4/3;background:var(--cobalt-d)}
.two .media img,.two .media svg{width:100%;height:100%;object-fit:cover;display:block}
/* clinic band */
.clinic{background:var(--cobalt-d);color:#E3EAF8}
.clinic .wrap{display:grid;grid-template-columns:1.3fr 1fr;gap:3rem;padding:3.6rem 1.4rem;align-items:center}
.clinic h2{color:#fff;margin:.3rem 0 .8rem}
.clinic .eyebrow{color:var(--pink-l)}
.clinic p{color:#C4CFE8}
.clinic .actions{display:flex;gap:.9rem;flex-wrap:wrap;margin-top:1.2rem}
.clinic .btn.ghost{color:#fff!important;border-color:rgba(255,255,255,.55)}
.clinic address{font-style:normal;color:#fff;line-height:1.6;font-size:1.02rem}
.clinic address a{color:var(--pink-l);text-decoration:none;font-weight:800}

/* footer */
footer.site{background:var(--ink);color:#C9D2E4;font-size:.93rem}
footer.site .wrap{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:2.4rem;padding:3rem 1.4rem 1.6rem}
footer.site h4{color:#fff;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:.9rem}
footer.site a{color:#E9EEF8;text-decoration:none}footer.site a:hover{color:var(--pink-l)}
footer.site ul{list-style:none}footer.site li{margin-bottom:.5rem}
.disclosure{border-top:1px solid rgba(255,255,255,.14);padding:1.2rem 1.4rem 1.8rem;font-size:.8rem;color:#98A6C4;max-width:var(--max);margin:0 auto}
@media(max-width:900px){.phead .wrap,.two,.clinic .wrap{grid-template-columns:1fr;gap:1.8rem}
.phead .media{aspect-ratio:16/9}footer.site .wrap{grid-template-columns:1fr 1fr}nav.main{gap:.8rem}
.hero .wrap{padding:2.4rem 1.4rem 3rem}.hero .media{position:relative;height:56vw;max-height:340px}
.hero .media::after{background:linear-gradient(180deg,rgba(27,36,50,0) 40%,rgba(27,36,50,1) 100%)}
.hero h1{max-width:none}.wire li{font-size:.52rem}}
@media(max-width:560px){footer.site .wrap{grid-template-columns:1fr}}
