/* v16 mobile polish — landing matches reference exactly; desktop untouched */
@media (max-width: 780px){
  *,*::before,*::after{box-sizing:border-box}
  html,body{max-width:100vw;overflow-x:hidden;overflow-wrap:break-word;word-wrap:break-word}

  /* Compact mobile navbar */
  .nav-inner{padding:10px 14px !important;gap:10px !important}
  .brand{gap:10px !important;min-width:0 !important}
  .brand-mark{width:42px !important;height:42px !important;border-radius:11px !important;padding:5px !important;flex:0 0 auto !important;background:transparent !important;box-shadow:none !important}
  .brand-mark img{width:100% !important;height:100% !important;object-fit:contain !important}
  nav.site .brand-text{font-family:var(--serif) !important;font-size:18px !important;line-height:1.02 !important;color:#0b2545 !important;font-weight:500 !important;white-space:normal !important}
  nav.site .brand-text small{display:block !important;font-size:9px !important;letter-spacing:.22em !important;margin-top:4px !important;color:#b08a3e !important;font-family:var(--sans,inherit) !important}
  /* Footer brand text — ensure high contrast on dark navy footer */
  footer .brand-text{color:#ffffff !important;font-weight:600 !important}
  footer .brand-text small{color:#e7c98a !important}
  /* About image — fill on mobile so reception photo isn't tiny */
  .about-media{aspect-ratio:auto !important;height:auto !important;max-width:none !important;width:100% !important}
  .about-media .img-main{position:relative !important;inset:auto !important;width:100% !important;aspect-ratio:4/3 !important;min-height:320px !important;max-height:none !important;border-radius:18px !important}
  .about-media .img-acc{display:none !important}
  .about-media .badge{position:relative !important;left:auto !important;top:auto !important;margin-top:14px !important;display:inline-flex !important}
  /* Mobile menu — brand navy instead of dark green */
  .m-menu{background:rgba(11,37,69,.97) !important;backdrop-filter:blur(14px) !important}
  .m-menu a{border-bottom-color:rgba(231,201,138,.14) !important}
  .hamburger{width:44px !important;height:44px !important;font-size:18px !important;display:inline-flex !important;align-items:center;justify-content:center;flex:0 0 auto !important;border-radius:12px !important;background:#fff !important;color:#0b2545 !important;border:1px solid rgba(11,37,69,.08) !important;box-shadow:0 2px 6px rgba(11,37,69,.05) !important}
  .nav-links{display:none !important}
  .nav-inner .btn-primary{display:none !important}

  .splash-inner{padding:24px !important}
  .splash-logo{max-width:min(92vw,560px) !important;width:min(92vw,560px) !important;height:auto !important}

  /* Mobile hero */
  .hero{position:relative !important;min-height:auto !important;display:block !important;background:#06102b !important;padding:0 !important;overflow:hidden !important}
  .hero-slides{position:absolute !important;inset:0 !important;z-index:0 !important;width:100% !important;height:100% !important;border-radius:0 !important;overflow:hidden !important}
  .hero-slide{position:absolute !important;inset:0 !important;background-size:cover !important;background-position:center 38% !important;transform:none !important}
  .hero-slide > img, .hero-slides img{width:100% !important;height:100% !important;object-fit:cover !important;object-position:center 38% !important}
  .hero-slide:nth-child(2), .hero-slide:nth-child(2) img{background-position:center 44% !important;object-position:center 44% !important}
  .hero-slide:nth-child(3), .hero-slide:nth-child(3) img{background-position:center 42% !important;object-position:center 42% !important}

  .hero-veil{position:absolute !important;inset:0 !important;height:100% !important;z-index:1 !important;background:linear-gradient(180deg, rgba(6,16,43,.30) 0%, rgba(6,16,43,.34) 32%, rgba(6,16,43,.72) 70%, rgba(6,16,43,.96) 100%) !important}
  .hero-top{display:none !important}
  .hero-dots{display:none !important}
  .hero-rule, .hero-scroll{display:none !important}

  .hero-inner{position:relative !important;z-index:3 !important;display:flex !important;flex-direction:column !important;justify-content:flex-start !important;grid-template-columns:1fr !important;gap:0 !important;min-height:auto !important;padding:90px 20px 26px !important;background:transparent !important}
  .hero-inner .left{display:flex !important;flex-direction:column !important;align-items:flex-start !important;width:100% !important}

  /* 24x7 chip with green dot */
  .hero-chip{display:inline-flex !important;align-items:center !important;gap:8px !important;font-size:11px !important;letter-spacing:.16em !important;text-transform:uppercase !important;color:#fff !important;background:rgba(8,18,46,.55) !important;border:1px solid rgba(255,255,255,.18) !important;padding:8px 16px 8px 12px !important;border-radius:999px !important;margin-bottom:22px !important;backdrop-filter:blur(8px) !important;-webkit-backdrop-filter:blur(8px) !important;align-self:flex-start !important;font-family:var(--sans,inherit) !important;font-weight:500 !important}
  .hero-chip::before{content:"" !important;width:8px !important;height:8px !important;border-radius:50% !important;background:#22c55e !important;box-shadow:0 0 8px rgba(34,197,94,.7) !important;display:inline-block !important}

  /* Pulm · Critical Care eyebrow line with dash */
  .hero .kicker, .eyebrow{display:inline-flex !important;align-items:center !important;gap:10px !important;font-size:10.5px !important;letter-spacing:.22em !important;text-transform:uppercase !important;color:#e7c98a !important;margin:0 0 18px !important;background:transparent !important;border:none !important;padding:0 !important;font-weight:500 !important}
  .hero .kicker::before, .eyebrow::before{content:"" !important;width:32px !important;height:1px !important;background:#e7c98a !important;display:inline-block !important}

  .hero h1, section h1{font-family:var(--serif) !important;font-size:clamp(34px,9vw,42px) !important;line-height:1.05 !important;max-width:none !important;color:#fff !important;letter-spacing:-.01em !important;font-weight:400 !important;margin:0 0 18px !important}
  .hero h1 em, .hero h1 i{font-style:italic !important;color:#e7a23e !important}
  .hero .sub, .lead{font-size:15px !important;line-height:1.5 !important;color:rgba(255,255,255,.88) !important;margin:0 0 22px !important;max-width:100% !important}
  p{font-size:14px !important;line-height:1.5}

  /* STACKED CTAs full width */
  .hero-cta{display:flex !important;flex-direction:column !important;gap:12px !important;align-items:stretch !important;width:100% !important;margin-top:6px !important}
  .hero-cta .btn{width:100% !important;justify-content:center !important;padding:16px 18px !important;font-size:15px !important;min-height:54px !important;border-radius:14px !important;letter-spacing:0 !important;line-height:1.15 !important;white-space:normal !important;font-weight:600 !important;gap:10px !important}
  .hero-cta .btn i{font-size:16px !important}
  .hero-cta .btn-gold{background:linear-gradient(180deg,#d99a3b,#b27a2a) !important;color:#fff !important;border:none !important;box-shadow:0 8px 20px rgba(178,122,42,.35) !important}
  .hero-cta .btn-light{background:#fff !important;color:#0b2545 !important;border:1px solid rgba(255,255,255,.6) !important}
  .hero-cta .meta-rating{display:none !important}

  /* 3-column hero card with circular icons */
  .hero-card{display:grid !important;grid-template-columns:1fr 1fr 1fr !important;gap:0 !important;padding:14px 4px !important;margin-top:18px !important;border-radius:14px !important;background:rgba(8,18,46,.55) !important;-webkit-backdrop-filter:blur(14px) saturate(140%) !important;backdrop-filter:blur(14px) saturate(140%) !important;border:1px solid rgba(255,255,255,.14) !important;align-items:stretch !important;width:100% !important;max-width:100% !important;box-sizing:border-box !important}
  .hero-card > *{min-width:0 !important}
  .hero-card .rating, .hero-card .m{display:flex !important;flex-direction:column !important;align-items:center !important;text-align:center !important;gap:6px !important;padding:4px 6px !important;border:none !important;border-right:1px solid rgba(255,255,255,.12) !important;justify-content:flex-start !important;min-width:0 !important}
  .hero-card > *:last-child{border-right:none !important}

  /* circular icon badges */
  .hero-card .rating::before{content:"\f005" !important;font-family:"Font Awesome 6 Free" !important;font-weight:900 !important;color:#e7c98a !important;background:rgba(231,201,138,.14) !important;width:38px !important;height:38px !important;border-radius:50% !important;display:flex !important;align-items:center !important;justify-content:center !important;font-size:15px !important;border:1px solid rgba(231,201,138,.35) !important;flex:0 0 auto !important}
  .hero-card .rating .stars{display:none !important}
  .hero-card .rating > div{display:flex !important;flex-direction:column !important;align-items:center !important;gap:2px !important;min-width:0 !important}
  .hero-card .rating b{font-family:var(--serif) !important;font-size:17px !important;color:#fff !important;font-weight:500 !important;display:block !important;order:-1 !important;line-height:1.1 !important}
  .hero-card .rating small{font-size:10px !important;color:#fff !important;font-weight:600 !important;letter-spacing:.02em !important;font-family:var(--sans,inherit) !important;line-height:1.2 !important}
  .hero-card .rating::after{content:"★★★★★" !important;color:#e7c98a !important;letter-spacing:1.5px !important;font-size:11px !important}

  .hero-card .m{position:relative !important}
  .hero-card .m i{font-size:15px !important;color:#e7c98a !important;width:38px !important;height:38px !important;border-radius:50% !important;background:rgba(231,201,138,.14) !important;border:1px solid rgba(231,201,138,.35) !important;display:flex !important;align-items:center !important;justify-content:center !important;margin:0 !important;flex:0 0 auto !important}
  .hero-card .m > div{display:flex !important;flex-direction:column !important;gap:2px !important;align-items:center !important;min-width:0 !important;width:100% !important}
  .hero-card .m b{font-family:var(--serif) !important;font-size:12.5px !important;letter-spacing:0 !important;color:#fff !important;display:block !important;font-weight:500 !important;text-transform:none !important;line-height:1.15 !important;word-break:break-word !important}
  .hero-card .m span{font-size:10px !important;color:rgba(255,255,255,.78) !important;line-height:1.3 !important}

  .hero-card .m:nth-of-type(2) b{font-size:13px !important}

  /* Cinematic text wash behind heading (mobile only) */
  .hero-inner{isolation:isolate !important}
  .hero-inner::before{content:"" !important;position:absolute !important;left:0 !important;right:0 !important;top:0 !important;height:78% !important;z-index:-1 !important;pointer-events:none !important;background:
    radial-gradient(120% 70% at 18% 38%, rgba(4,10,28,.78) 0%, rgba(6,14,36,.55) 38%, rgba(6,14,36,.18) 62%, rgba(6,14,36,0) 78%),
    linear-gradient(180deg, rgba(4,10,28,.55) 0%, rgba(6,14,36,.30) 45%, rgba(6,14,36,0) 100%) !important;
    -webkit-backdrop-filter:blur(2px) saturate(115%) !important;backdrop-filter:blur(2px) saturate(115%) !important}
  .hero h1, .hero .sub, .lead{text-shadow:0 2px 18px rgba(0,0,0,.55), 0 1px 2px rgba(0,0,0,.35) !important}
  .hero h1 em, .hero h1 i{text-shadow:0 2px 14px rgba(0,0,0,.55), 0 0 22px rgba(231,162,62,.18) !important}

  /* Beige stat ribbon — smooth blend into hero */
  .hero-ribbon{margin-top:0 !important;background:#f3ede1 !important;position:relative;z-index:2;border-top:none !important;box-shadow:0 -28px 60px -20px rgba(6,14,36,.55), 0 18px 40px -22px rgba(11,37,69,.25) !important;border-radius:18px 18px 0 0 !important}
  .hero-ribbon::before{content:"" !important;position:absolute !important;left:0;right:0;top:-60px;height:60px;pointer-events:none;background:linear-gradient(180deg, rgba(6,14,36,0) 0%, rgba(6,14,36,.55) 45%, rgba(40,32,22,.65) 75%, #f3ede1 100%) !important}
  .hero-ribbon .row{display:grid !important;grid-template-columns:repeat(4,1fr) !important;gap:0 !important;padding:18px 6px !important;max-width:100% !important}
  .hero-ribbon .cell{padding:8px 6px !important;border:none !important;display:flex !important;flex-direction:column !important;align-items:center !important;gap:6px !important;text-align:center !important}
  .hero-ribbon .cell::before{font-family:"Font Awesome 6 Free" !important;font-weight:900 !important;color:#0b2545 !important;font-size:22px !important;display:block !important;margin-bottom:2px !important;line-height:1}
  .hero-ribbon .cell:nth-child(1)::before{content:"\f3ed" !important}
  .hero-ribbon .cell:nth-child(2)::before{content:"\f500" !important}
  .hero-ribbon .cell:nth-child(3)::before{content:"\f005" !important;font-weight:400 !important}
  .hero-ribbon .cell:nth-child(4)::before{content:"\f21e" !important}
  .hero-ribbon .v{font-family:var(--serif) !important;font-size:20px !important;color:#0b2545 !important;font-weight:500 !important;display:flex !important;align-items:baseline !important;justify-content:center !important;gap:1px !important;line-height:1 !important}
  .hero-ribbon .v span{color:#b08a3e !important;font-size:14px !important}
  .hero-ribbon .l{font-size:10px !important;letter-spacing:.04em !important;text-transform:none !important;color:#0b2545 !important;font-weight:500 !important;line-height:1.25 !important;max-width:88px !important}

  /* Sections */
  .services-grid,.doctor-grid,.about,.f-grid,.why-grid,.ins-list,.reviews,.contact-grid{grid-template-columns:1fr !important;gap:14px !important}
  .insurance{display:none !important}
  .sticky-fab,.fab,.floating-cta{display:none !important}
  .section{padding:42px 0 !important}
  .container{padding:0 18px !important}
  .section-head{gap:10px !important;margin-bottom:22px !important}
  .card,.service-card,.fac-card,.why-card,.t-card,.pillar,.review-card,.visit-card{padding:16px !important}
}

@media (max-width: 430px){
  .hero-inner{padding:84px 18px 24px !important}
  .hero h1{font-size:clamp(30px,8.4vw,38px) !important}
  .hero-card{padding:14px 6px !important}
  .hero-card .rating b{font-size:18px !important}
  .hero-card .m b{font-size:13px !important}
  .hero-card .m:nth-of-type(2) b{font-size:14px !important}
  .hero-ribbon .row{padding:16px 4px !important}
  .hero-ribbon .v{font-size:18px !important}
  .hero-ribbon .l{font-size:9.5px !important;max-width:78px !important}
  .section{padding:36px 0 !important}
}

@media (max-width:780px){
  .hero, .hero-inner, .hero-ribbon, .hero-ribbon .row{max-width:100vw !important;overflow-x:hidden !important}
  .hero-inner{padding-left:14px !important;padding-right:14px !important}
  .hero-card{width:100% !important}
  .hero-card .rating b{font-size:14px !important}
  .hero-card .m b{font-size:11.5px !important}
  .hero-card .m:nth-of-type(2) b{font-size:12px !important}
  .hero-card .rating small, .hero-card .m span{font-size:9.5px !important}
  .hero-ribbon .row{grid-template-columns:repeat(4,1fr) !important;padding:16px 4px !important;width:100% !important;margin:0 !important;max-width:100% !important}
  .hero-ribbon .cell{padding:6px 2px !important;min-width:0 !important}
  .hero-ribbon .l{max-width:100% !important;font-size:9px !important}
  .hero-ribbon .v{font-size:17px !important}
}

/* === v58: Premium editorial stats ribbon (desktop + mobile) === */
.hero-ribbon{background:linear-gradient(180deg,#f6efe2 0%,#f3ede1 55%,#ede4d0 100%) !important;border-top:1px solid rgba(176,138,62,.22) !important;border-bottom:1px solid rgba(176,138,62,.18) !important;box-shadow:inset 0 1px 0 rgba(255,255,255,.6), 0 -28px 60px -20px rgba(6,14,36,.55), 0 22px 50px -28px rgba(11,37,69,.30) !important;position:relative !important;overflow:hidden !important}
.hero-ribbon::after{content:"" !important;position:absolute !important;left:8%;right:8%;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(176,138,62,.55),transparent) !important;pointer-events:none}
.hero-ribbon .row{grid-template-columns:repeat(4,1fr) !important;gap:0 !important;padding:34px 24px !important;max-width:1200px !important;margin:0 auto !important}
.hero-ribbon .cell{position:relative !important;padding:8px 22px !important;display:flex !important;flex-direction:column !important;align-items:flex-start !important;gap:10px !important;border:none !important;text-align:left !important;background:transparent !important;box-shadow:none !important;border-radius:0 !important}
.hero-ribbon .cell + .cell::before{content:"" !important;position:absolute !important;left:0;top:14%;bottom:14%;width:1px;background:linear-gradient(180deg,transparent,rgba(176,138,62,.45),transparent) !important}
.hero-ribbon .cell-ico{display:none !important}
.hero-ribbon .cell-text{display:flex !important;flex-direction:column !important;gap:8px !important;width:100% !important;align-items:flex-start !important}
.hero-ribbon .v{font-family:var(--serif) !important;font-size:54px !important;line-height:.95 !important;color:#0b2545 !important;font-weight:500 !important;letter-spacing:-.015em !important;display:flex !important;align-items:baseline !important;gap:2px !important;justify-content:flex-start !important}
.hero-ribbon .v span{color:#b08a3e !important;font-size:26px !important;font-weight:400 !important;font-style:italic !important;margin-left:2px !important}
.hero-ribbon .l{font-family:var(--sans,inherit) !important;font-size:10.5px !important;letter-spacing:.22em !important;text-transform:uppercase !important;color:rgba(11,37,69,.62) !important;font-weight:600 !important;line-height:1.45 !important;max-width:none !important}

@media (max-width: 780px){
  .hero-ribbon{border-radius:20px 20px 0 0 !important;margin-top:0 !important}
  .hero-ribbon .row{grid-template-columns:1fr 1fr !important;padding:22px 18px !important;row-gap:22px !important;column-gap:0 !important}
  .hero-ribbon .cell{padding:14px 16px !important;align-items:flex-start !important;text-align:left !important}
  .hero-ribbon .cell + .cell::before{display:none !important}
  .hero-ribbon .cell:nth-child(odd)::after{content:"" !important;position:absolute !important;right:0;top:18%;bottom:18%;width:1px;background:linear-gradient(180deg,transparent,rgba(176,138,62,.45),transparent) !important}
  .hero-ribbon .cell:nth-child(-n+2)::before{content:"" !important;position:absolute !important;left:18%;right:18%;bottom:-11px;height:1px;background:linear-gradient(90deg,transparent,rgba(176,138,62,.35),transparent) !important}
  .hero-ribbon .v{font-size:34px !important;letter-spacing:-.02em !important}
  .hero-ribbon .v span{font-size:17px !important}
  .hero-ribbon .l{font-size:9.5px !important;letter-spacing:.18em !important}
}
@media (max-width: 380px){
  .hero-ribbon .v{font-size:28px !important}
  .hero-ribbon .v span{font-size:16px !important}
  .hero-ribbon .l{font-size:9px !important}
  .hero-ribbon .row{padding:20px 14px !important}
  .hero-ribbon .cell{padding:12px 10px !important}
}

/* === v60: Lean glass stats bar — floating, premium, integrated === */
.hero-ribbon{
  background:
    radial-gradient(120% 140% at 50% 0%, rgba(20,32,62,.55) 0%, rgba(8,16,38,.42) 55%, rgba(8,16,38,.18) 100%) !important;
  -webkit-backdrop-filter:blur(14px) saturate(135%) !important;
  backdrop-filter:blur(14px) saturate(135%) !important;
  border:1px solid rgba(176,138,62,.20) !important;
  border-top-color:rgba(176,138,62,.32) !important;
  border-bottom-color:rgba(176,138,62,.08) !important;
  border-radius:16px !important;
  box-shadow:
    0 1px 0 rgba(255,255,255,.05) inset,
    0 -1px 0 rgba(255,255,255,.02) inset,
    0 30px 80px -40px rgba(0,0,0,.55),
    0 0 60px -20px rgba(176,138,62,.18) !important;
  position:relative !important;
  overflow:hidden !important;
  margin:24px auto 28px !important;
  max-width:1100px !important;
  width:calc(100% - 40px) !important;
  -webkit-mask-image:linear-gradient(180deg, #000 0%, #000 60%, rgba(0,0,0,.85) 100%) !important;
          mask-image:linear-gradient(180deg, #000 0%, #000 60%, rgba(0,0,0,.85) 100%) !important;
}
.hero-ribbon::before{display:none !important}
.hero-ribbon::after{
  content:"" !important;position:absolute !important;left:6%;right:6%;top:0;height:1px;
  background:linear-gradient(90deg, transparent, rgba(176,138,62,.55), transparent) !important;
  pointer-events:none;
}
.hero-ribbon .row{
  grid-template-columns:repeat(4,1fr) !important;
  gap:0 !important;
  padding:18px 12px !important;
  max-width:100% !important;
  margin:0 auto !important;
}
.hero-ribbon .cell{
  position:relative !important;
  padding:6px 18px !important;
  display:flex !important;flex-direction:column !important;
  align-items:center !important;justify-content:center !important;
  gap:6px !important;
  background:transparent !important;border:none !important;box-shadow:none !important;border-radius:0 !important;
  text-align:center !important;
}
.hero-ribbon .cell + .cell::before{
  content:"" !important;position:absolute !important;left:0;top:22%;bottom:22%;width:1px;
  background:linear-gradient(180deg, transparent, rgba(176,138,62,.38), transparent) !important;
}
.hero-ribbon .cell-ico{
  display:flex !important;align-items:center !important;justify-content:center !important;
  width:28px !important;height:28px !important;border-radius:50% !important;
  background:rgba(176,138,62,.10) !important;
  border:1px solid rgba(176,138,62,.30) !important;
  color:#d4af6a !important;font-size:11px !important;
  box-shadow:0 0 14px -4px rgba(176,138,62,.35) !important;
  margin-bottom:2px !important;
}
.hero-ribbon .cell-ico i, .hero-ribbon .cell-ico svg{color:#d4af6a !important;font-size:11px !important}
.hero-ribbon .cell::before{content:none !important} /* clear old icon pseudo */
.hero-ribbon .cell-text{display:flex !important;flex-direction:column !important;gap:4px !important;align-items:center !important;width:100% !important}
.hero-ribbon .v{
  font-family:var(--serif) !important;
  font-size:26px !important;line-height:1 !important;
  color:#f5ead0 !important;font-weight:500 !important;letter-spacing:-.01em !important;
  display:flex !important;align-items:baseline !important;justify-content:center !important;gap:2px !important;
}
.hero-ribbon .v span{
  color:#d4af6a !important;font-size:14px !important;font-style:italic !important;font-weight:400 !important;
}
.hero-ribbon .l{
  font-family:var(--sans,inherit) !important;
  font-size:9.5px !important;letter-spacing:.22em !important;text-transform:uppercase !important;
  color:rgba(245,234,208,.62) !important;font-weight:600 !important;line-height:1.4 !important;
  max-width:none !important;
}

@media (max-width:780px){
  .hero-ribbon{
    margin:18px 14px 20px !important;width:auto !important;max-width:none !important;
    border-radius:12px !important;padding:0 !important;box-sizing:border-box !important;
  }
  .hero-ribbon .row{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    padding:11px 2px !important;row-gap:0 !important;gap:0 !important;
    box-sizing:border-box !important;width:100% !important;max-width:100% !important;
  }
  .hero-ribbon .cell{padding:4px 2px !important;min-width:0 !important;overflow:hidden !important}
  .hero-ribbon .cell + .cell::before{top:28%;bottom:28%}
  .hero-ribbon .cell-ico{width:20px !important;height:20px !important;font-size:8px !important;margin-bottom:1px !important}
  .hero-ribbon .cell-ico i, .hero-ribbon .cell-ico svg{font-size:8px !important}
  .hero-ribbon .v{font-size:16px !important;gap:1px !important}
  .hero-ribbon .v span{font-size:10px !important}
  .hero-ribbon .l{font-size:7.5px !important;letter-spacing:.12em !important;line-height:1.3 !important;word-break:break-word !important}
}
@media (max-width:380px){
  .hero-ribbon{margin:14px 10px 14px !important}
  .hero-ribbon .row{padding:9px 0 !important}
  .hero-ribbon .v{font-size:14px !important}
  .hero-ribbon .v span{font-size:9px !important}
  .hero-ribbon .l{font-size:7px !important;letter-spacing:.10em !important}
  .hero-ribbon .cell-ico{width:18px !important;height:18px !important}
}

/* === v68: readability + perf polish === */
/* Make lead / paragraph text fully readable on mobile (no faint reveal flash) */
@media (max-width:780px){
  .lead, p.lead{color:#1c2747 !important;font-weight:400 !important;text-shadow:none !important}
  .fac-grid > .reveal > .lead{color:#1c2747 !important;opacity:1 !important}
  /* tighter facilities spacing on mobile */
  #facilities .container.fac-grid{gap:24px !important}
  #facilities .eyebrow{margin-bottom:6px !important}
  #facilities h2{margin:8px 0 14px !important}
  #facilities .lead{margin-bottom:20px !important}
  #facilities .fac-list{gap:12px !important}
  #facilities .fac-row{padding:14px 16px !important;gap:14px !important}
  #facilities .fac-row i{width:38px !important;height:38px !important;font-size:16px !important;border-radius:10px !important}
  #facilities .fac-row b{font-size:15.5px !important}
  #facilities .fac-row p{font-size:13px !important}
  #facilities .fac-img{aspect-ratio:16/10 !important;margin-top:8px !important}
}
/* Reveal safety: never leave text invisible if JS hasn't fired yet */
.reveal{opacity:1 !important;transform:none !important}
@media (prefers-reduced-motion: no-preference){
  .reveal:not(.in){opacity:1 !important}
}

/* === v70: smoother scroll + reduced motion === */
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@supports (scroll-behavior:smooth){html,body{scroll-behavior:smooth}}
body{-webkit-overflow-scrolling:touch;overscroll-behavior-y:none}

/* Promote heavy animated/transformed layers to their own composite layer
   so scrolling doesn't repaint them on mobile */
@media (max-width:780px){
  .hero-v2, .hero-portrait, .hero-ribbon, .reveal, .fac-img, .fac-row,
  .service-card, .review-card, [data-parallax], .parallax{
    will-change:transform;
    transform:translateZ(0);
    backface-visibility:hidden;
    -webkit-backface-visibility:hidden;
  }
  /* Disable expensive backdrop-filter blurs on mobile (major jank source) */
  .hero-ribbon, .glass, .nav, header.nav, .navbar{
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
  }
  /* Avoid fixed backgrounds on iOS (causes scroll jank) */
  *{background-attachment:scroll !important}
}

/* Respect user's reduced-motion preference everywhere */
@media (prefers-reduced-motion: reduce){
  *, *::before, *::after{
    animation-duration:0.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:0.001ms !important;
    scroll-behavior:auto !important;
  }
  html, body{scroll-behavior:auto !important}
  .reveal{opacity:1 !important;transform:none !important}
  [data-parallax], .parallax{transform:none !important}
  video[autoplay]{display:none}
}

/* === v70.1: button size + dark-section text contrast fix === */
@media (max-width:780px){
  /* Slightly smaller hero CTA buttons */
  .hero-v2 .hero-cta .btn,
  .hero-cta .btn{
    padding:12px 18px !important;
    font-size:12.5px !important;
    letter-spacing:.05em !important;
  }
  .hero-v2 .hero-cta .btn i,
  .hero-cta .btn i{font-size:12.5px !important}

  /* v68 set .lead to dark navy globally — that killed contrast inside dark sections.
     Restore light text wherever the section bg is dark. */
  .why .lead,
  .why p.lead,
  section.why .lead,
  section[data-theme="dark"] .lead,
  .dark-section .lead{
    color:rgba(255,255,255,.82) !important;
    text-shadow:none !important;
    opacity:1 !important;
    font-weight:400 !important;
  }
  .why .eyebrow{color:#d8a24a !important}
  .why h2{color:#fff !important}
  .why h2 em{color:#d8a24a !important;font-style:italic}
}

/* === v73: performance polish (no visual redesign) === */
/* Prevent horizontal scrolling globally */
html,body{max-width:100%;overflow-x:hidden}
img,picture,video,svg,iframe{max-width:100%;height:auto}
/* Stabilize tap behavior on iOS */
a,button{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
/* Smoother font rendering */
body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
/* Reserve paint budget for offscreen heavy sections to stop scroll jank */
#services,#facilities,#reviews,#faq,.why,.doctor,footer{content-visibility:auto;contain-intrinsic-size:1px 800px}
/* Avoid layout thrash from hover transforms on touch devices */
@media (hover:none){
  .svc:hover,.t-card:hover,.fac-row:hover,.service-card:hover,.review-card:hover{transform:none !important}
  *{transition-duration:.25s !important}
}
/* Keep hero image crisp and never overflow */
.hero-v2{overflow:hidden}
.hero-v2 .hero-bg img{will-change:auto;transform:translateZ(0)}
/* Iframe (map) — prevent CLS */
iframe{display:block}
/* Ensure splash never blocks pointer after hide */
#splash.hide{pointer-events:none}
/* Reduce paint from large box-shadows on mobile */
@media (max-width:780px){
  .svc,.t-card,.faq-item,.service-card,.review-card{box-shadow:0 6px 18px -10px rgba(15,27,61,.18) !important}
}

/* === v74: production polish — CLS, INP, animation smoothness === */
html{scroll-padding-top:72px}
@media (max-width:780px){html{scroll-padding-top:60px}}
/* GPU promote heavy hero layer only while it's actually animating */
.hero-slide.active{will-change:opacity,transform}
.reveal{will-change:opacity,transform}
.reveal.in{will-change:auto}
/* Background-image divs already use aspect-ratio. Ensure they never collapse before paint */
.svc .img,.doc-portrait .frame,.about-media .img-main,.about-media .img-acc,.fac-img{background-color:#0f1b3d}
/* Smooth, non-janky reveal on mobile */
@media (max-width:780px){
  .reveal{transform:translateY(14px);transition-duration:.6s}
}
/* Reduced motion — kill animations cleanly */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;scroll-behavior:auto !important}
  .reveal{opacity:1 !important;transform:none !important}
  .hero-slide{transform:none !important}
}
/* Prevent layout shift from late-loading Font Awesome glyphs */
i[class*="fa-"]{display:inline-block;min-width:1em;min-height:1em;line-height:1;font-style:normal}
/* iframe (map) reserve height to stop CLS */
iframe{min-height:280px;border:0}
/* Touch responsiveness (INP) */
button,a,.btn,.fab{touch-action:manipulation}
/* Faster paint on faq accordion */
.faq-a{contain:layout paint}
/* Avoid backdrop-filter on low-power devices to reduce paint cost */
@media (max-width:780px) and (hover:none){
  .hero-textwash{backdrop-filter:none !important;-webkit-backdrop-filter:none !important}
}
/* Stable hero on mobile — lock min-height in svh to avoid viewport-bar jumps */
@media (max-width:780px){
  .hero{min-height:78svh}
}

/* === v76: scroll-jank kill pass (no visual redesign) === */
/* Native scrolling beats CSS smooth on mobile — smooth-scroll causes the
   "sticky/stuck" feel on long pages. Keep instant native scrolling. */
html,body{scroll-behavior:auto !important}
body{-webkit-overflow-scrolling:auto;overscroll-behavior-y:auto}

/* Blanket will-change on many elements thrashes GPU memory and slows scroll.
   Reset everything, then re-enable only on the actively animating hero slide. */
.hero-v2,.hero-portrait,.hero-ribbon,.reveal,.fac-img,.fac-row,
.service-card,.review-card,.svc,.t-card,[data-parallax],.parallax{
  will-change:auto !important;
  backface-visibility:visible !important;
  -webkit-backface-visibility:visible !important;
}
.reveal.in{will-change:auto !important;transform:none !important}

/* content-visibility:auto with a tiny intrinsic size (1px 800px) keeps
   re-measuring while you scroll and is a major source of jitter. Remove. */
#services,#facilities,#reviews,#faq,.why,.doctor,footer{
  content-visibility:visible !important;
  contain-intrinsic-size:auto !important;
  contain:none !important;
}

/* Backdrop-filter blurs are the single biggest paint cost on mobile.
   Drop them across the board on small screens. */
@media (max-width:900px){
  .hero-chip,.hero-card,.hero-ribbon,.hero-textwash,.glass,
  .nav,header.nav,.navbar,.mm,.mmenu{
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
  }
}

/* Shorter, lighter reveals — long .6s transforms on many elements stutter
   when several intersect at once. */
.reveal{transition:opacity .35s ease-out,transform .35s ease-out}
@media (max-width:900px){
  .reveal{transform:none !important;transition:opacity .25s ease-out}
}

/* Remove per-element transitions on every property (some sections set
   `transition:all`) which makes scroll re-layout expensive. */
@media (hover:none){
  *{transition-property:opacity,background-color,color,border-color,box-shadow !important}
}

/* Hero background image: keep on its own layer but no will-change so
   memory isn't held while scrolling away. */
.hero-v2 .hero-bg img{will-change:auto;transform:translate3d(0,0,0)}

/* Stop iOS rubber-band on body from feeling like a scroll stall */
html{overscroll-behavior:auto}

/* ============================================================

/* ============================================================
   v78b — Post-hero redesign with strong color contrast.
   Hero (.hero-v2) intentionally untouched.
   Palette: crisp white #ffffff, deep navy #0a1f3d, gold #c9a14a,
   ink #0a1228. Sections alternate WHITE → NAVY → WHITE → NAVY-soft
   to give clear visual rhythm and stop the beige-blend.
   ============================================================ */

/* Mobile splash sizing (kept from v78) */
@media (max-width:780px){
  .splash-logo{max-width:min(92vw,560px) !important;width:min(92vw,560px) !important}
}
.splash-logo{max-width:min(72vw,560px);width:min(72vw,560px);height:auto}
nav.site .brand-text{display:block !important}

:root{
  --lx-navy:#0a1f3d;
  --lx-navy-2:#0f2a52;
  --lx-navy-deep:#06152d;
  --lx-ink:#0a1228;
  --lx-ink-2:#5a6479;
  --lx-gold:#c9a14a;
  --lx-gold-soft:#e7c98a;
  --lx-line:rgba(10,31,61,.10);
  --lx-line-light:rgba(255,255,255,.10);
  --lx-sh-s:0 4px 16px -8px rgba(10,18,40,.18);
  --lx-sh-m:0 22px 50px -24px rgba(10,18,40,.28);
  --lx-sh-l:0 40px 80px -32px rgba(10,18,40,.4);
}

/* Crisp white page base — no beige */
body{background:#ffffff !important}

/* Section base */
section.section{
  position:relative;padding:120px 0;background:#ffffff;
  isolation:isolate;
}
section.section.tight{padding:90px 0}
section.section::before,section.section::after{content:none !important}

/* DARK section variant */
section.section.lx-dark{
  background:linear-gradient(180deg,var(--lx-navy) 0%, var(--lx-navy-2) 100%);
  color:#fff;
}
section.section.lx-dark::after{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:-1;
  background:
    radial-gradient(800px 400px at 90% -10%, rgba(231,201,138,.10), transparent 60%),
    radial-gradient(700px 500px at 0% 110%, rgba(201,161,74,.08), transparent 60%);
}

/* SOFT tinted section (between dark + white) */
section.section.lx-soft{
  background:linear-gradient(180deg,#f5f7fb 0%, #eef2f9 100%);
}

/* Eyebrow */
.eyebrow{
  display:inline-flex !important;align-items:center;gap:12px;
  font-size:11px !important;letter-spacing:.3em !important;text-transform:uppercase;
  color:var(--lx-gold) !important;font-weight:700;
  background:transparent !important;padding:0 !important;border:none !important;
  margin-bottom:18px;
}
.eyebrow::before{content:"";width:28px;height:1px;background:var(--lx-gold);display:inline-block}
.eyebrow.center{justify-content:center}
.lx-dark .eyebrow{color:var(--lx-gold-soft) !important}
.lx-dark .eyebrow::before{background:var(--lx-gold-soft)}

/* H2 */
section.section h2{
  font-family:'Cormorant Garamond',Georgia,serif !important;
  font-weight:500 !important;
  font-size:clamp(34px,4vw,56px) !important;
  line-height:1.05 !important;letter-spacing:-.012em !important;
  color:var(--lx-ink) !important;
  margin:0 0 18px !important;max-width:22ch;
}
section.section h2 em{font-style:italic;color:var(--lx-gold);font-weight:500}
.lx-dark h2{color:#ffffff !important}
.lx-dark h2 em{color:var(--lx-gold-soft)}
section.section .lead{
  font-size:16px !important;line-height:1.7 !important;
  color:var(--lx-ink-2) !important;font-weight:400 !important;max-width:54ch;
}
.lx-dark .lead{color:rgba(255,255,255,.78) !important}
section.section p{color:var(--lx-ink-2);font-size:15px;line-height:1.7}
.lx-dark p{color:rgba(255,255,255,.72)}

/* Section head */
.section-head{
  display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end;margin-bottom:64px;
}
.section-head .lead.right{justify-self:end}
@media (max-width:900px){
  .section-head{grid-template-columns:1fr;gap:18px;margin-bottom:36px}
  .section-head .lead.right{justify-self:start}
}

/* =============== DOCTOR (white background) =============== */
.doctor-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:center}
.doc-portrait{position:relative}
.doc-portrait .frame{
  aspect-ratio:4/5;border-radius:24px;background-size:cover;background-position:center;
  box-shadow:var(--lx-sh-l);position:relative;overflow:hidden;
}
.doc-portrait .frame::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 55%,rgba(10,31,61,.45));
}
.doc-portrait .doc-meta{
  position:absolute;left:-22px;bottom:24px;
  background:#fff;padding:16px 20px;border-radius:14px;
  box-shadow:var(--lx-sh-m);border:1px solid var(--lx-line);
  display:flex;flex-direction:column;gap:4px;
}
.doc-portrait .doc-meta .stars{color:var(--lx-gold);letter-spacing:2px;font-size:13px}
.doc-portrait .doc-meta b{font-family:'Cormorant Garamond',serif;font-size:18px;color:var(--lx-ink);font-weight:600}
.doc-portrait .doc-meta span{font-size:12px;color:var(--lx-ink-2);letter-spacing:.04em}
.doc-body .role{
  display:inline-block;font-size:12px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--lx-gold);margin:10px 0 22px;font-weight:600;
}
.doc-body .creds{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:28px}
.doc-body .cred{
  background:#fff;border:1px solid var(--lx-line);border-radius:14px;
  padding:18px;display:flex;gap:14px;
  transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.doc-body .cred:hover{transform:translateY(-3px);box-shadow:var(--lx-sh-m);border-color:rgba(201,161,74,.4)}
.doc-body .cred .yr{
  font-family:'Cormorant Garamond',serif;font-size:18px;color:#fff;font-weight:600;
  background:linear-gradient(135deg,var(--lx-navy),var(--lx-navy-2));
  padding:10px 14px;border-radius:10px;height:fit-content;flex-shrink:0;min-width:64px;text-align:center;
}
.doc-body .cred b{display:block;font-size:14px;color:var(--lx-ink);font-weight:600;margin-bottom:4px}
.doc-body .cred span{font-size:12.5px;color:var(--lx-ink-2);line-height:1.5}
@media (max-width:900px){
  .doctor-grid{grid-template-columns:1fr !important;gap:32px}
  .doc-portrait .doc-meta{left:14px;bottom:14px}
  .doc-body .creds{grid-template-columns:1fr !important;gap:12px}
}

/* =============== ABOUT (soft tint background) =============== */
#about{background:linear-gradient(180deg,#f5f7fb 0%, #eef2f9 100%)}
.about{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.about-media{position:relative;aspect-ratio:1/1.05}
.about-media .img-main{
  position:absolute;inset:0 28% 22% 0;
  background-size:cover;background-position:center;border-radius:22px;box-shadow:var(--lx-sh-l);
}
.about-media .img-acc{
  position:absolute;right:0;bottom:0;width:58%;aspect-ratio:1/1;
  background-size:cover;background-position:center;border-radius:18px;
  box-shadow:var(--lx-sh-m);border:8px solid #eef2f9;
}
.about-media .badge{
  position:absolute;left:0;top:18px;
  background:#fff;padding:14px 18px;border-radius:14px;
  display:flex;align-items:center;gap:12px;
  box-shadow:var(--lx-sh-m);border:1px solid var(--lx-line);
}
.about-media .badge i{color:var(--lx-gold);font-size:22px}
.about-media .badge b{font-family:'Cormorant Garamond',serif;font-size:18px;color:var(--lx-ink);display:block;font-weight:600}
.about-media .badge span{font-size:11px;color:var(--lx-ink-2);letter-spacing:.06em}
.about-pillars{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:34px}
.about-pillars .pillar{
  display:flex;gap:14px;padding:18px;border-radius:14px;
  background:#fff;border:1px solid var(--lx-line);
  transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.about-pillars .pillar:hover{transform:translateY(-3px);box-shadow:var(--lx-sh-m);border-color:rgba(201,161,74,.35)}
.about-pillars .pillar i{
  color:var(--lx-gold);font-size:20px;flex-shrink:0;
  width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;
  background:rgba(201,161,74,.10);
}
.about-pillars .pillar b{display:block;font-size:14px;color:var(--lx-ink);margin-bottom:4px;font-weight:600}
.about-pillars .pillar p{font-size:12.5px;color:var(--lx-ink-2);line-height:1.5;margin:0}
@media (max-width:900px){
  .about{grid-template-columns:1fr !important;gap:32px}
  .about-media{aspect-ratio:1/1}
  .about-pillars{grid-template-columns:1fr !important}
}

/* =============== SERVICES (deep navy) =============== */
#services{
  background:linear-gradient(180deg,var(--lx-navy) 0%, var(--lx-navy-deep) 100%);
  color:#fff;position:relative;overflow:hidden;
}
#services::after{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:0;
  background:
    radial-gradient(900px 500px at 90% -10%, rgba(231,201,138,.12), transparent 60%),
    radial-gradient(700px 500px at 0% 110%, rgba(201,161,74,.08), transparent 60%);
}
#services .container{position:relative;z-index:1}
#services .eyebrow{color:var(--lx-gold-soft) !important}
#services .eyebrow::before{background:var(--lx-gold-soft)}
#services h2{color:#fff !important}
#services h2 em{color:var(--lx-gold-soft)}
#services .lead{color:rgba(255,255,255,.82) !important}
#services .muted{color:rgba(255,255,255,.55) !important}

.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.services-grid > *{
  background:rgba(255,255,255,.04) !important;
  border:1px solid rgba(255,255,255,.10) !important;
  border-radius:18px !important;padding:28px 26px !important;
  color:#fff !important;
  transition:transform .35s ease, background .35s ease, border-color .35s ease, box-shadow .35s ease;
  position:relative;overflow:hidden;
}
.services-grid > *:hover{
  transform:translateY(-4px);
  background:rgba(255,255,255,.08) !important;
  border-color:rgba(231,201,138,.45) !important;
  box-shadow:0 30px 60px -30px rgba(0,0,0,.6);
}
.services-grid > * .icon, .services-grid > * > i:first-child{
  width:48px !important;height:48px !important;border-radius:12px !important;
  display:flex;align-items:center;justify-content:center;
  background:rgba(231,201,138,.14) !important;
  color:var(--lx-gold-soft) !important;font-size:18px !important;margin-bottom:18px !important;
  border:1px solid rgba(231,201,138,.25);
}
.services-grid h3{
  font-family:'Cormorant Garamond',serif !important;
  font-size:22px !important;font-weight:500 !important;color:#fff !important;
  margin:0 0 10px !important;
}
.services-grid p{color:rgba(255,255,255,.72) !important;font-size:13.5px !important;line-height:1.6 !important}
#view-all-services .btn-primary{
  background:linear-gradient(180deg,#dca454,#b7782c) !important;color:#fff !important;
  border:none !important;border-radius:999px !important;padding:14px 28px !important;
  font-size:13px !important;letter-spacing:.04em;text-transform:uppercase;
  box-shadow:0 12px 30px -10px rgba(183,120,44,.55);
}
@media (max-width:900px){
  .services-grid{grid-template-columns:1fr !important;gap:14px}
  #services{padding:80px 0}
}

/* =============== WHY (crisp white) =============== */
#why{background:#ffffff}
.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.why-card{
  background:#fff !important;
  border:1px solid var(--lx-line) !important;border-radius:18px !important;
  padding:30px 26px !important;box-shadow:var(--lx-sh-s) !important;
  transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease;
  position:relative;overflow:hidden;
}
.why-card::before{
  content:"";position:absolute;left:0;right:0;top:0;height:3px;
  background:linear-gradient(90deg,var(--lx-gold),var(--lx-gold-soft));
  transform:scaleX(0);transform-origin:left;transition:transform .4s ease;
}
.why-card:hover{transform:translateY(-6px);box-shadow:var(--lx-sh-l) !important;border-color:transparent}
.why-card:hover::before{transform:scaleX(1)}
.why-card .icon{
  width:56px !important;height:56px !important;border-radius:14px !important;
  background:linear-gradient(135deg,var(--lx-navy),var(--lx-navy-2)) !important;
  color:var(--lx-gold-soft) !important;font-size:22px !important;
  display:flex;align-items:center;justify-content:center;margin-bottom:20px !important;
  box-shadow:0 12px 24px -10px rgba(10,31,61,.4);
}
.why-card h3{
  font-family:'Cormorant Garamond',serif !important;
  font-size:22px !important;font-weight:500 !important;color:var(--lx-ink) !important;margin:0 0 10px !important;
}
.why-card p{font-size:13.5px !important;line-height:1.6 !important;color:var(--lx-ink-2) !important}
@media (max-width:900px){
  .why-grid{grid-template-columns:1fr !important;gap:14px}
  #why{padding:80px 0}
}

/* =============== FACILITIES (soft tint) =============== */
#facilities{background:linear-gradient(180deg,#f5f7fb 0%, #eef2f9 100%)}
.fac-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.fac-list{display:flex;flex-direction:column;gap:12px;margin-top:8px}
.fac-row{
  display:flex;gap:18px;align-items:flex-start;padding:18px 20px;border-radius:14px;
  background:#fff;border:1px solid var(--lx-line);
  transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.fac-row:hover{transform:translateX(6px);box-shadow:var(--lx-sh-m);border-color:rgba(201,161,74,.35)}
.fac-row i{
  color:var(--lx-gold);font-size:18px;flex-shrink:0;
  width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:12px;
  background:rgba(201,161,74,.10);
}
.fac-row b{display:block;font-family:'Cormorant Garamond',serif;font-size:18px;color:var(--lx-ink);font-weight:600;margin-bottom:4px}
.fac-row p{font-size:13px;color:var(--lx-ink-2);line-height:1.55;margin:0}
.fac-img{
  aspect-ratio:4/5;border-radius:22px;background-size:cover;background-position:center;
  box-shadow:var(--lx-sh-l);position:relative;
}
.fac-img::after{
  content:"";position:absolute;inset:0;border-radius:22px;
  background:linear-gradient(180deg,transparent 60%,rgba(10,31,61,.4));
}
@media (max-width:900px){
  .fac-grid{grid-template-columns:1fr !important;gap:32px}
  #facilities{padding:80px 0}
  .fac-img{aspect-ratio:4/3}
}

/* =============== FAQ (crisp white) =============== */
#faq{background:#ffffff}
.faq-list{display:flex;flex-direction:column;gap:12px;max-width:820px;margin:48px auto 0}
.faq-item{
  background:#fff !important;border:1px solid var(--lx-line) !important;
  border-radius:14px !important;overflow:hidden;
  transition:box-shadow .3s ease, border-color .3s ease !important;
}
.faq-item.open{border-color:rgba(201,161,74,.4) !important;box-shadow:var(--lx-sh-m) !important}
.faq-item .faq-q{
  padding:20px 24px !important;font-family:'Cormorant Garamond',serif !important;
  font-size:19px !important;font-weight:500 !important;color:var(--lx-ink) !important;
  cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:18px;
}
.faq-item .faq-q i{color:var(--lx-gold);transition:transform .3s ease}
.faq-item.open .faq-q i{transform:rotate(45deg)}
.faq-item .faq-a{color:var(--lx-ink-2);font-size:14.5px;line-height:1.7}
@media (max-width:900px){
  #faq{padding:80px 0}
  .faq-item .faq-q{font-size:17px !important;padding:18px 20px !important}
}

/* =============== VISIT (deep navy band) =============== */
#visit{
  background:linear-gradient(180deg,var(--lx-navy) 0%, var(--lx-navy-deep) 100%);
  color:#fff;position:relative;overflow:hidden;
}
#visit::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(800px 500px at 100% 0%, rgba(231,201,138,.10), transparent 60%);
}
#visit .container{position:relative;z-index:1}
#visit .eyebrow{color:var(--lx-gold-soft) !important}
#visit .eyebrow::before{background:var(--lx-gold-soft)}
#visit h2{color:#fff !important}
#visit h2 em{color:var(--lx-gold-soft)}
#visit .lead{color:rgba(255,255,255,.78) !important}
.visit-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:stretch}
.visit-card{
  background:rgba(255,255,255,.04) !important;
  border:1px solid rgba(255,255,255,.12) !important;
  border-radius:20px !important;padding:38px !important;
  display:flex;flex-direction:column;gap:22px;color:#fff;
}
.visit-block{display:flex;gap:16px;align-items:flex-start}
.visit-block i{
  color:var(--lx-gold-soft);font-size:18px;flex-shrink:0;
  width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;
  background:rgba(231,201,138,.14);border:1px solid rgba(231,201,138,.25);
}
.visit-block b{display:block;font-family:'Cormorant Garamond',serif;font-size:18px;color:#fff;font-weight:600;margin-bottom:4px}
.visit-block p{font-size:14px;color:rgba(255,255,255,.78);line-height:1.6;margin:0}
.visit-block a{color:#fff;text-decoration:none;border-bottom:1px solid var(--lx-gold-soft)}
.visit-hours{display:grid;grid-template-columns:auto 1fr;gap:6px 18px;font-size:13.5px;color:rgba(255,255,255,.7)}
.visit-hours b{font-family:inherit;font-size:13.5px;color:#fff;font-weight:600;margin:0}
.visit-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:6px}
.visit-cta .btn{flex:1;justify-content:center;border-radius:14px;padding:14px 18px;font-size:13.5px;font-weight:600}
.visit-cta .btn-primary,.visit-cta .btn-ghost{background:linear-gradient(180deg,#dca454,#b7782c) !important;color:#fff !important;border:none !important;box-shadow:0 12px 24px -10px rgba(183,120,44,.5)}
.visit-cta .btn-ghost{background:rgba(255,255,255,.08) !important;color:#fff !important;border:1px solid rgba(255,255,255,.2) !important;box-shadow:none !important}
.map{
  border-radius:20px;overflow:hidden;box-shadow:var(--lx-sh-l);
  min-height:520px;border:1px solid rgba(255,255,255,.12);
}
.map iframe{width:100%;height:100%;min-height:520px;border:0;display:block;filter:saturate(.9)}
@media (max-width:900px){
  #visit{padding:80px 0}
  .visit-grid{grid-template-columns:1fr !important;gap:18px}
  .visit-card{padding:26px !important}
  .map{min-height:340px}
  .map iframe{min-height:340px}
}

/* =============== CTA =============== */
.cta-inner{
  position:relative;overflow:hidden;
  background:
    radial-gradient(700px 400px at 100% 0%, rgba(231,201,138,.22), transparent 60%),
    linear-gradient(135deg, var(--lx-navy) 0%, var(--lx-navy-deep) 100%);
  border-radius:28px;padding:60px 64px;
  display:grid;grid-template-columns:1.3fr .8fr;gap:50px;align-items:center;
  box-shadow:var(--lx-sh-l);color:#fff;
  border:1px solid rgba(255,255,255,.08);
}
.cta-inner h2{
  font-family:'Cormorant Garamond',serif !important;color:#fff !important;
  font-size:clamp(28px,3.6vw,44px) !important;line-height:1.05 !important;
  margin:0 0 12px !important;font-weight:500 !important;max-width:18ch;
}
.cta-inner h2 em{color:var(--lx-gold-soft) !important;font-style:italic}
.cta-inner p{color:rgba(255,255,255,.78) !important;font-size:15px !important;line-height:1.65 !important;max-width:50ch;margin:0}
.cta-actions{display:flex;flex-direction:column;gap:12px}
.cta-actions .btn{
  width:100%;justify-content:center;border-radius:14px;padding:16px 22px;
  font-size:14px;font-weight:600;letter-spacing:.04em;
}
.cta-actions .btn-gold{background:linear-gradient(180deg,#e0b260,#b7782c);color:#fff;border:none;box-shadow:0 14px 30px -10px rgba(183,120,44,.55)}
.cta-actions .btn-light{background:#fff;color:var(--lx-navy);border:none}
@media (max-width:900px){
  .cta-inner{grid-template-columns:1fr;padding:36px 26px;border-radius:22px;gap:24px}
}

/* =============== FOOTER =============== */
footer{
  background:linear-gradient(180deg,#06152d 0%, #030a1a 100%) !important;
  color:rgba(255,255,255,.7);padding:80px 0 30px !important;margin-top:0;position:relative;
}
footer::before{
  content:"";position:absolute;left:0;right:0;top:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(231,201,138,.45),transparent);
}
footer .f-grid{display:grid;grid-template-columns:1.4fr .8fr .8fr 1.2fr;gap:50px}
footer .f-brand{display:flex;align-items:center;gap:14px;margin-bottom:18px}
footer .brand-mark{
  width:54px;height:54px;border-radius:14px;
  background:rgba(255,255,255,.06);border:1px solid rgba(231,201,138,.2);
  padding:8px;display:flex;align-items:center;justify-content:center;
}
footer .brand-mark img{width:100%;height:100%;object-fit:contain}
footer .brand-text{font-family:'Cormorant Garamond',serif;font-size:22px;color:#fff;font-weight:500;line-height:1.1}
footer .brand-text small{display:block;font-size:11px;color:var(--lx-gold-soft);letter-spacing:.18em;margin-top:4px;text-transform:uppercase;font-family:inherit;font-weight:400}
footer h4{font-family:'Cormorant Garamond',serif;font-size:18px;color:#fff;font-weight:500;margin:0 0 18px;letter-spacing:.02em}
footer ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
footer ul a{color:rgba(255,255,255,.65);text-decoration:none;font-size:13.5px;transition:color .25s ease}
footer ul a:hover{color:var(--lx-gold-soft)}
footer .f-contact{display:flex;flex-direction:column;gap:12px}
footer .f-contact > div{display:flex;gap:12px;align-items:flex-start;font-size:13px;line-height:1.55}
footer .f-contact i{color:var(--lx-gold-soft);font-size:14px;flex-shrink:0;margin-top:3px}
footer .f-contact a{color:rgba(255,255,255,.78);text-decoration:none}
footer .f-contact a:hover{color:var(--lx-gold-soft)}
footer .f-bottom{
  border-top:1px solid rgba(255,255,255,.08);margin-top:50px;padding-top:24px;
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;
  font-size:12px;color:rgba(255,255,255,.45);letter-spacing:.04em;
}
@media (max-width:900px){
  footer{padding:60px 0 24px !important}
  footer .f-grid{grid-template-columns:1fr 1fr !important;gap:30px}
  footer .f-grid > div:first-child{grid-column:1 / -1}
  footer .f-bottom{flex-direction:column;text-align:center;gap:6px}
}
@media (max-width:560px){footer .f-grid{grid-template-columns:1fr !important;gap:28px}}

@media (max-width:900px){section.section{padding:70px 0}}

.sticky-fab .fab{box-shadow:0 16px 36px -12px rgba(10,31,61,.4) !important}

/* ============================================================
   v79 — Hero polish: blend hero into editorial luxury system.
   Structure / layout / composition are intentionally untouched.
   Only typography, gold harmony, gradient depth, glass refinement.
   ============================================================ */

/* Reuse luxury tokens defined above */
.hero h1, .hero h1 em, .hero h1 i,
.hero-ribbon .v, .hero-card .rating b, .hero-card .m b,
.hero .kicker, .eyebrow{
  font-feature-settings:"ss01","liga","calt";
}

/* Headline: keep size/layout, refine weight + accent to editorial italic */
.hero h1{
  font-family:'Cormorant Garamond','Fraunces',Georgia,serif !important;
  font-weight:500 !important;
  letter-spacing:-.018em !important;
}
.hero h1 em, .hero h1 i{
  font-style:italic !important;
  font-weight:500 !important;
  color:#e7c98a !important;
  text-shadow:0 1px 24px rgba(231,201,138,.18);
}

/* Kicker: tighter rhythm, muted-gold consistent with editorial eyebrow */
.hero .kicker{
  color:#c9a14a !important;
  letter-spacing:.32em !important;
  font-weight:600 !important;
}
.hero .kicker::before{
  background:linear-gradient(90deg,#c9a14a,rgba(201,161,74,0)) !important;
  height:1px !important;
}

/* Subhead: softer ivory, refined leading */
.hero .sub{
  color:rgba(245,239,225,.84) !important;
  font-size:17px;
  line-height:1.65 !important;
  letter-spacing:.005em !important;
}

/* Deeper, more cinematic veil with gentle gold halo */
@media (min-width: 781px){
  .hero-veil{
    background:
      radial-gradient(900px 540px at 14% 78%, rgba(6,14,36,.62), rgba(6,14,36,0) 70%),
      radial-gradient(700px 500px at 92% 12%, rgba(231,201,138,.10), transparent 60%),
      linear-gradient(180deg, rgba(6,14,36,.32) 0%, rgba(6,14,36,.22) 38%, rgba(6,14,36,.66) 82%, rgba(6,14,36,.88) 100%) !important;
  }
  .hero h1{letter-spacing:-.022em !important}
  .hero .sub{max-width:54ch}
}

/* Hero glass card — align with .visit-card / editorial dark cards */
.hero-card{
  background:
    linear-gradient(180deg, rgba(20,32,62,.42), rgba(8,18,42,.55)) !important;
  border:1px solid rgba(231,201,138,.22) !important;
  border-radius:18px !important;
  box-shadow:
    0 1px 0 rgba(255,255,255,.05) inset,
    0 30px 80px -30px rgba(0,0,0,.6),
    0 0 60px -20px rgba(201,161,74,.18) !important;
}
.hero-card .rating{border-bottom-color:rgba(231,201,138,.18) !important}
.hero-card .rating .stars,
.hero-cta .meta-rating .stars{color:#e7c98a !important}
.hero-card .m i{color:#e7c98a !important}

/* Ribbon — already glass; tune gold to match editorial muted gold */
.hero-ribbon .v span{color:#d4af6a !important}
.hero-ribbon{
  border-color:rgba(231,201,138,.22) !important;
}

/* CTA buttons — soften gold gradient to muted editorial tone */
.hero-cta .btn-gold,
.hero-cta .btn.btn-primary{
  background:linear-gradient(180deg,#dca454 0%,#b7782c 100%) !important;
  box-shadow:0 14px 30px -10px rgba(183,120,44,.45),
             0 0 0 1px rgba(231,201,138,.30) inset !important;
  letter-spacing:.04em !important;
}
.hero-cta .btn-light{
  background:rgba(255,255,255,.96) !important;
  color:#0a1f3d !important;
  border:1px solid rgba(255,255,255,.7) !important;
}

/* Subtle gold hairline beneath H1 — editorial signature */
@media (min-width:781px){
  .hero h1{position:relative; padding-bottom:18px}
  .hero h1::after{
    content:"";display:block;margin-top:18px;
    width:84px;height:1px;
    background:linear-gradient(90deg,#c9a14a,rgba(201,161,74,0));
  }
}

/* Mobile: keep existing structure, only colour/typography tune */
@media (max-width:780px){
  .hero h1{font-family:'Cormorant Garamond','Fraunces',Georgia,serif !important}
  .hero h1 em, .hero h1 i{color:#e7c98a !important}
  .hero .kicker, .eyebrow{color:#c9a14a !important}
  .hero .kicker::before, .eyebrow::before{background:linear-gradient(90deg,#c9a14a,rgba(201,161,74,0)) !important}
  .hero-card{
    background:linear-gradient(180deg, rgba(20,32,62,.45), rgba(8,18,42,.62)) !important;
    border:1px solid rgba(231,201,138,.22) !important;
  }
  .hero-cta .btn-gold{
    background:linear-gradient(180deg,#dca454,#b7782c) !important;
    box-shadow:0 10px 22px -8px rgba(183,120,44,.45) !important;
  }
}

/* =============== SCREENSHOT-MATCH OVERRIDES (v80) =============== */

/* Reusable circular navy icon-badge with gold arc */
.cred-ico, .about-pillars .pillar > i, .why-card .icon, .fac-row > i{
  position:relative !important;
  width:60px !important; height:60px !important; border-radius:50% !important;
  background:linear-gradient(135deg,#0a1f3d,#142a52) !important;
  color:#d8a24a !important; font-size:22px !important;
  display:flex !important; align-items:center !important; justify-content:center !important;
  margin:0 auto 18px !important; flex-shrink:0 !important;
  box-shadow:0 14px 28px -14px rgba(10,31,61,.55) !important;
}
.cred-ico::after, .about-pillars .pillar > i::after, .why-card .icon::after, .fac-row > i::after{
  content:""; position:absolute; inset:-7px;
  border-radius:50%;
  border:1px solid rgba(216,162,74,.55);
  border-color:rgba(216,162,74,.65) transparent transparent rgba(216,162,74,.65);
  transform:rotate(-35deg);
  pointer-events:none;
}

/* --- DOCTOR CREDS: 4-col vertical cards --- */
.doc-body .creds{grid-template-columns:repeat(4,1fr) !important; gap:14px !important; margin-top:32px !important}
.doc-body .cred{
  flex-direction:column !important; align-items:center !important; text-align:center !important;
  padding:22px 16px 20px !important; background:#fff !important;
  border:1px solid #ecedf2 !important; border-radius:14px !important;
  box-shadow:0 6px 18px -10px rgba(10,31,61,.12) !important;
}
.doc-body .cred .yr{display:none !important}
.doc-body .cred b{
  font-family:'Cormorant Garamond',serif !important;
  font-size:17px !important; font-weight:600 !important; color:#0a1f3d !important;
  margin:0 0 2px !important; line-height:1.2 !important;
}
.doc-body .cred .cred-sub{
  display:block; font-style:italic; font-family:'Cormorant Garamond',serif;
  font-size:14px; color:#0a1f3d; font-weight:500; margin-bottom:10px;
  position:relative; padding-bottom:10px;
}
.doc-body .cred .cred-sub::after{
  content:""; position:absolute; left:50%; bottom:0; transform:translateX(-50%);
  width:34px; height:2px; background:#d8a24a;
}
.doc-body .cred span{font-size:12.5px !important; color:#5a6275 !important; line-height:1.55 !important; display:block}
@media (max-width:900px){
  .doc-body .creds{grid-template-columns:1fr 1fr !important}
}

/* --- ABOUT PILLARS: 4-col vertical cards --- */
.about-pillars{grid-template-columns:repeat(4,1fr) !important; gap:14px !important; margin-top:36px !important}
.about-pillars .pillar{
  flex-direction:column !important; align-items:center !important; text-align:center !important;
  padding:24px 16px !important; background:#fff !important;
  border:1px solid #ecedf2 !important; border-radius:14px !important;
  box-shadow:0 6px 18px -10px rgba(10,31,61,.12) !important;
}
.about-pillars .pillar > div{width:100%}
.about-pillars .pillar b{
  font-family:'Cormorant Garamond',serif !important;
  font-size:18px !important; font-weight:600 !important; color:#0a1f3d !important;
  position:relative; padding-bottom:10px; margin-bottom:10px !important; display:inline-block;
}
.about-pillars .pillar b::after{
  content:""; position:absolute; left:50%; bottom:0; transform:translateX(-50%);
  width:34px; height:2px; background:#d8a24a;
}
.about-pillars .pillar p{font-size:12.5px !important; color:#5a6275 !important; line-height:1.55 !important}
@media (max-width:900px){
  .about-pillars{grid-template-columns:1fr 1fr !important}
}

/* --- WHY cards: gold underline under heading --- */
.why-card{text-align:center !important; padding:32px 22px !important}
.why-card .icon{margin-left:auto !important; margin-right:auto !important}
.why-card h3{
  position:relative; padding-bottom:12px; margin-bottom:14px !important; display:inline-block;
}
.why-card h3::after{
  content:""; position:absolute; left:50%; bottom:0; transform:translateX(-50%);
  width:38px; height:2px; background:#d8a24a;
}
.why-card p{text-align:center}

/* --- FACILITIES: convert row-list to 3-col card grid --- */
.fac-list{display:grid !important; grid-template-columns:repeat(3,1fr) !important; gap:14px !important; margin-top:18px !important}
.fac-row{
  flex-direction:column !important; align-items:center !important; text-align:center !important;
  padding:24px 16px !important; background:#fff !important;
  border:1px solid #ecedf2 !important; border-radius:14px !important;
  box-shadow:0 6px 18px -10px rgba(10,31,61,.12) !important;
}
.fac-row:hover{transform:translateY(-4px) !important}
.fac-row > div{width:100%}
.fac-row b{
  font-family:'Cormorant Garamond',serif !important;
  font-size:17px !important; font-weight:600 !important; color:#0a1f3d !important;
  position:relative; padding-bottom:10px; margin-bottom:10px !important; display:inline-block; line-height:1.25 !important;
}
.fac-row b::after{
  content:""; position:absolute; left:50%; bottom:0; transform:translateX(-50%);
  width:34px; height:2px; background:#d8a24a;
}
.fac-row p{font-size:12.5px !important; color:#5a6275 !important; line-height:1.55 !important}
@media (max-width:900px){
  .fac-list{grid-template-columns:1fr 1fr !important}
}

/* ECG heartbeat accent line under main H2 in these sections */
.doctor h2, #about h2, .why h2, #facilities h2{
  padding-bottom:18px; position:relative;
}
.doctor h2::after, #about h2::after, .why h2::after, #facilities h2::after{
  content:""; position:absolute; left:0; bottom:0;
  width:180px; height:14px;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 180 14'><path d='M0 7 H60 L66 2 L72 12 L78 4 L84 10 L90 7 H180' fill='none' stroke='%23d8a24a' stroke-width='1.2'/></svg>");
  background-repeat:no-repeat; background-size:contain;
  opacity:.9;
}
.why h2::after{filter:brightness(1.2)}

/* === v82.1: blend colors between sections === */
/* Use soft gradient fades at boundaries so adjoining sections share an edge color
   instead of cutting hard from white -> tint -> navy -> white.
   Section order (post-hero): doctor[white] -> about[soft#f5f7fb→#eef2f9]
                              -> services[navy] -> why[white] -> ricu[white]
                              -> faq[white] -> visit[white]                          */

/* doctor (white) -> about (soft tint) : ease the entry of #about */
#about{
  background:linear-gradient(180deg,#ffffff 0%, #f5f7fb 14%, #eef2f9 100%) !important;
}

/* about (soft) -> services (navy) : darken the tail of #about + lighten head of #services */
#about::after{
  content:"";position:absolute;left:0;right:0;bottom:-1px;height:140px;pointer-events:none;z-index:0;
  background:linear-gradient(180deg, rgba(238,242,249,0) 0%, rgba(20,40,75,.18) 60%, rgba(10,31,61,.55) 100%);
}
#about{position:relative;overflow:hidden}
#services{
  background:linear-gradient(180deg, #1a3460 0%, var(--lx-navy) 18%, var(--lx-navy-deep) 100%) !important;
}
#services::before{
  content:"";position:absolute;left:0;right:0;top:0;height:120px;pointer-events:none;z-index:0;
  background:linear-gradient(180deg, rgba(238,242,249,.35) 0%, rgba(26,52,96,0) 100%);
  mix-blend-mode:screen;
}

/* services (navy) -> why (white) : fade navy tail + add navy wash to top of #why */
#services::after{
  /* keep original radial glow AND add bottom navy→white fade */
  background:
    radial-gradient(900px 500px at 90% -10%, rgba(231,201,138,.12), transparent 60%),
    radial-gradient(700px 500px at 0% 110%, rgba(201,161,74,.08), transparent 60%),
    linear-gradient(180deg, transparent 70%, rgba(10,31,61,.55) 88%, #ffffff 100%) !important;
}
#why{position:relative;overflow:hidden;
  background:linear-gradient(180deg, #eef2f9 0%, #ffffff 18%, #ffffff 100%) !important;
}
#why::before{
  content:"";position:absolute;left:0;right:0;top:0;height:120px;pointer-events:none;z-index:0;
  background:linear-gradient(180deg, rgba(10,31,61,.18) 0%, rgba(10,31,61,0) 100%);
}
#why > *{position:relative;z-index:1}

/* why (white) -> ricu (white) : keep airy, but tint ricu top so it doesn't read as one giant white block */
#ricu{position:relative;
  background:linear-gradient(180deg, #ffffff 0%, #f7f9fc 60%, #eef2f9 100%) !important;
}

/* ricu -> faq : carry the soft tint back to white */
/* Solid backgrounds for the bottom of the page — no awkward fade bands.
   #ricu stays white, #visit stays deep navy, hard edge between them. */
#ricu{background:#ffffff !important}
#visit{position:relative;overflow:hidden;
  background:linear-gradient(180deg, var(--lx-navy) 0%, var(--lx-navy-deep) 100%) !important;
}
#visit::before{content:none !important}

/* CTA card: section.section h2 selector was outranking .cta-inner h2 and
   pulling the headline back to dark ink on a dark card. Re-assert white. */
section.section .cta-inner h2{color:#ffffff !important}
section.section .cta-inner h2 em{color:var(--lx-gold-soft) !important}
section.section .cta-inner p{color:rgba(255,255,255,.82) !important}



/* ===== v97 mobile performance pass ===== */
@media (max-width:900px){
  /* Lighten heavy GPU effects on mobile */
  nav.site{backdrop-filter:saturate(140%) blur(8px) !important;-webkit-backdrop-filter:saturate(140%) blur(8px) !important}
  .hero-textwash,.hero-v2 .hero-textwash{backdrop-filter:none !important;-webkit-backdrop-filter:none !important;background:linear-gradient(90deg,rgba(0,0,0,.45) 0%,rgba(0,0,0,.25) 55%,transparent 100%) !important;-webkit-mask-image:none !important;mask-image:none !important}
  .hero-card{backdrop-filter:blur(8px) saturate(130%) !important;-webkit-backdrop-filter:blur(8px) saturate(130%) !important}
  .hero-chip{backdrop-filter:blur(4px) !important;-webkit-backdrop-filter:blur(4px) !important}
  .m-menu{backdrop-filter:blur(10px) !important;-webkit-backdrop-filter:blur(10px) !important}
  .svc .img i{backdrop-filter:blur(4px) !important;-webkit-backdrop-filter:blur(4px) !important}

  /* Shorter, smoother reveal */
  .reveal{transition:opacity .5s ease,transform .5s cubic-bezier(.2,.7,.2,1) !important;transform:translateY(16px) !important}
  .reveal.in{transform:none !important}

  /* Reserve space → prevent CLS */
  #doctor,#about,#ricu,#facilities,#reviews,#visit,#services,#why{content-visibility:auto;contain-intrinsic-size:1px 700px}

  /* Smoother native scroll */
  html{scroll-behavior:auto}
  body{-webkit-overflow-scrolling:touch;text-rendering:optimizeSpeed}

  /* Promote splash logo & hero img to GPU layer for first paint */
  .splash-logo{will-change:opacity;transform:translateZ(0)}

  /* Kill tap-highlight flash */
  a,button{-webkit-tap-highlight-color:transparent}

  /* Lighter shadows = fewer paints */
  .hero-card{box-shadow:0 14px 40px -18px rgba(0,0,0,.55) !important}
  .map,.cta-inner,.visit-card{box-shadow:0 12px 30px -14px rgba(15,27,61,.22) !important}
}

/* Respect users who want less motion */
@media (prefers-reduced-motion:reduce){
  .reveal{transition:none !important;transform:none !important;opacity:1 !important}
  *{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important}
}


/* v145: final mobile intro logo override — placed last so earlier !important rules cannot win */
@media (max-width:780px){
  #splash .splash-logo{
    width:min(38vw,160px) !important;
    max-width:min(38vw,160px) !important;
    height:auto !important;
    padding:0 !important;
  }
  #splash .splash-name{
    font-size:clamp(24px,5.5vw,36px) !important;
  }
}


/* v159 about image enlargement */
@media (min-width: 781px){
  .about{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr) !important;gap:56px !important}
  .about-media{aspect-ratio:auto !important;height:auto !important;width:100% !important;max-width:none !important}
  .about-media .img-main{position:relative !important;inset:auto !important;display:block !important;aspect-ratio:4/3 !important;min-height:520px !important;width:100% !important;background-size:cover !important;background-position:center !important}
}
@media (max-width: 780px){
  .about-media{max-width:none !important;width:100% !important}
  .about-media{aspect-ratio:auto !important;height:auto !important;max-width:none !important;width:100% !important}
  .about-media .img-main{position:relative !important;inset:auto !important;display:block !important;aspect-ratio:4/3 !important;min-height:320px !important;max-height:none !important;width:100% !important;background-size:cover !important;background-position:center !important}
}
@media (max-width: 420px){
  .about-media .img-main{min-height:300px !important}
}

/* v171: compact mobile cards (cred, pillar, fac-row) */
@media (max-width:780px){
  .doc-body .creds, .about-pillars, .fac-list{gap:10px !important; margin-top:18px !important}
  .doc-body .cred, .about-pillars .pillar, .fac-row{
    padding:14px 10px !important; border-radius:12px !important;
  }
  .cred-ico, .about-pillars .pillar > i, .fac-row > i{
    width:42px !important; height:42px !important; font-size:16px !important;
    margin:0 auto 10px !important;
    box-shadow:0 8px 18px -10px rgba(10,31,61,.45) !important;
  }
  .cred-ico::after, .about-pillars .pillar > i::after, .fac-row > i::after{
    inset:-5px !important; border-width:1px !important;
  }
  .doc-body .cred b, .about-pillars .pillar b, .fac-row b{
    font-size:14px !important; padding-bottom:7px !important; margin-bottom:7px !important; line-height:1.2 !important;
  }
  .doc-body .cred b::after, .about-pillars .pillar b::after, .fac-row b::after,
  .doc-body .cred .cred-sub::after{ width:24px !important; height:1.5px !important }
  .doc-body .cred .cred-sub{font-size:12px !important; padding-bottom:7px !important; margin-bottom:7px !important}
  .doc-body .cred span, .about-pillars .pillar p, .fac-row p{
    font-size:11.5px !important; line-height:1.45 !important;
  }
}
@media (max-width:420px){
  .doc-body .cred, .about-pillars .pillar, .fac-row{padding:12px 8px !important}
  .cred-ico, .about-pillars .pillar > i, .fac-row > i{width:38px !important; height:38px !important; font-size:14px !important; margin-bottom:8px !important}
  .doc-body .cred b, .about-pillars .pillar b, .fac-row b{font-size:13px !important}
  .doc-body .cred span, .about-pillars .pillar p, .fac-row p{font-size:11px !important}
}
