:root{--blue:#2f7df6;--deep:#07162d;--sky:#eaf4ff;--white:#fff;--text:#1f2a37;--muted:#64748b;--shadow:0 20px 50px rgba(15,23,42,.13);--radius:24px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:Inter,Arial,sans-serif;color:var(--text);background:#fff;line-height:1.65}a{text-decoration:none;color:inherit}img{max-width:100%;display:block}.container{width:min(1120px,92%);margin:auto}.section-pad{padding:90px 0}.site-header{position:sticky;top:0;background:rgba(255,255,255,.92);backdrop-filter:blur(14px);z-index:99;box-shadow:0 6px 24px rgba(0,0,0,.06)}.nav{height:76px;width:min(1180px,94%);margin:auto;display:flex;align-items:center;justify-content:space-between}.brand{font-weight:900;color:var(--deep);font-size:1.08rem}.brand span{display:inline-grid;place-items:center;width:42px;height:42px;background:var(--blue);color:#fff;border-radius:14px;margin-right:8px}.nav-links{display:flex;gap:26px;align-items:center;font-weight:700}.nav-cta{background:var(--blue);color:#fff!important;padding:12px 18px;border-radius:999px}.menu-toggle{display:none;border:0;background:var(--deep);color:#fff;border-radius:10px;padding:8px 12px;font-size:1.2rem}.hero{min-height:760px;position:relative;display:grid;grid-template-columns:1fr 360px;align-items:center;gap:40px;padding:90px 8%;background:linear-gradient(90deg,rgba(7,22,45,.9),rgba(7,22,45,.55)),url('https://images.unsplash.com/photo-1629909615184-74f495363b67?auto=format&fit=crop&w=1800&q=80') center/cover}.hero-content{max-width:720px;color:#fff;z-index:1}.eyebrow{text-transform:uppercase;font-size:.78rem;letter-spacing:.16em;font-weight:900;color:#8ec3ff;margin-bottom:16px}.eyebrow.blue{color:var(--blue)}.eyebrow.light{color:#b7dcff}.hero h1{font-size:clamp(2.4rem,6vw,5.5rem);line-height:.98;margin-bottom:22px}.hero-text{font-size:1.18rem;color:#e5eefb;margin-bottom:32px}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:14px 24px;font-weight:900;border:0;cursor:pointer;transition:.25s}.btn.primary{background:var(--blue);color:#fff}.btn.secondary{background:#fff;color:var(--deep);margin-left:10px}.btn.white{background:#fff;color:var(--blue);margin-top:22px}.btn:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.hero-card{z-index:1;background:#fff;border-radius:var(--radius);padding:28px;box-shadow:var(--shadow)}.hero-card h3{font-size:1.5rem;color:var(--deep)}.hero-card strong{color:var(--blue)}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.reverse{grid-template-columns:.9fr 1fr}.intro h2,.center h2,.blue-band h2,.contact h2{font-size:clamp(2rem,4vw,3.2rem);line-height:1.08;color:var(--deep);margin-bottom:18px}.rounded-img{border-radius:36px;box-shadow:var(--shadow);min-height:420px;object-fit:cover}.check-list{margin-top:18px;list-style:none}.check-list li{padding:10px 0 10px 32px;position:relative}.check-list li:before{content:'✓';position:absolute;left:0;color:var(--blue);font-weight:900}.stats{background:var(--sky);padding:55px 0}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.stat-card{background:#fff;border-radius:22px;padding:26px;box-shadow:0 10px 30px rgba(47,125,246,.1)}.stat-card span,.service-card span{color:var(--blue);font-weight:900}.stat-card h3{font-size:2rem;color:var(--deep)}.center{text-align:center;max-width:760px}.service-grid,.team-grid,.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:44px}.service-card{padding:34px;background:#fff;border:1px solid #e8eef7;border-radius:var(--radius);box-shadow:0 12px 30px rgba(15,23,42,.06);transition:.25s}.service-card:hover{transform:translateY(-8px);border-color:var(--blue)}.service-card h3{margin:12px 0;color:var(--deep)}.blue-band{background:linear-gradient(135deg,var(--deep),#1463d8);padding:90px 0;color:#fff}.blue-band h2{color:#fff}.blue-band p{color:#dbeafe}.team-card{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;text-align:center}.team-card img{height:310px;width:100%;object-fit:cover}.team-card h3{margin-top:18px;color:var(--deep)}.team-card p{padding-bottom:24px;color:var(--muted)}.gallery{background:#f8fbff}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:36px}.gallery-grid img{height:260px;width:100%;object-fit:cover;border-radius:22px}.reviews{background:#fff}.review-grid blockquote{background:var(--sky);border-radius:var(--radius);padding:30px;font-size:1.05rem}.review-grid cite{display:block;margin-top:18px;color:var(--blue);font-weight:900}.contact{background:#f8fbff}.appointment-form{background:#fff;border-radius:var(--radius);padding:30px;box-shadow:var(--shadow);display:grid;gap:14px}.appointment-form input,.appointment-form select,.appointment-form textarea{width:100%;padding:15px 16px;border:1px solid #d8e2ef;border-radius:14px;font:inherit}.small-note{font-size:.9rem;color:var(--muted);margin-top:14px}footer{background:var(--deep);color:#dbeafe;padding:60px 0 24px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}footer a{display:block;color:#b7dcff;margin:8px 0}.copyright{text-align:center;margin-top:35px;color:#93a4bd}#loader{position:fixed;inset:0;background:#fff;z-index:999;display:grid;place-items:center;align-content:center;gap:10px;color:var(--blue);font-weight:900}.tooth{font-size:4rem;animation:pulse 1s infinite alternate}@keyframes pulse{to{transform:scale(1.15)}}#backToTop{position:fixed;right:22px;bottom:22px;width:46px;height:46px;border:0;border-radius:50%;background:var(--blue);color:#fff;font-weight:900;display:none;cursor:pointer}.reveal{opacity:0;transform:translateY(28px);transition:.7s ease}.reveal.active{opacity:1;transform:translateY(0)}@media(max-width:860px){.menu-toggle{display:block}.nav-links{position:absolute;top:76px;left:0;right:0;background:#fff;display:none;flex-direction:column;padding:24px;box-shadow:var(--shadow)}.nav-links.open{display:flex}.hero{grid-template-columns:1fr;padding:80px 5%}.two-col,.reverse,.stats-grid,.service-grid,.team-grid,.review-grid,.footer-grid{grid-template-columns:1fr}.gallery-grid{grid-template-columns:1fr 1fr}.btn.secondary{margin:10px 0 0}.section-pad{padding:65px 0}}
