:root {
    --gold: #D8C6A3;
    --dark: #0D2236;
    --navy: #0D2236;
    --navy-deep: #081A2B;
    --blue-gray: #3F5874;
    --blue-gray-light: #E7EDF2;
    --text: #263545;
    --light: #F4F6F8;
    --white: #FFFFFF;
}

html { scroll-padding-top: 100px; }
body { background: var(--light) !important; color: var(--text) !important; }
a { color: var(--blue-gray); }
a:hover { opacity: 0.82; }
.status-bar { display: none !important; }

nav {
    min-height: 88px !important;
    height: auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 24px !important;
    background: var(--navy-deep) !important;
    border-bottom: 6px solid var(--blue-gray) !important;
    box-shadow: 0 8px 24px rgba(8, 26, 43, 0.16) !important;
    padding: 16px 40px !important;
    top: 0 !important;
}

.logo,
.logo:visited,
.logo a {
    color: var(--white) !important;
    text-decoration: none !important;
}

.logo-lockup {
    display: flex !important;
    align-items: center !important;
    gap: 18px !important;
    min-width: 0 !important;
    max-width: 52vw;
    flex: 0 1 auto !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}

.logo-lockup .brand-block {
    display: flex;
    flex-direction: column;
    line-height: 1.05;
    white-space: nowrap;
}

.logo-lockup .brand-name {
    font-family: 'Playfair Display', Georgia, serif;
    font-weight: 800;
    font-size: clamp(0.86rem, 1.4vw, 1.16rem);
    letter-spacing: 0.01em;
    color: var(--white);
}

.logo-lockup .brand-name .brand-light {
    font-weight: 400;
    opacity: 0.92;
}

.logo-lockup .brand-tagline {
    margin-top: 5px;
    font-size: 0.42rem;
    line-height: 1;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    color: rgba(216, 198, 163, 0.86);
}

.logo-lockup .brand-dot {
    color: var(--gold);
    font-size: 1.1rem;
    line-height: 1;
    transform: translateY(-4px);
}

.logo-icon { display: none !important; }
.nav-links {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 18px !important;
    margin-left: auto !important;
    flex: 0 0 auto !important;
    flex-wrap: nowrap !important;
}
.nav-links a {
    color: rgba(255,255,255,0.88) !important;
    font-size: 0.78rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
}
.nav-links a:last-child {
    color: var(--white) !important;
    border: 1px solid rgba(216, 198, 163, 0.55);
    border-radius: 999px;
    padding: 8px 12px;
}
.menu-toggle div { background: var(--white) !important; }

section { scroll-margin-top: 110px; }
.hero,
.section-white,
.card,
.contact-form,
.container {
    border-color: var(--blue-gray-light) !important;
}
.hero { border-top: 6px solid var(--blue-gray) !important; }
.course-hero,
section[style*="background: var(--dark)"] {
    background: linear-gradient(180deg, var(--navy-deep), var(--navy)) !important;
    color: var(--white) !important;
}
.s-subtitle,
.hero-meta-item span,
li::before { color: var(--blue-gray) !important; }
.course-hero .s-subtitle,
.course-hero .hero-meta-item span,
section[style*="background: var(--dark)"] .s-subtitle { color: var(--gold) !important; }
.btn {
    background: var(--blue-gray) !important;
    color: var(--white) !important;
    border: 2px solid var(--blue-gray) !important;
}
.btn-outline,
.btn[style*="transparent"] {
    background: transparent !important;
    color: var(--navy) !important;
    border-color: var(--blue-gray) !important;
}
.card {
    background: var(--white) !important;
    border-top: 4px solid var(--blue-gray) !important;
    box-shadow: 0 12px 30px rgba(13, 34, 54, 0.06);
}
footer {
    background: var(--navy-deep) !important;
    color: rgba(255,255,255,0.72) !important;
    border-top: 6px solid var(--blue-gray) !important;
}
footer a { color: var(--gold) !important; }

@media (max-width: 1280px) {
    nav { padding: 14px 22px !important; gap: 16px !important; }
    .logo-lockup { max-width: 42vw; gap: 12px !important; }
    .logo-lockup .brand-tagline { display: none; }
    .logo-lockup .brand-name { font-size: clamp(0.78rem, 1.15vw, 1rem); }
    .nav-links { gap: 11px !important; }
    .nav-links a { font-size: 0.68rem !important; letter-spacing: 0.06em !important; }
    .nav-links a:last-child { padding: 7px 10px; }
}

@media (max-width: 1060px) {
    nav { min-height: 76px !important; }
    .logo-lockup { max-width: calc(100vw - 96px); overflow: hidden; }
    .logo-lockup .brand-block:last-child { display: none; }
    .logo-lockup .brand-dot { display: none; }
    .nav-links.open {
        top: 76px !important;
        background: var(--navy-deep) !important;
        border-bottom: 6px solid var(--blue-gray) !important;
    }
}
