*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
:root{
  --blue:#2F6FE4; --blue-light:#5B93F5; --blue-pale:#EAF1FE;
  --teal:#1FBE9C; --teal-pale:#E4FAF4;
  --ink:#101F33; --ink-soft:#4C5D75; --ink-dim:#8595AC;
  --bg:#F6F9FE; --surface:#FFFFFF; --line:#E3EAF6;
  --heading:'Manrope',sans-serif; --sans:'Inter',sans-serif;
  --radius-lg:28px; --radius-md:18px; --radius-sm:12px;
  --shadow-soft:0 20px 50px -20px rgba(24,60,130,.18);
  --shadow-card:0 12px 30px -14px rgba(24,60,130,.14);
}
html{scroll-behavior:smooth;}
body{background:var(--bg);color:var(--ink);font-family:var(--sans);line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased;}
img,svg{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;}
.container{max-width:1280px;margin:0 auto;padding:0 2.5rem;}

/* NAV */
header.site-nav{position:fixed;top:0;left:0;right:0;z-index:200;padding:1.3rem 0;transition:padding .3s,background .3s,box-shadow .3s;}
header.site-nav.scrolled{background:rgba(246,249,254,.9);backdrop-filter:blur(14px);box-shadow:0 8px 30px -18px rgba(24,60,130,.25);padding:.8rem 0;}
.nav-inner{display:flex;align-items:center;justify-content:space-between;}
.nav-logo{display:flex;align-items:center;gap:.6rem;font-family:var(--heading);font-weight:800;font-size:1.15rem;color:var(--ink);}
.nav-logo .mark{width:38px;height:38px;border-radius:11px;background:linear-gradient(140deg,var(--blue),var(--teal));display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.nav-logo .mark svg{width:20px;height:20px;color:#fff;}
.nav-links{display:flex;gap:2.2rem;}
.nav-links a{font-size:.92rem;font-weight:600;color:var(--ink-soft);transition:color .25s;}
.nav-links a:hover{color:var(--blue);}
.nav-right{display:flex;align-items:center;gap:1rem;}
.btn{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--heading);font-weight:700;font-size:.88rem;border-radius:999px;padding:.85rem 1.6rem;border:none;cursor:pointer;transition:transform .2s,box-shadow .2s,background .2s;text-align:center;}
.btn-solid{background:var(--blue);color:#fff;box-shadow:0 14px 30px -10px rgba(47,111,228,.55);}
.btn-solid:hover{transform:translateY(-2px);box-shadow:0 18px 36px -10px rgba(47,111,228,.6);}
.btn-ghost{background:var(--surface);color:var(--blue);border:1px solid var(--line);}
.btn-ghost:hover{border-color:var(--blue);transform:translateY(-2px);}
.btn-teal{background:var(--teal);color:#fff;box-shadow:0 14px 30px -10px rgba(31,190,156,.5);}
.btn-teal:hover{transform:translateY(-2px);}
.nav-burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:.4rem;}
.nav-burger span{width:22px;height:2px;background:var(--ink);border-radius:2px;}

/* HERO */
.hero{padding:9.5rem 0 5rem;position:relative;overflow:hidden;}
.hero::before{content:'';position:absolute;top:-200px;right:-220px;width:640px;height:640px;background:radial-gradient(circle,rgba(47,111,228,.14),transparent 70%);border-radius:50%;}
.hero::after{content:'';position:absolute;bottom:-160px;left:-200px;width:480px;height:480px;background:radial-gradient(circle,rgba(31,190,156,.12),transparent 70%);border-radius:50%;}
.hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:3.5rem;align-items:center;position:relative;}
.hero-badge{display:inline-flex;align-items:center;gap:.5rem;background:var(--surface);border:1px solid var(--line);padding:.5rem 1.1rem;border-radius:999px;font-size:.78rem;font-weight:600;color:var(--blue);box-shadow:var(--shadow-card);margin-bottom:1.6rem;}
.hero-badge .dot{width:7px;height:7px;border-radius:50%;background:var(--teal);}
.hero-title{font-family:var(--heading);font-weight:800;font-size:clamp(2.4rem,4.6vw,3.6rem);line-height:1.1;letter-spacing:-.02em;color:var(--ink);margin-bottom:1.4rem;}
.hero-title .accent{color:var(--blue);}
.hero-lead{font-size:1.08rem;color:var(--ink-soft);max-width:46ch;margin-bottom:2.2rem;}
.hero-actions{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:2.6rem;}
.hero-trust{display:flex;align-items:center;gap:1.4rem;flex-wrap:wrap;}
.hero-trust .stars{color:#FFB020;letter-spacing:.1em;}
.hero-trust-text{font-size:.85rem;color:var(--ink-dim);}
.hero-trust-text strong{color:var(--ink);}

.hero-visual{position:relative;height:520px;}
.hero-blob{position:absolute;inset:0;border-radius:44% 56% 62% 38% / 45% 40% 60% 55%;background:linear-gradient(150deg,var(--blue) 0%,var(--blue-light) 55%,var(--teal) 130%);box-shadow:var(--shadow-soft);overflow:hidden;}
.hero-blob .pattern{position:absolute;inset:0;opacity:.18;background-image:radial-gradient(circle,rgba(255,255,255,.9) 1.4px,transparent 1.4px);background-size:26px 26px;}
.hero-illustration{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;}
.hero-illustration svg{width:58%;height:58%;color:#fff;opacity:.95;}
.float-card{position:absolute;background:#fff;border-radius:var(--radius-sm);padding:.9rem 1.2rem;box-shadow:var(--shadow-card);display:flex;align-items:center;gap:.7rem;animation:floatY 5s ease-in-out infinite;}
.float-card .ic{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.float-card .ic svg{width:18px;height:18px;}
.float-card strong{display:block;font-family:var(--heading);font-size:.95rem;color:var(--ink);}
.float-card small{font-size:.72rem;color:var(--ink-dim);}
.float-1{top:6%;left:-4%;}
.float-1 .ic{background:var(--teal-pale);color:var(--teal);}
.float-2{bottom:10%;right:-6%;animation-delay:1.2s;}
.float-2 .ic{background:var(--blue-pale);color:var(--blue);}
.float-3{top:44%;left:-9%;animation-delay:2.4s;padding:.7rem 1rem;}
.float-3 .ic{background:#FFF4E0;color:#FFB020;width:30px;height:30px;}
@keyframes floatY{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}

/* TRUST STRIP */
.trust-strip{padding:2.2rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface);}
.trust-strip .container{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1.6rem;}
.trust-strip-label{font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-dim);}
.trust-logos{display:flex;gap:2.4rem;flex-wrap:wrap;align-items:center;}
.trust-logos span{font-family:var(--heading);font-weight:800;font-size:1rem;color:var(--ink-dim);opacity:.75;letter-spacing:-.01em;}

/* SECTION SHARED */
section{padding:6.5rem 0;}
.eyebrow{display:inline-block;font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--blue);background:var(--blue-pale);padding:.4rem 1rem;border-radius:999px;margin-bottom:1.1rem;}
.section-head{max-width:640px;margin:0 auto 3.5rem;text-align:center;}
.section-title{font-family:var(--heading);font-weight:800;font-size:clamp(1.9rem,3.4vw,2.6rem);letter-spacing:-.02em;color:var(--ink);line-height:1.2;margin-bottom:1rem;}
.section-lead{color:var(--ink-soft);font-size:1.02rem;}
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease;}
.reveal.is-visible{opacity:1;transform:translateY(0);}

/* SERVICES */
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;}
.service-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);padding:2.1rem 1.9rem;transition:transform .3s,box-shadow .3s,border-color .3s;}
.service-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-soft);border-color:transparent;}
.service-icon{width:52px;height:52px;border-radius:14px;background:var(--blue-pale);display:flex;align-items:center;justify-content:center;margin-bottom:1.3rem;}
.service-icon svg{width:26px;height:26px;color:var(--blue);}
.service-card:nth-child(3n+2) .service-icon{background:var(--teal-pale);}
.service-card:nth-child(3n+2) .service-icon svg{color:var(--teal);}
.service-card:nth-child(3n) .service-icon{background:#FFF4E0;}
.service-card:nth-child(3n) .service-icon svg{color:#E39A00;}
.service-title{font-family:var(--heading);font-weight:700;font-size:1.08rem;margin-bottom:.6rem;color:var(--ink);}
.service-text{font-size:.92rem;color:var(--ink-soft);margin-bottom:1.1rem;}
.service-link{font-size:.85rem;font-weight:700;color:var(--blue);display:inline-flex;align-items:center;gap:.35rem;}

/* WHY US */
.why-section{background:var(--surface);}
.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem;}
.why-card{text-align:center;padding:2.4rem 1.6rem;border-radius:var(--radius-md);background:var(--bg);transition:transform .3s;}
.why-card:hover{transform:translateY(-5px);}
.why-icon{width:60px;height:60px;border-radius:50%;background:linear-gradient(140deg,var(--blue),var(--teal));display:flex;align-items:center;justify-content:center;margin:0 auto 1.3rem;}
.why-icon svg{width:26px;height:26px;color:#fff;}
.why-title{font-family:var(--heading);font-weight:700;font-size:1rem;margin-bottom:.5rem;}
.why-text{font-size:.86rem;color:var(--ink-soft);}

/* TEAM */
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.8rem;}
.team-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;transition:transform .3s,box-shadow .3s;}
.team-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-soft);}
.team-avatar{height:220px;background:linear-gradient(150deg,var(--blue-pale),var(--teal-pale));display:flex;align-items:center;justify-content:center;position:relative;}
.team-avatar svg{width:38%;color:var(--blue);opacity:.85;}
.team-badge{position:absolute;bottom:1rem;left:1rem;background:#fff;padding:.35rem .8rem;border-radius:999px;font-size:.7rem;font-weight:700;color:var(--teal);box-shadow:var(--shadow-card);display:flex;align-items:center;gap:.35rem;}
.team-badge .dot{width:6px;height:6px;border-radius:50%;background:var(--teal);}
.team-body{padding:1.5rem 1.6rem 1.8rem;}
.team-name{font-family:var(--heading);font-weight:800;font-size:1.08rem;margin-bottom:.2rem;}
.team-role{font-size:.85rem;color:var(--blue);font-weight:600;margin-bottom:.7rem;}
.team-desc{font-size:.86rem;color:var(--ink-soft);}

/* STATS */
.stats-band{background:linear-gradient(135deg,var(--blue),#1B4FC4);border-radius:var(--radius-lg);padding:3.4rem 3rem;display:grid;grid-template-columns:repeat(4,1fr);gap:1.6rem;color:#fff;position:relative;overflow:hidden;}
.stats-band::before{content:'';position:absolute;inset:0;background-image:radial-gradient(circle,rgba(255,255,255,.14) 1.4px,transparent 1.4px);background-size:24px 24px;opacity:.5;}
.stat-item{position:relative;text-align:center;}
.stat-num{font-family:var(--heading);font-weight:800;font-size:2.4rem;margin-bottom:.3rem;}
.stat-label{font-size:.82rem;opacity:.85;}

/* TESTIMONIALS */
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.8rem;}
.testi-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);padding:2.2rem;}
.testi-stars{color:#FFB020;margin-bottom:1rem;letter-spacing:.1em;}
.testi-text{font-size:.95rem;color:var(--ink-soft);margin-bottom:1.4rem;}
.testi-author{display:flex;align-items:center;gap:.8rem;}
.testi-avatar{width:42px;height:42px;border-radius:50%;background:linear-gradient(140deg,var(--blue),var(--teal));display:flex;align-items:center;justify-content:center;color:#fff;font-family:var(--heading);font-weight:700;font-size:.85rem;flex-shrink:0;}
.testi-name{font-weight:700;font-size:.88rem;}
.testi-role{font-size:.75rem;color:var(--ink-dim);}

/* APPOINTMENT / CONTACT */
.appointment-section{background:var(--surface);}
.appointment-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:stretch;background:var(--bg);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-soft);}
.appointment-info{padding:3.5rem;background:linear-gradient(160deg,var(--blue),#1B4FC4);color:#fff;display:flex;flex-direction:column;justify-content:center;}
.appointment-info h3{font-family:var(--heading);font-weight:800;font-size:1.7rem;margin-bottom:1rem;}
.appointment-info p{opacity:.9;margin-bottom:1.8rem;font-size:.95rem;}
.appointment-contact-item{display:flex;align-items:center;gap:.8rem;margin-bottom:1.1rem;font-size:.92rem;}
.appointment-contact-item svg{width:20px;height:20px;flex-shrink:0;}
.appointment-form{padding:3.5rem;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem;}
.form-field{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1rem;}
.form-field label{font-size:.8rem;font-weight:700;color:var(--ink);}
.form-field input,.form-field select,.form-field textarea{border:1px solid var(--line);border-radius:var(--radius-sm);padding:.8rem 1rem;font-family:var(--sans);font-size:.92rem;background:var(--surface);color:var(--ink);}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:none;border-color:var(--blue);}
.form-note{font-size:.76rem;color:var(--ink-dim);margin-top:.8rem;}

/* LOCATION */
.location-section{padding:0;}
.location-grid{display:grid;grid-template-columns:1fr 1fr;}
.location-map{min-height:460px;}
.location-map iframe{width:100%;height:100%;border:none;filter:saturate(.85);}
.location-info{padding:5rem;background:var(--surface);display:flex;flex-direction:column;justify-content:center;gap:1.8rem;}
.location-item-label{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--blue);margin-bottom:.4rem;}
.location-item-value{font-size:1rem;color:var(--ink-soft);line-height:1.8;}

/* FOOTER */
footer{background:var(--ink);color:#B9C4D8;padding:4rem 0 0;}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;padding-bottom:3rem;border-bottom:1px solid rgba(255,255,255,.08);}
.footer-logo{display:flex;align-items:center;gap:.6rem;font-family:var(--heading);font-weight:800;font-size:1.15rem;color:#fff;margin-bottom:1rem;}
.footer-logo .mark{width:34px;height:34px;border-radius:10px;background:linear-gradient(140deg,var(--blue),var(--teal));display:flex;align-items:center;justify-content:center;}
.footer-logo .mark svg{width:18px;height:18px;color:#fff;}
.footer-desc{font-size:.88rem;line-height:1.7;max-width:30ch;}
.footer-col h4{font-family:var(--heading);color:#fff;font-size:.85rem;margin-bottom:1.2rem;}
.footer-col ul li{margin-bottom:.7rem;}
.footer-col ul a{font-size:.86rem;color:#B9C4D8;transition:color .25s;}
.footer-col ul a:hover{color:#fff;}
.footer-bottom{padding:1.6rem 0;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;font-size:.78rem;}
.footer-bottom a{color:#B9C4D8;}

.floating-badge{position:fixed;bottom:2rem;right:2rem;z-index:150;background:var(--ink);color:#fff;padding:.8rem 1.4rem;border-radius:999px;font-size:.78rem;font-weight:700;box-shadow:var(--shadow-soft);transition:transform .2s;}
.floating-badge:hover{transform:translateY(-3px);}

@media(max-width:1080px){
  .services-grid,.why-grid,.team-grid,.testi-grid{grid-template-columns:repeat(2,1fr);}
  .stats-band{grid-template-columns:repeat(2,1fr);}
  .appointment-grid{grid-template-columns:1fr;}
  .location-grid{grid-template-columns:1fr;}
}
@media(max-width:840px){
  .nav-links,.nav-right .btn-ghost{display:none;}
  .nav-burger{display:flex;}
  .hero-grid{grid-template-columns:1fr;}
  .hero-visual{height:380px;order:-1;}
  .float-card{display:none;}
  .services-grid,.why-grid,.team-grid,.testi-grid{grid-template-columns:1fr;}
  .stats-band{grid-template-columns:1fr 1fr;padding:2.2rem 1.6rem;}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .form-row{grid-template-columns:1fr;}
  .appointment-info,.appointment-form{padding:2.2rem;}
  .location-info{padding:2.5rem;}
  section{padding:4.5rem 0;}
}
@media(max-width:560px){
  .footer-grid{grid-template-columns:1fr;}
}

.mobile-drawer{position:fixed;inset:0;background:#fff;z-index:300;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2rem;opacity:0;pointer-events:none;transition:opacity .3s;}
.mobile-drawer.open{opacity:1;pointer-events:auto;}
.mobile-drawer a{font-family:var(--heading);font-weight:700;font-size:1.3rem;color:var(--ink);}
.mobile-drawer-close{position:absolute;top:1.6rem;right:1.6rem;background:none;border:none;font-size:1.8rem;color:var(--ink);cursor:pointer;}
