.hall-opening{position:relative}.hall-media{height:calc(100svh - 80px);min-height:650px;position:relative;background:var(--at-bg)}.hall-media img,.hall-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.video-control{display:block;position:absolute;right:48px;bottom:28px;border:0;border-bottom:1px solid var(--at-line-strong);background:var(--at-surface);padding:8px 16px;font-size:13px}.hall-opening .ai-opening-copy{position:absolute;top:56px;left:8%;max-width:560px;color:var(--at-limestone)}.ai-opening-copy h1{font-size:clamp(44px,4.5vw,72px);max-width:12ch}.ai-opening-copy p{font-size:19px;max-width:42ch;margin-top:32px}.metronome-opening{position:relative;padding:80px 48px 0 8%;min-height:750px;display:flex;align-items:center;gap:6%;}.metronome-opening>img{width:58%;height:auto;order:2;align-self:flex-end}.metronome-opening .ai-opening-copy{flex:1;padding-bottom:80px}
/* The body is one story: five stops on a line drawn by scrolling, each with a still drawing that completes as it comes
   into view, then the question and the form (as on Software Factory). Every headline is a claim. */
.ai-story{max-width:1160px;margin-top:40px;padding-bottom:88px}
.story-track{position:relative;padding-bottom:0}
.story-list{position:relative;list-style:none;margin:0;padding:0}
.story-stop{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:start;min-height:392px;padding:88px 64px 56px}
.story-copy{position:relative;z-index:1;min-width:0}
.story-copy h3{font-size:28px;line-height:1.2;letter-spacing:var(--at-track-tight);max-width:24ch;margin-bottom:22px;text-wrap:balance}
.story-copy p{font-size:17.5px;line-height:1.7;color:var(--at-text-muted)}
.story-visual{position:relative;min-width:0;height:264px;margin-top:-8px}
.story-stop:nth-child(even) .story-copy{grid-column:2;grid-row:1}
.story-stop:nth-child(even) .story-visual{grid-column:1;grid-row:1}
/* A stop without a drawing: one paragraph at reading width. */
.story-stop.story-wide{grid-template-columns:minmax(0,1fr);min-height:0}
.story-stop.story-wide .story-copy{grid-column:1;grid-row:auto}
.story-wide .story-copy h3{max-width:none}
.story-wide .story-copy p{max-width:640px}
.story-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;fill:none;stroke-linecap:round;stroke-linejoin:round}
.story-route{stroke:var(--at-line);stroke-width:1;fill:none}
.story-ink{stroke:var(--at-accent);stroke-width:1.5;fill:none}
.story-marker circle{fill:var(--at-surface);stroke:var(--at-line-strong);stroke-width:1}
.story-marker .stop-number{fill:var(--at-text);font:12px var(--at-font-ui);stroke:none}
.story-marker[data-passed=true] circle{fill:var(--at-accent);stroke:var(--at-accent)}
.story-marker[data-passed=true] .stop-number{fill:var(--at-text-on-accent)}
.story-tip{fill:var(--at-accent);stroke:var(--at-surface);stroke-width:2}
.journey-scene{display:block;width:100%;height:264px;overflow:visible;fill:none;stroke-linecap:round;stroke-linejoin:round}
.journey-scene text{fill:var(--at-text-muted);stroke:none;font:12.5px var(--at-font-ui)}
.journey-scene .scene-title{font-size:12px;fill:var(--at-text-muted)}
.journey-scene .scene-doc-title{font-weight:600;fill:var(--at-text)}
.journey-scene .scene-caption{stroke:var(--at-surface);stroke-width:6;paint-order:stroke fill}
.journey-scene .scene-paper,.journey-scene .scene-person{fill:var(--at-surface);stroke:var(--at-line-strong);stroke-width:1}
.journey-scene .scene-selected{fill:var(--at-bg);stroke:var(--at-line-strong);stroke-width:1}
.journey-scene .scene-rule{stroke:var(--at-line-strong);stroke-width:1;fill:none}
.journey-scene .scene-detail{stroke:var(--at-text-muted);stroke-width:1.2;fill:none}
.journey-scene .scene-flow{stroke:var(--at-accent);stroke-width:1.6;fill:none}
.journey-scene .scene-core{fill:var(--at-text-muted);stroke:none}
.journey-scene .scene-planned{fill:none;stroke:var(--at-line-strong);stroke-width:1;stroke-dasharray:4 4}
.journey-scene .scene-question{stroke:var(--at-accent);stroke-width:1.2}
.journey-scene .scene-warning{fill:var(--at-accent);font-weight:600}
/* The question the line ends at, and the form right under it. */
.story-end{position:relative;margin:76px auto 0;text-align:center;width:fit-content;max-width:100%;background:var(--at-surface);padding:14px 24px 0}
.story-kicker{display:block;font-size:11px;letter-spacing:.04em;color:var(--at-text-muted);margin-bottom:20px}
.story-end h2{font-size:clamp(32px,3.6vw,48px);line-height:1.15}
.story-end h2 em{font-family:var(--at-font-editorial);font-weight:400}
.ai-story .site-contact.ai-contact{position:relative;max-width:640px;margin:24px auto 0;padding-top:0;border-top:0}
.ai-contact h2{font-size:30px;max-width:620px}
.ai-contact .contact-eyebrow{display:none}
@media(max-width:1000px){.story-stop{gap:36px;padding-left:56px;padding-right:56px}.story-copy h3{font-size:27px}}
@media(max-width:820px){.ai-story{margin-top:24px}.story-stop{grid-template-columns:minmax(0,1fr);padding:80px 40px 48px;gap:28px;min-height:0}.story-copy{max-width:560px;margin:0 auto;width:100%}.story-copy h3{max-width:24ch;margin-bottom:20px}.story-copy p{font-size:16.5px}.story-visual{width:100%;max-width:460px;margin:0 auto}.story-stop:nth-child(even) .story-copy,.story-stop:nth-child(even) .story-visual{grid-column:1;grid-row:auto}.story-end{margin:30px 0 0 40px;text-align:left;padding:15px 0 0}.story-end h2{font-size:32px}.ai-story .site-contact.ai-contact{margin-top:14px}.ai-contact h2{font-size:28px}.hall-opening .ai-opening-copy{left:32px;right:32px;top:40px}.ai-opening-copy p{font-size:18px}.metronome-opening{padding:48px 32px 0;min-height:600px;gap:24px;flex-wrap:wrap}.metronome-opening>img{width:100%}.metronome-opening .ai-opening-copy{padding-bottom:0;flex-basis:100%}}
@media(max-width:480px){.story-stop{padding-left:32px;padding-right:24px}.story-copy h3{font-size:26px}.story-end{margin-left:32px}.ai-opening-copy p{font-size:16px}.hall-opening .ai-opening-copy{left:24px;right:24px}.hall-media{min-height:560px}.video-control{right:24px}.ai-story .site-contact.ai-contact{margin-left:8px;margin-right:8px}.journey-scene text{font-size:12px}}

@media(max-width:820px){.ai-story.wrap{width:calc(100% - 32px)}.ai-story .story-stop{padding:80px 24px 48px}.ai-story .story-end{margin-left:24px}.ai-story .story-visual{height:264px}.ai-story .journey-scene text{font-size:12px}.ai-story .journey-scene .scene-title{font-size:11.5px}.hall-media{height:calc(100svh - 96px);min-height:600px}.hall-opening .ai-opening-copy{top:36px;left:24px;right:24px}.ai-opening-copy h1{font-size:clamp(40px,10vw,56px)}.video-control{min-height:44px;bottom:20px;right:20px}}
