/* Minimalist coded SVG hero */
:root{
  --bg:#ffffff;
  --ink:#111111;
  --muted:#6b6b73;
  --red:#e02020;
  --grid:#ececf2;
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
a{color:inherit}

.site-header{
  position:sticky; top:0; z-index:10;
  display:flex; justify-content:space-between; align-items:center; gap:16px;
  padding:16px 22px;
  background: rgba(255,255,255,0.75);
  backdrop-filter: blur(8px) saturate(140%);
  border-bottom:1px solid var(--grid);
}
.brand{font-weight:800; text-decoration:none; letter-spacing:0.01em}
.brand-dot{display:inline-block; width:8px; height:8px; background:var(--red); border-radius:50%; margin-left:6px}

.nav{display:flex; gap:10px; align-items:center; flex-wrap:wrap}
.nav-link{padding:6px 10px; border-radius:10px; text-decoration:none; color:var(--muted); border:1px solid transparent}
.nav-link:hover{border-color:var(--grid); color:var(--ink)}

.pill{
  display:inline-block; text-decoration:none; border:1px solid var(--ink); padding:8px 14px; border-radius:999px; font-weight:700;
}
.pill.primary{background:var(--ink); color:#fff}
.pill.big{padding:12px 20px; font-size:18px}

.hero{ padding:12vh 22px 6vh; text-align:center; max-width:1200px; margin:0 auto; }
.hero h1{ font-size: clamp(36px, 7vw, 98px); line-height:0.95; margin:0 0 18px 0 }

.svg-wrap{ width:100%; overflow:visible; }
.outlier-svg{ width:100%; height:auto; }

/* Pulse animation for red dot */
.pulse{ animation: pulse 2.2s ease-in-out infinite; transform-origin: center; }
.halo{ animation: halo 2.2s ease-in-out infinite; transform-origin: center; }
@keyframes pulse{
  0%{ transform: scale(1); }
  50%{ transform: scale(1.15); }
  100%{ transform: scale(1); }
}
@keyframes halo{
  0%{ opacity:0.25; filter: blur(0px); }
  50%{ opacity:0.6; filter: blur(4px); }
  100%{ opacity:0.25; filter: blur(0px); }
}

.label-text{
  font-family: Inter, Arial, Helvetica, sans-serif;
  font-size: 34px;
  fill: #111;
}

.cta-row{ display:flex; gap:10px; justify-content:center; margin-top:18px }

.links{ padding:10vh 22px; border-top:1px solid var(--grid) }
.links h2{ text-align:center; margin:0 0 18px 0 }
.linklist{
  list-style:none; padding:0; margin:0 auto; max-width:720px; display:grid; gap:10px;
}
.linklist li a{
  display:block; padding:14px 16px; border-radius:14px; text-decoration:none;
  border:1px solid var(--grid); background:#fff;
}
.linklist li a:hover{ transform: translateY(-1px) }

.site-footer{ padding:28px 22px 48px; text-align:center; color:var(--muted); border-top:1px solid var(--grid) }


/* Manifesto section styles */
.manifesto {
  padding: 4rem 2rem;
  max-width: 800px;
  margin: 0 auto;
  text-align: center;
  font-size: 1.2rem;
  line-height: 1.6;
}
.manifesto h2 {
  font-size: 2rem;
  margin-bottom: 1rem;
}
