/* ============================================================================
   Rantizo investor pages: /investors/, /news/, the press release and the
   forward-looking statements notice. Built on pages.css; page pieces only:
     .irhead     the IR head: the RNTZ wall, the aircraft standing in front of
                 it, its shadow cast on the letters, the floor reflection
     .whyrz      Why Rantizo: five pillars beside one plate whose picture
                 follows the pillar being read
     .irsum      the revenue equation, set as a column sum
     .irmarket   the traction figure as a section headline
     .irdeal     transaction figures, timeline and terms
     .filings    the live EDGAR ledger and its filter
     .irgov      leadership and board
     .iralerts   the email alerts form and its done state
     .newslead   the latest release, presented large
     .release    the press release article and its rail
   ========================================================================== */

/* ================================================================ IR HEAD ==
   Everything is measured in container units of the content width, so the
   wall, the aircraft and the copy keep one composition at every size.
   Archivo at 125% / 900: RNTZ advances 3.634em; its ink runs from 0.074em to
   3.613em; caps are 0.688em tall (measured in the browser). */
.irhead {
  position: relative; isolation: isolate; overflow: clip;
  padding-top: calc(var(--nav-h) + clamp(1.75rem, 6vh, 4.25rem));
}
.irhead__wrap { container-type: inline-size; }
.irhead__stage { position: relative; }
.irhead__title { margin: 0; font-weight: inherit; }
.irhead__kicker { display: block; }
.irhead__ticker {
  display: block; position: relative; z-index: 1;
  margin: clamp(0.875rem, 2.2vh, 1.25rem) -0.021em 0 -0.074em;
  font-family: var(--sc-font-display); font-stretch: 125%; font-weight: 900;
  font-size: calc(100cqw / 3.539);
  line-height: 0.688; letter-spacing: -0.01em;
  white-space: nowrap;
  color: var(--sc-accent);
}

/* The floor: the wall's warm bounce and its reflection in a polished slab,
   both fading within a short distance of the baseline. */
.irhead__floor {
  position: absolute; z-index: 1; left: 0; right: 0; top: 100%;
  height: 22cqw; pointer-events: none;
  -webkit-mask-image: linear-gradient(to bottom, #000, transparent 72%);
          mask-image: linear-gradient(to bottom, #000, transparent 72%);
}
.irhead__floor::before {
  content: ""; position: absolute; inset: 0;
  background: radial-gradient(64% 92% at 50% 0, rgb(255 102 0 / 0.13), transparent 74%);
}
.irhead__mirror {
  position: absolute; left: 0; top: 0;
  margin: 0 -0.021em 0 -0.074em;
  font-family: var(--sc-font-display); font-stretch: 125%; font-weight: 900;
  font-size: calc(100cqw / 3.539);
  line-height: 0.688; letter-spacing: -0.01em; white-space: nowrap;
  color: var(--sc-accent);
  transform: scaleY(-1);
  opacity: 0.16;
  -webkit-mask-image: linear-gradient(to top, #000, transparent 46%);
          mask-image: linear-gradient(to top, #000, transparent 46%);
}

/* The aircraft stands on the floor in front of the wall: its body crosses
   the lower half of the letters and its skids land below the baseline. */
.irhead__craft, .irhead__cast {
  position: absolute;
  width: var(--craft-w, 51cqw); right: var(--craft-r, 1cqw); bottom: calc(var(--craft-drop, 16.5cqw) * -1);
  aspect-ratio: 2014 / 920;
  pointer-events: none;
}
.irhead__craft { z-index: 3; will-change: transform; }
.irhead__craft img, .irhead__cast img { width: 100%; height: 100%; max-width: none; }
/* Its shadow on the wall. The pointer is the light: the JS moves it, the
   default is a low light from the front left. */
.irhead__cast {
  z-index: 2;
  transform: translate3d(1.4cqw, -1cqw, 0);
  will-change: transform;
}
.irhead__cast img { filter: brightness(0) blur(clamp(3px, 0.55cqw, 9px)); opacity: 0.5; }

.irhead__lower {
  position: relative; z-index: 4;
  max-width: var(--lower-w, 40cqw);
  min-height: var(--lower-h, 15.5cqw);
  margin-top: clamp(1.75rem, 3cqw, 2.75rem);
  display: flex; flex-direction: column; align-items: flex-start;
}
.irhead__status {
  margin: 0;
  font-size: clamp(1.0625rem, 1rem + 0.3vw, 1.25rem); line-height: 1.45;
  color: var(--sc-ink); text-wrap: balance;
}
.irhead__lower .link-arrow { margin-top: 0.875rem; }
.irhead__actions { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-top: clamp(1.5rem, 3vh, 2rem); }

/* The latest release, tied to the head as one ledger row. */
.irhead__news {
  position: relative; z-index: 4;
  display: grid; grid-template-columns: auto auto minmax(0, 1fr) 1rem;
  align-items: baseline; gap: 0.5rem 2rem;
  margin-top: clamp(2.25rem, 4vw, 3.5rem);
  padding: 1.125rem 0;
  border-top: 1px solid var(--sc-hairline-strong);
  border-bottom: 1px solid var(--sc-hairline);
  color: var(--sc-ink); text-decoration: none;
}
.irhead__news-title { font-size: 1.0625rem; line-height: 1.4; text-wrap: pretty; transition: color 160ms var(--sc-ease-out); }
.irhead__news svg, .irnext svg {
  width: 1rem; height: 1rem; align-self: center;
  fill: none; stroke: var(--sc-accent); stroke-width: 1.6; stroke-linecap: square;
  transition: transform 160ms var(--sc-ease-out);
}
@media (hover: hover) and (pointer: fine) {
  .irhead__news:hover .irhead__news-title { color: var(--sc-accent); }
  .irhead__news:hover svg { transform: translateX(3px); }
}

/* Tablet: the aircraft a little larger, the copy a little wider. */
@media (max-width: 1080px) {
  .irhead { --craft-w: 58cqw; --craft-drop: 16cqw; --lower-w: 38cqw; --lower-h: 15cqw; }
}
/* Phone: the wall still spans the column; the aircraft crosses its foot at
   full width and the copy moves below it. */
@media (max-width: 640px) {
  .irhead { --craft-w: 102cqw; --craft-r: -6cqw; --craft-drop: 43cqw; --lower-w: none; --lower-h: 0; }
  .irhead__floor { height: 44cqw; }
  .irhead__lower { margin-top: calc(43cqw + 1.5rem); }
  .irhead__news { grid-template-columns: auto minmax(0, 1fr) 1rem; gap: 0.375rem 1rem; }
  .irhead__news-label { grid-column: 1; }
  .irhead__news .ledger__date { grid-column: 2; }
  .irhead__news-title { grid-column: 1 / 3; grid-row: 2; }
  .irhead__news svg { grid-column: 3; grid-row: 1 / span 2; }
}

/* ============================================================== STOCK ==== */
.irfacts > div:first-child { padding-top: 0.15rem; }
.irfacts__ticker { color: var(--sc-accent); font-weight: 600; letter-spacing: 0.04em; }
.irfacts__link {
  color: var(--sc-ink); text-decoration: underline; text-decoration-color: var(--sc-accent);
  text-underline-offset: 0.22em;
}

/* ========================================================== WHY RANTIZO ==
   The company's five pillars. The list takes the head column and the plate
   the body column, so the pictures carry the section and the copy reads
   beside them. The plate is the leadership plate's slab (5:4, both long
   edges on the deck's 12.5deg) and holds one picture per pillar; the first
   is the four sectors, cut into strips like the missions hub. */
.whyrz__lead { min-width: 0; }
.whyrz__title { margin: 0; font-size: clamp(2.25rem, 4.2vw, 4.25rem); text-wrap: balance; }
.whyrz__title > span { display: block; }
.whyrz__title > span + span { color: var(--ink-mid); }
.whyrz__intro { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem clamp(1.5rem, 3vw, 2.5rem); margin-top: clamp(1.75rem, 3.5vw, 2.75rem); }
.whyrz__intro p { margin: 0; color: var(--ink-mid); font-size: 1.0625rem; line-height: 1.6; text-wrap: pretty; }

.whyrz__body {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.618fr);
  gap: 2rem clamp(2rem, 6vw, 7rem);
  align-items: start;
  margin-top: clamp(3rem, 6vw, 5rem);
}
.whyrz__list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--sc-hairline-strong); }
.whyrz__item {
  display: grid; grid-template-columns: 3rem minmax(0, 1fr); column-gap: 0.75rem; align-content: start;
  padding: clamp(2rem, 4vw, 3.25rem) 0;
  border-bottom: 1px solid var(--sc-hairline);
}
.whyrz__item > :not(.whyrz__num, .whyrz__pic) { grid-column: 2; }
.whyrz__num {
  font: 500 0.75rem/2.3 var(--sc-font-mono); letter-spacing: 0.09em; color: var(--sc-ink-soft);
  transition: color 240ms var(--sc-ease-out);
}
.whyrz__name {
  margin: 0;
  font-family: var(--sc-font-display); font-stretch: 75%; font-weight: 800;
  font-size: clamp(1.375rem, 1.1rem + 1vw, 1.875rem); line-height: 1.05; letter-spacing: 0.02em; text-transform: uppercase;
  text-wrap: balance;
}
.whyrz__item p { margin: 0.75rem 0 0; max-width: 48ch; color: var(--ink-mid); font-size: 1.0625rem; line-height: 1.55; text-wrap: pretty; }
.whyrz__item p + p { margin-top: 0.75em; }
.whyrz__item.is-on .whyrz__num { color: var(--sc-accent); }

/* A picture: the slab, cut on both long edges. --ar is height over width. */
.whyrz__pic {
  --ar: 0.8;
  --cut: calc(var(--ar) * 100% * var(--slash));
  position: relative; display: block; overflow: hidden;
  aspect-ratio: 1 / var(--ar);
  clip-path: polygon(var(--cut) 0, 100% 0, calc(100% - var(--cut)) 100%, 0 100%);
  background: var(--sc-surface);
  container-type: inline-size;
}
.whyrz__pic > img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; }
.whyrz__pic--fields > img { object-position: 50% 50%; }
.whyrz__pic--crew > img { object-position: 50% 45%; }
.whyrz__pic--shop > img { object-position: 28% 50%; }
.whyrz__pic--hq > img { object-position: 100% 50%; }
/* The four sectors: four strips, each its own slab, seams on the same
   diagonal. Strip k spans [k·w, k·w + w + cut] with w = (100 - cut) / 4. */
.whyrz__strip {
  --c: calc(var(--ar) * 100cqi * var(--slash));
  --w: calc((100cqi - var(--c)) / 4);
  position: absolute; top: 0; bottom: 0;
  left: calc(var(--k) * var(--w));
  width: calc(var(--w) + var(--c) - 0.75cqi);
  clip-path: polygon(var(--c) 0, 100% 0, calc(100% - var(--c)) 100%, 0 100%);
}
.whyrz__strip img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: 50% 22%; }

/* Wide screens: one plate rides beside the list and follows it. */
.whyrz__plate { position: sticky; top: calc(var(--nav-h) + 2rem); }
.whyrz__plate::after {
  content: ""; position: absolute; top: 0; left: 0; right: 0; z-index: 2; aspect-ratio: 1 / 0.8; pointer-events: none;
  background: var(--sc-accent);
  clip-path: polygon(calc(80% * var(--slash)) 0, calc(80% * var(--slash) + 2px) 0, 2px 100%, 0 100%);
}
.whyrz__layer { position: absolute; top: 0; left: 0; right: 0; opacity: 0; visibility: hidden; }
.whyrz__layer:first-child { position: relative; }
.whyrz__layer.is-on { opacity: 1; visibility: visible; z-index: 1; }
.whyrz__count { margin: 1rem 0 0; font: 500 0.75rem/1 var(--sc-font-mono); letter-spacing: 0.09em; color: var(--sc-ink-soft); text-align: right; }
.whyrz__count span { color: var(--sc-accent); }
@media (prefers-reduced-motion: no-preference) {
  .whyrz__layer { transition: opacity 520ms var(--sc-ease-out), visibility 0s linear 520ms; }
  .whyrz__layer > img { transform: scale(1.04); transition: transform 1100ms var(--sc-ease-out); }
  .whyrz__layer.is-on { transition: opacity 520ms var(--sc-ease-out), visibility 0s; }
  .whyrz__layer.is-on > img { transform: none; }
}
.whyrz__item > .whyrz__pic { display: none; }

.whyrz__end { margin-top: clamp(3rem, 6vw, 5rem); }
.whyrz__close {
  grid-column: 2; margin: 0; max-width: 32ch;
  font-family: var(--sc-font-display); font-stretch: 100%; font-weight: 500;
  font-size: clamp(1.5rem, 1rem + 1.6vw, 2.375rem); line-height: 1.2; letter-spacing: -0.015em;
  color: var(--sc-ink); text-wrap: pretty;
}
.whyrz__close span { color: var(--ink-mid); }

/* Phones: no plate; each pillar shows its own picture above its words. */
@media (max-width: 860px) {
  .whyrz__intro { grid-template-columns: 1fr; }
  .whyrz__body { grid-template-columns: 1fr; }
  .whyrz__plate { display: none; }
  .whyrz__item > .whyrz__pic { display: block; grid-column: 1 / -1; grid-row: 1; --ar: 0.625; margin-bottom: 1.5rem; }
  .whyrz__item .whyrz__num { color: var(--sc-accent); }
  .whyrz__close { grid-column: 1; }
}
@media (max-width: 560px) {
  .whyrz__item { grid-template-columns: 1fr; }
  .whyrz__item > :not(.whyrz__pic) { grid-column: 1; }
  .whyrz__num { line-height: 1.5; margin-bottom: 0.5rem; }
}

/* ================================================================ SUM ====
   High-volume sales, plus recurring services, a rule, long-term growth. The
   operators hang in their own column so the words align like figures. */
.irsum {
  display: grid;
  grid-template-columns: minmax(0, 1.618fr) minmax(0, 1fr);
  gap: 2.5rem clamp(2rem, 6vw, 7rem);
  padding-top: 1.25rem;
  border-top: 1px solid var(--sc-hairline-strong);
}
.sum {
  display: grid; grid-template-columns: 0.62em auto; justify-content: start;
  margin-top: 1.5rem;
  font-size: clamp(2.5rem, 5.4vw, 6rem); line-height: 0.92;
}
.sum__line { grid-column: 2; display: block; padding-block: 0.06em; position: relative; }
.sum__op {
  position: absolute; right: 100%; top: 0.06em; width: 0.62em;
  color: var(--sc-accent); font-weight: 700;
}
.sum__line--total { margin-top: 0.14em; padding-top: 0.18em; }
/* The sum's rule runs under the operator too, like a ledger total. */
.sum__line--total::before {
  content: ""; position: absolute; top: 0; right: 0; left: -0.62em;
  border-top: 2px solid var(--sc-ink);
}
.sum__line--total .sum__op { top: 0.18em; }
.irsum .sect__intro { margin-top: 1.75rem; }

.streams { margin: 0; }
.stream { padding: 1.125rem 0; border-bottom: 1px solid var(--sc-hairline); }
.stream:first-child { padding-top: 0.15rem; }
.stream dt {
  font-family: var(--sc-font-display); font-stretch: 75%; font-weight: 800;
  font-size: 1.125rem; line-height: 1.1; letter-spacing: 0.04em; text-transform: uppercase;
}
.stream dd { margin: 0.4rem 0 0; color: var(--sc-ink-soft); font-size: 0.9375rem; line-height: 1.5; max-width: 44ch; }
@media (max-width: 860px) {
  .irsum { grid-template-columns: 1fr; }
  .sum { font-size: min(9.6vw, 4.5rem); }
}

/* ============================================================= MARKET ==== */
.irmarket__num { margin-top: 1.5rem; font-size: clamp(4.25rem, 8.4vw, 8.5rem); }
.irmarket__cap { margin: 1.125rem 0 0; max-width: 34ch; color: var(--sc-ink-soft); font-size: 1.0625rem; line-height: 1.55; text-wrap: pretty; }
.irmarket__traction { margin: 0; }

/* =============================================================== DEAL ==== */
.irdeal { display: grid; gap: clamp(2.5rem, 5vw, 3.75rem); }
.irdeal__stats {
  margin: 0; container-type: inline-size;
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem 2rem;
}
.irdeal__stat { display: flex; flex-direction: column-reverse; justify-content: flex-end; gap: 0.875rem; }
.irdeal__stat dd { margin: 0; font-size: clamp(2.25rem, 7cqi, 4.5rem); }
.irdeal__stat dt { max-width: 22ch; line-height: 1.5; }

.irtime {
  list-style: none; margin: 0; padding: 0;
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem;
}
.irtime li { position: relative; padding-top: 1.375rem; border-top: 1px solid var(--sc-hairline-strong); }
.irtime li::before {
  content: ""; position: absolute; left: 0; top: -4px; width: 7px; height: 7px;
  background: var(--sc-canvas); box-shadow: inset 0 0 0 1px var(--sc-ink-soft); border-radius: 50%;
}
.irtime__now { border-top-color: var(--sc-accent) !important; }
.irtime__now::before { background: var(--sc-accent) !important; box-shadow: none !important; }
.irtime__date { display: block; font: 500 0.75rem/1.5 var(--sc-font-mono); letter-spacing: 0.08em; text-transform: uppercase; color: var(--sc-ink-soft); }
.irtime__now .irtime__date { color: var(--sc-accent); }
.irtime__what { display: block; margin-top: 0.5rem; font-size: 0.9375rem; line-height: 1.45; text-wrap: pretty; }
.irdeal__terms { margin: 0; }
@media (max-width: 560px) {
  .irdeal__stats { grid-template-columns: 1fr; }
  .irdeal__stat dd { font-size: clamp(2.75rem, 15cqi, 4rem); }
  .irtime { grid-template-columns: 1fr; gap: 0; }
  .irtime li { padding: 0 0 1.25rem 1.5rem; border-top: 0; border-left: 1px solid var(--sc-hairline-strong); }
  .irtime li:last-child { padding-bottom: 0; }
  .irtime__now { border-left-color: var(--sc-accent); }
  .irtime li::before { left: -4px; top: 0.35rem; }
}

/* ============================================================ FILINGS ==== */
.filings__filter { border: 0; margin: 0 0 1.5rem; padding: 0; min-width: 0; }
@media (max-width: 420px) {
  .filings__filter .seg { gap: 0.375rem; }
  .filings__filter .seg__opt > span { padding: 0 0.75rem; font-size: 0.875rem; }
}
.filings__list { min-height: calc(8 * var(--row-h, 3.85rem)); }
/* Placeholder rows hold the list's height while EDGAR answers. */
.filings__ghost .ledger__row > span:not(:last-child) {
  display: block; height: 0.75rem; border-radius: var(--r);
  background: color-mix(in oklab, var(--sc-ink) 7%, transparent);
}
.filings__ghost .ledger__date { width: 6.5rem; }
.filings__ghost .ledger__title { width: min(15rem, 70%); }
.filings__ghost .ledger__tag { width: 2.75rem; }
.filings__ghost .ledger__row { align-items: center; min-height: 3.85rem; }
@media (prefers-reduced-motion: no-preference) {
  .filings__ghost .ledger__row > span:not(:last-child) { animation: ir-breathe 1.6s var(--sc-ease-in-out) infinite alternate; }
}
@keyframes ir-breathe { to { opacity: 0.45; } }
.filings__list .ledger__row { min-height: 3.85rem; }
.filings__list .ledger__tag { color: var(--sc-ink); }
.filings__status { margin-top: 1.125rem; max-width: 60ch; }
.filings__status a, .filings__error a, .filings__fallback a, .irfls a {
  color: var(--sc-ink); text-decoration: underline; text-decoration-color: var(--sc-accent); text-underline-offset: 0.2em;
}
.filings__fallback { margin: 0; padding: 1.125rem 0; border-top: 1px solid var(--sc-hairline-strong); border-bottom: 1px solid var(--sc-hairline); color: var(--ink-mid); }
.filings__error { padding: 1.125rem 0; border-bottom: 1px solid var(--sc-hairline); color: var(--ink-mid); }
@media (max-width: 860px) {
  .filings__list { --row-h: 6.4rem; }
  .filings__list .ledger__row, .filings__ghost .ledger__row { min-height: 0; }
  .filings__ghost .ledger__row { gap: 0.6rem; }
}

/* ======================================================== GOVERNANCE ==== */
.irgov { display: grid; gap: clamp(2.5rem, 5vw, 3.5rem); }
.irgov__people { margin: 0; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem 2rem; }
.irgov__facts { margin: 0; }
@media (max-width: 560px) { .irgov__people { grid-template-columns: 1fr; } }

/* ============================================================== DECK ======
   The investor presentation: a cover drawn after the deck's own (black, the
   orange wordmark, the slash), with two pages behind it that fan out when
   the section is pointed at or focused. */
.deck {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 2.5rem clamp(2rem, 4vw, 3.5rem); align-items: start;
}
.deck__cover { position: relative; aspect-ratio: 16 / 9; margin: 0 1.25rem 1.25rem 0; }
.deck__page, .deck__face {
  position: absolute; inset: 0; border-radius: var(--r);
  transition: transform 520ms var(--sc-ease-out);
}
.deck__page { background: #1b1b1e; box-shadow: inset 0 0 0 1px var(--sc-hairline); }
.deck__page:nth-child(1) { transform: translate(1.1rem, 1.1rem); background: #161618; }
.deck__page:nth-child(2) { transform: translate(0.55rem, 0.55rem); }
.deck__face {
  display: grid; grid-template-rows: 1fr auto auto; padding: 7% 8%;
  overflow: hidden; container-type: inline-size;
  background:
    linear-gradient(102.5deg, transparent 0 77%, rgb(255 102 0 / 0.9) 77% calc(77% + 2px), transparent calc(77% + 2px)),
    linear-gradient(102.5deg, transparent 0 79.5%, rgb(242 239 234 / 0.035) 79.5%),
    #0B0B0C;
  box-shadow: inset 0 0 0 1px var(--sc-hairline-strong), 0 18px 40px -18px rgb(0 0 0 / 0.8);
}
.deck__mark {
  align-self: center;
  font-family: var(--sc-font-display); font-stretch: 125%; font-weight: 900;
  font-size: 10cqi; line-height: 1; letter-spacing: 0.01em; color: var(--sc-accent);
}
.deck__mark sup { font-size: 0.32em; font-weight: 500; vertical-align: 1.5em; margin-left: 0.12em; }
.deck__tick, .deck__name { font: 500 3cqi/1.4 var(--sc-font-mono); letter-spacing: 0.09em; text-transform: uppercase; }
.deck__tick { color: var(--ink-mid); }
.deck__tick b { color: var(--sc-accent); font-weight: 600; }
.deck__name { color: var(--sc-ink-soft); }
@media (hover: hover) and (pointer: fine) {
  .deck:hover .deck__page:nth-child(1) { transform: translate(2.1rem, 1.4rem) rotate(2.4deg); }
  .deck:hover .deck__page:nth-child(2) { transform: translate(1.05rem, 0.7rem) rotate(1.2deg); }
  .deck:hover .deck__face { transform: translate(-0.25rem, -0.25rem); }
}
.deck:focus-within .deck__page:nth-child(1) { transform: translate(2.1rem, 1.4rem) rotate(2.4deg); }
.deck:focus-within .deck__page:nth-child(2) { transform: translate(1.05rem, 0.7rem) rotate(1.2deg); }
.deck__form { gap: 1.25rem; }
.deck__meta { margin: 0.875rem 0 0; font: 500 0.75rem/1.4 var(--sc-font-mono); letter-spacing: 0.08em; text-transform: uppercase; color: var(--sc-ink-soft); }
@media (max-width: 1080px) { .deck { grid-template-columns: 1fr; } .deck__cover { max-width: 32rem; } }
@media (prefers-reduced-motion: reduce) { .deck__page, .deck__face { transition: none; } }

/* ============================================================ ALERTS ==== */
.iralerts { max-width: 36rem; }
.iralerts__form { gap: 1.75rem; }
.iralerts__form .form__group { gap: 0.75rem; }
.iralerts__form legend { padding: 0; margin-bottom: 0.25rem; }
.iralerts__done:focus { outline: none; }
.iralerts__done { padding-top: 0.15rem; }
.iralerts__done-title {
  margin: 0;
  font-family: var(--sc-font-display); font-stretch: 75%; font-weight: 800;
  font-size: clamp(1.75rem, 1.2rem + 1.6vw, 2.5rem); line-height: 1; text-transform: uppercase;
}
.iralerts__done-text { margin: 0.75rem 0 1.5rem; color: var(--sc-ink-soft); font-size: 1.0625rem; line-height: 1.55; max-width: 40ch; }

/* =========================================================== CONTACT ==== */
.ircontact { margin: 0; }
.ircontact a { text-decoration: none; background: linear-gradient(var(--sc-accent), var(--sc-accent)) 0 100% / 100% 1px no-repeat; padding-bottom: 0.1em; }
.irfls { margin-top: 2.5rem; }

/* ===================================================== REDUCED MOTION ==== */
@media (prefers-reduced-motion: reduce) {
  .irhead__craft, .irhead__cast { will-change: auto; }
}

/* ============================================================== NEWS ====
   The latest release leads, large, beside a slashed plate of the open
   hangar door at dawn. Later releases join below as ledger rows. */
.newsroom__list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--sc-hairline-strong); }
.newslead {
  position: relative;
  display: grid; grid-template-columns: minmax(0, 1.618fr) minmax(0, 1fr);
  gap: 2rem clamp(2rem, 6vw, 7rem);
  padding: 1.25rem 0 clamp(2.5rem, 5vw, 4rem);
  border-bottom: 1px solid var(--sc-hairline);
}
/* Alone, it needs no closing rule: the next section brings its own. */
.newslead:last-child { border-bottom: 0; }
.newslead__meta { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.5rem 1.5rem; margin: 0; }
.newslead__title {
  margin: clamp(1.5rem, 3vw, 2.25rem) 0 0; max-width: 28ch;
  font-family: var(--sc-font-display); font-stretch: 87.5%; font-weight: 700;
  font-size: clamp(1.75rem, 1.05rem + 2.1vw, 3.125rem); line-height: 1.06; letter-spacing: -0.012em;
  text-wrap: balance;
}
.newslead__title a { color: var(--sc-ink); text-decoration: none; transition: color 160ms var(--sc-ease-out); }
/* The whole card is the link's hit area; the heading stays the link's name. */
.newslead__title a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.newslead__title a:focus-visible { outline: none; }
.newslead__title a:focus-visible::after { outline: 2px solid var(--sc-accent); outline-offset: 4px; border-radius: var(--r); }
.newslead__subs, .release__subs { list-style: none; margin: 1.5rem 0 0; padding: 0; display: grid; gap: 0.625rem; max-width: 58ch; }
.newslead__subs li, .release__subs li {
  position: relative; padding-left: 1.375rem;
  color: var(--ink-mid); font-size: 1.0625rem; line-height: 1.5; text-wrap: pretty;
}
/* The deck's slash as the bullet. */
.newslead__subs li::before, .release__subs li::before {
  content: ""; position: absolute; left: 0.3rem; top: 0.32em;
  width: 2px; height: 0.95em; background: var(--sc-accent);
  transform: skewX(-12.5deg);
}
.newslead__more { margin-top: 2rem; }
.newslead__media {
  position: relative; align-self: start;
  aspect-ratio: 1; overflow: hidden;
  --cut: calc(100% * var(--slash));
  clip-path: polygon(var(--cut) 0, 100% 0, 100% 100%, 0 100%);
  background: var(--sc-surface);
}
.newslead__media img {
  position: absolute; inset: 0; width: 100%; height: 100%; max-width: none;
  object-fit: cover; object-position: 24% 50%;
  transition: scale 600ms var(--sc-ease-out);
}
.newslead__media::after {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(to top, rgb(11 11 12 / 0.45), transparent 40%);
}
@media (hover: hover) and (pointer: fine) {
  .newslead:hover .newslead__title a { color: var(--sc-accent); }
  .newslead:hover .newslead__more svg { transform: translateX(3px); }
  .newslead:hover .newslead__media img { scale: 1.03; }
}
.irnews__more { margin-top: 2.5rem; }
@media (max-width: 860px) {
  .newslead { grid-template-columns: 1fr; padding-top: 0; }
  .newslead__media {
    order: -1; aspect-ratio: 16 / 9; margin-inline: calc(var(--sc-gutter) * -1);
    clip-path: polygon(0 0, 100% 0, 100% 80%, 0 100%);
  }
  .newsroom__list { border-top: 0; }
}

/* ============================================================ RELEASE ==== */
.release__head {
  padding-top: calc(var(--nav-h) + clamp(2.5rem, 7vh, 5rem));
  padding-bottom: clamp(2.5rem, 5vw, 4rem);
}
.release__kicker { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.5rem 1.5rem; margin: 0; }
.release__kicker a { text-decoration: none; }
@media (hover: hover) and (pointer: fine) {
  .release__kicker a:hover { color: var(--sc-ink); }
}
.release__title {
  margin: clamp(1.25rem, 2.5vw, 1.75rem) 0 0; max-width: 30ch;
  font-family: var(--sc-font-display); font-stretch: 87.5%; font-weight: 700;
  font-size: clamp(2rem, 1.15rem + 2.7vw, 3.625rem); line-height: 1.05; letter-spacing: -0.014em;
  text-wrap: balance;
}
.release__subs { margin-top: clamp(1.5rem, 3vw, 2rem); }

.release__grid {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.618fr);
  gap: 2.5rem clamp(2rem, 6vw, 7rem);
  padding-top: 1.25rem; border-top: 1px solid var(--sc-hairline-strong);
}
.release__rail { align-self: start; position: sticky; top: calc(var(--nav-h) + 1.5rem); }
.release__meta { margin: 0; }
.release__meta > div { display: grid; gap: 0.35rem; padding: 0.9rem 0; border-bottom: 1px solid var(--sc-hairline); }
.release__meta > div:first-child { padding-top: 0.15rem; }
.release__meta dt { font: 500 0.75rem/1.5 var(--sc-font-mono); letter-spacing: 0.08em; text-transform: uppercase; color: var(--sc-ink-soft); }
.release__meta dd { margin: 0; font-size: 0.9375rem; line-height: 1.55; }
.release__meta b { color: var(--sc-accent); font-weight: 600; }
.release__was { display: block; color: var(--sc-ink-soft); font-size: 0.8125rem; }
.release__meta a, .release__contacts a {
  color: var(--sc-ink); text-decoration: underline; text-decoration-color: var(--sc-accent); text-underline-offset: 0.22em;
}
.release__back { margin-top: 1.75rem; }
@media (hover: hover) and (pointer: fine) {
  .release__back:hover svg { transform: translateX(-3px); }
}

.release__dateline {
  font: 500 0.75rem/1 var(--sc-font-mono); letter-spacing: 0.09em; text-transform: uppercase;
  color: var(--sc-ink); white-space: nowrap;
}
/* The dateline's separator is the deck's slash, not a dash. */
.release__dateline::after {
  content: ""; display: inline-block; vertical-align: -0.15em;
  width: 2px; height: 1.1em; margin: 0 0.75em 0 0.7em;
  background: var(--sc-accent); transform: skewX(-12.5deg);
}
.prose > .release__quote { margin: 2.75em 0; }
.release__quote { position: relative; padding-left: clamp(1.75rem, 3vw, 2.5rem); }
.release__quote::before {
  content: ""; position: absolute; left: 0.35rem; top: 0.2rem;
  width: 4px; height: 2.6rem; background: var(--sc-accent);
  transform: skewX(-12.5deg); transform-origin: 0 100%;
}
.release__quote blockquote { margin: 0; }
.release__quote blockquote p {
  margin: 0;
  font-family: var(--sc-font-display); font-stretch: 100%; font-weight: 500;
  font-size: clamp(1.375rem, 1rem + 1.15vw, 1.9375rem); line-height: 1.24; letter-spacing: -0.014em;
  color: var(--sc-ink); text-wrap: pretty;
}
.release__quote figcaption { margin-top: 1.5rem; font-size: 0.9375rem; line-height: 1.45; color: var(--sc-ink-soft); }
.release__who {
  display: block; margin-bottom: 0.2rem;
  font-family: var(--sc-font-display); font-stretch: 75%; font-weight: 800;
  font-size: 1.125rem; letter-spacing: 0.02em; text-transform: uppercase; color: var(--sc-ink);
}
.release__contacts a + a { margin-left: 0.75rem; }
/* About 75 characters a line. */
.release__body { max-width: 40rem; }
@media (max-width: 860px) {
  .release__grid { grid-template-columns: 1fr; }
  .release__rail { position: static; }
  .release__meta { display: grid; grid-template-columns: 1fr 1fr; column-gap: 1.5rem; }
  .release__meta > div:first-child { padding-top: 0.9rem; }
  .release__meta > div:last-child { grid-column: 1 / -1; }
  .release__back { display: none; }
}

