:root{
  --blue:#005f9f; --blue-2:#0e83c7; --aqua:#dff6fb; --red:#ef3340; --red-dark:#cf2031;
  --ink:#1f2933; --muted:#667085; --line:#e6edf2; --surface:#ffffff; --soft:#f6fbfd;
  --shadow:0 1px 2px rgba(16,24,40,.05),0 12px 30px rgba(16,24,40,.10);
  --radius:28px; --container:min(1160px, calc(100% - 40px));
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;font-family:'DM Sans',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink);background:#fff;line-height:1.55} img{max-width:100%;display:block} a{color:inherit;text-decoration:none}.container{width:var(--container);margin-inline:auto}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.skip-link{position:absolute;left:16px;top:-48px;background:var(--blue);color:#fff;padding:10px 14px;border-radius:12px;z-index:99}.skip-link:focus{top:12px}.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.88);backdrop-filter:saturate(180%) blur(18px);border-bottom:1px solid rgba(230,237,242,.85)}.top-strip{background:linear-gradient(90deg,var(--blue),var(--blue-2));color:#fff;font-size:14px}.top-strip__inner{min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:18px}.top-strip__phones{display:flex;gap:18px;flex-wrap:wrap}.top-strip a{text-decoration:underline;text-underline-offset:3px}.nav{min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand img{width:226px;height:auto}.nav-menu{display:flex;align-items:center;gap:24px;font-weight:700;color:#334155}.nav-menu>a:not(.button){position:relative}.nav-menu>a:not(.button)::after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:2px;background:var(--red);transform:scaleX(0);transition:.2s}.nav-menu>a:hover::after{transform:scaleX(1)}.nav-toggle{display:none;border:0;background:#eef7fb;border-radius:14px;padding:12px}.nav-toggle span:not(.sr-only){display:block;width:24px;height:2px;background:var(--ink);margin:5px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:0 24px;border-radius:999px;background:var(--red);color:#fff;font-weight:800;box-shadow:0 12px 24px rgba(239,51,64,.22);transition:.2s transform,.2s box-shadow,.2s background}.button:hover{background:var(--red-dark);transform:translateY(-2px);box-shadow:0 16px 32px rgba(239,51,64,.28)}.button--small{min-height:44px;padding-inline:18px}.button--ghost{background:#fff;color:var(--blue);box-shadow:inset 0 0 0 1px var(--line)}.button--ghost:hover{background:#eef9fc;color:var(--blue);box-shadow:inset 0 0 0 1px #bfebf5}.button--light{background:#fff;color:var(--red);box-shadow:none}.button--ghost-light{background:transparent;color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.5)}.hero{overflow:hidden;background:radial-gradient(circle at 80% 20%,#b9eef7 0 25%,transparent 35%),linear-gradient(135deg,#f8fdff 0%,#e6f7fb 100%);padding:72px 0 84px}.hero__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,.92fr);gap:58px;align-items:center}.eyebrow{display:inline-flex;align-items:center;gap:8px;text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:900;color:var(--blue)}.eyebrow::before{content:"";width:28px;height:3px;background:var(--red);border-radius:99px}.eyebrow--light{color:#fff}.eyebrow--light::before{background:#fff}.hero h1,.section h2{letter-spacing:-.035em;line-height:.95;margin:16px 0 20px}.hero h1{font-size:clamp(46px,7vw,86px);max-width:760px}.hero p{font-size:clamp(18px,2vw,22px);color:#475467;max-width:650px;margin:0 0 30px}.hero__actions{display:flex;gap:14px;flex-wrap:wrap}.hero__trust{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.hero__trust span{background:rgba(255,255,255,.72);border:1px solid #dceff5;padding:12px 14px;border-radius:18px;color:#536372}.hero__trust strong{color:var(--ink)}.hero__visual{position:relative;min-height:560px}.photo-card{border-radius:var(--radius);overflow:hidden;background:#fff;box-shadow:var(--shadow)}.photo-card--hero{position:absolute;inset:0 20px 30px 0;transform:rotate(-2deg)}.photo-card--hero img{width:100%;height:100%;object-fit:cover}.floating-card{position:absolute;right:0;bottom:42px;max-width:270px;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);padding:20px;border-radius:24px;box-shadow:var(--shadow)}.stars{display:block;color:#ffc43d;letter-spacing:.08em;font-weight:900}.smile-mark{position:absolute;right:44px;top:14px;width:86px;height:86px;border-radius:50%;background:var(--red);color:#fff;font-size:76px;line-height:.58;text-align:center;transform:rotate(-12deg);box-shadow:0 20px 40px rgba(239,51,64,.26)}.quick-actions{margin-top:-42px;position:relative;z-index:2}.card-grid{display:grid;gap:22px}.card-grid--three{grid-template-columns:repeat(3,1fr)}.action-card{background:#fff;border:1px solid var(--line);border-radius:28px;box-shadow:var(--shadow);overflow:hidden}.action-card>img{width:100%;height:210px;object-fit:cover}.action-card>img[src$='.svg']{object-fit:contain;background:#f6fbfd;padding:12px}.action-card>div{padding:26px}.icon-bubble{display:inline-grid;place-items:center;width:48px;height:48px;border-radius:16px;background:#eaf8fc;color:var(--blue);margin-top:-54px;border:6px solid #fff;position:relative}.icon-bubble svg{width:24px;height:24px;fill:currentColor}.action-card h2{font-size:24px;letter-spacing:-.03em;margin:14px 0 8px}.action-card p{color:var(--muted);margin:0 0 18px}.action-card a{font-weight:900;color:var(--red)}.action-card a::after{content:"";display:inline-block;width:.45em;height:.45em;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg);margin-left:.45em;margin-bottom:.05em}.section{padding:96px 0}.section--soft{background:var(--soft);margin-top:76px}.section__heading{text-align:center;max-width:820px;margin-inline:auto;margin-bottom:42px}.section__heading .eyebrow{justify-content:center}.section__heading .eyebrow::before{display:none}.section h2{font-size:clamp(36px,5vw,60px)}.section__heading p{font-size:18px;color:var(--muted)}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service-card{background:#fff;border:1px solid var(--line);border-radius:26px;padding:28px;transition:.2s transform,.2s box-shadow,.2s border-color}.service-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:#bfe6f0}.service-card span{color:var(--red);font-weight:900}.service-card h3{font-size:24px;line-height:1.05;letter-spacing:-.03em;margin:12px 0}.service-card p{color:var(--muted);margin:0}.split__grid{display:grid;grid-template-columns:.92fr 1fr;gap:70px;align-items:center}.split__media{position:relative}.split__media>img{border-radius:34px;width:100%;max-height:620px;object-fit:cover;box-shadow:var(--shadow)}.badge-card{position:absolute;left:26px;right:26px;bottom:26px;background:rgba(255,255,255,.92);backdrop-filter:blur(12px);border-radius:24px;padding:20px;display:grid;gap:4px;box-shadow:var(--shadow)}.badge-card span,.split__copy p,.check-list{color:var(--muted)}.split__copy h2{font-size:clamp(38px,5vw,64px)}.check-list{list-style:none;padding:0;margin:24px 0;display:grid;gap:14px}.check-list li{position:relative;padding-left:34px}.check-list li::before{content:"✓";position:absolute;left:0;top:-1px;width:24px;height:24px;display:grid;place-items:center;background:#e6f8ed;color:#138a4d;border-radius:50%;font-weight:900}.associations{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.associations img{width:180px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:10px}.reviews{background:linear-gradient(135deg,var(--red),#b90f24);color:#fff}.reviews__grid{display:grid;grid-template-columns:1.1fr .9fr;gap:24px}.review-panel,.appointment-panel{border-radius:32px;padding:38px}.review-panel{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22)}.review-panel h2,.appointment-panel h2{font-size:clamp(32px,4vw,52px);line-height:1.05;letter-spacing:-.035em;margin:14px 0}.review-panel p{font-size:22px;color:#fff}.appointment-panel{background:#fff;color:var(--ink)}.appointment-panel .eyebrow{color:var(--red)}.office-list{display:grid;gap:12px;margin:22px 0}.office-list a{display:flex;justify-content:space-between;gap:18px;padding:18px;border:1px solid var(--line);border-radius:18px}.office-list span{color:var(--blue);font-weight:900}.kids{background:#f9fdff}.kids__grid{display:grid;grid-template-columns:1fr .6fr;gap:30px;align-items:center;background:linear-gradient(135deg,#e7f8fc,#fff);border:1px solid #d7eef5;border-radius:36px;padding:52px;box-shadow:var(--shadow)}.kids img{justify-self:center;max-width:320px}.locations__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.location-card{background:#fff;border:1px solid var(--line);border-radius:28px;padding:32px;box-shadow:var(--shadow)}.location-card h3{font-size:32px;margin:0 0 8px}.location-card p{color:var(--muted);font-size:18px}.location-card__actions{display:flex;gap:12px;flex-wrap:wrap;margin:22px 0}.location-card__actions a{font-weight:900;color:var(--blue);background:#eef9fc;border-radius:999px;padding:12px 16px}.site-footer{background:#073b5f;color:#dcecf5;padding:56px 0 24px}.footer__grid{display:grid;grid-template-columns:1.3fr .7fr .8fr;gap:44px}.footer-logo{width:220px;background:#fff;border-radius:18px;padding:10px;margin-bottom:18px}.site-footer h2{font-size:15px;text-transform:uppercase;letter-spacing:.12em;color:#fff}.site-footer a{display:block;margin:10px 0;color:#fff}.footer__bottom{border-top:1px solid rgba(255,255,255,.16);margin-top:34px;padding-top:20px;display:flex;justify-content:space-between;gap:18px;color:#a8c7d8;font-size:14px}:focus-visible{outline:3px solid #ffd166;outline-offset:4px}.reveal{opacity:1;transform:none}.reveal.is-visible{opacity:1;transform:none}@media (max-width:900px){.top-strip__inner{justify-content:center;text-align:center}.top-strip__inner>span{display:none}.nav{min-height:74px}.brand img{width:190px}.nav-toggle{display:block}.nav-menu{position:absolute;left:20px;right:20px;top:calc(100% + 10px);display:grid;gap:12px;background:#fff;padding:20px;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);transform-origin:top;transform:scaleY(.95);opacity:0;pointer-events:none;transition:.18s}.nav-menu.is-open{opacity:1;pointer-events:auto;transform:scaleY(1)}.hero{padding-top:46px}.hero__grid,.split__grid,.reviews__grid,.kids__grid,.footer__grid{grid-template-columns:1fr}.hero__visual{min-height:430px;order:-1}.card-grid--three,.services-grid{grid-template-columns:1fr 1fr}.locations__grid{grid-template-columns:1fr}.footer__bottom{display:grid}.kids__grid{padding:32px}}@media (max-width:620px){:root{--container:min(100% - 28px,1160px)}.top-strip__phones{justify-content:center;gap:10px}.hero h1{font-size:44px}.hero__visual{min-height:340px}.floating-card{left:14px;right:14px;bottom:10px;max-width:none}.smile-mark{width:64px;height:64px;font-size:58px}.card-grid--three,.services-grid{grid-template-columns:1fr}.section{padding:68px 0}.section--soft{margin-top:48px}.hero__actions,.location-card__actions{display:grid}.button{width:100%}.office-list a{display:grid}.review-panel,.appointment-panel{padding:28px}.kids__grid{text-align:center}.kids__grid .eyebrow{justify-content:center}.kids__grid .eyebrow::before{display:none}}


/* Inner pages */
.page-hero{background:linear-gradient(135deg,#f8fdff 0%,#e6f7fb 100%);padding:72px 0 58px;border-bottom:1px solid var(--line)}
.page-hero h1{font-size:clamp(44px,7vw,78px);line-height:.95;letter-spacing:-.035em;margin:16px 0 0;max-width:900px}
.page-content{background:#fff}.two-col{display:grid;grid-template-columns:.9fr 1fr;gap:58px;align-items:center}.page-image{width:100%;border-radius:34px;box-shadow:var(--shadow);max-height:560px;object-fit:cover}.page-content h2,.page-cta h2{font-size:clamp(34px,4.5vw,56px);line-height:1;letter-spacing:-.035em;margin:0 0 18px}.page-content p{font-size:18px;color:var(--muted)}.inline-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.inline-links a{font-weight:900;color:var(--blue);background:#eef9fc;border-radius:999px;padding:12px 16px}.page-cta{background:#f6fbfd}.page-cta__box{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:34px;padding:40px;box-shadow:var(--shadow)}.page-cta__box p{color:var(--muted);max-width:680px}.page-cta__actions{display:grid;gap:12px;min-width:250px}.form-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:46px;align-items:start}.appointment-form{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;background:#fff;border:1px solid var(--line);border-radius:30px;padding:28px;box-shadow:var(--shadow)}.appointment-form label{display:grid;gap:7px;font-weight:800;color:#334155}.appointment-form input,.appointment-form select,.appointment-form textarea{width:100%;border:1px solid #ccd8e2;border-radius:14px;padding:13px 14px;font:inherit;color:var(--ink);background:#fff}.appointment-form .full,.appointment-form button{grid-column:1/-1}.contact-card{display:grid;gap:10px;background:#eef9fc;border:1px solid #d7eef5;border-radius:24px;padding:22px;margin-top:24px}.contact-card a{font-weight:900;color:var(--blue)}@media(max-width:900px){.two-col,.form-layout,.page-cta__box{grid-template-columns:1fr}.appointment-form{grid-template-columns:1fr}.page-cta__actions{min-width:0}.page-hero{padding:50px 0 42px}}
