/* OK Information Network — single-page compliance landing.
   No JS, no external requests, no inline styles (see CSP in _headers). */

*,
*::before,
*::after { box-sizing: border-box; }

html { height: 100%; }

body {
  margin: 0;
  height: 100dvh;          /* dvh, not vh: mobile chrome must not force a scroll */
  overflow: hidden;
  display: flex;
  flex-direction: column;
  background: #1a1d22;      /* shows only for the instant before the image paints */
}

/* --- Background ------------------------------------------------------------ */
/* The <img> fills the viewport and sits behind everything. 35% horizontal
   object-position pulls the sunset off the left edge on portrait phones, where
   `cover` binds on height and crops most of the width. Neutral on landscape,
   where the full width shows and only `center` (vertical) matters. */
.bg img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 35% 50%;
  z-index: -1;
}

/* --- Headline -------------------------------------------------------------- */
.stage {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  min-height: 0;            /* let the footer keep its height on short viewports */
}

.headline {
  margin: 0;
  max-width: 75vw;
  text-align: center;
  color: #ffffff;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  font-weight: 800;
  line-height: 0.95;
  letter-spacing: 0.02em;
  /* Sized so "INFORMATION" (longest line) stays inside 75vw down to 320px, for
     the whole system stack incl. the wide DejaVu Sans Linux fallback. The floor
     (1.75rem) governs <284px, 9vw governs 284-1778px, the 10rem cap governs
     larger. Verified via font metrics — see CLAUDE.md. */
  font-size: clamp(1.75rem, 9vw, 10rem);
  text-transform: uppercase;
}

.headline span { display: block; }

/* --- Footer ---------------------------------------------------------------- */
.footer {
  width: 100%;
  background: #676c76;
  flex: none;
  padding: clamp(0.6rem, 2.4vw, 1.4rem);
}

.disclaimer {
  max-width: 60rem;
  margin: 0 auto;
  border: 1px solid #ffffff;
  padding: clamp(0.5rem, 2.2vw, 1.1rem) clamp(0.6rem, 2.6vw, 1.6rem);
  color: #ffffff;
  text-align: center;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
  /* Footer type shrinks before the headline does — keeps the page scroll-free
     on the worst cases (360×640 portrait, 640×360 landscape). */
  font-size: clamp(0.5rem, 2.3vw, 0.85rem);
  line-height: 1.5;
}

.disclaimer p { margin: 0.25em 0; }
