
:root{--bg:#f3f8ff;--card:#ffffff;--text:#16233f;--muted:#4f648a;--primary:#2d88ff;--accent:#19b6ff;--line:#cfe0ff}
*{box-sizing:border-box}
html,body{overflow-x:hidden}
body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--text);background:radial-gradient(circle at 12% -10%,rgba(45,136,255,.22),transparent 36%),radial-gradient(circle at 92% 8%,rgba(25,182,255,.2),transparent 42%),linear-gradient(180deg,#f7fbff 0%,#edf5ff 48%,#f5f9ff 100%);min-height:100dvh;display:flex;flex-direction:column}
.bg-glow{position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 82% 18%,rgba(25,182,255,.14),transparent 34%),radial-gradient(circle at 12% 85%,rgba(45,136,255,.18),transparent 44%)}
.bg-glow::before,.bg-glow::after{content:"";position:absolute;border-radius:50%;filter:blur(30px);opacity:.35}
.bg-glow::before{width:240px;height:240px;right:-60px;top:90px;background:linear-gradient(135deg,var(--accent),transparent)}
.bg-glow::after{width:300px;height:300px;left:-100px;bottom:40px;background:linear-gradient(135deg,var(--primary),transparent)}
.wrap{width:min(1120px,92vw);margin-inline:auto;position:relative;z-index:1}
.page-main{padding-top:104px;flex:1 0 auto}
.breadcrumbs{display:block;padding:.6rem 0 .25rem;color:#5572a1;font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.breadcrumbs a,.breadcrumbs span{display:inline}
.breadcrumbs a{text-decoration:none;color:#2a67c9}
.crumb-sep{opacity:.6;display:inline-block;padding:0 .2rem}
.site-header{position:fixed;top:0;left:0;right:0;z-index:40;background:linear-gradient(180deg,rgba(255,255,255,.95),rgba(245,250,255,.9));backdrop-filter:blur(10px);border-bottom:1px solid rgba(142,177,235,.45)}
.utility{display:flex;justify-content:space-between;align-items:center;padding:.45rem 0;font-size:.8rem;color:#4d6693;border-bottom:1px solid rgba(142,177,235,.35);gap:.6rem;flex-wrap:wrap}
.utility a{color:#2a67c9;text-decoration:none;word-break:break-word}
.topbar{display:flex;gap:1rem;align-items:center;justify-content:space-between;padding:.85rem 0;position:relative}
.brand{font-weight:900;letter-spacing:.01em;color:#14305f;text-decoration:none;min-width:0}
nav{display:flex;gap:1.1rem;align-items:center}
.menu-toggle{display:none;border:1px solid #b9cff3;background:#fff;color:#1d4f98;border-radius:.6rem;padding:.35rem .55rem;font-size:1.15rem;line-height:1;cursor:pointer}
.nav-item>a,.nav-item{color:var(--muted);text-decoration:none;transition:.2s ease;font-size:.93rem;letter-spacing:.02em}
.nav-item:hover>a,.nav-item:hover{color:#1d5fc5}
.has-menu{position:relative}
.submenu-toggle{display:none}
.submenu{position:absolute;top:100%;left:0;min-width:260px;background:linear-gradient(180deg,#ffffff,#eef5ff);border:1px solid #c5d9fb;border-radius:.7rem;padding:.45rem;display:none;box-shadow:0 16px 34px rgba(34,76,145,.2);z-index:30}
.submenu a{display:block;padding:.5rem .6rem;color:#2b4579;text-decoration:none;border-radius:.45rem;white-space:nowrap}
.submenu a:hover{background:rgba(45,136,255,.12);color:#1a4ea8}
.has-menu:hover .submenu,.has-menu:focus-within .submenu{display:block}
.cta{border:1px solid #4e67a1;padding:.55rem .85rem;border-radius:999px;color:#fff;text-decoration:none;background:linear-gradient(100deg,var(--primary),#63ccff 72%);color:#051939;font-weight:800}
.hero{padding:6rem 0 3.3rem;display:grid;grid-template-columns:1fr;gap:1.5rem;align-items:center}
.hero.with-media{grid-template-columns:1.2fr .8fr}
.hero-media{justify-self:end;width:min(420px,90%);aspect-ratio:1/1;border-radius:1.4rem;border:1px solid rgba(132,173,255,.25);box-shadow:0 24px 60px rgba(0,0,0,.45), inset 0 0 30px rgba(127,226,255,.12);overflow:hidden}
.hero-media.map{background:#0f1c3f}
.hero-media.map iframe{display:block;width:100%;height:100%;border:0}
.eyebrow{color:var(--accent);font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:.75rem}
.hero h1{font-size:clamp(2rem,6vw,4.3rem);line-height:1.02;margin:.4rem 0 1rem;max-width:16ch}
.home-hero{align-items:start}
.home-hero .hero-topline{grid-column:1 / -1;max-width:none;margin:.2rem 0 .8rem}
.hero-line-match{font-size:clamp(2rem,6vw,4.3rem);line-height:1.02;margin:.2rem 0 1rem;max-width:16ch;font-weight:800;color:var(--text)}
.hero h1.single-line{white-space:nowrap;font-size:clamp(1.8rem,4.2vw,3.25rem);max-width:none}
.lead{max-width:62ch;color:var(--muted);font-size:1.12rem;line-height:1.6}
.lead.lead-single-line{white-space:nowrap;max-width:none}
.actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.4rem}
.btn{display:inline-block;padding:.86rem 1.15rem;border-radius:.9rem;border:1px solid #a9c6f3;color:#1c3f78;background:#fff;text-decoration:none;transition:transform .18s ease,box-shadow .2s ease}
.btn:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(44,95,182,.2)}
.btn.primary{background:linear-gradient(100deg,var(--primary),#63ccff 65%);border:none;color:#ffffff;font-weight:800}
.section{padding:1.7rem 0 2.2rem}
.section h2{font-size:1.6rem;margin:0 0 .9rem}
.section p{line-height:1.72;color:var(--muted)}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1.1rem}
.card{background:linear-gradient(180deg,#ffffff,#f5f9ff);border:1px solid var(--line);padding:1.1rem 1.05rem 1.25rem;border-radius:1rem;box-shadow:0 10px 24px rgba(56,109,199,.12);transition:transform .2s ease,border-color .2s ease;overflow:hidden}
.card:hover{transform:translateY(-4px);border-color:#7fb0f5}
.card-link{display:block;text-decoration:none;color:inherit}
.info-card img{width:100%;height:150px;object-fit:cover;border-radius:.6rem;margin-bottom:.6rem;border:1px solid #2e467f}
.info-card img.fit-contain{object-fit:contain;height:auto;max-height:360px;background:#f7fbff}
.card h3{margin:.2rem 0 .5rem;overflow-wrap:anywhere}
.card p{color:var(--muted);overflow-wrap:anywhere;word-break:break-word}
.card-bullets{margin:.2rem 0 0;padding-left:1.1rem;color:var(--muted);line-height:1.65}
.card-bullets li{margin:.2rem 0}
.inline-link{color:var(--accent);font-weight:600}
.stack{color:var(--muted);line-height:1.95;padding-left:1.1rem}
details{background:linear-gradient(180deg,#ffffff,#f3f8ff);border:1px solid #c7dbfb;border-radius:.85rem;padding:.85rem 1rem;margin:.7rem 0}
details summary{cursor:pointer;font-weight:700;color:#1d3f77}
details p{color:#4f648a}
.trustbar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;margin:0 0 1.4rem}
.trust-item{padding:.8rem .9rem;border:1px solid #c7dbfb;border-radius:.8rem;background:linear-gradient(180deg,#ffffff,#f0f6ff);font-size:.92rem;color:#31568f;text-decoration:none;display:block}
.review-card{display:flex;align-items:center;justify-content:flex-start;font-weight:700}
.muted-note{margin:-.2rem 0 .8rem;color:#5a75a3;font-size:.92rem}
.family-block{display:grid;gap:.9rem}
.family-banner{background:url('/assets/external/img_773c54c83ec0.jpeg') center/cover no-repeat;border:1px solid #b8cdf2;border-radius:1rem;min-height:300px}
.family-copy h2{margin:0 0 .4rem;color:#1b3f79}
.family-copy p{margin:0;color:#4f648a;max-width:95ch}
.split{display:grid;grid-template-columns:1.1fr .9fr;gap:1.2rem;align-items:center}
.emergency-split{align-items:stretch}
.emergency-split .card{height:100%;display:flex;flex-direction:column}
.emergency-photo img{width:100%;max-height:420px;object-fit:cover;border-radius:.7rem;border:1px solid #c7dbfb}
.mini-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;margin-top:1rem}
.mini-stats div{padding:.7rem;border:1px solid #c7dbfb;border-radius:.7rem;background:linear-gradient(180deg,#ffffff,#f3f8ff)}
.mini-stats strong{display:block;font-size:1.12rem;color:#1b3f79}
.mini-stats span{color:#4f648a;font-size:.88rem}
.media-card{border:1px solid #30457f;border-radius:1rem;overflow:hidden;box-shadow:0 16px 40px rgba(0,0,0,.35)}
.media-card img{display:block;width:100%;height:100%;object-fit:cover;min-height:280px}
.doctor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.doctor-card{border:1px solid #c7dbfb;border-radius:1rem;overflow:hidden;background:linear-gradient(180deg,#ffffff,#f3f8ff)}
.doctor-card img{width:100%;height:320px;object-fit:contain;display:block;background:#eef4ff;padding:.25rem}
.doctor-card h3{margin:.8rem 1rem .35rem}
.doctor-card p{margin:0 1rem 1rem;color:var(--muted)}
.doctor-feature{margin:0 1rem 1rem;padding-top:.25rem;border-top:1px solid #d7e5fb}
.doctor-feature img{width:100%;height:auto;max-height:340px;object-fit:cover;border-radius:.75rem;border:1px solid #c7dbfb;background:#fff}
.doctor-feature-title{margin:.55rem 0 0;color:#335788;font-size:.92rem;font-weight:600}
.doctor-expand summary{list-style:none;cursor:pointer}
.doctor-expand summary::-webkit-details-marker{display:none}
.doctor-expand summary span{display:block;margin:0 1rem 1rem;color:#9db2de;font-size:.85rem}
.doctor-body{padding-bottom:.8rem;border-top:1px solid #25396a}
.doctor-body p{margin:1rem}
.services-grid .service-card img{width:100%;height:320px;object-fit:contain;background:#fff;border:1px solid #c7dbfb;border-radius:.55rem;margin-bottom:.65rem}
.service-card.service-open{cursor:pointer}
.service-card.service-open:focus-visible{outline:2px solid #8fd6ff;outline-offset:2px}
.service-modal{position:fixed;inset:0;background:rgba(2,8,22,.78);backdrop-filter:blur(6px);display:none;z-index:60;padding:calc(104px + 2vh) 3vw 3vh;overflow:auto}
.service-modal.open{display:block}
.service-modal-card{width:min(980px,94vw);max-height:calc(100vh - 104px - 5vh);overflow:auto;margin:0 auto;background:linear-gradient(180deg,#ffffff,#eef5ff);border:1px solid #c7dbfb;border-radius:1rem;padding:1rem 1rem 1.3rem;position:relative;box-shadow:0 24px 60px rgba(52,92,160,.25)}
.service-modal-card img{width:100%;max-height:min(56vh,560px);object-fit:contain;background:#fff;border-radius:.8rem;border:1px solid #b7cdf3}
.service-modal-card h3{margin:1rem 0 .4rem;font-size:1.7rem;color:#1b3f79}
.service-modal-card p{color:#4f648a;line-height:1.75;white-space:pre-line}
.service-close{position:absolute;right:.8rem;top:.6rem;font-size:2rem;line-height:1;background:none;border:none;color:#365e9d;cursor:pointer}
.service-promo{margin-top:.6rem;padding:.6rem .7rem;border:1px dashed #9cbbe9;border-radius:.6rem;background:linear-gradient(180deg,#ffffff,#f3f8ff);color:#426291;font-size:.9rem}
.service-detail-card img{width:100%;max-height:560px;object-fit:contain;background:#fff;border-radius:.7rem;border:1px solid #c7dbfb;margin-bottom:.8rem}
.related-links{line-height:1.9}
.facts-grid .fact-card img{width:100%;height:150px;object-fit:cover;border-radius:.55rem;margin-bottom:.65rem}
.fact-card{cursor:pointer}
.fact-card:focus-visible{outline:2px solid #8fd6ff;outline-offset:2px}
.fact-modal{position:fixed;inset:0;background:rgba(2,8,22,.78);backdrop-filter:blur(6px);display:none;z-index:60;padding:calc(104px + 2vh) 3vw 3vh;overflow:auto}
.fact-modal.open{display:block}
.fact-modal-card{width:min(920px,94vw);max-height:calc(100vh - 104px - 5vh);overflow:auto;margin:0 auto;background:linear-gradient(180deg,#ffffff,#eef5ff);border:1px solid #c7dbfb;border-radius:1rem;padding:1rem 1rem 1.3rem;position:relative;box-shadow:0 24px 60px rgba(52,92,160,.25)}
.fact-modal-card img{width:100%;max-height:min(44vh,420px);object-fit:cover;border-radius:.8rem;border:1px solid #b7cdf3}
.fact-modal-card h3{margin:1rem 0 .4rem;font-size:1.6rem;color:#1b3f79}
.fact-modal-card p{color:#4f648a;line-height:1.75;white-space:pre-line}
.fact-close{position:absolute;right:.8rem;top:.6rem;font-size:2rem;line-height:1;background:none;border:none;color:#365e9d;cursor:pointer}
.contact-shell h2,.contact-map-wrap h2,.contact-cta-block h2{margin-bottom:1rem}
.contact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.contact-card p{margin:.45rem 0}
.map-frame{border:1px solid #2f477f;border-radius:1rem;overflow:hidden;min-height:360px;box-shadow:0 16px 36px rgba(0,0,0,.3)}
.map-frame iframe{width:100%;height:420px;border:0;display:block}
.contact-cta-block{border-top:1px solid rgba(137,172,231,.35);padding-top:2.2rem}
.appointment-form{margin-top:.7rem}
.hp-field{position:absolute !important;left:-9999px !important;opacity:0 !important;pointer-events:none !important}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
.appointment-form label{display:flex;flex-direction:column;gap:.35rem;font-size:.92rem;color:#38557f}
.appointment-form input,.appointment-form select,.appointment-form textarea{border:1px solid #c7dbfb;border-radius:.6rem;padding:.62rem .68rem;font:inherit;color:#223a66;background:#fff}
.appointment-form textarea{resize:vertical}
.form-msg{margin-top:.7rem;color:#4069a5;font-size:.9rem}
.qr-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.qr-card{text-align:center}
.qr-card img{width:180px;height:180px;object-fit:contain;display:block;margin:.5rem auto 0;border:1px solid #c7dbfb;border-radius:.6rem;background:#fff;padding:.35rem}
.social-mobile-links{display:none;gap:.55rem;flex-wrap:wrap}
.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}
.gallery-grid img{width:100%;height:220px;object-fit:cover;border-radius:.8rem;border:1px solid #2a3f73}
.testimonial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.testimonial-grid blockquote{margin:0;padding:1rem;border:1px solid #c7dbfb;border-radius:.9rem;background:linear-gradient(180deg,#ffffff,#f3f8ff);color:#35507f;line-height:1.65}
.testimonial-grid cite{display:block;margin-top:.7rem;color:#5270a0;font-style:normal}
.social-links{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:1rem}
.social-link{display:inline-flex;align-items:center;gap:.45rem;padding:.55rem .75rem;border:1px solid #c7dbfb;border-radius:.7rem;text-decoration:none;color:#31568f;background:linear-gradient(180deg,#ffffff,#f0f6ff)}
.social-link img{width:22px;height:22px;display:block;background:#fff;border:1px solid #c7dbfb;border-radius:.35rem;padding:.1rem}
.mobile-sticky-cta{display:none}
.footer{padding:3rem 0;color:#4f6893;font-size:.95rem;border-top:1px solid rgba(137,172,231,.35);position:relative;z-index:2;background:transparent;flex-shrink:0}
a{color:inherit}
@media (max-width:900px){.hero{grid-template-columns:1fr;padding-top:4.7rem}.hero-media{justify-self:start;width:min(360px,82%)}.trustbar{grid-template-columns:repeat(2,minmax(0,1fr))}.split{grid-template-columns:1fr}.doctor-grid,.testimonial-grid,.gallery-grid,.contact-grid,.form-grid{grid-template-columns:1fr}}
@media (max-width:720px){.topbar{padding-top:.7rem;gap:.55rem}.utility{font-size:.72rem}.menu-toggle{display:inline-block;margin-left:auto}.cta{display:none}nav{display:none;position:absolute;left:0;right:0;top:100%;background:linear-gradient(180deg,#ffffff,#eef5ff);border:1px solid #c7dbfb;border-radius:.75rem;padding:.35rem .5rem;flex-direction:column;align-items:stretch;gap:.2rem;box-shadow:0 14px 28px rgba(27,62,122,.2)}nav.open{display:flex}nav > .nav-item,nav > .has-menu{width:100%}nav .nav-item,nav .nav-item>a{white-space:normal;font-size:.95rem;padding:.45rem .2rem}.has-menu{display:grid;grid-template-columns:1fr auto;align-items:center}.has-menu > a{padding:.45rem .2rem}.submenu-toggle{display:inline-block;border:1px solid #b9cff3;background:#fff;color:#1d4f98;border-radius:.45rem;padding:.2rem .45rem;cursor:pointer}.has-menu .submenu{position:static;display:none;grid-column:1 / -1;min-width:0;box-shadow:none;border-radius:.6rem;margin-top:.25rem}.has-menu.open .submenu{display:block}.hero h1{max-width:100%}.hero-line-match{max-width:100%}.hero h1.single-line{white-space:normal}.lead.lead-single-line{white-space:normal}.breadcrumbs{font-size:.78rem}.mini-stats{grid-template-columns:1fr}.qr-grid{display:none}.social-mobile-links{display:flex}.page-main{padding-bottom:3.4rem}.section:last-of-type{padding-bottom:4.2rem}.footer{margin-top:2.2rem}.mobile-sticky-cta{position:fixed;left:0;right:0;bottom:0;display:grid;grid-template-columns:1fr 1fr;gap:.6rem;padding:.7rem;background:rgba(255,255,255,.97);border-top:1px solid #c7dbfb;z-index:30}.mobile-sticky-cta .btn{text-align:center;padding:.8rem}.mobile-sticky-cta ~ .footer{padding-bottom:5.2rem}}
@media (min-width:768px){.mobile-only{display:none}}
