body{font-size:16px;line-height:1.55}.wrap{max-width:1180px}header{padding:19px 0}.mark{font-size:31px;letter-spacing:.01em}nav{font-family:'IBM Plex Mono',monospace;text-transform:uppercase;font-size:10px;letter-spacing:.1em}.hero{padding:70px 0 58px}.hero .lede{max-width:790px}.hero-grid{grid-template-columns:minmax(0,1fr) 320px;gap:64px}.hero-grid h1{font-size:clamp(64px,8vw,96px)}section{padding:56px 0}.path-list{gap:22px}.path-list li{padding:20px 4px 0}.button{transition:background .18s ease,color .18s ease,border-color .18s ease}.button:hover{background:#1d293d}.button.secondary:hover{background:var(--wash)}.projects>.project{display:flex;flex-direction:column;min-height:285px;transition:border-color .18s ease,transform .18s ease}.projects>.project:hover{border-color:var(--brass);transform:translateY(-2px)}.projects>.project a{margin-top:auto;text-underline-offset:4px}.method article p{color:var(--soft);line-height:1.65}.career-row{padding:32px 0}.career-row p{max-width:720px}.topic{transition:border-color .18s ease,transform .18s ease}.topic:hover{transform:translateY(-2px)}
.path-list{grid-template-columns:repeat(4,1fr)}.election-feature{background:var(--navy);color:#fff;border-top:0}.election-feature-grid{display:grid;grid-template-columns:270px minmax(0,1fr);gap:72px;align-items:center}.election-feature h2{color:#fff}.election-feature .lede{color:rgba(255,255,255,.72);max-width:690px}.election-feature .button{background:#fff;color:var(--navy);border-color:#fff}.election-feature .button:hover{background:#d9caaa}.election-stamp{width:240px;height:240px;border:2px solid #d4a650;border-radius:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-decoration:none;text-align:center;text-transform:uppercase;font-family:'IBM Plex Mono',monospace;letter-spacing:.13em;color:#d4a650;box-shadow:inset 0 0 0 9px var(--navy),inset 0 0 0 11px #d4a650;transition:transform .2s ease,background .2s ease}.election-stamp strong{display:block;font-family:'Newsreader',Georgia,serif;font-size:66px;line-height:1;color:#fff;letter-spacing:-.04em;margin:8px 0 4px}.election-stamp span{font-size:11px;max-width:150px}.election-stamp:hover{transform:rotate(-2deg) scale(1.03);background:#203353}
@media(max-width:760px){body{font-size:15px}.hero{padding:44px 0}.hero-grid{grid-template-columns:1fr;gap:34px}.hero-grid h1{font-size:60px}section{padding:44px 0}.mark{font-size:27px}.projects>.project{min-height:auto}.path-list,.election-feature-grid{grid-template-columns:1fr}.election-feature-grid{gap:34px}.election-stamp{width:190px;height:190px}.election-stamp strong{font-size:52px}}

/* Mobile readability and touch-target pass — 2026-08-30 */
a:focus-visible,button:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #d4a650;outline-offset:3px}
@media(max-width:760px){
  body{font-size:16px}
  header{padding:16px 0}
  .mark{display:inline-block;font-size:34px;line-height:1.1;padding:4px 0}
  nav{gap:4px 14px;margin-top:12px;font-size:12px;line-height:1.25}
  nav a{display:inline-flex;align-items:center;min-height:44px;padding:10px 1px}
  .button,.chip,.career-links a{min-height:44px;display:inline-flex;align-items:center}
  .button{font-size:12px;padding:14px 18px}
  .lede{font-size:19px;line-height:1.62}
  .topic p,.path-list p,.editorial-card p,.method article p{font-size:16px}
  footer{font-size:12px;line-height:1.8}
}

.site-social{display:flex;justify-content:center;flex-wrap:wrap;gap:14px;margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}
.site-social span{color:var(--brass)}
.site-social a{text-underline-offset:3px}
@media(max-width:420px){
  nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 14px}
  nav a{width:100%}
}

/* Reader-view typography — editorial copy only. */
body{font-size:17px;line-height:1.62}
.lede{font-size:20px;line-height:1.68}
@media(max-width:760px){
  .lede{font-size:20px;line-height:1.68}
  .topic p,.path-list p,.editorial-card p,.method article p{font-size:17px;line-height:1.65}
}
.brief-balance {
  display: none !important;
}

/* Mobile reader chrome: keep every destination visible without spending three rows on navigation. */
@media(max-width:760px){
  header{padding:10px 0 7px}
  header .wrap{display:block}
  .mark{font-size:29px;line-height:1;padding:2px 0}
  nav{display:flex;flex-wrap:nowrap;gap:13px;margin-top:6px;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch;font-size:10px}
  nav::-webkit-scrollbar{display:none}
  nav a{flex:0 0 auto;width:auto;min-height:44px;padding:8px 0;white-space:nowrap}
  nav a.nav-tools{padding:8px 5px}
}

/* Preserve the existing visual system while reducing oversized entry screens. */
.hero{padding:42px 0 36px}
.hero h1,.hero-grid h1{font-size:clamp(46px,5vw,72px);line-height:1.02;margin:10px 0 16px}
.hero .lede{font-size:18px;line-height:1.5;margin:0}
.hero+section{padding-top:30px}
@media(max-width:760px){.hero{padding:28px 0 26px}.hero h1,.hero-grid h1{font-size:clamp(38px,10vw,50px);line-height:1.04;margin:8px 0 12px}.hero .lede{font-size:16px;line-height:1.48}.hero+section{padding-top:20px}}
