/* ============================================================
   Dr. Willie Vasquez Ng — Speaker / Author Platform
   Hybrid aesthetic: dark cinematic + light editorial
   ============================================================ */
:root{
  --ink:#060D18;         /* near-black navy */
  --navy:#0B1F38;        /* deep brand navy */
  --navy-2:#12294A;      /* lifted navy */
  --gold:#C9A24A;        /* brand gold */
  --gold-bright:#E7C877; /* hover gold */
  --cream:#F6F3EC;       /* warm light */
  --paper:#FFFFFF;
  --slate:#4A5A6E;
  --line:rgba(255,255,255,.12);
  --shadow:0 18px 50px rgba(0,0,0,.28);
  --maxw:1180px;
  --font-head:'Oswald',Impact,sans-serif;
  --font-body:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--font-body);color:#16202C;background:var(--paper);line-height:1.65;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}

/* ---------- Typography ---------- */
h1,h2,h3,h4,.eyebrow{font-family:var(--font-head);font-weight:600;line-height:1.05;letter-spacing:.5px}
h2{font-size:clamp(1.9rem,4vw,3rem);text-transform:uppercase}
h3{font-size:1.35rem;text-transform:uppercase;letter-spacing:1px}
.eyebrow{display:inline-block;color:var(--gold);font-size:.85rem;font-weight:500;letter-spacing:3px;text-transform:uppercase;margin-bottom:14px}
.lead{font-size:1.18rem;color:#3a4756}
.center{text-align:center}
.muted{color:var(--slate)}

/* ---------- Buttons ---------- */
.btn{display:inline-block;font-family:var(--font-head);font-weight:500;letter-spacing:1.5px;text-transform:uppercase;font-size:.92rem;padding:15px 32px;border-radius:2px;transition:.22s;cursor:pointer;border:2px solid transparent}
.btn-gold{background:var(--gold);color:var(--ink)}
.btn-gold:hover{background:var(--gold-bright);transform:translateY(-2px)}
.btn-outline{border-color:var(--gold);color:var(--gold);background:transparent}
.btn-outline:hover{background:var(--gold);color:var(--ink)}
.btn-ghost{border-color:rgba(255,255,255,.4);color:#fff}
.btn-ghost:hover{border-color:#fff;background:rgba(255,255,255,.08)}

/* ---------- Header / Nav ---------- */
.nav{position:sticky;top:0;z-index:50;background:rgba(6,13,24,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:74px}
.nav .logo img{height:40px}
.nav ul{list-style:none;display:flex;gap:30px;align-items:center}
.nav a.navlink{font-family:var(--font-head);font-weight:400;text-transform:uppercase;letter-spacing:1.5px;font-size:.82rem;color:#dfe6ef;transition:.2s}
.nav a.navlink:hover,.nav a.navlink.active{color:var(--gold)}
.nav .btn{padding:11px 22px;font-size:.8rem}
.navtoggle{display:none;background:none;border:0;color:#fff;font-size:1.6rem;cursor:pointer}

/* ---------- Hero ---------- */
.hero{position:relative;background:var(--ink);color:#fff;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center;min-height:82vh;padding:60px 0}
.hero-bg{position:absolute;inset:0;background:
   radial-gradient(1200px 600px at 75% 20%,rgba(24,58,102,.55),transparent 60%),
   radial-gradient(900px 500px at 10% 90%,rgba(201,162,74,.12),transparent 60%),
   linear-gradient(180deg,#050B14 0%,#0B1F38 100%);z-index:0}
.hero .wrap{position:relative;z-index:2}
.hero h1{font-size:clamp(2.6rem,6vw,4.7rem);text-transform:uppercase;line-height:.98}
.hero h1 .gold{color:var(--gold)}
.hero .kicker{font-family:var(--font-head);letter-spacing:3px;text-transform:uppercase;color:#9fb2c8;font-size:.9rem;margin-bottom:18px}
.hero .sub{font-size:1.15rem;color:#cdd8e4;max-width:520px;margin:22px 0 30px}
.hero .cta-row{display:flex;gap:14px;flex-wrap:wrap}
.hero-portrait{position:relative}
.hero-portrait img{border-radius:4px;box-shadow:var(--shadow);width:100%;object-fit:cover;filter:saturate(1.02)}
.hero-portrait::after{content:"";position:absolute;left:-16px;bottom:-16px;width:60%;height:60%;border-left:3px solid var(--gold);border-bottom:3px solid var(--gold);z-index:-1}
.credis{display:flex;gap:26px;flex-wrap:wrap;margin-top:34px;border-top:1px solid var(--line);padding-top:22px}
.credis div{min-width:90px}
.credis .n{font-family:var(--font-head);font-size:1.9rem;color:var(--gold);line-height:1}
.credis .l{font-size:.78rem;letter-spacing:1px;text-transform:uppercase;color:#9fb2c8}

/* ---------- Sections ---------- */
.section{padding:88px 0}
.section-dark{background:var(--navy);color:#eaf0f7}
.section-ink{background:var(--ink);color:#eaf0f7}
.section-cream{background:var(--cream)}
.section-dark .lead,.section-ink .lead{color:#c2cfdd}
.sec-head{max-width:760px;margin:0 auto 50px}
.sec-head.center{text-align:center}

/* ---------- Services grid ---------- */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.card{background:var(--paper);border:1px solid #e7e2d6;border-radius:6px;padding:34px 28px;transition:.25s}
.section-dark .card,.section-ink .card{background:var(--navy-2);border-color:var(--line);color:#eaf0f7}
.card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.card .ic{width:46px;height:46px;border-radius:50%;background:rgba(201,162,74,.15);color:var(--gold);display:flex;align-items:center;justify-content:center;font-family:var(--font-head);font-size:1.3rem;margin-bottom:18px}
.card h3{margin-bottom:10px;font-size:1.1rem}
.card p{font-size:.97rem;color:var(--slate)}
.section-dark .card p,.section-ink .card p{color:#b6c3d3}

/* ---------- Quote strip ---------- */
.quotestrip{background:var(--ink);color:#fff;text-align:center;padding:80px 0}
.quotestrip .q{font-family:var(--font-head);font-weight:600;text-transform:uppercase;font-size:clamp(1.6rem,3.6vw,2.7rem);line-height:1.12;max-width:900px;margin:0 auto}
.quotestrip .q .gold{color:var(--gold)}
.quotestrip .by{margin-top:20px;letter-spacing:3px;text-transform:uppercase;color:#9fb2c8;font-size:.85rem}

/* ---------- Split feature ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.split img{border-radius:6px;box-shadow:var(--shadow)}
.split.rev .txt{order:2}

/* ---------- Books ---------- */
.books{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.book{background:var(--navy-2);border:1px solid var(--line);border-radius:8px;padding:20px;text-align:center;transition:.25s}
.book:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.book img{border-radius:4px;box-shadow:0 10px 26px rgba(0,0,0,.4);margin-bottom:16px;aspect-ratio:2475/3500;object-fit:cover}
.book h4{font-family:var(--font-head);text-transform:uppercase;font-size:.98rem;letter-spacing:.5px;color:#fff;margin-bottom:6px;line-height:1.15}
.book .tag{font-size:.72rem;letter-spacing:2px;text-transform:uppercase;color:var(--gold)}

/* ---------- Signup / Funnel ---------- */
.signup{background:linear-gradient(160deg,#0B1F38,#060D18);color:#fff;border-radius:12px;padding:56px 48px;box-shadow:var(--shadow);border:1px solid var(--line)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field{margin-bottom:16px}
.field label{display:block;font-size:.78rem;letter-spacing:1.5px;text-transform:uppercase;color:#9fb2c8;margin-bottom:7px;font-family:var(--font-head)}
.field input,.field select,.field textarea{width:100%;padding:14px 16px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.05);color:#fff;border-radius:4px;font-family:var(--font-body);font-size:1rem}
.field input::placeholder,.field textarea::placeholder{color:#7d8da0}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--gold)}
.field select option{color:#111}
.hp{position:absolute;left:-9999px}

/* ---------- Logos / trust ---------- */
.trust{display:flex;flex-wrap:wrap;gap:14px 40px;justify-content:center;align-items:center;color:#8ea0b5;font-family:var(--font-head);text-transform:uppercase;letter-spacing:1.5px;font-size:.9rem}
.trust span{opacity:.8}

/* ---------- Footer ---------- */
.foot{background:#040A12;color:#c3cede;padding:64px 0 30px;border-top:2px solid var(--gold)}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;margin-bottom:40px}
.foot img.flogo{height:52px;margin-bottom:16px}
.foot h5{font-family:var(--font-head);text-transform:uppercase;letter-spacing:2px;color:#fff;font-size:.95rem;margin-bottom:16px}
.foot a{color:#c3cede;transition:.2s;display:inline-block;padding:3px 0}
.foot a:hover{color:var(--gold)}
.foot ul{list-style:none}
.socials{display:flex;gap:14px;margin-top:14px}
.socials a{width:38px;height:38px;border:1px solid var(--line);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-family:var(--font-head)}
.socials a:hover{border-color:var(--gold);color:var(--gold)}
.foot-bottom{border-top:1px solid var(--line);padding-top:22px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:.82rem;color:#7d8da0}

/* ---------- Page hero (interior) ---------- */
.phero{background:var(--ink);color:#fff;padding:90px 0 70px;position:relative;overflow:hidden}
.phero .wrap{position:relative;z-index:2}
.phero h1{font-size:clamp(2.2rem,5vw,3.6rem);text-transform:uppercase}
.phero p{color:#c2cfdd;max-width:640px;margin-top:14px;font-size:1.12rem}
.phero-bg{position:absolute;inset:0;background:radial-gradient(900px 500px at 80% 10%,rgba(24,58,102,.5),transparent 60%),linear-gradient(180deg,#050B14,#0B1F38);z-index:0}

/* ---------- Prose (About) ---------- */
.prose{max-width:820px;margin:0 auto}
.prose h3{color:var(--navy);margin:38px 0 12px;border-left:4px solid var(--gold);padding-left:14px}
.prose p{margin-bottom:16px;color:#2b3e50}
.prose ul{margin:0 0 20px 22px}
.prose li{margin-bottom:7px}
.pillbar{display:flex;flex-wrap:wrap;gap:10px;margin:26px 0}
.pill{background:#fff;border:1px solid #e2ddd0;border-radius:40px;padding:8px 18px;font-size:.85rem;font-family:var(--font-head);text-transform:uppercase;letter-spacing:1px;color:var(--navy)}

/* ---------- Utility ---------- */
.mt0{margin-top:0}.mb0{margin-bottom:0}
.notice{background:rgba(201,162,74,.12);border:1px dashed var(--gold);color:#6b5620;padding:10px 14px;border-radius:6px;font-size:.85rem;margin-top:16px}

/* ---------- Responsive ---------- */
@media(max-width:900px){
  .hero-grid{grid-template-columns:1fr;text-align:center}
  .hero-portrait{max-width:420px;margin:0 auto;order:-1}
  .hero .cta-row,.credis{justify-content:center}
  .cards{grid-template-columns:1fr 1fr}
  .books{grid-template-columns:1fr 1fr}
  .split{grid-template-columns:1fr}
  .split.rev .txt{order:0}
  .foot-grid{grid-template-columns:1fr 1fr}
  .nav ul{position:fixed;inset:74px 0 auto 0;background:var(--ink);flex-direction:column;gap:0;padding:10px 0;display:none;border-bottom:1px solid var(--line)}
  .nav ul.open{display:flex}
  .nav ul li{width:100%;text-align:center;padding:8px 0}
  .navtoggle{display:block}
}
@media(max-width:560px){
  .cards,.books,.form-row,.foot-grid{grid-template-columns:1fr}
  .section{padding:60px 0}
  .signup{padding:34px 22px}
}

/* ============================================================
   V2 UPGRADES — authority, video, testimonials, media, motion
   ============================================================ */

/* ---- Scroll reveal ---- */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}

/* ---- Hero video button ---- */
.play-btn{display:inline-flex;align-items:center;gap:12px;background:transparent;border:0;color:#fff;cursor:pointer;font-family:var(--font-head);text-transform:uppercase;letter-spacing:1.5px;font-size:.9rem}
.play-btn .circle{width:54px;height:54px;border-radius:50%;border:2px solid var(--gold);display:flex;align-items:center;justify-content:center;color:var(--gold);transition:.25s;flex:0 0 auto}
.play-btn:hover .circle{background:var(--gold);color:var(--ink);transform:scale(1.06)}
.play-btn .tri{margin-left:3px;border-style:solid;border-width:8px 0 8px 13px;border-color:transparent transparent transparent currentColor}

/* ---- Video modal ---- */
.vmodal{position:fixed;inset:0;background:rgba(4,8,14,.9);display:none;align-items:center;justify-content:center;z-index:200;padding:24px}
.vmodal.open{display:flex}
.vmodal-inner{width:min(960px,100%);background:#000;border-radius:10px;overflow:hidden;position:relative;box-shadow:var(--shadow)}
.vmodal .ratio{position:relative;padding-top:56.25%}
.vmodal .ratio iframe,.vmodal .ratio img,.vmodal .ratio .poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border:0}
.vmodal .poster{display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(160deg,#0B1F38,#060D18);color:#fff;text-align:center;gap:14px;padding:24px}
.vmodal .vclose{position:absolute;top:-14px;right:-14px;width:40px;height:40px;border-radius:50%;background:var(--gold);color:var(--ink);border:0;font-size:1.2rem;cursor:pointer;z-index:2;font-family:var(--font-head)}
@media(max-width:560px){.vmodal .vclose{top:8px;right:8px}}

/* ---- Authority: security -> leadership ---- */
.ladder{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:14px}
.ladder .step{display:flex;align-items:center;gap:10px;color:#cdd8e4;font-family:var(--font-head);text-transform:uppercase;letter-spacing:1px;font-size:.82rem}
.ladder .step b{color:var(--gold);font-weight:500}
.ladder .arrow{color:var(--gold);opacity:.6}
.authgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:12px}
.authgrid .a{background:var(--navy-2);border:1px solid var(--line);border-radius:8px;padding:22px}
.authgrid .a .yr{font-family:var(--font-head);color:var(--gold);font-size:.8rem;letter-spacing:2px}
.authgrid .a h4{font-family:var(--font-head);text-transform:uppercase;color:#fff;font-size:1rem;margin:6px 0 6px;letter-spacing:.5px;line-height:1.15}
.authgrid .a p{color:#b6c3d3;font-size:.9rem}
@media(max-width:820px){.authgrid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.authgrid{grid-template-columns:1fr}}

/* ---- Testimonials ---- */
.tgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.tcard{background:var(--navy-2);border:1px solid var(--line);border-radius:10px;padding:28px 26px;position:relative}
.tcard .mark{font-family:var(--font-head);color:var(--gold);font-size:3rem;line-height:.6;opacity:.6}
.tcard p{color:#e0e8f1;font-size:1rem;margin:8px 0 16px}
.tcard .who{font-family:var(--font-head);text-transform:uppercase;letter-spacing:1px;font-size:.8rem;color:var(--gold)}
.tcard .who span{display:block;color:#8ea0b5;letter-spacing:.5px}
@media(max-width:820px){.tgrid{grid-template-columns:1fr}}

/* ---- Media / As seen in ---- */
.mediastrip{display:flex;flex-wrap:wrap;gap:16px 34px;justify-content:center;align-items:center}
.mediastrip .m{font-family:var(--font-head);text-transform:uppercase;letter-spacing:2px;color:#9fb2c8;font-size:1rem;border:1px solid var(--line);border-radius:6px;padding:12px 20px}

/* ---- Events ---- */
.eventrow{display:flex;gap:22px;align-items:center;background:var(--paper);border:1px solid #e7e2d6;border-radius:10px;padding:20px 24px;margin-bottom:14px}
.section-dark .eventrow,.section-ink .eventrow{background:var(--navy-2);border-color:var(--line)}
.eventrow .date{font-family:var(--font-head);text-align:center;color:var(--gold);line-height:1;flex:0 0 auto;min-width:70px}
.eventrow .date .d{font-size:1.9rem}.eventrow .date .m{font-size:.8rem;letter-spacing:2px}
.eventrow .info h4{font-family:var(--font-head);text-transform:uppercase;font-size:1.05rem;color:#fff;margin-bottom:4px}
.eventrow .info p{color:#b6c3d3;font-size:.92rem}
.eventrow .loc{margin-left:auto;color:#9fb2c8;font-size:.85rem;text-align:right}
@media(max-width:640px){.eventrow{flex-wrap:wrap}.eventrow .loc{margin-left:0;text-align:left}}

/* placeholder tag */
.ph{display:inline-block;font-family:var(--font-head);font-size:.66rem;letter-spacing:1.5px;text-transform:uppercase;color:var(--ink);background:var(--gold);padding:2px 8px;border-radius:3px;vertical-align:middle;margin-left:8px}

/* ---- Inline hero video (plays in place) ---- */
.hero-video{position:relative;border-radius:6px;overflow:hidden;box-shadow:var(--shadow);aspect-ratio:16/9;background:#000;cursor:pointer}
.hero-video .hv-poster{width:100%;height:100%;object-fit:cover;display:block;opacity:.92;transition:.3s}
.hero-video:hover .hv-poster{opacity:1;transform:scale(1.02)}
.hero-video .hv-play{position:absolute;inset:0;margin:auto;width:80px;height:80px;border-radius:50%;background:rgba(201,162,74,.94);border:0;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:.25s}
.hero-video:hover .hv-play{transform:scale(1.08);background:var(--gold)}
.hero-video .hv-play .tri{margin-left:6px;border-style:solid;border-width:14px 0 14px 22px;border-color:transparent transparent transparent #0B1F38}
.hero-video .hv-badge{position:absolute;left:14px;top:14px;background:rgba(6,13,24,.72);color:#fff;font-family:var(--font-head);text-transform:uppercase;letter-spacing:1.5px;font-size:.72rem;padding:5px 12px;border-radius:3px;z-index:2}
.hero-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* ---- V4: logo wall ---- */
.logowall{display:flex;flex-wrap:wrap;gap:14px 20px;justify-content:center;align-items:center;max-width:900px;margin:0 auto}
.logowall .chip{background:#fff;border:1px solid #e7e2d6;border-radius:8px;height:72px;min-width:130px;padding:12px 22px;display:flex;align-items:center;justify-content:center;filter:grayscale(1);opacity:.72;transition:.25s}
.logowall .chip:hover{filter:none;opacity:1;transform:translateY(-2px)}
.logowall .chip img{max-height:44px;max-width:150px;object-fit:contain;display:block}
.logowall .chip.txt{font-family:var(--font-head);text-transform:uppercase;letter-spacing:1px;color:var(--navy);font-size:.92rem;filter:none;opacity:.82}

/* ---- V4: authority with portrait + badges ---- */
.authsplit{display:grid;grid-template-columns:.82fr 1.18fr;gap:44px;align-items:center;margin-top:26px}
.authfig{position:relative}
.authfig .port{border-radius:8px;box-shadow:var(--shadow);width:100%;display:block}
.authfig .badges{position:absolute;right:-16px;bottom:-16px;display:flex;gap:10px}
.authfig .badges img{width:82px;height:auto;border-radius:8px;border:1px solid rgba(201,162,74,.45);box-shadow:0 8px 20px rgba(0,0,0,.55)}
.authgrid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:820px){.authsplit{grid-template-columns:1fr}.authfig{max-width:420px;margin:0 auto 30px}.authgrid2{grid-template-columns:1fr}}

/* ---- V4: speaking gallery ---- */
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.gallery figure{margin:0;position:relative;overflow:hidden;border-radius:8px;box-shadow:var(--shadow)}
.gallery img{width:100%;height:270px;object-fit:cover;display:block;transition:.4s}
.gallery figure:hover img{transform:scale(1.05)}
@media(max-width:820px){.gallery{grid-template-columns:1fr 1fr}.gallery img{height:200px}}
@media(max-width:520px){.gallery{grid-template-columns:1fr}}

/* ---- V4: photo CTA band ---- */
.cta-photo{position:relative;background-size:cover;background-position:center 28%}
.cta-photo::before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(6,13,24,.86),rgba(11,31,56,.9))}
.cta-photo .wrap{position:relative;z-index:1}

/* ---- V4: media appearances list ---- */
.mrow{display:grid;grid-template-columns:230px 1fr;gap:24px;padding:20px 0;border-bottom:1px solid var(--line)}
.mrow .o{font-family:var(--font-head);text-transform:uppercase;color:#fff;font-size:1.02rem;letter-spacing:.5px;line-height:1.2}
.mrow .o span{display:block;color:var(--gold);font-size:.74rem;letter-spacing:1.5px;margin-top:6px;font-weight:400}
.mrow .d{color:#c2cfdd;font-size:.95rem}
@media(max-width:700px){.mrow{grid-template-columns:1fr;gap:8px}}

/* ---- MailerLite embed restyled to match brand ---- */
.ml-form-embedContainer,.ml-form-embedWrapper{background:transparent!important;border:0!important;max-width:100%!important;width:100%!important}
.ml-form-embedContent,.ml-form-embedContainer .ml-form-embedContent{display:none!important}
.ml-form-embedContainer .ml-form-embedBody,.ml-form-embedContainer .ml-form-successBody{padding:0!important;background:transparent!important}
.ml-form-embedContainer .ml-form-fieldRow{margin-bottom:16px!important}
.ml-form-embedContainer input.form-control,.ml-form-embedContainer .ml-field-group input{width:100%!important;background:rgba(255,255,255,.05)!important;border:1px solid rgba(255,255,255,.18)!important;color:#fff!important;border-radius:4px!important;padding:14px 16px!important;font-family:var(--font-body)!important;font-size:1rem!important;box-shadow:none!important}
.ml-form-embedContainer input.form-control::placeholder{color:#7d8da0!important}
.ml-form-embedContainer .ml-form-embedSubmit{margin-top:4px!important}
.ml-form-embedContainer .ml-form-embedSubmit button,.ml-form-embedContainer button.primary{width:100%!important;background:var(--gold)!important;color:var(--ink)!important;font-family:var(--font-head)!important;text-transform:uppercase!important;letter-spacing:1.5px!important;font-size:.92rem!important;border:0!important;border-radius:2px!important;padding:15px 32px!important;cursor:pointer!important}
.ml-form-embedContainer .ml-form-embedSubmit button:hover,.ml-form-embedContainer button.primary:hover{background:var(--gold-bright)!important}
.ml-form-embedContainer .ml-form-successBody p,.ml-form-embedContainer label{color:#e0e8f1!important}

/* ---- V5: cinematic hero depth + video glow ---- */
.hero-bg{background:
   radial-gradient(1200px 620px at 80% 12%,rgba(30,66,112,.48),transparent 62%),
   radial-gradient(800px 480px at 8% 92%,rgba(201,162,74,.10),transparent 60%),
   linear-gradient(180deg,rgba(5,11,20,.80) 0%,rgba(9,24,44,.93) 100%),
   url('../img/hero-atmos.jpg') !important;
   background-size:cover !important;background-position:center !important}
.hero-video{box-shadow:0 28px 72px rgba(0,0,0,.58), 0 0 0 1px rgba(201,162,74,.30) !important}
.hero-video::before{content:"";position:absolute;left:-14px;bottom:-14px;width:52%;height:52%;border-left:3px solid var(--gold);border-bottom:3px solid var(--gold);z-index:-1}

/* ---- V6: big-stage band ---- */
.stage-band{position:relative;background-size:cover;background-position:center 30%}
.stage-band::before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(6,13,24,.70),rgba(9,24,44,.84))}
.stage-band .wrap{position:relative;z-index:1}
.stage-band .lead{color:#dbe4ee}

/* ---- V7: full-bleed stage hero ---- */
.hero-stage{position:relative;background-size:cover;background-position:center right;min-height:86vh;display:flex;align-items:center;color:#fff;overflow:hidden}
.hero-stage .hero-stage-overlay{position:absolute;inset:0;background:linear-gradient(100deg,rgba(4,9,16,.96) 0%,rgba(6,13,24,.9) 38%,rgba(6,13,24,.55) 72%,rgba(6,13,24,.4) 100%)}
.hero-stage .wrap{position:relative;z-index:2;width:100%}
.hero-stage .hero-txt{max-width:640px;padding:70px 0}
@media(max-width:700px){.hero-stage .hero-stage-overlay{background:linear-gradient(180deg,rgba(4,9,16,.86),rgba(6,13,24,.92))}.hero-stage .hero-txt{padding:48px 0}}

/* ---- V7: He Commands the Room band (visible) ---- */
.stage-band{background-position:center 32%!important}
.stage-band::before{background:linear-gradient(rgba(6,13,24,.62),rgba(9,24,44,.78))!important}
.stage-band h2{color:#fff!important}
.stage-band .eyebrow{color:var(--gold)}

/* ---- V7: video grid (choose a clip) ---- */
.video-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;max-width:940px;margin:0 auto}
.video-grid .vbox{position:relative;aspect-ratio:16/9;border-radius:10px;overflow:hidden;cursor:pointer;box-shadow:var(--shadow);background:#000;border:1px solid var(--line)}
.video-grid .vbox img{width:100%;height:100%;object-fit:cover;opacity:.88;transition:.3s}
.video-grid .vbox:hover img{opacity:1;transform:scale(1.04)}
.video-grid .vbox .pl{position:absolute;top:calc(50% - 29px);left:calc(50% - 29px);width:58px;height:58px;border-radius:50%;background:rgba(201,162,74,.94);display:flex;align-items:center;justify-content:center;transition:.25s}
.video-grid .vbox:hover .pl{transform:scale(1.08);background:var(--gold)}
.video-grid .vbox .pl .tri{margin-left:4px;border-style:solid;border-width:10px 0 10px 16px;border-color:transparent transparent transparent #0B1F38}
.video-grid .vbox .cap{position:absolute;left:0;right:0;bottom:0;padding:26px 14px 12px;background:linear-gradient(transparent,rgba(4,9,16,.9));color:#fff;font-size:.84rem;line-height:1.3;font-weight:500}
.video-grid .vbox iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
@media(max-width:640px){.video-grid{grid-template-columns:1fr}}

/* ---- V8: moments masonry gallery ---- */
.masonry{column-count:4;column-gap:14px;max-width:1180px;margin:0 auto}
.masonry img{width:100%;margin:0 0 14px;border-radius:8px;display:block;break-inside:avoid;box-shadow:var(--shadow);transition:.3s}
.masonry img:hover{transform:translateY(-3px);filter:brightness(1.08)}
@media(max-width:900px){.masonry{column-count:3}}
@media(max-width:600px){.masonry{column-count:2;column-gap:10px}.masonry img{margin-bottom:10px}}

/* ============ V9: MOTION + IMPACT ============ */
/* hero entrance stagger */
.hero .txt>*{opacity:0;animation:heroIn .85s cubic-bezier(.2,.7,.2,1) forwards}
.hero .txt>*:nth-child(1){animation-delay:.08s}
.hero .txt>*:nth-child(2){animation-delay:.22s}
.hero .txt>*:nth-child(3){animation-delay:.36s}
.hero .txt>*:nth-child(4){animation-delay:.5s}
@keyframes heroIn{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
/* hero image ken burns + gold ring */
.hero-portrait{overflow:hidden;box-shadow:var(--shadow),0 0 0 1px rgba(201,162,74,.30)}
.hero-portrait::after{display:none}
.hero-portrait img{animation:kenburns 22s ease-in-out infinite alternate;transform-origin:60% 50%}
@keyframes kenburns{0%{transform:scale(1.03)}100%{transform:scale(1.13)}}
/* moving gold glow behind hero */
.hero .hero-bg::after{content:"";position:absolute;inset:0;background:radial-gradient(560px 380px at 28% 42%,rgba(201,162,74,.13),transparent 62%);animation:drift 15s ease-in-out infinite alternate;pointer-events:none}
@keyframes drift{0%{transform:translate(-40px,14px)}100%{transform:translate(80px,-54px)}}

/* cinematic stat band */
.statband{background:linear-gradient(160deg,#0B1F38,#060D18);padding:62px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);position:relative;overflow:hidden}
.statband::before{content:"";position:absolute;inset:0;background:radial-gradient(820px 320px at 50% 0%,rgba(201,162,74,.09),transparent 62%);pointer-events:none}
.statband .wrap{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center}
.statband .stat{position:relative;padding:6px 0}
.statband .stat:not(:last-child)::after{content:"";position:absolute;right:0;top:12%;height:76%;width:1px;background:var(--line)}
.statband .num{font-family:var(--font-head);font-weight:600;font-size:clamp(2.6rem,5.2vw,4rem);color:var(--gold);line-height:1}
.statband .lbl{font-family:var(--font-head);text-transform:uppercase;letter-spacing:2px;font-size:.82rem;color:#9fb2c8;margin-top:12px}
@media(max-width:640px){.statband .wrap{grid-template-columns:1fr 1fr;gap:34px 12px}.statband .stat:nth-child(2)::after{display:none}}

/* richer reveal + hover depth */
.reveal{transform:translateY(34px);transition:opacity .85s cubic-bezier(.2,.7,.2,1),transform .85s cubic-bezier(.2,.7,.2,1)}
.card,.book,.tcard,.authgrid2 .a,.video-grid .vbox{transition:transform .3s cubic-bezier(.2,.7,.2,1),box-shadow .3s,border-color .3s}
.card:hover,.tcard:hover,.authgrid2 .a:hover{transform:translateY(-7px);box-shadow:0 22px 52px rgba(0,0,0,.42);border-color:rgba(201,162,74,.38)}
.book:hover{transform:translateY(-9px)}
.btn{will-change:transform}
@media(prefers-reduced-motion:reduce){.hero-portrait img,.hero .hero-bg::after,.hero .txt>*{animation:none!important;opacity:1!important}}

/* ---- V10: eBook funnel buttons + cutout hero ---- */
.book .btn-book{margin-top:14px;width:100%;font-size:.82rem;padding:11px 14px;letter-spacing:1px}
.eyebrow.center{text-align:center}
.signup .ml-slot{margin-top:4px}

/* Cutout hero — Willie steps out of the page */
.hero-cut{position:relative;align-self:end;display:flex;justify-content:center;min-height:100%}
.hero-cut::before{content:"";position:absolute;left:50%;top:14%;width:78%;height:78%;transform:translateX(-50%);
  background:radial-gradient(closest-side,rgba(201,162,74,.24),rgba(201,162,74,.05) 62%,transparent 74%);
  filter:blur(12px);z-index:1;pointer-events:none;animation:cutGlow 7s ease-in-out infinite alternate}
.hero-cut img{position:relative;z-index:2;width:100%;max-width:600px;align-self:flex-end;
  filter:drop-shadow(0 26px 46px rgba(0,0,0,.55));animation:cutFloat 6.5s ease-in-out infinite alternate}
@keyframes cutFloat{from{transform:translateY(0)}to{transform:translateY(-13px)}}
@keyframes cutGlow{from{opacity:.75}to{opacity:1}}
@media(max-width:900px){
  .hero-cut{order:-1;max-width:440px;margin:0 auto}
  .hero-cut img{max-width:360px}
}
@media(prefers-reduced-motion:reduce){.hero-cut img,.hero-cut::before{animation:none!important}}

/* ---- V11: eBook download-access pages ---- */
.dl-card{display:flex;gap:26px;align-items:center;max-width:620px;margin:0 auto;background:var(--navy-2);border:1px solid var(--line);border-radius:10px;padding:26px;text-align:left}
.dl-card .dl-cover{width:150px;border-radius:5px;box-shadow:0 14px 34px rgba(0,0,0,.5);flex:none;aspect-ratio:2475/3500;object-fit:cover}
.dl-card .dl-info h3{font-family:var(--font-head);text-transform:uppercase;color:#fff;font-size:1.35rem;line-height:1.1;margin:6px 0 16px}
.dl-card .dl-info .tag{font-size:.72rem;letter-spacing:2px;text-transform:uppercase;color:var(--gold)}
.dl-card .dl-note{color:#8ea0b5;font-size:.82rem;margin-top:12px}
@media(max-width:560px){.dl-card{flex-direction:column;text-align:center}.dl-card .dl-cover{width:130px}}


/* ---- V12: home refinements (hero enlarge, authority fill, community, featured testimonial) ---- */
/* Hero cutout: bigger, text sits above so stray edges tuck behind copy */
.hero .txt{position:relative;z-index:3}
.hero-cut{align-self:end}
.hero-cut img{max-width:680px}
@media(max-width:900px){ .hero-cut img{max-width:340px} }

/* Authority section: kill desktop empty space by letting the portrait fill the row height */
.authsplit{align-items:stretch}
.authfig{display:flex}
.authfig .port{width:100%;height:100%;object-fit:cover;object-position:center 20%;max-height:600px}
@media(max-width:820px){ .authfig{display:block} .authfig .port{height:auto;max-height:none} }

/* Community grid (About) */
.commgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:26px}
.commgrid figure{margin:0}
.commgrid img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:8px;box-shadow:var(--shadow);display:block}
.commgrid figcaption{color:#9fb2c8;font-size:.86rem;margin-top:10px;text-align:center}
@media(max-width:760px){ .commgrid{grid-template-columns:1fr;max-width:460px;margin:26px auto 0} }

/* Featured testimonial */
.tfeature{background:linear-gradient(180deg,var(--navy-2),#0e1b30);border:1px solid rgba(201,162,74,.28);border-radius:14px;padding:40px 42px 34px;max-width:900px;margin:0 auto 34px;position:relative;box-shadow:var(--shadow)}
.tfeature .mark{font-family:var(--font-head);color:var(--gold);font-size:4rem;line-height:.5;opacity:.7}
.tfeature p{color:#e6edf5;font-size:1.04rem;line-height:1.6;margin:14px 0}
.tfeature .who{font-family:var(--font-head);text-transform:uppercase;letter-spacing:1.5px;color:var(--gold);margin-top:20px;font-size:.92rem}
.tfeature .who span{display:block;color:#8ea0b5;letter-spacing:.4px;margin-top:4px;text-transform:none;font-family:var(--font-body);font-size:.86rem}
@media(max-width:600px){ .tfeature{padding:28px 22px} }

/* ---- V13: cinematic full-bleed hero + general newsletter form ---- */
.hero{position:relative;background:#070c15 url('../img/hero-desktop.jpg') no-repeat right center;background-size:cover;min-height:88vh;display:flex;align-items:center;overflow:hidden}
.hero .hero-media{display:none}
.hero .wrap{position:relative;z-index:2;width:100%}
.hero .txt{max-width:600px}
.hero h1{text-shadow:0 2px 26px rgba(0,0,0,.55)}
.hero .sub{text-shadow:0 1px 14px rgba(0,0,0,.5)}
@media(max-width:900px){
  .hero{background-image:none;display:block;min-height:0;padding:0 0 40px}
  .hero .hero-media{display:block;width:100%;margin-bottom:6px}
  .hero .txt{max-width:100%;text-align:center;padding:0 22px}
  .hero .cta-row{justify-content:center}
}

/* Newsletter form (Netlify) */
.nlform .nl-hp{position:absolute;left:-9999px;height:0;overflow:hidden}
.nlform .nl-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.nlform input[type=text],.nlform input[type=email]{width:100%;padding:14px 16px;border-radius:6px;border:1px solid var(--line);background:#0d1a2e;color:#eaf0f7;font-size:1rem}
.nlform input::placeholder{color:#8ea0b5}
.nlform input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 2px rgba(201,162,74,.25)}
.nlform .btn-gold{width:100%}
.nlform .nl-consent{color:#8ea0b5;font-size:.82rem;margin-top:12px;text-align:center}
@media(max-width:520px){.nlform .nl-row{grid-template-columns:1fr}}

/* ---- V14: About bio inline figure (Blue Armor) ---- */
.bio-fig{margin:22px 0 6px;max-width:520px}
.bio-fig img{width:100%;border-radius:8px;box-shadow:var(--shadow);display:block}
.bio-fig figcaption{color:#5a6b7d;font-size:.84rem;margin-top:8px;font-style:italic}

/* ---- V15: mobile hero polish (name overlay + tighten gap) ---- */
.hero-media-wrap{display:none}
@media(max-width:900px){
  .hero{padding:0 0 34px}
  .hero-media-wrap{display:block;position:relative;line-height:0}
  .hero-media{display:block;width:100%;margin:0}
  .hero-name{position:absolute;left:20px;bottom:16px;line-height:1;
    font-family:var(--font-head);text-transform:uppercase;letter-spacing:1px;
    color:#fff;font-weight:600;font-size:1.15rem;text-shadow:0 2px 12px rgba(0,0,0,.7)}
  .hero-name::before{content:"";display:block;width:46px;height:3px;background:var(--gold);margin-bottom:10px}
  .hero .txt{max-width:100%;text-align:center;padding:20px 22px 0}
  .hero .kicker{margin-bottom:12px}
}

/* ---- V16: name-forward hero, text overlaps subject ---- */
.hero .txt{max-width:760px}
.hero-fullname{display:block;font-family:var(--font-head);text-transform:uppercase;color:var(--gold);
  font-weight:700;font-size:clamp(1.3rem,2.6vw,2.1rem);letter-spacing:3px;line-height:1;margin:0 0 6px;
  text-shadow:0 2px 16px rgba(0,0,0,.6)}
.hero-fullname::after{content:"";display:block;width:78px;height:3px;background:var(--gold);margin:14px 0 4px}
.hero h1{font-size:clamp(2.8rem,6.4vw,5rem)}
@media(max-width:900px){
  .hero-fullname{display:none}                      /* mobile uses the on-image name */
  .hero-name{left:0;right:0;bottom:20px;text-align:center;font-size:1.7rem;letter-spacing:1.5px}
  .hero-name::before{margin:0 auto 10px}
}

/* ---- V17: distinct quote band (was blending with section above) ---- */
.quotestrip{background:linear-gradient(135deg,#163257,#0d2440) !important;
  border-top:2px solid var(--gold);border-bottom:2px solid var(--gold)}
.quotestrip .q .gold{color:var(--gold-bright)}
