/* =========================================================================
   KINGS ACADEMY — inner-page building blocks
   ========================================================================= */

/* ---------- PAGE HERO ---------- */
.phero{position:relative;overflow:hidden;background:var(--navy);color:var(--cream);
  padding:clamp(130px,16vh,190px) 0 clamp(56px,8vw,96px)}
.phero::before{content:"";position:absolute;inset:0;
  background:radial-gradient(120% 100% at 80% -10%,rgba(26,91,176,.55),transparent 60%)}
.phero-crest{position:absolute;right:-4%;top:-10%;width:min(46vw,560px);opacity:.08;
  filter:brightness(0) invert(1);pointer-events:none}
.phero .wrap{position:relative;z-index:2}
.phero .crumbs{display:flex;gap:8px;align-items:center;color:#9db0cf;font-size:.84rem;font-weight:600;margin-bottom:22px}
.phero .crumbs a{color:#9db0cf}.phero .crumbs a:hover{color:var(--gold-bright)}
.phero .crumbs span{opacity:.5}
.phero h1{color:var(--paper);max-width:18ch;margin:0}
.phero h1 em{font-style:italic;color:var(--gold-bright)}
.phero-lead{color:#d3deee;font-size:clamp(1.12rem,1.6vw,1.4rem);max-width:60ch;margin:22px 0 0;line-height:1.55}
.phero .script{color:var(--gold-bright);font-size:1.7rem;display:block;margin-bottom:6px;transform:rotate(-2deg);transform-origin:left}
.phero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px}

/* gold + cream variants */
.phero.gold{background:var(--gold);color:var(--navy)}
.phero.gold::before{background:radial-gradient(120% 100% at 80% -10%,rgba(255,255,255,.4),transparent 60%)}
.phero.gold h1{color:var(--navy)}.phero.gold h1 em{color:var(--royal)}
.phero.gold .phero-lead{color:#4a3d10}
.phero.gold .script{color:var(--royal)}
.phero.gold .crumbs,.phero.gold .crumbs a{color:#5c4d18}
.phero.gold .phero-crest{filter:none;opacity:.12}

.phero.cream{background:var(--cream);color:var(--ink)}
.phero.cream::before{background:radial-gradient(120% 100% at 85% -10%,rgba(207,165,15,.18),transparent 55%)}
.phero.cream h1{color:var(--navy)}.phero.cream h1 em{color:var(--gold-deep)}
.phero.cream .phero-lead{color:var(--ink-soft)}
.phero.cream .script{color:var(--gold-deep)}
.phero.cream .crumbs,.phero.cream .crumbs a{color:var(--ink-soft)}
.phero.cream .phero-crest{filter:none;opacity:.07}

/* hero with photo on right */
.phero.split-hero .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:54px;align-items:center}
.phero.split-hero .phero-media{position:relative}
.phero.split-hero .phero-media .frame{aspect-ratio:5/4;box-shadow:var(--shadow-lg)}
@media (max-width:860px){.phero.split-hero .wrap{grid-template-columns:1fr;gap:36px}}

/* ---------- PROSE ---------- */
.prose{max-width:62ch}
.prose p{font-size:1.12rem;line-height:1.7;color:var(--ink-soft)}
.prose p:first-of-type{font-size:1.3rem;color:var(--ink);line-height:1.6}
.prose h2{color:var(--navy);margin:1.4em 0 .5em}
.prose h3{color:var(--navy);margin:1.4em 0 .4em}
.prose strong{color:var(--ink)}
.prose ul{list-style:none;padding:0;margin:1.2em 0}
.prose ul li{position:relative;padding-left:34px;margin-bottom:14px;font-size:1.08rem;color:var(--ink-soft)}
.prose ul li::before{content:"";position:absolute;left:0;top:.55em;width:13px;height:13px;border-radius:50%;
  background:var(--gold);box-shadow:0 0 0 4px var(--gold-soft)}

/* ---------- FEATURE ROW (alternating) ---------- */
.frow{display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,5vw,80px);align-items:center}
.frow+.frow{margin-top:clamp(56px,7vw,110px)}
.frow.rev .frow-media{order:2}
.frow-media .frame{aspect-ratio:4/3}
.frow-media .frame.tall{aspect-ratio:4/5}
.frow h2{color:var(--navy);margin:14px 0 0}
.frow .lead{margin-top:18px}
@media (max-width:820px){.frow{grid-template-columns:1fr;gap:34px}.frow.rev .frow-media{order:0}}

/* ---------- 3-UP cards ---------- */
.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.cards2{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.icard{background:var(--paper);border-radius:var(--radius);padding:32px;box-shadow:var(--shadow-sm);
  border:1px solid var(--cream-3);transition:transform .3s,box-shadow .3s}
.icard:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.icard .ibadge{width:52px;height:52px;border-radius:14px;background:var(--gold-soft);color:var(--gold-deep);
  display:flex;align-items:center;justify-content:center;font-family:var(--display);font-size:1.3rem;margin-bottom:18px}
.icard.royal .ibadge{background:rgba(26,91,176,.14);color:var(--royal)}
.icard h3{color:var(--navy);font-size:1.4rem;margin-bottom:8px}
.icard p{margin:0;color:var(--ink-soft);font-size:1rem}
@media (max-width:880px){.cards3{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.cards3,.cards2{grid-template-columns:1fr}}

/* ---------- STAT ROW ---------- */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center}
.stat .n{font-family:var(--display);font-size:clamp(2.6rem,4.5vw,3.8rem);color:var(--gold-deep);line-height:1}
.stat .l{font-weight:600;color:var(--ink-soft);font-size:.96rem;margin-top:6px}
.bg-navy .stat .n{color:var(--gold-bright)}.bg-navy .stat .l{color:#c9d6ea}
@media (max-width:700px){.stats{grid-template-columns:1fr 1fr;gap:32px}}

/* ---------- TIMELINE (road map) ---------- */
.timeline{position:relative;max-width:880px;margin:0 auto;padding-left:30px}
.timeline::before{content:"";position:absolute;left:7px;top:8px;bottom:8px;width:3px;
  background:linear-gradient(var(--gold),var(--gold-soft));border-radius:3px}
.tnode{position:relative;padding:0 0 46px 44px}
.tnode::before{content:"";position:absolute;left:-30px;top:4px;width:18px;height:18px;border-radius:50%;
  background:var(--gold);border:4px solid var(--cream);box-shadow:0 0 0 3px var(--gold-soft)}
.tnode .tstage{font-family:var(--display);color:var(--royal);font-size:.95rem;letter-spacing:.04em;text-transform:uppercase}
.tnode h3{color:var(--navy);margin:4px 0 6px}
.tnode p{margin:0;color:var(--ink-soft)}
.tnode .tage{display:inline-block;background:var(--royal);color:var(--cream);font-weight:700;font-size:.78rem;
  padding:4px 12px;border-radius:100px;margin-bottom:10px}

/* ---------- QUOTE ---------- */
.bigquote{text-align:center;max-width:900px;margin:0 auto}
.bigquote p{font-family:var(--display);font-size:clamp(1.7rem,3.4vw,2.7rem);line-height:1.25;color:var(--navy);font-style:italic}
.bigquote .who{font-family:var(--body);font-style:normal;font-weight:700;color:var(--gold-deep);font-size:1rem;margin-top:18px}
.bg-navy .bigquote p{color:var(--paper)}.bg-navy .bigquote .who{color:var(--gold-bright)}

/* ---------- FAQ ---------- */
.faq{max-width:820px;margin:0 auto;display:grid;gap:12px}
.fitem{background:var(--paper);border:1px solid var(--cream-3);border-radius:16px;overflow:hidden}
.fitem summary{cursor:pointer;list-style:none;padding:22px 26px;font-family:var(--display);font-size:1.2rem;color:var(--navy);
  display:flex;justify-content:space-between;align-items:center;gap:16px}
.fitem summary::-webkit-details-marker{display:none}
.fitem summary::after{content:"+";font-family:var(--body);font-weight:700;color:var(--gold-deep);font-size:1.5rem;transition:transform .25s;flex-shrink:0}
.fitem[open] summary::after{transform:rotate(45deg)}
.fitem .fbody{padding:0 26px 24px;color:var(--ink-soft);font-size:1.05rem;line-height:1.65}

/* ---------- CTA BAND ---------- */
.ctaband{background:linear-gradient(135deg,var(--royal),var(--navy));border-radius:var(--radius-lg);
  padding:clamp(40px,6vw,72px);text-align:center;color:var(--cream);position:relative;overflow:hidden;box-shadow:var(--shadow-lg)}
.ctaband::after{content:"";position:absolute;left:50%;top:-40%;width:520px;height:520px;transform:translateX(-50%);
  background:radial-gradient(circle,rgba(234,197,75,.18),transparent 70%)}
.ctaband h2{color:var(--paper);margin:0 auto 12px;max-width:18ch;position:relative}
.ctaband p{color:#cdd9ec;max-width:52ch;margin:0 auto 28px;position:relative}
.ctaband .hero-actions{justify-content:center;position:relative}

/* ---------- INFO LIST (definition pairs) ---------- */
.deflist{display:grid;gap:0}
.defrow{display:grid;grid-template-columns:.8fr 2fr;gap:32px;padding:26px 0;border-top:1px solid var(--cream-3)}
.defrow:last-child{border-bottom:1px solid var(--cream-3)}
.defrow .dk{font-family:var(--display);color:var(--navy);font-size:1.3rem}
.defrow .dv{color:var(--ink-soft);font-size:1.05rem}
.defrow .dv strong{color:var(--ink)}
@media (max-width:640px){.defrow{grid-template-columns:1fr;gap:8px}}

/* pull image grid */
.imggrid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:200px;gap:16px}
.imggrid .frame{height:100%}
.imggrid .span2{grid-column:span 2}
.imggrid .rows2{grid-row:span 2}
@media (max-width:680px){.imggrid{grid-template-columns:1fr 1fr;grid-auto-rows:150px}.imggrid .span2{grid-column:span 2}}

/* ---------- FORM ---------- */
.ka-form{display:flex;flex-direction:column;gap:18px}
.frow-2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media (max-width:560px){.frow-2{grid-template-columns:1fr}}
.ka-form label{display:flex;flex-direction:column;gap:7px;font-weight:700;color:var(--navy);font-size:.92rem}
.ka-form input,.ka-form select,.ka-form textarea{
  font-family:var(--body);font-size:1rem;font-weight:500;color:var(--ink);
  background:var(--cream);border:1.5px solid var(--cream-3);border-radius:12px;
  padding:13px 15px;transition:border-color .2s,box-shadow .2s;width:100%;
}
.ka-form textarea{resize:vertical}
.ka-form input:focus,.ka-form select:focus,.ka-form textarea:focus{
  outline:none;border-color:var(--gold);box-shadow:0 0 0 4px var(--gold-soft)}
.ka-form input::placeholder,.ka-form textarea::placeholder{color:#9a9582;font-weight:400}
.ka-form button{align-self:flex-start}
