/* Slow grow / fullscreen hold / overlaid context / shared shrink. */
#opening{padding-bottom:var(--section)}
.v01-sequence{position:relative;height:520svh;margin-left:calc(-1 * var(--gutter));margin-right:calc(-1 * var(--gutter));--v01-scale:.62;--v01-radius:16px;--v01-text:0;--v01-text-y:24px;--v01-blur:0px;--v01-scrim:0}
.v01-stage.opening-visual{position:sticky;top:0;height:100svh;min-height:100svh;width:100%;margin:0;padding:0;overflow:hidden;isolation:isolate;clip-path:none!important;transform:none!important;opacity:1!important;filter:none!important;will-change:auto}
.v01-composition{position:absolute;inset:0;transform:scale(var(--v01-scale));transform-origin:center center;border-radius:var(--v01-radius);overflow:hidden;background:var(--media);will-change:transform,border-radius}
.v01-background{position:absolute;inset:0;filter:blur(var(--v01-blur));transform:none;will-change:filter}
.v01-background>.placeholder{position:absolute;inset:0;width:100%;height:100%;max-width:none;aspect-ratio:auto;margin:0;border:0;border-radius:0;padding:0;background:var(--media)}
.v01-background>.placeholder:hover{background:var(--media)}
.v01-background>.placeholder>svg{width:100%;height:100%;max-width:none;object-fit:cover;animation:none}
.v01-background .asset-label,.v01-background .asset-id,.v01-background .cross,.v01-background .zoom{opacity:calc(1 - var(--v01-text))}
.v01-scrim{position:absolute;inset:0;background:#233459;opacity:var(--v01-scrim);pointer-events:none}
.v01-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:100px var(--gutter) 80px;gap:clamp(24px,4svh,44px);opacity:var(--v01-text);transform:translateY(var(--v01-text-y));pointer-events:none;color:#EBE2CD;will-change:opacity,transform}
.v01-overlay .intro-statement{width:100%;max-width:1200px;margin:0}
.v01-overlay .intro-statement .section-subtitle{font-family:Aileron,Arial,sans-serif!important;font-size:clamp(21.6px,2.7vw,39.6px);font-weight:700!important;line-height:1.15;letter-spacing:-.025em;color:#EBE2CD;margin:0}
.v01-overlay .intro-credit{font-family:Aileron,Arial,sans-serif!important;font-size:var(--body);font-weight:400!important;line-height:1.3;letter-spacing:0;color:#EBE2CD;margin:0;padding:0;max-width:none}
/* Keep numbers close to their headings; restore breathing room before descriptions. */
#the-route .production-steps h3{margin:0 0 16px}
@media(max-width:900px){.v01-overlay{padding:90px 24px 60px}.v01-overlay .intro-statement .section-subtitle{font-size:clamp(20.7px,3.6vw,28.8px)}}
@media(prefers-reduced-motion:reduce){.v01-sequence{height:100svh}.v01-stage.opening-visual{position:relative}.v01-composition{transform:scale(.92);border-radius:16px;will-change:auto}.v01-overlay{opacity:1;transform:none;will-change:auto}.v01-scrim{opacity:.62}.v01-background{filter:none;will-change:auto}.v01-background .asset-label,.v01-background .asset-id,.v01-background .cross,.v01-background .zoom{opacity:0}}
body.motion-off .v01-sequence{height:100svh}body.motion-off .v01-stage.opening-visual{position:relative}body.motion-off .v01-composition{transform:scale(.92);border-radius:16px}body.motion-off .v01-overlay{opacity:1;transform:none}body.motion-off .v01-scrim{opacity:.62}body.motion-off .v01-background{filter:none}
@media print{.v01-sequence{height:auto;margin:0}.v01-stage.opening-visual{position:relative;height:170mm;min-height:0}.v01-composition{transform:none;position:relative;height:100%;border-radius:8px}.v01-overlay{opacity:1;transform:none}.v01-scrim{opacity:.62}.v01-background{filter:none}}

/* Rasterise a fixed blur layer once; crossfade it instead of animating the filter. */
.v01-background{filter:none;transform:none;will-change:auto}
.v01-background.v01-blur-layer{filter:blur(4px);transform:none;opacity:var(--v01-text);pointer-events:none;will-change:opacity;backface-visibility:hidden}
.v01-overlay{transform:translate3d(0,var(--v01-text-y),0);transition:none;backface-visibility:hidden}
.v01-scrim{transition:none;will-change:opacity;transform:translateZ(0);backface-visibility:hidden}
@media(prefers-reduced-motion:reduce){.v01-blur-layer{display:none}.v01-overlay{transform:none}}
body.motion-off .v01-blur-layer{display:none}body.motion-off .v01-overlay{transform:none}
@media print{.v01-blur-layer{display:none}.v01-overlay{transform:none}}

/* Approved V01 still. The portrait crop retains Maria and the complete bicycle. */
.v01-background>.placeholder>picture>.v01-image{display:block;position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 50%}
@media(max-width:900px){.v01-background>.placeholder>picture>.v01-image{object-position:55% 50%}}
