    html {
      height: 100%;
      overflow: hidden;
    }
    body {
      position: fixed;
      inset: 0;
      overflow: hidden;
      overscroll-behavior: none;
    }

    .ol-stage.home {
      display: flex;
      height: 100%;
      min-height: 0;
      overflow: hidden;
      padding: 40px clamp(16px, 3vw, 32px);
    }
    @media (min-width: 821px) {
      body .ol-stage.home { margin-left: 0; padding-inline: var(--rail); }
      body.rail-open .ol-stage.home { padding-inline: var(--rail-open); }
    }
    .home-inner {
      margin: auto;
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 20px;
      width: min(640px, 100%);
    }

    .hero { position: relative; display: grid; justify-items: center; gap: 10px; }
    .hero::before {
      content: "";
      position: absolute;
      left: 50%;
      top: 46%;
      width: 380px;
      height: 180px;
      transform: translate(-50%, -50%);
      background: radial-gradient(50% 50% at 50% 50%,
        hsl(var(--bg-h) var(--bg-s) 62% / 0.16),
        hsl(var(--bg-h) var(--bg-s) 62% / 0.06) 45%, transparent 72%);
      filter: blur(30px);
      pointer-events: none;
    }
    .hero-logo {
      position: relative;
      width: min(380px, 84%);
      height: auto;
      display: block;
    }
    .hero-wordmark {
      width: auto;
      font-size: clamp(52px, 12vw, 108px);
      font-weight: 700;
      letter-spacing: -0.045em;
      line-height: 1.2;
      text-align: center;
      background: linear-gradient(115deg, #ffffff 0%, #ffffff 45%, var(--accent-color) 100%);
      -webkit-background-clip: text;
              background-clip: text;
      color: transparent;
      -webkit-text-fill-color: transparent;
    }

    .hero { margin-bottom: -6px; }

    .home-typer {
      position: relative;
      min-height: 1.6em;
      margin: 0;
      font-size: clamp(16px, 2.4vw, 19px);
      font-weight: 500;
      letter-spacing: -0.01em;
      color: var(--text-dim);
      text-align: center;
    }
    .home-typer-caret {
      display: inline-block;
      width: 2px;
      height: 1.1em;
      margin-left: 3px;
      vertical-align: -0.18em;
      border-radius: 1px;
      background: var(--accent-color);
      animation: home-caret 1s steps(1) infinite;
    }
    @keyframes home-caret { 50% { opacity: 0; } }

    .get-links-btn {
      position: relative;
      padding: 9px 20px;
      border-radius: var(--radius-pill);
      border: 1px solid rgba(255,255,255,0.14);
      background: transparent;
      color: var(--text);
      font: inherit;
      font-size: 14px;
      font-weight: 600;
      letter-spacing: -0.01em;
      cursor: pointer;
      transition: border-color 0.16s ease, background 0.16s ease, transform 0.16s ease;
    }
    .get-links-btn:hover,
    .get-links-btn:focus-visible {
      border-color: rgba(255,255,255,0.32);
      background: rgba(255,255,255,0.04);
      transform: translateY(-1px);
      outline: none;
    }
    .get-links-btn:active { transform: translateY(0); }

    @media (prefers-reduced-motion: reduce) {
      .home-typer-caret { animation: none; }
      .get-links-btn { transition: none; }
      .get-links-btn:hover, .get-links-btn:focus-visible { transform: none; }
    }

    @media (max-width: 820px) {
      body .ol-stage.home {
        min-height: auto;
        padding: 32px clamp(16px, 3vw, 32px) 100px;
      }
      .hero::before { width: 300px; height: 170px; }
    }

