:root { --ease-premium: cubic-bezier(.2,.75,.25,1); }
html { scroll-behavior: smooth; }
.home-hero { position: relative; isolation: isolate; overflow: hidden; min-height: 560px; background: #07566d; }
.hero-media, .hero-wash { position: absolute; inset: 0; }
.hero-media video { width: 100%; height: 100%; object-fit: cover; opacity: .38; filter: saturate(.75) contrast(1.08); }
.hero-wash { background: linear-gradient(90deg, rgba(8,66,83,.98) 0%, rgba(8,91,112,.86) 48%, rgba(6,182,212,.45) 100%), linear-gradient(0deg, rgba(8,47,62,.55), transparent 55%); }
.hero-orb { position: absolute; border-radius: 999px; background: rgba(103,232,249,.18); animation: drift 9s ease-in-out infinite alternate; }
.hero-orb-one { width: 360px; height: 360px; right: -90px; top: -130px; }
.hero-orb-two { width: 190px; height: 190px; left: 44%; bottom: -90px; animation-delay: -4s; }
.hero-glass { padding: 1.25rem; border: 1px solid rgba(255,255,255,.55); border-radius: 1.15rem; background: rgba(255,255,255,.9); box-shadow: 0 18px 45px rgba(8,47,62,.2); backdrop-filter: blur(12px); transition: transform .35s var(--ease-premium), box-shadow .35s; }
.hero-glass:hover { transform: translateY(-6px); box-shadow: 0 24px 55px rgba(8,47,62,.28); }
.hero-primary, .hero-secondary { display: inline-flex; align-items: center; gap: .55rem; padding: .8rem 1.5rem; border-radius: 999px; font-weight: 700; transition: transform .25s var(--ease-premium), background .25s, box-shadow .25s; }
.hero-primary { color: #155e75; background: white; box-shadow: 0 10px 25px rgba(8,47,62,.25); }
.hero-secondary { color: white; border: 1px solid rgba(255,255,255,.5); background: rgba(255,255,255,.08); backdrop-filter: blur(8px); }
.hero-primary:hover, .hero-secondary:hover { transform: translateY(-3px); }
.hero-primary:hover { background: #ecfeff; box-shadow: 0 15px 30px rgba(8,47,62,.3); }
.hero-secondary:hover { background: rgba(255,255,255,.17); }
.reveal { opacity: 0; transform: translateY(28px); transition: opacity .75s var(--ease-premium), transform .75s var(--ease-premium); }
.reveal.is-visible { opacity: 1; transform: none; }
.reveal-delay { transition-delay: .15s; }
@keyframes drift { to { transform: translate3d(-35px,28px,0) scale(1.08); } }
@media (max-width: 767px) { .home-hero { min-height: 520px; } .hero-media video { opacity: .24; } .hero-wash { background: linear-gradient(135deg,rgba(8,66,83,.98),rgba(8,145,178,.82)); } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; } .reveal { opacity: 1; transform: none; } }
