/* RLGN.CA — contact.html page-scoped night styles.
   Partner to css/night.css (the shell) — this file only adds the pieces
   unique to the intake page: the hero trust row, the three intake beats,
   field-focus treatment, and the ON CALL dot micro-touch. */

/* ---- hero split chips (the daylight .hero__split, restated for the nh hero) ---- */
.nh-split { font-family: var(--f-display); font-weight: 600;
            font-size: clamp(0.95rem, 1.5vw, 1.15rem); letter-spacing: 0.05em;
            text-transform: uppercase; color: #efe6d2;
            display: flex; flex-wrap: wrap; justify-content: center;
            min-width: 0; gap: 0.75em; }
.nh-split span::after { content: '\00b7'; margin-left: 0.75em; color: var(--red-hot); }
.nh-split span:last-child::after { display: none; }

/* ---- hero trust row (the daylight .trust chips, restated for the nh hero) ---- */
.nh-trust { display: flex; flex-wrap: wrap; justify-content: center;
            gap: 0.6rem 2.2rem; margin-top: 1.6rem; }
.nh-trust span { font-family: var(--f-mono); font-size: 0.68rem; letter-spacing: 0.14em;
                 text-transform: uppercase; color: #8f8674; white-space: nowrap; }

/* ---- intake beats: what happens to a written request after dark ---- */
.itk { background: var(--night); padding: 5.5rem 6vw 6rem;
       border-top: 1px solid rgba(239, 230, 210, 0.13); }
.itk__kicker { font-family: var(--f-mono); font-size: 0.72rem; letter-spacing: 0.22em;
               text-transform: uppercase; color: var(--red-hot);
               margin-bottom: 2.8rem; max-width: 1100px; margin-left: auto; margin-right: auto; }
.itk__row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 3rem 3.5rem;
            max-width: 1100px; margin: 0 auto; }
.itk__beat .bk { font-family: var(--f-mono); font-size: 0.68rem; letter-spacing: 0.24em;
                 text-transform: uppercase; color: var(--red-hot); margin-bottom: 0.7rem; }
.itk__beat .bl { font-family: var(--f-display); font-weight: 600; color: #efe6d2;
                 font-size: clamp(1.35rem, 2.2vw, 1.85rem); line-height: 1.12; }
/* each beat line is a span: block (two lines) on desktop, inline on mobile so the
   HTML whitespace between spans keeps the words separated when the break collapses */
.itk__beat .bl span { display: block; }
.itk__beat .bs { margin-top: 0.7rem; font-size: 0.95rem; color: #a89f8d; max-width: 34ch; }

@media (max-width: 860px) {
  .itk__row { grid-template-columns: 1fr; gap: 2.4rem; }
  .itk__beat .bl span { display: inline; }
}

/* ---- capabilities: this page lists 6 caps, and style.css's 4-column grid
   would leave two empty cells showing the cream grid ground on night.
   3 columns keeps every row full at every width (720px down is 2, then 1,
   from style.css — 6 divides evenly into all of them). ---- */
@media (min-width: 721px) {
  body.night .capabilities { grid-template-columns: repeat(3, 1fr); }
}

/* ---- page-scoped contrast fix (upstream files are read-only) ----
   style.css's dark .cta-final panel re-scopes ink tiers via the paper ramp;
   under body.night the paper tokens go DARK, so `color: var(--paper)` inside
   the near-black panel reads dark-on-dark (big number, h3, ghost button).
   Re-pin the paper tiers light inside the panel on this page.
   (Same fix css/redseal.css carries for its page.) */
body.night .cta-final {
  --paper: #f1eadb;
  --paper-deep: #e4dac1;
  --paper-edge: #a89f8d;
}

/* ---- form fields on night: focus lights the recessed panel's edge ---- */
body.night .contact-form input:focus,
body.night .contact-form select:focus,
body.night .contact-form textarea:focus {
  border-color: var(--red-hot);
  outline: 1.5px solid var(--red-hot);
  outline-offset: 1px;
}

/* ---- micro-touch: ON CALL dot quickens while a field has focus ----
   The dispatch-bar dot already pulses at 2.4s (motion-guarded in style.css).
   While someone is typing in the intake form, the pulse tightens — the line
   is live. Reduced-motion users keep the static dot; no new motion here. */
@media (prefers-reduced-motion: no-preference) {
  body.intake-live .status__dot { transform: scale(1.25); transition: transform 200ms ease; }
  body.intake-live .status__dot::after { animation-duration: 1s; }
}
