/* site-launch — page-level settings for the launch copy. No colours, shadows, radii, lines or type of its own: only the
   system's tokens, where a filled slot loses what the .copy-slot class used to give it. */

/* WorkDial (52) and PlateRedraw (48) draw their copy with .copy-slot from script (design/system is read-only):
   once the words are filled, they are editorial copy, so they take the card-body type (NOTES 7). */
.wd__copy.copy-slot,
.pl-says > p.copy-slot {
  font-family: var(--font-sans);
  font-size: var(--type-card-body-size);
  letter-spacing: var(--type-card-body-tracking);
  line-height: var(--type-card-body-leading);
}
.gallery-frame__label [data-copy] { margin-top: 10px; }

/* contact: the privacy line under the send bar, and the no-script line */
.inquiry__privacy { margin: var(--space-4) 0 0; max-width: 56ch; }
.inquiry__noscript { margin: var(--space-4) 0 0; }


/* Launch fix (for the main session to carry into the case page): the case's own index (.topbar--index, "THE FILM ·
   ONE MAN · …") sat under the brand at 1440 — its negative top margin pulled it into the header row inside the
   HeroBand's sky. Here it stands on its own line under the header, in the header's margins. */
.hero-band__sky > .topbar--index { margin: 0; padding: 0 var(--wall-margin-x); position: relative; z-index: 1; }

/* WorkDial (52), the live variant (launch/workdial-live.js; the director, 2026-11-04): the face says it can be pressed;
   the segment the pointer is on is drawn in the drafting line (its dotted edges are the system's .wd__leader, its
   dimension line the ink's 1px), and its name stands in ink. The line under the dial changes with it, so it keeps its
   height. For the main session to carry into design/system with the script (HANDOFF-workdial.md). */
.wd.is-built .wd__face { cursor: pointer; }
.wd.is-turning .wd__face { cursor: grabbing; }
.wd__sec { opacity: 0; }
.wd__sec.is-on { opacity: 1; }
.wd__sec-line { fill: none; stroke: var(--ink-primary); stroke-width: 1; }
.wd__det.is-peek { color: var(--ink-primary); }
.wd__hint { min-height: 1lh; }
html.motion .wd__sec { transition: opacity var(--dur-hover) var(--ease); }
@media (max-width: 720px) { .wd__hint { min-height: 2lh; } }

/* 54 · WorldTakesShape on the home and System (the director, 2026-11-06): no board and no container, only the page's own
   wall and the animation. With data-wte-surface="none" the stage still draws a board's registration marks on a bare
   wall; here they would read as a frame, so they are off. */
#world-shape .wte__stage.board::before, #world-shape .wte__stage.board::after { display: none; }
/* …and no clock or timing line under it (the director, 2026-11-06): the site never says how fast or how much at once the
   work runs, so the deck keeps Replay, the scrubber and the totals, and drops the clock ("In parallel, in theory"). */
#world-shape [data-clock] { display: none; }

/* The loops' pause control (launch/site.js; launch review S1, WCAG 2.2.2): a mono label on the dark board's ink, in the
   corner of the picture; the system's red 1px outline when it has focus. */
.loop-toggle { position: absolute; right: var(--space-3); bottom: var(--space-3); z-index: 3; margin: 0; padding: var(--space-1) var(--space-2); border: 0; background: var(--paper-dark); color: var(--ink-on-dark); cursor: pointer; opacity: 0.8; }
.loop-toggle:hover, .loop-toggle:focus-visible { opacity: 1; }
.loop-toggle:focus-visible { outline: 1px solid var(--datum-red); outline-offset: 2px; }

/* The InquiryForm's other lines (launch/inquiry.js): the mail app opened, the send failed, an email is missing. */
.inquiry__mailto, .inquiry__failed, .inquiry__need { margin: var(--space-4) 0 0; max-width: 56ch; }
.inquiry__field input[aria-invalid="true"] { border-bottom-color: var(--datum-red); }
