:root{
  --white:#FFFFFF;--panel:#F5F3F7;--ink:#16141C;--magenta:#D3006B;
  --slate:#736C7A;--hair:#E7E3EC;--maxw:1080px;
  --sans:'Inter',system-ui,-apple-system,Segoe UI,Helvetica,Arial,sans-serif;
  --mono:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}}
body{margin:0;background:var(--white);color:var(--ink);font-family:var(--sans);
  font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
a{color:inherit;text-decoration:none;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 32px;}

header.nav{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.86);
  backdrop-filter:saturate(1.4) blur(8px);border-bottom:1px solid var(--hair);}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:68px;}
.brand{display:flex;align-items:center;gap:12px;}
.brand .logo{height:34px;width:auto;display:block;}
nav.links{display:flex;gap:30px;}
nav.links a{font-size:15px;color:var(--slate);transition:color .15s;}
nav.links a:hover{color:var(--ink);}
.menu-btn{display:none;background:none;border:0;cursor:pointer;padding:8px;}
.menu-btn span{display:block;width:22px;height:2px;background:var(--ink);margin:4px 0;}

.hero{padding:96px 0 72px;}
.hero-grid{display:grid;grid-template-columns:1fr;gap:36px;}
.kicker{font-family:var(--mono);font-size:13px;color:var(--slate);margin:0 0 22px;letter-spacing:.5px;}
.kicker .dot{color:var(--magenta);}
h1.hero-title{font-size:clamp(34px,5vw,52px);line-height:1.08;font-weight:700;letter-spacing:-.02em;margin:0 0 22px;}
.hero-sub{font-family:var(--mono);font-size:15px;color:var(--ink);margin:0 0 24px;font-weight:500;}
.hero p.lede{font-size:18px;color:var(--slate);margin:0 0 32px;}
.cta-row{display:flex;gap:14px;flex-wrap:wrap;}
.btn{display:inline-block;padding:12px 22px;border-radius:8px;font-size:15px;font-weight:600;transition:background .15s,border-color .15s;}
.btn-primary{background:var(--ink);color:var(--white);}
.btn-primary:hover{background:#000;}
.btn-ghost{border:1px solid var(--hair);color:var(--ink);}
.btn-ghost:hover{border-color:var(--ink);}
.hero-art{order:-1;display:flex;justify-content:flex-start;}
.hero-art svg{width:100%;max-width:300px;height:auto;}

.draw{stroke-dasharray:1;stroke-dashoffset:1;animation:draw 1.05s ease forwards;}
@keyframes draw{to{stroke-dashoffset:0;}}
.pop{opacity:0;animation:pop .32s ease forwards;}
@keyframes pop{to{opacity:1;}}
.uscore{animation:blink 1.15s steps(1,end) infinite;}
@keyframes blink{0%,55%{opacity:1;}56%,100%{opacity:0;}}
@media (prefers-reduced-motion:reduce){
  .draw{stroke-dashoffset:0;animation:none;}.pop{opacity:1;animation:none;}.uscore{animation:none;}
}

section{padding:76px 0;}
section.panel{background:var(--panel);border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);}
.sec-head{margin:0 0 40px;}
.sec-head h2{font-size:13px;font-family:var(--mono);font-weight:700;letter-spacing:1.5px;color:var(--magenta);margin:0 0 10px;}
.sec-head .big{font-size:clamp(26px,3.5vw,34px);font-weight:700;letter-spacing:-.015em;line-height:1.15;color:var(--ink);}
.sec-head p{color:var(--slate);margin:14px 0 0;}

.pillars{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:36px;margin-top:16px;}
.pillars::before{content:"";position:absolute;top:10px;left:9px;right:calc(33.333% - 33px);height:2px;background:var(--ink);}
.pillar{position:relative;padding-top:44px;}
.pillar .node{position:absolute;top:2px;left:0;width:18px;height:18px;border-radius:50%;background:var(--magenta);}
.pillar h3{font-size:20px;margin:0 0 10px;font-weight:600;letter-spacing:-.01em;}
.pillar p{margin:0;color:var(--slate);font-size:15.5px;}
.pillar .tags{margin-top:14px;font-family:var(--mono);font-size:12.5px;color:var(--ink);}
.topics{margin-top:48px;padding-top:32px;border-top:1px solid var(--hair);}
.topics h3{font-size:20px;margin:0 0 10px;font-weight:600;letter-spacing:-.01em;}
.topics p{margin:0 0 20px;color:var(--slate);font-size:15.5px;max-width:60ch;}
.topic-links{display:flex;flex-wrap:wrap;gap:12px;}

.person{display:grid;grid-template-columns:150px 1fr;gap:28px;align-items:start;}
.avatar{width:150px;height:150px;border-radius:14px;background:var(--panel);border:1px solid var(--hair);display:flex;align-items:center;justify-content:center;overflow:hidden;}
.avatar img{width:100%;height:100%;object-fit:cover;display:block;}
.avatar svg{width:74px;height:66px;}
.person h3{margin:0 0 4px;font-size:22px;font-weight:700;}
.person .role{color:var(--magenta);font-family:var(--mono);font-size:13.5px;margin:0 0 14px;}
.person p{margin:0 0 16px;color:var(--slate);}
.plinks{display:flex;gap:22px;flex-wrap:wrap;font-size:14.5px;}
.plinks a{color:var(--ink);border-bottom:1px solid var(--hair);padding-bottom:2px;transition:border-color .15s;}
.plinks a:hover{border-color:var(--magenta);}
.join-note{margin-top:34px;padding:22px 24px;border:1px solid var(--hair);border-left:3px solid var(--magenta);border-radius:8px;background:var(--white);}
.join-note p{margin:0;color:var(--slate);}
.join-note b{color:var(--ink);}

.venues{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 30px;}
.venues span{font-family:var(--mono);font-size:12.5px;color:var(--slate);border:1px solid var(--hair);border-radius:999px;padding:5px 12px;}
ul.pubs{list-style:none;margin:0;padding:0;}
ul.pubs li{padding:20px 0;border-top:1px solid var(--hair);display:grid;grid-template-columns:88px 1fr;gap:20px;}
ul.pubs li:last-child{border-bottom:1px solid var(--hair);}
.pub-tag{font-family:var(--mono);font-size:13px;color:var(--magenta);font-weight:700;padding-top:2px;}
.pub-body .t{font-weight:600;color:var(--ink);}
.pub-body .a{color:var(--slate);font-size:15px;margin-top:3px;}
.see-all{margin-top:26px;font-size:15px;}
.see-all a{border-bottom:1px solid var(--magenta);padding-bottom:2px;color:var(--ink);}

.page-head{padding:72px 0 40px;}
.stats{display:flex;gap:36px;flex-wrap:wrap;margin:30px 0 0;}
.stat .n{font-size:28px;font-weight:700;color:var(--ink);line-height:1.1;}
.stat .l{font-family:var(--mono);font-size:12px;color:var(--slate);margin-top:4px;}
.pub-tools{display:flex;gap:16px;flex-wrap:wrap;align-items:center;justify-content:space-between;margin:0 0 30px;}
.filters{display:flex;gap:8px;flex-wrap:wrap;}
.filters button{font-family:var(--mono);font-size:12.5px;color:var(--slate);background:var(--white);border:1px solid var(--hair);border-radius:999px;padding:6px 13px;cursor:pointer;transition:border-color .15s,color .15s;}
.filters button:hover{color:var(--ink);border-color:var(--ink);}
.filters button[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--white);}
.pub-search{font:inherit;font-size:15px;padding:8px 14px;border:1px solid var(--hair);border-radius:8px;background:var(--white);color:var(--ink);min-width:240px;}
.pub-search:focus{outline:none;border-color:var(--magenta);}
.year{font-family:var(--mono);font-size:13px;font-weight:700;color:var(--ink);letter-spacing:1px;margin:40px 0 0;padding-bottom:10px;}
.year:first-child{margin-top:0;}
.pub-body .au{color:var(--slate);font-size:15px;margin-top:3px;}
.pub-body .au b{color:var(--ink);font-weight:600;}
.pub-body .v{color:var(--slate);font-size:15px;font-style:italic;}
.pub-links{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px;}
.pub-links a{font-family:var(--mono);font-size:12px;color:var(--ink);border:1px solid var(--hair);border-radius:6px;padding:2px 9px;transition:border-color .15s;}
.pub-links a:hover{border-color:var(--magenta);}
.pub-body .t a:hover{color:var(--magenta);}
.pub-status{color:var(--slate);}

ul.news{list-style:none;margin:0;padding:0;max-width:70ch;}
ul.news li{display:grid;grid-template-columns:130px 1fr;gap:20px;padding:16px 0;border-top:1px solid var(--hair);}
ul.news li:last-child{border-bottom:1px solid var(--hair);}
ul.news .when{font-family:var(--mono);font-size:13px;color:var(--slate);padding-top:2px;}
ul.news .what{color:var(--ink);}

footer{padding:54px 0;border-top:1px solid var(--hair);color:var(--slate);font-size:14.5px;}
.foot-inner{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;align-items:center;}
.foot-brand{font-family:var(--mono);font-weight:700;color:var(--ink);letter-spacing:1.5px;}
.foot-addr{text-align:right;}

@media (max-width:820px){
  nav.links{display:none;}
  .menu-btn{display:block;}
  nav.links.open{display:flex;position:absolute;top:68px;left:0;right:0;flex-direction:column;gap:0;
    background:var(--white);border-bottom:1px solid var(--hair);padding:8px 32px 16px;}
  nav.links.open a{padding:12px 0;border-bottom:1px solid var(--hair);}
  .hero-art svg{max-width:220px;}
  .pillars{grid-template-columns:1fr;gap:0;}
  .pillars::before{top:0;bottom:0;left:8px;right:auto;width:2px;height:auto;}
  .pillar{padding:0 0 34px 40px;}
  .pillar .node{top:4px;}
  .person{grid-template-columns:1fr;}
  ul.pubs li,ul.news li{grid-template-columns:1fr;gap:6px;}
  .pub-search{min-width:0;width:100%;}
  .foot-addr{text-align:left;}
}
