/* Speaker profile pages (/speakers/<slug>, built by tools/build-speaker-pages.js). Uses the tokens in styles.css.
   Level colours match the flyer and Studio: Build Yourself teal, Build Your Team gold, Build Your Work coral. */
.spk-sec{background:var(--ob);padding:56px 48px 80px}
.spk-back{display:inline-block;margin-bottom:28px;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(244,239,230,.72);text-decoration:none}
.spk-back:hover,.spk-back:focus-visible{color:var(--cr)}
.spk{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:48px;align-items:start}
.spk-photo{position:relative;aspect-ratio:3/4;overflow:hidden;background:#1e1a10;border-top:2px solid var(--go)}
.spk-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top}
.spk-kind{display:block;font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:#4fb3a9;margin-bottom:14px}
.spk h1{font-size:clamp(34px,5.4vw,64px);font-weight:900;font-variation-settings:'wdth' 125;letter-spacing:-.03em;line-height:.98;color:var(--cr);margin:0 0 16px}
.spk-role{font-size:16px;font-weight:600;line-height:1.5;color:rgba(244,239,230,.88);margin:0 0 24px}
.spk-sess{display:flex;flex-direction:column;gap:6px;padding:16px 18px;margin:0 0 26px;background:rgba(244,239,230,.05);border-left:4px solid var(--cr)}
.spk-sess.lv-yourself{border-left-color:var(--te)}
.spk-sess.lv-team{border-left-color:var(--go)}
.spk-sess.lv-work{border-left-color:var(--co)}
.spk-sess.lv-keynote{border-left-color:var(--go)} /* Akan Gold #C9A24A: accent rule only, never text on cream */
.spk-lvl{font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:rgba(244,239,230,.72)}
.spk-st{font-size:18px;font-weight:800;color:var(--cr);letter-spacing:-.01em}
.spk-sw{font-size:13px;font-weight:600;color:rgba(244,239,230,.72)}
.spk-bio p{font-size:15px;line-height:1.7;color:rgba(244,239,230,.78);margin:0 0 14px;max-width:62ch}
.spk-cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.spk-cta .btn{font-size:11px}
.spk-copied{min-height:1.4em;margin:10px 0 0;font-size:12px;font-weight:600;color:#4fb3a9}
.spk-more{background:var(--ob);padding:64px 48px 88px}
.spk-more h2{font-size:clamp(22px,3vw,32px);font-weight:800;font-variation-settings:'wdth' 120;letter-spacing:-.02em;color:var(--cr);margin:0 0 24px}
.spk-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:16px}
.spk-o{display:block;text-decoration:none;background:rgba(244,239,230,.04);border-top:2px solid rgba(244,239,230,.07);height:100%}
.spk-o:hover,.spk-o:focus-visible{border-top-color:var(--go)}
.spk-o img{display:block;width:100%;aspect-ratio:3/4;height:auto;object-fit:cover;object-position:center top;background:#1e1a10}
.spk-on{display:block;padding:12px 12px 2px;font-size:14px;font-weight:800;color:var(--cr)}
.spk-os{display:block;padding:0 12px 14px;font-size:11px;font-weight:600;color:rgba(244,239,230,.62)}
@media(max-width:820px){
  .spk-sec{padding:32px 16px 56px}
  .spk{grid-template-columns:1fr;gap:28px}
  .spk-photo{max-width:420px}
  .spk-more{padding:48px 16px 64px}
  .spk-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .spk-cta .btn{flex:1 1 100%;text-align:center}
}
