/* Vault: post-event follow-up. The promise, the assessment, then the call. */

/* ---------- Hero ---------- */
.vault-hero__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--s-7); align-items: center; }
@media (min-width: 900px) { .vault-hero__grid { grid-template-columns: minmax(0, 1.35fr) minmax(0, 0.85fr); gap: clamp(2rem, 1rem + 3vw, 5rem); } }
.vault-hero .display { max-width: 9ch; }
.vault-hero__tag { margin-top: var(--s-5); font-size: clamp(1.25rem, 1rem + 1vw, 1.75rem); font-weight: 800; letter-spacing: -0.03em; color: var(--on-studio); }
.vault-hero .lead { margin-top: var(--s-4); max-width: 46ch; }
.vault-hero .cta-micro { margin-top: var(--s-4); }
.vault-hero__alt { margin-top: var(--s-5); padding-top: var(--s-4); border-top: 1px solid var(--studio-line); color: var(--on-studio-2); font-size: var(--t-small); max-width: 44ch; }
.vault-hero__alt a { color: var(--on-studio); font-weight: 700; }
.vault-hero__monitor { position: relative; justify-self: center; width: min(100%, 21rem); }
@media (min-width: 900px) { .vault-hero__monitor { justify-self: end; } }
.vault-hero__monitor .chyron { position: absolute; left: -1.1rem; bottom: 4.6rem; pointer-events: none; }
@media (max-width: 899px) { .vault-hero__monitor .chyron { left: 0.6rem; } }

/* ---------- The idea ---------- */
.vault-idea__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--s-8); }
@media (min-width: 1000px) { .vault-idea__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--s-9); align-items: center; } }
.vault-idea__voice { color: var(--ink); max-width: 18ch; font-size: clamp(2rem, 1.1rem + 3.4vw, 4rem); line-height: 1.04; }
.vault-idea__body { margin-top: var(--s-6); color: var(--ink-2); max-width: 46ch; font-size: var(--t-lead); line-height: 1.5; }

.moves { border-top: 2px solid var(--ink); }
.move { display: grid; grid-template-columns: 14px minmax(0, 1fr); grid-template-areas: "lamp word" ". promise"; column-gap: var(--s-4); padding-block: clamp(1rem, 0.8rem + 1vw, 1.75rem); border-bottom: 1px solid var(--sheet-line); max-width: none; }
.move__lamp { grid-area: lamp; align-self: center; width: 14px; height: 14px; border-radius: 50%; background: var(--sheet-line); transition: background-color 180ms linear, box-shadow 240ms var(--ease-out); }
.move__word { grid-area: word; font-size: clamp(2.25rem, 1.2rem + 4vw, 4.5rem); font-weight: 850; letter-spacing: -0.05em; line-height: 0.95; color: var(--ink); transition: color 240ms var(--ease-out); }
.move__promise { grid-area: promise; margin-top: 0.35rem; font-size: clamp(1.125rem, 1rem + 0.5vw, 1.375rem); font-weight: 600; letter-spacing: -0.015em; color: var(--ink-2); }
.move__promise strong { color: var(--ink); font-weight: 800; }
@media (min-width: 700px) {
  .move { grid-template-columns: 14px minmax(0, 1fr) auto; grid-template-areas: "lamp word promise"; align-items: baseline; }
  .move__promise { margin-top: 0; }
}
/* Lamp sequence (vault.js): rows go live in order; the last live row stays lit */
.moves.is-armed .move .move__word { color: color-mix(in srgb, var(--ink) 28%, transparent); }
.moves.is-armed .move.is-live .move__word { color: var(--ink); }
.moves .move.is-live .move__lamp { background: var(--tally-fill); box-shadow: 0 0 0 5px rgba(224, 20, 60, 0.14); }
.moves .move.is-live .move__promise strong { color: var(--tally-ink); }

.vault-idea__close { margin-top: var(--s-8); padding-top: var(--s-5); border-top: 1px solid var(--sheet-line); font-weight: 620; letter-spacing: -0.02em; font-size: clamp(1.125rem, 1rem + 0.6vw, 1.5rem); line-height: 1.35; color: var(--ink); max-width: 58ch; }
.vault-idea__close span { display: block; margin-top: var(--s-3); font-size: var(--t-small); font-weight: 650; letter-spacing: 0; color: var(--ink-2); }

/* ---------- Assessment ---------- */
.vault-assess__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--s-8); }
@media (min-width: 1000px) { .vault-assess__grid { grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); gap: var(--s-9); align-items: center; } }
.vault-assess__lead { margin-top: var(--s-5); color: var(--on-studio-2); font-size: var(--t-lead); line-height: 1.5; max-width: 42ch; }
.vault-assess .cta-group { margin-top: var(--s-6); }
.assess-steps { border-top: 1px solid var(--studio-line); }
.assess-steps li { display: grid; grid-template-columns: 5rem minmax(0, 1fr); gap: 0.25rem var(--s-4); padding-block: var(--s-5); border-bottom: 1px solid var(--studio-line); max-width: none; }
.assess-steps .time { color: var(--on-studio-3); grid-row: span 2; padding-top: 0.35em; }
.assess-steps strong { font-size: clamp(1.25rem, 1.05rem + 0.8vw, 1.625rem); font-weight: 780; letter-spacing: -0.03em; line-height: 1.15; }
.assess-steps li span:last-child { color: var(--on-studio-2); }

/* ---------- Talk ---------- */
.vault-talk__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--s-8); align-items: center; }
@media (min-width: 960px) { .vault-talk__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--s-9); } }
.vault-talk__photo { position: relative; }
.vault-talk__photo .chyron { position: absolute; left: -0.6rem; bottom: 2rem; }
@media (max-width: 959px) { .vault-talk__photo .chyron { left: 0.6rem; } }
.vault-talk h2 { max-width: 13ch; }
.vault-talk__lead { margin-top: var(--s-5); color: var(--ink-2); max-width: 48ch; }
.vault-talk__points { margin-top: var(--s-6); border-top: 1px solid var(--sheet-line); }
.vault-talk__points li { display: grid; grid-template-columns: 1.5rem 1fr; gap: var(--s-3); padding-block: var(--s-4); border-bottom: 1px solid var(--sheet-line); font-weight: 600; max-width: none; }
.vault-talk__points svg { width: 18px; height: 18px; margin-top: 3px; color: var(--tally-ink); }
.vault-talk__points a { color: var(--ink); }
.vault-talk .cta-group { margin-top: var(--s-6); }
.vault-talk .cta-micro { margin-top: var(--s-4); }
