/* Video background and overlays */
.video-background { position:absolute; inset:0; z-index:1; width:100%; height:100%; object-fit:cover; object-position:center; opacity:.5; transition: opacity var(--transition-spring), filter var(--transition-spring); filter: brightness(.7) contrast(1.3) saturate(.8) blur(.5px); }
.video-overlay { position:absolute; inset:0; z-index:2; background: linear-gradient(135deg, rgba(var(--color-navy), .3) 0%, rgba(var(--color-primary), .15) 25%, rgba(var(--color-canvas), .4) 60%, rgba(var(--color-canvas), .7) 100%), radial-gradient(ellipse at 30% 20%, rgba(112,210,255,.1) 0%, transparent 70%), linear-gradient(45deg, rgba(197,161,70,.05) 0%, transparent 40%); backdrop-filter: blur(3px) brightness(1.1); }
.video-overlay::after { content:''; position:absolute; inset:0; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='1' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.03'/%3E%3C/svg%3E"); pointer-events:none; mix-blend-mode:overlay; }
.video-fallback { position:absolute; inset:0; background: linear-gradient(135deg, rgb(var(--color-navy)) 0%, rgb(var(--color-primary)) 100%); display:flex; align-items:center; justify-content:center; }
.video-fallback-message { color:rgb(var(--color-canvas)); font-size:var(--font-size-body); text-align:center; opacity:.7; }

@media (max-width:768px){ .video-background{opacity:.2} .video-overlay{background: linear-gradient(135deg, rgba(var(--color-navy), .2) 0%, rgba(var(--color-primary), .1) 30%, rgba(var(--color-canvas), .85) 70%, rgba(var(--color-canvas), .95) 100%); backdrop-filter: blur(2px);} }

