/* Light cinematic treatment in the original blue and white brand palette. */
:root { color-scheme: light; --primary: #055487; --text: #212529; --navy: #071b3d; --muted: #56656e; --line: #dce5eb; --ivory: #f4f8fb; --shadow: 0 20px 60px #0554870d; }
body { background: #fff; }
::selection { background: #055487; color: #fff; }
.header { color: #212529; }
.header.is-scrolled { background: #ffffffd9; border-bottom-color: var(--line); box-shadow: 0 8px 32px #0554870d; }
.header .brand { background: transparent; padding: 0; }
.header .brand img { height: 44px; }
.header-tools .button.outline { border-color: #05548766; color: #055487; }
.desktop-nav a { transition: color 200ms ease; }
.mobile-menu nav { background: #fffffff5; border-color: var(--line); }
.hero-video { background-color: #edf5fa; }
.hero-video::after {
    content: ''; position: absolute; inset: 0; z-index: -1; pointer-events: none;
    background: linear-gradient(180deg, #ffffff50, transparent 30%, #ffffff20 65%, #fff), linear-gradient(90deg, transparent, #ffffff60);
}
html[dir="ltr"] .hero-video::after { transform: scaleX(-1); }
.hero-content { animation: cinema-enter 1.2s ease-out both; }
.hero-video h1 { color: #055487; text-shadow: 0 3px 24px #ffffffb0; font-weight: 600; }
.button { border-radius: 3px; }
.hero-video .hero-actions .button { background: #055487; color: #fff; border-color: #055487; box-shadow: 0 8px 30px #05548714; }
.hero-video .hero-actions .button.outline { background: #ffffff70; color: #055487; border-color: #05548770; backdrop-filter: blur(10px); }
.hero-video .hero-actions .button:hover { background: #005b8e; color: #fff; }
.section { padding-block: 100px; }
.trust-strip { background: #fff; border-top: 0; padding-block: 32px; }
.tinted,.why { background: radial-gradient(ellipse at 90% 20%, #d8ebf780, transparent 65%), #f5f9fc; }
.section-top { margin-bottom: 40px; }
.empty-state,.program-card,.category,.offering,blockquote,.detail-aside,.form-panel {
    background: linear-gradient(135deg, #fff, #f4f8fb);
    border-color: var(--line); border-radius: 6px;
}
.empty-state { border-inline-start: 2px solid #05548766; }
.empty-icon,.program-symbol { background: #e7f1f8; }
.path-grid>a,.path-grid>a:nth-child(2) {
    background: linear-gradient(145deg, #e7f2f9, #fff 80%);
    border: 1px solid var(--line); border-top: 1px solid #05548780;
    min-height: 270px; transition: transform 250ms ease, border-color 250ms ease;
    box-shadow: 0 15px 40px #05548706;
}
.path-grid>a:hover,.category:hover { transform: translateY(-4px); border-color: #05548780; }
.path-grid>a>span { color: #055487; letter-spacing: 2px; }
.principles>div { border-color: var(--line); }
.journey span { border-color: #05548740; background: #fff; }
.corporate-banner { background: radial-gradient(ellipse at 10% 100%, #0f8ed866, transparent 65%), #055487; border: 1px solid #05548730; border-radius: 6px; }
.corporate-mark { color: #c9e0ee; }
.page-heading { background: radial-gradient(ellipse at 80% 0, #d4eaf880, transparent 70%), #f4f9fc; }
footer { background: #f1f5f8; border-color: var(--line); }
.footer-logo { background: transparent; }
@keyframes cinema-enter { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: translateY(0); } }
@media(max-width:800px) {
    .section { padding-block: 64px; }
    .header .brand img { height: 38px; }
    .path-grid>a { min-height: auto; }
    .hero-video::after { background: linear-gradient(180deg,#ffffff50,transparent 25%,#ffffff50 70%,#fff); }
}
@media(prefers-reduced-motion:reduce) { .hero-content { animation: none; } }
