:root{
  --navy-950:#071a3d;
  --navy-900:#0b2258;
  --navy-800:#123374;
  --blue-700:#155fd1;
  --blue-500:#2f7dfa;
  --cyan-400:#5ecbe8;
  --ice-50:#f4f8ff;
  --ice-100:#e9f1ff;
  --white:#ffffff;
  --ink:#0d1b33;
  --muted:#5b6b8c;
  --line:#dde6f5;
  --shadow: 0 20px 60px -20px rgba(7,26,61,0.25);
  --radius: 18px;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:'Manrope', sans-serif;
  color:var(--ink);
  background:var(--white);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
h1,h2,h3,h4{font-family:'Fraunces', serif; font-weight:560; line-height:1.08; letter-spacing:-0.01em;}
a{color:inherit; text-decoration:none;}
img{max-width:100%; display:block;}
.wrap{max-width:1220px; margin:0 auto; padding:0 24px;}
.eyebrow{
  font-family:'IBM Plex Mono', monospace;
  font-size:12.5px; letter-spacing:0.14em; text-transform:uppercase;
  color:var(--blue-700); font-weight:500; display:inline-flex; align-items:center; gap:10px;
}
.eyebrow::before{content:""; width:22px; height:1.5px; background:var(--blue-700); display:inline-block;}
.section{padding:96px 0;}
.section-tight{padding:64px 0;}
@media(max-width:768px){.section{padding:64px 0;} .section-tight{padding:44px 0;}}

/* dot-grid signature motif, referencing follicular unit density */
.dotgrid{position:absolute; inset:0; pointer-events:none; opacity:0.5;
  background-image: radial-gradient(var(--blue-500) 1px, transparent 1.4px);
  background-size: 18px 18px;
  -webkit-mask-image: radial-gradient(circle at 70% 30%, black, transparent 60%);
  mask-image: radial-gradient(circle at 70% 30%, black, transparent 60%);
}

/* ===== NAVBAR ===== */
.navbar{position:fixed; top:0; left:0; right:0; z-index:1000; padding:20px 0; transition:all .35s ease;}
.navbar.scrolled{padding:12px 0; background:rgba(255,255,255,0.92); backdrop-filter:blur(14px); box-shadow:0 8px 30px -10px rgba(7,26,61,0.15);}
.nav-inner{display:flex; align-items:center; justify-content:space-between;}
.logo{font-family:'Fraunces', serif; font-weight:600; font-size:19px; color:var(--white); display:flex; flex-direction:column; line-height:1.1;}
.navbar.scrolled .logo{color:var(--navy-950);}
.logo span{font-family:'IBM Plex Mono', monospace; font-size:10px; letter-spacing:0.12em; color:var(--cyan-400); font-weight:500; margin-top:2px;}
.navbar.scrolled .logo span{color:var(--blue-700);}
.nav-links{display:flex; gap:30px; list-style:none;}
.nav-links a{font-size:14.5px; font-weight:600; color:rgba(255,255,255,0.88); transition:color .2s;}
.navbar.scrolled .nav-links a{color:var(--navy-900);}
.nav-links a:hover{color:var(--cyan-400);}
.nav-cta{display:flex; align-items:center; gap:14px;}
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:13px 26px; border-radius:100px; font-weight:700; font-size:14.5px;
  cursor:pointer; border:none; transition:all .25s ease; white-space:nowrap;
}
.btn-primary{background:var(--blue-700); color:#fff; box-shadow:0 10px 24px -8px rgba(21,95,209,0.55);}
.btn-primary:hover{background:var(--navy-900); transform:translateY(-1px);}
.btn-ghost{background:transparent; border:1.5px solid rgba(255,255,255,0.5); color:#fff;}
.navbar.scrolled .btn-ghost{border-color:var(--navy-900); color:var(--navy-900);}
.btn-ghost:hover{background:rgba(255,255,255,0.12);}
.hamburger{display:none; flex-direction:column; gap:5px; cursor:pointer; background:none; border:none; padding:6px; margin-left:8px;}
@media(max-width:480px){ .nav-cta .btn-primary{padding:11px 16px; font-size:13px;} .logo{font-size:16px;} }
.hamburger span{width:24px; height:2px; background:#fff; transition:.3s;}
.navbar.scrolled .hamburger span{background:var(--navy-950);}

.mobile-menu{position:fixed; inset:0; background:var(--navy-950); z-index:1100; display:flex; flex-direction:column; padding:28px 28px 40px; transform:translateY(-100%); transition:transform .35s ease; overflow-y:auto;}
.mobile-menu.open{transform:translateY(0);}
.mobile-menu-top{display:flex; justify-content:space-between; align-items:center; margin-bottom:40px;}
.mobile-menu a{color:#fff; font-size:22px; font-family:'Fraunces',serif; padding:14px 0; border-bottom:1px solid rgba(255,255,255,0.1);}
.mobile-close{background:none; border:none; color:#fff; font-size:28px; cursor:pointer;}

/* ===== HERO ===== */
.hero{
  position:relative; min-height:100vh; display:flex; align-items:center;
  background:radial-gradient(ellipse 120% 90% at 15% 0%, #10306e 0%, var(--navy-950) 55%, #050f26 100%);
  overflow:hidden; padding-top:110px; padding-bottom:60px;
}
@media(max-width:980px){ .hero{ min-height:0; } }
.hero .dotgrid{opacity:0.35;}
.hero-glow{position:absolute; top:-10%; right:-10%; width:60%; height:110%; border-radius:50%;
  background:radial-gradient(circle, rgba(47,125,250,0.35), transparent 65%); filter:blur(20px);}
.hero-inner{display:grid; grid-template-columns:1.05fr 0.95fr; gap:40px; align-items:center; position:relative; z-index:2;}
.hero-copy{position:relative; z-index:5;}
.hero-copy h1{color:#fff; font-size:clamp(38px, 5.2vw, 66px); margin:20px 0 22px;}
.hero-copy h1 em{font-style:normal; color:var(--cyan-400);}
.hero-copy p{color:rgba(255,255,255,0.78); font-size:18px; max-width:520px; margin-bottom:28px;}
.hero-stats{display:flex; gap:34px; margin:30px 0 34px; flex-wrap:wrap;}
.hero-stat b{display:block; font-family:'Fraunces',serif; font-size:34px; color:#fff; font-weight:560;}
.hero-stat span{font-size:13px; color:rgba(255,255,255,0.6); font-weight:600;}
.hero-ctas{display:flex; gap:16px; flex-wrap:wrap;}
.hero-visual{position:relative; display:flex; justify-content:center; align-items:flex-end; height:100%; z-index:1; overflow:visible;}
.hero-visual .ring{position:absolute; width:440px; height:440px; border-radius:50%; border:1px solid rgba(94,203,232,0.25); top:8%; left:50%; transform:translateX(-50%); z-index:0;}
.hero-visual .ring.r2{width:340px; height:340px; border-color:rgba(94,203,232,0.4);}
.hero-visual img{position:relative; z-index:2; max-width:390px; width:100%; filter:drop-shadow(0 30px 50px rgba(0,0,0,0.45));}
.credential-badge{position:absolute; z-index:3; background:rgba(255,255,255,0.08); backdrop-filter:blur(16px); border:1px solid rgba(255,255,255,0.18);
  border-radius:14px; padding:12px 18px; display:flex; align-items:center; gap:10px;}
.badge-1{top:16%; left:-4%; }
.badge-2{bottom:12%; right:-2%;}
.credential-badge b{color:#fff; font-size:14px; display:block;}
.credential-badge span{color:rgba(255,255,255,0.65); font-size:11.5px;}
@media(max-width:980px){
  .hero-inner{grid-template-columns:1fr; text-align:center; gap:8px;}
  .hero-copy p{margin-left:auto; margin-right:auto;}
  .hero-ctas{justify-content:center;}
  .hero-stats{justify-content:center;}
  .hero-visual{margin-top:12px;}
  .hero-visual .ring{display:none;}
  .credential-badge{display:none;}
  .nav-links, .nav-cta .btn-ghost{display:none;}
  .hamburger{display:flex;}
}
@media(max-width:640px){
  .hero{padding-top:90px; padding-bottom:36px;}
  .hero-copy h1{font-size:clamp(30px,9vw,40px); margin:14px 0 14px;}
  .hero-copy p{font-size:15.5px; margin-bottom:20px;}
  .hero-stats{gap:20px; margin:18px 0 22px;}
  .hero-stat b{font-size:26px;}
  .hero-stat span{font-size:12px;}
  .hero-ctas .btn{padding:12px 20px; font-size:13.5px;}
  .hero-visual img{max-width:230px;}
  .hero-visual{margin-top:8px;}
}

/* ===== TRUST STATS BAR ===== */
.stats-bar{background:var(--ice-50); border-bottom:1px solid var(--line); padding:40px 0;}
.stats-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px; text-align:center;}
.stats-grid div b{font-family:'Fraunces',serif; font-size:30px; color:var(--navy-900); display:block; font-weight:560;}
.stats-grid div span{font-size:13.5px; color:var(--muted); font-weight:600;}
@media(max-width:768px){.stats-grid{grid-template-columns:repeat(2,1fr); gap:28px;}}

/* ===== ABOUT ===== */
.about-grid{display:grid; grid-template-columns:0.85fr 1.15fr; gap:64px; align-items:center;}
.about-photo{position:relative;}
.about-photo img{border-radius:20px; box-shadow:var(--shadow);}
.about-photo .frame{position:absolute; inset:-16px; border:1.5px solid var(--blue-500); border-radius:26px; z-index:-1;}
h2{font-size:clamp(30px,3.6vw,44px); color:var(--navy-950); margin-bottom:18px;}
.section-lead{color:var(--muted); font-size:17px; max-width:640px; margin-bottom:40px;}
.about-copy p{color:var(--muted); margin-bottom:16px; font-size:16px;}
@media(max-width:900px){.about-grid{grid-template-columns:1fr;} .about-photo{max-width:340px; margin:0 auto;}}

/* ===== CREDENTIALS ===== */
.cred-strip{background:var(--navy-950); color:#fff; position:relative; overflow:hidden;}
.cred-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:2px; background:rgba(255,255,255,0.1); border-radius:20px; overflow:hidden;}
.cred-card{background:var(--navy-950); padding:38px 30px;}
.cred-card .tag{font-family:'IBM Plex Mono',monospace; font-size:11px; color:var(--cyan-400); letter-spacing:0.1em; text-transform:uppercase;}
.cred-card h3{color:#fff; font-size:22px; margin:12px 0 8px;}
.cred-card p{color:rgba(255,255,255,0.6); font-size:14.5px;}
@media(max-width:768px){.cred-grid{grid-template-columns:1fr;}}

/* ===== WHY CARDS ===== */
.why-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
.why-card{border:1px solid var(--line); border-radius:var(--radius); padding:32px 28px; transition:.3s; background:#fff;}
.why-card:hover{box-shadow:var(--shadow); transform:translateY(-4px); border-color:transparent;}
.why-num{font-family:'IBM Plex Mono',monospace; color:var(--blue-500); font-size:13px; font-weight:500;}
.why-card h3{font-size:20px; margin:14px 0 10px; color:var(--navy-950);}
.why-card p{color:var(--muted); font-size:15px;}
@media(max-width:900px){.why-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:600px){.why-grid{grid-template-columns:1fr;}}

/* ===== EDUCATION ===== */
.edu{background:var(--ice-50); border-radius:28px; padding:64px; display:grid; grid-template-columns:1fr 1fr; gap:50px; align-items:center;}
.edu-tags{display:flex; flex-wrap:wrap; gap:10px; margin-top:24px;}
.edu-tags span{background:#fff; border:1px solid var(--line); padding:8px 16px; border-radius:100px; font-size:13.5px; font-weight:600; color:var(--navy-800);}
@media(max-width:900px){.edu{grid-template-columns:1fr; padding:36px 24px;}}

/* ===== TECHNIQUES ===== */
.tech-tabs{display:flex; gap:10px; margin-bottom:36px; flex-wrap:wrap;}
.tech-tab{padding:12px 22px; border-radius:100px; border:1.5px solid var(--line); background:#fff; font-weight:700; font-size:14.5px; cursor:pointer; color:var(--muted);}
.tech-tab.active{background:var(--navy-950); color:#fff; border-color:var(--navy-950);}
.tech-panel{display:none; grid-template-columns:1fr 1fr; gap:50px; align-items:center;}
.tech-panel.active{display:grid;}
.tech-panel .badge-pills{display:flex; gap:10px; margin-top:20px; flex-wrap:wrap;}
.tech-panel .badge-pills span{background:var(--ice-100); color:var(--blue-700); font-size:13px; font-weight:700; padding:7px 14px; border-radius:8px;}
.tech-visual{background:var(--ice-50); border-radius:20px; padding:40px; text-align:center;}
.tech-visual .num-circle{width:130px; height:130px; border-radius:50%; margin:0 auto 20px; background:conic-gradient(var(--blue-500) var(--pct,60%), var(--ice-100) 0); display:flex; align-items:center; justify-content:center;}
.tech-visual .num-circle b{background:#fff; width:96px; height:96px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-family:'Fraunces',serif; font-size:15px; color:var(--navy-950);}
@media(max-width:900px){.tech-panel{grid-template-columns:1fr;} .tech-panel{gap:26px;}}

.compare-table{width:100%; border-collapse:collapse; margin-top:20px; font-size:14.5px;}
.compare-table th, .compare-table td{padding:16px 18px; border-bottom:1px solid var(--line); text-align:left;}
.compare-table th{font-family:'Fraunces',serif; font-weight:560; color:var(--navy-950); background:var(--ice-50);}
.compare-table td:first-child{font-weight:700; color:var(--navy-800);}
.compare-table tr td:last-child{color:var(--blue-700); font-weight:600;}
.table-scroll{overflow-x:auto; border:1px solid var(--line); border-radius:16px;}
.table-scroll .compare-table{margin-top:0;}
.table-scroll th:first-child, .table-scroll td:first-child{position:sticky; left:0; background:#fff;}

/* ===== HYBRID DHI FEATURE ===== */
.dhi-feature{background:linear-gradient(120deg, var(--navy-950), var(--navy-800)); border-radius:28px; padding:70px; color:#fff; position:relative; overflow:hidden;}
.dhi-feature .dotgrid{opacity:0.25;}
.dhi-feature h2{color:#fff; max-width:640px;}
.dhi-feature .section-lead{color:rgba(255,255,255,0.72);}
.dhi-list{display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:36px; position:relative; z-index:2;}
.dhi-list div{background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.14); border-radius:16px; padding:24px;}
.dhi-list h4{color:var(--cyan-400); font-family:'Manrope'; font-size:14px; margin-bottom:8px; font-weight:800;}
.dhi-list p{color:rgba(255,255,255,0.65); font-size:14px;}
@media(max-width:900px){.dhi-feature{padding:40px 26px;} .dhi-list{grid-template-columns:1fr;}}

/* ===== JOURNEY ===== */
.journey{display:grid; grid-template-columns:repeat(7,1fr); gap:16px;}
.journey-step{border-top:3px solid var(--blue-500); padding-top:18px;}
.journey-step .n{font-family:'Fraunces',serif; font-size:26px; color:var(--blue-500);}
.journey-step h4{font-size:15.5px; margin:8px 0 6px; color:var(--navy-950);}
.journey-step p{font-size:13px; color:var(--muted);}
@media(max-width:1000px){.journey{grid-template-columns:repeat(4,1fr);}}
@media(max-width:640px){.journey{grid-template-columns:repeat(2,1fr);}}

/* ===== RESULTS GALLERY ===== */
.results-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
.case-card{border-radius:18px; overflow:hidden; border:1px solid var(--line); cursor:pointer; background:#fff; transition:.3s;}
.case-card:hover{box-shadow:var(--shadow); transform:translateY(-3px);}
.case-card img{width:100%; height:230px; object-fit:cover; object-position:top;}
.case-card .cc-body{padding:18px 20px;}
.case-card .cc-body span{font-family:'IBM Plex Mono',monospace; font-size:11px; color:var(--blue-700); letter-spacing:0.08em;}
.case-card .cc-body h4{font-size:17px; margin-top:6px; color:var(--navy-950);}
@media(max-width:900px){.results-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:600px){.results-grid{grid-template-columns:1fr;}}

.lightbox{position:fixed; inset:0; background:rgba(5,12,26,0.92); z-index:2000; display:none; align-items:center; justify-content:center; padding:24px;}
.lightbox.open{display:flex;}
.lightbox-inner{max-width:640px; width:100%; background:#fff; border-radius:20px; overflow:hidden; max-height:90vh; overflow-y:auto;}
.lightbox-inner img{width:100%;}
.lightbox-body{padding:26px 28px;}
.lightbox-close{position:absolute; top:24px; right:28px; background:rgba(255,255,255,0.1); border:1px solid rgba(255,255,255,0.3); color:#fff; width:42px; height:42px; border-radius:50%; cursor:pointer; font-size:20px;}

/* ===== AWARDS ===== */
.awards-strip{display:flex; gap:24px; overflow-x:auto; padding-bottom:10px;}
.award-card{flex:0 0 260px; border-radius:16px; overflow:hidden; border:1px solid var(--line); cursor:pointer;}
.award-card img{width:100%; height:180px; object-fit:cover;}
.award-card .ac-label{padding:14px 16px; font-weight:700; font-size:14px; color:var(--navy-900);}

/* ===== TREATMENTS ===== */
.treat-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px;}
.treat-card{border:1px solid var(--line); border-radius:16px; padding:26px 22px; text-align:left;}
.treat-card h4{font-size:17px; margin-bottom:8px; color:var(--navy-950);}
.treat-card p{font-size:14px; color:var(--muted);}
@media(max-width:900px){.treat-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:600px){.treat-grid{grid-template-columns:1fr;}}

/* ===== TESTIMONIAL PLACEHOLDER ===== */
.placeholder-box{border:1.5px dashed var(--line); border-radius:18px; padding:50px; text-align:center; color:var(--muted); background:var(--ice-50);}
.placeholder-box b{display:block; color:var(--navy-800); margin-bottom:6px; font-size:15px;}

/* ===== FAQ ===== */
.faq-cats{display:flex; gap:10px; margin-bottom:26px; flex-wrap:wrap;}
.faq-item{border-bottom:1px solid var(--line);}
.faq-q{width:100%; text-align:left; background:none; border:none; padding:22px 4px; font-size:16.5px; font-weight:700; color:var(--navy-950); display:flex; justify-content:space-between; align-items:center; cursor:pointer; font-family:'Manrope';}
.faq-q .plus{font-size:22px; color:var(--blue-700); transition:.3s; font-weight:400;}
.faq-item.open .plus{transform:rotate(45deg);}
.faq-a{max-height:0; overflow:hidden; transition:max-height .3s ease; color:var(--muted); font-size:15px; padding:0 4px;}
.faq-item.open .faq-a{max-height:300px; padding-bottom:20px;}

/* ===== CTA ===== */
.cta-section{background:radial-gradient(ellipse at 30% 20%, #123374, var(--navy-950)); border-radius:28px; padding:80px 60px; text-align:center; color:#fff; position:relative; overflow:hidden;}
.cta-section h2{color:#fff;}
.cta-section p{color:rgba(255,255,255,0.72); max-width:520px; margin:16px auto 32px;}
.cta-btns{display:flex; gap:16px; justify-content:center; flex-wrap:wrap;}
@media(max-width:768px){.cta-section{padding:50px 26px;}}

/* ===== FORM ===== */
.form-wrap{background:var(--ice-50); border-radius:28px; padding:60px; display:grid; grid-template-columns:0.9fr 1.1fr; gap:50px;}
.form-grid{display:grid; grid-template-columns:1fr 1fr; gap:16px;}
.form-grid .full{grid-column:1/-1;}
.field label{display:block; font-size:13px; font-weight:700; color:var(--navy-800); margin-bottom:7px;}
.field input, .field select, .field textarea{width:100%; padding:13px 16px; border-radius:10px; border:1.5px solid var(--line); font-family:'Manrope'; font-size:14.5px; background:#fff;}
.field input:focus, .field select:focus, .field textarea:focus{outline:none; border-color:var(--blue-500);}
.consent{display:flex; gap:10px; align-items:flex-start; font-size:13px; color:var(--muted); margin:18px 0;}
.consent input{margin-top:3px;}
.form-note{color:var(--muted); font-size:14.5px; margin-top:14px;}
.form-success{display:none; background:#e9fbf1; border:1px solid #b6ecc9; color:#166534; padding:16px 20px; border-radius:12px; font-weight:600; font-size:14.5px; margin-top:16px;}
@media(max-width:900px){.form-wrap{grid-template-columns:1fr; padding:34px 22px;} .form-grid{grid-template-columns:1fr;}}

/* ===== CONTACT ===== */
.contact-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
.contact-card{border:1px solid var(--line); border-radius:16px; padding:28px; text-align:left;}
.contact-card .ic{width:44px; height:44px; border-radius:12px; background:var(--ice-100); display:flex; align-items:center; justify-content:center; margin-bottom:16px; color:var(--blue-700); font-size:20px;}
.contact-card h4{font-size:16px; color:var(--navy-950); margin-bottom:6px;}
.contact-card p{font-size:14.5px; color:var(--muted);}
@media(max-width:900px){.contact-grid{grid-template-columns:1fr;}}

/* ===== FOOTER ===== */
footer{background:var(--navy-950); color:rgba(255,255,255,0.7); padding:60px 0 26px;}
.footer-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:40px; margin-bottom:40px;}
.footer-grid h5{color:#fff; font-size:14px; margin-bottom:16px; font-weight:700;}
.footer-grid ul{list-style:none;}
.footer-grid li{margin-bottom:10px; font-size:14px;}
.footer-grid li a:hover{color:var(--cyan-400);}
.footer-bottom{border-top:1px solid rgba(255,255,255,0.12); padding-top:22px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; font-size:13px;}
.disclaimer{font-size:12.5px; color:rgba(255,255,255,0.45); max-width:800px; margin-top:14px; line-height:1.6;}
@media(max-width:768px){.footer-grid{grid-template-columns:1fr 1fr;}}

/* ===== MOBILE STICKY CTA ===== */
.mobile-cta{position:fixed; bottom:0; left:0; right:0; z-index:900; background:#fff; border-top:1px solid var(--line);
  display:none; padding:10px 14px; box-shadow:0 -10px 30px -12px rgba(7,26,61,0.2);}
.mobile-cta-row{display:grid; grid-template-columns:1fr 1fr 1.3fr; gap:10px;}
.mobile-cta a{display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px; font-size:11.5px; font-weight:700; color:var(--navy-900); padding:8px 0; border-radius:10px; background:var(--ice-50);}
.mobile-cta a.primary{background:var(--blue-700); color:#fff;}
@media(max-width:768px){.mobile-cta{display:block;} body{padding-bottom:78px;}}

.reveal{opacity:0; transform:translateY(24px); transition:opacity .7s ease, transform .7s ease;}
.reveal.in{opacity:1; transform:translateY(0);}
@media (prefers-reduced-motion: reduce){ .reveal{opacity:1; transform:none; transition:none;} html{scroll-behavior:auto;} }

.section-head{max-width:680px; margin-bottom:44px;}
.section-head h2{margin-top:14px;}

/* ===== MOBILE-FIRST ENHANCEMENT LAYER ===== */
html { scroll-padding-top: 78px; }
body { min-width: 0; }
button, a, input, select, textarea { -webkit-tap-highlight-color: transparent; }
img { height: auto; }

/* Better focus visibility */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 3px solid rgba(94,203,232,.75);
  outline-offset: 3px;
}

/* Prevent fixed mobile CTA from hiding content */
@media (max-width: 768px) {
  body { padding-bottom: 86px; }
  .wrap { padding-left: 18px; padding-right: 18px; }
  .section { padding: 58px 0; }
  .section-tight { padding: 42px 0; }

  .navbar {
    padding: 12px 0;
    background: rgba(7,26,61,.94);
    backdrop-filter: blur(14px);
  }
  .navbar.scrolled { padding: 10px 0; }
  .nav-inner { min-height: 46px; }
  .logo { font-size: 17px; }
  .logo span { font-size: 8px; letter-spacing: .09em; }
  .nav-cta { gap: 4px; }
  .nav-cta .btn-primary { display: none; }
  .nav-cta .btn-ghost {
    display: inline-flex !important;
    padding: 9px 11px;
    font-size: 11px;
    border-color: rgba(255,255,255,.35);
  }
  .hamburger { display: flex; margin-left: 2px; }

  .mobile-menu { padding: 22px 20px 34px; }
  .mobile-menu a { font-size: 20px; padding: 13px 0; }
  .mobile-menu .btn { min-height: 50px; }

  .hero {
    min-height: auto;
    padding: 108px 0 34px;
  }
  .hero-inner {
    display: flex;
    flex-direction: column;
    gap: 16px;
    text-align: left;
  }
  .hero-copy { width: 100%; }
  .hero-copy .eyebrow { font-size: 10px; letter-spacing: .10em; }
  .hero-copy h1 {
    font-size: clamp(40px, 12vw, 56px);
    line-height: .98;
    margin: 15px 0 17px;
  }
  .hero-copy p {
    font-size: 15px;
    line-height: 1.65;
    margin-bottom: 22px;
  }
  .hero-stats {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px 22px;
    margin: 22px 0 24px;
  }
  .hero-stat:last-child { grid-column: 1 / -1; }
  .hero-stat b { font-size: 28px; }
  .hero-stat span { font-size: 11px; line-height: 1.35; display: block; }
  .hero-ctas { display: grid; grid-template-columns: 1fr; gap: 10px; }
  .hero-ctas .btn { min-height: 50px; width: 100%; }
  .hero-visual {
    width: 100%;
    height: 390px;
    margin-top: 2px;
    overflow: hidden;
    border-radius: 24px;
    background: radial-gradient(circle at 50% 25%, rgba(47,125,250,.30), transparent 60%);
  }
  .hero-visual .ring { width: 330px; height: 330px; top: 3%; }
  .hero-visual .ring.r2 { width: 250px; height: 250px; }
  .hero-visual img {
    width: auto;
    max-width: none;
    height: 365px;
    object-fit: contain;
    margin: auto;
  }
  .credential-badge { display: none; }

  .stats-bar { padding: 28px 0; }
  .stats-grid { gap: 20px 12px; }
  .stats-grid div b { font-size: 24px; }
  .stats-grid div span { font-size: 11px; line-height: 1.35; display: block; }

  .about-grid { gap: 34px; }
  .about-photo { max-width: 100%; }
  .about-photo img {
    width: 100%;
    aspect-ratio: 16 / 11;
    object-fit: cover;
    object-position: center;
  }
  .about-photo .frame { inset: -8px; border-radius: 20px; }
  h2 { font-size: clamp(30px, 9vw, 40px); }
  .section-lead { font-size: 15px; line-height: 1.65; margin-bottom: 28px; }
  .about-copy p { font-size: 15px; line-height: 1.7; }

  .cred-strip { padding-top: 58px; padding-bottom: 58px; }
  .cred-grid { grid-template-columns: 1fr; gap: 1px; }
  .cred-card { padding: 28px 22px; }
  .cred-card h3 { font-size: 21px; }

  .why-grid { grid-template-columns: 1fr; gap: 12px; }
  .why-card { padding: 24px 20px; }
  .why-card h3 { font-size: 19px; }
  .why-card p { line-height: 1.6; }

  .edu {
    padding: 32px 22px;
    border-radius: 22px;
    gap: 26px;
  }
  .edu-tags { gap: 8px; }
  .edu-tags span { font-size: 12px; padding: 7px 11px; }

  .tech-tabs {
    position: sticky;
    top: 67px;
    z-index: 20;
    background: rgba(255,255,255,.96);
    backdrop-filter: blur(10px);
    padding: 8px 0;
    margin: -8px 0 24px;
    overflow-x: auto;
    flex-wrap: nowrap;
    scrollbar-width: none;
  }
  .tech-tabs::-webkit-scrollbar { display: none; }
  .tech-tab { flex: 0 0 auto; padding: 10px 16px; font-size: 13px; }
  .tech-panel { gap: 22px; }
  .tech-panel h3 { font-size: 24px !important; }
  .tech-visual { padding: 26px 18px; }
  .tech-visual .num-circle { width: 110px; height: 110px; }
  .tech-visual .num-circle b { width: 82px; height: 82px; font-size: 14px; }
  .table-scroll { margin-top: 30px !important; }
  .compare-table { min-width: 620px; font-size: 13px; }
  .compare-table th, .compare-table td { padding: 12px 13px; }

  .dhi-feature { padding: 38px 22px; border-radius: 22px; }
  .dhi-list { gap: 10px; }
  .dhi-list div { padding: 20px; }
  .dhi-feature .btn { width: 100%; min-height: 50px; }

  .journey { grid-template-columns: 1fr; gap: 0; }
  .journey-step {
    position: relative;
    border-top: 0;
    border-left: 2px solid var(--blue-500);
    padding: 0 0 25px 22px;
  }
  .journey-step:last-child { padding-bottom: 0; }
  .journey-step .n { font-size: 22px; }
  .journey-step h4 { font-size: 16px; }
  .journey-step p { font-size: 13.5px; }

  .results-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
  .case-card { border-radius: 14px; }
  .case-card img {
    height: auto;
    aspect-ratio: 4 / 5;
    object-fit: cover;
    object-position: top;
  }
  .case-card .cc-body { padding: 12px 13px 15px; }
  .case-card .cc-body h4 { font-size: 14px; line-height: 1.2; }

  .lightbox { padding: 10px; align-items: flex-start; padding-top: 68px; }
  .lightbox-inner { max-height: calc(100vh - 82px); border-radius: 16px; }
  .lightbox-inner img { max-height: 58vh; object-fit: contain; background: #f4f8ff; }
  .lightbox-body { padding: 18px; }
  .lightbox-close { top: 14px; right: 14px; width: 40px; height: 40px; }

  .awards-strip {
    margin-right: -18px;
    padding-right: 18px;
    gap: 12px;
    scroll-snap-type: x mandatory;
  }
  .award-card { flex: 0 0 78vw; scroll-snap-align: start; }

  .treat-grid { grid-template-columns: 1fr; gap: 12px; }
  .treat-card { padding: 21px 19px; }

  .placeholder-box { padding: 34px 20px; }

  .cta-section { border-radius: 22px; padding: 48px 22px; }
  .cta-btns { display: grid; grid-template-columns: 1fr; gap: 10px; }
  .cta-btns .btn { width: 100%; min-height: 50px; }

  .form-wrap { padding: 30px 18px; border-radius: 22px; gap: 30px; }
  .form-grid { grid-template-columns: 1fr; gap: 13px; }
  .field input, .field select, .field textarea {
    min-height: 50px;
    font-size: 16px; /* prevents iOS zoom */
  }
  .field textarea { min-height: 110px; }
  .consent { font-size: 12.5px; line-height: 1.45; }
  .form-wrap .btn { min-height: 52px; }

  .contact-grid { grid-template-columns: 1fr; gap: 12px; }
  .contact-card { padding: 22px; }

  .footer-grid { grid-template-columns: 1fr 1fr; gap: 28px 18px; }
  .footer-grid > div:first-child { grid-column: 1 / -1; }
  .footer-bottom { flex-direction: column; }
  footer { padding-bottom: 30px; }

  .mobile-cta { padding: 8px 10px; }
  .mobile-cta-row { gap: 7px; }
  .mobile-cta a {
    min-height: 52px;
    font-size: 10.5px;
    padding: 6px 2px;
  }
}

@media (max-width: 380px) {
  .wrap { padding-left: 14px; padding-right: 14px; }
  .hero { padding-top: 101px; }
  .hero-copy h1 { font-size: 39px; }
  .hero-visual { height: 350px; }
  .hero-visual img { height: 330px; }
  .results-grid { gap: 8px; }
  .case-card .cc-body { padding-left: 10px; padding-right: 10px; }
  .case-card .cc-body h4 { font-size: 13px; }
  .mobile-cta a { font-size: 9.5px; }
}

/* Desktop/tablet image rendering improvements */
.case-card img, .award-card img { background: var(--ice-50); }


/* =========================================================
   PREMIUM DESIGN ENHANCEMENT — DESKTOP + MOBILE SAFE
   Keeps the existing blue/navy palette and content intact.
   ========================================================= */

:root{
  --premium-border: rgba(47,125,250,.16);
  --premium-glow: 0 18px 55px rgba(21,95,209,.13);
}

/* Cleaner global rendering */
html{
  scroll-behavior:smooth;
  -webkit-text-size-adjust:100%;
}
body{
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}
::selection{
  background:rgba(47,125,250,.20);
  color:var(--navy-950);
}

/* Navigation: more breathing room and stronger hierarchy */
.nav-inner{
  gap:28px;
}
.nav-links{
  gap:28px;
  align-items:center;
}
.nav-links a{
  position:relative;
  padding:8px 2px;
  transition:color .25s ease, transform .25s ease;
}
.nav-links a::after{
  content:"";
  position:absolute;
  left:2px;
  right:2px;
  bottom:1px;
  height:2px;
  border-radius:99px;
  background:var(--blue-500);
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .25s ease;
}
.nav-links a:hover{
  color:var(--blue-700);
  transform:translateY(-1px);
}
.nav-links a:hover::after{
  transform:scaleX(1);
}
.nav-cta{
  gap:12px;
  margin-left:10px;
  flex-shrink:0;
}
.nav-cta .btn{
  white-space:nowrap;
}

/* Better desktop separation between menu and actions */
@media (min-width:1100px){
  .nav-links{gap:30px;}
  .nav-cta{margin-left:18px;gap:12px;}
  .nav-cta .btn-ghost{padding-left:18px;padding-right:18px;}
  .nav-cta .btn-primary{padding-left:22px;padding-right:22px;}
}

/* Premium button treatment */
.btn{
  border-radius:999px;
  font-weight:700;
  letter-spacing:-.01em;
  transition:transform .25s ease, box-shadow .25s ease, background .25s ease, border-color .25s ease;
}
.btn-primary{
  box-shadow:0 12px 30px rgba(21,95,209,.22);
}
.btn-primary:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 34px rgba(21,95,209,.30);
}
.btn-ghost:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 25px rgba(7,26,61,.08);
}

/* Section rhythm */
.section{
  position:relative;
}
.section:not(.cred-strip):not(.cta-section)::before{
  content:"";
  position:absolute;
  top:0;
  left:50%;
  width:min(1180px,calc(100% - 40px));
  height:1px;
  transform:translateX(-50%);
  background:linear-gradient(90deg,transparent,var(--line),transparent);
  opacity:.65;
}

/* Section headings feel more editorial */
.section-head{
  position:relative;
  max-width:820px;
}
.section-head h2{
  letter-spacing:-.035em;
}
.section-lead{
  max-width:760px;
}

/* Hero polish without changing palette */
.hero{
  isolation:isolate;
}
.hero::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:0;
  background:
    radial-gradient(circle at 84% 22%, rgba(94,203,232,.10), transparent 23%),
    radial-gradient(circle at 18% 84%, rgba(47,125,250,.10), transparent 25%);
}
.hero-inner,
.hero-glow,
.hero-visual,
.hero-copy{
  position:relative;
  z-index:1;
}
.hero-copy h1{
  letter-spacing:-.045em;
  text-wrap:balance;
}
.hero-copy p{
  max-width:690px;
}

/* Hero stats as refined mini-panels */
.hero-stat{
  position:relative;
  padding:12px 18px 12px 0;
}
.hero-stat + .hero-stat{
  padding-left:18px;
}
.hero-stat + .hero-stat::before{
  content:"";
  position:absolute;
  left:0;
  top:14%;
  bottom:14%;
  width:1px;
  background:rgba(255,255,255,.20);
}

/* Trust/credential cards */
.cred-card,
.why-card,
.treat-card,
.contact-card,
.award-card,
.case-card{
  transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}
.cred-card:hover,
.why-card:hover,
.treat-card:hover,
.contact-card:hover{
  transform:translateY(-4px);
  box-shadow:var(--premium-glow);
  border-color:var(--premium-border);
}

/* Case studies: cleaner result presentation */
.case-card{
  overflow:hidden;
  box-shadow:0 10px 35px rgba(7,26,61,.08);
}
.case-card img{
  transition:transform .55s cubic-bezier(.2,.65,.25,1), filter .35s ease;
}
.case-card:hover img{
  transform:scale(1.025);
}
.case-card .cc-body{
  position:relative;
}

/* Before/after image framing */
.about-photo{
  filter:drop-shadow(0 22px 35px rgba(7,26,61,.12));
}
.about-photo img{
  display:block;
}

/* Technique tabs */
.tech-tabs{
  border:1px solid var(--line);
  border-radius:999px;
  padding:5px;
  background:rgba(244,248,255,.75);
  box-shadow:0 8px 25px rgba(7,26,61,.05);
}
.tech-tab{
  border-radius:999px;
  transition:all .25s ease;
}
.tech-tab:hover{
  transform:translateY(-1px);
}

/* DHI / feature blocks */
.dhi-feature,
.edu,
.cta-section,
.form-wrap{
  box-shadow:0 18px 55px rgba(7,26,61,.08);
}

/* FAQ polish */
.faq-item{
  border:1px solid var(--line);
  border-radius:14px;
  overflow:hidden;
  transition:border-color .25s ease, box-shadow .25s ease;
}
.faq-item + .faq-item{
  margin-top:10px;
}
.faq-item.open{
  border-color:rgba(47,125,250,.28);
  box-shadow:0 10px 30px rgba(7,26,61,.06);
}
.faq-q{
  transition:background .25s ease;
}
.faq-q:hover{
  background:rgba(244,248,255,.55);
}

/* Contact cards */
.contact-card{
  border:1px solid var(--line);
  background:linear-gradient(180deg,#fff,#f8fbff);
}

/* Form focus polish */
.field input,
.field select,
.field textarea{
  transition:border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.field input:focus,
.field select:focus,
.field textarea:focus{
  border-color:var(--blue-500);
  box-shadow:0 0 0 4px rgba(47,125,250,.10);
  background:#fff;
}

/* Footer hierarchy */
footer{
  position:relative;
}
footer::before{
  content:"";
  position:absolute;
  top:0;
  left:50%;
  width:min(1180px,calc(100% - 40px));
  height:1px;
  transform:translateX(-50%);
  background:linear-gradient(90deg,transparent,rgba(94,203,232,.35),transparent);
}

/* Keep animations subtle and never sacrifice mobile usability */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{
    transition-duration:.01ms !important;
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
  }
}

/* ===== MOBILE SAFE OVERRIDES ===== */
@media (max-width:768px){
  .nav-inner{
    gap:8px;
  }
  .nav-links{
    gap:0;
  }
  .nav-cta{
    margin-left:auto;
    gap:6px;
  }

  .section:not(.cred-strip):not(.cta-section)::before{
    width:calc(100% - 36px);
  }

  .hero-copy h1{
    letter-spacing:-.035em;
    text-wrap:initial;
  }
  .hero-stat{
    padding:8px 0 !important;
  }
  .hero-stat + .hero-stat{
    padding-left:0 !important;
  }
  .hero-stat + .hero-stat::before{
    display:none;
  }

  .cred-card:hover,
  .why-card:hover,
  .treat-card:hover,
  .contact-card:hover{
    transform:none;
    box-shadow:none;
  }
  .case-card:hover img{
    transform:none;
  }

  .tech-tabs{
    border-radius:14px;
    padding:5px;
    box-shadow:0 5px 18px rgba(7,26,61,.05);
  }

  .faq-item + .faq-item{
    margin-top:8px;
  }
}

@media (max-width:380px){
  .section:not(.cred-strip):not(.cta-section)::before{
    width:calc(100% - 28px);
  }
}





/* elegant animated wave/ring decorations */
.video-decoration{
  position:absolute;
  z-index:1;
  pointer-events:none;
  width:520px;height:520px;
  border-radius:50%;
  border:1px solid rgba(47,125,250,.12);
  box-shadow:
    0 0 0 24px rgba(47,125,250,.025),
    0 0 0 50px rgba(47,125,250,.018),
    0 0 0 76px rgba(47,125,250,.012);
}
.video-decoration-left{
  left:-340px;
  top:160px;
  animation:videoFloat 11s ease-in-out infinite;
}
.video-decoration-right{
  right:-390px;
  bottom:30px;
  animation:videoFloatReverse 13s ease-in-out infinite;
}
.video-dot{
  position:absolute;
  z-index:1;
  width:8px;height:8px;
  border-radius:50%;
  background:#6ec9e8;
  opacity:.55;
  box-shadow:0 0 18px rgba(47,125,250,.35);
  pointer-events:none;
}
.video-dot-1{right:8%;top:16%;animation:videoDot 6s ease-in-out infinite}
.video-dot-2{left:4%;top:52%;animation:videoDot 7.5s ease-in-out infinite .5s}
.video-dot-3{right:5%;bottom:20%;animation:videoDot 8s ease-in-out infinite 1s}
@keyframes videoRise{
  from{opacity:0;transform:translateY(18px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes videoFloat{
  0%,100%{transform:translate3d(0,0,0) rotate(0)}
  50%{transform:translate3d(20px,-12px,0) rotate(4deg)}
}
@keyframes videoFloatReverse{
  0%,100%{transform:translate3d(0,0,0) rotate(0)}
  50%{transform:translate3d(-18px,14px,0) rotate(-4deg)}
}
@keyframes videoDot{
  0%,100%{transform:translateY(0);opacity:.35}
  50%{transform:translateY(-12px);opacity:.8}
}
@media (max-width:1024px){
  .video-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:768px){
  .videos-section{
    padding-top:58px!important;
    padding-bottom:72px!important;
  }
  .videos-section .section-head h2{font-size:34px}
  .video-subhead{margin:30px 0 17px}
  .video-subhead h3{font-size:25px}
  .patient-video-heading{margin-top:54px;padding-top:30px}
  .video-grid{grid-template-columns:1fr;gap:16px}
  .video-card:hover{
    transform:none;
    box-shadow:0 12px 32px rgba(7,26,61,.08);
  }
  .video-card:hover .video-thumb img{transform:none}
  .video-card:hover .video-play{
    transform:translate(-50%,-50%);
    box-shadow:0 12px 30px rgba(23,105,224,.35);
  }
  .video-play{width:54px;height:54px;font-size:18px}
  .video-decoration{
    width:280px;height:280px;
  }
  .video-decoration-left{left:-225px;top:115px}
  .video-decoration-right{right:-220px;bottom:40px}
  .video-dot-1{right:6%;top:9%}
  .video-dot-2{left:5%;top:48%}
  .video-dot-3{right:7%;bottom:13%}
}
@media (prefers-reduced-motion:reduce){
  .video-card,.video-decoration,.video-dot{animation:none!important}
}




/* ===== FINAL LOCKED DESIGN PASS ===== */
body,main{background:#fff;color:var(--ink);}
.hero{
  position:relative;min-height:calc(100vh - 72px);display:flex;align-items:center;
  background:#fff!important;color:var(--ink);overflow:hidden;padding:104px 0 54px;isolation:isolate;
}
.hero .dotgrid{opacity:.48;z-index:0;background-image:radial-gradient(rgba(47,125,250,.26) 1px,transparent 1.4px);}
.hero::before{content:"";position:absolute;z-index:0;width:760px;height:760px;right:-330px;top:-330px;border-radius:50%;border:1px solid rgba(47,125,250,.09);box-shadow:0 0 0 30px rgba(47,125,250,.025),0 0 0 64px rgba(47,125,250,.016);animation:heroOrbit 16s ease-in-out infinite;pointer-events:none;}
.hero::after{content:"";position:absolute;z-index:0;left:-260px;bottom:-330px;width:650px;height:650px;border-radius:50%;background:radial-gradient(circle,rgba(94,203,232,.085),transparent 68%);animation:heroGlow 12s ease-in-out infinite;pointer-events:none;}
.hero-glow{z-index:0!important;right:-14%!important;top:-15%!important;width:60%!important;height:115%!important;background:radial-gradient(circle,rgba(47,125,250,.075),transparent 65%)!important;filter:blur(24px)!important;}
.hero-inner{
  width:100%;max-width:1220px;margin:0 auto;padding:0 24px;
  display:grid!important;grid-template-columns:minmax(0,1.05fr) minmax(380px,.95fr)!important;
  gap:40px!important;align-items:center!important;position:relative;z-index:2;
}
.hero-copy{position:relative;z-index:5;max-width:680px!important;text-align:left!important;transform:none!important;margin:0!important;}
.hero-copy .eyebrow{color:var(--blue-700)!important;}
.hero-copy h1{color:var(--navy-950)!important;font-size:clamp(44px,5.2vw,68px)!important;line-height:.98!important;letter-spacing:-.045em!important;margin:20px 0 22px!important;transform:none!important;position:relative!important;left:auto!important;right:auto!important;}
.hero-copy h1 em{font-style:normal;color:var(--blue-500)!important;}
.hero-copy p{color:var(--muted)!important;font-size:18px!important;line-height:1.7!important;max-width:610px!important;margin:0 0 28px!important;}
.hero-stats{display:flex!important;gap:0!important;margin:30px 0 34px!important;flex-wrap:wrap!important;}
.hero-stat{padding:12px 26px 12px 0!important;position:relative;}
.hero-stat + .hero-stat{padding-left:26px!important;}
.hero-stat + .hero-stat::before{background:var(--line)!important;top:14%!important;bottom:14%!important;}
.hero-stat b{display:block;font-family:'Fraunces',serif;font-size:34px;color:var(--navy-950)!important;font-weight:560;}
.hero-stat span{font-size:13px;color:var(--muted)!important;font-weight:600;}
.hero-ctas{display:flex!important;gap:16px!important;flex-wrap:wrap!important;}
.hero-ctas .btn-ghost{border-color:rgba(7,26,61,.28)!important;color:var(--navy-950)!important;background:#fff!important;}
.hero-ctas .btn-ghost:hover{background:var(--ice-50)!important;}
.hero-visual{
  position:relative!important;display:flex!important;justify-content:center!important;align-items:flex-end!important;
  width:100%!important;height:600px!important;margin:0!important;z-index:2!important;overflow:visible!important;border-radius:0!important;background:transparent!important;
}
.hero-visual::before{content:"";position:absolute;width:520px;height:520px;left:50%;top:51%;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(47,125,250,.075),transparent 68%);animation:heroPulse 8s ease-in-out infinite;pointer-events:none;}
.hero-visual .ring{display:block!important;position:absolute!important;width:470px!important;height:470px!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important;border:1px solid rgba(47,125,250,.12)!important;z-index:0!important;}
.hero-visual .ring.r2{width:360px!important;height:360px!important;border-color:rgba(94,203,232,.16)!important;}
.hero-visual img{position:relative!important;z-index:2!important;width:auto!important;max-width:430px!important;height:580px!important;object-fit:contain!important;filter:drop-shadow(0 26px 32px rgba(7,26,61,.14))!important;margin:0!important;}
.credential-badge{background:rgba(255,255,255,.96)!important;color:var(--ink)!important;border:1px solid rgba(7,26,61,.10)!important;box-shadow:0 14px 36px rgba(7,26,61,.10)!important;backdrop-filter:blur(10px);}
.credential-badge b{color:var(--navy-950)!important;}.credential-badge span{color:var(--muted)!important;}
.badge-1{top:18%!important;left:-3%!important;}.badge-2{bottom:13%!important;right:-2%!important;}

/* White sections + restrained ambient motion */
.section{background:#fff;position:relative;}
.section:not(.videos-section)::after{content:"";position:absolute;right:-140px;top:22%;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(47,125,250,.035),transparent 68%);animation:ambientFloat 15s ease-in-out infinite;pointer-events:none;}

/* Videos: all players portrait, no custom title/thumbnail cards */
.videos-section{position:relative!important;overflow:hidden!important;background:#fff!important;padding:86px 0 96px!important;isolation:isolate;}
.videos-section .wrap{position:relative;z-index:3;}
.videos-section .section-head{text-align:center;max-width:900px;margin:0 auto 30px;}
.videos-section .section-head h2{font-size:clamp(34px,4vw,56px);margin-top:10px;letter-spacing:-.045em;}
.videos-section .section-head h2 span,.video-subhead h3 span{color:#1769e0;}
.video-subhead{display:flex;justify-content:center;text-align:center;margin:36px 0 20px;position:relative;z-index:3;}
.video-subhead h3{font-family:'Fraunces',serif;font-size:30px;margin:7px 0 0;color:var(--ink);}
.video-subhead .eyebrow{color:#1769e0;}
.patient-video-heading{margin-top:74px;padding-top:44px;border-top:1px solid rgba(47,125,250,.12);}
.video-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:24px!important;position:relative;z-index:3;}
.video-card{overflow:hidden;background:#fff;border:1px solid rgba(7,26,61,.08);border-radius:18px;box-shadow:0 12px 34px rgba(7,26,61,.08);padding:0!important;}
.video-player-wrap{position:relative;width:100%;aspect-ratio:9/16!important;background:#071a3d;overflow:hidden;}
.video-player-wrap iframe{display:block;width:100%;height:100%;border:0;}
.patient-video-card{max-width:100%!important;width:100%!important;margin:0!important;}
.video-decoration{position:absolute;z-index:1;pointer-events:none;width:520px;height:520px;border-radius:50%;border:1px solid rgba(47,125,250,.10);box-shadow:0 0 0 24px rgba(47,125,250,.022),0 0 0 50px rgba(47,125,250,.014);}
.video-decoration-left{left:-340px;top:160px;animation:videoFloat 12s ease-in-out infinite;}
.video-decoration-right{right:-390px;bottom:30px;animation:videoFloatReverse 14s ease-in-out infinite;}
.video-dot{position:absolute;z-index:1;width:7px;height:7px;border-radius:50%;background:#6ec9e8;opacity:.45;box-shadow:0 0 16px rgba(47,125,250,.30);pointer-events:none;}
.video-dot-1{right:7%;top:15%;animation:videoDot 7s ease-in-out infinite;}.video-dot-2{left:4%;top:52%;animation:videoDot 8s ease-in-out infinite .5s;}.video-dot-3{right:5%;bottom:18%;animation:videoDot 9s ease-in-out infinite 1s;}

@keyframes heroOrbit{0%,100%{transform:translate3d(0,0,0) rotate(0)}50%{transform:translate3d(-18px,14px,0) rotate(4deg)}}
@keyframes heroGlow{0%,100%{transform:translate3d(0,0,0) scale(.96)}50%{transform:translate3d(20px,-14px,0) scale(1.04)}}
@keyframes heroPulse{0%,100%{transform:translate(-50%,-50%) scale(.95);opacity:.65}50%{transform:translate(-50%,-50%) scale(1.04);opacity:1}}
@keyframes ambientFloat{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(-14px,12px,0)}}
@keyframes videoFloat{0%,100%{transform:translate3d(0,0,0) rotate(0)}50%{transform:translate3d(18px,-10px,0) rotate(3deg)}}
@keyframes videoFloatReverse{0%,100%{transform:translate3d(0,0,0) rotate(0)}50%{transform:translate3d(-16px,12px,0) rotate(-3deg)}}
@keyframes videoDot{0%,100%{transform:translateY(0);opacity:.35}50%{transform:translateY(-10px);opacity:.75}}

@media(max-width:1100px){
  .hero-inner{grid-template-columns:minmax(0,1fr) minmax(340px,.82fr)!important;gap:22px!important;}
  .hero-visual{height:560px!important}.hero-visual img{height:535px!important;max-width:390px!important;}.hero-visual .ring{width:430px!important;height:430px!important;}.hero-visual .ring.r2{width:330px!important;height:330px!important;}
  .video-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:980px){
  .hero{min-height:auto;padding:104px 0 42px;}
  .hero-inner{grid-template-columns:1fr!important;text-align:center!important;gap:18px!important;}
  .hero-copy{max-width:760px!important;margin:0 auto!important;text-align:center!important;}
  .hero-copy p{margin-left:auto!important;margin-right:auto!important;}
  .hero-stats{justify-content:center!important;}
  .hero-ctas{justify-content:center!important;}
  .hero-visual{height:500px!important;margin-top:4px!important;}
  .credential-badge{display:none!important;}.hero-visual .ring{display:none!important;}
}
@media(max-width:768px){
  body{padding-bottom:86px;}
  .hero{padding:104px 0 30px;}
  .hero-inner{width:100%;padding:0 18px;display:flex!important;flex-direction:column!important;gap:14px!important;text-align:left!important;}
  .hero-copy{width:100%!important;max-width:none!important;text-align:left!important;margin:0!important;}
  .hero-copy .eyebrow{font-size:10px;letter-spacing:.10em;}
  .hero-copy h1{font-size:clamp(40px,11.5vw,56px)!important;line-height:.98!important;margin:15px 0 17px!important;}
  .hero-copy p{font-size:15px!important;line-height:1.65!important;margin-bottom:20px!important;}
  .hero-stats{display:grid!important;grid-template-columns:1fr 1fr!important;gap:15px 18px!important;margin:20px 0 22px!important;justify-content:initial!important;}
  .hero-stat{padding:8px 0!important;}.hero-stat + .hero-stat{padding-left:0!important;}.hero-stat + .hero-stat::before{display:none!important;}.hero-stat:last-child{grid-column:1/-1;}
  .hero-stat b{font-size:28px!important;}.hero-stat span{font-size:11px;line-height:1.35;display:block;}
  .hero-ctas{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;justify-content:initial!important;}
  .hero-ctas .btn{width:100%;min-height:50px;}
  .hero-visual{width:100%!important;height:410px!important;margin-top:2px!important;overflow:visible!important;background:transparent!important;border-radius:0!important;}
  .hero-visual::before{width:340px;height:340px;}
  .hero-visual img{width:auto!important;max-width:88%!important;height:395px!important;object-fit:contain!important;margin:auto!important;}
  .videos-section{padding:58px 0 72px!important;}
  .videos-section .section-head h2{font-size:34px;}.video-subhead{margin:30px 0 17px;}.video-subhead h3{font-size:25px;}.patient-video-heading{margin-top:54px;padding-top:30px;}
  .video-grid{grid-template-columns:1fr!important;gap:18px!important;}
  .video-card{max-width:390px!important;margin:0 auto!important;width:100%!important;}
  .video-player-wrap{aspect-ratio:9/16!important;}
  .video-decoration{width:280px;height:280px;}.video-decoration-left{left:-225px;top:115px}.video-decoration-right{right:-220px;bottom:40px}
  .video-dot-1{right:6%;top:9%}.video-dot-2{left:5%;top:48%}.video-dot-3{right:7%;bottom:13%}
}
@media(max-width:380px){
  .hero{padding-top:100px}.hero-inner{padding:0 14px}.hero-visual{height:370px!important}.hero-visual img{height:350px!important;max-width:90%!important;}.hero-copy h1{font-size:40px!important;}
}
@media(prefers-reduced-motion:reduce){
  .hero::before,.hero::after,.hero-visual::before,.section:not(.videos-section)::after,.video-decoration,.video-dot{animation:none!important;}
}

/* ===== FINAL FIX: RESTORE HEADER + BALANCED HERO ===== */
.navbar{
  background:#fff!important;
  color:#071a3d!important;
  padding:14px 0!important;
  box-shadow:0 8px 28px rgba(7,26,61,.08)!important;
  backdrop-filter:blur(14px)!important;
}
.navbar .logo,.navbar.scrolled .logo{color:#071a3d!important;}
.navbar .logo span,.navbar.scrolled .logo span{color:#1769e0!important;}
.navbar .nav-links a,.navbar.scrolled .nav-links a{color:#071a3d!important;}
.navbar .nav-links a:hover{color:#1769e0!important;}
.navbar .btn-ghost,.navbar.scrolled .btn-ghost{border-color:#071a3d!important;color:#071a3d!important;background:#fff!important;}
.navbar .btn-ghost:hover{background:#f4f8ff!important;}
.navbar .hamburger span{background:#071a3d!important;}
.nav-inner{width:min(1220px,calc(100% - 48px))!important;margin:0 auto!important;padding:0!important;}

.hero{
  background:#fff!important;
  color:#071a3d!important;
  min-height:calc(100vh - 72px)!important;
  padding:94px 0 48px!important;
  overflow:hidden!important;
}
.hero .dotgrid{opacity:.32!important;}
.hero-glow{background:radial-gradient(circle,rgba(47,125,250,.10),transparent 67%)!important;filter:blur(26px)!important;}
.hero-inner{
  width:min(1220px,calc(100% - 48px))!important;
  max-width:none!important;
  margin:0 auto!important;
  padding:0!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.02fr) minmax(430px,.98fr)!important;
  gap:24px!important;
  align-items:center!important;
  text-align:left!important;
}
.hero-copy{
  width:100%!important;
  max-width:660px!important;
  margin:0!important;
  text-align:left!important;
  transform:none!important;
  justify-self:start!important;
}
.hero-copy .eyebrow{color:#1769e0!important;}
.hero-copy h1{
  color:#071a3d!important;
  font-size:clamp(44px,5vw,68px)!important;
  line-height:.98!important;
  margin:18px 0 22px!important;
  text-align:left!important;
}
.hero-copy h1 em{color:#1769e0!important;}
.hero-copy p{color:#536b8e!important;max-width:620px!important;text-align:left!important;}
.hero-stats{justify-content:flex-start!important;text-align:left!important;}
.hero-stat b{color:#071a3d!important;}
.hero-stat span{color:#667d9f!important;}
.hero-stat + .hero-stat::before{background:rgba(7,26,61,.13)!important;}
.hero-ctas{justify-content:flex-start!important;}
.hero-visual{
  height:600px!important;
  margin:0!important;
  overflow:visible!important;
  background:transparent!important;
  border-radius:0!important;
  justify-content:center!important;
  align-items:flex-end!important;
}
.hero-visual img{
  width:auto!important;
  max-width:430px!important;
  height:570px!important;
  object-fit:contain!important;
  margin:0 auto!important;
}
.hero-visual .ring{width:500px!important;height:500px!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important;border-color:rgba(47,125,250,.12)!important;}
.hero-visual .ring.r2{width:390px!important;height:390px!important;border-color:rgba(94,203,232,.15)!important;}
.credential-badge{background:rgba(255,255,255,.96)!important;color:#071a3d!important;border:1px solid rgba(7,26,61,.10)!important;box-shadow:0 14px 34px rgba(7,26,61,.10)!important;backdrop-filter:blur(10px)!important;}
.credential-badge b{color:#071a3d!important;}.credential-badge span{color:#687f9f!important;}
.badge-1{top:20%!important;left:1%!important;}.badge-2{bottom:13%!important;right:-1%!important;}

/* All website videos are displayed as vertical/portrait players. */
.video-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;align-items:start!important;}
.video-card,.patient-video-card{width:100%!important;max-width:360px!important;margin:0 auto!important;}
.video-player-wrap{aspect-ratio:9/16!important;height:auto!important;overflow:hidden!important;background:#071a3d!important;}
.video-player-wrap iframe{width:100%!important;height:100%!important;display:block!important;border:0!important;}

@media(max-width:1100px) and (min-width:769px){
  .hero-inner{grid-template-columns:minmax(0,1fr) minmax(360px,.82fr)!important;gap:12px!important;}
  .hero-visual{height:540px!important;}.hero-visual img{height:515px!important;max-width:390px!important;}
  .hero-visual .ring{width:430px!important;height:430px!important;}.hero-visual .ring.r2{width:330px!important;height:330px!important;}
}
@media(max-width:768px){
  .navbar{padding:12px 0!important;}
  .nav-inner{width:calc(100% - 28px)!important;padding:0!important;}
  .navbar .nav-links{display:none!important;}
  .navbar .nav-cta .btn-ghost{display:none!important;}
  .navbar .nav-cta{gap:8px!important;}
  .navbar .btn-primary{padding:11px 16px!important;font-size:13px!important;}
  .navbar .hamburger{display:flex!important;}
  .hero{min-height:auto!important;padding:104px 0 34px!important;}
  .hero-inner{width:calc(100% - 28px)!important;display:flex!important;flex-direction:column!important;gap:16px!important;text-align:left!important;}
  .hero-copy{width:100%!important;max-width:none!important;text-align:left!important;}
  .hero-copy h1{font-size:clamp(40px,11.5vw,56px)!important;text-align:left!important;margin:15px 0 17px!important;}
  .hero-copy p{font-size:15px!important;line-height:1.65!important;text-align:left!important;}
  .hero-stats{display:grid!important;grid-template-columns:1fr 1fr!important;gap:14px 18px!important;justify-content:initial!important;}
  .hero-stat:last-child{grid-column:1/-1!important;}
  .hero-ctas{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;justify-content:initial!important;}
  .hero-ctas .btn{width:100%!important;min-height:50px!important;}
  .hero-visual{width:100%!important;height:410px!important;margin-top:2px!important;overflow:visible!important;}
  .hero-visual img{height:395px!important;width:auto!important;max-width:88%!important;object-fit:contain!important;}
  .hero-visual .ring{width:340px!important;height:340px!important;}.hero-visual .ring.r2{width:260px!important;height:260px!important;}
  .credential-badge{display:none!important;}
  .video-grid{grid-template-columns:1fr!important;gap:18px!important;}
  .video-card,.patient-video-card{max-width:390px!important;width:100%!important;}
  .video-player-wrap{aspect-ratio:9/16!important;}
}
@media(max-width:380px){
  .hero{padding-top:100px!important;}.hero-inner{width:calc(100% - 24px)!important;}
  .hero-visual{height:365px!important;}.hero-visual img{height:350px!important;max-width:90%!important;}
  .hero-visual .ring{width:300px!important;height:300px!important;}.hero-visual .ring.r2{width:225px!important;height:225px!important;}
}


/* FINAL VIDEO FORMAT LOCK: Doctor expertise = portrait; patient testimonials = landscape */
.video-grid:not(.patient-video-grid) .video-player-wrap{aspect-ratio:9/16 !important;}
.patient-video-grid .video-player-wrap{aspect-ratio:16/9 !important;}
.patient-video-grid .patient-video-card{max-width:100% !important;width:100% !important;}
@media (max-width:768px){
  .video-grid:not(.patient-video-grid) .video-player-wrap{aspect-ratio:9/16 !important;}
  .patient-video-grid .video-player-wrap{aspect-ratio:16/9 !important;}
  .patient-video-grid .patient-video-card{max-width:100% !important;width:100% !important;}
}


/* ===== HEADER FINAL RESPONSIVE FIX ===== */
@media (min-width:769px) and (max-width:1100px){
  .navbar .nav-inner{width:calc(100% - 28px)!important;gap:12px!important;}
  .navbar .logo{flex:0 0 auto!important;font-size:17px!important;color:#071a3d!important;visibility:visible!important;opacity:1!important;}
  .navbar .logo span{font-size:8px!important;letter-spacing:.09em!important;color:#1769e0!important;}
  .navbar .nav-links{display:flex!important;gap:14px!important;align-items:center!important;flex:1 1 auto!important;justify-content:center!important;visibility:visible!important;opacity:1!important;}
  .navbar .nav-links a{font-size:12.5px!important;padding:6px 1px!important;white-space:nowrap!important;color:#071a3d!important;}
  .navbar .nav-cta{display:flex!important;margin-left:4px!important;gap:7px!important;flex:0 0 auto!important;visibility:visible!important;opacity:1!important;}
  .navbar .nav-cta .btn{padding:10px 12px!important;font-size:12px!important;}
  .navbar .nav-cta .btn-ghost{display:inline-flex!important;}
  .navbar .hamburger{display:none!important;}
}
@media (min-width:1101px){
  .navbar .logo,.navbar .nav-links,.navbar .nav-cta{visibility:visible!important;opacity:1!important;}
}


/* ===== TARGETED HERO ALIGNMENT FIX — DO NOT ALTER MOBILE DESIGN ===== */
@media (min-width:1101px){
  .hero-inner{
    width:min(1280px,calc(100% - 56px))!important;
    grid-template-columns:minmax(0,1fr) minmax(500px,.88fr)!important;
    gap:20px!important;
    align-items:center!important;
  }
  .hero-copy{
    grid-column:1!important;
    grid-row:1!important;
    justify-self:start!important;
    align-self:center!important;
    width:100%!important;
    max-width:650px!important;
    margin:0!important;
    padding:0!important;
    transform:none!important;
  }
  .hero-visual{
    grid-column:2!important;
    grid-row:1!important;
    justify-self:end!important;
    align-self:end!important;
    width:100%!important;
    height:600px!important;
    margin:0!important;
    transform:none!important;
  }
  .hero-visual img{
    display:block!important;
    margin:0 auto!important;
    max-width:430px!important;
    height:570px!important;
    object-fit:contain!important;
  }
  .hero-copy h1,.hero-copy p,.hero-copy .hero-stats,.hero-copy .hero-ctas{
    text-align:left!important;
  }
}
@media (min-width:769px) and (max-width:1100px){
  .hero-inner{
    grid-template-columns:minmax(0,1fr) minmax(360px,.82fr)!important;
    gap:14px!important;
  }
  .hero-copy{
    grid-column:1!important;
    grid-row:1!important;
    justify-self:start!important;
    width:100%!important;
    margin:0!important;
  }
  .hero-visual{
    grid-column:2!important;
    grid-row:1!important;
  }
}
@media (max-width:768px){
  .hero-inner{
    display:flex!important;
    flex-direction:column!important;
  }
  .hero-copy,.hero-visual{
    grid-column:auto!important;
    grid-row:auto!important;
  }
}


/* ===== HERO IMAGE VISIBILITY FIX — DESKTOP ===== */
@media (min-width:1101px){
  .hero{
    min-height:calc(100vh - 72px)!important;
    height:calc(100vh - 72px)!important;
    padding:54px 0 18px!important;
    box-sizing:border-box!important;
  }
  .hero-inner{
    height:100%!important;
    align-items:center!important;
  }
  .hero-copy{
    align-self:center!important;
  }
  .hero-visual{
    height:100%!important;
    max-height:650px!important;
    align-self:center!important;
    align-items:center!important;
  }
  .hero-visual img{
    height:min(560px,calc(100vh - 190px))!important;
    max-height:560px!important;
    width:auto!important;
    object-fit:contain!important;
  }
}
@media (min-width:769px) and (max-width:1100px){
  .hero{
    height:auto!important;
    min-height:calc(100vh - 72px)!important;
  }
  .hero-visual{
    align-items:center!important;
  }
  .hero-visual img{
    height:min(515px,calc(100vh - 210px))!important;
    max-height:515px!important;
    object-fit:contain!important;
  }
}


/* ===== HERO COPY RIGHT-SIDE POSITION FIX ===== */
@media (min-width:1101px){
  .hero-inner{
    grid-template-columns:minmax(0,1.12fr) minmax(500px,.88fr)!important;
    gap:10px!important;
  }
  .hero-copy{
    justify-self:end!important;
    width:min(650px,100%)!important;
    max-width:650px!important;
    margin:0!important;
    padding:0!important;
    text-align:left!important;
  }
  .hero-copy .eyebrow{
    display:block!important;
    text-align:left!important;
  }
  .hero-copy h1,
  .hero-copy p,
  .hero-copy .hero-stats,
  .hero-copy .hero-ctas{
    text-align:left!important;
  }
}


/* ===== HERO FULL-WIDTH BALANCE FIX ===== */
@media (min-width:1101px){
  .hero-inner{
    width:min(1400px,calc(100% - 56px))!important;
    max-width:1400px!important;
    grid-template-columns:minmax(0,1.08fr) minmax(500px,.92fr)!important;
    gap:12px!important;
  }
  .hero-copy{
    grid-column:1!important;
    justify-self:start!important;
    align-self:center!important;
    width:min(620px,100%)!important;
    max-width:620px!important;
    margin:0!important;
    padding:0!important;
    text-align:left!important;
  }
  .hero-visual{
    grid-column:2!important;
    justify-self:end!important;
    align-self:center!important;
    width:100%!important;
    margin:0!important;
  }
  .hero-visual img{
    margin-left:auto!important;
    margin-right:0!important;
  }
}

/* ==========================================================
   FINAL HERO POSITION — DESKTOP ONLY
   Keep the original image/assets/design. Only correct the
   horizontal anchor of the hero copy and visual.
   ========================================================== */
@media (min-width: 1101px) {
  .hero-inner {
    width: min(1500px, calc(100% - 64px)) !important;
    max-width: 1500px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(500px, 0.92fr) !important;
    gap: 20px !important;
    align-items: center !important;
    text-align: left !important;
  }

  .hero-copy {
    grid-column: 1 !important;
    grid-row: 1 !important;
    justify-self: start !important;
    align-self: center !important;
    width: min(650px, 100%) !important;
    max-width: 650px !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    text-align: left !important;
  }

  .hero-copy .eyebrow,
  .hero-copy h1,
  .hero-copy p,
  .hero-copy .hero-stats,
  .hero-copy .hero-ctas {
    text-align: left !important;
  }

  .hero-visual {
    grid-column: 2 !important;
    grid-row: 1 !important;
    justify-self: end !important;
    align-self: center !important;
    width: 100% !important;
    height: 600px !important;
    margin: 0 !important;
    transform: none !important;
    overflow: visible !important;
  }

  .hero-visual img {
    display: block !important;
    width: min(430px, 100%) !important;
    max-width: 430px !important;
    height: auto !important;
    object-fit: contain !important;
    object-position: center bottom !important;
  }
}

/* Preserve the existing mobile/tablet rules from the source. */


/* ==========================================================
   HERO — CLEAN WHITE BACKGROUND / NO BACKGROUND ANIMATION
   Keep the existing hero layout and original doctor image.
   Only remove decorative background motion/patterns.
   ========================================================== */
.hero#home,
.hero#home::before,
.hero#home::after{
  background:#fff!important;
  animation:none!important;
}

.hero#home .dotgrid,
.hero#home .hero-glow,
.hero#home .hero-visual::before,
.hero#home .hero-visual .ring,
.hero#home .hero-visual .ring.r2{
  display:none!important;
  animation:none!important;
}

.hero#home{
  background:#fff!important;
  color:#071a3d!important;
}

.hero#home .hero-inner{
  position:relative!important;
  z-index:2!important;
}

.hero#home *{
  animation:none!important;
}

/* ==========================================================
   FINAL RESPONSIVE HERO OPTIMIZATION
   Desktop: text stays on the left, doctor stays on the right.
   Mobile: natural stacked layout, no cropping/zooming.
   ========================================================== */
html, body { max-width:100%; overflow-x:hidden; }

/* Desktop / large screens */
@media (min-width: 981px){
  .hero#home{
    min-height:calc(100vh - 72px) !important;
    padding:92px 0 48px !important;
    display:flex !important;
    align-items:center !important;
    overflow:hidden !important;
  }

  .hero#home .hero-inner{
    width:min(1220px, calc(100% - 48px)) !important;
    max-width:none !important;
    margin:0 auto !important;
    padding:0 !important;
    display:grid !important;
    grid-template-columns:minmax(0, 1.06fr) minmax(420px, .94fr) !important;
    gap:34px !important;
    align-items:center !important;
  }

  .hero#home .hero-copy{
    width:100% !important;
    max-width:680px !important;
    margin:0 !important;
    padding:0 !important;
    justify-self:start !important;
    text-align:left !important;
  }

  .hero#home .hero-copy h1{
    font-size:clamp(48px, 5vw, 70px) !important;
    line-height:.98 !important;
    margin:18px 0 22px !important;
    max-width:660px !important;
  }

  .hero#home .hero-copy p{
    max-width:650px !important;
    margin:0 0 26px !important;
    font-size:18px !important;
    line-height:1.65 !important;
  }

  .hero#home .hero-stats{
    justify-content:flex-start !important;
    margin:26px 0 30px !important;
  }

  .hero#home .hero-ctas{
    justify-content:flex-start !important;
  }

  .hero#home .hero-visual{
    width:100% !important;
    height:590px !important;
    margin:0 !important;
    justify-self:end !important;
    align-self:center !important;
    display:flex !important;
    align-items:flex-end !important;
    justify-content:center !important;
    overflow:visible !important;
    background:transparent !important;
  }

  .hero#home .hero-visual img{
    width:auto !important;
    max-width:100% !important;
    height:min(590px, 43vw) !important;
    min-height:500px !important;
    object-fit:contain !important;
    object-position:center bottom !important;
    margin:0 auto !important;
  }

  .hero#home .credential-badge{
    display:flex !important;
  }
}

/* Tablet */
@media (min-width: 769px) and (max-width: 980px){
  .hero#home{
    padding:96px 0 42px !important;
  }
  .hero#home .hero-inner{
    width:min(760px, calc(100% - 40px)) !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:20px !important;
    text-align:left !important;
  }
  .hero#home .hero-copy{
    width:100% !important;
    max-width:720px !important;
    margin:0 !important;
    text-align:left !important;
  }
  .hero#home .hero-copy p{margin-left:0 !important;margin-right:0 !important;}
  .hero#home .hero-stats{justify-content:flex-start !important;}
  .hero#home .hero-ctas{justify-content:flex-start !important;}
  .hero#home .hero-visual{
    width:100% !important;
    height:470px !important;
    display:flex !important;
    justify-content:center !important;
    align-items:flex-end !important;
  }
  .hero#home .hero-visual img{
    width:auto !important;
    max-width:390px !important;
    height:455px !important;
    object-fit:contain !important;
  }
  .hero#home .credential-badge{display:none !important;}
}

/* Mobile */
@media (max-width: 768px){
  .hero#home{
    min-height:0 !important;
    height:auto !important;
    padding:92px 0 30px !important;
    display:block !important;
    overflow:hidden !important;
  }

  .hero#home .hero-inner{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 18px !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:18px !important;
    text-align:left !important;
  }

  .hero#home .hero-copy{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
    text-align:left !important;
  }

  .hero#home .hero-copy .eyebrow{
    font-size:9.5px !important;
    letter-spacing:.09em !important;
    white-space:normal !important;
  }

  .hero#home .hero-copy h1{
    font-size:clamp(38px, 11.5vw, 50px) !important;
    line-height:.98 !important;
    letter-spacing:-.04em !important;
    margin:13px 0 16px !important;
    max-width:100% !important;
  }

  .hero#home .hero-copy p{
    width:100% !important;
    max-width:100% !important;
    font-size:15px !important;
    line-height:1.62 !important;
    margin:0 0 18px !important;
  }

  .hero#home .hero-stats{
    width:100% !important;
    display:grid !important;
    grid-template-columns:repeat(2, minmax(0,1fr)) !important;
    gap:10px 16px !important;
    margin:18px 0 20px !important;
    justify-content:initial !important;
  }

  .hero#home .hero-stat,
  .hero#home .hero-stat + .hero-stat{
    padding:7px 0 !important;
  }

  .hero#home .hero-stat:last-child{
    grid-column:1 / -1 !important;
  }

  .hero#home .hero-stat b{
    font-size:27px !important;
    line-height:1.05 !important;
  }

  .hero#home .hero-stat span{
    font-size:11px !important;
    line-height:1.35 !important;
  }

  .hero#home .hero-ctas{
    width:100% !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:9px !important;
    margin:0 !important;
  }

  .hero#home .hero-ctas .btn{
    width:100% !important;
    min-height:50px !important;
    padding:13px 18px !important;
    font-size:13.5px !important;
  }

  .hero#home .hero-visual{
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    margin:4px 0 0 !important;
    padding:0 !important;
    display:flex !important;
    align-items:flex-end !important;
    justify-content:center !important;
    overflow:visible !important;
    background:transparent !important;
    border-radius:0 !important;
  }

  .hero#home .hero-visual img{
    display:block !important;
    width:min(360px, 92vw) !important;
    max-width:92vw !important;
    height:auto !important;
    max-height:none !important;
    min-height:0 !important;
    object-fit:contain !important;
    object-position:center bottom !important;
    margin:0 auto !important;
    filter:drop-shadow(0 18px 24px rgba(7,26,61,.10)) !important;
  }

  .hero#home .credential-badge,
  .hero#home .hero-visual .ring,
  .hero#home .hero-visual .ring.r2,
  .hero#home .hero-visual::before{
    display:none !important;
  }
}

/* Small phones: keep everything inside the viewport */
@media (max-width: 380px){
  .hero#home{padding-top:88px !important;}
  .hero#home .hero-inner{padding-left:14px !important;padding-right:14px !important;}
  .hero#home .hero-copy h1{font-size:38px !important;}
  .hero#home .hero-copy p{font-size:14.5px !important;}
  .hero#home .hero-stat b{font-size:25px !important;}
  .hero#home .hero-visual img{width:min(330px,94vw) !important;max-width:94vw !important;}
}

/* ==========================================================
   FINAL DESKTOP COMPOSITION FIX
   - Move hero copy away from the extreme left edge.
   - Keep doctor firmly on the right without cropping.
   - Shorten desktop portrait video cards so they stay within
     a normal desktop viewport while remaining portrait.
   - Mobile rules are intentionally untouched.
   ========================================================== */
@media (min-width: 981px){
  .hero#home .hero-inner{
    width:min(1400px, calc(100% - 56px)) !important;
    grid-template-columns:minmax(220px,.32fr) minmax(480px,1fr) minmax(420px,.88fr) !important;
    gap:24px !important;
    align-items:center !important;
  }

  .hero#home .hero-copy{
    grid-column:2 !important;
    justify-self:start !important;
    max-width:680px !important;
  }

  .hero#home .hero-visual{
    grid-column:3 !important;
    justify-self:end !important;
    width:100% !important;
    height:590px !important;
  }

  .hero#home .hero-visual img{
    max-width:100% !important;
    height:min(590px, 43vw) !important;
    min-height:500px !important;
    object-fit:contain !important;
    object-position:center bottom !important;
  }

  /* Doctor expertise videos: still portrait, but not excessively tall. */
  .video-grid:not(.patient-video-grid) .video-player-wrap{
    aspect-ratio:4 / 5 !important;
  }
  .video-grid:not(.patient-video-grid) .video-card{
    max-width:360px !important;
  }
}

/* Tablet keeps the already-approved layout. */
@media (min-width:769px) and (max-width:980px){
  .video-grid:not(.patient-video-grid) .video-player-wrap{
    aspect-ratio:4 / 5 !important;
  }
}
/* =========================================================
   NEOGEN / DR. KUNAL SINGH
   CLEAN FINAL HERO + VIDEO CSS
   Standalone override file
   ========================================================= */

/* =========================
   GLOBAL
   ========================= */
html,
body {
  max-width: 100%;
  overflow-x: hidden;
}


/* =========================================================
   HERO — DESKTOP
   ========================================================= */

.hero#home {
  position: relative !important;
  width: 100% !important;
  min-height: calc(100vh - 72px) !important;
  height: auto !important;
  padding: 88px 0 42px !important;
  display: flex !important;
  align-items: center !important;
  background: #ffffff !important;
  color: #071a3d !important;
  overflow: hidden !important;
  isolation: isolate !important;
}

/* Remove old decorative layers */
.hero#home::before,
.hero#home::after,
.hero#home .dotgrid,
.hero#home .hero-glow,
.hero#home .hero-visual::before,
.hero#home .hero-visual .ring,
.hero#home .hero-visual .ring.r2 {
  display: none !important;
  animation: none !important;
  background: none !important;
}

/* Main hero layout */
.hero#home .hero-inner {
  width: min(1240px, calc(100% - 48px)) !important;
  max-width: 1240px !important;
  margin: 0 auto !important;
  padding: 0 !important;

  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(420px, 0.82fr) !important;
  gap: 50px !important;

  align-items: center !important;
  text-align: left !important;
}

/* LEFT CONTENT */
.hero#home .hero-copy {
  width: 100% !important;
  max-width: 650px !important;
  margin: 0 !important;
  padding: 0 !important;

  grid-column: 1 !important;
  grid-row: 1 !important;

  justify-self: start !important;
  align-self: center !important;

  text-align: left !important;
  transform: none !important;
}

.hero#home .hero-copy .eyebrow {
  color: #1769e0 !important;
  font-size: 12px !important;
  letter-spacing: 0.16em !important;
}

.hero#home .hero-copy h1 {
  color: #071a3d !important;
  font-size: clamp(46px, 5vw, 70px) !important;
  line-height: 0.98 !important;
  letter-spacing: -0.045em !important;

  max-width: 650px !important;
  margin: 18px 0 22px !important;

  text-align: left !important;
}

.hero#home .hero-copy h1 em {
  color: #1769e0 !important;
  font-style: normal !important;
}

.hero#home .hero-copy p {
  max-width: 610px !important;
  margin: 0 0 26px !important;

  color: #5b6b8c !important;
  font-size: 17px !important;
  line-height: 1.7 !important;

  text-align: left !important;
}


/* =========================
   HERO STATS
   ========================= */

.hero#home .hero-stats {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: flex-start !important;
  align-items: stretch !important;

  gap: 0 !important;
  margin: 26px 0 30px !important;

  text-align: left !important;
}

.hero#home .hero-stat {
  position: relative !important;
  padding: 8px 26px 8px 0 !important;
}

.hero#home .hero-stat + .hero-stat {
  padding-left: 26px !important;
}

.hero#home .hero-stat b {
  color: #071a3d !important;
  font-size: 32px !important;
}

.hero#home .hero-stat span {
  color: #667d9f !important;
  font-size: 12px !important;
}


/* =========================
   HERO BUTTONS
   ========================= */

.hero#home .hero-ctas {
  display: flex !important;
  justify-content: flex-start !important;
  gap: 12px !important;

  text-align: left !important;
}

.hero#home .hero-ctas .btn {
  min-height: 50px !important;
}

.hero#home .hero-ctas .btn-primary {
  background: #1769e0 !important;
  color: #ffffff !important;
}

.hero#home .hero-ctas .btn-ghost {
  background: #ffffff !important;
  color: #071a3d !important;
  border: 1px solid rgba(7, 26, 61, 0.22) !important;
}


/* =========================================================
   HERO — DOCTOR IMAGE
   ========================================================= */

.hero#home .hero-visual {
  grid-column: 2 !important;
  grid-row: 1 !important;

  width: 100% !important;
  height: min(620px, calc(100vh - 150px)) !important;
  min-height: 500px !important;

  margin: 0 !important;
  padding: 0 !important;

  display: flex !important;
  align-items: flex-end !important;
  justify-content: center !important;

  overflow: visible !important;
  background: transparent !important;
  border-radius: 0 !important;

  transform: none !important;
}

.hero#home .hero-visual img {
  display: block !important;

  width: auto !important;
  max-width: 100% !important;

  height: min(590px, calc(100vh - 180px)) !important;
  max-height: 590px !important;

  min-height: 0 !important;

  object-fit: contain !important;
  object-position: center bottom !important;

  margin: 0 auto !important;

  filter: drop-shadow(
    0 22px 35px rgba(7, 26, 61, 0.12)
  ) !important;
}


/* =========================
   CREDENTIAL BADGES
   ========================= */

.hero#home .credential-badge {
  display: flex !important;

  background: #ffffff !important;
  color: #071a3d !important;

  border: 1px solid rgba(7, 26, 61, 0.10) !important;

  box-shadow: 0 12px 30px rgba(7, 26, 61, 0.10) !important;

  backdrop-filter: none !important;
}

.hero#home .credential-badge b {
  color: #071a3d !important;
}

.hero#home .credential-badge span {
  color: #687f9f !important;
}

.hero#home .badge-1 {
  top: 20% !important;
  left: -4% !important;
}

.hero#home .badge-2 {
  right: -4% !important;
  bottom: 12% !important;
}


/* =========================================================
   TABLET — 769px to 1100px
   ========================================================= */

@media (min-width: 769px) and (max-width: 1100px) {

  .hero#home {
    min-height: auto !important;
    padding: 92px 0 45px !important;
  }

  .hero#home .hero-inner {
    width: min(900px, calc(100% - 40px)) !important;

    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 380px !important;

    gap: 25px !important;
  }

  .hero#home .hero-copy {
    max-width: 100% !important;
  }

  .hero#home .hero-copy h1 {
    font-size: clamp(42px, 5vw, 58px) !important;
  }

  .hero#home .hero-copy p {
    font-size: 15px !important;
  }

  .hero#home .hero-visual {
    height: 500px !important;
    min-height: 0 !important;
  }

  .hero#home .hero-visual img {
    height: 490px !important;
    max-height: 490px !important;
  }

  .hero#home .credential-badge {
    display: none !important;
  }
}


/* =========================================================
   MOBILE — 768px and below
   ========================================================= */

@media (max-width: 768px) {

  .hero#home {
    min-height: 0 !important;
    height: auto !important;

    padding: 92px 0 32px !important;

    display: block !important;
    overflow: hidden !important;
  }

  .hero#home .hero-inner {
    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 18px !important;

    display: flex !important;
    flex-direction: column !important;

    gap: 18px !important;
    align-items: stretch !important;

    text-align: left !important;
  }

  .hero#home .hero-copy {
    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;

    text-align: left !important;
  }

  .hero#home .hero-copy .eyebrow {
    font-size: 9.5px !important;
    letter-spacing: 0.09em !important;
  }

  .hero#home .hero-copy h1 {
    font-size: clamp(38px, 11.5vw, 52px) !important;
    line-height: 0.98 !important;

    margin: 13px 0 16px !important;

    max-width: 100% !important;
  }

  .hero#home .hero-copy p {
    max-width: 100% !important;

    font-size: 15px !important;
    line-height: 1.62 !important;

    margin: 0 0 18px !important;
  }


  /* MOBILE STATS */
  .hero#home .hero-stats {
    width: 100% !important;

    display: grid !important;
    grid-template-columns: 1fr 1fr !important;

    gap: 12px 16px !important;

    margin: 18px 0 20px !important;
  }

  .hero#home .hero-stat,
  .hero#home .hero-stat + .hero-stat {
    padding: 7px 0 !important;
  }

  .hero#home .hero-stat:last-child {
    grid-column: 1 / -1 !important;
  }

  .hero#home .hero-stat b {
    font-size: 27px !important;
  }

  .hero#home .hero-stat span {
    font-size: 11px !important;
  }


  /* MOBILE BUTTONS */
  .hero#home .hero-ctas {
    width: 100% !important;

    display: grid !important;
    grid-template-columns: 1fr !important;

    gap: 9px !important;
  }

  .hero#home .hero-ctas .btn {
    width: 100% !important;
    min-height: 50px !important;
  }


  /* MOBILE DOCTOR */
  .hero#home .hero-visual {
    width: 100% !important;

    height: auto !important;
    min-height: 0 !important;

    margin: 4px 0 0 !important;
    padding: 0 !important;

    display: flex !important;
    align-items: flex-end !important;
    justify-content: center !important;

    overflow: visible !important;
  }

  .hero#home .hero-visual img {
    width: min(360px, 92vw) !important;

    max-width: 92vw !important;

    height: auto !important;
    max-height: none !important;
    min-height: 0 !important;

    object-fit: contain !important;
    object-position: center bottom !important;

    margin: 0 auto !important;
  }

  .hero#home .credential-badge,
  .hero#home .hero-visual .ring,
  .hero#home .hero-visual .ring.r2,
  .hero#home .hero-visual::before {
    display: none !important;
  }
}


/* =========================================================
   SMALL MOBILE — 380px and below
   ========================================================= */

@media (max-width: 380px) {

  .hero#home {
    padding-top: 88px !important;
  }

  .hero#home .hero-inner {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  .hero#home .hero-copy h1 {
    font-size: 38px !important;
  }

  .hero#home .hero-copy p {
    font-size: 14.5px !important;
  }

  .hero#home .hero-stat b {
    font-size: 25px !important;
  }

  .hero#home .hero-visual img {
    width: min(330px, 94vw) !important;
    max-width: 94vw !important;
  }
}


/* =========================================================
   VIDEOS
   Doctor Expertise = 4:5
   Patient Testimonials = 16:9
   ========================================================= */

.video-grid:not(.patient-video-grid) {
  align-items: start !important;
}

.video-grid:not(.patient-video-grid) .video-card {
  width: 100% !important;
  max-width: 360px !important;
  margin: 0 auto !important;
}

.video-grid:not(.patient-video-grid) .video-player-wrap {
  width: 100% !important;
  aspect-ratio: 4 / 5 !important;

  height: auto !important;
  max-height: none !important;

  overflow: hidden !important;
}

.video-grid:not(.patient-video-grid) .video-player-wrap iframe {
  width: 100% !important;
  height: 100% !important;

  display: block !important;
  border: 0 !important;
}


/* PATIENT TESTIMONIALS */
.patient-video-grid .video-player-wrap {
  width: 100% !important;
  aspect-ratio: 16 / 9 !important;

  height: auto !important;
}

.patient-video-grid .video-player-wrap iframe {
  width: 100% !important;
  height: 100% !important;

  display: block !important;
  border: 0 !important;
}


/* MOBILE VIDEOS */
@media (max-width: 768px) {

  .video-grid:not(.patient-video-grid) {
    grid-template-columns: 1fr !important;
  }

  .video-grid:not(.patient-video-grid) .video-card {
    width: min(100%, 360px) !important;
    max-width: 360px !important;
  }

  .video-grid:not(.patient-video-grid) .video-player-wrap {
    aspect-ratio: 4 / 5 !important;
  }

  .patient-video-grid .video-player-wrap {
    aspect-ratio: 16 / 9 !important;
  }
}
/* ===== REMOVE HERO DOT PATTERN ONLY ===== */
.dotgrid {
    display: none !important;
    background-image: none !important;
}

.dotgrid::before,
.dotgrid::after {
    display: none !important;
    background: none !important;
    content: none !important;
}
/* =========================================================
   FINAL DR. KUNAL HERO — MASTER OVERRIDE
   Paste at the VERY END of style.css
   ========================================================= */

/* HERO BASE */
.hero#home{
  position:relative !important;
  width:100% !important;
  min-height:calc(100vh - 82px) !important;
  height:auto !important;
  padding:70px 0 50px !important;
  margin:0 !important;

  display:flex !important;
  align-items:center !important;

  background:#ffffff !important;
  color:#071a3d !important;

  overflow:hidden !important;
  isolation:isolate !important;
}

/* REMOVE ALL OLD HERO DECORATIONS */
.hero#home::before,
.hero#home::after,
.hero#home .dotgrid,
.hero#home .hero-glow,
.hero#home .hero-visual::before,
.hero#home .hero-visual::after,
.hero#home .hero-visual .ring,
.hero#home .hero-visual .ring.r2{
  display:none !important;
  content:none !important;
  background:none !important;
  box-shadow:none !important;
  animation:none !important;
}

/* MAIN HERO CONTAINER */
.hero#home .hero-inner{
  width:min(1280px, calc(100% - 64px)) !important;
  max-width:1280px !important;
  margin:0 auto !important;
  padding:0 !important;

  display:grid !important;
  grid-template-columns:52% 48% !important;
  gap:20px !important;

  align-items:center !important;
}

/* LEFT SIDE */
.hero#home .hero-copy{
  width:100% !important;
  max-width:680px !important;
  margin:0 !important;
  padding:0 !important;

  grid-column:1 !important;
  grid-row:1 !important;

  text-align:left !important;
  transform:none !important;
}

/* EYEBROW */
.hero#home .hero-copy .eyebrow{
  display:block !important;

  margin:0 0 18px !important;

  color:#1769e0 !important;
  font-family:'IBM Plex Mono',monospace !important;
  font-size:12px !important;
  font-weight:500 !important;
  letter-spacing:.18em !important;
  text-transform:uppercase !important;
}

/* MAIN HEADING */
.hero#home .hero-copy h1{
  margin:0 0 24px !important;
  padding:0 !important;

  max-width:680px !important;

  color:#071a3d !important;
  font-size:clamp(52px,5.3vw,78px) !important;
  line-height:.96 !important;
  letter-spacing:-.045em !important;

  text-align:left !important;
}

.hero#home .hero-copy h1 em{
  color:#1769e0 !important;
  font-style:normal !important;
}

/* DESCRIPTION */
.hero#home .hero-copy p{
  max-width:610px !important;

  margin:0 0 30px !important;

  color:#5b6b8c !important;
  font-family:'Manrope',sans-serif !important;
  font-size:17px !important;
  line-height:1.7 !important;

  text-align:left !important;
}

/* STATS */
.hero#home .hero-stats{
  display:flex !important;
  align-items:stretch !important;

  margin:0 0 30px !important;
  padding:0 !important;

  gap:0 !important;
}

.hero#home .hero-stat{
  min-width:145px !important;
  margin:0 !important;
  padding:0 28px 0 0 !important;

  border-right:1px solid #dce4ef !important;

  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
}

.hero#home .hero-stat + .hero-stat{
  padding-left:28px !important;
}

.hero#home .hero-stat:last-child{
  border-right:0 !important;
}

.hero#home .hero-stat b{
  display:block !important;

  margin:0 0 7px !important;

  color:#071a3d !important;
  font-family:'Fraunces',serif !important;
  font-size:34px !important;
  line-height:1 !important;
}

.hero#home .hero-stat span{
  color:#7182a3 !important;
  font-family:'Manrope',sans-serif !important;
  font-size:13px !important;
  line-height:1.4 !important;
}

/* BUTTON AREA */
.hero#home .hero-ctas{
  display:flex !important;
  align-items:center !important;
  gap:14px !important;

  margin:0 !important;
}

/* BUTTONS */
.hero#home .hero-ctas .btn{
  min-height:52px !important;
  padding:15px 25px !important;

  border-radius:999px !important;

  font-family:'Manrope',sans-serif !important;
  font-size:14px !important;
  font-weight:700 !important;

  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;

  white-space:nowrap !important;
}

/* BLUE BUTTON */
.hero#home .hero-ctas .btn-primary{
  background:#1769e0 !important;
  color:#ffffff !important;
  border:1px solid #1769e0 !important;

  box-shadow:0 12px 28px rgba(23,105,224,.22) !important;
}

/* CALL BUTTON */
.hero#home .hero-ctas .btn-ghost{
  background:#ffffff !important;
  color:#071a3d !important;

  border:1px solid #b8c5d8 !important;
  box-shadow:none !important;
}

/* RIGHT SIDE */
.hero#home .hero-visual{
  position:relative !important;

  grid-column:2 !important;
  grid-row:1 !important;

  width:100% !important;
  height:620px !important;

  margin:0 !important;
  padding:0 !important;

  display:flex !important;
  align-items:flex-end !important;
  justify-content:center !important;

  background:transparent !important;
}

/* DOCTOR IMAGE */
.hero#home .hero-visual img{
  position:relative !important;
  z-index:2 !important;

  display:block !important;

  width:auto !important;
  max-width:100% !important;

  height:620px !important;
  max-height:620px !important;
  min-height:0 !important;

  object-fit:contain !important;
  object-position:center bottom !important;

  margin:0 auto !important;

  filter:drop-shadow(0 20px 30px rgba(7,26,61,.12)) !important;
}

/* CREDENTIAL BADGES */
.hero#home .credential-badge{
  position:absolute !important;
  z-index:5 !important;

  display:flex !important;
  align-items:center !important;
  gap:10px !important;

  padding:15px 20px !important;

  background:#ffffff !important;
  border:1px solid #e4eaf3 !important;
  border-radius:16px !important;

  box-shadow:0 15px 35px rgba(7,26,61,.10) !important;

  white-space:nowrap !important;
}

.hero#home .credential-badge b{
  color:#071a3d !important;
  font-family:'Manrope',sans-serif !important;
  font-size:14px !important;
  font-weight:800 !important;
}

.hero#home .credential-badge span{
  color:#7182a3 !important;
  font-family:'Manrope',sans-serif !important;
  font-size:12px !important;
}

/* TOP BADGE */
.hero#home .credential-badge.badge-1{
  top:22% !important;
  left:2% !important;
}

/* BOTTOM BADGE */
.hero#home .credential-badge.badge-2{
  right:0 !important;
  bottom:12% !important;
}

/* =========================================================
   TABLET
   ========================================================= */

@media(max-width:980px){

  .hero#home{
    min-height:auto !important;
    padding:90px 0 50px !important;
  }

  .hero#home .hero-inner{
    width:min(100% - 36px, 760px) !important;
    grid-template-columns:1fr !important;
    gap:45px !important;
  }

  .hero#home .hero-copy{
    grid-column:1 !important;
    grid-row:1 !important;
    max-width:680px !important;
    margin:0 auto !important;
    text-align:center !important;
  }

  .hero#home .hero-copy h1,
  .hero#home .hero-copy p{
    text-align:center !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .hero#home .hero-stats{
    justify-content:center !important;
  }

  .hero#home .hero-ctas{
    justify-content:center !important;
  }

  .hero#home .hero-visual{
    grid-column:1 !important;
    grid-row:2 !important;
    height:560px !important;
  }

  .hero#home .hero-visual img{
    height:560px !important;
    max-height:560px !important;
  }
}

/* =========================================================
   MOBILE
   ========================================================= */

@media(max-width:768px){

  .hero#home{
    padding:90px 0 35px !important;
  }

  .hero#home .hero-inner{
    width:calc(100% - 32px) !important;
    gap:35px !important;
  }

  .hero#home .hero-copy .eyebrow{
    font-size:10px !important;
    letter-spacing:.13em !important;
  }

  .hero#home .hero-copy h1{
    font-size:clamp(40px,11vw,56px) !important;
    line-height:.98 !important;
  }

  .hero#home .hero-copy p{
    font-size:15px !important;
    line-height:1.65 !important;
  }

  .hero#home .hero-stats{
    flex-wrap:wrap !important;
    justify-content:center !important;
  }

  .hero#home .hero-stat{
    min-width:auto !important;
    padding-right:18px !important;
    padding-left:18px !important;
  }

  .hero#home .hero-stat + .hero-stat{
    padding-left:18px !important;
  }

  .hero#home .hero-stat b{
    font-size:28px !important;
  }

  .hero#home .hero-stat span{
    font-size:11px !important;
  }

  .hero#home .hero-ctas{
    flex-direction:column !important;
    width:100% !important;
  }

  .hero#home .hero-ctas .btn{
    width:100% !important;
  }

  .hero#home .hero-visual{
    height:430px !important;
  }

  .hero#home .hero-visual img{
    height:430px !important;
    max-height:430px !important;
    max-width:95vw !important;
  }

  .hero#home .credential-badge{
    display:none !important;
  }
}
/* FINAL HERO BACKGROUND RESET */
html body .hero#home{
    background:#ffffff !important;
    background-image:none !important;
    background-color:#ffffff !important;
}
.training-photo-box {
  overflow: hidden;
  padding: 0 !important;
}

.training-photo-box img {
  width: 100%;
  height: 100%;
  min-height: 260px;
  object-fit: cover;
  display: block;
  border-radius: inherit;
}
/* WhatsApp Floating Button */
.whatsapp-float {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 9999;

  display: flex;
  align-items: center;
  gap: 9px;

  padding: 13px 18px;
  border-radius: 50px;

  background: #25D366;
  color: #fff;
  text-decoration: none;

  font-size: 15px;
  font-weight: 700;

  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);

  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.whatsapp-float:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.25);
  color: #fff;
}

.whatsapp-icon {
  width: 25px;
  height: 25px;
  border: 2px solid #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
}

@media (max-width: 600px) {
  .whatsapp-float {
    right: 16px;
    bottom: 16px;
    padding: 13px;
  }

  .whatsapp-text {
    display: none;
  }

  .whatsapp-icon {
    width: 28px;
    height: 28px;
  }
}
@media (max-width: 768px) {

  .hero-glow {
    filter: none !important;
  }

  .credential-badge {
    backdrop-filter: none !important;
  }

  .navbar {
    backdrop-filter: none;
  }
}