/* ═══════════════════════════════════════════════════════════
   BLACKPOINT DIAGNOSTICS — SHARED STYLESHEET
   Single source of truth. Linked by every page.
   No inline styles for layout. No per-page CSS drift.
   ═══════════════════════════════════════════════════════════ */

/* ── TOKENS ── */
:root{
  --navy:#0a1628;
  --navy-mid:#112240;
  --navy-light:#1a3a5c;
  --gold:#c9a84c;
  --gold-light:#e8c97a;
  --gold-dim:rgba(201,168,76,.15);
  --cream:#f8f4ef;
  --white:#fff;
  --gray:#8a9ab0;
  --text:#1a2a3a;
  --green:#2a9d5c;
  --pad-x:5rem;
  --pad-section:7rem;
}

/* ── RESET ── */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;scroll-padding-top:80px;}
body{font-family:'DM Sans',sans-serif;background:var(--navy);color:var(--white);overflow-x:hidden;font-size:1rem;line-height:1.72;}
img,video,svg{max-width:100%;display:block;}
::-webkit-scrollbar{width:6px;}
::-webkit-scrollbar-track{background:var(--navy);}
::-webkit-scrollbar-thumb{background:var(--gold-dim);border-radius:3px;}

/* ── NAVIGATION ── */
nav{
  position:fixed;top:0;left:0;right:0;z-index:200;
  display:flex;align-items:center;justify-content:space-between;
  padding:.65rem var(--pad-x);
  padding-top:max(.65rem,env(safe-area-inset-top));
  background:rgba(10,22,40,0);
  backdrop-filter:blur(0);
  -webkit-backdrop-filter:blur(0);
  transition:background .4s,backdrop-filter .4s,-webkit-backdrop-filter .4s,border-color .4s,padding .4s;
}
nav.scrolled{
  background:rgba(10,22,40,.96);
  -webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(201,168,76,.12);
}
.nav-logo{
  display:flex;align-items:center;
  text-decoration:none;
  flex-shrink:0;
}
.nav-logo img{
  height:32px;
  width:auto;
  display:block;
}
.nav-links a{
  color:rgba(255,255,255,.65) !important;text-decoration:none !important;
  font-size:.82rem !important;font-weight:500 !important;letter-spacing:.08em !important;text-transform:uppercase !important;
  font-family:'DM Sans',sans-serif !important;
  transition:color .2s;position:relative;
}
.nav-links a::after{
  content:'';position:absolute;bottom:-4px;left:0;
  width:0;height:1px;background:var(--gold);transition:width .2s;
}
.nav-links a.nav-active{color:var(--white);}
.nav-links a.nav-active::after{width:100%;}

.nav-links a:hover{color:var(--white);}
.nav-links a:hover::after{width:100%;}
.nav-cta{
  background:var(--gold) !important;color:var(--navy) !important;
  padding:.55rem 1.4rem !important;border-radius:2px !important;font-weight:600 !important;
}
.nav-cta::after{display:none !important;}
.nav-cta:hover{background:var(--gold-light) !important;}
.hamburger{
  display:none;flex-direction:column;gap:5px;
  cursor:pointer;padding:12px 10px;background:none;border:none;
  min-width:44px;min-height:44px;align-items:center;justify-content:center;
}
.hamburger span{display:block;width:24px;height:2px;background:var(--white);transition:transform .3s,background .3s;}


/* ── MOBILE MENU — Accordion Drawer ── */
.mobile-menu {
  display: none;
  position: fixed;
  top: 0; right: 0; bottom: 0;
  width: min(100vw, 420px);
  background: var(--navy);
  z-index: 300;
  flex-direction: column;
  border-left: 1px solid rgba(201,168,76,.15);
  transform: translateX(100%);
  transition: transform .3s cubic-bezier(.4,0,.2,1);
  box-shadow: -8px 0 40px rgba(0,0,0,.5);
}
.mobile-menu.open {
  display: flex;
  transform: translateX(0);
}

/* Overlay backdrop */
.mm-backdrop {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.55);
  z-index: 299;
  backdrop-filter: blur(2px);
}
.mm-backdrop.open { display: block; }

/* Header row */
.mm-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.25rem 1.5rem;
  border-bottom: 1px solid rgba(255,255,255,.07);
  flex-shrink: 0;
}
.mm-logo {
  display:flex;align-items:center;
  text-decoration:none;
}
.mm-logo img{
  height:28px;
  width:auto;
  display:block;
}
.mm-close {
  background: none;
  border: none;
  color: rgba(255,255,255,.5);
  cursor: pointer;
  padding: .5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 3px;
  transition: color .2s, background .2s;
  min-width: 44px;
  min-height: 44px;
}
.mm-close:hover { color: var(--white); background: rgba(255,255,255,.06); }

/* Scrollable body */
.mm-body {
  flex: 1;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
}
.mm-body::-webkit-scrollbar { width: 3px; }
.mm-body::-webkit-scrollbar-thumb { background: rgba(201,168,76,.25); border-radius: 2px; }

/* Accordion sections */
.mm-section {
  border-bottom: 1px solid rgba(255,255,255,.06);
}
.mm-section-btn {
  width: 100%;
  background: none;
  border: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 1.5rem;
  min-height: 58px;
  cursor: pointer;
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.2rem;
  font-weight: 400;
  color: rgba(255,255,255,.88);
  letter-spacing: .02em;
  text-align: left;
  transition: color .2s, background .2s;
}
.mm-section-btn:hover {
  color: var(--gold);
  background: rgba(201,168,76,.04);
}
.mm-section.open .mm-section-btn { color: var(--gold); }
.mm-chevron {
  color: rgba(201,168,76,.65);
  transition: transform .25s;
  flex-shrink: 0;
}
.mm-section.open .mm-chevron { transform: rotate(180deg); }

/* Sub-items */
.mm-items {
  display: none;
  flex-direction: column;
  background: rgba(255,255,255,.025);
  border-top: 1px solid rgba(255,255,255,.05);
}
.mm-section.open .mm-items { display: flex; }
.mm-item {
  display: block;
  padding: .85rem 1.5rem .85rem 2rem;
  font-family: 'DM Sans', sans-serif;
  font-size: .95rem;
  color: rgba(255,255,255,.58);
  text-decoration: none;
  border-bottom: 1px solid rgba(255,255,255,.04);
  transition: color .15s, background .15s;
  min-height: 44px;
  display: flex;
  align-items: center;
}
.mm-item:last-child { border-bottom: none; }
.mm-item:hover { color: var(--white); background: rgba(201,168,76,.05); }
.mm-item-all {
  color: rgba(201,168,76,.65) !important;
  font-size: .82rem !important;
  letter-spacing: .06em;
}
.mm-item-all:hover { color: var(--gold) !important; }

/* Pinned footer CTA */
.mm-footer {
  flex-shrink: 0;
  padding: 1.25rem 1.5rem 1.5rem;
  border-top: 1px solid rgba(255,255,255,.07);
  background: rgba(10,22,40,.95);
}
.mm-cta-btn {
  display: block;
  width: 100%;
  background: var(--gold);
  color: var(--navy);
  text-align: center;
  padding: .95rem 1rem;
  font-family: 'DM Sans', sans-serif;
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  text-decoration: none;
  border-radius: 3px;
  transition: background .2s;
}
.mm-cta-btn:hover { background: var(--gold-light); }
.mm-footer-note {
  font-size: .68rem;
  color: rgba(255,255,255,.25);
  text-align: center;
  margin-top: .7rem;
  letter-spacing: .06em;
}

/* ── BUTTONS ── */
.btn-primary{
  background:var(--gold);color:var(--navy);
  padding:.9rem 2.2rem;font-size:.82rem;font-weight:600;
  letter-spacing:.1em;text-transform:uppercase;text-decoration:none;
  border-radius:2px;
  display:inline-flex;align-items:center;justify-content:center;
  min-height:44px;border:none;cursor:pointer;
  transition:background .25s,transform .25s,box-shadow .25s;
}
.btn-primary:hover{background:var(--gold-light);transform:translateY(-2px);box-shadow:0 12px 32px rgba(201,168,76,.28);}
.btn-outline{
  border:1px solid rgba(201,168,76,.45);color:var(--gold);
  padding:.85rem 2.2rem;font-size:.82rem;font-weight:500;
  letter-spacing:.1em;text-transform:uppercase;text-decoration:none;
  border-radius:2px;
  display:inline-flex;align-items:center;justify-content:center;
  min-height:44px;
  transition:background .25s,border-color .25s,transform .25s;
}
.btn-outline:hover{background:rgba(201,168,76,.08);border-color:var(--gold);transform:translateY(-2px);}

/* ── LAYOUT ── */
.container{max-width:1200px;margin:0 auto;width:100%;}
.container-sm{max-width:900px;margin:0 auto;width:100%;}

section{padding:var(--pad-section) var(--pad-x);}
.section-inner{max-width:1200px;margin:0 auto;}

/* Background variants */
.bg-navy{background:var(--navy);}
.bg-navy-mid{background:var(--navy-mid);}
.bg-cream{background:var(--cream);}
.bg-cream .section-title,.bg-cream h2{color:var(--text);}
h3{font-family:'Cormorant Garamond',serif;font-size:clamp(1.3rem,2vw,1.8rem);font-weight:400;line-height:1.2;color:var(--white);}
.light-block h3{color:var(--text);}
.bg-cream .section-body,.bg-cream p{color:rgba(26,42,58,.68);}
.bg-cream .section-label{color:var(--navy-light);}
.bg-cream .section-label::before{background:var(--navy-light);}

/* ── TYPOGRAPHY ── */
.section-label{
  font-family:'DM Mono',monospace;font-size:.67rem;
  letter-spacing:.28em;text-transform:uppercase;color:var(--gold);
  margin-bottom:1rem;display:flex;align-items:center;gap:.75rem;
}
.section-label::before{content:'';display:block;width:24px;height:1px;background:var(--gold);}
.section-title{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(1.9rem,3.2vw,3rem);
  font-weight:300;line-height:1.12;color:var(--white);margin-bottom:1.3rem;
}
.section-title em{font-style:italic;color:var(--gold);}
.section-body{font-size:.98rem;line-height:1.75;color:rgba(255,255,255,.65);max-width:620px;}

/* ── HERO ── */
.page-hero{
  padding:clamp(5.5rem,11vh,8rem) var(--pad-x) clamp(3rem,6vh,5rem);
  background:linear-gradient(135deg,var(--navy) 0%,var(--navy-mid) 100%);
  position:relative;overflow:hidden;
}
.page-hero::before{
  content:'';position:absolute;top:-300px;right:-300px;
  width:800px;height:800px;
  background:radial-gradient(circle,rgba(201,168,76,.05) 0%,transparent 65%);
  pointer-events:none;
}
.page-hero::after{
  content:'';position:absolute;bottom:0;left:0;right:0;
  height:1px;background:linear-gradient(to right,transparent,rgba(201,168,76,.2),transparent);
}
.page-hero-inner{max-width:820px;}
/* ── HERO ALIGNMENT MODIFIER ── */
.page-hero--centered .page-hero-inner{text-align:center;margin:0 auto;}
.page-hero--centered .hero-actions{justify-content:center;}

.page-eyebrow{
  font-family:'DM Mono',monospace;font-size:.68rem;
  letter-spacing:.25em;text-transform:uppercase;color:var(--gold);
  margin-bottom:1.4rem;display:flex;align-items:center;gap:.75rem;
  opacity:0;animation:fadeUp .7s ease .1s forwards;
}
.page-eyebrow::before{content:'';display:block;width:28px;height:1px;background:var(--gold);}
.page-hero h1{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(2.6rem,4.5vw,4.5rem);
  font-weight:300;line-height:1.08;color:var(--white);margin-bottom:1.6rem;
  opacity:0;animation:fadeUp .7s ease .25s forwards;
}
.page-hero h1 em{font-style:italic;color:var(--gold);}
.page-hero p{
  font-size:1.05rem;color:rgba(255,255,255,.62);line-height:1.8;
  max-width:640px;margin-bottom:2.8rem;
  opacity:0;animation:fadeUp .7s ease .4s forwards;
}
.hero-actions{
  display:flex;gap:1rem;flex-wrap:wrap;
  opacity:0;animation:fadeUp .7s ease .55s forwards;
}

/* ── TRUST BAR ── */
.trust-bar{
  background:var(--navy-mid);
  border-top:1px solid rgba(201,168,76,.18);
  border-bottom:1px solid rgba(201,168,76,.18);
  padding:1.1rem var(--pad-x);
  display:flex;align-items:center;justify-content:center;
  gap:2.5rem;flex-wrap:wrap;
}
/* ── NAV CLEARANCE ── */
/* Trust bar as first visible element needs to clear the fixed nav */
.trust-bar{margin-top:58px;}
/* Reset when trust bar follows a page-hero (hero already clears nav) */
.page-hero ~ .trust-bar,
.page-hero + .trust-bar{margin-top:0;}
/* Page-hero itself clears nav via its padding — just ensure no extra top margin */
.page-hero{margin-top:0;}

.trust-bar-item{
  display:flex;align-items:center;gap:.55rem;
  font-size:.77rem;letter-spacing:.07em;color:rgba(255,255,255,.65);
}
.tbi,.trust-bar-item .icon{color:var(--gold);}

/* ── RESPONSIVE GRID CLASSES ── */
/* Use these instead of inline style="" grids */
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,4vw,6rem);}
.grid-2-tight{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,3vw,3rem);}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;}
.grid-sidebar{display:grid;grid-template-columns:1fr 380px;gap:clamp(2rem,4vw,5rem);align-items:start;}

/* Legacy class names — keep working */
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,4vw,6rem);align-items:start;}
.three-col{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;}
.four-col{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;}

/* ── PRICE BOX (never sticky on small screens) ── */
.price-box{
  background:rgba(201,168,76,.06);
  border:1px solid rgba(201,168,76,.25);
  border-radius:4px;padding:2.5rem;
}

/* ── CARDS ── */
.card{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);border-radius:4px;padding:1.8rem;transition:border-color .3s;}
.card:hover{border-color:rgba(201,168,76,.25);}
.card h4{font-size:.95rem;font-weight:600;color:var(--white);margin-bottom:.5rem;}
.card p{font-size:.82rem;color:rgba(255,255,255,.5);line-height:1.65;}

/* ── CHECK LIST ── */
.check-list{list-style:none;}
.check-list li{
  display:flex;align-items:flex-start;gap:.8rem;
  padding:.65rem 0;border-bottom:1px solid rgba(255,255,255,.06);
  font-size:.9rem;color:rgba(255,255,255,.72);line-height:1.55;
}
.check-list li:last-child{border-bottom:none;}
.check-list li::before{content:'✓';color:var(--gold);font-size:.78rem;font-weight:700;flex-shrink:0;margin-top:.18rem;}

/* ── STEPS ── */
.step-v{display:flex;gap:1.5rem;padding:1.8rem 0;border-bottom:1px solid rgba(255,255,255,.07);}
.step-v h4{font-size:.95rem;font-weight:600;color:var(--white);margin-bottom:.4rem;}

/* ── CTA SECTION ── */
.cta-section{
  background:var(--navy-mid);text-align:center;
  padding:8rem var(--pad-x);position:relative;overflow:hidden;
}
.cta-glow{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:700px;height:700px;
  background:radial-gradient(circle,rgba(201,168,76,.07) 0%,transparent 65%);
  pointer-events:none;
}
.cta-actions{display:flex;gap:1.2rem;justify-content:center;flex-wrap:wrap;margin-top:2.5rem;}

/* ── FOOTER ── */
footer{
  background:#060e1a;
  padding:2.5rem var(--pad-x) 1.5rem;
  border-top:1px solid rgba(255,255,255,.05);
}

/* 5-column desktop grid: Brand | Service Areas | Services | Packages | Company */
.footer-grid{
  display:grid;
  grid-template-columns:2fr 1.5fr 1fr 1fr 1fr;
  gap:2rem;
  margin-bottom:2rem;
  align-items:start;
}

.footer-logo{margin-bottom:.9rem;display:block;}
.footer-logo img{height:28px;width:auto;display:block;}
.footer-brand p{font-size:.78rem;color:rgba(255,255,255,.45);line-height:1.6;max-width:240px;margin-bottom:.6rem;}
.footer-social{display:flex;gap:1.2rem;margin-top:.75rem;}
.footer-social-link{font-size:.75rem;color:rgba(255,255,255,.55);text-decoration:none;letter-spacing:.06em;transition:color .2s;}
.footer-social-link:hover{color:var(--gold);}

/* Column headings */
.footer-col h5{
  font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--gold);margin-bottom:.8rem;
  display:flex;align-items:center;justify-content:space-between;
}

/* Service Areas — 2-column internal grid */
.footer-areas-grid{
  list-style:none;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:.25rem .5rem;
}
.footer-areas-grid li a{font-size:.76rem;color:rgba(255,255,255,.42);text-decoration:none;transition:color .2s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.footer-areas-grid li a:hover{color:var(--white);}

/* Regular columns */
.footer-col ul{list-style:none;}
.footer-col ul li{margin-bottom:.35rem;}
.footer-col ul li a{font-size:.78rem;color:rgba(255,255,255,.45);text-decoration:none;transition:color .2s;}
.footer-col ul li a:hover{color:var(--white);}

/* Accordion chevron — visible on mobile only */
.fc-chevron{
  display:none;
  width:9px;height:9px;flex-shrink:0;
  border-right:1.5px solid rgba(201,168,76,.6);
  border-bottom:1.5px solid rgba(201,168,76,.6);
  transform:rotate(45deg);
  transition:transform .25s;
}

/* Bottom bar */
.footer-divider{height:1px;background:rgba(255,255,255,.05);margin-bottom:1.1rem;}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;}
.footer-legal{display:flex;gap:1.2rem;flex-wrap:wrap;}
.footer-legal a{font-size:.72rem;color:rgba(255,255,255,.55);text-decoration:none;transition:color .2s;}
.footer-legal a:hover{color:rgba(255,255,255,.65);}
.footer-copy{font-size:.72rem;color:rgba(255,255,255,.55);}
.footer-badges{display:flex;gap:.75rem;flex-wrap:wrap;}
.footer-badge{
  font-family:'DM Mono',monospace;font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;
  color:rgba(255,255,255,.55);border:1px solid rgba(255,255,255,.09);padding:.2rem .55rem;border-radius:2px;
}



/* ── FOCUS STYLES (keyboard navigation) ── */
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:2px;}
:focus:not(:focus-visible){outline:none;}


/* ── SKIP TO CONTENT ── */
.skip-link{position:absolute;top:-100%;left:1rem;background:var(--gold);color:var(--navy);padding:.6rem 1.2rem;font-size:.82rem;font-weight:700;text-decoration:none;border-radius:0 0 4px 4px;z-index:10000;transition:top .2s;}
.skip-link:focus{top:0;}
/* ── ANIMATIONS ── */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .65s ease,transform .65s ease;}
.reveal.visible{opacity:1;transform:translateY(0);}
/* Ensure reveal doesn't permanently hide content if JS fails */
@media (prefers-reduced-motion: reduce){.reveal,.page-eyebrow,.page-hero h1,.page-hero p,.hero-actions{opacity:1 !important;transform:none !important;animation:none !important;transition:none !important;}}
@keyframes fadeUp{from{opacity:0;transform:translateY(28px);}to{opacity:1;transform:translateY(0);}}

/* ═══════════════════════════════════════════
   BREAKPOINTS
   ═══════════════════════════════════════════ */

/* ── TABLET: 769–1100px ── */

/* ── MOBILE: max 768px ── */

/* ── NAV LINKS ── */
.nav-links{
  display:flex;
  gap:2rem;
  list-style:none;
  align-items:center;
  flex-wrap:nowrap;
}

/* ── HOVER DROPDOWNS (desktop only) ── */
.has-dropdown{position:relative;}

/* Invisible hover bridge so mouse can travel to dropdown */
.has-dropdown::after{
  content:'';
  position:absolute;
  bottom:-12px;
  left:0;
  width:100%;
  height:12px;
}

.dropdown{
  display:block;
  visibility:hidden;
  position:absolute;
  top:calc(100% + 12px);
  left:50%;
  transform:translateX(-50%);
  background:#0d1e36;
  border:1px solid rgba(201,168,76,.18);
  border-radius:4px;
  min-width:200px;
  list-style:none;
  padding:.4rem 0;
  z-index:2000;
  box-shadow:0 16px 48px rgba(0,0,0,.55);
  pointer-events:none;
  opacity:0;
  transition:opacity .15s ease,visibility .15s ease;
}

/* Dropdown arrow tip */
.dropdown::before{
  content:'';
  position:absolute;
  top:-6px;
  left:50%;
  transform:translateX(-50%);
  width:0;height:0;
  border-left:6px solid transparent;
  border-right:6px solid transparent;
  border-bottom:6px solid rgba(201,168,76,.25);
}

.has-dropdown:hover .dropdown,
.has-dropdown:focus-within .dropdown{
  visibility:visible;
  pointer-events:all;
  opacity:1;
}

.dropdown li a{
  display:block;
  padding:.6rem 1.3rem;
  font-size:.76rem !important;
  letter-spacing:.05em !important;
  color:rgba(255,255,255,.62) !important;
  white-space:nowrap;
  text-transform:uppercase !important;
  font-weight:400 !important;
  transition:color .15s, background .15s;
  border-bottom:none !important;
}
.dropdown li a::after{display:none !important;}
.dropdown li a:hover{
  color:var(--gold) !important;
  background:rgba(255,255,255,.04);
}
.dropdown li + li{border-top:1px solid rgba(255,255,255,.05);}

/* ── DROPDOWN TRIGGER LABELS (no-navigate parent items) ── */
.nav-dropdown-label {
  color: rgba(255,255,255,.65);
  font-size: .82rem;
  font-weight: 500;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-family: 'DM Sans', sans-serif;
  cursor: default;
  position: relative;
  user-select: none;

  background:none;border:none;cursor:pointer;
}
.nav-dropdown-label::after {
  content: '';
  position: absolute;
  bottom: -4px;
  left: 0;
  width: 0;
  height: 1px;
  background: var(--gold);
  transition: width .2s;
}
.has-dropdown:hover .nav-dropdown-label {
  color: var(--white);
}
.has-dropdown:hover .nav-dropdown-label::after {
  width: 100%;
}

/* ── TABLET: 769px–1024px ── */

/* ── TOUCH ACTION ── */
.table-scroll, .mm-body { touch-action: pan-y; }
@media(min-width:769px) and (max-width:1024px){
  :root{--pad-x:2rem;--pad-section:4rem;}
  .page-hero{padding:5.5rem var(--pad-x) 3rem;}
  .page-hero h1{font-size:clamp(2rem,5vw,3.2rem);}
  .section-title{font-size:clamp(1.7rem,4vw,2.6rem);}
  [style*="max-width:1200px"],[style*="max-width:1100px"],[style*="max-width:1050px"]{
    max-width:100% !important;padding-left:2rem !important;padding-right:2rem !important;
  }
  [style*="gap:4rem"]{gap:2.5rem !important;}
  [style*="gap:3rem"]{gap:2rem !important;}
  [style*="padding:5rem 2rem"]{padding:4rem 2rem !important;}
  /* Trust bar wraps gracefully */
  .trust-bar{gap:1rem;flex-wrap:wrap;}
  /* Footer on tablet: Brand spans full width, 4 cols below */
  .footer-grid{grid-template-columns:2fr 1fr 1fr 1fr;gap:1.5rem;}
  .footer-brand{grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;align-items:start;}
  .footer-brand p,.footer-brand .footer-social{max-width:none;}
  /* Nav stays visible on tablet */
  .hamburger{display:none;}
  .nav-links{display:flex;}
}

@media(max-width:768px){
  .dropdown{display:none !important;}
  .has-dropdown::after{display:none;}

  :root{--pad-x:1.25rem;--pad-section:3.5rem;}

  .page-hero{padding:4.5rem var(--pad-x) 2.5rem;}
  .cta-section{padding:5rem var(--pad-x);}
  footer{padding:2rem var(--pad-x) 1.2rem;}

  .page-hero h1{font-size:clamp(1.9rem,7.5vw,3rem);}
  .section-title{font-size:clamp(1.55rem,5.5vw,2.2rem);}
  .section-body{font-size:.92rem;}

  .nav-links{display:none;}
  .hamburger{display:flex;}

  /* All grids → single column */
  .two-col,.three-col,.grid-2,.grid-3,.grid-sidebar{
    grid-template-columns:1fr;gap:1.5rem;
  }
  .grid-2-tight{grid-template-columns:1fr;gap:1.2rem;}
  .four-col,.grid-4{grid-template-columns:1fr 1fr;gap:1rem;}
  /* ── MOBILE FOOTER ACCORDION ── */
  .footer-grid{display:block;}
  .footer-brand{padding-bottom:1.25rem;margin-bottom:1.25rem;border-bottom:1px solid rgba(255,255,255,.07);}
  .footer-brand p{max-width:100%;}
  .footer-col{border-bottom:1px solid rgba(255,255,255,.07);}
  .footer-col h5{cursor:pointer;padding:.9rem 0;margin-bottom:0;user-select:none;-webkit-user-select:none;}
  .fc-chevron{display:block;}
  .footer-col ul,.footer-areas-grid{max-height:0;overflow:hidden;transition:max-height .35s ease;margin-bottom:0;}
  .footer-col.fc-open ul,.footer-col.fc-open .footer-areas-grid{max-height:700px;margin-bottom:.85rem;}
  .footer-col.fc-open .fc-chevron{transform:rotate(-135deg);}
  .footer-col.fc-open .footer-areas-grid{grid-template-columns:1fr 1fr;}
  .footer-bottom{flex-direction:column;gap:.75rem;text-align:center;}
  .footer-badges{justify-content:center;flex-wrap:wrap;}

  .price-box{position:static;margin-top:0;}

  /* Buttons stack */
  .hero-actions{flex-direction:column;align-items:stretch;gap:.8rem;}
  .hero-actions a{text-align:center;width:100%;}
  .cta-actions{flex-direction:column;align-items:center;gap:.8rem;}
  .cta-actions a{width:100%;max-width:320px;}

  .trust-bar{gap:.7rem;}
  .trust-bar-item{font-size:.72rem;}
  .step-v{gap:1rem;}
  .cta-glow{display:none;}

  /* Inline grid overrides */
  [style*="grid-template-columns"]{
    grid-template-columns:1fr !important;
    gap:1.5rem !important;
  }
  /* Exception: keep 1fr 1fr for stat grids / 2-item grids */
  [style*="grid-template-columns:1fr 1fr"][data-grid="2col-keep"]{
    grid-template-columns:1fr 1fr !important;
  }

  /* Inline padding overrides */
  [style*="padding:7rem 5rem"]{padding:3.5rem 1.25rem !important;}
  [style*="padding:8rem 5rem"]{padding:4rem 1.25rem !important;}
  [style*="padding:5rem 5rem"]{padding:3rem 1.25rem !important;}
  [style*="padding:6rem 5rem"]{padding:3.5rem 1.25rem !important;}
  [style*="padding:0 5rem"]{padding:0 1.25rem !important;}

  /* Inline gap overrides */
  [style*="gap:6rem"]{gap:2rem !important;}
  [style*="gap:5rem"]{gap:2rem !important;}
  [style*="gap:4rem"]{gap:1.5rem !important;}

  /* Inline position:sticky */
  [style*="position:sticky"]{position:static !important;top:auto !important;}

  /* Max-width containers */
  [style*="max-width:1200px"],[style*="max-width:1100px"]{max-width:100% !important;}

  /* Overflow scroll for tables */
  .table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;}


  /* New page inline padding patterns */
  [style*="padding:5rem 2rem"]{padding:3rem 1.25rem !important;}
  [style*="padding:3.5rem 2rem"]{padding:2.5rem 1.25rem !important;}
  [style*="padding:7rem 0 4rem"]{padding:4.5rem 1.25rem 2.5rem !important;}
  
  /* Stat grids - allow 2-col on mobile for short numbers */
  [style*="grid-template-columns:repeat(auto-fit,minmax(160px"]{
    grid-template-columns:1fr 1fr !important;
    gap:1rem !important;
  }
  
  /* Touch targets: ensure all buttons and links are at least 44px */
  .btn-primary,.btn-outline,.nav-cta{min-height:44px;display:inline-flex;align-items:center;justify-content:center;}
  /* mm-item touch targets already set in .mm-item */
  
  /* Flex row CTAs → stack on mobile */
  [style*="display:flex"][style*="gap:1rem"][style*="justify-content:center"]{
    flex-direction:column !important;align-items:stretch !important;
  }
  [style*="display:flex"][style*="gap:1rem"][style*="justify-content:center"] a{
    text-align:center !important;width:100% !important;
  }

} /* end 768px */

/* ── SMALL PHONE: max 380px ── */
@media(max-width:380px){
  :root{--pad-x:1rem;--pad-section:3rem;}
  .page-hero h1{font-size:1.8rem;}
  .four-col,.grid-4{grid-template-columns:1fr;}
  [style*="grid-template-columns:repeat(4"]{grid-template-columns:1fr !important;}
}

/* ── NAV PROTECTION — prevents style injection from third-party embeds ── */
#main-nav,
#main-nav *,
#main-nav a,
.nav-links,
.nav-links li,
.nav-links a,
.nav-links a:visited {
  color: rgba(255,255,255,0.65) !important;
  text-decoration: none !important;
  font-family: 'DM Sans', sans-serif !important;
}
#main-nav .nav-cta,
#main-nav .nav-cta:visited {
  background: var(--gold) !important;
  color: var(--navy) !important;
}

/* ── FAQ V2 (Cardiologist Consultation + single-page FAQs) ── */
.faq-v2{display:flex;flex-direction:column;gap:0;}
.faq-item-v2{border-bottom:1px solid rgba(255,255,255,.07);}
.faq-q-v2{
  width:100%;background:none;border:none;
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding:1.2rem 0;cursor:pointer;
  font-family:'DM Sans',sans-serif;font-size:.95rem;font-weight:500;
  color:rgba(255,255,255,.8);text-align:left;transition:color .2s;
}
.faq-q-v2:hover{color:#c9a84c;}
.faq-arrow-v2{
  font-size:1.4rem;color:#c9a84c;transition:transform .3s;flex-shrink:0;
  display:inline-block;line-height:1;
}
.faq-item-v2.open .faq-arrow-v2{transform:rotate(90deg);}
.faq-a-v2{
  max-height:0;overflow:hidden;transition:max-height .4s ease, padding .3s;
  /* F8 — Comparison table legibility on mobile */
  .comp-tbl { font-size: .8rem; }
  .comp-tbl th { font-size: .72rem; letter-spacing: .06em; }
  .comp-tbl th span { font-size: .65rem; }
  .comp-tbl td { font-size: .78rem; }

  /* F9 — Sub-14px font size floor (11.5px minimum for labels) */
  .section-label, .page-eyebrow,
  .tier-num, .footer-col h5,
  .blog-tag, .reviewer, .step-num {
    font-size: max(.72rem, 11.5px) !important;
    letter-spacing: .1em;
  }

  /* F13 — Padding overrides: space-after-colon variants */
  [style*="padding: 7rem 5rem"] { padding: 3.5rem 1.25rem !important; }
  [style*="padding: 8rem 5rem"] { padding: 4rem 1.25rem !important; }
  [style*="padding: 5rem 5rem"] { padding: 3rem 1.25rem !important; }
  [style*="padding: 6rem 5rem"] { padding: 3.5rem 1.25rem !important; }
  [style*="padding: 0 5rem"]    { padding: 0 1.25rem !important; }
  [style*="padding: 5rem 2rem"] { padding: 3rem 1.25rem !important; }
  [style*="padding: 7rem 0 4rem"] { padding: 4.5rem 1.25rem 2.5rem !important; }

  /* F15 — FAQ answer max-height — prevent clipping on long answers */
  .faq-item.open .faq-a    { max-height: 800px; }
  .faq-item-v2.open .faq-a-v2 { max-height: 800px; }

  /* F16 — Value comparison rows wrap on narrow screens */
  .value-row { flex-wrap: wrap; gap: .25rem; }
  .value-row-label { flex: 1; min-width: 150px; }
  .value-row-bp { flex-shrink: 0; }

  /* F19 — Ensure table scrolls horizontally without breaking layout */
  .comp-tbl { min-width: 480px; }
  .comp-tbl-wrap, [style*="overflow-x:auto"] { overflow-x: auto; -webkit-overflow-scrolling: touch; }


}
.faq-item-v2.open .faq-a-v2{max-height:400px;padding-bottom:1.2rem;}
.faq-a-v2 p{font-size:.9rem;color:rgba(255,255,255,.52);line-height:1.8;margin:0;}

/* ── PRINT STYLES ── */
@media print{
  body{background:#fff;color:#000;}
  nav,footer,.chatbot-widget,
  #bp-chat-bubble,#bp-chat-window,
  .cta-glow,.trust-bar{display:none !important;}
  .page-hero{background:#fff;padding:1rem 0;}
  .page-hero h1,.section-title{color:#000;}
  section{padding:1rem 0;background:#fff;}
  a{color:#000;text-decoration:underline;}
  .btn-primary,.btn-outline{display:none;}
  .reveal{opacity:1;transform:none;}
}
