/* Homepage only: speaker wall hero, roster band, founder split, roster grid, testimonials, steps, topics. Load after core. */
/* hero: full-bleed wall of real speakers */
.hero{position:relative;margin-top:-76px;height:clamp(700px,100vh,960px);background:var(--deep);overflow:hidden}
.wall{position:absolute;inset:0;display:grid;grid-template-columns:repeat(5,1fr);gap:3px;background:var(--deep)}
.wall div{overflow:hidden;background:#0D1A2E}
.wall img{width:100%;height:100%;object-fit:cover;object-position:center 16%}
.wall::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(6,15,30,.7) 0%,rgba(6,15,30,.1) 18%,rgba(6,15,30,.25) 40%,rgba(6,15,30,.9) 68%,var(--deep) 100%)}
.hero-copy{position:absolute;left:0;right:0;bottom:0;z-index:2;padding-bottom:70px}
.hero h1{font-size:clamp(36px,4.6vw,68px);line-height:1;max-width:940px}
.hero-row{display:grid;grid-template-columns:1fr auto;gap:50px;align-items:end;margin-top:28px}
.hero-sub{font-size:20px;line-height:1.6;color:#DCE3EE;max-width:34em}
.hero-ctas{display:flex;flex-wrap:nowrap;gap:12px;justify-content:flex-end}

/* credential band */
.creds{background:var(--blue);color:var(--navy);padding:46px 0}
.creds p{font-size:clamp(19px,2.05vw,30px);line-height:1.4}
.creds .lbl{font-family:var(--font);font-stretch:100%;font-variation-settings:"wdth" 100;text-transform:none;font-weight:700;font-size:17px;letter-spacing:0;margin-right:12px;vertical-align:middle}
.creds .sep{color:rgba(10,22,40,.35);margin:0 .1em}
.creds .it{white-space:nowrap}

/* why split with overlapping quote card */
.why{display:grid;grid-template-columns:1fr 1fr;background:var(--navy);min-height:780px}
.why-img{position:relative}
.why-img .ph{position:absolute;inset:0;overflow:hidden}
.why-img img{width:100%;height:100%;object-fit:cover;object-position:center 18%}
.why-img .ph::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(6,15,30,.55),transparent 45%)}
.why-quote{position:absolute;right:-70px;bottom:70px;z-index:3;width:min(470px,86%);background:#fff;color:var(--navy);padding:32px 34px;border-radius:3px;box-shadow:0 30px 70px rgba(0,0,0,.4);margin:0}
.why-quote p{font-weight:700;font-size:22px;line-height:1.35}
.why-quote cite{display:block;margin-top:16px;font-style:normal;font-size:15px;color:var(--slate);line-height:1.5}
.why-quote cite b{color:var(--navy)}
.why-quote cite a{color:var(--link);font-weight:700}
.why-copy{padding:110px 60px 100px 150px;max-width:760px}
.why-copy .h2{font-size:clamp(34px,3.6vw,54px)}
.why-copy p{margin-top:22px;color:#D0D8E5;font-size:19px}
.why-copy .by{margin-top:18px;font-size:16px;color:var(--muted)}
.promise{margin-top:34px;border-top:1px solid var(--line)}
.promise li{padding:18px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:200px 1fr;gap:18px}
.promise b{font-weight:800;font-stretch:112%;font-variation-settings:"wdth" 112;text-transform:uppercase;font-size:15px;letter-spacing:.03em;color:var(--ice);padding-top:3px}
.promise span{color:#D0D8E5;font-size:17px}
.nums{display:flex;flex-wrap:wrap;gap:16px 40px;margin-top:40px}
.nums b{display:block;font-size:34px;line-height:1.05}
.nums span{font-size:14px;color:var(--muted)}

/* roster on light ground */
.roster-sec{background:var(--paper);color:var(--navy);padding:130px 0 120px}
.roster-head{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:end;margin-bottom:36px}
.roster-head p{color:var(--slate);max-width:30em;justify-self:end}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:48px}
.chip{font:inherit;font-size:14px;font-weight:800;font-stretch:112%;font-variation-settings:"wdth" 112;text-transform:uppercase;letter-spacing:.03em;color:var(--navy);background:transparent;border:2px solid var(--navy);padding:10px 16px;border-radius:3px;cursor:pointer}
.chip:hover{background:#fff}
.chip.is-on{background:var(--navy);color:#fff}
.roster{display:grid;grid-template-columns:repeat(5,1fr);gap:50px 22px}
.card{text-decoration:none;color:var(--navy);display:block}
.card-photo{aspect-ratio:3/4;overflow:hidden;border-radius:3px;background:#E3E9F1;box-shadow:0 0 0 0 var(--blue);transition:box-shadow .2s ease}
.card:hover .card-photo{box-shadow:0 0 0 4px var(--blue)}
.card-photo img{width:100%;height:100%;object-fit:cover;object-position:center 20%}
.card-cat{display:block;margin-top:16px;font-size:13px;font-weight:700;color:var(--link)}
.card-name{font-weight:800;font-stretch:112%;font-variation-settings:"wdth" 112;text-transform:uppercase;font-size:21px;line-height:1.08;margin-top:4px}
.card-title{margin-top:8px;font-weight:600;font-size:15px;line-height:1.4}
.card-desc{margin-top:8px;font-size:15px;line-height:1.55;color:var(--slate)}

/* big alternating testimonials */
.voices{background:var(--deep);padding:140px 0 110px}
.vrow{display:grid;grid-template-columns:280px 1fr;gap:70px;align-items:center;padding:64px 0;border-top:1px solid var(--line)}
.vrow:first-of-type{margin-top:60px}
.vrow.flip{grid-template-columns:1fr 280px}
.vrow.flip .vph{order:2}
.vph{aspect-ratio:1;overflow:hidden;border-radius:3px}
.vph img{width:100%;height:100%;object-fit:cover;object-position:center 18%}
.vrow blockquote{margin:0}
.vrow .lead{font-weight:700;font-size:clamp(24px,2.3vw,34px);line-height:1.25;letter-spacing:-.01em}
.vrow .body{margin-top:16px;color:var(--muted);font-size:18px;max-width:52em}
.vrow cite{display:block;margin-top:20px;font-style:normal;font-size:15px;color:var(--muted)}
.vrow cite b{color:#fff}
.vrow cite a{color:var(--ice);font-weight:700}

/* steps on white */
.steps{background:#fff;color:var(--navy);padding:130px 0}
.steps ol{list-style:none;margin:64px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:40px}
.steps .num{display:block;font-size:96px;line-height:.85;color:var(--navy)}
.steps .num::after{content:"";display:block;width:56px;height:6px;background:var(--blue);margin-top:18px}
.steps h3{font-weight:800;font-stretch:112%;font-variation-settings:"wdth" 112;text-transform:uppercase;font-size:19px;line-height:1.2;margin:22px 0 10px}
.steps p{font-size:17px;line-height:1.6;color:var(--slate)}
.steps a{color:var(--navy);font-weight:700}
.steps .note{margin-top:60px;padding-top:26px;border-top:2px solid var(--navy);font-size:18px;color:var(--slate)}

/* topics on navy */
.topics{background:var(--navy);padding:130px 0}
.tlist{display:grid;grid-template-columns:1fr 1fr;column-gap:70px;margin-top:56px}
.trow{padding:26px 0;border-top:1px solid var(--line)}
.trow h3 a{font-weight:800;font-stretch:112%;font-variation-settings:"wdth" 112;text-transform:uppercase;font-size:clamp(20px,1.8vw,25px);line-height:1.15;text-decoration:none;color:#fff}
.trow h3 a:hover{color:var(--blue)}
.trow .who{margin-top:8px;font-size:16px;color:var(--muted)}
.trow .who a{color:#D0D8E5;text-decoration:none}
.trow .who a:hover{text-decoration:underline;color:#fff}
.trow .guide{display:inline-block;margin-top:10px;font-weight:700;font-size:15px;color:var(--ice)}
.guides{margin-top:60px;padding-top:30px;border-top:2px solid rgba(255,255,255,.35);display:grid;grid-template-columns:auto 1fr;gap:30px;align-items:baseline}
.guides h3{font-size:15px;font-weight:700;color:var(--muted)}
.guides ul{display:flex;flex-wrap:wrap;gap:12px 32px}
.guides a{color:#fff;font-weight:600;font-size:17px;text-underline-offset:4px}
.guides a:hover{color:var(--ice)}

/* one orchestrated moment: the wall settles in */
@media (prefers-reduced-motion:no-preference){
  .wall div{animation:settle 1.1s cubic-bezier(.2,.7,.2,1) both}
  .wall div:nth-child(2){animation-delay:.08s}.wall div:nth-child(3){animation-delay:.16s}
  .wall div:nth-child(4){animation-delay:.24s}.wall div:nth-child(5){animation-delay:.32s}
  @keyframes settle{from{opacity:0;transform:scale(1.08)}to{opacity:1;transform:none}}
}

/* responsive */
@media (max-width:1200px){
  .roster{grid-template-columns:repeat(3,1fr)}
  .why-copy{padding:110px 40px 100px 120px}
}
@media (max-width:1000px){
  .why{grid-template-columns:1fr}
  .why-img{height:560px}
  .why-quote{right:24px;bottom:-60px;left:24px;width:auto}
  .why-copy{padding:120px 24px 100px;max-width:none;width:min(1240px,100% - 48px);margin-inline:auto;padding-left:0;padding-right:0}
  .roster-head,.faq-grid,.book-grid{grid-template-columns:1fr;gap:40px}
  .roster-head p{justify-self:start}
  .faq-side{position:static}
  .steps ol{grid-template-columns:1fr 1fr}
  .tlist{grid-template-columns:1fr}
  .hero-row{grid-template-columns:1fr;gap:26px}
  .hero-ctas{justify-content:flex-start;flex-wrap:wrap}
}
@media (max-width:760px){
  .hero{height:auto;margin-top:-76px}
  .wall{position:relative;height:62vh;min-height:420px;grid-template-columns:repeat(3,1fr)}
  .wall div:nth-child(1),.wall div:nth-child(5){display:none}
  .hero-copy{position:relative;margin-top:-150px;padding-bottom:56px}
  .hero-sub{font-size:18px}
  .vrow,.vrow.flip{grid-template-columns:1fr;gap:26px}
  .vrow.flip .vph{order:0}
  .vph{max-width:200px}
  .promise li{grid-template-columns:1fr;gap:4px}
  .guides{grid-template-columns:1fr;gap:14px}
  .creds .it{white-space:normal}
}
@media (max-width:620px){
  .wrap{width:calc(100% - 36px)}
  .roster{grid-template-columns:1fr 1fr;gap:34px 14px}
  .card-name{font-size:18px}
  .card-title{font-size:14px}
  .card-desc{display:none}
  .steps ol{grid-template-columns:1fr}
  .form{padding:24px}
  .why-img{height:460px}
  .why-quote{padding:24px}
  .why-quote p{font-size:19px}
  .creds .lbl{display:block;margin-bottom:6px}
}
