:root{
  --bg:#f8fcff;
  --white:#ffffff;
  --ink:#0b2238;
  --muted:#5e7184;
  --primary:#087fb8;
  --primary-dark:#075f8a;
  --aqua:#45d0df;
  --soft:#e8f8fc;
  --line:#d8edf4;
  --shadow:0 24px 70px rgba(11,34,56,.12);
  --radius:28px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Manrope',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;background:var(--bg);color:var(--ink);line-height:1.6;overflow-x:hidden}
a{text-decoration:none;color:inherit}
.container{width:min(1140px,92%);margin-inline:auto}.section-pad{padding:105px 0}.section-pad-small{padding:70px 0}.site-header{position:sticky;top:0;z-index:20;background:rgba(248,252,255,.82);backdrop-filter:blur(18px);border-bottom:1px solid rgba(216,237,244,.8)}
.navbar{width:min(1180px,94%);margin:auto;min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:12px;font-weight:800}.brand-mark{width:48px;height:48px;border-radius:16px;background:linear-gradient(135deg,var(--primary),var(--aqua));display:grid;place-items:center;color:white;box-shadow:0 14px 34px rgba(8,127,184,.28);font-size:.88rem}.brand-text{font-size:1.02rem;color:var(--ink)}.nav-links{display:flex;align-items:center;gap:24px;color:var(--muted);font-weight:700;font-size:.95rem}.nav-links a:hover{color:var(--primary)}.nav-cta{background:var(--ink);color:#fff!important;padding:12px 18px;border-radius:999px;box-shadow:0 12px 25px rgba(11,34,56,.16)}.menu-toggle{display:none;background:none;border:0;width:44px;height:44px;gap:5px;flex-direction:column;align-items:center;justify-content:center}.menu-toggle span{display:block;width:24px;height:2px;background:var(--ink);border-radius:8px}.hero{position:relative;min-height:calc(100vh - 82px);display:flex;align-items:center;overflow:hidden;background:radial-gradient(circle at 12% 10%,#dff9ff 0,transparent 35%),linear-gradient(135deg,#f9fdff 0%,#eefbff 100%)}.hero-bg-orb{position:absolute;border-radius:50%;filter:blur(2px);opacity:.65}.orb-one{width:420px;height:420px;background:#c4f5ff;right:-160px;top:80px}.orb-two{width:230px;height:230px;background:#d9f1ff;left:-80px;bottom:60px}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:70px;position:relative;z-index:1}.eyebrow{text-transform:uppercase;letter-spacing:.17em;color:var(--primary);font-size:.78rem;font-weight:800;margin-bottom:12px}.hero h1,.section-heading h2,.banner h2,.contact-panel h2,.footer h2{font-family:'Playfair Display',serif;line-height:1.02}.hero h1{font-size:clamp(3rem,7vw,6.8rem);letter-spacing:-.05em;margin-bottom:22px}.hero-lead{font-size:clamp(1.12rem,2.2vw,1.55rem);color:var(--muted);max-width:680px}.hero-actions,.hero-contact-strip{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:15px 24px;font-weight:800;transition:.25s ease;border:1px solid transparent}.btn:hover{transform:translateY(-3px)}.btn-primary{background:linear-gradient(135deg,var(--primary),var(--aqua));color:white;box-shadow:0 18px 35px rgba(8,127,184,.25)}.btn-soft{background:white;color:var(--ink);border-color:var(--line)}.btn-light{background:#fff;color:var(--primary-dark)}.full{width:100%;margin-top:22px}.hero-contact-strip{background:rgba(255,255,255,.78);border:1px solid var(--line);border-radius:24px;padding:16px;box-shadow:var(--shadow);width:max-content;max-width:100%}.hero-contact-strip div{padding:8px 16px}.hero-contact-strip span,.contact-list span{display:block;color:var(--muted);font-size:.82rem;font-weight:700}.hero-contact-strip strong{font-size:1.02rem}.hero-visual{position:relative;min-height:500px;display:grid;place-items:center}.dental-card{background:rgba(255,255,255,.86);border:1px solid rgba(255,255,255,.9);box-shadow:var(--shadow);border-radius:38px}.main-card{width:min(430px,100%);padding:38px;text-align:center;position:relative;z-index:2}.smile-icon{width:155px;height:155px;margin:0 auto 24px;border-radius:46px;background:linear-gradient(135deg,#eafcff,#fff);display:grid;place-items:center;box-shadow:inset 0 0 0 1px var(--line)}.smile-icon svg{width:105px;height:105px;fill:#fff;stroke:var(--primary);stroke-width:5;stroke-linecap:round;stroke-linejoin:round}.main-card h2{font-size:2rem;line-height:1.15;margin-bottom:12px}.main-card p{color:var(--muted)}.mini-tags{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:22px}.mini-tags span{font-size:.82rem;font-weight:800;color:var(--primary-dark);background:var(--soft);padding:8px 10px;border-radius:999px}.floating-card{position:absolute;background:var(--ink);color:white;padding:16px 20px;border-radius:18px;font-weight:800;box-shadow:0 20px 50px rgba(11,34,56,.22)}.card-top{top:48px;right:20px}.card-bottom{bottom:70px;left:15px;background:var(--primary)}.trust{background:white}.trust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.trust-item{padding:28px;border-radius:24px;background:#fff;border:1px solid var(--line);box-shadow:0 16px 45px rgba(11,34,56,.06)}.trust-number{display:inline-block;color:var(--aqua);font-weight:900;font-size:1.9rem;margin-bottom:12px}.trust-item h3,.treatment-card h3,.location-card h3,.appointment-card h3{font-size:1.35rem;margin-bottom:8px}.trust-item p,.treatment-card p,.section-heading p,.location-card p,.contact-panel p,.appointment-card p,.footer p{color:var(--muted)}.section-heading{text-align:center;max-width:740px;margin:0 auto 48px}.section-heading.left{text-align:left;margin:0}.section-heading h2,.banner h2,.contact-panel h2{font-size:clamp(2.2rem,4vw,4rem);letter-spacing:-.03em;margin-bottom:16px}.treatment-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.treatment-card{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:30px;min-height:245px;box-shadow:0 18px 45px rgba(11,34,56,.06);transition:.25s ease}.treatment-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}.icon-bubble{width:58px;height:58px;border-radius:19px;background:linear-gradient(135deg,var(--primary),var(--aqua));color:white;display:grid;place-items:center;font-weight:900;font-size:1.25rem;margin-bottom:22px}.featured-card{background:linear-gradient(145deg,#fff,#eafcff)}.banner{border-radius:38px;background:linear-gradient(135deg,var(--primary-dark),var(--primary),var(--aqua));color:white;padding:46px;display:flex;align-items:center;justify-content:space-between;gap:28px;box-shadow:var(--shadow);overflow:hidden;position:relative}.banner:after{content:"";position:absolute;width:260px;height:260px;border-radius:50%;right:-80px;top:-100px;background:rgba(255,255,255,.18)}.banner .eyebrow,.banner p{color:rgba(255,255,255,.84)}.banner>*{position:relative;z-index:1}.location{background:white}.location-grid{display:grid;grid-template-columns:1fr 1fr;gap:45px;align-items:center}.location-card{background:linear-gradient(145deg,#ffffff,#f0fbff);border:1px solid var(--line);border-radius:34px;padding:38px;box-shadow:var(--shadow)}.pin{width:70px;height:70px;border-radius:22px;background:var(--ink);color:white;display:grid;place-items:center;font-size:2rem;margin-bottom:20px}.location-card .btn{margin-top:24px}.contact{background:radial-gradient(circle at 80% 0,#dff9ff 0,transparent 34%),var(--bg)}.contact-grid{display:grid;grid-template-columns:1fr .78fr;gap:32px}.contact-panel,.appointment-card{background:white;border:1px solid var(--line);border-radius:34px;padding:38px;box-shadow:0 18px 45px rgba(11,34,56,.08)}.contact-list{display:grid;gap:14px;margin-top:26px}.contact-list a{display:flex;justify-content:space-between;gap:16px;align-items:center;border:1px solid var(--line);border-radius:20px;padding:18px;background:#fbfeff}.contact-list strong{color:var(--primary-dark)}.appointment-card ul{list-style:none;margin-top:18px;display:grid;gap:10px}.appointment-card li{padding:12px 14px;background:var(--soft);border-radius:14px;font-weight:800;color:var(--primary-dark)}.footer{background:#071827;color:white;padding:54px 0 0}.footer-grid{display:grid;grid-template-columns:1.2fr .6fr 1fr;gap:32px}.footer p{color:rgba(255,255,255,.72);margin-top:8px}.footer-bottom{text-align:center;border-top:1px solid rgba(255,255,255,.12);margin-top:38px;padding:20px;color:rgba(255,255,255,.68);font-size:.92rem}.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:translateY(0)}
@media(max-width:900px){.menu-toggle{display:flex}.nav-links{position:absolute;top:82px;left:3%;right:3%;background:white;border:1px solid var(--line);border-radius:24px;padding:18px;box-shadow:var(--shadow);display:none;flex-direction:column;align-items:stretch}.nav-links.active{display:flex}.nav-links a{padding:10px}.nav-cta{text-align:center}.hero-grid,.location-grid,.contact-grid{grid-template-columns:1fr}.hero{min-height:auto}.hero-visual{min-height:390px}.trust-grid,.treatment-grid,.footer-grid{grid-template-columns:1fr}.banner{flex-direction:column;align-items:flex-start}.section-pad{padding:80px 0}.section-pad-small{padding:55px 0}.brand-text{font-size:.94rem}.hero-contact-strip{width:100%}}
@media(max-width:520px){.navbar{min-height:74px}.nav-links{top:74px}.hero h1{font-size:3.2rem}.main-card{padding:28px;border-radius:28px}.floating-card{display:none}.section-heading h2,.banner h2,.contact-panel h2{font-size:2.25rem}.banner,.contact-panel,.appointment-card,.location-card{padding:28px;border-radius:26px}.hero-actions .btn{width:100%}.hero-contact-strip div{width:100%}.contact-list a{display:block}.contact-list strong{display:block;margin-top:4px}.treatment-grid{gap:16px}}

.local-phone-highlight{margin-top:18px;display:inline-flex;align-items:center;gap:14px;background:#ffffff;border:2px solid var(--primary);border-radius:999px;padding:12px 18px;box-shadow:0 18px 35px rgba(8,127,184,.18);font-weight:900}
.local-phone-highlight span{color:var(--muted);font-size:.9rem}
.local-phone-highlight a{color:var(--primary-dark);font-size:1.2rem;letter-spacing:.02em}
.appointment-local-phone{margin-top:18px;color:var(--primary-dark)!important;font-size:1.05rem}
@media(max-width:520px){.local-phone-highlight{width:100%;justify-content:space-between;border-radius:20px}.local-phone-highlight a{font-size:1.12rem}}
