/* Movement follows the broadcast identity: layered depth, CRT idents and film cuts. */
.crt-programs{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;opacity:.91;mix-blend-mode:normal}
.tv-fallback{will-change:transform}.hero .tv-fallback{transition:transform .8s cubic-bezier(.2,.65,.3,1);transform:perspective(1200px) rotateY(calc(var(--mx,0)*-6deg)) rotateX(calc(var(--my,0)*3deg))}.hero-tv:hover .tv-fallback{transform:perspective(1200px) rotateY(calc(var(--mx,0)*-6deg)) rotateX(calc(var(--my,0)*3deg))}
.brand-motion{position:relative;transform:perspective(900px) rotateY(calc(var(--mx,0)*9deg)) rotateX(calc(var(--my,0)*-6deg));transition:transform .7s ease;will-change:transform}.brand-motion>img:first-child{animation:brand-drift 5.5s ease-in-out infinite;will-change:transform}.brand-motion .brand-echo{position:absolute;inset:0;width:100%;height:100%;opacity:0;filter:drop-shadow(4px 0 #ffbc00) drop-shadow(-3px 0 #eb2366);animation:brand-tracking 9s 3s infinite;pointer-events:none}
@keyframes brand-drift{0%,100%{transform:translateY(4px) rotate(-.45deg)}50%{transform:translateY(-11px) rotate(.6deg)}}
@keyframes brand-tracking{0%,87%,94%,100%{opacity:0;transform:translateX(0);clip-path:inset(0)}88%{opacity:.65;transform:translateX(7px);clip-path:inset(38% 0 48% 0)}90%{opacity:.5;transform:translateX(-6px);clip-path:inset(61% 0 25% 0)}92%{opacity:.4;transform:translateX(3px);clip-path:inset(20% 0 69% 0)}}
.motion-line{display:block;overflow:clip;padding-bottom:.065em;margin-bottom:-.065em}.motion-line-inner{display:block;transform-origin:0 100%;will-change:transform}.signal-heading h2{background:none;color:var(--orange)}.signal-heading h2 .motion-line-inner{background:linear-gradient(0deg,#fb3300,#ffcf00 48%,#ff440e);background-clip:text;color:transparent}.signal-heading h2 em{color:inherit}.hero h1 .motion-line-inner{padding-right:.08em}.signal-tear{position:fixed;inset:30% 0 40%;z-index:50;opacity:0;pointer-events:none;background:linear-gradient(transparent 0 20%,#d0dddd20 20% 21%,transparent 21% 65%,#e7d9232b 65% 68%,#e421661f 68% 71%,transparent 71%),repeating-linear-gradient(transparent 0 6px,#d1cabe1c 6px 7px);mix-blend-mode:screen}
.field-strip figure img{transition:filter .4s,transform .7s cubic-bezier(.2,.7,.3,1);will-change:transform}.field-strip figure:first-child img{animation:film-drift 12s ease-in-out infinite alternate}.field-strip figure:nth-child(3) img{animation:film-drift 14s 1s ease-in-out infinite alternate}.field-strip figure:hover img{filter:contrast(1.12) saturate(1.2)}@keyframes film-drift{from{transform:scale(1.04) translateX(-1%)}to{transform:scale(1.15) translateX(1%)}}
.video-slot:not(.has-video)>img{animation:roster-drift 15s ease-in-out infinite alternate}.video-slot[hidden]>img{animation-play-state:paused}@keyframes roster-drift{from{transform:scale(1.02) translateX(-.4%)}to{transform:scale(1.12) translateX(.5%)}}
.video-play{animation:play-breathe 3s ease-in-out infinite}.video-pick:hover .video-play{animation:none;transform:scale(1.14);transition:transform .35s}@keyframes play-breathe{50%{transform:scale(1.13);text-shadow:0 0 25px #eee7}}
.hero-positioning::after{transform-origin:left;animation:underline-signal 6s ease-in-out infinite}@keyframes underline-signal{0%,70%,100%{transform:rotate(-3deg) scaleX(1)}80%{transform:rotate(-3deg) scaleX(.72)}}
.apply-button span,.text-link{transition:transform .3s}.apply-button:hover span{transform:translate(4px,-4px)}.service summary{transition:padding .35s,background .35s}.service summary:hover{padding-left:12px;background:#f4d90008}.service-icon{transition:transform .35s}.service[open] .service-icon{transform:rotate(45deg)}.service[open]>p{animation:service-open .45s ease-out}@keyframes service-open{from{opacity:0;transform:translateY(-9px)}to{opacity:1;transform:translateY(0)}}
.signal-meter{animation:meter-pulse 2.3s steps(8) infinite}@keyframes meter-pulse{50%{filter:brightness(1.55);background-position:13px 0}}.rec{animation:on-air 3s ease-in-out infinite}@keyframes on-air{50%{opacity:.65}}
.motion-paused .brand-motion,.motion-paused .hero .tv-fallback{transform:none}.motion-paused .motion-line-inner{will-change:auto}.motion-paused .signal-tear{display:none}.motion-paused .field-strip img,.motion-paused .video-slot>img{will-change:auto}
@media(max-width:700px){.brand-motion>img:first-child{animation-name:brand-drift-mobile}.crt-programs{opacity:.85}@keyframes brand-drift-mobile{0%,100%{transform:translateY(2px)}50%{transform:translateY(-8px)}}}
@media(prefers-reduced-motion:reduce){.brand-motion,.hero .tv-fallback{transform:none!important}.signal-tear{display:none}.motion-line-inner{will-change:auto}.field-strip img,.video-slot>img{will-change:auto}}
.freedom-image,.contact-image{overflow:hidden}
