:root{
  --bg:#07080a;
  --panel:#0c0e12;
  --panel2:#0f1218;
  --fg:#f4f6f8;
  --muted:#a7b0bb;
  --muted2:#7e8894;
  --line:rgba(255,255,255,0.10);
  --line2:rgba(255,255,255,0.16);
  --max:1120px;
  --measure:820px;
  --sans: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
  --serif: ui-serif, Georgia, "Times New Roman", Times, serif;
}
*{box-sizing:border-box}
body{
  margin:0;
  background:var(--bg);
  color:var(--fg);
  font-family:var(--serif);
  line-height:1.75;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
a{color:inherit; text-decoration:none}
a:hover{opacity:0.92}
p{margin:0 0 1.1rem 0; font-size:18px}
ul{margin:0 0 1.2rem 1.2rem}
li{margin:0.25rem 0}
hr{border:0;border-top:1px solid var(--line); margin:28px 0}
.container{max-width:var(--max); margin:0 auto; padding:0 28px}

/* Reduced top padding from 24px to 0 to pull content up */
.doc{max-width:var(--measure); padding:0 0 72px}

.topbar{
  position:sticky; top:0; z-index:20;
  backdrop-filter:saturate(120%) blur(10px);
  background:rgba(7,8,10,0.72);
  border-bottom:1px solid var(--line);
}
.navrow{
  display:flex; align-items:center; gap:18px;
  padding:4px 0;
  font-family:var(--sans);
}
.navlinks{display:flex; flex-wrap:wrap; gap:10px; margin-left:auto}
.navlinks a{
  font-size:13px;
  color:var(--muted);
  padding:8px 10px;
  border-radius:10px;
}
.navlinks a.active{
  color:var(--fg);
  background:rgba(255,255,255,0.06);
  border:1px solid var(--line);
}
.navlinks a:hover{color:var(--fg)}

/* Reduced hero padding from 54px to 20px */
.hero{padding:20px 0 6px}

.kicker{
  font-family:var(--sans);
  font-size:12px;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--muted);
  margin-bottom:14px;
}

h1{
  font-weight:520;
  font-size:44px;
  line-height:1.1;
  margin:0 0 18px 0;
}
.subhead{
  font-family:var(--sans);
  color:var(--muted);
  font-size:16px;
  max-width:70ch;
}

/* Increased top margin to separate boxes from headers above */
h2{
  font-family:var(--sans);
  font-weight:650;
  font-size:13px;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--muted);
  margin:56px 0 20px 0;
}
h3{
  font-family:var(--sans);
  font-weight:650;
  font-size:16px;
  margin:0 0 12px 0;
}

/* Increased padding from 18px to 24px for breathable text */
.note{
  border:1px solid var(--line);
  background:linear-gradient(180deg, rgba(255,255,255,0.05), rgba(255,255,255,0.03));
  border-radius:16px;
  padding:24px 24px; 
}
.grid{display:grid; grid-template-columns:1fr; gap:14px}
@media (min-width:860px){ .grid.two{grid-template-columns:1fr 1fr} }

/* Increased padding from 18px to 24px */
.card{
  border:1px solid var(--line);
  background:var(--panel);
  border-radius:16px;
  padding:24px 24px;
  color:inherit;
  text-decoration:none;
  display:block;
}
.card:hover{
  background:rgba(255,255,255,0.04);
}
.card p{font-size:16px; color:var(--muted); margin-bottom:0}
.meta{
  font-family:var(--sans);
  font-size:12px;
  color:var(--muted2);
  display:flex; flex-wrap:wrap; gap:10px;
  margin-top:16px;
}
.tag{
  border:1px solid var(--line2);
  padding:4px 8px;
  border-radius:999px;
  background:rgba(255,255,255,0.03);
}

/* Increased padding from 18px to 24px */
.pub{
  border:1px solid var(--line);
  background:var(--panel2);
  border-radius:16px;
  padding:24px 24px;
}
.pub-title{display:flex; flex-direction:column; gap:6px}
.pub-title .t{font-family:var(--sans); font-weight:700; font-size:16px}
.pub-title .s{color:var(--muted); font-size:15px}
.pub-abstract{margin-top:12px; color:var(--muted); font-size:16px}
.pub-actions{
  margin-top:14px;
  display:flex; flex-wrap:wrap; gap:10px; align-items:center;
  font-family:var(--sans);
  font-size:13px;
}
.linkbtn{
  display:inline-flex; align-items:center; gap:8px;
  border:1px solid var(--line2);
  padding:8px 12px;
  border-radius:12px;
  background:rgba(255,255,255,0.04);
  color:var(--fg);
}
.linkbtn span{color:var(--muted)}
.linkbtn:hover{background:rgba(255,255,255,0.06)}
.foot{
  border-top:1px solid var(--line);
  padding:24px 0 34px;
  color:var(--muted2);
  font-family:var(--sans);
  font-size:12px;
}
.foot .row{display:flex; gap:14px; flex-wrap:wrap; align-items:center; justify-content:space-between}
.foot a{color:var(--muted2); text-decoration:underline; text-decoration-color:rgba(255,255,255,0.18)}

@media print{
  body{background:#fff; color:#000}
  .topbar{position:static; background:#fff; backdrop-filter:none}
  .navlinks{display:none}
  a{color:#000; text-decoration:underline}
  .brand{border:1px solid rgba(0,0,0,0.25); background:#fff}
  .linkbtn{display:none}
  .note,.card,.pub{background:#fff}
}

.brand{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--line);
  border-radius:12px;
  background:rgba(255,255,255,0.02);
  height:84px;
  padding:0 10px;
  overflow:hidden;
  line-height:0;
}

.brand-logo{
  height:160px;
  width:auto;
  display:block;
  margin-top:-44px;
  margin-bottom:-44px;
  margin-left:-8px;
  margin-right:-8px;
}