html { scroll-behavior: auto; }

.manifesto-page-body { background: var(--paper); }
.manifesto-page { overflow: hidden; }

.manifesto-stage { position: relative; display: grid; min-height: 90vh; align-items: end; padding: 4rem 2.5rem; overflow: hidden; color: white; background: var(--ink); }
.manifesto-stage::before { position: absolute; inset: -4%; background: url('https://cdn.prod.website-files.com/67c08ea22d8c948740e1cae0/69ebbface543146a78b88a0c_explosion_web.avif') center/cover; opacity: .42; content: ''; }
.manifesto-stage::after { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(17,17,17,.12), rgba(17,17,17,.5)); content: ''; }
.manifesto-stage-content { position: relative; z-index: 1; display: grid; width: 100%; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: end; gap: 2rem; }
.manifesto-stage-intro { --manifesto-headline-size: clamp(3.5rem, 8.4vw, 8rem); display: flex; flex-direction: column; align-items: flex-start; }
.manifesto-stage-logo { width: calc(var(--manifesto-headline-size) * .8193 - .5rem); height: auto; margin-bottom: 2rem; filter: brightness(0) invert(1); object-fit: contain; transform: translateX(.5rem); }
.manifesto-stage h1 { max-width: 14ch; font: 400 var(--manifesto-headline-size)/.9 Inter, Arial, sans-serif; letter-spacing: -.07em; }
.manifesto-stage-copy { width: 100%; max-width: 38rem; justify-self: start; font: 16px/1.45 Inter, Arial, sans-serif; }
.manifesto-stage-copy p { margin: 0 0 2rem; }
.manifesto-stage-copy p:last-child { margin-bottom: 0; }
.manifesto-stage-copy .manifesto-claim { margin: 4rem 0 0; font: inherit; letter-spacing: normal; }
.manifesto-form input:focus-visible, .manifesto-form button:focus-visible { outline: 2px solid var(--red); outline-offset: 3px; }

.manifesto-signup h2 { font: 400 clamp(2rem, 4vw, 3.5rem)/1 Inter, Arial, sans-serif; letter-spacing: -.06em; }

.manifesto-signup { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 2rem; padding: 6rem 2.5rem 8rem; color: var(--ink); background: var(--paper); }
.manifesto-signup-intro { max-width: 21rem; }
.manifesto-signup-intro p { margin-top: 1.25rem; color: #777; font: 14px/1.45 Inter, Arial, sans-serif; }
.manifesto-form { display: grid; max-width: 46rem; gap: 1.5rem; }
.manifesto-form label { display: grid; gap: .6rem; font: 12px/1.35 GeistMono, Inconsolata, monospace; text-transform: uppercase; }
.manifesto-form input[type='text'], .manifesto-form input[type='email'] { width: 100%; border: 0; border-bottom: 1px solid #777; border-radius: 0; padding: .7rem 0; color: var(--ink); outline: 0; background: transparent; font: 20px/1.25 Inter, Arial, sans-serif; }
.manifesto-form input[type='text']:focus, .manifesto-form input[type='email']:focus { border-color: var(--ink); }
.manifesto-consent { display: flex !important; grid-template-columns: auto 1fr; grid-template-rows: auto; align-items: start; gap: .75rem !important; margin-top: .5rem; color: #777; text-transform: none !important; }
.manifesto-consent input { width: 1rem; height: 1rem; margin: .1rem 0 0; accent-color: var(--ink); }
.manifesto-consent a { color: var(--ink); text-decoration: underline; text-underline-offset: .2rem; }
.manifesto-form button { width: fit-content; border: 1px solid var(--ink); border-radius: 999px; padding: .9rem 1.2rem; color: white; background: var(--ink); font: 12px/1 GeistMono, Inconsolata, monospace; text-transform: uppercase; }
.manifesto-form button:hover { color: var(--ink); background: transparent; }
.manifesto-form button:disabled { opacity: .55; cursor: wait; }
.manifesto-form-status { min-height: 1.5rem; color: #777; font: 14px/1.4 Inter, Arial, sans-serif; }
.manifesto-form-status.is-success { color: var(--ink); }
.manifesto-form-status.is-error { color: #f2a8a8; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; clip-path: inset(50%); }

@media (max-width: 767px) {
  .manifesto-stage { min-height: 90vh; align-items: end; padding: 2rem 1rem 3rem; }
  .manifesto-stage-content { display: block; }
  .manifesto-stage-intro { --manifesto-headline-size: clamp(3.4rem, 15vw, 6rem); }
  .manifesto-stage-logo { margin-bottom: 1.5rem; }
  .manifesto-stage h1 { max-width: 9ch; margin-bottom: 3rem; }
  .manifesto-stage-copy { max-width: 20rem; font-size: 15px; }
  .manifesto-stage-copy .manifesto-claim { margin-top: 3rem; }
  .manifesto-signup { display: block; padding: 5rem 1rem; }
  .manifesto-signup h2 { margin-bottom: 3rem; font-size: clamp(2rem, 10vw, 3rem); }
  .manifesto-signup { padding-bottom: 7rem; }
  .manifesto-signup-intro { margin-bottom: 3rem; }
  .manifesto-form input[type='text'], .manifesto-form input[type='email'] { font-size: 18px; }
}
