  :root{
    --navy-deep:#0A2A4E;
    --navy-ink:#071B33;
    --gold:#C9A227;
    --gold-light:#D4AF37;
    --sand:#FAF7EF;
    --sea:#3E6B63;
    --ink:#1C2B3A;
    --cream-text:#EAE3D1;
    --serif: 'Fraunces', serif;
    --sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --max: 1180px;
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0; font-family:var(--sans); color:var(--ink); background:var(--sand);
    -webkit-font-smoothing:antialiased;
    font-variation-settings:'WONK' 0;
  }
  img{display:block; max-width:100%;}
  a{color:inherit;}
  .wrap{max-width:var(--max); margin:0 auto; padding:0 32px;}

  /* ---------- NAV ---------- */
  header.nav{
    position:fixed; top:0; left:0; width:100%; z-index:100;
    display:grid; grid-template-columns:auto 1fr; align-items:center;
    padding:18px 40px; transition:background .4s ease, box-shadow .4s ease, padding .3s ease;
  }
  header.nav.scrolled{
    background:rgba(250,247,239,0.94); box-shadow:0 2px 24px rgba(10,42,78,0.08);
    padding:12px 40px; backdrop-filter:blur(6px);
  }
  .nav-brand{display:flex; align-items:center; gap:15px; text-decoration:none;}
  .nav-brand img{width:58px; height:58px; border-radius:5px;}
  .nav-brand .wordmark{font-family:var(--serif); font-weight:600; font-size:36px; letter-spacing:0.01em; color:#fff; line-height:1.2; transition:color .4s ease;}
  header.nav.scrolled .nav-brand .wordmark{color:var(--navy-ink);}
  .nav-brand .wordmark .wm-eyebrow{display:block; font-family:var(--sans); font-size:14.5px; font-weight:600; letter-spacing:0.2em; text-transform:uppercase; opacity:.75; margin-bottom:3px;}

  /* ---------- BUTTONS ---------- */
  .btn{
    display:inline-block; font-size:13px; letter-spacing:0.1em; text-transform:uppercase;
    text-decoration:none; padding:16px 34px; border-radius:2px; font-weight:600;
    transition:transform .25s ease, box-shadow .25s ease;
  }
  .btn-gold{background:var(--gold); color:var(--navy-ink);}
  .btn-gold:hover{transform:translateY(-2px); box-shadow:0 10px 24px rgba(201,162,39,0.35);}
  .btn-outline{border:1px solid var(--navy-ink); color:var(--navy-ink);}
  .btn-outline:hover{background:var(--navy-ink); color:var(--sand);}
  .btn-outline-light{border:1px solid var(--cream-text); color:var(--cream-text);}
  .btn-outline-light:hover{background:var(--gold); border-color:var(--gold); color:var(--navy-ink);}

  /* ---------- HERO ---------- */
  .hero{
    position:relative; height:100vh; min-height:640px; display:flex; align-items:flex-end;
    overflow:hidden; background:var(--navy-ink); isolation:isolate;
  }
  .hero-img{
    position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
    transform:scale(1.08); animation:heroIn 2.4s ease-out forwards;
  }
  @keyframes heroIn{ to{ transform:scale(1); } }
  .hero::after{
    content:''; position:absolute; inset:0;
    background:linear-gradient(180deg, rgba(7,27,51,0.25) 0%, rgba(7,27,51,0.35) 45%, rgba(7,27,51,0.92) 100%);
  }
  .hero-content{position:relative; z-index:2; padding:0 40px 90px; width:100%;}
  .hero h1{
    font-family:var(--serif); font-weight:600; color:#fff; font-size:clamp(38px,6.2vw,78px);
    line-height:1.08; margin:0 0 26px; max-width:780px;
  }
  .hero h1 em{color:var(--gold-light); font-style:italic; font-weight:500;}
  .hero p.sub{
    color:var(--cream-text); font-size:18px; line-height:1.6; max-width:520px; margin:0 0 34px;
    font-weight:400;
  }
  .scroll-cue{
    position:absolute; bottom:28px; left:40px; z-index:2; color:var(--cream-text);
    font-size:11px; letter-spacing:0.2em; text-transform:uppercase; display:flex; align-items:center; gap:10px;
    opacity:.75;
  }
  .scroll-cue .line{width:1px; height:34px; background:var(--gold-light); animation:scrollPulse 2s ease-in-out infinite;}
  @keyframes scrollPulse{ 0%,100%{opacity:.3;} 50%{opacity:1;} }

  /* ---------- WAVE DIVIDER (signature element) ---------- */
  .wave-divider{width:100%; line-height:0; position:relative; z-index:3;}
  .wave-divider svg{width:100%; height:56px; display:block;}

  /* ---------- SECTIONS ---------- */
  .section{padding:120px 0;}
  .section.tight{padding:90px 0;}
  .sand{background:var(--sand); color:var(--ink);}
  .navy{background:var(--navy-deep); color:var(--cream-text);}
  .eyebrow{
    font-size:12px; letter-spacing:0.24em; text-transform:uppercase; font-weight:600;
    color:var(--gold); margin:0 0 18px; display:block;
  }
  .navy .eyebrow{color:var(--gold-light);}
  .eyebrow-display{
    font-family:var(--serif); font-size:clamp(38px,6.2vw,78px); font-weight:500;
    font-style:normal; text-transform:none; letter-spacing:0; color:var(--navy-ink);
    line-height:1.08; margin:0 0 16px; display:block;
  }
  h2.headline{
    font-family:var(--serif); font-weight:600; font-size:clamp(32px,4vw,50px);
    line-height:1.12; margin:0 0 28px; color:var(--navy-ink);
  }
  .navy h2.headline{color:#fff;}
  .navy h2.headline em, h2.headline em{font-style:italic; color:var(--gold);}

  .reveal{opacity:0; transform:translateY(28px); transition:opacity .8s ease, transform .8s ease;}
  .reveal.in{opacity:1; transform:translateY(0);}

  /* ---------- TRUST STRIP ---------- */
  .trust-strip{background:var(--navy-ink); padding:26px 0;}
  .trust-strip-inner{
    display:grid; grid-template-columns:repeat(4,1fr); gap:24px; text-align:center;
  }
  .trust-stat b{
    display:block; font-family:var(--serif); font-size:19px; font-weight:600;
    color:var(--gold-light); margin-bottom:6px; line-height:1.2;
  }
  .trust-stat span{font-size:11.5px; letter-spacing:0.03em; color:#9fb0c0; line-height:1.4; display:block;}
  @media (max-width:820px){
    .trust-strip-inner{grid-template-columns:repeat(2,1fr); row-gap:22px;}
  }

  /* ---------- GATEWAY QUIZ ---------- */
  .quiz-options{display:grid; gap:14px;}
  .quiz-option{
    background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.18); border-radius:4px;
    padding:18px 22px; text-align:left; font-family:var(--serif); font-style:italic;
    font-size:15.5px; line-height:1.6; color:#e7ecf1; cursor:pointer; transition:all .2s ease;
  }
  .quiz-option:hover{background:rgba(255,255,255,0.12); border-color:var(--gold);}
  .quiz-result{display:none; text-align:center;}
  .quiz-result.show{display:block;}
  .quiz-result #quizResultName{
    font-family:var(--serif); font-weight:600; font-size:clamp(26px,3.4vw,36px);
    color:#fff; margin:0 0 18px;
  }
  .quiz-result p{color:#c7d0da; font-size:16px; line-height:1.8; max-width:560px; margin:0 auto 30px;}
  .quiz-restart{
    display:block; margin:18px auto 0; background:none; border:none; color:#8493a3;
    font-size:12.5px; text-decoration:underline; cursor:pointer; font-family:var(--sans);
  }

  /* ---------- PRESS / AS HEARD ON ---------- */
  .press-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:24px;}
  .press-card{
    display:block; background:#fff; border:1px solid rgba(10,42,78,0.1); border-radius:4px;
    padding:32px 28px; text-decoration:none; text-align:left; transition:all .25s ease;
    box-shadow:0 10px 30px rgba(10,42,78,0.06);
  }
  .press-card:hover{transform:translateY(-3px); box-shadow:0 20px 44px rgba(10,42,78,0.14); border-color:var(--gold);}
  .press-show{
    display:block; font-size:11.5px; letter-spacing:0.1em; text-transform:uppercase;
    font-weight:600; color:var(--gold); margin-bottom:10px;
  }
  .press-card h3{
    font-family:var(--serif); font-weight:600; font-size:18px; color:var(--navy-ink);
    margin:0 0 16px; line-height:1.4;
  }
  .press-link{font-size:12.5px; font-weight:600; color:var(--navy-deep); letter-spacing:0.03em;}
  @media (max-width:640px){ .press-grid{grid-template-columns:1fr;} }

  /* ---------- FAQ ---------- */
  .faq-list{display:grid; gap:2px; margin-top:10px;}
  .faq-item{background:#fff; border:1px solid rgba(10,42,78,0.1); border-radius:3px; padding:4px 24px;}
  .faq-item summary{
    padding:20px 30px 20px 0; font-family:var(--serif); font-weight:600; font-size:16.5px;
    color:var(--navy-ink); cursor:pointer; list-style:none; position:relative;
  }
  .faq-item summary::-webkit-details-marker{display:none;}
  .faq-item summary::after{
    content:'+'; position:absolute; right:0; top:18px; font-size:22px; color:var(--gold);
    font-weight:400; transition:transform .2s ease;
  }
  .faq-item[open] summary::after{transform:rotate(45deg);}
  .faq-item p{font-size:14.5px; line-height:1.75; color:#4a5768; margin:0 0 22px;}

  /* ---------- MANIFESTO ---------- */
  .manifesto{text-align:center; max-width:820px; margin:0 auto;}
  .manifesto blockquote{
    font-family:var(--serif); font-style:italic; font-weight:500;
    font-size:clamp(24px,3.4vw,38px); line-height:1.45; color:var(--navy-ink);
    margin:0 0 34px;
  }
  .manifesto p{font-size:17px; line-height:1.8; color:#3d4c5c; max-width:640px; margin:0 auto 18px;}
  .manifesto p:last-child{margin-bottom:0;}

  /* ---------- SPLIT (image + text) ---------- */
  .split{display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center;}
  .split.reverse .split-img{order:2;}
  .split.reverse .split-text{order:1;}
  .split-img{position:relative;}
  .split-img img{width:100%; border-radius:3px;}
  .split-img .frame-tag{
    position:absolute; bottom:-18px; left:-18px; background:var(--gold); color:var(--navy-ink);
    font-size:11px; letter-spacing:0.14em; text-transform:uppercase; padding:10px 16px; font-weight:700;
  }
  .split-text p{font-size:16.5px; line-height:1.85; margin:0 0 20px; color:#3d4c5c;}
  .navy .split-text p{color:#c7d0da;}
  .stat-row{display:flex; gap:40px; margin-top:36px; flex-wrap:wrap;}
  .stat{}
  .stat b{display:block; font-family:var(--serif); font-size:30px; color:var(--gold); font-weight:600;}
  .stat span{font-size:12px; letter-spacing:0.1em; text-transform:uppercase; opacity:.75;}

  /* ---------- GATEWAYS ---------- */
  .gateways{display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:rgba(255,255,255,0.12); margin-top:30px; border:1px solid rgba(255,255,255,0.12);}
  .gateway{background:var(--navy-deep); padding:38px 40px; position:relative;}
  .gateway .num{
    font-family:var(--serif); font-size:15px; color:var(--gold); font-weight:600;
    letter-spacing:0.06em; display:block; margin-bottom:14px;
  }
  .gateway h3{font-family:var(--serif); font-size:21px; font-weight:600; margin:0 0 12px; color:#fff;}
  .gateway p{font-size:14.5px; line-height:1.7; color:#b9c3cd; margin:0;}

  /* ---------- CHAKANA CHALLENGE ---------- */
  .challenge-intro{max-width:640px; color:#4a5768; font-size:16px; line-height:1.75; margin:-14px 0 50px;}
  .challenge-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:28px;}
  .challenge-card{background:#fff; border:1px solid rgba(10,42,78,0.1); border-radius:4px; overflow:hidden;}
  .challenge-video{position:relative; width:100%; aspect-ratio:16/9; background:var(--navy-ink);}
  .challenge-video iframe{position:absolute; inset:0; width:100%; height:100%; border:none;}
  .challenge-body{padding:22px 24px;}
  .challenge-num{
    font-family:var(--serif); font-size:13px; color:var(--gold); font-weight:600;
    letter-spacing:0.06em; display:block; margin-bottom:8px;
  }
  .challenge-body h3{font-family:var(--serif); font-size:19px; font-weight:600; margin:0 0 8px; color:var(--navy-ink);}
  .challenge-body p{font-size:14px; line-height:1.6; color:#4a5768; margin:0;}
  .challenge-card.start{grid-column:1 / -1; border-color:var(--gold);}
  .challenge-card.start .challenge-num{color:var(--navy-deep); background:var(--gold); display:inline-block; padding:4px 10px; border-radius:2px; font-size:11px;}
  .challenge-card.start .challenge-video{max-width:640px; margin:0 auto;}
  @media (max-width:900px){ .challenge-grid{grid-template-columns:1fr;} }

  /* ---------- OFFERS ---------- */
  .offers-intro{max-width:640px; margin:0 0 60px;}
  .offers-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:28px; align-items:stretch;}
  .offer-card{
    background:#fff; border:1px solid rgba(10,42,78,0.1); border-radius:4px;
    padding:38px 32px; display:flex; flex-direction:column; position:relative;
  }
  .offer-card.featured{
    background:var(--navy-deep); border-color:var(--navy-deep); color:#fff;
    box-shadow:0 24px 50px rgba(10,42,78,0.28); transform:translateY(-10px);
  }
  .offer-tag{
    font-size:11px; letter-spacing:0.16em; text-transform:uppercase; font-weight:700;
    color:var(--gold); margin-bottom:16px;
  }
  .offer-card.featured .offer-tag{color:var(--gold-light);}
  .offer-name{font-family:var(--serif); font-weight:600; font-size:23px; color:var(--navy-ink); margin:0 0 6px;}
  .offer-card.featured .offer-name{color:#fff;}
  .offer-duration{font-size:12px; letter-spacing:0.08em; text-transform:uppercase; color:#7f8ea0; margin-bottom:22px;}
  .offer-card.featured .offer-duration{color:#9fb0c0;}
  .offer-price{font-family:var(--serif); font-size:40px; font-weight:600; color:var(--navy-ink); margin-bottom:22px;}
  .offer-card.featured .offer-price{color:var(--gold-light);}
  .offer-price sup{font-size:16px; font-family:var(--sans); font-weight:400; margin-right:2px;}
  .offer-note{font-size:12px; font-style:italic; color:#8a7226; line-height:1.55; margin:-14px 0 22px;}
  .offer-desc{font-size:14.5px; line-height:1.75; color:#4a5768; margin:0 0 24px;}
  .offer-card.featured .offer-desc{color:#c7d0da;}
  .offer-list{list-style:none; margin:0 0 30px; padding:0; display:grid; gap:11px; flex-grow:1;}
  .offer-list li{font-size:13.5px; line-height:1.6; padding-left:20px; position:relative; color:#3d4c5c;}
  .offer-card.featured .offer-list li{color:#dbe2e8;}
  .offer-list li::before{content:'–'; position:absolute; left:0; color:var(--gold);}
  .offer-cta{
    display:block; text-align:center; font-size:12.5px; letter-spacing:0.08em; text-transform:uppercase;
    text-decoration:none; padding:14px; border-radius:2px; font-weight:600; border:1px solid var(--navy-ink); color:var(--navy-ink);
    transition:all .3s ease;
  }
  .offer-cta:hover{background:var(--navy-ink); color:#fff;}
  .offer-card.featured .offer-cta{border-color:var(--gold); color:var(--gold-light);}
  .offer-card.featured .offer-cta:hover{background:var(--gold); color:var(--navy-ink);}
  .offers-terms{font-size:13px; color:#6b7684; line-height:1.7; margin-top:46px; max-width:720px;}

  /* ---------- TESTIMONIALS ---------- */
  .testimonials{max-width:920px; margin:0 auto; display:grid; grid-template-columns:repeat(2,1fr); gap:28px; align-items:start;}
  .testimonial-card{
    background:#fff; border:1px solid rgba(10,42,78,0.1); border-radius:4px;
    padding:44px 36px; text-align:center; box-shadow:0 20px 50px rgba(10,42,78,0.08);
  }
  @media (max-width:760px){ .testimonials{grid-template-columns:1fr; max-width:460px;} }
  .testimonial-card blockquote{
    font-family:var(--serif); font-style:italic; font-weight:500;
    font-size:clamp(19px,2.2vw,23px); line-height:1.75; color:var(--navy-ink); margin:0 0 26px;
  }
  .testimonial-card cite{
    display:block; font-style:normal; font-size:13px; letter-spacing:0.1em;
    text-transform:uppercase; color:var(--gold); font-weight:600;
  }
  .testimonial-video{
    width:200px; margin:0 auto 28px; border-radius:6px; overflow:hidden;
    box-shadow:0 16px 40px rgba(10,42,78,0.18);
  }
  .testimonial-video video{width:100%; display:block; aspect-ratio:9/16; object-fit:cover; background:var(--navy-ink);}

  .intro-video{
    width:100%; max-width:340px; margin:0 auto; border-radius:6px; overflow:hidden;
    box-shadow:0 24px 60px rgba(10,42,78,0.18);
  }
  .intro-video video{width:100%; display:block; aspect-ratio:720/1238; object-fit:cover; background:var(--navy-ink);}

  /* ---------- REFLECTIVE (full bleed) ---------- */
  .reflect{
    position:relative; min-height:78vh; display:flex; align-items:center; justify-content:center;
    text-align:center; overflow:hidden;
  }
  .reflect img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:50% 20%;}
  .reflect::after{content:''; position:absolute; inset:0; background:rgba(7,27,51,0.62);}
  .reflect-content{position:relative; z-index:2; max-width:720px; padding:0 40px;}
  .reflect blockquote{
    font-family:var(--serif); font-style:italic; font-weight:500; color:#fff;
    font-size:clamp(24px,3.6vw,42px); line-height:1.4; margin:0 0 20px;
  }
  .reflect cite{color:var(--gold-light); font-size:13px; letter-spacing:0.14em; text-transform:uppercase; font-style:normal;}

  /* ---------- FOOTER / CTA ---------- */
  footer.site{background:var(--navy-ink); color:var(--cream-text); padding:50px 0 40px; text-align:center;}
  footer.site h2.headline{color:#fff;}
  footer.site p.sub{font-size:17px; color:#b9c3cd; max-width:480px; margin:0 auto 40px; line-height:1.7;}

  /* ---------- APPLICATION FORM ---------- */
  .apply-form{max-width:640px; margin:0 auto; text-align:left;}
  .apply-row{display:grid; grid-template-columns:1fr 1fr; gap:20px;}
  .apply-field{margin-bottom:20px;}
  .apply-field label{
    display:block; font-size:11.5px; letter-spacing:0.1em; text-transform:uppercase;
    font-weight:600; color:var(--gold-light); margin-bottom:8px;
  }
  .apply-field input, .apply-field select, .apply-field textarea{
    width:100%; background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.18);
    border-radius:2px; padding:12px 14px; font-family:var(--sans); font-size:14.5px;
    color:#fff; transition:border-color .25s ease, background .25s ease;
  }
  .apply-field select{ background-color:var(--navy-ink); color: #fff}
  .apply-field select option{ background-color:var(--navy-ink); color: #fff}
  .apply-field textarea{resize:vertical; min-height:70px; font-family:var(--sans);}
  .apply-field input::placeholder, .apply-field textarea::placeholder{color:#8493a3;}
  .apply-field input:focus, .apply-field select:focus, .apply-field textarea:focus{
    outline:none; border-color:var(--gold); background:rgba(255,255,255,0.1);
  }
  .apply-form button[type="submit"]{border:none; cursor:pointer; font-family:var(--sans);}
  @media (max-width:640px){ .apply-row{grid-template-columns:1fr;} }

  .optin-form{max-width:400px; margin:0 auto; text-align:left;}
  .optin-form .apply-field label{color:#8a7226;}
  .optin-form .apply-field input{background:#fff; border:1px solid rgba(10,42,78,0.18); color:var(--navy-ink);}
  .optin-form .apply-field input::placeholder{color:#a7b0bb;}
  .optin-form .apply-field input:focus{border-color:var(--gold); background:#fff;}
  .footer-bottom{
    margin-top:90px; padding-top:30px; border-top:1px solid rgba(255,255,255,0.1);
    display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:20px;
    font-size:13px; color:#7f8ea0; text-align:left;
  }
  .footer-brand{display:flex; align-items:center; gap:12px;}
  .footer-brand img{width:30px; height:30px; border-radius:4px;}
  .footer-contact{display:flex; gap:28px; flex-wrap:wrap;}
  .footer-contact a{text-decoration:none; color:#b9c3cd; padding:8px 0; display:inline-block;}
  .footer-contact a:hover{color:var(--gold-light);}

  /* ---------- RESPONSIVE ---------- */
  @media (max-width:900px){
    .split{grid-template-columns:1fr; gap:36px;}
    .split.reverse .split-img, .split.reverse .split-text{order:initial;}
    .gateways{grid-template-columns:1fr;}
    .offers-grid{grid-template-columns:1fr;}
    .offer-card.featured{transform:none;}
    .section{padding:80px 0;}
    header.nav{padding:16px 20px;}
    .wrap{padding:0 22px;}
    .footer-bottom{flex-direction:column; align-items:flex-start;}
  }

  @media (prefers-reduced-motion: reduce){
    *{animation:none !important; transition:none !important;}
    .reveal{opacity:1; transform:none;}
    .hero-img{transform:none;}
  }
