:root{
  --ink:#26215B; --mid:#3D3489; --accent:#534BB6; --high:#7E77DD;
  --paper:#FCFCFE; --panel:#F4F3FA; --rule:#DEDBEF; --body:#2E2C3D; --quiet:#6B6B80;
  --sans:"IBM Plex Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  --serif:"IBM Plex Serif",Georgia,"Times New Roman",serif;
  --mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --wrap:72rem;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--body);font-family:var(--serif);
  font-size:1.0625rem;line-height:1.68;text-rendering:optimizeLegibility}
a{color:var(--accent)}
a:focus-visible{outline:3px solid var(--high);outline-offset:3px}
.skip{position:absolute;left:-9999px;background:var(--ink);color:#fff;padding:.7rem 1rem;z-index:99}
.skip:focus{left:1rem;top:1rem}
.wrap{width:min(var(--wrap),100% - 3rem);margin-inline:auto}
h1,h2,h3,h4{font-family:var(--sans);color:var(--ink);margin:0;line-height:1.18;font-weight:700;letter-spacing:-.015em}
p{margin:0 0 1.05rem}
.eyebrow{font-family:var(--sans);font-size:.72rem;font-weight:600;letter-spacing:.18em;
  text-transform:uppercase;color:var(--mid);margin:0 0 .9rem}

header{border-bottom:1px solid var(--rule);background:rgba(255,255,255,.94);
  backdrop-filter:saturate(160%) blur(8px);position:sticky;top:0;z-index:20}
.bar{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:.95rem 0}
.brand{display:flex;align-items:center;gap:.8rem;text-decoration:none}
.brand svg{flex:none}
.brand b{font-family:var(--sans);font-size:.92rem;font-weight:700;color:var(--ink);display:block;line-height:1.2}
.brand i{font-family:var(--sans);font-size:.63rem;font-weight:500;letter-spacing:.15em;
  text-transform:uppercase;color:var(--mid);font-style:normal;display:block}
nav{display:flex;gap:1.5rem;font-family:var(--sans);font-size:.85rem;font-weight:500;flex-wrap:wrap}
nav a{color:var(--ink);text-decoration:none;padding-bottom:3px;border-bottom:2px solid transparent}
nav a:hover{border-bottom-color:var(--high)}
nav a.on{border-bottom-color:var(--ink)}
@media(max-width:52rem){.bar{flex-direction:column;align-items:flex-start;gap:.8rem}nav{gap:1.1rem;font-size:.8rem}}

.hero{padding:6rem 0 4.2rem;border-bottom:1px solid var(--rule)}
.hero h1{font-size:clamp(2.1rem,5.4vw,3.7rem);max-width:20ch}
.hero .lede{font-size:clamp(1.08rem,1.9vw,1.3rem);line-height:1.62;max-width:58ch;margin-top:1.5rem}
.hero .lede strong{color:var(--ink);font-weight:600}

section{padding:4.6rem 0;border-bottom:1px solid var(--rule)}
section:last-of-type{border-bottom:none}
section h2{font-size:clamp(1.5rem,3vw,2.05rem);max-width:26ch}
.intro{max-width:62ch;margin-top:1.05rem}
.cols{display:grid;grid-template-columns:repeat(3,1fr);gap:2.4rem;margin-top:2.8rem}
.cols.two{grid-template-columns:repeat(2,1fr)}
@media(max-width:56rem){.cols,.cols.two{grid-template-columns:1fr;gap:2rem}}
.cols h3{font-size:1.02rem;font-weight:600;margin-bottom:.55rem}
.cols p{font-size:.99rem;margin:0}
.num{font-family:var(--mono);font-size:.72rem;color:var(--high);letter-spacing:.1em;display:block;margin-bottom:.5rem}

.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(12.5rem,1fr));gap:1px;
  background:var(--rule);border:1px solid var(--rule);margin-top:2.6rem}
.fact{background:#fff;padding:1.25rem 1.1rem}
.fact dt{font-family:var(--sans);font-size:.69rem;font-weight:600;letter-spacing:.13em;
  text-transform:uppercase;color:var(--quiet)}
.fact dd{margin:.4rem 0 0;font-family:var(--mono);font-size:1rem;color:var(--ink)}
.fact dd.t{font-family:var(--serif);font-size:.99rem}
.fact dd a{color:var(--ink)}

.pull{border-left:3px solid var(--accent);padding:.2rem 0 .2rem 1.5rem;margin:2.6rem 0 0;max-width:58ch}
.pull p{font-size:1.15rem;line-height:1.56;color:var(--ink);margin:0}

.tri{margin-top:3.2rem;border:1px solid var(--rule);background:#fff;overflow:hidden}
.tri-head{font-family:var(--mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--quiet);padding:.7rem 1.15rem;border-bottom:1px solid var(--rule);background:var(--panel);margin:0}
.tri-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--rule)}
.src{background:#fff;padding:1.3rem 1.1rem}
.src .who{font-family:var(--sans);font-size:.73rem;font-weight:600;letter-spacing:.09em;
  text-transform:uppercase;color:var(--mid);margin-bottom:.45rem}
.src .said{font-size:.96rem;line-height:1.5;margin:0}
.verdict{background:var(--ink);color:#fff;padding:1.05rem 1.15rem;display:flex;flex-wrap:wrap;
  align-items:baseline;gap:.6rem}
.verdict .mark{font-family:var(--mono);font-size:.71rem;letter-spacing:.12em;text-transform:uppercase;color:var(--high)}
.verdict .txt{font-family:var(--sans);font-size:.94rem;font-weight:500}
@media(max-width:52rem){.tri-grid{grid-template-columns:1fr}}

.people{margin-top:2.4rem;display:grid;gap:1px;background:var(--rule);border:1px solid var(--rule)}
.person{background:#fff;padding:1.5rem 1.3rem;display:grid;grid-template-columns:17rem 1fr;gap:1.6rem}
@media(max-width:52rem){.person{grid-template-columns:1fr;gap:.5rem}}
.person .nm{font-family:var(--sans);font-weight:600;color:var(--ink);font-size:1rem;margin:0}
.person .rl{font-family:var(--sans);font-size:.84rem;color:var(--mid);margin:.2rem 0 0}
.person .cred{font-family:var(--mono);font-size:.76rem;color:var(--quiet);margin-top:.45rem;display:block}
.person .bio{font-size:.99rem;margin:0}

figure.team{margin:3rem 0 0}
figure.team img{width:100%;height:auto;display:block;border:1px solid var(--rule)}
figure.team figcaption{font-family:var(--sans);font-size:.83rem;color:var(--quiet);margin-top:.7rem}
.photo-slot{border:1px dashed var(--rule);background:var(--panel);padding:3.5rem 1.5rem;text-align:center;
  font-family:var(--mono);font-size:.8rem;color:var(--quiet);line-height:1.7}

.steps{margin-top:2.6rem;border-top:1px solid var(--rule)}
.step{display:grid;grid-template-columns:4rem 1fr;gap:1.4rem;padding:1.5rem 0;border-bottom:1px solid var(--rule)}
@media(max-width:44rem){.step{grid-template-columns:1fr;gap:.4rem}}
.step .k{font-family:var(--mono);font-size:.8rem;color:var(--high);padding-top:.2rem}
.step h3{font-size:1rem;font-weight:600;margin-bottom:.4rem}
.step p{font-size:.99rem;margin:0}

.objects{margin-top:2.4rem;counter-reset:o}
.objects li{margin-bottom:1rem;font-size:1rem;line-height:1.62}
.objects li::marker{font-family:var(--mono);font-size:.85rem;color:var(--high)}

.cta{background:var(--ink);color:#DCD8F2;padding:3.4rem 0}
.cta h2{color:#fff;max-width:24ch}
.cta p{max-width:56ch;margin-top:1rem;color:#CFCBEB}
.cta a{color:#fff;font-family:var(--sans);font-weight:600;text-decoration:none;border-bottom:2px solid var(--high)}

footer{padding:3.2rem 0 2.4rem;background:#1B1741;color:#CFCBEB}
footer a{color:#fff;text-decoration:none}
footer a:hover{text-decoration:underline}
.fgrid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:2.2rem}
@media(max-width:60rem){.fgrid{grid-template-columns:1fr 1fr}}
@media(max-width:40rem){.fgrid{grid-template-columns:1fr}}
footer h4{font-family:var(--sans);font-size:.69rem;font-weight:600;letter-spacing:.15em;
  text-transform:uppercase;color:var(--high);margin:0 0 .65rem}
footer p{font-size:.93rem;margin:0 0 .38rem;line-height:1.6}
.legal{margin-top:2.4rem;padding-top:1.3rem;border-top:1px solid rgba(255,255,255,.15);
  font-family:var(--mono);font-size:.74rem;color:#A9A3D6}

.roster{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1px;
  background:var(--rule);border:1px solid var(--rule);margin-top:2.6rem}
.card{background:#fff;padding:0 0 1.35rem}
.card .shot{aspect-ratio:4/5;background:var(--panel);display:block;width:100%;object-fit:cover;
  border-bottom:1px solid var(--rule)}
.card .slot{aspect-ratio:4/5;background:var(--panel);border-bottom:1px solid var(--rule);
  display:flex;align-items:center;justify-content:center;text-align:center;padding:1rem;
  font-family:var(--mono);font-size:.7rem;color:var(--quiet);line-height:1.7}
.card .body{padding:1.1rem 1.1rem 0}
.card h3{font-size:1rem;font-weight:600;margin:0}
.card .rl{font-family:var(--sans);font-size:.82rem;color:var(--mid);margin:.25rem 0 .55rem}
.card .cred{font-family:var(--mono);font-size:.72rem;color:var(--quiet);display:block;margin-bottom:.7rem}
.card p.b{font-size:.94rem;line-height:1.58;margin:0}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}