/* The One Grid film supplies the color; typography and UI remain Veldren. */
.machine{--machine-bg:#070e18;position:relative;background:var(--machine-bg);color:var(--paper);padding:64px 0 28px}
.machine-stage{position:relative;max-width:1920px;margin:auto}
.machine-top,.machine-bottom,.machine-credit{margin-inline:var(--gutter)}
.machine-top{display:flex;justify-content:space-between;align-items:center;gap:24px}
.machine-top>p{font-size:24px;font-weight:500;letter-spacing:-.035em}
.machine-top>p>span{display:inline-block;margin-left:16px;padding-left:16px;border-left:1px solid #ffffff30;color:var(--accent);font-size:14px;font-weight:400;letter-spacing:0}
.machine-skip{font-size:14px;text-decoration:none;color:var(--muted);padding-block:12px}
.machine-skip>span{margin-left:8px;color:var(--accent)}
.machine-visual{position:relative;margin:40px 0 0;aspect-ratio:1376/768;overflow:hidden}
.machine-visual img,.machine-visual video{display:block;width:100%;height:100%;object-fit:contain}
.machine-visual video{position:absolute;inset:0;opacity:0;pointer-events:none}
.machine.is-film-ready .machine-visual video{opacity:1}
.machine-visual:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,var(--machine-bg),transparent 10%,transparent 90%,var(--machine-bg)),linear-gradient(90deg,var(--machine-bg),transparent 8%,transparent 90%,var(--machine-bg))}
.machine-copy{margin:40px var(--gutter) 48px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}
.machine-step{scroll-margin-top:100px;min-width:0}
.machine-kicker{font-size:14px;color:var(--accent);margin-bottom:24px}
.machine-step h2{font-size:clamp(32px,3.2vw,52px);line-height:1.06;letter-spacing:-.04em;font-weight:500}
.machine-step h2>span{color:var(--muted)}
.machine-step>p:not(.machine-kicker){font-size:19px;line-height:1.45;color:var(--muted);margin-top:24px;max-width:38ch}
.machine-step>p.machine-note{color:var(--accent);font-size:14px;line-height:1.4}
.machine-specs{margin:28px 0 0;font-size:15px;line-height:1.4}
.machine-specs>div{display:grid;grid-template-columns:92px minmax(0,1fr);gap:16px;padding:12px 0;border-top:1px solid #ffffff25}
.machine-specs dt{color:var(--accent)}
.machine-specs dd{margin:0;color:var(--muted)}
.machine-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px}
.machine-stops{display:flex;gap:24px;flex-wrap:wrap}
.machine-stops a{display:inline-flex;gap:10px;align-items:center;min-height:44px;font-size:14px;text-decoration:none;color:var(--muted);border-bottom:1px solid transparent}
.machine-stops a>span{color:var(--accent);font-variant-numeric:tabular-nums}
.machine-stops a[aria-current="step"]{color:var(--paper);border-color:var(--accent)}
.machine a:focus-visible{outline:2px solid var(--accent);outline-offset:5px;border-radius:2px}
.machine-cue{display:none;font-size:14px;color:var(--muted)}
.machine-cue>span{padding-left:16px;color:var(--accent)}
.machine-credit{font-size:12px;color:var(--muted);margin-top:24px;line-height:1.4}
.machine-credit a{color:inherit;text-underline-offset:3px}
.machine-progress{display:none;position:absolute;inset:auto 0 0;height:2px;background:#ffffff12}
.machine-progress i{display:block;height:100%;background:var(--accent);transform-origin:left;transform:scaleX(0)}
.machine.is-machine-scrub{height:360svh;padding:0}
.is-machine-scrub .machine-stage{position:sticky;top:0;height:100svh;min-height:660px;overflow:hidden}
.is-machine-scrub .machine-top{position:absolute;inset:100px 0 auto;z-index:2}
.is-machine-scrub .machine-visual{position:absolute;left:0;top:17%;width:64%;height:70%;aspect-ratio:auto;margin:0}
.is-machine-scrub .machine-copy{position:absolute;inset:24% var(--gutter) 18% auto;width:32%;margin:0;display:block}
.is-machine-scrub .machine-step{position:absolute;inset:0;opacity:0;transform:translateY(14px);pointer-events:none;transition:opacity .25s ease,transform .35s ease}
.is-machine-scrub .machine-step.is-active{opacity:1;transform:none;pointer-events:auto}
.is-machine-scrub .machine-bottom{position:absolute;inset:auto 0 58px;z-index:2}
.is-machine-scrub .machine-credit{position:absolute;bottom:24px;left:0;right:0;margin-top:0}
.is-machine-scrub .machine-cue,.is-machine-scrub .machine-progress{display:block}
@media(min-width:1600px){.is-machine-scrub .machine-copy{width:30%}.machine-step h2{font-size:56px}.machine-step>p:not(.machine-kicker){font-size:21px}}
@media(max-width:1068px){.machine-top>p>span{display:block;margin:6px 0 0;padding:0;border:0}.machine-copy{gap:24px}.is-machine-scrub .machine-visual{width:59%}.is-machine-scrub .machine-copy{width:36%}.machine-step h2{font-size:36px}.machine-step>p:not(.machine-kicker){font-size:17px}.machine-specs{font-size:14px}.machine-specs>div{grid-template-columns:80px 1fr;gap:10px;padding:10px 0}}
@media(max-width:734px){
 .machine{padding-top:40px}.machine-top{align-items:start}.machine-top>p{font-size:23px}.machine-top>p>span{font-size:12px}.machine-skip{font-size:12px;max-width:124px;text-align:right;padding-top:4px}
 .machine-copy{display:block;margin-top:16px}.machine-step+.machine-step{margin-top:48px;padding-top:32px;border-top:1px solid #ffffff25}.machine-step h2{font-size:34px}.machine-kicker{font-size:12px;margin-bottom:16px}.machine-step>p:not(.machine-kicker){font-size:17px;margin-top:18px}.machine-step>p.machine-note{font-size:13px}.machine-specs{margin-top:18px;font-size:13px}.machine-specs>div{padding:8px 0}
 .machine-bottom{gap:0}.machine-stops{width:100%;gap:12px;justify-content:space-between}.machine-stops a{font-size:12px;gap:6px}.machine-credit{font-size:10px;max-width:36ch}.machine-cue{display:none!important}
 .machine.is-machine-scrub{height:330svh}.is-machine-scrub .machine-stage{min-height:700px}.is-machine-scrub .machine-top{top:88px}.is-machine-scrub .machine-visual{top:18%;height:34%;width:100%}.is-machine-scrub .machine-copy{inset:53% var(--gutter) 12%;width:auto}.is-machine-scrub .machine-step+.machine-step{margin:0;padding:0;border:0}.is-machine-scrub .machine-step h2{font-size:clamp(27px,7.5vw,34px)}.is-machine-scrub .machine-step>p:not(.machine-kicker){font-size:15px;margin-top:14px}.is-machine-scrub .machine-kicker{margin-bottom:12px}.is-machine-scrub .machine-note{display:none}.is-machine-scrub .machine-specs{margin-top:14px;font-size:12px}.is-machine-scrub .machine-specs>div{padding:6px 0}.is-machine-scrub .machine-bottom{bottom:42px}.is-machine-scrub .machine-credit{bottom:12px;max-width:none}
}
@media(prefers-reduced-motion:reduce){.machine-step{transition:none!important}.machine-cue{display:none!important}}
