/* ── Reset & Base ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--ff-body);color:var(--ink);background:var(--white);line-height:1.6;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
ul{list-style:none}
button{cursor:pointer;border:none;background:none;font-family:inherit}

/* ── Utility ── */
.container{max-width:var(--max-w);margin-inline:auto;padding-inline:clamp(1rem,5vw,2.5rem)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.reveal.visible{opacity:1;transform:none}
.reveal-left{opacity:0;transform:translateX(-32px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.reveal-left.visible{opacity:1;transform:none}
.reveal-right{opacity:0;transform:translateX(32px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.reveal-right.visible{opacity:1;transform:none}
.delay-1{transition-delay:.1s}
.delay-2{transition-delay:.2s}
.delay-3{transition-delay:.3s}
.delay-4{transition-delay:.4s}

/* ── Buttons ── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-family:var(--ff-body);font-weight:600;font-size:.9375rem;letter-spacing:.01em;border-radius:var(--r-full);padding:.75rem 1.75rem;transition:all .25s var(--ease);text-decoration:none;white-space:nowrap}
.btn-primary{background:var(--blue);color:var(--white);box-shadow:var(--sh-blue)}
.btn-primary:hover{background:var(--blue-deep);transform:translateY(-2px);box-shadow:0 12px 40px rgba(20,86,168,.4)}
.btn-outline{background:transparent;color:var(--blue);border:2px solid var(--blue)}
.btn-outline:hover{background:var(--blue);color:var(--white);transform:translateY(-2px)}
.btn-white{background:var(--white);color:var(--blue);box-shadow:var(--sh-md)}
.btn-white:hover{background:var(--blue-tint);transform:translateY(-2px)}
.btn-ghost{background:transparent;color:var(--white);border:2px solid rgba(255,255,255,.5)}
.btn-ghost:hover{background:rgba(255,255,255,.1);border-color:var(--white)}
.btn-sm{padding:.5rem 1.25rem;font-size:.875rem}
.btn-lg{padding:.9375rem 2.25rem;font-size:1rem}

/* ── Eyebrow ── */
.eyebrow{display:inline-block;font-family:var(--ff-body);font-size:.6875rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--blue-mid);padding:.35rem .85rem;background:var(--blue-tint);border-radius:var(--r-full);margin-bottom:1.25rem}

/* ── Section titles ── */
.section-title{font-family:var(--ff-display);font-size:clamp(2rem,4vw,2.875rem);font-weight:600;line-height:1.18;color:var(--ink);margin-bottom:1rem}
.section-title.light{color:var(--white)}
.section-sub{font-size:1.0625rem;line-height:1.7;color:var(--g600);max-width:580px}
.section-sub.light{color:rgba(255,255,255,.75)}

/* ── Feature list ── */
.feat-list{list-style:none;display:flex;flex-direction:column;gap:.7rem;margin:1.5rem 0}
.feat-list li{display:flex;align-items:center;gap:.65rem;font-size:.9375rem;font-weight:500;color:var(--g800)}
.feat-list li::before{content:'';display:inline-flex;width:20px;height:20px;min-width:20px;border-radius:50%;background:var(--blue-tint);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23E8870A'%3E%3Cpath d='M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:12px}
.feat-list.light li{color:rgba(255,255,255,.9)}
.feat-list.light li::before{background-color:rgba(255,255,255,.15);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23E8870A'%3E%3Cpath d='M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z'/%3E%3C/svg%3E")}

/* ── Tag / Badge ── */
.badge{display:inline-flex;align-items:center;gap:.4rem;font-size:.8125rem;font-weight:600;padding:.3rem .8rem;border-radius:var(--r-full)}
.badge-blue{background:var(--blue-tint);color:var(--blue)}
.badge-soon{background:rgba(255,255,255,.18);color:var(--white);border:1px solid rgba(255,255,255,.3)}
.badge-dark{background:rgba(255,255,255,.08);color:rgba(255,255,255,.8);border:1px solid rgba(255,255,255,.15)}

/* ══════════════════════════════════════════
   NAV — logo left-aligned with content,
         CTA right-aligned with content,
         links centred between them.
   The .nav .container IS the row —
   no extra wrapper needed.
══════════════════════════════════════════ */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  height:var(--nav-h);
  /* Always white — amber brand on white looks clean & professional */
  background:#FFFFFF;
  box-shadow:0 1px 0 #DEC49A;
  transition:box-shadow .35s;
}
/* scrolled class still applied by JS but bg stays white */
.nav.scrolled{background:#FFFFFF;box-shadow:0 2px 12px rgba(59,31,5,.10)}

/* nav container = same padding as .container so logo/CTA
   align exactly with page content left & right edges */
.nav > .container{
  height:100%;
  display:flex;
  align-items:center;
  padding-inline:clamp(1rem,5vw,2.5rem);
  max-width:var(--max-w);
  margin-inline:auto;
  width:100%;
  box-sizing:border-box;
}

/* nav-inner fills the container and is the 3-col grid */
.nav-inner{
  display:grid;
  grid-template-columns: auto 1fr auto;
  align-items:center;
  width:100%;
  gap:2rem;
}

/* Col 1 — Logo flush with left content edge */
.nav-logo{
  display:flex;align-items:center;gap:.55rem;
  font-family:var(--ff-body);font-size:1.6rem;font-weight:800;
  color:#B85C00; /* Always warm amber on white nav */
  transition:color .3s;
  white-space:nowrap;
  text-decoration:none;
  line-height:1;
}
.nav.scrolled .nav-logo{color:#B85C00}

/* Logo icon — amber cross SVG, inherits color from .nav-logo */
.nav-logo-icon{
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
  width:32px;height:32px;
}
/* SVG cross uses currentColor — inherits amber from parent .nav-logo */
.nav-logo-icon svg { color: inherit; }
/* Footer logo icon */
.footer-brand-icon{
  display:flex;align-items:center;justify-content:center;
  width:28px;height:28px;flex-shrink:0;
  color:white; /* cross is white on dark footer */
}
.footer-brand-icon svg { color: inherit; }

/* Col 2 — Links centred in the middle column */
.nav-links{
  display:flex;align-items:center;justify-content:center;gap:1.75rem;
}
.nav-links a{
  font-size:.9rem;font-weight:500;
  color:#6B4A20; /* Always dark warm brown on white nav */
  transition:color .2s;white-space:nowrap;
}
.nav-links a:hover{color:#B85C00}
.nav.scrolled .nav-links a{color:#6B4A20}
.nav.scrolled .nav-links a:hover{color:#B85C00}

/* Col 3 — CTA flush with right content edge */
.nav-cta{display:flex;justify-content:flex-end;align-items:center}
.nav-cta .btn-primary{padding:.55rem 1.35rem;font-size:.875rem}



/* ══════════════════════════════════════════
   MOBILE NAV — hamburger animates to ✕
══════════════════════════════════════════ */
/* Hamburger 3 lines → X animation */
.nav-toggle{
  display:none;flex-direction:column;justify-content:center;
  gap:5px;padding:.5rem;cursor:pointer;
  background:none;border:none;z-index:101;position:relative;
  width:40px;height:40px;
}
.nav-toggle span{
  display:block;width:24px;height:2px;
  background:var(--white);border-radius:2px;
  transition:transform .3s ease, opacity .3s ease, top .3s ease;
  position:absolute;left:8px;
}
.nav-toggle span:nth-child(1){top:12px}
.nav-toggle span:nth-child(2){top:19px}
.nav-toggle span:nth-child(3){top:26px}
/* Active = X */
.nav-toggle.active span:nth-child(1){transform:rotate(45deg);top:19px}
.nav-toggle.active span:nth-child(2){opacity:0;transform:scaleX(0)}
.nav-toggle.active span:nth-child(3){transform:rotate(-45deg);top:19px}
.nav-toggle span{background:#3B1F05 !important} /* always dark on white nav */

/* Mobile menu overlay */
.mobile-menu{
  position:fixed;inset:0;
  background:var(--navy);
  z-index:100;
  display:flex;flex-direction:column;
  align-items:center;justify-content:center;
  gap:2.5rem;
  opacity:0;pointer-events:none;
  transition:opacity .3s ease, transform .3s ease;
  transform:translateY(-8px);
}
.mobile-menu.open{
  opacity:1;pointer-events:all;
  transform:translateY(0);
}
.mobile-menu a{
  font-family:var(--ff-display);font-size:2rem;
  color:var(--white);font-weight:500;
  transition:color .2s;
}
.mobile-menu a:hover{color:var(--blue-light)}
.mobile-menu .btn{margin-top:.5rem;min-width:200px;text-align:center}
/* Hide the old close button — hamburger IS the close button now */
.mobile-close{display:none}

/* ══════════════════════════════════════════
   HERO — FIX #3: above the fold
   Uses 100dvh so everything visible without scroll
══════════════════════════════════════════ */
.hero{
  /* Sits directly below the always-visible white nav */
  min-height:calc(100dvh - var(--nav-h));
  margin-top:var(--nav-h);
  background:linear-gradient(145deg,#3B1F05 0%,#7A3500 45%,#E8870A 100%);
  display:flex;
  flex-direction:column;
  justify-content:center;
  position:relative;
  overflow:hidden;
}
.hero::before{content:'';position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60'%3E%3Ccircle cx='30' cy='30' r='1' fill='rgba(255,255,255,.06)'/%3E%3C/svg%3E");background-size:60px 60px}
.hero::after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:80px;background:var(--white);clip-path:ellipse(55% 100% at 50% 100%)}

/* Hero inner: 2-col side by side — text left, cards right — all above fold */
.hero-inner{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:2.5rem;
  align-items:center;
  padding-block:3rem 5rem;
  position:relative;z-index:1;
}
.hero-text{/* left column */}
.hero-badge{display:inline-flex;align-items:center;gap:.5rem;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);border-radius:var(--r-full);padding:.4rem 1rem;color:rgba(255,255,255,.9);font-size:.8125rem;font-weight:600;margin-bottom:1.5rem;backdrop-filter:blur(8px)}
.hero-badge::before{content:'✦';font-size:.6rem;color:var(--blue-light)}
.hero-title{font-family:var(--ff-display);font-size:clamp(2.2rem,4.5vw,3.8rem);font-weight:600;line-height:1.1;color:var(--white);margin-bottom:1.25rem}
.hero-title em{font-style:italic;color:#F5C060}
.hero-body{font-size:clamp(.9rem,1.5vw,1.0625rem);line-height:1.7;color:rgba(255,255,255,.78);max-width:460px;margin-bottom:2rem}
.hero-actions{display:flex;gap:1rem;flex-wrap:wrap}

/* Cards — 2×2 grid on right column */
.hero-cards{
  display:grid;
  grid-template-columns:1fr 1fr;
  grid-template-rows:1fr 1fr;
  gap:.75rem;
  height:calc(100dvh - var(--nav-h) - 10rem);
  max-height:480px;
}
.hero-card{position:relative;border-radius:var(--r-lg);overflow:hidden;cursor:pointer;transition:transform .4s var(--ease)}
.hero-card:hover{transform:translateY(-5px)}
.hero-card img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.hero-card:hover img{transform:scale(1.05)}
.hero-card-label{position:absolute;bottom:0;left:0;right:0;padding:1rem .85rem .75rem;background:linear-gradient(to top,rgba(7,25,41,.85),transparent);color:var(--white);font-weight:600;font-size:.875rem}

/* ── TRUST BAR ── */
.trust-bar{background:var(--off-white);border-top:1px solid var(--g200);border-bottom:1px solid var(--g200)}
.trust-bar-inner{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.trust-item{display:flex;align-items:center;gap:.85rem;padding:1.5rem 1.75rem;border-right:1px solid var(--g200)}
.trust-item:last-child{border-right:none}
.trust-icon{width:40px;height:40px;border-radius:10px;background:var(--blue-tint);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.trust-icon svg{color:var(--blue);width:20px;height:20px}
.trust-label{font-weight:700;font-size:.9rem;color:var(--ink);line-height:1.3}
.trust-desc{font-size:.8rem;color:var(--g400);line-height:1.3}

/* ── SECTIONS ── */
.section{padding-block:clamp(4rem,8vw,7rem)}
.section-alt{background:var(--off-white)}
.section-dark{background:var(--navy)}
.section-blue{background:linear-gradient(135deg,#B85C00,#E8870A)}

/* ── SERVICE SPLIT ── */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2.5rem,5vw,5rem);align-items:center}
.split.reverse .split-media{order:-1}
.split-media{position:relative}
.split-media img{border-radius:var(--r-xl);object-fit:cover;width:100%;aspect-ratio:4/5;box-shadow:var(--sh-lg)}
.split-media-secondary{position:absolute;bottom:-1.5rem;right:-1.5rem;width:55%;aspect-ratio:1;border-radius:var(--r-lg);object-fit:cover;box-shadow:var(--sh-lg);border:4px solid var(--white)}
.split-floating-card{position:absolute;bottom:2rem;left:-2rem;background:var(--white);border-radius:var(--r-md);padding:1rem 1.25rem;box-shadow:var(--sh-lg);display:flex;align-items:center;gap:.75rem;min-width:200px}
.split-floating-card-icon{width:38px;height:38px;border-radius:8px;background:var(--blue-tint);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.split-floating-card-text{font-size:.8125rem;font-weight:700;color:var(--ink)}
.split-floating-card-sub{font-size:.75rem;color:var(--g400)}

/* ── PORTAL STRIP ── */
.portal-strip{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-top:3rem}
.portal-card{border-radius:var(--r-lg);overflow:hidden;position:relative}
.portal-card img{width:100%;aspect-ratio:16/9;object-fit:cover}
.portal-card-label{position:absolute;bottom:1rem;left:1rem;right:1rem;background:rgba(59,31,5,.75);backdrop-filter:blur(8px);border-radius:var(--r-md);padding:.75rem 1rem;color:var(--white);font-weight:600;font-size:.9rem}

/* ── STAT STRIP ── */
.stat-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--sh-md)}
.stat-item{padding:2.5rem 2rem;background:#E8870A;color:var(--white);text-align:center;border-right:1px solid rgba(255,255,255,.15)}
.stat-item:last-child{border-right:none}
.stat-item:nth-child(2){background:#B85C00}
.stat-item:nth-child(3){background:#3B1F05}
.stat-num{font-family:var(--ff-display);font-size:clamp(2rem,4vw,3rem);font-weight:700;line-height:1;margin-bottom:.35rem}
.stat-label{font-size:.9rem;color:rgba(255,255,255,.7)}

/* ── TESTIMONIALS ── */
.testimonials-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-top:3rem}
.testi-card{background:var(--white);border:1px solid var(--g200);border-radius:var(--r-lg);padding:1.5rem;display:flex;flex-direction:column;gap:1rem;box-shadow:var(--sh-sm);transition:box-shadow .3s,transform .3s}
.testi-card:hover{box-shadow:var(--sh-md);transform:translateY(-3px)}
.testi-card.featured{background:var(--blue);border-color:var(--blue);color:var(--white)}
.testi-card.featured .testi-text{color:rgba(255,255,255,.9)}
.testi-card.featured .testi-name{color:var(--white)}
.testi-photo-row{display:flex;align-items:center;gap:.75rem}
.testi-avatar{width:48px;height:48px;border-radius:50%;object-fit:cover;border:3px solid var(--blue-pale)}
.testi-name{font-weight:700;font-size:.9375rem;color:var(--ink)}
.testi-stars{color:#f59e0b;font-size:.875rem;letter-spacing:.05em}
.testi-text{font-size:.9rem;line-height:1.65;color:var(--g600);font-style:italic}
.testi-img-card{border-radius:var(--r-lg);overflow:hidden;aspect-ratio:16/10}
.testi-img-card img{width:100%;height:100%;object-fit:cover}

/* ── WIDE BANNER ── */
.wide-banner{border-radius:var(--r-xl);overflow:hidden;position:relative;min-height:320px;display:flex;align-items:center}
.wide-banner img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.wide-banner-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(59,31,5,.88) 0%,rgba(59,31,5,.4) 100%)}
.wide-banner-content{position:relative;z-index:1;padding:3.5rem;max-width:600px;color:var(--white)}
.wide-banner-content h3{font-family:var(--ff-display);font-size:clamp(1.5rem,3vw,2.25rem);line-height:1.2;margin-bottom:1.5rem}

/* ── HOW IT WORKS ── */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:3rem}
.step-card{background:var(--white);border:1px solid var(--g100);border-radius:var(--r-lg);padding:2rem;position:relative;box-shadow:var(--sh-sm)}
.step-num{display:inline-flex;width:40px;height:40px;border-radius:50%;background:var(--blue);color:var(--white);font-weight:800;font-size:.875rem;align-items:center;justify-content:center;margin-bottom:1rem}
.step-card h4{font-family:var(--ff-display);font-size:1.125rem;margin-bottom:.5rem;color:var(--ink)}
.step-card p{font-size:.9rem;color:var(--g600);line-height:1.65}

/* ── CARE COACHING ── */
.coaching-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:4rem;align-items:center;margin-top:3rem}
.coaching-screenshot{border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--sh-xl);position:relative}
.coaching-screenshot img{width:100%;display:block}

/* ── FOOTER ── */
.footer{background:#1C0E00;color:rgba(255,255,255,.7)}
.footer-top{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;padding-block:4rem}
.footer-brand-logo{font-family:var(--ff-body);font-size:1.6rem;font-weight:800;color:var(--white);display:flex;align-items:center;gap:.5rem;margin-bottom:1.25rem}

.footer-tagline{font-size:.9rem;line-height:1.65;margin-bottom:1.5rem;color:rgba(255,255,255,.6)}
.footer-contact-item{display:flex;align-items:flex-start;gap:.6rem;font-size:.875rem;color:rgba(255,255,255,.65);margin-bottom:.75rem;line-height:1.5}
.footer-contact-item svg{flex-shrink:0;margin-top:2px;color:#F0A030;width:16px;height:16px}
.footer-col h4{font-family:var(--ff-body);font-weight:700;font-size:.8125rem;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.4);margin-bottom:1.25rem}
.footer-col a{display:block;font-size:.9rem;color:rgba(255,255,255,.65);margin-bottom:.6rem;transition:color .2s}
.footer-col a:hover{color:var(--white)}
.footer-divider{border:none;border-top:1px solid rgba(255,255,255,.08);margin:0}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;padding-block:1.5rem}
.footer-copy{font-size:.8125rem;color:rgba(255,255,255,.4)}
.footer-legal-links{display:flex;gap:1.5rem;flex-wrap:wrap}
.footer-legal-links a{font-size:.8125rem;color:rgba(255,255,255,.4);transition:color .2s}
.footer-legal-links a:hover{color:rgba(255,255,255,.7)}
.footer-disclaimer{font-size:.75rem;line-height:1.7;color:rgba(255,255,255,.35);padding-block:2rem;border-top:1px solid rgba(255,255,255,.06)}

/* ── LEGAL PAGE ── */
.legal-hero{background:linear-gradient(135deg,#3B1F05,#B85C00);padding-block:5rem 4rem;padding-top:calc(var(--nav-h) + 4rem)}
.legal-hero h1{font-family:var(--ff-display);font-size:clamp(2rem,4vw,3rem);color:var(--white);margin-bottom:.75rem}
.legal-hero p{color:rgba(255,255,255,.65);font-size:1rem}
.legal-body{padding-block:4rem}
.legal-content{max-width:780px}
.legal-content h2{font-family:var(--ff-display);font-size:1.5rem;color:var(--ink);margin-top:2.5rem;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid var(--blue-tint)}
.legal-content h3{font-size:1.1rem;font-weight:700;color:var(--ink);margin-top:1.75rem;margin-bottom:.75rem}
.legal-content p{font-size:.9375rem;line-height:1.8;color:var(--g600);margin-bottom:1rem}
.legal-content ul,.legal-content ol{padding-left:1.5rem;margin-bottom:1rem}
.legal-content li{font-size:.9375rem;line-height:1.8;color:var(--g600);margin-bottom:.35rem}
.legal-content a{color:var(--blue);text-decoration:underline}
.legal-toc{background:var(--blue-tint);border-left:3px solid var(--blue);border-radius:0 var(--r-md) var(--r-md) 0;padding:1.5rem;margin-bottom:2.5rem}
.legal-toc h4{font-weight:700;font-size:.9rem;text-transform:uppercase;letter-spacing:.08em;color:var(--blue);margin-bottom:1rem}
.legal-toc ol{padding-left:1.25rem}
.legal-toc li{font-size:.875rem;color:var(--blue-mid);margin-bottom:.3rem}
.legal-toc a{color:var(--blue-mid)}
.legal-toc a:hover{color:var(--blue)}

/* ── Coming Soon pill ── */
.coming-soon-pill{display:inline-flex;align-items:center;gap:.45rem;background:var(--blue-tint);color:var(--blue);border-radius:var(--r-full);padding:.5rem 1.1rem;font-size:.875rem;font-weight:700;margin-top:1.5rem}
.coming-soon-pill::before{content:'🔔';font-size:.85rem}

/* ══════════════════════════════════════════
   RESPONSIVE
══════════════════════════════════════════ */
@media(max-width:1024px){
  .hero-inner{grid-template-columns:1fr;gap:2rem;padding-block:3rem 4rem}
  .hero-title{font-size:clamp(2.4rem,5vw,3.2rem)}
  .hero-cards{grid-template-columns:repeat(4,1fr);grid-template-rows:1fr;height:200px;max-height:200px}
  .hero-card-label{font-size:.8rem;padding:.75rem .6rem .6rem}
  .split{grid-template-columns:1fr;gap:2.5rem}
  .split.reverse .split-media{order:0}
  .footer-top{grid-template-columns:1fr 1fr;gap:2rem}
  .testimonials-grid{grid-template-columns:1fr 1fr}
  .coaching-grid{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr 1fr}
}
@media(max-width:768px){
  /* Collapse to 2-col grid: logo | hamburger */
  .nav-inner{grid-template-columns:auto auto;justify-content:space-between}
  .nav-links,.nav-cta{display:none}
  .nav-toggle{display:flex}

  /* ── HERO MOBILE FIX ──
     Nav is always-visible solid white bar (height: 72px).
     Hero sits below via margin-top:var(--nav-h).
     Disable vertical centering so content always starts at top of hero.
     Add explicit top padding so text has clear breathing room. */
  .hero{
    justify-content:flex-start;  /* stop centering — flow from top */
    min-height:auto;             /* don't force full-screen height on mobile */
    padding-bottom:3rem;
  }
  .hero-inner{
    grid-template-columns:1fr;   /* single column */
    gap:1.5rem;
    padding-top:2.5rem;          /* space from top of hero box to text */
    padding-bottom:2rem;
  }
  .hero-cards{
    grid-template-columns:repeat(2,1fr);
    grid-template-rows:auto;
    height:auto;
    max-height:none;
    aspect-ratio:auto;
  }
  .hero-card{aspect-ratio:4/3}  /* give cards a consistent height */

  .trust-bar-inner{grid-template-columns:1fr 1fr}
  .trust-item:nth-child(2){border-right:none}
  .testimonials-grid{grid-template-columns:1fr}
  .footer-top{grid-template-columns:1fr}
  .footer-bottom{flex-direction:column;align-items:flex-start}
  .steps{grid-template-columns:1fr}
  .stat-strip{grid-template-columns:1fr}
  .stat-item{border-right:none;border-bottom:1px solid rgba(255,255,255,.15)}
  .split-media-secondary{display:none}
  .split-floating-card{display:none}
  .portal-strip{grid-template-columns:1fr}
}
@media(max-width:520px){
  .trust-bar-inner{grid-template-columns:1fr}
  .trust-item{border-right:none;border-bottom:1px solid var(--g200)}
}
