:root{--bg:#f5f0e4;--raised:#faf6ec;--surface:#efe8d8;--border:#d9cdaf;--text:#231d14;--dim:#5c5340;--faint:#7c7156;--accent:#b4632a;--olive:#6b6a45;--display:"Bebas Neue",sans-serif;--body:"IBM Plex Sans",sans-serif;--mono:"IBM Plex Mono",monospace}
*{box-sizing:border-box}
html{background:var(--bg);scroll-behavior:smooth}
body{margin:0;padding:0 20px;background:var(--bg);color:var(--text);font:16px/1.55 var(--body)}
.wrap{max-width:980px;margin:auto}
.skip-link{position:fixed;transform:translateY(-150%);background:var(--text);color:var(--bg);padding:9px 14px}
.skip-link:focus{transform:none}
.utility{display:flex;justify-content:space-between;align-items:center;padding-top:18px}
.chip{font:12px var(--mono);color:var(--dim);border:1px solid var(--border);border-radius:99px;padding:7px 14px;text-decoration:none}
.print-btn{border:0;border-radius:99px;padding:10px 15px;background:var(--text);color:var(--bg);font:500 11px var(--mono);text-transform:uppercase;letter-spacing:.08em;cursor:pointer}
.print-btn:hover{background:var(--accent)}
.masthead{margin-top:44px}
.masthead h1{font:400 clamp(46px,9vw,80px)/.92 var(--display);text-transform:uppercase;margin:0}
.role{margin-top:10px;font:13px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}
.contact-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.stance{margin:34px 0 8px;padding:26px 28px;border:1px solid var(--border);border-radius:14px;background:linear-gradient(135deg,rgba(180,99,42,.14),transparent 60%),var(--surface);font-size:clamp(17px,2.4vw,21px)}
.stance strong{color:var(--accent)}
section{margin-top:56px}
.sec-head{display:flex;align-items:baseline;gap:14px;margin-bottom:22px}
.sec-head span{font:13px var(--mono);color:var(--accent)}
h2{font:400 clamp(26px,4vw,34px) var(--display);text-transform:uppercase;margin:0}
.sec-head i{height:1px;background:var(--border);flex:1}
.timeline{border-left:1px solid var(--border);margin-left:6px}
.timeline article{position:relative;padding:0 0 34px 28px}
.timeline article:before{content:"";position:absolute;left:-5px;top:5px;width:9px;height:9px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px var(--bg)}
.timeline article>div{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px 16px}
.timeline h3{font-size:20px;margin:0}
.timeline b,.timeline small{font-family:var(--mono)}
.timeline b{font-size:13px;color:var(--accent)}
.timeline p{max-width:68ch;margin:8px 0;color:var(--dim);font-size:15px}
.timeline small{color:var(--faint)}
.timeline em{color:var(--olive);font-style:normal}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}
.card,.panel,.refs>div{border:1px solid var(--border);background:var(--surface);border-radius:12px;padding:18px}
.card{min-height:150px}
.card-top{display:flex;justify-content:space-between;font:12px var(--mono);color:var(--faint)}
.badge{color:var(--olive);background:rgba(107,106,69,.16);border-radius:99px;padding:3px 8px;text-transform:uppercase;font-size:10px}
.card h3{font-size:19px;margin:8px 0}
.card p{font:11.5px var(--mono);color:var(--faint);margin:5px 0}
.archive-toggle{padding:10px 16px;border:1px solid var(--border);border-radius:8px;background:none;color:var(--dim);font:12px var(--mono);text-transform:uppercase;cursor:pointer}
.archive{margin-top:18px;overflow:auto;border:1px solid var(--border);border-radius:12px}
table{width:100%;min-width:900px;border-collapse:collapse;font-size:13px}
th,td{text-align:left;padding:10px 14px;border-bottom:1px solid var(--border)}
th{background:#e6ddc8;font:10px var(--mono);text-transform:uppercase;color:var(--faint)}
.two-col{display:grid;grid-template-columns:1.1fr 1fr;gap:32px}
.panel h4{font:11px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--faint)}
.panel ul{padding-left:18px;color:var(--dim)}
.panel p{font:13px var(--mono);color:var(--dim)}
.refs{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.refs span{display:block;color:var(--accent);font:12px var(--mono)}
.note{color:var(--faint);font:13px var(--mono)}
footer{display:flex;justify-content:space-between;gap:14px;margin:70px 0 40px;padding-top:24px;border-top:1px solid var(--border);font:12px var(--mono);color:var(--faint)}
@media(max-width:720px){.two-col,.refs{grid-template-columns:1fr}
.masthead{margin-top:22px}
.stance{padding:20px}
.timeline article{padding-left:21px}
footer{flex-direction:column}
}
@media print{.utility,.archive-toggle{display:none}
.archive[hidden]{display:block}
body{background:#fff;font-size:12px}
table{min-width:0;font-size:9px}
th,td{padding:6px 7px}
.card,.panel,.refs>div{break-inside:avoid}
}
