@font-face {
      font-family: "League Gothic";
      src: url("../assets/fonts/LeagueGothic-Regular.ttf") format("truetype");
      font-weight: 400;
      font-style: normal;
      font-display: swap;
    }

    @font-face {
      font-family: "Instrument Sans";
      src: url("../assets/fonts/InstrumentSans-Variable.ttf") format("truetype");
      font-weight: 400 700;
      font-style: normal;
      font-display: swap;
    }

    :root {
      --scarlet: #C8102E;
      --scarlet-ink: #F84856;
      --scarlet-deep: #9E0C22;
      --ink: #161614;
      --graphite: #3A3935;
      --ash: #65615B;
      --line: #D9D4CB;
      --paper: #F4F1EB;
      --grid-a: #F6F3ED;
      --grid-b: #EDE8DF;
      --mark: "League Gothic", "Arial Narrow", sans-serif;
      --text: "Instrument Sans", "Segoe UI", sans-serif;
      --pad: max(18px, env(safe-area-inset-left));
    }

    * { box-sizing: border-box; }

    html { color-scheme: dark; }

    body {
      margin: 0;
      background: var(--ink);
      color: var(--paper);
      font-family: var(--text);
      font-size: 16px;
      font-weight: 450;
      line-height: 1.5;
      text-rendering: optimizeLegibility;
      -webkit-font-smoothing: antialiased;
    }

    ::selection {
      background: var(--scarlet);
      color: var(--paper);
    }

    :focus-visible {
      outline: 2px solid var(--scarlet-ink);
      outline-offset: 3px;
    }

    a { color: inherit; }

    button, input { font: inherit; }

    .skip {
      position: absolute;
      left: 12px;
      top: 12px;
      transform: translateY(-140%);
      background: var(--paper);
      color: var(--ink);
      padding: 8px 12px;
      z-index: 2;
    }

    .skip:focus { transform: none; }

    .page {
      min-height: 100dvh;
      display: flex;
      flex-direction: column;
      padding:
        max(16px, env(safe-area-inset-top))
        max(18px, env(safe-area-inset-right))
        max(16px, env(safe-area-inset-bottom))
        max(18px, env(safe-area-inset-left));
    }

    .top {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: space-between;
      gap: 12px 28px;
      padding-bottom: 16px;
      border-bottom: 1px solid rgba(244, 241, 235, 0.16);
    }

    .logo {
      display: block;
      width: min(128px, 46vw);
      height: auto;
      color: var(--paper);
      --period: var(--scarlet-ink);
    }

    .top-meta {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 8px 22px;
      margin: 0;
      color: rgba(244, 241, 235, 0.78);
      font-size: 11px;
      font-weight: 550;
      letter-spacing: 0.16em;
      text-transform: uppercase;
    }

    .top-meta a { text-decoration: none; }
    .top-meta a:hover { color: var(--paper); }

    .stage {
      flex: 1;
      display: grid;
      align-content: end;
      gap: 28px;
      padding: 32px 0 28px;
    }

    .hero {
      container-type: inline-size;
      min-width: 0;
    }

    h1 {
      margin: 0;
      font-family: var(--mark);
      font-weight: 400;
      font-synthesis: none;
      font-size: clamp(64px, 18vw, 188px);
      font-size: min(31cqi, 200px);
      line-height: 0.78;
      letter-spacing: 0;
      text-transform: uppercase;
      text-rendering: geometricPrecision;
    }

    h1 span { display: block; }

    h1 .accent { color: var(--scarlet-ink); }

    .lede {
      max-width: 36rem;
      margin: 22px 0 0;
      color: rgba(244, 241, 235, 0.78);
      font-size: clamp(15px, 1.6vw, 17px);
      line-height: 1.55;
    }

    form {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      margin-top: 22px;
      max-width: 540px;
    }

    label.sr {
      position: absolute;
      width: 1px;
      height: 1px;
      padding: 0;
      margin: -1px;
      overflow: hidden;
      clip: rect(0, 0, 0, 0);
      white-space: nowrap;
      border: 0;
    }

    input[type="email"] {
      flex: 1 1 220px;
      min-width: 0;
      min-height: 48px;
      padding: 0 14px;
      border: 1px solid rgba(244, 241, 235, 0.32);
      border-radius: 0;
      background: transparent;
      color: var(--paper);
    }

    input::placeholder { color: rgba(244, 241, 235, 0.62); }

    input:focus-visible { outline-offset: 2px; }

    input:-webkit-autofill {
      -webkit-text-fill-color: var(--paper);
      caret-color: var(--paper);
      transition: background-color 9999s ease-out;
      box-shadow: 0 0 0 1000px var(--ink) inset;
    }

    button {
      flex: 1 1 168px;
      min-height: 48px;
      padding: 0 18px;
      border: 0;
      background: var(--scarlet);
      color: var(--paper);
      font-size: 12px;
      font-weight: 650;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      cursor: pointer;
    }

    button:hover { background: var(--scarlet-deep); }
    button:disabled { cursor: wait; background: var(--scarlet-deep); }

    .hint,
    #form-status {
      margin: 10px 0 0;
      max-width: 42rem;
      color: rgba(244, 241, 235, 0.72);
      font-size: 13px;
      line-height: 1.45;
    }

    #form-status:empty { display: none; }

    .panel {
      background: var(--paper);
      color: var(--ink);
      min-width: 0;
    }

    .panel-band {
      container-type: inline-size;
      min-height: 148px;
      display: flex;
      align-items: flex-end;
      padding: 22px 22px 18px;
      background-color: var(--grid-a);
      background-image: repeating-conic-gradient(var(--grid-b) 0% 25%, var(--grid-a) 0% 50%);
      background-size: 22px 22px;
    }

    .panel-band p {
      margin: 0;
      font-family: var(--mark);
      font-weight: 400;
      font-size: clamp(42px, 14vw, 64px);
      font-size: min(18cqi, 68px);
      line-height: 0.8;
      letter-spacing: 0;
      text-transform: uppercase;
    }

    .panel-band .accent { color: var(--scarlet); }

    .work {
      list-style: none;
      margin: 0;
      padding: 0;
    }

    .work li {
      display: grid;
      grid-template-columns: 2.4em minmax(0, 1fr);
      column-gap: 14px;
      row-gap: 3px;
      align-items: center;
      padding: 16px 22px;
      border-top: 1px solid var(--line);
    }

    .work b {
      grid-column: 1;
      grid-row: 1;
      font-family: var(--mark);
      font-weight: 400;
      font-size: 28px;
      line-height: 0.72;
    }

    .work h2 {
      grid-column: 2;
      grid-row: 1;
      margin: 0;
      font-size: 15px;
      font-weight: 600;
      line-height: 1.15;
      letter-spacing: -0.01em;
    }

    .work p {
      grid-column: 2;
      grid-row: 2;
      margin: 0;
      color: var(--ash);
      font-size: 14px;
      line-height: 1.45;
    }

    .foot {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      gap: 8px 20px;
      padding-top: 14px;
      border-top: 1px solid rgba(244, 241, 235, 0.16);
      color: rgba(244, 241, 235, 0.72);
      font-size: 12px;
      font-weight: 500;
      letter-spacing: 0.12em;
      text-transform: uppercase;
    }

    .foot a { text-decoration: none; }
    .foot a:hover { color: var(--paper); }

    .credit {
      margin: 0;
      letter-spacing: 0.01em;
      text-transform: none;
      font-size: 13px;
    }

    @media (min-width: 720px) {
      .page { padding-left: max(28px, env(safe-area-inset-left)); padding-right: max(28px, env(safe-area-inset-right)); }
      .stage { padding-top: 40px; }
      .work { display: grid; grid-template-columns: 1fr 1fr; }
      .work li:nth-child(2) { border-top: 0; }
      .work li:nth-child(odd) { border-right: 1px solid var(--line); }
    }

    @media (min-width: 980px) {
      .stage {
        grid-template-columns: minmax(0, 1.2fr) minmax(300px, 0.8fr);
        align-items: stretch;
        align-content: stretch;
        gap: 40px;
        padding: 36px 0 32px;
      }

      .hero {
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
      }

      .panel {
        display: flex;
        flex-direction: column;
      }

      .work {
        display: block;
        flex: 1;
      }

      .work li:nth-child(2) { border-top: 1px solid var(--line); }
      .work li:nth-child(odd) { border-right: 0; }
    }

    @media (max-width: 379px) {
      h1 { font-size: min(27cqi, 76px); }
      .work li { padding-left: 16px; padding-right: 16px; }
      .panel-band { padding-left: 16px; padding-right: 16px; }
    }

    @media (max-height: 760px) and (min-width: 980px) {
      h1 { font-size: min(24cqi, 148px); }
      .panel-band { min-height: 112px; }
      .lede { margin-top: 14px; }
      form { margin-top: 14px; }
    }

    @media (max-height: 500px) {
      .stage { align-content: start; padding-top: 14px; padding-bottom: 12px; }
      h1 { font-size: min(20cqi, 72px); }
      .lede { margin-top: 8px; }
      form { margin-top: 10px; }
      .panel-band { min-height: 0; }
    }

    @media (max-height: 500px) and (min-width: 640px) {
      .stage {
        grid-template-columns: minmax(0, 1.15fr) minmax(220px, 0.8fr);
        gap: 20px;
      }

      h1 { font-size: min(18cqi, 64px); }

      .panel-band { padding: 12px 14px; }
      .panel-band p { font-size: 26px; }
      .work li { padding: 7px 14px; }
      .work b { font-size: 22px; }
      .work p { display: none; }
      .lede { font-size: 14px; }
      input[type="email"] { flex-basis: 120px; }
      button { flex: 0 0 auto; padding: 0 14px; }
      .top { padding-bottom: 10px; }
    }

    @media (prefers-reduced-motion: reduce) {
      * { scroll-behavior: auto; }
    }
