
/* ═══════════════════════════════════════════════════════════
   RESET & ROOT
═══════════════════════════════════════════════════════════ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size: 16px}

/* Offset for sticky nav */
section[id],footer[id],div.addons-section{scroll-margin-top:72px;}

:root{
  /* ── NP Digital-inspired palette ─────────────────────── */
  --accent:    #FF5A1F;   /* signature coral/orange */
  --accent-d:  #E04A12;
  --accent-l:  #FFEDE3;
  --ink:       #0E1116;   /* near-black charcoal for headings */
  --text:      #1F2933;   /* primary body text */
  --muted:     #5A6675;   /* secondary text */
  --line:      #E6E8EC;   /* hairline borders */
  --bg:        #FFFFFF;   /* primary background */
  --bg-soft:   #F7F8FA;   /* soft section background */
  --bg-tint:   #F1F3F6;   /* slightly darker section */
  --white:     #FFFFFF;
  --success:   #11A36B;

  /* ── Legacy tokens remapped (so existing classes still work) ─ */
  --teal:    var(--accent);
  --teal-d:  var(--accent-d);
  --teal-l:  var(--accent-l);
  --teal-m:  #FFD3BD;
  --navy:    var(--ink);
  --navy-m:  #2A3340;
  --yellow:  var(--accent);
  --yell-d:  var(--accent-d);
  --yell-l:  var(--accent-l);
  --cream:   var(--bg-soft);
  --border:  var(--line);
  --rose:    var(--accent);

  /* ── Typography (NP Digital-inspired) ─────────────────── */
  --fd: 'Sora', 'Inter', system-ui, -apple-system, sans-serif;
  --fb: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
}

body{
  font-family:var(--fb);
  background:var(--bg);
  color:var(--text);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
  line-height:1.6;
  font-size:16px;
  font-weight:400;
  letter-spacing:-0.005em;
}

/* ═══════════════════════════════════════════════════════════
   STICKY NAV
═══════════════════════════════════════════════════════════ */
.nav{
  position:fixed;top:0;left:0;right:0;
  z-index:1000;
  background:rgba(255,255,255,0.92);
  backdrop-filter:blur(14px) saturate(160%);
  -webkit-backdrop-filter:blur(14px) saturate(160%);
  border-bottom:1px solid var(--line);
  transition:all 0.25s ease;
}

.nav-inner{
  max-width:1200px;margin:0 auto;
  padding:0 24px;
  display:flex;align-items:center;justify-content:space-between;
  height:72px;
}

.nav-logo{
  display:flex;align-items:baseline;gap:2px;
  text-decoration:none;
  white-space:nowrap;
}

/* Text-based logo — "Thrive" emphasized bold, "link.Media" lighter */
.brand-text{
  font-family:var(--fd);
  font-size:22px;
  font-weight:400;
  color:var(--ink);
  letter-spacing:-0.02em;
  line-height:1;
}
.brand-text .brand-strong{
  font-weight:800;
  color:var(--ink);
}
.brand-text .brand-dot{
  color:var(--accent);
  font-weight:700;
}

.nav-links{
  display:flex;align-items:center;gap:4px;
}

.nav-links a{
  color:var(--text);
  text-decoration:none;
  font-size:14px;
  font-weight:500;
  padding:8px 14px;
  border-radius:8px;
  transition:color 0.2s;
  letter-spacing:-0.005em;
}

.nav-links a:hover{
  color:var(--accent);
}

.nav-links a.active{color:var(--accent);}

.nav-cta{
  background:var(--accent);
  color:var(--white) !important;
  font-weight:600 !important;
  padding:10px 20px !important;
  border-radius:6px !important;
  box-shadow:0 2px 8px rgba(255,90,31,0.18);
  transition:all 0.2s !important;
}

.nav-cta:hover{
  background:var(--accent-d) !important;
  color:var(--white) !important;
  box-shadow:0 4px 14px rgba(255,90,31,0.28) !important;
  transform:translateY(-1px);
}

.hamburger{
  display:none;
  flex-direction:column;gap:5px;
  cursor:pointer;padding:6px;
}
.hamburger span{
  display:block;width:22px;height:2px;
  background:var(--ink);border-radius:2px;
  transition:all 0.3s;
}

.mobile-menu{
  display:none;
  position:fixed;
  top:72px;left:0;right:0;
  background:var(--white);
  padding:12px 20px 20px;
  border-bottom:1px solid var(--line);
  box-shadow:0 12px 30px rgba(14,17,22,0.08);
  flex-direction:column;gap:2px;
  z-index:999;
}

.mobile-menu a{
  color:var(--text);
  text-decoration:none;
  font-size:15px;
  font-weight:500;
  padding:14px 16px;
  border-radius:8px;
  transition:all 0.2s;
  display:block;
}

.mobile-menu a:hover{background:var(--bg-soft);color:var(--accent);}
.mobile-menu .m-cta{background:var(--accent);color:var(--white);font-weight:600;margin-top:10px;text-align:center;border-radius:6px;}
.mobile-menu .m-cta:hover{background:var(--accent-d);color:var(--white);}

/* ═══════════════════════════════════════════════════════════
   HERO
═══════════════════════════════════════════════════════════ */
#home{
  min-height:100vh;
  background:var(--bg);
  display:flex;flex-direction:column;
  position:relative;overflow:hidden;
  padding-top:72px;
  border-bottom:1px solid var(--line);
}

.hero-orb-1{
  position:absolute;width:600px;height:600px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,90,31,0.08) 0%,transparent 70%);
  top:-200px;right:-150px;pointer-events:none;
}
.hero-orb-2{
  position:absolute;width:340px;height:340px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,90,31,0.04) 0%,transparent 70%);
  bottom:-100px;left:-80px;pointer-events:none;
}
.hero-orb-3{
  position:absolute;width:200px;height:200px;border-radius:50%;
  background:rgba(255,90,31,0.05);
  top:40%;left:55%;pointer-events:none;
}

.hero-body{
  flex:1;
  display:flex;flex-direction:column;justify-content:center;
  padding:60px 24px 48px;
  max-width:980px;margin:0 auto;width:100%;
  position:relative;z-index:2;
}

.hero-eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--accent-l);
  border:1px solid rgba(255,90,31,0.18);
  border-radius:100px;
  padding:7px 16px;
  font-size:13.2px;font-weight:700;
  letter-spacing:0.1em;text-transform:uppercase;
  color:var(--accent-d);
  margin-bottom:28px;
  width:fit-content;
}

.hero-cross{width:12px;height:12px;position:relative;flex-shrink:0;}
.hero-cross::before,.hero-cross::after{
  content:'';position:absolute;background:var(--accent);border-radius:2px;
}
.hero-cross::before{width:3px;height:12px;left:4.5px;top:0;}
.hero-cross::after{width:12px;height:3px;left:0;top:4.5px;}

.hero-h1{
  font-family:var(--fd);
  font-size:clamp(44px,7.7vw,79.2px);
  font-weight:700;
  line-height:1.04;
  color:var(--ink);
  letter-spacing:-0.03em;
  margin-bottom:24px;
}
.hero-h1 em{font-style:normal;color:var(--accent);}

.hero-sub{
  font-size:clamp(17.6px,1.76vw,20.9px);
  color:var(--muted);
  line-height:1.6;
  max-width:620px;
  margin-bottom:36px;
  font-weight:400;
}
.hero-sub strong{color:var(--ink);font-weight:600;}

.hero-btns{
  display:flex;flex-wrap:wrap;gap:12px;
  margin-bottom:48px;
}

.btn-primary{
  background:var(--accent);
  color:var(--white);
  font-size:15px;
  font-weight:600;
  padding:15px 28px;
  border-radius:6px;
  text-decoration:none;
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  box-shadow:0 4px 14px rgba(255,90,31,0.25);
  transition:all 0.2s;
  letter-spacing:-0.005em;
  line-height:1.2;
  white-space:nowrap;
}
.btn-primary:hover{
  background:var(--accent-d);
  transform:translateY(-1px);
  box-shadow:0 8px 22px rgba(255,90,31,0.35);
}

.btn-outline{
  background:transparent;
  color:var(--ink);
  font-size:15px;
  font-weight:600;
  padding:15px 28px;
  border-radius:6px;
  text-decoration:none;
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  border:1.5px solid var(--ink);
  transition:all 0.2s;
  line-height:1.2;
  white-space:nowrap;
}
.btn-outline:hover{
  background:var(--ink);
  color:var(--white);
}

/* Trust bar */
.hero-trust{
  display:flex;flex-wrap:wrap;gap:8px;
  margin-bottom:36px;
}
.trust-pill{
  display:inline-flex;align-items:center;gap:6px;
  background:var(--bg-soft);
  border:1px solid var(--line);
  border-radius:100px;
  padding:7px 14px;
  font-size:13px;
  font-weight:500;
  color:var(--text);
}
.tp-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);flex-shrink:0;}
.tp-dot.gold{background:var(--accent);}

/* Stats strip */
.hero-stats{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  background:var(--bg-soft);
  border-radius:14px;
  overflow:hidden;
  border:1px solid var(--line);
}
.hst{
  padding:22px 14px;
  text-align:center;
  border-right:1px solid var(--line);
  background:transparent;
}
.hst:last-child{border-right:none;}
.hst-n{
  font-family:var(--fd);
  font-size:clamp(24px,3.8vw,34px);
  font-weight:700;
  color:var(--accent);
  line-height:1;margin-bottom:6px;
  letter-spacing:-0.02em;
}
.hst-l{
  font-size:11px;
  font-weight:600;
  color:var(--muted);
  text-transform:uppercase;letter-spacing:0.08em;
  line-height:1.3;
}

/* ticker bar */
.ticker-wrap{
  background:var(--ink);
  padding:14px 0;
  overflow:hidden;
  white-space:nowrap;
}
.ticker-inner{
  display:inline-flex;
  animation:ticker 30s linear infinite;
}
.ticker-inner span{
  font-size:12px;
  font-weight:600;
  letter-spacing:0.12em;text-transform:uppercase;
  color:var(--white);
  padding:0 28px;
}
.ticker-sep{color:var(--accent);}
@keyframes ticker{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ═══════════════════════════════════════════════════════════
   SHARED SECTION STYLES
═══════════════════════════════════════════════════════════ */
section{width:100%;}

.container{max-width:1200px;margin:0 auto;padding:0 32px;}

.section-wrap{padding:96px 0;}

/* Offset anchor jump for sticky nav (72px nav height + 12px breathing) */
section[id], #contact {
  scroll-margin-top: 84px;
}

.eyebrow{
  font-size:12px;
  font-weight:700;
  letter-spacing:0.14em;text-transform:uppercase;
  margin-bottom:14px;
}
.ey-teal{color:var(--accent);}
.ey-gold{color:var(--accent);}
.ey-white{color:rgba(255,255,255,0.55);}

.sec-h{
  font-family:var(--fd);
  font-size:clamp(30px,4.4vw,46px);
  font-weight:700;
  line-height:1.1;
  letter-spacing:-0.025em;
  margin-bottom:18px;
  color:var(--ink);
}
.sec-h em{font-style:normal;color:var(--accent);}
.sec-h.light{color:var(--white);}
.sec-h.light em{color:var(--accent);}
.sec-h.dark{color:var(--ink);}
.sec-h.dark em{color:var(--accent);}

.sec-sub{
  font-size:17px;
  color:var(--muted);
  line-height:1.65;
  max-width:620px;
  margin-bottom:56px;
  font-weight:400;
}
.sec-sub.center{text-align:center;margin-left:auto;margin-right:auto;}
.sec-sub.light{color:rgba(255,255,255,0.65);}

.header-center{text-align:center;}
.header-center .sec-sub{margin-left:auto;margin-right:auto;}

/* Reveal */
.reveal{opacity:0;transform:translateY(28px);transition:opacity 0.6s ease,transform 0.6s ease;}
.reveal.visible{opacity:1;transform:none;}
.rd1{transition-delay:0.08s;} .rd2{transition-delay:0.16s;}
.rd3{transition-delay:0.24s;} .rd4{transition-delay:0.32s;}

/* ═══════════════════════════════════════════════════════════
   SERVICES
═══════════════════════════════════════════════════════════ */
#services{background:var(--bg);}

.services-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:24px;
}

.svc-card{
  background:var(--white);
  border:1px solid var(--line);
  border-radius:14px;
  padding:32px 28px;
  position:relative;
  overflow:hidden;
  transition:transform 0.25s,box-shadow 0.25s,border-color 0.25s;
  cursor:default;
  display:grid;
  grid-template-columns:1fr auto;
  gap:32px;
  align-items:center;
}
.svc-card::before{
  content:'';
  position:absolute;
  top:0;left:0;right:0;height:3px;
  background:var(--accent);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform 0.3s ease;
}
.svc-card:hover{
  transform:translateY(-3px);
  box-shadow:0 14px 40px rgba(14,17,22,0.08);
  border-color:rgba(255,90,31,0.25);
}
.svc-card:hover::before{transform:scaleX(1);}

.svc-card.featured{
  border-color:rgba(255,90,31,0.25);
  background:linear-gradient(180deg,rgba(255,90,31,0.025),transparent 80%);
}
.svc-card.featured::before{transform:scaleX(1);}

.svc-icon-wrap{
  width:48px;height:48px;
  border-radius:12px;
  display:flex;align-items:center;justify-content:center;
  font-size:22px;
  margin-bottom:18px;
}
.ic-teal{background:var(--accent-l);}
.ic-gold{background:var(--accent-l);}
.ic-navy{background:var(--bg-tint);}
.ic-rose{background:var(--accent-l);}

.svc-title{
  font-family:var(--fd);
  font-size:19px;
  font-weight:700;
  color:var(--ink);
  margin-bottom:10px;
  line-height:1.3;
  letter-spacing:-0.015em;
}

.svc-desc{
  font-size:15px;
  color:var(--muted);
  line-height:1.65;
  margin-bottom:18px;
}

.svc-tags{
  display:flex;flex-wrap:wrap;gap:6px;
}
.svc-tag{
  font-size:11px;
  font-weight:600;
  color:var(--accent-d);
  background:var(--accent-l);
  border-radius:6px;
  padding:4px 10px;
  letter-spacing:0.02em;
}

.svc-result{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  background:var(--accent-l);
  border-radius:12px;
  padding:24px 32px;
  min-width:160px;
  text-align:center;
  flex-shrink:0;
}

.svc-result-label{
  font-size:10px;
  font-weight:700;
  color:var(--muted);
  letter-spacing:0.08em;
  text-transform:uppercase;
  margin-bottom:8px;
  display:block;
}

.svc-result-value{
  font-family:var(--fd);
  font-size:20px;
  font-weight:700;
  color:var(--accent);
  line-height:1.2;
  letter-spacing:-0.01em;
}

/* ═══════════════════════════════════════════════════════════
   WHY US — navy bg
═══════════════════════════════════════════════════════════ */
#why{background:var(--ink);}

.why-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:16px;
}

.why-card{
  background:rgba(255,255,255,0.04);
  border:1px solid rgba(255,255,255,0.08);
  border-radius:14px;
  padding:28px 26px;
  transition:background 0.2s,border-color 0.2s;
}
.why-card:hover{
  background:rgba(255,255,255,0.07);
  border-color:rgba(255,90,31,0.3);
}

.why-num{
  font-family:var(--fd);
  font-size:36px;
  font-weight:700;
  color:var(--accent);
  line-height:1;
  margin-bottom:16px;
  letter-spacing:-0.02em;
}

.why-title{
  font-family:var(--fd);
  font-size:19px;
  font-weight:700;
  color:var(--white);
  margin-bottom:10px;
  letter-spacing:-0.015em;
}

.why-desc{
  font-size:15px;
  color:rgba(255,255,255,0.6);
  line-height:1.65;
}

/* ═══════════════════════════════════════════════════════════
   RESULTS (before/after)
═══════════════════════════════════════════════════════════ */
#results{background:var(--bg-soft);border-top:1px solid var(--line);}

.results-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
  gap:20px;
}

.result-card{
  border-radius:14px;overflow:hidden;
  border:1px solid var(--line);
  background:var(--white);
  box-shadow:0 2px 12px rgba(14,17,22,0.04);
  transition:transform 0.25s,box-shadow 0.25s;
}
.result-card:hover{
  transform:translateY(-3px);
  box-shadow:0 14px 32px rgba(14,17,22,0.08);
}

.result-head{
  background:var(--ink);
  padding:22px 24px;
  display:flex;align-items:center;justify-content:space-between;
  gap:12px;
}

.result-specialty{
  font-size:11px;
  font-weight:700;
  letter-spacing:0.1em;text-transform:uppercase;
  color:rgba(255,255,255,0.55);
  margin-bottom:6px;
}

.result-clinic{
  font-family:var(--fd);
  font-size:17px;
  font-weight:700;
  color:var(--white);
  line-height:1.2;
  letter-spacing:-0.015em;
}

.result-badge{
  background:rgba(255,90,31,0.15);
  border:1px solid rgba(255,90,31,0.3);
  border-radius:6px;
  padding:6px 12px;
  font-size:11px;
  font-weight:700;
  color:var(--accent);
  white-space:nowrap;
  flex-shrink:0;
  letter-spacing:0.04em;
  text-transform:uppercase;
}

.result-body{padding:22px 24px;}

.result-row{
  display:flex;align-items:center;gap:14px;
  margin-bottom:16px;
}

.result-col{flex:1;}

.rc-label{
  font-size:10px;
  font-weight:700;
  letter-spacing:0.1em;text-transform:uppercase;
  color:var(--muted);margin-bottom:6px;
}

.rc-val{
  font-family:var(--fd);
  font-size:28px;
  font-weight:700;
  line-height:1;
  letter-spacing:-0.02em;
}

.rc-val.before{color:#B5BBC4;}
.rc-val.after{color:var(--accent);}

.result-arrow{
  font-size:20px;color:var(--line);flex-shrink:0;
  font-weight:300;
}

.result-metric{
  background:var(--accent-l);
  border-radius:8px;
  padding:14px 16px;
  font-size:13px;
  font-weight:600;
  color:var(--accent-d);
  line-height:1.5;
}

.result-metric span{
  font-family:var(--fd);
  font-size:22px;
  font-weight:700;
  color:var(--accent);
  display:block;
  margin-bottom:2px;
  letter-spacing:-0.015em;
}

/* ═══════════════════════════════════════════════════════════
   PACKAGES
═══════════════════════════════════════════════════════════ */
#packages{background:var(--bg);}

.packages-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
  gap:24px;
  align-items:stretch;
}

.pkg{
  border-radius:16px;
  overflow:hidden;
  border:1px solid var(--line);
  background:var(--white);
  box-shadow:0 2px 12px rgba(14,17,22,0.04);
  transition:transform 0.25s,box-shadow 0.25s,border-color 0.25s;
  display:flex;
  flex-direction:column;
}
.pkg:hover{
  transform:translateY(-4px);
  box-shadow:0 18px 40px rgba(14,17,22,0.1);
  border-color:rgba(255,90,31,0.2);
}
.pkg.pop{
  border:2px solid var(--accent);
  box-shadow:0 8px 28px rgba(255,90,31,0.18);
  position:relative;
}

.pop-tag{
  background:var(--accent);
  color:var(--white);
  font-size:11px;
  font-weight:700;
  letter-spacing:0.12em;text-transform:uppercase;
  text-align:center;
  padding:10px;
}

.pkg-head{
  padding:32px 28px 26px;
  background:var(--ink);
  position:relative;
  overflow:hidden;
}
.pkg-head::after{
  content:'';position:absolute;
  width:200px;height:200px;border-radius:50%;
  background:rgba(255,90,31,0.06);
  right:-50px;bottom:-70px;
}

/* Variant accent stripes — all unified to the brand orange in NP Digital style */
.ph-s{background:var(--ink);}
.ph-g{background:linear-gradient(135deg,#0E1116 0%,#1F2933 100%);}
.ph-p{background:var(--ink);}

.pkg-tier{
  font-size:11px;
  font-weight:700;
  letter-spacing:0.14em;text-transform:uppercase;
  color:var(--accent);
  margin-bottom:10px;
  position:relative;z-index:1;
}
.pkg-name{
  font-family:var(--fd);
  font-size:26px;
  font-weight:700;
  color:var(--white);
  line-height:1.15;
  letter-spacing:-0.02em;
  margin-bottom:14px;
  position:relative;z-index:1;
}

/* "Value tagline" replaces price block */
.pkg-value-line{
  font-size:14px;
  color:rgba(255,255,255,0.7);
  line-height:1.55;
  position:relative;z-index:1;
  font-weight:400;
}

.pkg-body{
  padding:28px;
  background:var(--white);
  flex:1;
  display:flex;
  flex-direction:column;
}

.pkg-body-label{
  font-size:11px;
  font-weight:700;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:var(--muted);
  margin-bottom:16px;
}

.pkg-items{display:flex;flex-direction:column;gap:13px;margin-bottom:24px;}
.pkg-item{
  display:flex;
  align-items:flex-start;
  gap:11px;
  font-size:14.5px;
  color:var(--text);
  line-height:1.55;
  font-weight:400;
}
.chk{
  width:18px;height:18px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;margin-top:2px;
  font-size:10px;color:var(--white);font-weight:800;
}
.ct,.cg,.cn{background:var(--accent);}

.result-strip{
  border-radius:8px;
  padding:14px 16px;
  display:flex;gap:10px;align-items:flex-start;
  background:var(--bg-soft);
  border-left:3px solid var(--accent);
  margin-bottom:auto;
}
.rs-s,.rs-g,.rs-p{background:var(--bg-soft);}
.rr-arrow{
  font-size:16px;
  font-weight:700;
  flex-shrink:0;
  margin-top:1px;
  color:var(--accent);
}
.ra-s,.ra-g,.ra-p{color:var(--accent);}
.rr-txt{
  font-size:13.5px;
  font-weight:500;
  line-height:1.55;
  color:var(--text);
}
.rt-s,.rt-g,.rt-p{color:var(--text);}

/* ═══════════════════════════════════════════════════════════
   ADD-ONS
═══════════════════════════════════════════════════════════ */
.addons-section{
  background:var(--ink);
  padding:80px 0;
}
.addons-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(220px,1fr));
  gap:14px;
}
.addon-pill{
  background:rgba(255,255,255,0.04);
  border:1px solid rgba(255,255,255,0.08);
  border-radius:12px;
  padding:22px 20px;
  transition:background 0.2s,border-color 0.2s,transform 0.2s;
}
.addon-pill:hover{
  background:rgba(255,255,255,0.07);
  border-color:rgba(255,90,31,0.3);
  transform:translateY(-2px);
}
.addon-icon{font-size:22px;display:block;margin-bottom:12px;}
.addon-name{
  font-size:14.5px;
  font-weight:600;
  color:var(--white);
  line-height:1.4;
  margin-bottom:6px;
}
.addon-note{
  font-size:12px;
  color:rgba(255,255,255,0.55);
  line-height:1.5;
}

/* ═══════════════════════════════════════════════════════════
   TESTIMONIALS
═══════════════════════════════════════════════════════════ */
#testimonials{background:var(--bg-soft);border-top:1px solid var(--line);}

.testi-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:20px;
}

.testi-card{
  background:var(--white);
  border:1px solid var(--line);
  border-radius:14px;
  padding:28px;
  box-shadow:0 2px 10px rgba(14,17,22,0.03);
  position:relative;
  transition:box-shadow 0.25s,transform 0.25s;
}
.testi-card:hover{
  transform:translateY(-3px);
  box-shadow:0 14px 32px rgba(14,17,22,0.08);
}

.testi-quote-mark{
  font-family:var(--fd);
  font-size:54px;
  font-weight:700;
  color:var(--accent);
  line-height:1;
  margin-bottom:6px;
  display:block;
  height:36px;
  overflow:hidden;
}

.testi-stars{
  display:flex;gap:2px;margin-bottom:14px;
}
.star{color:var(--accent);font-size:16px;}

.testi-text{
  font-size:15px;
  color:var(--text);
  line-height:1.7;
  font-style:normal;
  margin-bottom:22px;
  font-weight:400;
}

.testi-author{
  display:flex;align-items:center;gap:12px;
  border-top:1px solid var(--line);
  padding-top:16px;
}

.testi-avatar{
  width:40px;height:40px;border-radius:50%;
  background:var(--accent-l);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--fd);
  font-size:14px;
  font-weight:700;
  color:var(--accent-d);
  flex-shrink:0;
}

.testi-name{
  font-size:14px;
  font-weight:600;
  color:var(--ink);
  letter-spacing:-0.005em;
}
.testi-role{font-size:13px;color:var(--muted);}

/* ═══════════════════════════════════════════════════════════
   FAQ
═══════════════════════════════════════════════════════════ */
#faq{background:var(--bg);}

.faq-wrap{
  display:grid;
  grid-template-columns:1.4fr 1fr;
  gap:60px;
  align-items:start;
}

.faq-list{display:flex;flex-direction:column;gap:0;}

.faq-item{border-bottom:1px solid var(--line);}
.faq-item:first-child{border-top:1px solid var(--line);}

.faq-btn{
  width:100%;background:none;border:none;cursor:pointer;
  padding:22px 0;
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  text-align:left;
}

.faq-q-txt{
  font-family:var(--fd);
  font-size:16px;
  font-weight:600;
  color:var(--ink);
  line-height:1.4;
  letter-spacing:-0.01em;
}

.faq-ico{
  width:28px;height:28px;border-radius:50%;
  background:var(--accent-l);
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
  font-size:18px;
  font-weight:700;
  color:var(--accent);
  transition:transform 0.3s,background 0.3s,color 0.3s;
}

.faq-item.open .faq-ico{
  transform:rotate(45deg);
  background:var(--accent);
  color:var(--white);
}

.faq-ans{max-height:0;overflow:hidden;transition:max-height 0.35s ease;}
.faq-ans-inner{
  font-size:15px;
  color:var(--muted);
  line-height:1.7;
  padding-bottom:22px;
}
.faq-item.open .faq-ans{max-height:500px;}

.faq-side{
  background:var(--ink);
  border-radius:16px;
  padding:36px 32px;
  position:sticky;top:96px;
}

.faq-side-h{
  font-family:var(--fd);
  font-size:24px;
  font-weight:700;
  color:var(--white);
  line-height:1.2;
  letter-spacing:-0.02em;
  margin-bottom:14px;
}

.faq-side-sub{
  font-size:14.5px;
  color:rgba(255,255,255,0.65);
  line-height:1.65;
  margin-bottom:28px;
}

.faq-cta-btn{
  display:block;
  background:var(--accent);
  color:var(--white);
  font-size:15px;
  font-weight:600;
  padding:15px 22px;
  border-radius:8px;
  text-decoration:none;
  text-align:center;
  box-shadow:0 4px 14px rgba(255,90,31,0.28);
  transition:all 0.2s;
  margin-bottom:12px;
  letter-spacing:-0.005em;
}
.faq-cta-btn:hover{
  transform:translateY(-1px);
  background:var(--accent-d);
  box-shadow:0 8px 22px rgba(255,90,31,0.4);
}

.faq-wa-btn{
  display:block;
  background:rgba(255,255,255,0.06);
  color:var(--white);
  font-size:14.5px;
  font-weight:500;
  padding:14px 22px;
  border-radius:8px;
  text-decoration:none;
  text-align:center;
  border:1px solid rgba(255,255,255,0.12);
  transition:all 0.2s;
}
.faq-wa-btn:hover{background:rgba(255,255,255,0.1);}

/* ═══════════════════════════════════════════════════════════
   ABOUT
═══════════════════════════════════════════════════════════ */
#about{background:var(--bg-soft);border-top:1px solid var(--line);}

.about-inner{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:60px;
  align-items:center;
}

.about-left{}

.about-tag{
  display:inline-flex;align-items:center;gap:6px;
  background:var(--accent-l);
  border-radius:6px;
  padding:6px 12px;
  font-size:11px;
  font-weight:700;
  color:var(--accent-d);
  letter-spacing:0.1em;text-transform:uppercase;
  margin-bottom:20px;
}

.about-bio{
  font-size:16px;
  color:var(--text);
  line-height:1.7;
  margin-bottom:18px;
}

.about-highlights{
  display:flex;flex-direction:column;gap:18px;
  margin-bottom:32px;
}

.ahi{
  display:flex;align-items:flex-start;gap:14px;
}

.ahi-icon{
  width:42px;height:42px;border-radius:10px;
  display:flex;align-items:center;justify-content:center;
  font-size:20px;flex-shrink:0;
}

.ahi-title{
  font-family:var(--fd);
  font-size:15px;
  font-weight:700;
  color:var(--ink);
  margin-bottom:3px;
  letter-spacing:-0.01em;
}
.ahi-sub{font-size:14px;color:var(--muted);line-height:1.5;}

.about-right{
  display:flex;flex-direction:column;gap:14px;
}

.about-stat-card{
  background:var(--white);
  border:1px solid var(--line);
  border-radius:14px;
  padding:24px 26px;
  display:flex;gap:18px;align-items:center;
  box-shadow:0 2px 8px rgba(14,17,22,0.03);
  transition:transform 0.2s,box-shadow 0.2s;
}
.about-stat-card:hover{
  transform:translateY(-2px);
  box-shadow:0 8px 22px rgba(14,17,22,0.06);
}

.asc-num{
  font-family:var(--fd);
  font-size:36px;
  font-weight:700;
  color:var(--accent);
  line-height:1;
  flex-shrink:0;
  letter-spacing:-0.02em;
}

.asc-label{
  font-family:var(--fd);
  font-size:15px;
  font-weight:700;
  color:var(--ink);
  letter-spacing:-0.01em;
}
.asc-sub{font-size:13px;color:var(--muted);line-height:1.5;margin-top:2px;}

/* ═══════════════════════════════════════════════════════════
   FINAL CTA
═══════════════════════════════════════════════════════════ */
#contact{
  background:var(--ink);
  padding:110px 0;
  position:relative;overflow:hidden;
  text-align:center;
}

#contact::before{
  content:'';
  position:absolute;
  width:600px;height:600px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,90,31,0.08) 0%,transparent 70%);
  top:-250px;right:-150px;
}

.cta-eyebrow{
  display:inline-flex;align-items:center;gap:6px;
  background:rgba(255,90,31,0.12);
  border:1px solid rgba(255,90,31,0.25);
  border-radius:100px;
  padding:7px 16px;
  font-size:11px;
  font-weight:700;
  letter-spacing:0.14em;text-transform:uppercase;
  color:var(--accent);
  margin-bottom:24px;
}

.cta-h{
  font-family:var(--fd);
  font-size:clamp(36px,5.5vw,58px);
  font-weight:700;
  color:var(--white);
  line-height:1.08;
  letter-spacing:-0.03em;
  margin-bottom:18px;
}
.cta-h em{font-style:normal;color:var(--accent);}

.cta-sub{
  font-size:17px;
  color:rgba(255,255,255,0.7);
  line-height:1.65;
  max-width:540px;
  margin:0 auto 40px;
}

.cta-btns{
  display:flex;flex-wrap:wrap;gap:12px;
  justify-content:center;margin-bottom:56px;
}
/* On the dark CTA section the outline button needs to be light */
#contact .btn-outline{
  color:var(--white);
  border-color:rgba(255,255,255,0.3);
}
#contact .btn-outline:hover{
  background:var(--white);
  color:var(--ink);
  border-color:var(--white);
}

.contact-cards{
  display:flex;flex-wrap:wrap;gap:12px;
  justify-content:center;
  max-width:720px;margin:0 auto;
}

.cc{
  background:rgba(255,255,255,0.04);
  border:1px solid rgba(255,255,255,0.1);
  border-radius:12px;
  padding:16px 20px;
  display:flex;align-items:center;gap:14px;
  text-decoration:none;
  transition:background 0.2s,border-color 0.2s;
  flex:1;min-width:220px;
}
.cc:hover{
  background:rgba(255,255,255,0.07);
  border-color:rgba(255,90,31,0.3);
}
.cc-icon{font-size:20px;flex-shrink:0;}
.cc-lbl{
  font-size:11px;
  color:rgba(255,255,255,0.5);
  margin-bottom:3px;
  letter-spacing:0.08em;
  text-transform:uppercase;
  font-weight:600;
}
.cc-val{font-size:15px;font-weight:600;color:var(--white);}

.offer-banner{
  background:var(--accent);
  border-radius:10px;
  padding:16px 24px;
  font-size:14.5px;
  font-weight:600;
  color:var(--white);
  max-width:580px;
  margin:32px auto 0;
  line-height:1.5;
  letter-spacing:-0.005em;
}

/* ═══════════════════════════════════════════════════════════
   FOOTER
═══════════════════════════════════════════════════════════ */
footer{
  background:var(--ink);
  padding:32px 24px;
  border-top:1px solid rgba(255,255,255,0.06);
}

.footer-inner{
  max-width:1200px;margin:0 auto;
  display:flex;align-items:center;justify-content:space-between;
  flex-wrap:wrap;gap:18px;
}

.footer-logo{
  font-family:var(--fd);
  font-size:18px;
  font-weight:400;
  color:var(--white);
  letter-spacing:-0.02em;
}
.footer-logo .footer-strong{font-weight:800;}
.footer-logo .footer-dot{color:var(--accent);}

.footer-links{
  display:flex;flex-wrap:wrap;gap:0;
}
.footer-links a{
  font-size:13px;
  color:rgba(255,255,255,0.55);
  text-decoration:none;padding:4px 14px;
  border-right:1px solid rgba(255,255,255,0.1);
  transition:color 0.2s;
  font-weight:500;
}
.footer-links a:last-child{border-right:none;}
.footer-links a:hover{color:var(--accent);}

.footer-copy{
  font-size:12px;
  color:rgba(255,255,255,0.4);
  letter-spacing:0.02em;
}

/* ═══════════════════════════════════════════════════════════
   FLOATING WA BUTTON
═══════════════════════════════════════════════════════════ */
.wa-float{
  position:fixed;
  bottom:28px;right:24px;
  z-index:900;
  background:#25D366;
  width:56px;height:56px;
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 6px 24px rgba(37,211,102,0.45);
  text-decoration:none;
  font-size:26px;
  transition:all 0.2s;
}
.wa-float:hover{transform:scale(1.08);box-shadow:0 10px 32px rgba(37,211,102,0.6);}

/* ═══════════════════════════════════════════════════════════
   PACKAGE CTA — full-width "Get a Quote" button at card foot
═══════════════════════════════════════════════════════════ */
.pkg-enquire {
  display:flex;
  align-items:center;justify-content:center;
  gap:6px;
  margin-top:20px;
  padding:14px 18px;
  border-radius:8px;
  background:var(--accent);
  color:var(--white);
  font-size:15px;
  font-weight:600;
  text-align:center;
  text-decoration:none;
  letter-spacing:-0.005em;
  line-height:1.2;
  white-space:nowrap;
  transition:background 0.2s,transform 0.2s,box-shadow 0.2s;
  box-shadow:0 2px 8px rgba(255,90,31,0.2);
}
.pkg-enquire:hover {
  background:var(--accent-d);
  transform:translateY(-1px);
  box-shadow:0 6px 18px rgba(255,90,31,0.32);
}
/* Outline variant for non-popular cards */
.pkg-enquire.outline {
  background:transparent;
  color:var(--ink);
  border:1.5px solid var(--ink);
  box-shadow:none;
}
.pkg-enquire.outline:hover {
  background:var(--ink);
  color:var(--white);
  box-shadow:0 6px 18px rgba(14,17,22,0.18);
}

/* ═══════════════════════════════════════════════════════════
   RESPONSIVE — mobile-first, scoped breakpoints
═══════════════════════════════════════════════════════════ */

/* ── Tablet / wide phone (≤ 1024px) ── */
@media (max-width: 1024px) {
  .services-grid { grid-template-columns: 1fr 1fr; }
  .hero-stats    { grid-template-columns: repeat(2, 1fr); }
  .about-inner   { grid-template-columns: 1fr; gap: 40px; }
  .faq-wrap      { grid-template-columns: 1fr; gap: 36px; }
  .faq-side      { position: static; }
  .packages-grid { grid-template-columns: 1fr; max-width: 540px; margin: 0 auto; }
}

/* ─────────────────────────────────────────────────────────
   MOBILE (≤ 768px) — fixes contained here only
───────────────────────────────────────────────────────── */
@media (max-width: 768px) {
  /* Nav */
  .nav-inner  { height: 66px; padding: 0 24px !important; }
  .nav-links  { display: none; }
  .hamburger  { display: flex; }
  .mobile-menu{ top: 66px; padding: 14px 24px 22px; }
  .mobile-menu a { font-size: 17px; padding: 15px 18px; }
  .brand-text { font-size: 21px; }

  /* Hero */
  #home       { min-height: 100svh; padding-top: 66px; }
  .hero-body  { padding: 48px 24px 40px; }
  .hero-h1    { font-size: clamp(38px, 9.5vw, 56px); }
  .hero-sub   { font-size: 18px; line-height: 1.6; }
  .hero-eyebrow { font-size: 13px; padding: 8px 16px; }
  .trust-pill { font-size: 14px; padding: 8px 14px; }

  /* ─── CTA BUTTON MOBILE FIX ─── */
  /* Stack vertically so text never wraps; keep single-line text */
  .hero-btns  { flex-direction: column; gap: 12px; width: 100%; }
  .hero-btns .btn-primary,
  .hero-btns .btn-outline {
    width: 100%;
    justify-content: center;
    padding: 16px 20px;
    font-size: 16px;
    white-space: nowrap;          /* prevents 2-line wrap */
    overflow: hidden;
    text-overflow: ellipsis;
    letter-spacing: -0.01em;
    min-height: 54px;
    box-sizing: border-box;
  }

  .hero-stats { grid-template-columns: repeat(2, 1fr); }
  .hst        { padding: 18px 12px; }
  .hst-n      { font-size: 28px; }
  .hst-l      { font-size: 12px; }

  /* ─── CRITICAL: SIDE MARGIN FIX ─── */
  /* Force container side padding so cards/text never touch viewport edges */
  .container        { padding-left: 24px !important; padding-right: 24px !important; }
  .section-wrap     { padding: 76px 0; }
  .addons-section   { padding-left: 0; padding-right: 0; }
  /* Belt-and-braces: any direct text/card child of body-level wrapper
     gets safe horizontal breathing if it somehow escapes .container */
  body              { overflow-x: hidden; }
  .sec-h        { font-size: clamp(30px, 7.5vw, 40px); margin-bottom: 16px; }
  .sec-sub      { font-size: 17px; line-height: 1.65; margin-bottom: 44px; }

  /* Services */
  .services-grid { grid-template-columns: 1fr; gap: 18px; }
  .svc-card      { padding: 28px 24px; grid-template-columns: 1fr; gap: 16px; }
  .svc-result    { min-width: 100%; padding: 20px 24px; }
  .svc-title     { font-size: 20px; }
  .svc-desc      { font-size: 16px; line-height: 1.65; }
  .svc-tag       { font-size: 12px; padding: 5px 11px; }

  /* Why */
  .why-grid { grid-template-columns: 1fr; }
  .why-card { padding: 26px 24px; }
  .why-num  { font-size: 32px; }
  .why-title{ font-size: 20px; }
  .why-desc { font-size: 16px; line-height: 1.65; }

  /* Results */
  .results-grid { grid-template-columns: 1fr; }
  .result-clinic{ font-size: 18px; }
  .result-specialty { font-size: 12px; }
  .result-badge { font-size: 12px; padding: 7px 13px; }
  .rc-label     { font-size: 11px; }
  .result-metric{ font-size: 14px; padding: 16px 18px; }
  .result-metric span { font-size: 24px; }

  /* Packages */
  .packages-grid { grid-template-columns: 1fr; max-width: 100%; gap: 20px; }
  .pkg-head      { padding: 30px 26px 24px; }
  .pkg-tier      { font-size: 12px; }
  .pkg-name      { font-size: 24px; }
  .pkg-value-line{ font-size: 15px; line-height: 1.6; }
  .pkg-body      { padding: 26px; }
  .pkg-body-label{ font-size: 12px; }
  .pkg-item      { font-size: 15.5px; line-height: 1.55; }
  .rr-txt        { font-size: 14.5px; }
  .pkg-enquire   {
    padding: 16px 20px;
    font-size: 16px;
    white-space: nowrap;          /* package CTA — same mobile fix */
    letter-spacing: -0.01em;
    min-height: 54px;
  }

  /* Add-ons */
  .addons-grid { grid-template-columns: 1fr 1fr; gap: 14px; }
  .addon-pill  { padding: 22px 18px; }
  .addon-name  { font-size: 15.5px; }
  .addon-note  { font-size: 13px; }

  /* Testimonials */
  .testi-grid { grid-template-columns: 1fr; gap: 18px; }
  .testi-card { padding: 26px; }
  .testi-text { font-size: 16px; line-height: 1.7; }
  .testi-name { font-size: 15px; }
  .testi-role { font-size: 14px; }
  .star       { font-size: 17px; }

  /* FAQ */
  .faq-wrap   { grid-template-columns: 1fr; gap: 32px; }
  .faq-side   { position: static; padding: 32px 28px; }
  .faq-side-h { font-size: 24px; }
  .faq-side-sub { font-size: 16px; line-height: 1.65; }
  .faq-q-txt  { font-size: 17px; padding-right: 8px; }
  .faq-btn    { padding: 20px 0; }
  .faq-ans-inner { font-size: 16px; line-height: 1.7; }
  .faq-cta-btn{ font-size: 16px; padding: 16px 22px; }
  .faq-wa-btn { font-size: 15.5px; padding: 15px 22px; }

  /* About */
  .about-inner   { grid-template-columns: 1fr; gap: 44px; }
  .about-right   { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
  .about-stat-card { padding: 20px; gap: 16px; }
  .asc-num       { font-size: 32px; }
  .asc-label     { font-size: 15.5px; }
  .asc-sub       { font-size: 13.5px; }
  .about-bio     { font-size: 16.5px; line-height: 1.7; }
  .ahi-title     { font-size: 16px; }
  .ahi-sub       { font-size: 14.5px; line-height: 1.55; }

  /* CTA section */
  #contact      { padding: 84px 0; }
  .cta-eyebrow  { font-size: 12px; padding: 8px 18px; }
  .cta-btns     { flex-direction: column; gap: 12px; }
  .cta-btns a   {
    width: 100%;
    justify-content: center;
    white-space: nowrap;          /* CTA button — same mobile fix */
    font-size: 16px;
    padding: 16px 20px;
    letter-spacing: -0.01em;
    min-height: 54px;
  }
  .contact-cards { flex-direction: column; gap: 12px; }
  .cc            { min-width: unset; padding: 16px 20px; }
  .cc-lbl        { font-size: 12px; }
  .cc-val        { font-size: 15px; }
  .cta-sub       { font-size: 17px; line-height: 1.65; }
  .offer-banner  { font-size: 15px; padding: 16px 20px; line-height: 1.5; }

  /* Footer — explicit padding so it matches container side margin */
  footer        { padding: 36px 24px; }
  .footer-inner { flex-direction: column; text-align: center; gap: 18px; padding: 0; }
  .footer-logo  { font-size: 19px; }
  .footer-links { justify-content: center; flex-wrap: wrap; }
  .footer-links a { padding: 5px 12px; font-size: 14px; }
  .footer-copy  { font-size: 13px; }

  /* Floating WA */
  .wa-float { bottom: 22px; right: 18px; width: 54px; height: 54px; font-size: 25px; }

  /* Generic in-flow .btn-primary outside hero (e.g. About section) */
  a.btn-primary, a.btn-outline {
    white-space: nowrap;
    font-size: 16px;
    padding: 15px 24px;
    letter-spacing: -0.01em;
  }
}

/* ── Small mobile (≤ 480px) ── */
@media (max-width: 480px) {
  .container    { padding-left: 22px !important; padding-right: 22px !important; }
  .nav-inner    { padding: 0 22px !important; }
  .mobile-menu  { padding: 12px 22px 20px; }
  footer        { padding: 32px 22px; }
  .brand-text   { font-size: 19px; }

  /* Hero */
  .hero-body    { padding: 40px 22px 36px; }
  .hero-h1      { font-size: clamp(32px, 9vw, 46px); }
  .hero-sub     { font-size: 16.5px; }
  .hero-eyebrow { font-size: 12px; padding: 7px 14px; }
  .trust-pill   { font-size: 13px; padding: 7px 13px; }
  .hst          { padding: 16px 8px; }
  .hst-n        { font-size: 24px; }
  .hst-l        { font-size: 11px; }

  /* Section heads */
  .sec-h        { font-size: clamp(28px, 8vw, 36px); }
  .sec-sub      { font-size: 16px; }
  .section-wrap { padding: 68px 0; }

  /* Cards */
  .svc-card     { padding: 24px 20px; border-radius: 14px; }
  .svc-icon-wrap{ width: 44px; height: 44px; font-size: 20px; }
  .svc-title    { font-size: 18.5px; }
  .svc-desc     { font-size: 15.5px; }

  /* Why */
  .why-num      { font-size: 30px; }
  .why-title    { font-size: 18.5px; }
  .why-desc     { font-size: 15.5px; }

  /* Results */
  .result-head  { padding: 20px 22px; flex-wrap: wrap; gap: 10px; }
  .result-body  { padding: 20px 22px; }
  .rc-val       { font-size: 26px; }
  .result-metric{ font-size: 13.5px; padding: 14px 16px; }
  .result-metric span { font-size: 22px; }

  /* Packages */
  .pkg-name     { font-size: 22px; }
  .pkg-head     { padding: 28px 24px 22px; }
  .pkg-body     { padding: 24px 22px; }
  .pkg-item     { font-size: 15px; gap: 10px; }
  .pkg-value-line { font-size: 14.5px; }

  /* Add-ons */
  .addons-grid  { grid-template-columns: 1fr 1fr; gap: 12px; }
  .addon-pill   { padding: 20px 16px; }
  .addon-name   { font-size: 15px; }
  .addon-note   { font-size: 12.5px; }

  /* Testimonials */
  .testi-card   { padding: 24px 22px; }
  .testi-text   { font-size: 15.5px; }

  /* FAQ */
  .faq-q-txt    { font-size: 16px; }
  .faq-side     { padding: 28px 22px; border-radius: 14px; }
  .faq-side-h   { font-size: 22px; }
  .faq-side-sub { font-size: 15.5px; }
  .faq-ans-inner{ font-size: 15.5px; }
  .faq-cta-btn  { font-size: 15.5px; padding: 15px 20px; }

  /* About */
  .about-right  { grid-template-columns: 1fr; }
  .about-stat-card { padding: 20px 22px; }
  .about-bio    { font-size: 16px; }

  /* CTA */
  .cta-h        { font-size: clamp(30px, 9vw, 40px); }
  .cta-sub      { font-size: 16px; }
  .offer-banner { font-size: 14px; padding: 14px 18px; border-radius: 10px; }

  /* Contact cards */
  .cc           { padding: 16px 18px; }
  .cc-val       { font-size: 14.5px; }

  /* Floating WA */
  .wa-float     { width: 50px; height: 50px; font-size: 23px; bottom: 20px; right: 16px; }
}

/* ── Very small phones (≤ 360px) ── */
@media (max-width: 360px) {
  .container    { padding-left: 18px !important; padding-right: 18px !important; }
  .nav-inner    { padding: 0 18px !important; }
  .mobile-menu  { padding: 12px 18px 18px; }
  footer        { padding: 28px 18px; }
  .hero-body    { padding: 36px 18px 32px; }
  .hero-btns .btn-primary,
  .hero-btns .btn-outline,
  .cta-btns a,
  .pkg-enquire {
    font-size: 15px;
    padding: 15px 16px;
    letter-spacing: -0.015em;
  }
  .hero-stats { grid-template-columns: repeat(2, 1fr); }
  .hst-n      { font-size: 22px; }
  .addons-grid{ grid-template-columns: 1fr; }
  .brand-text { font-size: 18px; }
  .sec-h      { font-size: clamp(26px, 7.5vw, 32px); }
}
