/* Role pages (/for/<company>/). Built on tokens.css. */
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:var(--w-body) var(--fs-base)/var(--lh-body) var(--font-body);padding-inline:var(--gutter);padding-block:0 var(--sp-8);-webkit-font-smoothing:antialiased}
a{color:var(--accent)}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.wrap{max-width:var(--page-max);margin:0 auto}
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:5;background:var(--bg);border-bottom:1px solid var(--rule);margin-inline:calc(-1 * var(--gutter));padding:12px var(--gutter)}
.top .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:8px 22px}
.top .nm{font:600 1.1rem var(--font-display);color:var(--ink);text-decoration:none;margin-right:auto}
.top nav{display:flex;flex-wrap:wrap;gap:4px 18px}
.top nav a{font:500 var(--fs-xs) var(--font-data);letter-spacing:var(--label-ls);text-transform:uppercase;color:var(--muted);text-decoration:none}
.top nav a:hover{color:var(--ink)}
.pill{font:500 var(--fs-xs) var(--font-data);letter-spacing:var(--label-ls);text-transform:uppercase;background:var(--accent);color:var(--on-accent);text-decoration:none;padding:8px 14px;border-radius:var(--r-pill)}
.hero{padding-block:var(--sp-7) var(--sp-6);display:flex;flex-direction:column;gap:var(--sp-4);max-width:52rem}
.kick{margin:0;font:500 var(--fs-xs) var(--font-data);letter-spacing:var(--label-ls);text-transform:uppercase;color:var(--accent)}
h1{margin:0;font:560 var(--fs-2xl)/var(--lh-tight) var(--font-display);letter-spacing:-.01em;text-wrap:balance}
.dek{margin:0;font-size:var(--fs-md);line-height:1.55;color:var(--ink-2);max-width:var(--measure)}
.ctas{display:flex;flex-wrap:wrap;gap:10px}
.btn{font:500 1rem var(--font-body);text-decoration:none;padding:12px 20px;border-radius:var(--r-pill);border:1px solid var(--ink);color:var(--ink)}
.btn.pri{background:var(--ink);color:var(--bg)}
.pre{margin:0;padding:12px 16px;background:var(--soft);border-radius:var(--r-md);font-size:var(--fs-sm);max-width:var(--measure)}
.pre b{font:500 var(--fs-xs) var(--font-data);letter-spacing:var(--label-ls);text-transform:uppercase;color:var(--accent);margin-right:6px}
h2{font:560 var(--fs-lg)/1.2 var(--font-display);margin:0 0 var(--sp-4)}
.fitsec{padding-block:var(--sp-6);border-top:1px solid var(--rule)}
.fits{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-3)}
.fit{background:var(--surface);border:1px solid var(--rule);border-radius:var(--r-md);padding:var(--sp-4) var(--sp-5);min-width:0}
.fit.wide{grid-column:1/-1}
.fit.lead{grid-column:1/-1;background:var(--soft);border-color:transparent}
.fit h3{margin:0 0 6px;font:600 var(--fs-xs) var(--font-data);letter-spacing:var(--label-ls);text-transform:uppercase;color:var(--accent)}
.fit p{margin:0;font-size:1rem;line-height:1.55}
.fit.lead p{font-size:var(--fs-md);font-family:var(--font-display);line-height:1.45}
.pub{padding-block:var(--sp-5);border-top:1px solid var(--rule)}
.pub ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 24px}
.foot{margin-top:var(--sp-6);padding-top:var(--sp-4);border-top:1px solid var(--rule);color:var(--muted);font-size:var(--fs-sm)}
.foot p{margin:0 0 6px}
@media (max-width:720px){.fits{grid-template-columns:1fr}.top nav{display:none}}

/* ===== Template rule (2026-10-11): supporting text under a headline scales down with it ===== */
body .hsub,body .h2col .hsub,body .hhead .hsub,body .story .dek,body .dek,body .ab-dek{font-size:var(--fs-dek);line-height:var(--lh-dek);color:var(--ink-2);max-width:var(--dek-measure)}
