@font-face {
  font-family: "Archivo Display";
  src: url("/archivo-display.woff2") format("woff2");
  font-weight: 100 900;
  font-stretch: 62% 125%;
  font-display: swap;
}

:root {
  --ground: #e8edf0;
  --panel: #f6f8f9;
  --ink: #14263a;
  --soft: #4b5c6c;
  --line: #bcc8d1;
  --red: #a3172b;
  --green: #1e5b47;
  --focus: #a3172b;
  --gutter: clamp(16px, 5vw, 64px);
  --body: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--ground); color: var(--ink); font: 400 1.0625rem/1.55 var(--body); }

.plate { padding: clamp(40px, 9vw, 112px) var(--gutter) clamp(20px, 3.5vw, 36px); }
h1 {
  margin: 0;
  font-family: "Archivo Display", var(--body);
  font-size: clamp(2.5rem, 10.6vw, 8.75rem);
  font-weight: 800;
  font-stretch: 125%;
  line-height: .98;
  letter-spacing: -.015em;
  max-width: 11em;
}
h1 span { font-weight: 300; }
.line { margin: clamp(14px, 2vw, 24px) 0 0; font-size: clamp(1.125rem, 2.2vw, 1.5rem); color: var(--soft); }

.sett {
  height: clamp(22px, 3vw, 34px);
  background-color: var(--red);
  background-image:
    repeating-linear-gradient(90deg, transparent 0 34px, rgb(20 38 58 / .92) 34px 58px, transparent 58px 64px, rgb(30 91 71 / .92) 64px 92px, transparent 92px 98px, rgb(20 38 58 / .92) 98px 104px),
    repeating-linear-gradient(0deg, transparent 0 7px, rgb(20 38 58 / .55) 7px 11px);
}

main {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr);
  gap: clamp(32px, 6vw, 96px);
  padding: clamp(32px, 6vw, 72px) var(--gutter);
  max-width: 1280px;
}

h2 {
  margin: 0 0 14px;
  font-family: "Archivo Display", var(--body);
  font-size: 1.25rem;
  font-weight: 700;
  font-stretch: 112%;
}

a { color: var(--ink); text-underline-offset: .18em; overflow-wrap: anywhere; }
a:hover { color: var(--red); }
.reach p { margin: 0 0 18px; color: var(--soft); }
.reach a { color: var(--ink); font-weight: 600; }

label { display: block; margin: 16px 0 5px; font-weight: 600; font-size: 1rem; }
input, select, textarea {
  width: 100%;
  padding: 11px 12px;
  border: 1px solid #66798a;
  border-radius: 3px;
  background: var(--panel);
  color: var(--ink);
  font: inherit;
}
textarea { resize: vertical; }
.trap { position: absolute; left: -10000px; }
.cf-turnstile { margin-top: 20px; min-height: 65px; }
button {
  margin-top: 14px;
  padding: 13px 26px;
  border: 0;
  border-radius: 3px;
  background: var(--ink);
  color: #fff;
  font: 600 1.0625rem var(--body);
  cursor: pointer;
}
button:hover:enabled { background: var(--red); }
button:disabled { background: #66798a; cursor: not-allowed; }
:focus-visible { outline: 3px solid var(--focus); outline-offset: 2px; }

.status { margin: 0 0 8px; padding: 11px 14px; border-left: 4px solid var(--red); background: var(--panel); }
.status[data-kind="sent"] { border-color: var(--green); }

footer {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px clamp(32px, 6vw, 96px);
  padding: clamp(28px, 4vw, 48px) var(--gutter);
  border-top: 1px solid var(--line);
  font-size: .9375rem;
  color: var(--soft);
  max-width: 1280px;
}
footer h2 { font-size: 1.0625rem; margin-bottom: 8px; color: var(--ink); }
footer p { margin: 0 0 10px; }
.legal { grid-column: 1 / -1; margin-top: 18px; }

@media (max-width: 760px) {
  main, footer { grid-template-columns: minmax(0, 1fr); }
  main { gap: 36px; }
}
