/* ============================================================
   X3 ELEVATE — Shared Stylesheet
   To retheme: edit ONLY the CLIENT SETTINGS block below.
   Everything after the divider is the engine — leave it alone.
   ============================================================ */

/* ── CLIENT SETTINGS ── */
:root {
  /* Layout */
  --container-width: 1280px;
  --nav-h:           72px;
  --subnav-h:        44px;
  --total-nav-h:     116px;    /* nav-h + subnav-h */

  /* Brand colors — semantic names, not literal */
  --color-primary:        #1A5F6B;   /* teal */
  --color-primary-mid:    #237585;
  --color-primary-light:  #4A9BAB;
  --color-accent:         #d5490f;   /* coral */
  --color-accent-light:   #e06030;
  --color-gold:           #C4924A;
  --color-gold-light:     #DDB06A;
  --color-surface:        #F0F4F9;   /* blue-gray */
  --color-surface-dark:   #DDE4EE;
  --color-dark:           #111827;   /* ink */
  --color-text:           #1E293B;
  --color-text-muted:     #64748B;
  --color-white:          #FFFFFF;

  /* Typography */
  --font-display: 'Fraunces', serif;
  --font-body:    'Plus Jakarta Sans', sans-serif;
  --font-base:    17px;

  /* Radii */
  --radius:       4px;
  --radius-pill:  100px;

  /* Testimonials gradient — change all three stops to retheme */
  --testi-gradient: linear-gradient(170deg, #00f3ff -78%, #111827 52%, #2ca4eb 100%);
}

/* ============================================================
   ENGINE — do not edit below this line
   ============================================================ */

/* ── Reset ── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  font-family: var(--font-body);
  color: var(--color-text);
  background: var(--color-white);
  line-height: 1.7;
  font-size: var(--font-base);
  overflow-x: hidden;
}
h1, h2, h3, h4 { font-family: var(--font-display); line-height: 1.15; font-weight: 400; }
a { text-decoration: none; color: inherit; }
img { display: block; max-width: 100%; }

/* ── Layout ── */
.container { width: 100%; max-width: var(--container-width); margin: 0 auto; padding: 0 5%; }
.section-pad    { padding: 100px 0; }
.section-pad-sm { padding: 72px 0; }

/* Anchor offset for fixed two-tier nav */
section[id], div[id] { scroll-margin-top: var(--total-nav-h); }

/* ── Typography helpers ── */
.eyebrow {
  display: block;
  font-size: 11px;
  letter-spacing: .2em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--color-primary-mid);
  margin-bottom: 16px;
}
.eyebrow--gold  { color: var(--color-gold-light); }
.eyebrow--light { color: rgba(255,255,255,.5); }
.eyebrow--teal  { color: var(--color-primary-light); }
.eyebrow--accent{ color: var(--color-accent); }

/* ── Buttons ── */
.btn, .btn-coral, .btn-ghost {
  display: inline-block;
  padding: 16px 34px;
  border-radius: var(--radius);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-family: var(--font-body);
  transition: background .2s, transform .15s, border-color .2s, color .2s;
  cursor: pointer;
}
.btn-coral { background: var(--color-accent); color: var(--color-white); }
.btn-coral:hover { background: var(--color-accent-light); transform: translateY(-2px); }
.btn-ghost { border: 1px solid rgba(255,255,255,.28); color: rgba(255,255,255,.82); }
.btn-ghost:hover { border-color: var(--color-white); color: var(--color-white); }
.btn-ghost-dark { border: 1px solid rgba(17,24,39,.25); color: var(--color-dark); }
.btn-ghost-dark:hover { background: var(--color-dark); color: var(--color-white); }
.btn-block { display: block; text-align: center; }

/* ── PRIMARY NAV ── */
.site-nav {
  position: fixed; top: 0; left: 0; right: 0;
  z-index: 200;
  height: var(--nav-h);
  background: rgba(17,24,39,.96);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}
.site-nav .container { height: 100%; display: flex; align-items: center; justify-content: space-between; }
.nav-logo { font-family: var(--font-display); font-size: 21px; font-weight: 600; color: var(--color-white); letter-spacing: -.01em; }
.nav-logo span { color: var(--color-gold-light); font-weight: 300; font-style: italic; }
.nav-links { display: flex; gap: 24px; list-style: none; align-items: center; }
.nav-links a {
  color: rgba(255,255,255,.62);
  font-size: 12px; font-weight: 500;
  letter-spacing: .06em; text-transform: uppercase;
  transition: color .2s;
}
.nav-links a:hover, .nav-links a.active { color: var(--color-white); }
.nav-book {
  background: var(--color-accent) !important;
  color: var(--color-white) !important;
  padding: 8px 20px; border-radius: var(--radius);
  font-weight: 600 !important;
  transition: background .2s !important;
}
.nav-book:hover { background: var(--color-accent-light) !important; }

/* ── SUB NAV ── */
.sub-nav {
  position: fixed;
  top: var(--nav-h); left: 0; right: 0;
  z-index: 199;
  height: var(--subnav-h);
  background: rgba(26,58,68,.88);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(74,155,171,.2);
}
.sub-nav .container { height: 100%; display: flex; align-items: center; }
.sub-links { display: flex; gap: 32px; list-style: none; align-items: center; }
.sub-links a {
  color: rgba(255,255,255,.5);
  font-size: 11px; font-weight: 600;
  letter-spacing: .1em; text-transform: uppercase;
  padding-bottom: 2px;
  border-bottom: 1px solid transparent;
  transition: color .2s, border-color .2s;
}
.sub-links a:hover, .sub-links a.sub-active {
  color: var(--color-primary-light);
  border-bottom-color: var(--color-primary-light);
}

/* ── HAMBURGER ── */
.nav-hamburger {
  display: none; flex-direction: column; gap: 5px;
  cursor: pointer; padding: 8px; background: none; border: none; z-index: 201;
}
.nav-hamburger span { display: block; width: 24px; height: 2px; background: var(--color-white); border-radius: 2px; transition: transform .3s, opacity .3s; }
.nav-hamburger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.nav-hamburger.open span:nth-child(2) { opacity: 0; }
.nav-hamburger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* ── MOBILE NAV ── */
.nav-mobile {
  display: none; position: fixed; inset: 0;
  background: rgba(17,24,39,.98); z-index: 199;
  flex-direction: column; align-items: center; justify-content: center; gap: 28px;
}
.nav-mobile.open { display: flex; }
.nav-mobile a { color: var(--color-white); font: 300 24px var(--font-display); transition: color .2s; }
.nav-mobile a:hover { color: var(--color-gold-light); }
.nav-mobile .sub-label {
  font-size: 11px; letter-spacing: .15em; text-transform: uppercase;
  color: rgba(255,255,255,.3); font-family: var(--font-body); font-weight: 600;
}
.nav-mobile .mobile-sub-links { display: flex; flex-direction: column; align-items: center; gap: 12px; }
.nav-mobile .mobile-sub-links a { font-size: 16px; color: rgba(255,255,255,.65); font-family: var(--font-body); }

/* ── HERO VARIANTS ── */
/* Home: 50/50 split */
.hero-split {
  margin-top: var(--total-nav-h);
  min-height: calc(100vh - var(--total-nav-h));
  display: grid; grid-template-columns: 1fr 1fr;
  background: var(--color-dark); overflow: hidden; position: relative;
}
.hero-split-left { position: relative; z-index: 2; display: flex; align-items: center; padding: 80px 0% 80px 35%; }
.hero-split-right { position: relative; overflow: hidden; }
.hero-split-right img { width: 100%; height: 100%; object-fit: cover; object-position: center top; display: block; }
.hero-split-right::after {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(90deg, var(--color-dark) 0%, rgba(17,24,39,.3) 50%, transparent 100%);
}
.hero-blob { position: absolute; border-radius: 50%; filter: blur(80px); pointer-events: none; }
.hero-blob-1 { width: 500px; height: 500px; background: var(--color-primary); opacity: .18; top: -100px; left: -80px; }
.hero-blob-2 { width: 300px; height: 300px; background: var(--color-gold); opacity: .1; bottom: 0; left: 30%; }

/* Inner pages: centered */
.hero-page {
  margin-top: var(--total-nav-h);
  min-height: 70vh;
  background: var(--color-dark);
  position: relative; overflow: hidden;
  display: flex; align-items: center;
}

.hero-page::before {
  content: ''; position: absolute;
  width: 650px; height: 650px; border-radius: 50%;
  background: var(--color-primary); filter: blur(100px); opacity: .2;
  top: -250px; left: -180px;
}
.hero-page::after {
  content: ''; position: absolute;
  width: 420px; height: 420px; border-radius: 50%;
  background: var(--color-gold); filter: blur(100px); opacity: .1;
  right: -120px; bottom: -180px;
}
.hero-inner { position: relative; z-index: 2; max-width: 840px; padding: 100px 0; }
.hero-eyebrow {
  display: inline-flex; align-items: center; gap: 12px;
  font-size: 12px; letter-spacing: .22em; text-transform: uppercase;
  color: var(--color-gold-light); font-weight: 600; margin-bottom: 28px;
}
.hero-eyebrow::before { content: ''; width: 28px; height: 1px; background: var(--color-gold-light); }
.hero-page h1, .hero-split h1 {
  color: var(--color-white); font-weight: 300; letter-spacing: -.02em; margin-bottom: 28px;
}
.hero-page h1 { font-size: clamp(46px,7vw,84px); }
.hero-split h1 { font-size: clamp(38px,5.5vw,52px); line-height: 1.05; }
.hero-page h1 em, .hero-split h1 em { color: var(--color-gold-light); font-style: italic; }
.hero-page p { max-width: 700px; color: rgba(255,255,255,.72); font-size: 18px; line-height: 1.9; margin-bottom: 38px; }
.hero-bio { font-size: 17px; color: rgba(255,255,255,.72); max-width: 600px; line-height: 1.85; margin-bottom: 44px; }
.hero-bio strong { color: rgba(255,255,255,.95); font-weight: 600; }
.hero-divider { width: 60px; height: 1px; background: var(--color-gold-light); margin-bottom: 28px; }
.hero-content { max-width: 580px; }
.actions { display: flex; gap: 14px; flex-wrap: wrap; }

/* Home hero animations */
@keyframes fadeUp { from{opacity:0;transform:translateY(24px)} to{opacity:1;transform:translateY(0)} }
.hero-split .hero-eyebrow { animation: fadeUp .7s ease 0s    both; }
.hero-split h1            { animation: fadeUp .7s ease .12s  both; }
.hero-split .hero-divider { animation: fadeUp .7s ease .2s   both; }
.hero-split .hero-bio     { animation: fadeUp .7s ease .28s  both; }
.hero-split .actions      { animation: fadeUp .7s ease .38s  both; }

/* ── SIGNAL STRIP ── */
.signal {
  background: var(--color-primary); padding: 16px 0;
  text-align: center; color: rgba(255,255,255,.8); font-size: 14px;
}
.signal strong { color: var(--color-white); }

/* ── SPLIT LAYOUT ── */
.split { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: start; }
.split h2, .section-header h2 { font-size: clamp(32px,4vw,50px); font-weight: 300; color: var(--color-dark); }
.split h2 em, .section-header h2 em { font-style: italic; color: var(--color-accent); }
.split-copy p { color: var(--color-text-muted); line-height: 1.95; margin-bottom: 20px; }
.split-copy strong { color: var(--color-text); }
.pullquote { margin-top: 34px; padding: 28px 30px; background: var(--color-surface); border-left: 4px solid var(--color-primary); font: italic 400 24px/1.45 var(--font-display); color: var(--color-dark); }

/* ── SECTION HEADER ── */
.section-header { text-align: center; max-width: 760px; margin: 0 auto 58px; }
.section-header p { margin-top: 20px; color: var(--color-text-muted); }
.section-header h2 em { font-style: italic; color: var(--color-accent); }

/* ── CARDS (shared) ── */
.cards { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
.card {
  background: var(--color-white); padding: 40px 32px;
  border-radius: var(--radius); box-shadow: 0 2px 24px rgba(17,24,39,.07);
  position: relative; overflow: hidden;
}
.card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 4px; background: linear-gradient(90deg,var(--color-primary),var(--color-primary-light)); }
.card:nth-child(2)::before,.card:nth-child(5)::before { background: linear-gradient(90deg,var(--color-accent),var(--color-gold)); }
.card-num { font: 600 48px/1 var(--font-display); color: var(--color-surface-dark); margin-bottom: 20px; }
.card h3 { font-size: 22px; margin-bottom: 14px; color: var(--color-dark); }
.card p { font-size: 14px; line-height: 1.85; color: var(--color-text-muted); }

/* ── HOME: TILES (programs section) ── */
.tiles-bg { background: var(--color-surface); }
.tiles-header { text-align: center; max-width: 600px; margin: 0 auto 64px; }
.tiles-header .eyebrow { display: block; }
.tiles-header h2 { font-size: clamp(30px,4vw,48px); font-weight: 300; color: var(--color-dark); }
.tiles-header h2 em { font-style: italic; color: var(--color-accent); }
.tiles-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.tile { background: var(--color-white); padding: 52px 44px; border-radius: var(--radius); position: relative; overflow: hidden; box-shadow: 0 2px 24px rgba(17,24,39,.07); }
.tile-accent { position: absolute; top: 0; left: 0; right: 0; height: 5px; }
.tile-1 .tile-accent { background: linear-gradient(90deg,var(--color-primary),var(--color-primary-light)); }
.tile-2 .tile-accent { background: linear-gradient(90deg,var(--color-accent),var(--color-gold)); }
.tile-tag { display: inline-block; font-size: 10px; letter-spacing: .2em; text-transform: uppercase; font-weight: 700; padding: 5px 12px; border-radius: var(--radius-pill); margin-bottom: 28px; }
.tile-1 .tile-tag { background: rgba(26,95,107,.08); color: var(--color-primary-mid); border: 1px solid rgba(26,95,107,.15); }
.tile-2 .tile-tag { background: rgba(213,73,15,.08); color: var(--color-accent); border: 1px solid rgba(213,73,15,.2); }
.tile h3 { font-size: clamp(24px,2.5vw,32px); margin-bottom: 20px; font-weight: 400; line-height: 1.2; color: var(--color-dark); }
.tile-1 h3 em { font-style: italic; color: var(--color-primary-mid); }
.tile-2 h3 em { font-style: italic; color: var(--color-accent); }
.tile p { font-size: 15px; line-height: 1.9; margin-bottom: 14px; font-weight: 400; color: var(--color-text-muted); }
.tile-cta { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; margin-top: 8px; transition: gap .2s; font-family: var(--font-body); }
.tile-cta:hover { gap: 14px; }
.tile-1 .tile-cta { color: var(--color-primary-mid); }
.tile-2 .tile-cta { color: var(--color-accent); }

/* ── HOME: COACH SECTION ── */
.coach-grid { display: grid; grid-template-columns: 420px 1fr; gap: 80px; align-items: start; }
.coach-image { position: sticky; top: calc(var(--total-nav-h) + 20px); }
.coach-photo { width: 100%; aspect-ratio: 3/4; border-radius: var(--radius); overflow: hidden; position: relative; }
.coach-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center top; }
.coach-photo-bar { position: absolute; bottom: 0; left: 0; right: 0; padding: 24px 28px; background: linear-gradient(to top,rgba(26,20,16,.85) 0%,transparent 100%); }
.coach-photo-bar p { font-size: 13px; color: rgba(255,255,255,.7); font-weight: 500; letter-spacing: .04em; text-transform: uppercase; margin-bottom: 4px; }
.coach-photo-bar strong { font-size: 18px; color: var(--color-white); font-family: var(--font-display); font-weight: 400; }
.coach-certs { margin-top: 20px; padding: 20px 24px; background: var(--color-surface); border-radius: var(--radius); border-left: 3px solid var(--color-primary); }
.coach-certs p { font-size: 13px; color: var(--color-text-muted); line-height: 1.7; }
.coach-content h2 { font-size: clamp(30px,3.5vw,48px); margin-bottom: 28px; font-weight: 300; color: var(--color-dark); }
.coach-content h2 em { font-style: italic; color: var(--color-accent); }
.coach-content p { font-size: 16px; color: var(--color-text-muted); line-height: 1.9; margin-bottom: 20px; }
.coach-content p strong { color: var(--color-text); font-weight: 600; }
.coach-wins { list-style: none; margin: 32px 0 40px; }
.coach-wins li { display: flex; gap: 14px; align-items: flex-start; padding: 14px 0; border-bottom: 1px solid var(--color-surface-dark); font-size: 15px; color: var(--color-text); line-height: 1.6; }
.coach-wins li:last-child { border-bottom: none; }
.coach-wins li::before { content: '→'; color: var(--color-accent); font-weight: 700; flex-shrink: 0; margin-top: 1px; }

/* ── HOME: TESTIMONIALS ── */
.testi-bg { background: var(--testi-gradient); position: relative; overflow: hidden; }
.testi-blob { position: absolute; width: 600px; height: 600px; background: var(--color-primary); opacity: .06; filter: blur(100px); border-radius: 50%; top: -100px; right: -100px; }
.testi-header { text-align: center; margin-bottom: 64px; }
.testi-header h2 { font-size: clamp(28px,4vw,46px); color: var(--color-white); font-weight: 300; }
.testi-header h2 em { font-style: italic; color: var(--color-gold-light); }
.testi-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
.testi-card { background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.08); padding: 36px 32px; border-radius: var(--radius); }
.testi-card::before { content: '"'; font-family: var(--font-display); font-size: 80px; color: var(--color-primary); opacity: .3; line-height: 1; display: block; margin-bottom: -20px; }
.testi-card p { font-size: 14px; color: rgba(255,255,255,.7); line-height: 1.85; margin-bottom: 20px; font-style: italic; }
.testi-card cite { font-size: 12px; font-style: normal; color: var(--color-gold-light); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }

/* ── HOME: APP ── */
.app-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }
.app-content h2 { font-size: clamp(28px,3.5vw,44px); font-weight: 300; margin-bottom: 20px; }
.app-content h2 em { font-style: italic; color: var(--color-accent); }
.app-content p { font-size: 16px; color: var(--color-text-muted); line-height: 1.85; margin-bottom: 32px; }
.app-badges { display: flex; gap: 16px; flex-wrap: wrap; }
.app-badges img { height: 44px; width: auto; display: block; }
.app-visual { display: flex; justify-content: center; align-items: center; }
.app-mockup { width: 260px; aspect-ratio: 9/19; background: var(--color-dark); border-radius: 28px; border: 5px solid rgba(17,24,39,.8); box-shadow: 0 40px 80px rgba(17,24,39,.2); overflow: hidden; position: relative; }
.app-mockup-inner { background: linear-gradient(135deg,var(--color-primary) 0%,var(--color-dark) 100%); position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; padding: 28px; }
.app-mockup-logo { font-family: var(--font-display); font-size: 26px; color: var(--color-white); font-weight: 600; text-align: center; }
.app-mockup-logo span { color: var(--color-gold-light); font-style: italic; font-weight: 300; }
.app-mockup p { font-size: 11px; color: rgba(255,255,255,.5); text-align: center; letter-spacing: .06em; text-transform: uppercase; }
.app-mockup-btn { background: var(--color-accent); color: var(--color-white); padding: 9px 22px; border-radius: var(--radius-pill); font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }

/* ── HOME: WHY COACHING CARDS ── */
.why-cards { display: grid; grid-template-columns: repeat(3,1fr); gap: 2px; background: var(--color-surface-dark); margin-top: 56px; border-radius: var(--radius); overflow: hidden; }
.why-card { background: var(--color-surface); padding: 44px 36px; border-radius: var(--radius); box-shadow: 0 2px 20px rgba(17,24,39,.06); }
.why-card--dark { background: var(--color-dark); display: flex; flex-direction: column; justify-content: space-between; position: relative; overflow: hidden; }
.why-card--dark::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 4px; background: linear-gradient(90deg,var(--color-gold),var(--color-gold-light)); }
.why-num { font: 600 52px/1 var(--font-display); color: var(--color-surface-dark); margin-bottom: 20px; }
.why-card--dark .why-num { color: rgba(255,255,255,.06); }
.why-card h3 { font-size: 20px; font-weight: 400; margin-bottom: 14px; color: var(--color-dark); }
.why-card--dark h3 { color: var(--color-white); }
.why-card p { font-size: 14px; color: var(--color-text-muted); line-height: 1.85; }
.why-card--dark p { color: rgba(255,255,255,.6); margin-bottom: 32px; }

/* ── BIO BANNER (shared) ── */
.bio-banner { background: var(--color-dark); padding: 68px 0; position: relative; overflow: hidden; }
.bio-banner::before { content: ''; position: absolute; inset: 0; background: linear-gradient(135deg,rgba(26,95,107,.2) 0%,transparent 60%); }
.bio-banner::after { content: ''; position: absolute; right: -80px; top: -80px; width: 400px; height: 400px; background: var(--color-primary); opacity: .06; filter: blur(80px); border-radius: 50%; }
.bio-grid { display: grid; grid-template-columns: 200px 1fr; gap: 54px; align-items: center; position: relative; z-index: 2; }
.bio-photo { width: 180px; height: 180px; border-radius: 50%; overflow: hidden; border: 3px solid var(--color-primary-light); box-shadow: 0 0 0 8px rgba(74,155,171,.1); }
.bio-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center top; }
.bio-copy h3 { font-size: 30px; color: var(--color-white); margin-bottom: 6px; }
.bio-copy .badge { display: inline-block; font-size: 11px; letter-spacing: .18em; text-transform: uppercase; font-weight: 700; color: var(--color-primary-light); padding: 4px 12px; border: 1px solid rgba(74,155,171,.35); border-radius: var(--radius-pill); margin-bottom: 16px; }
.bio-copy p { font-size: 15px; color: rgba(255,255,255,.64); line-height: 1.85; margin-bottom: 24px; }
.bio-copy .cta-wrap { display: flex; justify-content: flex-end; }
.bio-copy .cta-note { font-size: 12px; color: rgba(255,255,255,.3); letter-spacing: .05em; text-align: center; margin-top: 8px; }

/* ── BTI + ARCS: DARK GRADIENT SECTION ── */
.dark { background: var(--testi-gradient); color: var(--color-white); }
.dark .section-header h2 { color: var(--color-white); }
.dark .section-header p { color: rgba(255,255,255,.62); }

/* ── BTI: PROCESS STEPS ── */
.steps { display: grid; grid-template-columns: repeat(4,1fr); gap: 1px; background: rgba(255,255,255,.1); }
.step { padding: 38px 28px; background: rgba(17,24,39,.72); }
.step span { display: block; color: var(--color-gold-light); font-size: 12px; letter-spacing: .16em; text-transform: uppercase; margin-bottom: 16px; }
.step h3 { font-size: 22px; margin-bottom: 12px; }
.step p { font-size: 14px; color: rgba(255,255,255,.62); line-height: 1.8; }

/* ── BTI: RESULTS GRID ── */
.results-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 70px; align-items: center; }
.results-list { list-style: none; }
.results-list li { display: flex; gap: 14px; padding: 17px 0; border-bottom: 1px solid var(--color-surface-dark); color: var(--color-text); }
.results-list li::before { content: '→'; color: var(--color-accent); font-weight: 700; flex-shrink: 0; }
.results-note { background: var(--color-dark); color: var(--color-white); padding: 44px; border-radius: var(--radius); }
.results-note h3 { font-size: 32px; margin-bottom: 18px; }
.results-note p { color: rgba(255,255,255,.64); font-size: 15px; line-height: 1.9; margin-bottom: 28px; }

/* ── ARCS: ARC ROAD ── */
.arc-section { background: var(--color-surface); }
.arc-road { position: relative; max-width: 900px; margin: 0 auto; }
.arc-road::before { content: ''; position: absolute; top: 0; bottom: 0; left: 50%; width: 2px; background: linear-gradient(var(--color-primary-light),var(--color-accent)); opacity: .35; transform: translateX(-50%); }
.arc-item { display: grid; grid-template-columns: 1fr 100px 1fr; align-items: center; min-height: 210px; }
.arc-item:nth-child(even) .arc-copy { grid-column: 3; }
.arc-item:nth-child(even) .arc-space { grid-column: 1; grid-row: 1; }
.arc-copy { background: var(--color-white); padding: 34px 36px; border-radius: var(--radius); box-shadow: 0 2px 24px rgba(17,24,39,.07); }
.arc-copy h3 { font-size: 28px; color: var(--color-dark); margin-bottom: 10px; }
.arc-copy p { font-size: 15px; color: var(--color-text-muted); line-height: 1.85; }
.arc-copy .arc-line { font: italic 400 18px var(--font-display); color: var(--color-primary-mid); margin-bottom: 14px; }
.arc-node { grid-column: 2; width: 64px; height: 64px; border-radius: 50%; background: var(--color-dark); color: var(--color-gold-light); display: flex; align-items: center; justify-content: center; margin: auto; font: 600 28px var(--font-display); border: 6px solid var(--color-surface); box-shadow: 0 0 0 1px rgba(17,24,39,.12); z-index: 2; }

/* ── ARCS: SURVIVAL GRID ── */
.survival-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 70px; align-items: center; }
.survival-copy p { color: rgba(255,255,255,.68); line-height: 1.95; margin-bottom: 20px; }
.survival-copy strong { color: var(--color-white); }
.blueprint { padding: 42px; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.09); border-radius: var(--radius); }
.blueprint h3 { font-size: 31px; margin-bottom: 18px; }
.blueprint ul { list-style: none; }
.blueprint li { display: flex; gap: 12px; padding: 13px 0; border-bottom: 1px solid rgba(255,255,255,.08); color: rgba(255,255,255,.66); font-size: 14px; }
.blueprint li:last-child { border-bottom: 0; }
.blueprint li::before { content: '→'; color: var(--color-gold-light); font-weight: 700; }

/* ── ARCS + BOOKING: FIT/WHO IS THIS FOR ── */
.fit-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 70px; align-items: center; }
.fit-list { list-style: none; }
.fit-list li { display: flex; gap: 14px; padding: 17px 0; border-bottom: 1px solid var(--color-surface-dark); color: var(--color-text); }
.fit-list li::before { content: '→'; color: var(--color-accent); font-weight: 700; }
.fit-note { background: var(--color-dark); color: var(--color-white); padding: 44px; border-radius: var(--radius); }
.fit-note h3 { font-size: 32px; margin-bottom: 18px; }
.fit-note p { color: rgba(255,255,255,.64); font-size: 15px; line-height: 1.9; margin-bottom: 18px; }

/* ── PAUSE / QUOTE SECTION ── */
.pause { background: var(--color-primary); padding: 72px 0; text-align: center; }
.pause blockquote { max-width: 780px; margin: 0 auto; color: var(--color-white); font: 300 clamp(28px,5vw,50px)/1.35 var(--font-display); }
.pause blockquote em { color: var(--color-gold-light); }
.pause p { margin-top: 22px; color: rgba(255,255,255,.7); font-size: 14px; letter-spacing: .08em; text-transform: uppercase; }

/* ── FAQ ── */
.faq-wrap { max-width: 840px; margin: 0 auto; }
.faq-item { border-bottom: 1px solid var(--color-surface-dark); }
.faq-q { width: 100%; border: 0; background: none; text-align: left; padding: 24px 0; display: flex; justify-content: space-between; gap: 24px; align-items: center; font: 400 21px var(--font-display); color: var(--color-dark); cursor: pointer; }
.faq-q span:last-child { font-family: var(--font-body); color: var(--color-accent); font-size: 24px; transition: transform .2s; }
.faq-item.open .faq-q span:last-child { transform: rotate(45deg); }
.faq-a { max-height: 0; overflow: hidden; transition: max-height .3s ease; }
.faq-a p { padding: 0 0 24px; color: var(--color-text-muted); font-size: 15px; line-height: 1.9; }

/* ── BOOKING PAGE ── */
.booking-bg { background: var(--color-surface); }
.intro-layout { display: grid; grid-template-columns: .9fr 1.1fr; gap: 80px; align-items: start; }
.intro-layout h2 { font-size: clamp(32px,4vw,50px); font-weight: 300; color: var(--color-dark); }
.intro-layout h2 em { font-style: italic; color: var(--color-accent); }
.intro-copy p { color: var(--color-text-muted); line-height: 1.95; margin-bottom: 20px; }
.intro-copy strong { color: var(--color-text); }
.small-move { margin-top: 30px; padding: 26px 28px; background: var(--color-surface); border-left: 4px solid var(--color-accent); font: italic 400 23px/1.5 var(--font-display); color: var(--color-dark); }
.booking-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 24px; }
.booking-card { background: var(--color-white); border-radius: var(--radius); box-shadow: 0 2px 24px rgba(17,24,39,.08); padding: 44px 40px; position: relative; overflow: hidden; display: flex; flex-direction: column; min-height: 430px; }
.booking-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 5px; background: linear-gradient(90deg,var(--color-primary),var(--color-primary-light)); }
.booking-card:nth-child(2)::before { background: linear-gradient(90deg,var(--color-accent),var(--color-gold)); }
.booking-card:nth-child(3)::before { background: linear-gradient(90deg,var(--color-gold),var(--color-gold-light)); }
.booking-card:nth-child(4)::before { background: linear-gradient(90deg,var(--color-accent),var(--color-primary-light)); }
.card-top { display: flex; justify-content: space-between; gap: 18px; align-items: flex-start; margin-bottom: 22px; }
.card-tag { font-size: 10px; letter-spacing: .18em; text-transform: uppercase; font-weight: 700; color: var(--color-primary-mid); padding: 5px 11px; border-radius: var(--radius-pill); background: rgba(26,95,107,.08); border: 1px solid rgba(26,95,107,.14); }
.price { font: 400 34px/1 var(--font-display); color: var(--color-dark); white-space: nowrap; }
.price small { display: block; font: 600 10px/1.3 var(--font-body); letter-spacing: .12em; text-transform: uppercase; color: var(--color-text-muted); text-align: right; margin-top: 7px; }
.booking-card h3 { font-size: 29px; color: var(--color-dark); margin-bottom: 14px; }
.booking-card .lead { font: italic 400 18px/1.5 var(--font-display); color: var(--color-primary-mid); margin-bottom: 18px; }
.booking-card p { font-size: 14px; color: var(--color-text-muted); line-height: 1.85; margin-bottom: 18px; }
.booking-card ul { list-style: none; margin: 4px 0 28px; }
.booking-card li { display: flex; gap: 11px; padding: 9px 0; font-size: 14px; color: var(--color-text); }
.booking-card li::before { content: '→'; color: var(--color-accent); font-weight: 700; flex-shrink: 0; }
.card-button { margin-top: auto; display: inline-block; text-align: center; padding: 14px 24px; background: var(--color-accent); color: var(--color-white); border-radius: var(--radius); font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; transition: .2s; font-family: var(--font-body); }
.card-button:hover { background: var(--color-accent-light); transform: translateY(-2px); }
.deep-dive { grid-column: 1/-1; background: linear-gradient(135deg,#0B2545 0%,#123A63 65%,#185B83 100%); color: var(--color-white); border-radius: var(--radius); box-shadow: 0 24px 60px rgba(11,37,69,.22); padding: 54px 56px; position: relative; overflow: hidden; display: grid; grid-template-columns: 1.35fr .65fr; gap: 54px; align-items: center; margin-top: 8px; }
.deep-dive::before { content: ''; position: absolute; width: 420px; height: 420px; border-radius: 50%; background: var(--color-primary-light); opacity: .12; filter: blur(80px); right: -100px; top: -170px; }
.deep-dive::after { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 5px; background: linear-gradient(90deg,#2CA4EB,var(--color-primary-light),var(--color-gold-light)); }
.deep-copy, .deep-action { position: relative; z-index: 2; }
.deep-dive .card-tag { color: #b8e6ef; background: rgba(255,255,255,.07); border-color: rgba(255,255,255,.16); margin-bottom: 24px; display: inline-block; }
.deep-dive h3 { font-size: clamp(32px,4vw,47px); margin-bottom: 16px; }
.deep-dive h3 em { font-style: italic; color: var(--color-gold-light); }
.deep-dive .lead { font: italic 400 20px/1.55 var(--font-display); color: #c9eef3; margin-bottom: 18px; }
.deep-dive p { color: rgba(255,255,255,.68); font-size: 15px; line-height: 1.9; }
.deep-action { text-align: center; padding: 34px; border: 1px solid rgba(255,255,255,.12); background: rgba(255,255,255,.05); border-radius: var(--radius); }
.deep-price { font: 300 60px/1 var(--font-display); color: var(--color-white); margin-bottom: 8px; }
.deep-time { font-size: 11px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: rgba(255,255,255,.48); margin-bottom: 24px; }
.deep-action .card-button { display: block; }
.deep-note { font-size: 11px !important; color: rgba(255,255,255,.42) !important; line-height: 1.6 !important; margin: 13px 0 0 !important; }
.unsure { background: var(--color-white); text-align: center; }
.unsure-inner { max-width: 760px; margin: 0 auto; }
.unsure h2 { font-size: clamp(31px,4vw,46px); font-weight: 300; margin-bottom: 20px; }
.unsure h2 em { font-style: italic; color: var(--color-accent); }
.unsure p { color: var(--color-text-muted); line-height: 1.95; }

/* ── FOOTER ── */
.site-footer { background: var(--color-dark); padding: 50px 0 30px; border-top: 1px solid rgba(255,255,255,.08); }
.footer-top { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 60px; margin-bottom: 42px; padding-bottom: 42px; border-bottom: 1px solid rgba(255,255,255,.08); }
.footer-logo { font: 600 22px var(--font-display); color: var(--color-white); }
.footer-logo span { color: var(--color-gold-light); font-weight: 300; font-style: italic; }
.footer-brand p { font-size: 14px; color: rgba(255,255,255,.4); line-height: 1.8; max-width: 320px; margin-top: 14px; }
.footer-social { display: flex; gap: 10px; margin-top: 20px; }
.footer-social a { width: 36px; height: 36px; border: 1px solid rgba(255,255,255,.12); border-radius: var(--radius); display: flex; align-items: center; justify-content: center; font-size: 13px; color: rgba(255,255,255,.45); font-weight: 700; transition: border-color .2s, color .2s; }
.footer-social a:hover { border-color: var(--color-gold-light); color: var(--color-gold-light); }
.footer-col h4 { font: 700 11px var(--font-body); letter-spacing: .15em; text-transform: uppercase; color: rgba(255,255,255,.3); margin-bottom: 18px; }
.footer-col ul { list-style: none; }
.footer-col li { margin-bottom: 10px; }
.footer-col a { font-size: 14px; color: rgba(255,255,255,.5); transition: color .2s; }
.footer-col a:hover { color: var(--color-white); }
.footer-bottom { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; padding-top: 28px; border-top: 1px solid rgba(255,255,255,.08); }
.footer-bottom p, .footer-bottom a { font-size: 12px; color: rgba(255,255,255,.25); }
.footer-bottom a:hover { color: rgba(255,255,255,.6); }

/* ── RESPONSIVE ── */
@media (max-width: 900px) {
  .nav-links { display: none; }
  .nav-hamburger { display: flex; }
  .sub-nav .container { display: none; } /* mobile uses the overlay instead */
  .hero-split { grid-template-columns: 1fr; }
  .hero-split-right { height: 410px; order: -1; }
  .hero-split-right::after { background: linear-gradient(0deg,var(--color-dark) 0%,rgba(17,24,39,.4) 10%,transparent 100%); }
  .hero-split-left { padding: 48px 5% 64px; }
  .split,.results-grid,.survival-grid,.fit-grid,.coach-grid,.app-grid,.intro-layout,.bio-grid { grid-template-columns: 1fr; }
  .cards,.testi-grid { grid-template-columns: 1fr; }
  .tiles-grid { grid-template-columns: 1fr; }
  .steps { grid-template-columns: 1fr 1fr; }
  .why-cards { grid-template-columns: 1fr; }
  .booking-grid { grid-template-columns: 1fr; }
  .deep-dive { grid-column: auto; grid-template-columns: 1fr; padding: 44px 36px; }
  .footer-top { grid-template-columns: 1fr; }
  .coach-image { position: static; }
  .bio-photo { margin: auto; }
  .arc-road::before { left: 32px; }
  .arc-item,.arc-item:nth-child(even) { grid-template-columns: 64px 1fr; gap: 18px; min-height: auto; margin-bottom: 28px; }
  .arc-node,.arc-item:nth-child(even) .arc-node { grid-column: 1; grid-row: 1; }
  .arc-copy,.arc-item:nth-child(even) .arc-copy { grid-column: 2; grid-row: 1; }
  .arc-space { display: none; }
  .section-pad { padding: 76px 0; }
  .hero-page { min-height: auto; }
  .hero-inner { padding: 76px 0; }
  .total-nav-offset { margin-top: var(--nav-h); } /* mobile: only 1 nav tier */
}
@media (max-width: 560px) {
  .steps { grid-template-columns: 1fr; }
  .btn-coral, .btn-ghost { width: 100%; text-align: center; }
  .pause { padding: 58px 0; }
}

/* ── HOME: WHY-COACHING INTRO (replaces inline grid so it stacks on mobile) ── */
.why-intro { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }
.why-intro h2 { font-size: clamp(30px,4vw,48px); font-weight: 300; color: var(--color-dark); }
.why-intro h2 em { font-style: italic; color: var(--color-accent); }
.why-intro p { font-size: 16px; color: var(--color-text-muted); line-height: 1.9; }
.coach-story-link { display: inline-block; font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--color-primary-mid); margin: 4px 0 32px; transition: color .2s, transform .2s; }
.coach-story-link:hover { color: var(--color-accent); transform: translateX(4px); }
.coach-closer { font-size: 18px !important; font-weight: 600; color: var(--color-text) !important; margin-bottom: 32px !important; }
@media (max-width: 900px) { .why-intro { grid-template-columns: 1fr; gap: 24px; } }

/* ============================================================
   MOTION — subtle, sitewide
   main.js adds .reveal to content blocks and .in-view as they
   scroll into view. Without JS, or with reduced motion turned on,
   everything simply shows.
   ============================================================ */

/* Scroll reveal */
.reveal {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity .7s ease, transform .7s cubic-bezier(.2,.7,.2,1);
  transition-delay: var(--reveal-delay, 0s);
}
.reveal.in-view { opacity: 1; transform: none; }

/* Inner-page heroes fade up on load, like the home hero */
.hero-page .hero-inner > * { animation: fadeUp .7s ease both; }
.hero-page .hero-inner > *:nth-child(2) { animation-delay: .12s; }
.hero-page .hero-inner > *:nth-child(3) { animation-delay: .24s; }
.hero-page .hero-inner > *:nth-child(4) { animation-delay: .36s; }

/* Card lift on hover */
.card, .tile, .booking-card, .arc-copy, .testi-card {
  transition: opacity .7s ease, transform .3s ease, box-shadow .3s ease;
}
.card:hover, .tile:hover, .booking-card:hover, .arc-copy:hover {
  transform: translateY(-4px);
  box-shadow: 0 14px 38px rgba(17,24,39,.12);
}
.testi-card:hover { transform: translateY(-4px); }

/* "Your Coach" bubble: pops in, then a slow glowing pulse */
.bio-photo { animation: bioPulse 4.5s ease-in-out infinite; }
.bio-photo.reveal { transform: scale(.82); }
.bio-photo.reveal.in-view { transform: scale(1); transition: opacity .7s ease, transform .8s cubic-bezier(.34,1.56,.64,1); }
.bio-photo img { transition: transform .6s ease; }
.bio-photo:hover img { transform: scale(1.07); }
@keyframes bioPulse {
  0%, 100% { box-shadow: 0 0 0 8px rgba(74,155,171,.10), 0 0 0 0 rgba(74,155,171,0); }
  50%      { box-shadow: 0 0 0 13px rgba(74,155,171,.20), 0 0 40px 10px rgba(74,155,171,.28); }
}

/* Respect visitors who turn motion off */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .reveal, .bio-photo.reveal { opacity: 1 !important; transform: none !important; transition: none !important; }
  .hero-page .hero-inner > *, .hero-split * { animation: none !important; }
  .bio-photo { animation: none; }
  .card, .tile, .booking-card, .testi-card, .arc-copy, .bio-photo img { transition: none; }
}

/* ── HOME: TEXT-ONLY HERO (no photo) ── */
.hero-split--solo { grid-template-columns: 1fr; min-height: calc(82vh - var(--total-nav-h)); }
.hero-split--solo .hero-split-left { padding: 76px 0 84px; width: 100%; }
.hero-split--solo .hero-content { max-width: 900px; }
.hero-split--solo h1 { font-size: clamp(40px,5.6vw,68px); line-height: 1.08; }
.hero-split--solo .hero-bio { max-width: 720px; font-size: 18px; margin-bottom: 36px; }
.hero-split--solo .hero-blob-1 { width: 620px; height: 620px; top: -180px; left: -140px; }
.hero-split--solo .hero-blob-2 { width: 420px; height: 420px; left: auto; right: -80px; bottom: -120px; opacity: .14; }
@media (max-width: 900px) {
  .hero-split--solo .hero-split-left { padding: 72px 0 80px; }
}

/* Mobile: the sub-nav links live in the menu overlay, so drop the empty bar
   and pull every page up to the single nav height. */
@media (max-width: 900px) {
  :root { --total-nav-h: var(--nav-h); }
  .sub-nav { display: none; }
  .hero-split--solo .hero-split-left { padding: 56px 0 68px; }
}

/* ── HOME: PROGRAM CAROUSEL ── */
.prog-tabs { display: flex; justify-content: center; gap: 10px; flex-wrap: wrap; margin-bottom: 32px; }
.prog-tab { font: 700 12px var(--font-body); letter-spacing: .1em; text-transform: uppercase; padding: 12px 22px; border-radius: var(--radius-pill); border: 1px solid var(--color-surface-dark); background: var(--color-white); color: var(--color-text-muted); cursor: pointer; transition: background .25s, color .25s, border-color .25s, transform .15s; }
.prog-tab:hover { border-color: var(--color-primary-light); color: var(--color-primary-mid); transform: translateY(-1px); }
.prog-tab.is-active { background: var(--color-dark); border-color: var(--color-dark); color: var(--color-white); }
.prog-tab:focus-visible, .prog-arrow:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 3px; }
.prog-viewport { overflow: hidden; border-radius: var(--radius); box-shadow: 0 2px 24px rgba(17,24,39,.08); touch-action: pan-y; }
.prog-track { display: flex; transition: transform .65s cubic-bezier(.65,0,.25,1); will-change: transform; }
.prog-slide { flex: 0 0 100%; min-width: 0; }
.prog-card { display: grid; grid-template-columns: 1.4fr .6fr; background: var(--color-white); height: 100%; position: relative; }
.prog-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 5px; background: linear-gradient(90deg,var(--color-primary),var(--color-primary-light)); }
.prog-slide:nth-child(2) .prog-card::before { background: linear-gradient(90deg,var(--color-accent),var(--color-gold)); }
.prog-slide:nth-child(3) .prog-card::before { background: linear-gradient(90deg,var(--color-gold),var(--color-gold-light)); }
.prog-slide:nth-child(4) .prog-card::before { background: linear-gradient(90deg,var(--color-accent),var(--color-primary-light)); }
.prog-copy { padding: 56px 52px; }
.prog-tag { display: inline-block; font-size: 10px; letter-spacing: .2em; text-transform: uppercase; font-weight: 700; padding: 5px 12px; border-radius: var(--radius-pill); margin-bottom: 24px; background: rgba(26,95,107,.08); color: var(--color-primary-mid); border: 1px solid rgba(26,95,107,.15); }
.prog-copy h3 { font-size: clamp(30px,3.6vw,44px); font-weight: 300; line-height: 1.12; color: var(--color-dark); margin-bottom: 20px; }
.prog-copy h3 em { font-style: italic; color: var(--color-accent); }
.prog-copy p { font-size: 16px; line-height: 1.85; color: var(--color-text-muted); margin-bottom: 22px; max-width: 560px; }
.prog-copy ul { list-style: none; }
.prog-copy li { display: flex; gap: 12px; padding: 10px 0; font-size: 15px; color: var(--color-text); border-bottom: 1px solid var(--color-surface-dark); }
.prog-copy li:last-child { border-bottom: 0; }
.prog-copy li::before { content: '→'; color: var(--color-accent); font-weight: 700; flex-shrink: 0; }
.prog-action { background: var(--color-dark); color: var(--color-white); padding: 56px 40px; display: flex; flex-direction: column; justify-content: center; gap: 18px; position: relative; overflow: hidden; }
.prog-action::before { content: ''; position: absolute; width: 300px; height: 300px; border-radius: 50%; background: var(--color-primary); opacity: .25; filter: blur(70px); top: -120px; right: -120px; }
.prog-action > * { position: relative; }
.prog-count { font: 300 64px/1 var(--font-display); color: var(--color-gold-light); }
.prog-count span { font-size: 18px; color: rgba(255,255,255,.35); margin-left: 6px; }
.prog-format { font-size: 14px; color: rgba(255,255,255,.62); line-height: 1.7; }
.prog-action .btn-coral { text-align: center; }
.prog-learn { font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--color-white); text-align: center; transition: color .2s, letter-spacing .2s; }
.prog-learn:hover { color: var(--color-gold-light); letter-spacing: .12em; }
.prog-nav { display: flex; justify-content: center; gap: 12px; margin-top: 24px; }
.prog-arrow { width: 46px; height: 46px; border-radius: 50%; border: 1px solid var(--color-surface-dark); background: var(--color-white); color: var(--color-dark); font-size: 18px; cursor: pointer; transition: background .2s, color .2s, border-color .2s; }
.prog-arrow:hover { background: var(--color-dark); color: var(--color-white); border-color: var(--color-dark); }
@media (max-width: 900px) {
  .prog-tabs { flex-wrap: nowrap; justify-content: flex-start; overflow-x: auto; padding-bottom: 6px; margin: 0 -5% 24px; padding-left: 5%; padding-right: 5%; scrollbar-width: none; }
  .prog-tabs::-webkit-scrollbar { display: none; }
  .prog-tab { flex-shrink: 0; }
  .prog-card { grid-template-columns: 1fr; }
  .prog-copy { padding: 44px 28px 32px; }
  .prog-action { padding: 32px 28px 36px; }
  .prog-count { font-size: 44px; }
}
@media (prefers-reduced-motion: reduce) { .prog-track { transition: none; } }
.prog-slide:nth-child(5) .prog-card::before { background: linear-gradient(90deg,var(--color-primary-light),var(--color-gold-light)); }


/* ============================================================
   PASS 2 ADDITIONS
   ============================================================ */

/* Readable line length inside the wider 1280px container */
.split-copy p, .intro-copy p, .intro-copy .pred-list, .coach-content p, .pred-session-copy p,
.open-layout p, .survival-copy p, .why-intro p, .app-content p { max-width: 65ch; }

/* Accent rule: gold on dark backgrounds, coral on light */
.dark .section-header h2 em, .pred-session .section-header h2 em,
.hero-page h1 em, .bio-banner em, .testi-bg em, .pause em { color: var(--color-gold-light); }
.pred-session-box li::before { color: var(--color-gold-light); }
.why-card--dark .why-num { color: rgba(221,176,106,.18); }

/* Slim closing band (sits above the Your Coach bubble on every page) */
.end-band { height: 14px; background: var(--color-primary); }

/* Optional hero image: add <div class="hero-media"><img src="..." alt=""></div>
   inside .hero-page and the image fades in on the right. */
.hero-media { position: absolute; inset: 0 0 0 48%; z-index: 1; overflow: hidden; }
.hero-media img { width: 100%; height: 100%; object-fit: cover; object-position: center; opacity: .75; }
.hero-media::after { content: ''; position: absolute; inset: 0;
  background: linear-gradient(90deg, var(--color-dark) 0%, rgba(17,24,39,.75) 22%, rgba(17,24,39,.25) 60%, rgba(17,24,39,.05) 100%); }
.hero-page .container { position: relative; z-index: 2; }
@media (max-width: 900px) {
  .hero-media { inset: 0; }
  .hero-media img { opacity: .4; }
  .hero-media::after { background: linear-gradient(90deg, rgba(17,24,39,.95), rgba(17,24,39,.7)); }
}

/* Compact app section */
.app-section { padding: 72px 0; }
.app-section .app-grid { grid-template-columns: 1.3fr .7fr; gap: 56px; max-width: 980px; margin: 0 auto; }
.app-section .app-content p { margin-bottom: 26px; }
.app-section .app-mockup { width: 170px; border-radius: 22px; border-width: 4px; box-shadow: 0 24px 50px rgba(17,24,39,.18); }
.app-section .app-mockup-logo { font-size: 20px; }
@media (max-width: 900px) { .app-section .app-visual { display: none; } }

/* Session copy: "where this can lead" note on specialty pages */
.session-next { margin-top: 26px; padding: 4px 0 4px 20px; border-left: 3px solid var(--color-gold-light); }
.pred-session-copy .session-next p { margin-bottom: 0; color: rgba(255,255,255,.78); }
.session-next strong { color: var(--color-white); }

/* Sticky booking band (appears after the hero) */
.sticky-book { position: fixed; left: 0; right: 0; bottom: 0; z-index: 150;
  background: rgba(17,24,39,.96); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
  border-top: 1px solid rgba(221,176,106,.25);
  transform: translateY(110%); transition: transform .35s ease; }
.sticky-book.is-visible { transform: none; }
.sticky-book .container { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-top: 14px; padding-bottom: 14px; }
.sticky-book p { color: rgba(255,255,255,.82); font-size: 15px; margin: 0; }
.sticky-book p strong { color: var(--color-gold-light); font-family: var(--font-display); font-weight: 400; font-style: italic; font-size: 19px; margin-right: 8px; }
.sticky-book .btn-coral { padding: 12px 26px; white-space: nowrap; }
@media (max-width: 560px) {
  .sticky-book p span { display: none; }
  .sticky-book .btn-coral { width: auto; }
}
@media (prefers-reduced-motion: reduce) { .sticky-book { transition: none; } }

/* Session box: keep inside the viewport on small phones */
.pred-session-grid > * { min-width: 0; }
@media (max-width: 480px) { .pred-session-box { padding: 30px 22px; } .pred-session-box .btn { white-space: normal; } }

/* ============================================================
   BUTTONS ON THE TEAL/BLUE GRADIENT SECTIONS — gold.
   Coral stays everywhere else (navy heroes, nav, coach bubble,
   light sections). Coral over the green gradient was too harsh.
   ============================================================ */
:root { --btn-dark-bg: var(--color-gold-light); --btn-dark-bg-hover: #E8C485; --btn-dark-text: #111827; }
.dark .btn-coral,
.testi-card .btn-coral,
.program-credit .btn-coral,
.pred-session .card-button {
  background: var(--btn-dark-bg) !important;
  color: var(--btn-dark-text) !important;
}
.dark .btn-coral:hover,
.testi-card .btn-coral:hover,
.program-credit .btn-coral:hover,
.pred-session .card-button:hover {
  background: var(--btn-dark-bg-hover) !important;
  color: var(--btn-dark-text) !important;
}

/* ============================================================
   HOME RESTRUCTURE (Oct 13)
   ============================================================ */
/* Sub-nav: brighter links, gold active state on the dark bar */
.sub-links a { color: rgba(255,255,255,.88); }
.sub-links a:hover, .sub-links a.sub-active { color: var(--color-gold-light); border-bottom-color: var(--color-gold-light); }
.nav-mobile .mobile-sub-links a { color: rgba(255,255,255,.85); }

/* Two-method tiles (home + bio) */
.method-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; max-width: 1040px; margin: 0 auto; }
.method-tile { display: flex; flex-direction: column; background: var(--color-white); border-radius: var(--radius); padding: 40px 38px; border-top: 4px solid var(--color-primary); box-shadow: 0 6px 24px rgba(17,24,39,.06); transition: transform .3s ease, box-shadow .3s ease; }
.method-tile + .method-tile { border-top-color: var(--color-accent); }
.method-tile:hover { transform: translateY(-4px); box-shadow: 0 14px 38px rgba(17,24,39,.12); }
.method-tile h3 { font: 400 28px/1.2 var(--font-display); color: var(--color-dark); margin: 10px 0 8px; }
.method-tile p { font-size: 15px; line-height: 1.8; color: var(--color-text-muted); margin-bottom: 18px; }
.method-tile .method-tile-tag { font: italic 400 20px/1.4 var(--font-display); color: var(--color-primary-mid); margin-bottom: 16px; }
.method-tile + .method-tile .method-tile-tag { color: var(--color-accent); }
.method-tile .method-tile-areas { font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--color-dark); line-height: 1.9; margin-top: auto; padding-top: 16px; border-top: 1px solid var(--color-surface-dark); }
.method-tile-cta { font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--color-primary-mid); }
@media (max-width: 900px) { .method-pair { grid-template-columns: 1fr; } .method-tile { padding: 32px 26px; } }

/* Client results card beside the CTA card */
.testi-results { grid-column: span 2; display: flex; flex-direction: column; justify-content: center; }
.testi-results::before { display: none; }
.testi-results ul { list-style: none; display: grid; grid-template-columns: 1fr 1fr; gap: 6px 32px; margin-top: 14px; }
.testi-results li { display: flex; gap: 12px; padding: 12px 0; border-bottom: 1px solid rgba(255,255,255,.1); color: rgba(255,255,255,.85); font-size: 15px; line-height: 1.6; font-style: normal; }
.testi-results li::before { content: '→'; color: var(--color-gold-light); font-weight: 700; flex-shrink: 0; }
@media (max-width: 900px) { .testi-results { grid-column: auto; } .testi-results ul { grid-template-columns: 1fr; } }

/* App feature list */
.app-list { list-style: none; margin: 4px 0 28px; }
.app-list li { display: flex; gap: 12px; padding: 9px 0; font-size: 15px; color: var(--color-text); border-bottom: 1px solid var(--color-surface-dark); }
.app-list li:last-child { border-bottom: 0; }
.app-list li::before { content: '→'; color: var(--color-accent); font-weight: 700; flex-shrink: 0; }
/* Case for Coaching now sits on gray: lift the light cards to white */
#why .why-card:not(.why-card--dark) { background: var(--color-white); }
@media (max-width: 900px) { .app-section .app-grid { grid-template-columns: 1fr; } }

/* App phone tilt (main.js sets the transform on hover) */
.app-visual { padding: 24px; }
.app-mockup { transition: transform .35s cubic-bezier(.2,.7,.2,1); will-change: transform; transform-style: preserve-3d; }
@media (prefers-reduced-motion: reduce) { .app-mockup { transition: none; } }

/* Coaching disclaimer in the footer */
.footer-disclaimer { max-width: 900px; margin: 0 0 24px; font-size: 12px; line-height: 1.75; color: rgba(255,255,255,.45); }

/* ============================================================
   FORMS — newsletter signup + contact page (Oct 20)
   Submissions go to Web3Forms; see js/main.js.
   ============================================================ */
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.hp-field { display: none !important; }

/* Status line under any form */
.form-status { font-size: 14px; line-height: 1.6; margin-top: 12px; min-height: 0; }
.form-status:empty { display: none; }
.form-status.is-success { color: var(--color-primary-mid); }
.form-status.is-error   { color: var(--color-accent); }
button[type="submit"][disabled] { opacity: .6; cursor: progress; transform: none; }

/* Newsletter: email + button on one line */
.newsletter-row { display: flex; gap: 10px; }
.newsletter-row input, .newsletter-names input {
  flex: 1; min-width: 0; padding: 14px 16px;
  font: 400 15px var(--font-body); border-radius: var(--radius);
  border: 1px solid rgba(255,255,255,.16); background: rgba(255,255,255,.06); color: var(--color-white);
  transition: border-color .2s, background .2s;
}
.newsletter-row input::placeholder, .newsletter-names input::placeholder { color: rgba(255,255,255,.4); }
.newsletter-row input:focus, .newsletter-names input:focus { outline: none; border-color: var(--color-gold-light); background: rgba(255,255,255,.1); }
.newsletter-row .btn-coral { padding: 14px 26px; white-space: nowrap; border: 0; }
.site-footer .form-status.is-success, .contact-news .form-status.is-success { color: var(--color-gold-light); }
.site-footer .form-status.is-error,   .contact-news .form-status.is-error   { color: #F08A5D; }

.newsletter-names { display: flex; gap: 10px; margin-bottom: 10px; }

/* Footer newsletter band */
.footer-news { display: grid; grid-template-columns: 1fr 1.1fr; gap: 48px; align-items: center; padding-bottom: 42px; margin-bottom: 42px; border-bottom: 1px solid rgba(255,255,255,.08); }
.footer-news h4 { font: 400 24px/1.2 var(--font-display); color: var(--color-white); margin-bottom: 8px; }
.footer-news p { font-size: 14px; color: rgba(255,255,255,.5); line-height: 1.7; }
.footer-news .form-status { color: rgba(255,255,255,.7); }

/* Contact page */
.hero-page--short { min-height: 52vh; }
.contact-layout { display: grid; grid-template-columns: .85fr 1.15fr; gap: 80px; align-items: start; }
.contact-aside h2 { font-size: clamp(32px,4vw,48px); font-weight: 300; color: var(--color-dark); margin-bottom: 22px; }
.contact-aside h2 em { font-style: italic; color: var(--color-accent); }
.contact-aside > p { color: var(--color-text-muted); line-height: 1.9; max-width: 46ch; }
.contact-details { list-style: none; margin: 32px 0; }
.contact-details li { display: grid; grid-template-columns: 130px 1fr; gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--color-surface-dark); font-size: 15px; color: var(--color-text); }
.contact-details li:first-child { border-top: 1px solid var(--color-surface-dark); }
.contact-details span { font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--color-text-muted); padding-top: 3px; }
.contact-details a { color: var(--color-primary-mid); font-weight: 600; transition: color .2s; }
.contact-details a:hover { color: var(--color-accent); }
.contact-note { font-size: 13px; color: var(--color-text-muted); line-height: 1.75; padding-left: 16px; border-left: 3px solid var(--color-gold-light); }

.contact-form { background: var(--color-white); padding: 44px 42px; border-radius: var(--radius); box-shadow: 0 2px 24px rgba(17,24,39,.08); position: relative; overflow: hidden; }
.contact-form::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 5px; background: linear-gradient(90deg,var(--color-primary),var(--color-primary-light)); }
.field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.field { margin-bottom: 20px; }
.field label { display: block; font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--color-text); margin-bottom: 8px; }
.field input, .field select, .field textarea {
  width: 100%; padding: 13px 15px; font: 400 15px/1.5 var(--font-body); color: var(--color-text);
  background: var(--color-surface); border: 1px solid var(--color-surface-dark); border-radius: var(--radius);
  transition: border-color .2s, background .2s, box-shadow .2s;
}
.field textarea { resize: vertical; min-height: 140px; }
.field select { appearance: none; -webkit-appearance: none; padding-right: 40px; cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23237585' stroke-width='2'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 15px center; }
.field input:focus, .field select:focus, .field textarea:focus { outline: none; border-color: var(--color-primary-light); background: var(--color-white); box-shadow: 0 0 0 3px rgba(74,155,171,.15); }
.field .is-invalid, .newsletter-row .is-invalid, .newsletter-names .is-invalid { border-color: var(--color-accent) !important; }
.check { display: flex; gap: 12px; align-items: flex-start; font-size: 14px; color: var(--color-text-muted); line-height: 1.6; margin: 4px 0 26px; cursor: pointer; }
.check input { width: 18px; height: 18px; margin-top: 2px; accent-color: var(--color-primary); flex-shrink: 0; }
.contact-form .btn-coral { border: 0; }
.form-fine { font-size: 12px; color: var(--color-text-muted); margin-top: 14px; }
.form-fine a { color: var(--color-primary-mid); text-decoration: underline; }

.contact-news { background: var(--color-dark); position: relative; overflow: hidden; text-align: center; }
.contact-news::before { content: ''; position: absolute; width: 520px; height: 520px; border-radius: 50%; background: var(--color-primary); opacity: .2; filter: blur(100px); top: -260px; left: -120px; }
.contact-news-inner { position: relative; z-index: 2; max-width: 620px; margin: 0 auto; }
.contact-news h2 { font-size: clamp(30px,4vw,44px); font-weight: 300; color: var(--color-white); margin-bottom: 14px; }
.contact-news h2 em { font-style: italic; color: var(--color-gold-light); }
.contact-news p { color: rgba(255,255,255,.65); margin-bottom: 28px; }
.contact-news .form-status { margin-bottom: 0; }

@media (max-width: 1080px) { .nav-links { gap: 18px; } .nav-links a { font-size: 11px; } }
@media (max-width: 900px) {
  .footer-news { grid-template-columns: 1fr; gap: 20px; }
  .contact-layout { grid-template-columns: 1fr; gap: 48px; }
  .contact-form { padding: 36px 26px; }
}
@media (max-width: 560px) {
  .field-row { grid-template-columns: 1fr; gap: 0; }
  .newsletter-row { flex-direction: column; }
  .newsletter-row .btn-coral { width: 100%; }
  .contact-details li { grid-template-columns: 1fr; gap: 2px; }
}
