:root{--red:#B3000C;--navy:#062B55;--gold:#C8A96A;--gold2:#FFD77A;--text:#18324A;--muted:#64748B;--light:#F4F8FB}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--text);background:#fff;line-height:1.55}a{text-decoration:none}.container{width:min(1180px,92%);margin:auto}.topbar{background:var(--red);color:#fff;font-size:14px;padding:8px 0}.topbar .container{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.nav{background:#fff;box-shadow:0 5px 22px rgba(0,0,0,.08);position:sticky;top:0;z-index:50}.nav .container{display:flex;align-items:center;justify-content:space-between;padding:10px 0}.logo{height:58px}.nav-actions{display:flex;gap:10px}.btn{display:inline-block;border:none;border-radius:999px;padding:15px 23px;font-weight:900;cursor:pointer;text-align:center}.btn-red{background:linear-gradient(135deg,#D71920,#A60000);color:#fff;box-shadow:0 10px 22px rgba(179,0,12,.25)}.btn-gold{background:linear-gradient(135deg,#FFD77A,#C8A96A);color:#102A43}.btn-zalo{background:#0068FF;color:#fff}.hero{background:linear-gradient(180deg,#f6fbff,#fff);padding:36px 0 54px}.hero-card{border-radius:36px;overflow:hidden;background:url('assets/hero-bg.svg') center/cover no-repeat;min-height:720px;box-shadow:0 30px 80px rgba(6,43,85,.18);position:relative}.hero-card:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.95) 49%,rgba(255,255,255,.04) 80%)}.hero-inner{position:relative;z-index:2;display:grid;grid-template-columns:1fr .72fr;gap:28px;padding:46px}.doctors-hero{position:absolute;right:70px;bottom:0;width:47%;height:90%;z-index:1}.doc1{position:absolute;left:0;bottom:0;max-height:74%;max-width:50%;filter:drop-shadow(18px 20px 24px rgba(0,0,0,.25))}.doc2{position:absolute;right:0;bottom:0;max-height:92%;max-width:58%;filter:drop-shadow(18px 20px 24px rgba(0,0,0,.25))}.nameplate{position:absolute;bottom:42px;right:50px;background:#062B55;color:#fff;border:2px solid var(--gold);border-radius:18px;padding:14px 20px;font-weight:800}.nameplate span{color:var(--gold2)}.badge{display:inline-block;background:#F5D486;color:#082c55;border-radius:12px;padding:10px 16px;font-weight:950;margin-bottom:16px}h1{font-size:54px;line-height:1.05;color:var(--navy);margin:0 0 16px;font-weight:950;letter-spacing:-1.1px}h2{font-size:34px;line-height:1.18;margin:0 0 20px;color:var(--navy)}h3{font-size:22px;color:var(--navy);margin:0 0 10px}.lead{font-size:20px;color:#334155;margin:0 0 20px;max-width:720px}.redline{color:var(--red);font-weight:950}.hero-form{background:#fff;border-radius:26px;padding:24px;box-shadow:0 20px 60px rgba(0,0,0,.18);border:1px solid #e6edf5;align-self:start}.form-title{font-size:22px;font-weight:950;color:var(--navy);margin-bottom:14px}input,select{width:100%;border:1px solid #CBD8E3;border-radius:14px;padding:14px;font-size:16px;margin-top:6px;background:#fff}label{font-weight:800;font-size:14px}.form-note{font-size:13px;color:var(--muted);margin:10px 0 0}.hotline{font-size:25px;font-weight:950;color:var(--red);background:#fff;border-radius:15px;padding:12px 18px;box-shadow:0 10px 24px rgba(0,0,0,.08);display:inline-block}.trust-row{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:20px 0}.trust{background:#fff;border:1px solid #dfeaf4;border-radius:14px;padding:12px;text-align:center;font-weight:800;font-size:13px}.list{list-style:none;padding:0;margin:14px 0 0}.list li{position:relative;padding:7px 0 7px 30px}.list li:before{content:"✓";position:absolute;left:0;color:var(--gold);font-weight:900}.section{padding:60px 0}.section.alt{background:var(--light)}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.card{background:#fff;border:1px solid #E4ECF3;border-radius:22px;padding:22px;box-shadow:0 10px 30px rgba(13,59,102,.06)}.icon{font-size:34px;margin-bottom:8px}.photo{width:100%;border-radius:24px;box-shadow:0 20px 45px rgba(0,0,0,.14)}.doctor-card{display:grid;grid-template-columns:170px 1fr;gap:18px;align-items:center}.doc-img{width:170px;height:170px;object-fit:contain;border-radius:24px;background:linear-gradient(180deg,#eef8ff,#fff);border:4px solid var(--gold)}.offer{background:linear-gradient(135deg,var(--navy),#0D3B66);color:#fff}.offer h2{color:#fff}.offer .card{color:var(--text)}.event{background:linear-gradient(100deg,rgba(6,43,85,.96),rgba(13,59,102,.92));color:#fff}.event h2,.event h3{color:#fff}.countdown{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.countbox{background:#fff;color:var(--navy);border-radius:14px;padding:12px 16px;text-align:center;min-width:80px}.countbox b{font-size:26px;color:var(--red)}.video-box{border-radius:24px;background:#061F3A;color:#fff;min-height:280px;display:flex;align-items:center;justify-content:center;text-align:center;padding:28px;border:2px solid var(--gold)}.faq details{background:#fff;border:1px solid #E4ECF3;border-radius:16px;margin-bottom:12px;padding:16px}.faq summary{font-weight:900;color:var(--navy);cursor:pointer}.float-actions{position:fixed;right:18px;bottom:88px;display:flex;flex-direction:column;gap:10px;z-index:98}.float-actions a{border-radius:999px;padding:13px 18px;font-weight:950;box-shadow:0 10px 30px rgba(0,0,0,.2)}.float-call{background:#B3000C;color:#fff}.float-zalo{background:#0068FF;color:#fff}.sticky{position:fixed;left:0;right:0;bottom:0;background:#fff;box-shadow:0 -8px 28px rgba(0,0,0,.16);z-index:99;padding:9px 0;display:none}.sticky .container{display:flex;gap:10px;align-items:center;justify-content:space-between}.footer{background:#0a2744;color:#fff;padding:34px 0}.small{font-size:13px;color:var(--muted)}@media(max-width:900px){.hero{padding:0}.container{width:100%}.topbar .container,.nav .container{width:92%}.hero-card{border-radius:0;min-height:auto;background-position:64% center}.hero-card:before{background:linear-gradient(180deg,rgba(255,255,255,.99) 0%,rgba(255,255,255,.97) 58%,rgba(255,255,255,.72) 100%)}.hero-inner{grid-template-columns:1fr;padding:28px 18px 410px}.doctors-hero{right:0;bottom:0;width:100%;height:450px}.doc1{left:42%;max-height:72%;opacity:.95}.doc2{right:4%;max-height:96%}.nameplate{display:none}h1{font-size:34px}.lead{font-size:17px}.trust-row,.grid-4,.grid-3,.grid-2,.doctor-card{grid-template-columns:1fr}.section{padding:42px 18px}.doc-img{width:140px;height:140px}.sticky{display:block}.float-actions{display:none}body{padding-bottom:76px}.logo{height:48px}.nav .btn{padding:12px 14px;font-size:13px}.nav-actions .btn-zalo{display:none}.hotline{font-size:19px}}


/* YOUTUBE VIDEO + PREMIUM IMAGE GALLERY */
.youtube-card{
  position:relative;
  overflow:hidden;
  border-radius:24px;
  background:#000;
  min-height:360px;
  box-shadow:0 20px 60px rgba(6,43,85,.25);
  border:2px solid rgba(200,169,106,.55);
}
.youtube-card iframe{
  width:100%;
  height:100%;
  min-height:360px;
  display:block;
}
.premium-gallery{
  display:grid;
  grid-template-columns:1.35fr 1fr 1fr;
  gap:16px;
}
.premium-gallery article{
  position:relative;
  overflow:hidden;
  border-radius:22px;
  background:#fff;
  min-height:220px;
  box-shadow:0 14px 38px rgba(6,43,85,.12);
  border:1px solid #E4ECF3;
}
.premium-gallery img{
  width:100%;
  height:100%;
  min-height:220px;
  object-fit:cover;
  display:block;
  transition:.35s ease;
}
.premium-gallery article:hover img{transform:scale(1.04)}
.premium-gallery b{
  position:absolute;
  left:16px;
  right:16px;
  bottom:14px;
  color:#fff;
  font-size:18px;
  z-index:2;
  text-shadow:0 2px 12px rgba(0,0,0,.45);
}
.gallery-feature{
  grid-row:span 2;
  min-height:456px!important;
}
.gallery-feature img{min-height:456px!important}
.gallery-caption{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  padding:80px 22px 22px;
  color:#fff;
  background:linear-gradient(180deg,rgba(6,43,85,0),rgba(6,43,85,.86));
}
.gallery-caption b{
  position:static;
  display:block;
  font-size:25px;
  margin-bottom:6px;
}
.gallery-caption span{font-size:15px;opacity:.95}
@media(max-width:900px){
  .youtube-card,.youtube-card iframe{min-height:240px}
  .premium-gallery{grid-template-columns:1fr}
  .gallery-feature,.gallery-feature img{min-height:260px!important}
  .premium-gallery article,.premium-gallery img{min-height:240px}
}



/* V11 FONT FIX - PREMIUM VIETNAMESE TYPOGRAPHY */
html, body, input, select, button, textarea, .btn, .badge, .trust, .form-title, h1, h2, h3, p, li, a, span, b {
  font-family: "Be Vietnam Pro", Arial, Helvetica, sans-serif !important;
}

body {
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

.hero-title {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin: 0 0 18px;
  font-size: clamp(42px, 5.15vw, 78px);
  line-height: 1.04;
  letter-spacing: -1.8px;
  font-weight: 900;
  color: #082c63;
  text-transform: uppercase;
}

.hero-title span {
  display: block;
  font-weight: 900;
  font-family: "Be Vietnam Pro", Arial, Helvetica, sans-serif !important;
}

.hero-title-red {
  color: #c40012 !important;
}

h1:not(.hero-title) {
  font-family: "Be Vietnam Pro", Arial, Helvetica, sans-serif !important;
  font-weight: 900;
  letter-spacing: -1.2px;
}

h2 {
  font-weight: 850;
  letter-spacing: -0.6px;
}

h3 {
  font-weight: 800;
}

.badge {
  font-weight: 800;
  letter-spacing: .2px;
}

.lead {
  font-weight: 450;
}

.hero-form {
  border-radius: 30px;
}

.form-title {
  font-size: clamp(24px, 2.2vw, 34px);
  line-height: 1.18;
  letter-spacing: .5px;
  font-weight: 900;
  text-transform: uppercase;
  color: #082c63;
}

.hero-form label {
  font-size: 15px;
  color: #112b46;
}

.hero-form input,
.hero-form select {
  font-family: "Be Vietnam Pro", Arial, Helvetica, sans-serif !important;
  font-size: 16px;
  font-weight: 500;
}

.trust {
  font-weight: 750;
  line-height: 1.35;
}

.btn {
  letter-spacing: .1px;
}

.nav .logo {
  max-width: 210px;
}

@media(max-width:900px){
  .hero-title {
    font-size: clamp(34px, 10vw, 44px);
    line-height: 1.08;
    letter-spacing: -1px;
    gap: 0;
  }

  .form-title {
    font-size: 24px;
  }

  .hero-inner {
    padding-top: 26px;
  }
}

@media(max-width:420px){
  .hero-title {
    font-size: 35px;
  }

  .lead {
    font-size: 16px;
  }

  .badge {
    font-size: 13px;
    line-height: 1.35;
  }
}



/* V12 RESPONSIVE POLISH - PC + MOBILE */
:root{
  --page-max: 1120px;
}

/* tổng thể bớt rộng, cân đối trên PC */
.container{
  width:min(var(--page-max), 92%);
}

/* topbar gọn hơn */
.topbar{
  font-size:13px;
  padding:6px 0;
}
.nav .container{
  min-height:66px;
}
.logo{
  height:50px!important;
  max-width:220px;
  object-fit:contain;
}

/* HERO cân giữa, không bị quá cao trên PC */
.hero{
  padding:34px 0 46px;
}
.hero-card{
  min-height:620px;
  border-radius:30px;
  max-width:1120px;
  margin:0 auto;
}
.hero-inner{
  grid-template-columns: 1.05fr .95fr;
  align-items:center;
  padding:42px 44px;
  gap:34px;
}
.hero-card:before{
  background:linear-gradient(90deg,rgba(255,255,255,.99) 0%,rgba(255,255,255,.96) 49%,rgba(255,255,255,.10) 76%);
}

/* chữ hero đẹp và gọn hơn */
.hero-title{
  font-size:clamp(44px,4.55vw,64px)!important;
  line-height:1.02!important;
  letter-spacing:-1.6px!important;
  gap:1px!important;
  max-width:650px;
}
.hero-title span{
  white-space:normal;
}
.lead{
  font-size:18px;
  line-height:1.65;
  max-width:620px;
}
.badge{
  font-size:14px;
  border-radius:12px;
  padding:10px 15px;
}

/* form hero bên phải cân lại */
.hero-form{
  max-width:420px;
  width:100%;
  justify-self:end;
  padding:26px 28px;
  border-radius:28px;
}
.form-title{
  font-size:clamp(24px,2vw,32px)!important;
  line-height:1.18!important;
  letter-spacing:.2px!important;
  margin-bottom:20px!important;
}
.hero-form input,
.hero-form select{
  min-height:48px;
  border-radius:14px;
}
.hero-form .btn{
  min-height:48px;
  border-radius:999px;
}

/* trust cards không vỡ chữ */
.trust-row{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.trust{
  min-height:58px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:12px 10px;
}

/* CTA hàng ngang gọn */
.hero-cta-row{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  margin-top:18px;
}
.hotline{
  font-size:20px!important;
  padding:13px 18px!important;
}

/* slot còn lại nổi bật nhưng không to quá */
.limited-slot{
  margin:18px 0!important;
  padding:15px 18px!important;
  font-size:16px!important;
  line-height:1.45!important;
  max-width:620px;
}

/* bác sĩ ở hero không che form */
.doctors-hero{
  right:28px!important;
  width:44%!important;
  opacity:.98;
}
.nameplate{
  right:34px!important;
  bottom:34px!important;
  transform:scale(.92);
  transform-origin:right bottom;
}

/* section đều khoảng cách */
.section{
  padding:62px 0;
}
.section h2{
  font-size:clamp(28px,3vw,40px);
  line-height:1.18;
}
.grid-4,.grid-3,.grid-2{
  gap:22px;
}
.card{
  border-radius:20px;
  padding:24px;
}

/* video cân lại */
.youtube-card{
  min-height:335px!important;
}
.youtube-card iframe{
  min-height:335px!important;
}

/* gallery ảnh to đẹp */
.premium-gallery{
  max-width:1120px;
  margin:0 auto;
}

/* fix section "quý khách sẽ nhận được gì" ảnh minh họa đang trống */
#lab-gallery + .section .photo,
.section .photo[src$="lab-premium.svg"]{
  background:#fff;
}

/* footer + floating đỡ che */
.float-actions{
  right:14px;
  bottom:86px;
}
.float-actions a{
  padding:12px 16px;
}

/* TABLET */
@media(max-width:1100px){
  :root{--page-max:960px}
  .hero-inner{
    grid-template-columns:1fr .9fr;
    padding:36px 32px;
  }
  .hero-title{
    font-size:clamp(40px,5vw,56px)!important;
  }
  .hero-form{
    max-width:400px;
  }
  .doctors-hero{
    opacity:.76;
  }
}

/* MOBILE */
@media(max-width:900px){
  .container{
    width:92%!important;
  }
  .topbar{
    display:none;
  }
  .nav{
    position:sticky;
    top:0;
  }
  .nav .container{
    width:92%!important;
    min-height:64px;
  }
  .logo{
    height:44px!important;
    max-width:170px;
  }
  .nav-actions{
    gap:8px;
  }
  .nav .btn{
    padding:11px 13px!important;
    font-size:13px!important;
  }

  .hero{
    padding:0 0 34px;
    background:#eef6fb;
  }
  .hero-card{
    border-radius:0 0 28px 28px!important;
    min-height:auto!important;
    box-shadow:none;
    max-width:100%;
  }
  .hero-card:before{
    background:linear-gradient(180deg,rgba(255,255,255,.99) 0%,rgba(255,255,255,.98) 58%,rgba(255,255,255,.84) 100%)!important;
  }
  .hero-inner{
    display:flex!important;
    flex-direction:column!important;
    padding:28px 18px 300px!important;
    gap:24px!important;
    align-items:stretch!important;
  }
  .hero-title{
    font-size:clamp(34px,9.4vw,44px)!important;
    line-height:1.06!important;
    letter-spacing:-1px!important;
    max-width:100%;
  }
  .lead{
    font-size:16px!important;
    line-height:1.62!important;
  }
  .badge{
    font-size:12.5px!important;
    line-height:1.35;
    padding:9px 12px!important;
  }
  .trust-row{
    grid-template-columns:repeat(2,1fr)!important;
    gap:10px!important;
  }
  .trust{
    min-height:54px;
    font-size:13px!important;
  }
  .list li{
    font-size:15px;
  }
  .limited-slot{
    font-size:14px!important;
    padding:13px 14px!important;
    margin:16px 0!important;
  }
  .limited-slot strong{
    font-size:18px!important;
  }
  .hero-cta-row{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
  }
  .hero-cta-row .btn,
  .hero-cta-row .hotline{
    width:100%;
    text-align:center;
  }

  .hero-form{
    max-width:100%!important;
    justify-self:auto!important;
    padding:22px 18px!important;
    border-radius:22px!important;
    box-shadow:0 16px 42px rgba(6,43,85,.16)!important;
  }
  .form-title{
    font-size:23px!important;
    line-height:1.18!important;
  }

  .doctors-hero{
    width:100%!important;
    height:310px!important;
    right:0!important;
    bottom:0!important;
    opacity:.95!important;
  }
  .doc1{
    left:43%!important;
    max-height:66%!important;
    opacity:.95!important;
  }
  .doc2{
    right:4%!important;
    max-height:88%!important;
  }

  .section{
    padding:46px 0!important;
  }
  .section.alt{
    padding-left:0!important;
    padding-right:0!important;
  }
  .grid-4,.grid-3,.grid-2{
    grid-template-columns:1fr!important;
    gap:16px!important;
  }
  .card{
    padding:20px!important;
  }
  .youtube-card,
  .youtube-card iframe{
    min-height:220px!important;
  }
  .premium-gallery{
    grid-template-columns:1fr!important;
  }
  .gallery-feature,
  .gallery-feature img{
    min-height:260px!important;
  }
  .premium-gallery article,
  .premium-gallery img{
    min-height:220px!important;
  }
  .sticky{
    display:block!important;
  }
  .sticky .container{
    width:92%!important;
  }
}

/* SMALL MOBILE */
@media(max-width:420px){
  .hero-inner{
    padding-bottom:280px!important;
  }
  .hero-title{
    font-size:34px!important;
  }
  .hero-form{
    padding:20px 16px!important;
  }
  .doc1{
    left:40%!important;
  }
  .doc2{
    right:0!important;
  }
}
