/* Caliber motion: directional, editorial, and progressively enhanced. */
:root{--motion-ease:cubic-bezier(.16,1,.3,1);--caliber-orange:#ff6c3f;--caliber-orange-hover:#ff845f;--orange:var(--caliber-orange)}
/* Replace the prior browser-native crossfade, rather than stacking two transitions. */
@view-transition{navigation:none}
/* Clip the edges of entering artwork without creating a scroll container or breaking sticky sections. */
.motion-enabled main,.motion-enabled .site-footer{overflow-x:clip}
.motion-curtain{position:fixed;inset:0;z-index:10000;pointer-events:none;overflow:hidden;contain:strict}
.motion-curtain[hidden]{display:none}
.motion-curtain__panel{position:absolute;top:0;bottom:0;width:34%;background:#2448f4;transform:translateY(105%)}
.motion-curtain__panel:nth-child(1){left:0;background:#152cbe}
.motion-curtain__panel:nth-child(2){left:33.333%}
.motion-curtain__panel:nth-child(3){left:66.666%;background:var(--caliber-orange)}
.motion-curtain__mark{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:4vw;color:#f3f2ed;font:600 clamp(64px,17vw,240px)/1 Manrope,sans-serif;letter-spacing:-.075em;opacity:0}
.motion-curtain__arrow{font-size:1.3em;line-height:.8;letter-spacing:0}
/* Replace the older independent hero animations with a single timed entrance. */
.motion-cinematic .film-hero h1>span,.motion-cinematic .film-hero h1 em,.motion-cinematic .film-hero h1 em::after{animation:none!important}
.motion-cinematic .film-hero h1>span{transform-origin:0 100%}
.motion-progress{position:fixed;top:0;left:0;width:100%;height:3px;z-index:120;background:var(--caliber-orange);transform:scaleX(0);transform-origin:left;pointer-events:none}
.motion-enabled .index-line{transform-origin:left}
.motion-enabled .model-spine{transform-origin:top}
.motion-enabled .capability-card .offer-art{perspective:900px;overflow:hidden}
.motion-enabled .capability-card .offer-art canvas{transform:rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) scale(var(--art-scale,1));transition:transform .6s var(--motion-ease)}
.motion-enabled .capability-info h2{transition:color .25s,translate .5s var(--motion-ease)}
.motion-enabled .capability-card:is(:hover,:focus-visible) .capability-info h2{translate:6px 0}
.motion-enabled .capability-card:is(:hover,:focus-visible){--art-scale:1.035}
.motion-enabled .btn,.motion-enabled .text-link,.motion-enabled .cinema-cta{transition:background .3s,color .3s,border-color .3s,box-shadow .3s}
.motion-enabled :is(.btn,.text-link,.cinema-cta) span{display:inline-block;transition:transform .55s var(--motion-ease)}
.motion-enabled :is(.btn,.text-link,.cinema-cta):is(:hover,:focus-visible) span{transform:translate(5px,-5px)}
.motion-enabled .offer-jumps a{position:relative}
.motion-enabled .offer-jumps a::after{content:'';position:absolute;left:0;right:0;bottom:0;height:2px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .4s var(--motion-ease)}
.motion-enabled .offer-jumps a[aria-current="location"]::after{transform:scaleX(1)}
.motion-enabled .scope-disclosure summary::after{transition:transform .4s var(--motion-ease)}
.motion-enabled .field :is(input,textarea,select){transition:border-color .25s,background-color .25s,box-shadow .25s}
.motion-enabled .field:focus-within :is(input,textarea,select){box-shadow:0 3px 0 #2448f4}
.motion-enabled .footer-motion{margin-top:20px}
/* Existing scroll animations are superseded only on elements choreographed here. */
.motion-enabled .manifesto-type{animation:none}
.motion-paused .motion-progress{display:none}
.motion-paused .film-hero h1>span,.motion-paused .film-hero h1 em,.motion-paused .film-hero h1 em::after{animation:none!important}
.motion-paused :is(.capability-info h2,.capability-card .offer-art canvas){transform:none!important;translate:none!important;transition:none!important}
@media(max-width:760px){.motion-curtain__panel{width:34%}.motion-progress{height:2px}}
@media(prefers-reduced-motion:reduce){.motion-curtain,.motion-progress{display:none!important}.motion-enabled *,.motion-enabled *::before,.motion-enabled *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.motion-enabled .capability-info h2{translate:none!important}.motion-enabled .capability-card .offer-art canvas{transform:none!important}}
@media print{.motion-curtain,.motion-progress,.footer-motion{display:none!important}}

/* Precise brand pointer: signal-orange target, directional link, cobalt play state. */
.caliber-cursor{position:fixed;left:0;top:0;width:0;height:0;z-index:11000;pointer-events:none!important;display:none}
.caliber-cursor *{pointer-events:none!important}
.caliber-cursor__ring{position:absolute;left:-16px;top:-16px;width:32px;height:32px;box-sizing:border-box;display:grid;place-items:center;border:1px solid var(--caliber-orange);border-radius:50%;box-shadow:0 0 0 1px #10131080;transition:width .2s var(--motion-ease),height .2s var(--motion-ease),left .2s var(--motion-ease),top .2s var(--motion-ease),background-color .2s,transform .15s}
.caliber-cursor__dot{position:absolute;left:-4px;top:-4px;width:8px;height:8px;box-sizing:border-box;border:1px solid #101310;background:var(--caliber-orange);border-radius:50%}
.caliber-cursor__symbol{color:#101310;font:500 24px/1 Manrope,sans-serif}
.caliber-cursor[data-mode="link"] .caliber-cursor__ring,.caliber-cursor[data-mode="play"] .caliber-cursor__ring{left:-22px;top:-22px;width:44px;height:44px;background:var(--caliber-orange)}
.caliber-cursor[data-mode="play"] .caliber-cursor__ring{background:#2448f4;border-color:#fffefa}
.caliber-cursor[data-mode="play"] .caliber-cursor__symbol{color:#fffefa}
.caliber-cursor[data-mode="link"] .caliber-cursor__dot,.caliber-cursor[data-mode="play"] .caliber-cursor__dot{display:none}
.caliber-cursor[data-down] .caliber-cursor__ring{transform:scale(.88)}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) and (forced-colors:none){
 html[data-caliber-cursor],html[data-caliber-cursor] *{cursor:none!important}
 .caliber-cursor[data-visible]{display:block}
}
@media print{.caliber-cursor{display:none!important}}
