:root{--ink:#16130f;--muted:#3a3630;--cream:#EFE7DA;--violet:#5B3DF6;--violet-deep:#3B21C4;--lime:#DFFB3D;}
*{box-sizing:border-box;}
body{margin:0;background:var(--cream);color:var(--ink);font-family:'IBM Plex Sans',sans-serif;text-wrap:pretty;}
html{scroll-behavior:smooth;}
a{color:var(--violet);text-decoration:none;}a:hover{color:var(--violet-deep);}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}}
.nav{display:flex;align-items:center;gap:28px;padding:20px 24px;border-bottom:2px solid var(--ink);max-width:1200px;margin:0 auto;flex-wrap:wrap;}
.nav .brand{font-family:'Instrument Serif',serif;font-size:22px;color:var(--ink);margin-right:auto;}
.nav a.link{font-size:13px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink);}
.nav a.link.active{color:var(--violet);border-bottom:2px solid var(--violet);}
.btn{display:inline-block;font-weight:600;font-size:15px;background:var(--violet);color:var(--cream);padding:14px 24px;}
.btn:hover{color:var(--cream);background:var(--violet-deep);}
.btn.ghost{background:transparent;color:var(--ink);border:2px solid var(--ink);padding:12px 22px;}
.btn.ghost:hover{background:var(--ink);color:var(--cream);}
.btn.sm{font-size:14px;padding:10px 18px;}
.wrap{max-width:1200px;margin:0 auto;padding:64px 24px 48px;}
.rule{height:2px;border:0;margin:0;background:var(--ink);}
.eyebrow{display:block;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--violet);margin-bottom:20px;}
h1.page{font-family:'Instrument Serif',serif;font-weight:400;font-size:clamp(40px,5.5vw,72px);line-height:1;letter-spacing:-.01em;margin:0 0 20px;}
h2.sec{font-family:'Instrument Serif',serif;font-weight:400;font-size:clamp(30px,3.4vw,44px);letter-spacing:-.01em;margin:0 0 28px;}
h3.sub{font-family:'Instrument Serif',serif;font-weight:400;font-size:24px;margin:0 0 8px;}
.lede{font-size:clamp(16px,1.4vw,19px);line-height:1.6;max-width:62ch;color:var(--muted);margin:0 0 8px;}
p.body{font-size:16px;line-height:1.65;color:var(--muted);max-width:64ch;margin:0 0 16px;}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;}
.card{border:1.5px solid var(--ink);padding:22px;display:flex;flex-direction:column;gap:10px;background:transparent;}
.card h3{font-family:'Instrument Serif',serif;font-weight:400;font-size:24px;margin:0;color:var(--ink);}
.card p{font-size:14.5px;line-height:1.55;margin:0;color:var(--muted);}
a.card:hover{background:var(--ink);}a.card:hover h3,a.card:hover p{color:var(--cream);}
.chips{display:flex;gap:8px;flex-wrap:wrap;}
.chip{font-size:12.5px;border:1.5px solid var(--ink);padding:4px 10px;color:var(--ink);}
.chip.hot{background:var(--lime);}
.row{display:grid;grid-template-columns:minmax(180px,240px) 1fr;gap:24px;padding:20px 0;border-top:2px solid var(--ink);align-items:baseline;}
.row h3{font-weight:600;font-size:15px;margin:0;}
.row .note{font-size:14px;color:var(--muted);margin:0 0 12px;line-height:1.5;}
.list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;max-width:80ch;}
.list li{font-size:15px;line-height:1.6;color:var(--muted);}
.list li::before{content:"\25A0";color:var(--violet);margin-right:10px;}
.job{padding:28px 0;border-top:2px solid var(--ink);}
.job .top{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap;margin-bottom:6px;}
.job .when{font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);}
.job .org{font-size:15px;margin:0 0 16px;color:var(--violet);}
.cta{background:var(--violet);}
.cta .inner{max-width:1200px;margin:0 auto;padding:64px 24px;}
.cta h3{font-family:'Instrument Serif',serif;font-weight:400;font-size:clamp(34px,4.4vw,54px);line-height:1.05;margin:0;color:var(--cream);}
.cta p{font-size:17px;line-height:1.6;margin:16px 0 0;max-width:56ch;color:var(--cream);}
.cta .btn{background:var(--lime);color:var(--ink);margin-top:28px;}
.cta .btn.alt{background:transparent;color:var(--cream);border:2px solid var(--cream);padding:12px 22px;margin-left:12px;}
.foot{max-width:1200px;margin:0 auto;padding:24px;display:flex;gap:16px 28px;flex-wrap:wrap;font-size:13px;color:var(--muted);}
.foot .sp{margin-right:auto;}
.two{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:48px;}
@media(max-width:760px){.row,.two{grid-template-columns:1fr;gap:12px;}.nav{gap:16px;}}
@media print{.nav,.cta,.foot,.noprint{display:none;}body{background:#fff;}.wrap{padding:16px 0;}}
.form{display:flex;flex-direction:column;gap:16px;max-width:480px;}
.form label{display:flex;flex-direction:column;gap:6px;font-size:13px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink);}
.form input,.form textarea{font:inherit;font-size:16px;letter-spacing:0;text-transform:none;padding:12px;border:1.5px solid var(--ink);background:#fff;color:var(--ink);border-radius:0;}
.form input:focus,.form textarea:focus{outline:2px solid var(--violet);outline-offset:1px;}
.form button{cursor:pointer;border:0;font-family:inherit;align-self:flex-start;}
.form .note{font-size:14px;color:var(--muted);margin:0;min-height:1.4em;}
.logo{display:flex;align-items:center;gap:14px;margin-right:auto;color:var(--ink);}
.logo:hover{color:var(--ink);}
.logo-mark{position:relative;display:grid;place-items:center;width:52px;height:52px;background:var(--violet);color:var(--cream);font-family:'Archivo',sans-serif;font-weight:800;font-size:25px;letter-spacing:-.04em;}
.logo-mark i{position:absolute;right:-6px;bottom:-6px;width:12px;height:12px;background:var(--lime);}
.logo-word{font-family:'Archivo',sans-serif;font-weight:800;font-size:24px;line-height:.95;letter-spacing:-.025em;}
@media(max-width:520px){.logo-mark{width:44px;height:44px;font-size:21px;}.logo-word{font-size:20px;}}
