/* =========================================================
   ELEVATE LEADERSHIP ACADEMY — Funnel Design System
   Signature element: "The Ascent Line" — a jagged path that
   straightens into a clean diagonal climb, used in the hero
   and as the connective tissue of the 5-step framework.
   ========================================================= */

:root{
  --ink: #0F172A;
  --ink-2: #16213B;
  --ink-soft: #475569;
  --paper: #FFFFFF;
  --mist: #F7F8FB;
  --line: rgba(15,23,42,0.09);
  --accent: #2563EB;
  --accent-deep: #1D4ED8;
  --gold: #D4AF37;
  --gold-soft: #E8CC72;

  --font-head: 'Poppins', sans-serif;
  --font-body: 'Inter', sans-serif;

  --radius-lg: 24px;
  --radius-md: 16px;
  --radius-sm: 10px;

  --shadow-card: 0 20px 60px -20px rgba(15,23,42,0.25);
  --shadow-soft: 0 10px 30px -12px rgba(15,23,42,0.18);

  --container: 1180px;
}

*,*::before,*::after{ box-sizing: border-box; }
html{ scroll-behavior: smooth; }
body{
  margin:0;
  font-family: var(--font-body);
  color: var(--ink);
  background: var(--paper);
  -webkit-font-smoothing: antialiased;
  line-height: 1.6;
}
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  *,*::before,*::after{ animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important; }
}

img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
ul{ margin:0; padding:0; list-style:none; }
button{ font-family:inherit; cursor:pointer; }
input,textarea,select{ font-family:inherit; }

h1,h2,h3,h4{
  font-family: var(--font-head);
  font-weight:700;
  line-height:1.12;
  margin:0;
  letter-spacing:-0.01em;
}
p{ margin:0; }

.container{ max-width:var(--container); margin:0 auto; padding:0 24px; }
.section{ padding:120px 0; position:relative; }
.section--tight{ padding:80px 0; }
.section--mist{ background:var(--mist); }
.section--ink{ background:var(--ink); color:#fff; }

.eyebrow{
  display:inline-flex; align-items:center; gap:8px;
  font-family: var(--font-head);
  font-size:12.5px; font-weight:600; letter-spacing:0.16em; text-transform:uppercase;
  color: var(--gold);
  margin-bottom:18px;
}
.eyebrow::before{ content:""; width:22px; height:1.5px; background:var(--gold); display:inline-block; }

.section-head{ max-width:680px; margin-bottom:56px; }
.section-head h2{ font-size: clamp(30px, 4vw, 44px); }
.section-head p{ margin-top:16px; font-size:18px; color:var(--ink-soft); }
.section--ink .section-head p{ color:rgba(255,255,255,0.7); }
.section-head.center{ margin-left:auto; margin-right:auto; text-align:center; }

/* Buttons */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  font-family:var(--font-head); font-weight:600; font-size:15.5px;
  padding:17px 32px; border-radius:100px; border:1px solid transparent;
  transition: transform .25s ease, box-shadow .25s ease, background .25s ease, border-color .25s ease;
  white-space:nowrap;
}
.btn-primary{
  background: linear-gradient(135deg, var(--accent), var(--accent-deep));
  color:#fff; box-shadow: 0 14px 30px -10px rgba(37,99,235,0.55);
}
.btn-primary:hover{ transform: translateY(-2px); box-shadow: 0 18px 36px -10px rgba(37,99,235,0.65); }
.btn-gold{
  background: linear-gradient(135deg, var(--gold-soft), var(--gold));
  color: var(--ink); box-shadow: 0 14px 30px -10px rgba(212,175,55,0.55);
}
.btn-gold:hover{ transform: translateY(-2px); box-shadow: 0 18px 36px -10px rgba(212,175,55,0.65); }
.btn-outline{
  background:transparent; border-color: rgba(255,255,255,0.35); color:#fff;
}
.btn-outline:hover{ border-color:#fff; background:rgba(255,255,255,0.08); }
.btn-block{ width:100%; }
.btn-lg{ padding:20px 40px; font-size:16.5px; }

/* Nav */
.nav{
  position:fixed; top:0; left:0; right:0; z-index:1000;
  padding:18px 0;
  background: rgba(15,23,42,0.0);
  transition: background .35s ease, padding .35s ease, box-shadow .35s ease, backdrop-filter .35s ease;
}
.nav.is-scrolled{
  background: rgba(15,23,42,0.82);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  padding:12px 0;
  box-shadow: 0 10px 30px -15px rgba(0,0,0,0.45);
}
.nav .container{ display:flex; align-items:center; justify-content:space-between; }
.brand{ display:flex; align-items:center; gap:10px; font-family:var(--font-head); font-weight:700; color:#fff; font-size:18px; }
.brand .mark{
  width:34px;height:34px;border-radius:9px;
  background: linear-gradient(135deg, var(--gold-soft), var(--gold));
  display:flex; align-items:center; justify-content:center;
  color: var(--ink); font-weight:700; font-size:15px;
}
.nav-links{ display:flex; align-items:center; gap:36px; }
.nav-links a{ color: rgba(255,255,255,0.78); font-size:14.5px; font-weight:500; transition: color .2s ease; }
.nav-links a:hover{ color:#fff; }
.nav-actions{ display:flex; align-items:center; gap:18px; }
.nav-toggle{ display:none; background:none; border:0; color:#fff; font-size:22px; }

@media (max-width: 900px){
  .nav-links{
    position:fixed; top:0; right:0; height:100vh; width:78%; max-width:340px;
    background: var(--ink); flex-direction:column; align-items:flex-start;
    padding:100px 32px 32px; gap:26px;
    transform: translateX(100%); transition: transform .4s ease;
    box-shadow: -20px 0 50px rgba(0,0,0,0.3);
  }
  .nav-links.is-open{ transform: translateX(0); }
  .nav-links a{ font-size:18px; }
  .nav-toggle{ display:block; }
  .nav-actions .btn{ display:none; }
}

/* Hero */
.hero{
  position:relative;
  background: radial-gradient(120% 120% at 14% 10%, #1B2A4E 0%, var(--ink) 55%, #0A1122 100%);
  color:#fff;
  padding:200px 0 140px;
  overflow:hidden;
}
.hero .ascent-line{
  position:absolute; inset:0; width:100%; height:100%;
  opacity:0.55; pointer-events:none;
}
.hero-grid{ position:relative; z-index:2; display:grid; grid-template-columns: 1.05fr 0.95fr; gap:64px; align-items:center; }
.hero-stars{ color: var(--gold); letter-spacing:2px; font-size:15px; }
.hero h1{ font-size: clamp(38px, 5.2vw, 64px); margin-top:18px; }
.hero h1 .hl{ color: var(--gold); }
.hero-sub{ font-size:19px; color: rgba(255,255,255,0.72); max-width:520px; margin-top:22px; }
.hero-ctas{ display:flex; gap:16px; margin-top:34px; flex-wrap:wrap; }
.hero-badges{ display:flex; gap:28px; margin-top:48px; flex-wrap:wrap; }
.hero-badge b{ display:block; font-family:var(--font-head); font-size:22px; color:#fff; }
.hero-badge span{ font-size:13px; color:rgba(255,255,255,0.6); }

.hero-card{
  position:relative; border-radius: var(--radius-lg);
  background: rgba(255,255,255,0.06);
  border:1px solid rgba(255,255,255,0.14);
  backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px);
  padding:14px; box-shadow: var(--shadow-card);
}
.hero-card img{ border-radius: calc(var(--radius-lg) - 8px); }
.hero-float{
  position:absolute; bottom:-26px; left:-26px;
  background:#fff; color:var(--ink); border-radius:16px; padding:16px 20px;
  box-shadow: var(--shadow-soft); display:flex; align-items:center; gap:12px;
  font-family:var(--font-head); font-weight:600; font-size:14px;
}
.hero-float .dot{ width:10px; height:10px; border-radius:50%; background:#22C55E; box-shadow:0 0 0 4px rgba(34,197,94,0.18); }

@media (max-width: 940px){
  .hero{ padding:150px 0 90px; }
  .hero-grid{ grid-template-columns:1fr; }
  .hero-card{ order:-1; }
}

/* Featured-in */
.featured{ padding:48px 0; border-bottom:1px solid var(--line); border-top:1px solid var(--line); }
.featured p{ text-align:center; font-size:12.5px; letter-spacing:0.14em; text-transform:uppercase; color:var(--ink-soft); margin-bottom:26px; }
.logo-row{ display:flex; justify-content:center; align-items:center; gap:56px; flex-wrap:wrap; opacity:0.55; }
.logo-row span{ font-family: var(--font-head); font-weight:700; font-size:19px; color: var(--ink); }

/* Problem grid */
.problem-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.problem-card{
  background:#fff; border:1px solid var(--line); border-radius: var(--radius-md);
  padding:30px 26px; transition: transform .3s ease, box-shadow .3s ease;
}
.problem-card:hover{ transform: translateY(-6px); box-shadow: var(--shadow-soft); }
.problem-card .ico{
  width:46px; height:46px; border-radius:12px; background: rgba(37,99,235,0.08); color: var(--accent);
  display:flex; align-items:center; justify-content:center; font-size:19px; margin-bottom:18px;
}
.problem-card h3{ font-size:17px; margin-bottom:8px; }
.problem-card p{ font-size:14.5px; color: var(--ink-soft); }

@media (max-width:980px){ .problem-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .problem-grid{ grid-template-columns:1fr; } }

/* Solution / process */
.solution-grid{ display:grid; grid-template-columns: 1fr 1fr; gap:64px; align-items:center; }
.process-diagram{ display:flex; flex-direction:column; gap:0; }
.process-step{ display:flex; gap:18px; align-items:flex-start; padding:18px 0; }
.process-step .num{
  font-family:var(--font-head); font-weight:700; font-size:14px; color: var(--gold);
  width:38px; height:38px; border-radius:50%; border:1.5px solid var(--gold);
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.process-step h4{ font-size:16px; margin-bottom:4px; }
.process-step p{ font-size:14px; color:var(--ink-soft); }
.process-connector{ width:1.5px; height:24px; background: var(--line); margin-left:19px; }

/* About coach */
.about-grid{ display:grid; grid-template-columns: 0.85fr 1.15fr; gap:64px; align-items:center; }
.about-photo{ position:relative; border-radius: var(--radius-lg); overflow:hidden; box-shadow: var(--shadow-card); }
.about-stats{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:32px; }
.about-stats div{ border-left:2px solid var(--gold); padding-left:14px; }
.about-stats b{ display:block; font-family:var(--font-head); font-size:24px; }
.about-stats span{ font-size:12.5px; color:var(--ink-soft); }
.cred-list{ display:flex; flex-wrap:wrap; gap:10px; margin-top:24px; }
.cred-pill{ background: var(--mist); border:1px solid var(--line); padding:8px 16px; border-radius:100px; font-size:13px; font-weight:500; }

@media (max-width:900px){ .about-grid, .solution-grid{ grid-template-columns:1fr; } }

/* Success / transformation cards */
.transform-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
.transform-card{
  background:#fff; border-radius: var(--radius-md); border:1px solid var(--line);
  padding:30px; box-shadow: var(--shadow-soft);
}
.transform-row{ display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:18px; }
.transform-badge{ font-size:11.5px; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; padding:4px 10px; border-radius:100px; }
.transform-badge.before{ background:#FEF2F2; color:#B91C1C; }
.transform-badge.after{ background:#F0FDF4; color:#15803D; }
.transform-arrow{ color: var(--gold); }
.transform-stats{ display:flex; gap:18px; margin:18px 0; }
.transform-stats div b{ display:block; font-family:var(--font-head); font-size:21px; color: var(--accent); }
.transform-stats div span{ font-size:11.5px; color:var(--ink-soft); }
.transform-quote{ font-size:14.5px; font-style:italic; color: var(--ink-soft); border-top:1px solid var(--line); padding-top:16px; margin-top:6px; }
.transform-person{ display:flex; align-items:center; gap:10px; margin-top:14px; }
.transform-person img{ width:36px;height:36px;border-radius:50%; object-fit:cover; }
.transform-person b{ font-size:13px; display:block; }
.transform-person span{ font-size:12px; color:var(--ink-soft); }

@media (max-width:980px){ .transform-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:640px){ .transform-grid{ grid-template-columns:1fr; } }

/* Framework — ascending staircase, the signature element reused */
.framework-track{ position:relative; padding:40px 0 10px; }
.framework-line-svg{ position:absolute; inset:0; width:100%; height:100%; z-index:0; }
.framework-steps{ position:relative; z-index:1; display:grid; grid-template-columns:repeat(5,1fr); gap:18px; }
.fw-step{ display:flex; flex-direction:column; align-items:center; text-align:center; }
.fw-step:nth-child(2){ transform: translateY(-22px); }
.fw-step:nth-child(3){ transform: translateY(-44px); }
.fw-step:nth-child(4){ transform: translateY(-66px); }
.fw-step:nth-child(5){ transform: translateY(-88px); }
.fw-node{
  width:64px; height:64px; border-radius:50%;
  background: linear-gradient(135deg, var(--gold-soft), var(--gold));
  color: var(--ink); display:flex; align-items:center; justify-content:center;
  font-family:var(--font-head); font-weight:700; font-size:20px;
  box-shadow: 0 14px 30px -10px rgba(212,175,55,0.5);
  border:4px solid var(--ink);
}
.fw-step h4{ margin-top:16px; font-size:16px; color:#fff; }
.fw-step p{ font-size:13px; color: rgba(255,255,255,0.55); margin-top:6px; max-width:160px; }

@media (max-width:900px){
  .framework-steps{ grid-template-columns:1fr; gap:36px; }
  .fw-step:nth-child(n){ transform:none; }
  .framework-line-svg{ display:none; }
}

/* Program breakdown */
.program-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
.program-card{
  background: var(--mist); border-radius: var(--radius-md); padding:28px 24px;
  border:1px solid var(--line); transition: border-color .25s ease, transform .25s ease;
}
.program-card:hover{ border-color: var(--accent); transform: translateY(-4px); }
.program-card .ico{ font-size:22px; color: var(--accent); margin-bottom:14px; }
.program-card h3{ font-size:15.5px; margin-bottom:6px; }
.program-card p{ font-size:13.5px; color:var(--ink-soft); }
@media (max-width:980px){ .program-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .program-grid{ grid-template-columns:1fr; } }

/* Who for / not for */
.fit-grid{ display:grid; grid-template-columns:1fr 1fr; gap:32px; }
.fit-card{ border-radius: var(--radius-lg); padding:36px; }
.fit-card.yes{ background: linear-gradient(160deg, #EFF6FF, #ffffff); border:1px solid #DBEAFE; }
.fit-card.no{ background: var(--mist); border:1px solid var(--line); }
.fit-card h3{ font-size:20px; margin-bottom:20px; display:flex; align-items:center; gap:10px; }
.fit-list li{ display:flex; gap:12px; padding:10px 0; font-size:15px; border-top:1px solid rgba(15,23,42,0.06); }
.fit-list li:first-child{ border-top:none; }
.fit-list i{ margin-top:3px; }
.fit-card.yes i{ color:#16A34A; }
.fit-card.no i{ color:#94A3B8; }
@media (max-width:780px){ .fit-grid{ grid-template-columns:1fr; } }

/* Testimonials carousel */
.carousel{ position:relative; }
.carousel-track{ display:flex; gap:24px; overflow:hidden; }
.t-card{
  flex:0 0 calc(33.333% - 16px); background:#fff; border:1px solid var(--line);
  border-radius: var(--radius-md); padding:28px; box-shadow: var(--shadow-soft);
  transition: opacity .4s ease, transform .4s ease;
}
.t-stars{ color: var(--gold); font-size:13px; margin-bottom:14px; }
.t-card p.quote{ font-size:14.5px; color: var(--ink-soft); margin-bottom:20px; min-height:96px; }
.t-person{ display:flex; align-items:center; gap:12px; }
.t-person img{ width:42px;height:42px;border-radius:50%; object-fit:cover; }
.t-person b{ font-size:13.5px; display:block; }
.t-person span{ font-size:12px; color:var(--ink-soft); }
.video-placeholder{
  aspect-ratio:16/10; border-radius:14px; background: var(--ink);
  display:flex; align-items:center; justify-content:center; margin-bottom:16px; position:relative; overflow:hidden;
}
.video-placeholder .play{
  width:54px; height:54px; border-radius:50%; background: rgba(255,255,255,0.16);
  border:1.5px solid rgba(255,255,255,0.5); display:flex; align-items:center; justify-content:center; color:#fff;
}
.carousel-controls{ display:flex; justify-content:center; gap:14px; margin-top:34px; }
.carousel-controls button{
  width:42px; height:42px; border-radius:50%; border:1px solid var(--line); background:#fff;
  display:flex; align-items:center; justify-content:center; transition: background .2s ease, color .2s ease;
}
.carousel-controls button:hover{ background: var(--ink); color:#fff; }
@media (max-width:980px){ .t-card{ flex-basis: calc(50% - 12px); } }
@media (max-width:640px){ .t-card{ flex-basis:100%; } }

/* Results / counters */
.counter-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:32px; text-align:center; }
.counter-card b{ display:block; font-family:var(--font-head); font-weight:700; font-size: clamp(38px,5vw,56px); color: var(--gold); }
.counter-card span{ font-size:14px; color: rgba(255,255,255,0.65); letter-spacing:0.04em; }
@media (max-width:780px){ .counter-grid{ grid-template-columns:1fr; gap:48px; } }

/* FAQ accordion */
.faq-list{ max-width:780px; margin:0 auto; }
.faq-item{ border-bottom:1px solid var(--line); }
.faq-q{
  width:100%; background:none; border:0; text-align:left; padding:24px 4px;
  display:flex; align-items:center; justify-content:space-between; gap:20px;
  font-family:var(--font-head); font-weight:600; font-size:16.5px; color:var(--ink);
}
.faq-q i{ transition: transform .3s ease; color: var(--accent); flex-shrink:0; }
.faq-item.is-open .faq-q i{ transform: rotate(45deg); }
.faq-a{ max-height:0; overflow:hidden; transition: max-height .35s ease; }
.faq-a p{ padding:0 4px 24px; font-size:15px; color:var(--ink-soft); max-width:680px; }

/* Final CTA */
.final-cta{
  background: radial-gradient(120% 140% at 50% 0%, #1B2A4E 0%, var(--ink) 60%);
  color:#fff; text-align:center; padding:130px 0; position:relative; overflow:hidden;
}
.final-cta h2{ font-size: clamp(30px,4.4vw,48px); max-width:680px; margin:0 auto; }
.final-cta p{ margin-top:18px; color:rgba(255,255,255,0.7); font-size:17px; }
.final-cta .btn{ margin-top:36px; }

/* Floating apply + back to top */
.floating-apply{
  position:fixed; right:26px; bottom:26px; z-index:900;
  opacity:0; transform: translateY(16px); pointer-events:none;
  transition: opacity .3s ease, transform .3s ease;
}
.floating-apply.is-visible{ opacity:1; transform:none; pointer-events:auto; }
.back-to-top{
  position:fixed; left:26px; bottom:26px; z-index:900;
  width:46px; height:46px; border-radius:50%; background:var(--ink); color:#fff;
  display:flex; align-items:center; justify-content:center;
  opacity:0; transform: translateY(16px); pointer-events:none;
  transition: opacity .3s ease, transform .3s ease;
  box-shadow: var(--shadow-soft);
}
.back-to-top.is-visible{ opacity:1; transform:none; pointer-events:auto; }

/* Footer */
.site-footer{ background: var(--ink); color: rgba(255,255,255,0.6); padding:56px 0 28px; }
.footer-grid{ display:flex; justify-content:space-between; align-items:flex-start; flex-wrap:wrap; gap:32px; padding-bottom:36px; border-bottom:1px solid rgba(255,255,255,0.1); }
.footer-links{ display:flex; gap:28px; flex-wrap:wrap; }
.footer-links a{ font-size:13.5px; color: rgba(255,255,255,0.6); }
.footer-links a:hover{ color:#fff; }
.footer-bottom{ padding-top:24px; font-size:12.5px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; }

/* Scroll reveal */
.reveal{ opacity:0; transform: translateY(28px); transition: opacity .7s ease, transform .7s ease; }
.reveal.is-visible{ opacity:1; transform:none; }

/* Progress bar (top of page) */
.scroll-progress{ position:fixed; top:0; left:0; height:3px; background: linear-gradient(90deg, var(--gold), var(--accent)); width:0%; z-index:1100; }

/* Loading overlay */
.loader{
  position:fixed; inset:0; z-index:2000; background: var(--ink);
  display:flex; align-items:center; justify-content:center;
  transition: opacity .5s ease, visibility .5s ease;
}
.loader.is-hidden{ opacity:0; visibility:hidden; }
.loader-mark{ width:56px; height:56px; border-radius:14px; border:2px solid rgba(212,175,55,0.3); position:relative; }
.loader-mark::after{
  content:""; position:absolute; inset:-2px; border-radius:14px; border:2px solid transparent;
  border-top-color: var(--gold); animation: spin 0.9s linear infinite;
}
@keyframes spin{ to{ transform: rotate(360deg); } }

/* ===================== Forms (application page) ===================== */
.form-shell{
  background:#fff; border:1px solid var(--line); border-radius: var(--radius-lg);
  padding:48px; box-shadow: var(--shadow-card);
}
.form-row{ display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.field{ margin-bottom:22px; }
.field label{ display:block; font-size:13.5px; font-weight:600; margin-bottom:8px; font-family:var(--font-head); }
.field input, .field select, .field textarea{
  width:100%; padding:14px 16px; border-radius: var(--radius-sm); border:1.5px solid var(--line);
  font-size:15px; color:var(--ink); transition: border-color .2s ease, box-shadow .2s ease; background:#fff;
}
.field input:focus, .field select:focus, .field textarea:focus{
  outline:none; border-color: var(--accent); box-shadow: 0 0 0 4px rgba(37,99,235,0.12);
}
.field textarea{ resize:vertical; min-height:110px; }
.field-error{ font-size:12.5px; color:#DC2626; margin-top:6px; display:none; }
.field.has-error input, .field.has-error textarea, .field.has-error select{ border-color:#DC2626; }
.field.has-error .field-error{ display:block; }
.checkbox-row{ display:flex; align-items:flex-start; gap:12px; margin:8px 0 28px; }
.checkbox-row input{ width:18px; height:18px; margin-top:3px; accent-color: var(--accent); }
.checkbox-row label{ font-size:14px; color: var(--ink-soft); }
.trust-line{ display:flex; align-items:center; gap:10px; justify-content:center; margin-top:24px; font-size:13px; color: var(--ink-soft); }
.trust-line i{ color: var(--gold); }
.progress-indicator{ display:flex; align-items:center; gap:10px; margin-bottom:36px; }
.progress-indicator .dot{ width:9px; height:9px; border-radius:50%; background: var(--line); }
.progress-indicator .dot.active{ background: var(--accent); width:26px; border-radius:6px; }

@media (max-width:680px){ .form-row{ grid-template-columns:1fr; } .form-shell{ padding:30px 22px; } }

/* Generic page hero (sub-pages) */
.page-hero{
  background: radial-gradient(120% 120% at 80% -10%, #1B2A4E 0%, var(--ink) 60%);
  color:#fff; padding:170px 0 90px; text-align:center;
}
.page-hero .eyebrow{ justify-content:center; }
.page-hero h1{ font-size: clamp(32px,4.6vw,50px); max-width:720px; margin:0 auto; }
.page-hero p{ margin-top:18px; color: rgba(255,255,255,0.7); font-size:17px; max-width:560px; margin-left:auto; margin-right:auto; }

/* Thank you page */
.success-icon{
  width:88px; height:88px; border-radius:50%; margin:0 auto 28px;
  background: linear-gradient(135deg, var(--gold-soft), var(--gold));
  display:flex; align-items:center; justify-content:center; font-size:36px; color: var(--ink);
  box-shadow: 0 18px 40px -14px rgba(212,175,55,0.55);
  animation: pop .6s cubic-bezier(.2,1.4,.4,1) both;
}
@keyframes pop{ from{ transform: scale(0.4); opacity:0; } to{ transform: scale(1); opacity:1; } }
.next-steps{ max-width:520px; margin:48px auto 0; text-align:left; display:flex; flex-direction:column; gap:18px; }
.next-step{
  display:flex; gap:16px; align-items:flex-start; background:#fff; border:1px solid var(--line);
  border-radius: var(--radius-md); padding:20px 22px; box-shadow: var(--shadow-soft);
}
.next-step .check{
  width:30px; height:30px; border-radius:50%; background:#F0FDF4; color:#16A34A;
  display:flex; align-items:center; justify-content:center; flex-shrink:0; font-size:13px;
}
.next-step h4{ font-size:15.5px; margin-bottom:4px; }
.next-step p{ font-size:13.5px; color: var(--ink-soft); }
.tyvideo{ max-width:640px; margin:48px auto 0; }

/* Booking page */
.book-grid{ display:grid; grid-template-columns: 1fr 1fr; gap:48px; align-items:start; }
.calendar-shell{
  background:#fff; border:1px solid var(--line); border-radius: var(--radius-lg);
  padding:8px; box-shadow: var(--shadow-card); overflow:hidden;
}
.calendly-placeholder{
  aspect-ratio: 4/5; background: var(--mist); border-radius: calc(var(--radius-lg) - 6px);
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:14px;
  color: var(--ink-soft); text-align:center; padding:32px;
}
.calendly-placeholder i{ font-size:34px; color: var(--accent); }
.prep-card{ background:#fff; border:1px solid var(--line); border-radius: var(--radius-md); padding:30px; margin-bottom:20px; box-shadow: var(--shadow-soft); }
.prep-card h3{ font-size:17px; margin-bottom:16px; }
.prep-list li{ display:flex; gap:12px; padding:9px 0; font-size:14.5px; color: var(--ink-soft); }
.prep-list i{ color: var(--gold); margin-top:3px; }
.meta-row{ display:flex; gap:24px; flex-wrap:wrap; margin-top:6px; }
.meta-pill{ display:flex; align-items:center; gap:8px; font-size:13.5px; color: var(--ink-soft); }
.meta-pill i{ color: var(--accent); }
@media (max-width:880px){ .book-grid{ grid-template-columns:1fr; } }
