@font-face { font-family:'Heebo'; font-style:normal; font-weight:100 900; font-display:swap; src:url(/fonts/heebo-latin.woff2) format('woff2'); }
:root { --purple:#6A0DAD; --ink:#0B0B0F; --white:#fff; --rule:#0B0B0F; --mute:#55555e; }
* { box-sizing:border-box; }
html { -webkit-text-size-adjust:100%; }
body { margin:0; font-family:'Heebo',system-ui,sans-serif; background:var(--white); color:var(--ink); font-size:18px; line-height:1.55; }
a { color:var(--purple); }
a:hover { color:var(--ink); }
.wordmark { font-weight:900; font-size:26px; letter-spacing:-.02em; color:var(--ink); text-decoration:none; }
.wordmark span { color:var(--purple); }
.masthead { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px 28px; padding:16px 28px; border-bottom:4px solid var(--purple); background:var(--white); }
.masthead ul { list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:4px 24px; }
.masthead nav a { font-weight:700; font-size:16px; color:var(--ink); text-decoration:none; padding:6px 0; border-bottom:3px solid transparent; }
.masthead nav a:hover, .masthead nav a[aria-current] { border-bottom-color:var(--purple); color:var(--ink); }
.site-main { min-height:60vh; }
.site-footer { background:var(--ink); color:var(--white); display:flex; flex-wrap:wrap; gap:8px 32px; align-items:center; padding:28px; font-size:15px; }
.site-footer a { color:var(--white); }
.site-footer .wordmark { font-size:22px; }
.site-footer .wordmark span { color:#b97be0; }
/* preserved Wix pages */
.wix-flow { max-width:980px; margin:0 auto; padding:24px 0 48px; }
.wix-flow > * { margin-left:auto; margin-right:auto; max-width:100%; }
.wix-flow img { display:block; height:auto; }
.wix-flow .t { padding:6px 24px; margin:0; overflow-wrap:anywhere; }
.wix-flow h1, .wix-flow h2, .wix-flow h3 { font-weight:900; line-height:1.15; letter-spacing:-.01em; }
.btn { display:inline-block; margin:8px 24px; padding:12px 22px; background:var(--purple); color:var(--white); text-decoration:none; font-weight:700; }
.btn:hover { background:var(--ink); color:var(--white); }
.wix-embed { display:block; width:100%; border:0; }
.notfound { max-width:980px; margin:0 auto; padding:64px 24px; }
.notfound h1 { font-weight:900; font-size:44px; }
/* shared page furniture */
.wrap { max-width:1120px; margin:0 auto; padding:0 28px; }
.kicker { font-weight:700; font-size:14px; letter-spacing:.14em; text-transform:uppercase; color:var(--purple); margin:0 0 12px; }
.band-ink { background:var(--ink); color:var(--white); }
.band-ink a { color:#d9b3f2; }
.band-purple { background:var(--purple); color:var(--white); }
.band-purple a { color:var(--white); }
/* home */
.hero { padding:72px 0 64px; }
.hero .wrap { display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:56px; align-items:end; }
.hero blockquote { margin:0; }
.hero blockquote p { margin:0; font-weight:900; font-size:clamp(34px,5.6vw,72px); line-height:1.02; letter-spacing:-.035em; }
.hero blockquote p em { font-style:normal; color:var(--purple); }
.hero cite { display:block; margin-top:24px; font-style:normal; font-weight:700; font-size:18px; }
.hero .mission { margin:36px 0 0; font-size:22px; font-weight:500; max-width:30ch; }
.hero figure { margin:0; }
.hero img { display:block; width:100%; height:auto; filter:grayscale(1); border-bottom:8px solid var(--purple); }
.hero figcaption { font-size:14px; color:var(--mute); margin-top:8px; }
.now { padding:72px 0; }
.now h2, .road h2, .reach h2 { font-weight:900; font-size:clamp(30px,4vw,48px); letter-spacing:-.03em; margin:0 0 40px; line-height:1.05; }
.now dl { margin:0; display:grid; grid-template-columns:minmax(0,260px) minmax(0,1fr); gap:0; }
.now dt, .now dd { margin:0; padding:22px 0; border-top:1px solid #4b4b55; }
.now dt { font-weight:900; font-size:26px; letter-spacing:-.02em; }
.now dd { font-size:19px; }
.now dd a { font-weight:700; }
.road { padding:72px 0; }
.road .grid { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:56px; align-items:start; }
.road ol { list-style:none; margin:0; padding:0; border-left:6px solid var(--purple); }
.road li { padding:0 0 26px 24px; }
.road li b { display:block; font-weight:900; font-size:20px; letter-spacing:-.01em; }
.road figure { margin:0; position:sticky; top:24px; }
.road figure img { display:block; width:100%; height:auto; }
.road figcaption { font-size:15px; margin-top:10px; color:var(--mute); }
.reach { padding:72px 0; }
.reach ul { list-style:none; margin:0; padding:0; }
.reach li { padding:18px 0; border-top:2px solid var(--white); font-size:22px; font-weight:700; letter-spacing:-.01em; }
.reach li span { display:block; font-weight:400; font-size:17px; opacity:.9; }
.reach a { text-decoration:underline; text-underline-offset:4px; }
/* conference + reports */
.page-head { padding:64px 0 40px; border-bottom:1px solid var(--ink); }
.page-head h1 { font-weight:900; font-size:clamp(40px,6vw,80px); line-height:1; letter-spacing:-.04em; margin:0 0 20px; }
.page-head p { font-size:22px; max-width:46ch; margin:0; }
.stack { padding:48px 0 72px; }
.row { display:grid; grid-template-columns:minmax(0,300px) minmax(0,1fr); gap:32px; padding:28px 0; border-top:1px solid var(--ink); }
.row h2 { margin:0; font-weight:900; font-size:28px; letter-spacing:-.02em; line-height:1.1; }
.row p { margin:0 0 10px; }
.row a.go { font-weight:700; }
.issues { list-style:none; margin:0; padding:0; }
.issues li { display:grid; grid-template-columns:minmax(0,180px) minmax(0,1fr); gap:24px; padding:14px 0; border-top:1px solid #d6d6dc; }
.issues time { font-weight:700; color:var(--purple); }
.issues a { color:var(--ink); font-weight:500; }
.issues a:hover { color:var(--purple); }
@media (max-width:820px) {
  body { font-size:17px; }
  .masthead { padding:14px 18px; }
  .wrap { padding:0 18px; }
  .hero .wrap, .road .grid, .now dl, .row, .issues li { grid-template-columns:1fr; }
  .hero { padding:40px 0; } .hero figure { max-width:260px; order:-1; }
  .now dt { padding-bottom:0; border-top:1px solid #4b4b55; } .now dd { border-top:0; padding-top:6px; }
  .road figure { position:static; }
  .row { gap:10px; } .issues li { gap:2px; }
}
