:root {
    --primary: #da3d30;
    --primary-dark: #b52d1e;
    --secondary: #10b5a7;
    --secondary-soft: #dffaf7;
    --bg: #f7f7f3;
    --surface: #ffffff;
    --surface-soft: #edf4ef;
    --text: #1d2a2f;
    --muted: #57707a;
    --border: rgba(17, 24, 39, 0.08);
    --shadow: 0 20px 50px rgba(17, 24, 39, 0.08);
    --hero-grad: linear-gradient(135deg, rgba(11, 23, 26, 0.85), rgba(12, 52, 50, 0.76));
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    font-family: 'Inter', sans-serif;
    background: var(--bg);
    color: var(--text);
    line-height: 1.6;
}
img { max-width: 100%; display: block; }
a { color: var(--primary); text-decoration: none; }
.container { max-width: 1280px; margin: 0 auto; padding: 0 20px; }
.site-header {
    position: sticky;
    top: 0;
    z-index: 100;
    background: rgba(255, 255, 255, 0.96);
    border-bottom: 1px solid var(--border);
    box-shadow: 0 8px 20px rgba(17,24,39,0.04);
}
.topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 18px 20px;
}
.brand-box {
    display: flex;
    align-items: center;
    gap: 14px;
}
.logo {
    width: 52px;
    height: 52px;
    display: grid;
    place-items: center;
    border-radius: 16px;
    background: linear-gradient(135deg, var(--primary), #ef7d3c);
    color: white;
    font-weight: 800;
    box-shadow: 0 14px 28px rgba(218, 61, 48, 0.22);
}
.brand-box h1 {
    font-size: 2.1rem;
    margin: 0;
    letter-spacing: -0.06em;
    color: var(--text);
}
.navbar {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 1;
}
.nav-menu {
    display: flex;
    list-style: none;
    gap: 26px;
    margin: 0;
    padding: 0;
    flex-wrap: wrap;
    justify-content: center;
}
.nav-menu li {
    position: relative;
    transition: transform 0.25s ease;
}
.nav-menu li:hover {
    transform: translateY(-1px);
}
.nav-menu a {
    color: var(--text);
    font-weight: 600;
    font-size: 0.98rem;
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 8px 12px;
    border: 1px solid transparent;
    border-radius: 999px;
    transition: color 0.25s ease, border-color 0.25s ease, background-color 0.25s ease;
}
.nav-menu a::after {
    display: none;
}
.nav-menu a:hover,
.nav-menu a:focus-visible,
.nav-menu a[aria-current="page"] {
    color: var(--primary);
    border-color: rgba(22, 124, 99, 0.18);
    background: rgba(22, 124, 99, 0.05);
}
.top-actions {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}
.cta, .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    padding: 12px 18px;
    font-weight: 700;
    transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease;
    border: none;
    cursor: pointer;
}
.cta.primary, .btn.primary {
    background: linear-gradient(135deg, var(--primary), var(--primary-dark));
    color: #fff;
    box-shadow: 0 14px 26px rgba(218,61,48,0.18);
}
.cta.secondary, .btn.secondary {
    background: rgba(16,181,167,0.10);
    color: #0a3d3e;
    border: 1px solid rgba(16,181,167,0.18);
}
.cta.ghost {
    background: white;
    color: var(--text);
    border: 1px solid var(--border);
}
.cta:hover, .btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 16px 26px rgba(17,24,39,0.08);
}
.nav-toggle { display: none; }
.hero {
    position: relative;
    min-height: 700px;
    overflow: hidden;
    background: linear-gradient(135deg, rgba(9,18,22,0.94), rgba(10,47,52,0.82)), url('https://images.unsplash.com/photo-1522202176988-66273c2fd55f?auto=format&fit=crop&w=1600&q=80') center/cover no-repeat;
}
.hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at top right, rgba(16,181,167,0.22), transparent 35%), linear-gradient(90deg, rgba(8,12,18,0.18), transparent 60%);
    z-index: 0;
}
.hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(8,12,18,0.10), rgba(8,12,18,0.20));
}
.hero-inner {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 1.5fr 0.8fr;
    gap: 32px;
    align-items: center;
    min-height: 700px;
    padding-top: 52px;
    padding-bottom: 52px;
}
.hero-copy { color: white; max-width: 900px; }
.nav-menu.is-open {
    display: flex;
}
.eyebrow {
    display: inline-block;
    background: rgba(255, 255, 255, 0.07);
    border: 1px solid rgba(255, 255, 255, 0.12);
    color: white;
    font-weight: 700;
    font-size: 0.8rem;
    padding: 8px 14px;
    border-radius: 50px;
    margin-bottom: 20px;
    backdrop-filter: blur(8px);
}
.eyebrow.dark {
    background: rgba(37, 99, 235, 0.08);
    color: var(--primary-dark);
    border-color: rgba(37, 99, 235, 0.12);
}
.eyebrow.light {
    background: rgba(255,255,255,0.12);
    color: white;
}
.hero-copy h2 {
    font-size: clamp(3rem, 5vw, 5.8rem);
    line-height: 0.96;
    letter-spacing: -0.06em;
    margin: 0 0 20px;
    max-width: 900px;
    font-weight: 700;
    text-shadow: 0 4px 18px rgba(0, 0, 0, 0.18);
}
.hero-copy p {
    font-size: 1.18rem;
    color: rgba(255, 255, 255, 0.82);
    max-width: 760px;
    margin: 0;
}
.cta-row { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 32px; }
.btn.primary {
    padding: 18px 32px;
    font-size: 1.05rem;
    border-radius: 8px;
    letter-spacing: 0.01em;
}
.hero-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
    margin-top: 26px;
    color: rgba(255,255,255,0.8);
    font-size: 0.95rem;
    font-weight: 600;
}
.hero-side {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 20px;
}
.floating-card {
    display: flex;
    flex-direction: column;
    justify-content: center;
    background: rgba(255,255,255,0.08);
    border: 1px solid rgba(255,255,255,0.15);
    border-radius: 18px;
    padding: 20px 22px;
    backdrop-filter: blur(8px);
    box-shadow: var(--shadow);
    min-width: 190px;
    animation: floatCard 6s ease-in-out infinite;
}
.floating-card:nth-child(2) {
    animation-delay: 1.4s;
}
.card-tag {
    display: inline-block;
    margin-bottom: 8px;
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: rgba(255,255,255,0.76);
}
.floating-card strong {
    font-size: 2.2rem;
    letter-spacing: -0.05em;
    color: white;
    line-height: 1;
}
.floating-card span:last-child {
    color: rgba(255,255,255,0.82);
    font-size: 0.9rem;
    margin-top: 8px;
}
.card-one { margin-right: 90px; }
.card-two { margin-right: 20px; }
@keyframes floatCard {
    0%, 100% { transform: translateY(0px); }
    50% { transform: translateY(-8px); }
}
.hero-meta {
    display: flex;
    gap: 18px;
    flex-wrap: wrap;
    margin-top: 28px;
    color: rgba(255, 255, 255, 0.85);
    font-size: 0.95rem;
    font-weight: 600;
}
.hero-visual {
    display: grid;
    gap: 16px;
    justify-items: center;
}
.visual-card {
    width: min(100%, 420px);
    background: rgba(255,255,255,0.16);
    backdrop-filter: blur(12px);
    border: 1px solid rgba(255,255,255,0.2);
    border-radius: 24px;
    padding: 22px 22px 18px;
    box-shadow: var(--shadow);
    color: white;
}
.visual-card h3 { font-size: 2rem; margin: 12px 0 10px; }
.visual-card p { color: rgba(255,255,255,0.8); margin: 0; }
.visual-card ul {
    margin: 18px 0 0;
    padding-left: 18px;
    color: rgba(255,255,255,0.9);
}
.chip {
    display: inline-block;
    background: rgba(255,255,255,0.12);
    color: #fff;
    border: 1px solid rgba(255,255,255,0.18);
    border-radius: 999px;
    padding: 7px 12px;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}
.chip.soft { background: rgba(20, 184, 166, 0.18); }
.mini-stat-grid {
    width: min(100%, 420px);
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}
.mini-stat {
    background: rgba(255,255,255,0.14);
    border: 1px solid rgba(255,255,255,0.2);
    border-radius: 18px;
    padding: 18px 16px;
    text-align: center;
    color: white;
    backdrop-filter: blur(12px);
}
.mini-stat strong { display: block; font-size: 1.8rem; }
.mini-stat span { color: rgba(255,255,255,0.8); }
.section-intro {
    max-width: 760px;
    margin-bottom: 28px;
}
.section-intro h2 {
    margin: 0;
    font-size: clamp(2rem, 4vw, 3rem);
    line-height: 1.15;
}
.section { padding: 72px 0; }
.section-heading { margin-bottom: 30px; }
.section-heading h2 { font-size: clamp(1.8rem, 3vw, 2.6rem); margin: 0; }
.stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
    margin-top: -20px;
    position: relative;
    z-index: 2;
}
.stat-box {
    background: linear-gradient(180deg, rgba(255,255,255,0.9), rgba(255,255,255,0.95));
    border-radius: 20px;
    box-shadow: var(--shadow);
    padding: 24px 20px;
    text-align: center;
    border: 1px solid rgba(148, 163, 184, 0.18);
}
.stat-box.bright {
    background: linear-gradient(135deg, #eef2ff, #ecfeff);
}
.stat-box h3 { margin: 0 0 8px; font-size: 2.1rem; }
.services-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}
.service-card {
    background: linear-gradient(180deg, rgba(255,255,255,0.96), rgba(241,245,255,0.95));
    border: 1px solid rgba(148, 163, 184, 0.2);
    border-radius: 24px;
    padding: 28px 22px;
    box-shadow: var(--shadow);
    position: relative;
    overflow: hidden;
    transition: transform 0.35s ease, box-shadow 0.35s ease;
}
.service-card::before {
    content: '';
    position: absolute;
    inset: 0 auto auto 0;
    width: 100%;
    height: 4px;
    background: linear-gradient(90deg, var(--primary), var(--secondary), var(--purple));
}
.service-card:hover {
    transform: translateY(-8px) scale(1.01);
    box-shadow: 0 25px 60px rgba(79, 70, 229, 0.14);
}
.service-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 58px;
    border-radius: 16px;
    background: linear-gradient(135deg, var(--primary), var(--secondary));
    color: white;
    font-weight: 800;
    margin-bottom: 18px;
    box-shadow: var(--glow);
}
.service-card h3 { margin: 0 0 12px; font-size: 1.45rem; }
.service-card p { color: var(--muted); margin: 0; }
.course-grid, .impact-grid, .info-grid, .team-grid, .gallery-grid {
    display: grid;
    gap: 22px;
}
.course-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.course-card, .info-panel, .team-card, .gallery-item, .form-card, .contact-card, .notice-item {
    background: var(--card);
    border-radius: 22px;
    border: 1px solid var(--border);
    box-shadow: var(--shadow);
    overflow: hidden;
}
.course-card {
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.course-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 25px 60px rgba(37, 99, 235, 0.14);
}
.course-image {
    background: linear-gradient(135deg, #dbeafe, #cffafe, #fdf2f8);
    min-height: 180px;
    display: grid;
    place-items: center;
    font-weight: 800;
    color: var(--primary-dark);
    position: relative;
}
.course-image::after {
    content: '';
    position: absolute;
    inset: 16px;
    border-radius: 18px;
    border: 1px solid rgba(59, 130, 246, 0.15);
}
.course-image span {
    position: relative;
    z-index: 1;
}
.course-body { padding: 22px; }
.course-body h3 { margin-top: 0; }
.card-meta {
    display: flex;
    gap: 14px;
    color: var(--muted);
    font-size: 0.9rem;
    margin: 12px 0;
    flex-wrap: wrap;
}
.text-link { font-weight: 700; }
.impact-band {
    background: linear-gradient(135deg, #eff6ff 0%, #fff7fb 100%);
}
.impact-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
.impact-item, .info-panel, .team-card { padding: 24px; }
.process-section { padding-bottom: 40px; }
.process-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 22px;
}
.process-step {
    background: linear-gradient(180deg, #ffffff, #f6f9ff);
    border: 1px solid rgba(148, 163, 184, 0.2);
    border-radius: 22px;
    padding: 26px 20px;
    position: relative;
    box-shadow: var(--shadow);
}
.process-step span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    border-radius: 14px;
    background: linear-gradient(135deg, rgba(37,99,235,0.13), rgba(20,184,166,0.2));
    color: var(--primary-dark);
    font-weight: 800;
    margin-bottom: 18px;
}
.process-step h3 { margin: 0 0 10px; font-size: 1.5rem; }
.process-step p { color: var(--muted); margin: 0; }
.cta-banner {
    margin: 20px 0 0;
    background: linear-gradient(135deg, #0f172a 0%, #1d4ed8 48%, #0ea5a4 100%);
    padding: 32px 0;
    color: white;
}
.cta-banner-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}
.cta-banner h2 { margin: 0; font-size: clamp(1.8rem, 3vw, 2.8rem); }
.notice-list { display: grid; gap: 18px; }
.notice-item { padding: 20px 22px; }
.notice-date { color: var(--primary); font-weight: 700; }
.page-banner {
    padding: 94px 0 54px;
    background: linear-gradient(135deg, #1d4ed8, #0ea5a4, #7c3aed);
    color: white;
}
.page-banner h1 { margin: 0; font-size: clamp(2rem, 4vw, 3rem); }
.two-col, .detail-grid, .contact-layout, .dashboard-grid { display: grid; grid-template-columns: 1.2fr 0.8fr; gap: 24px; }
.alt-bg { background: linear-gradient(135deg, #eef6ff 0%, #fdf2f8 100%); padding: 30px; border-radius: 18px; }
.form-layout { display: grid; place-items: center; }
.form-card, .contact-card {
    width: 100%;
    max-width: 760px;
    padding: 28px;
}
.grid { display: grid; gap: 18px; }
.two-col-form { grid-template-columns: repeat(2, minmax(0,1fr)); }
label { display: block; font-weight: 600; color: var(--text); margin-bottom: 14px; }
input, select, textarea, button {
    width: 100%;
    border-radius: 12px;
    border: 1px solid rgba(148, 163, 184, 0.4);
    padding: 12px 14px;
    font: inherit;
    margin-top: 8px;
    background: rgba(255,255,255,0.85);
}
textarea { resize: vertical; }
.checkbox-row {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    font-weight: 400;
}
.checkbox-row input { width: 18px; height: 18px; margin-top: 3px; }
.alert {
    background: linear-gradient(135deg, #ecfdf5, #f0fdf4);
    border: 1px solid rgba(22, 163, 74, 0.22);
    color: #166534;
    padding: 12px 16px;
    border-radius: 12px;
    margin-bottom: 18px;
}
.map-box {
    background: linear-gradient(135deg, #dbeafe, #ecfeff);
    border: 1px dashed var(--primary);
    border-radius: 16px;
    min-height: 220px;
    display: grid;
    place-items: center;
    color: var(--primary-dark);
    font-weight: 700;
}
.detail-header {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    align-items: center;
    margin-bottom: 24px;
}
.detail-page .detail-content { padding-right: 20px; }
.info-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.gallery-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
.gallery-item { border-radius: 16px; }
.gallery-item figcaption { padding: 12px 14px; }
.site-footer {
    background: linear-gradient(180deg, #0b1220 0%, #111827 100%);
    color: #dfeafc;
    padding: 60px 0 20px;
    margin-top: 30px;
}
.footer-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 24px; }
.site-footer h3, .site-footer h4 { color: #fff; margin-top: 0; }
.site-footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.site-footer a { color: #dfeafc; }
.footer-bottom { padding-top: 18px; margin-top: 18px; border-top: 1px solid rgba(255,255,255,0.12); color: #c7d3ea; }
.admin-body {
    background: #0c0f14;
    color: #f3f4f6;
    font-family: 'Segoe UI', Inter, sans-serif;
}
.admin-shell {
    display: grid;
    grid-template-columns: 260px minmax(0, 1fr);
    min-height: 100vh;
    background: linear-gradient(180deg, #0b0d12 0%, #121821 100%);
}
.admin-sidebar {
    background: linear-gradient(180deg, #0f172a 0%, #111827 100%);
    color: #fff;
    padding: 34px 20px 20px;
    border-right: 1px solid rgba(148, 163, 184, 0.18);
}
.admin-sidebar h2 {
    margin: 0 0 28px;
    font-size: 2rem;
    font-weight: 800;
    letter-spacing: -0.04em;
    color: #ffffff;
}
.admin-sidebar nav { display: grid; gap: 10px; }
.admin-sidebar a {
    color: #e5e7eb;
    padding: 12px 14px;
    border-radius: 12px;
    display: block;
    font-weight: 600;
    transition: all 0.25s ease;
}
.admin-sidebar a:hover {
    background: linear-gradient(90deg, rgba(37,99,235,0.25), rgba(14,165,164,0.14));
    color: #fff;
    transform: translateX(2px);
}
.admin-main {
    padding: 38px 36px;
    background: rgba(15, 23, 32, 0.85);
}
.admin-topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 28px;
}
.admin-topbar h1 {
    margin: 0;
    font-size: clamp(2rem, 4vw, 3rem);
    line-height: 1.1;
    letter-spacing: -0.05em;
    color: #ffffff;
}
.admin-badge {
    display: inline-flex;
    align-items: center;
    padding: 8px 14px;
    border-radius: 999px;
    background: rgba(37, 99, 235, 0.12);
    border: 1px solid rgba(96, 165, 250, 0.2);
    color: #bfdbfe;
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}
.stats-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 18px;
    max-width: 540px;
    margin-bottom: 24px;
}
.admin-stat-card {
    background: linear-gradient(180deg, rgba(31,41,55,0.96), rgba(17,24,39,0.96));
    border: 1px solid rgba(148, 163, 184, 0.14);
    border-radius: 22px;
    box-shadow: 0 18px 36px rgba(15, 23, 42, 0.4);
    padding: 22px 24px;
    color: #f8fafc;
    text-align: left;
}
.admin-stat-card .stat-label {
    display: inline-block;
    color: #93c5fd;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-bottom: 10px;
}
.admin-stat-card h3 {
    margin: 0 0 8px;
    font-size: clamp(2rem, 5vw, 3rem);
    line-height: 1;
    color: #ffffff;
}
.admin-stat-card p {
    margin: 0;
    color: #cbd5e1;
    font-size: 0.96rem;
}
.admin-panel { background: white; border: 1px solid var(--border); border-radius: 18px; padding: 24px; box-shadow: var(--shadow); }
.inline-form, .stack-form { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 22px; }
.stack-form { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); }
.stack-form textarea, .stack-form input, .stack-form button { width: 100%; }
.full-width { width: 100%; }
.small-form { max-width: 420px; }
.centered { display: grid; place-items: center; }
table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 10px;
}
th, td {
    padding: 12px 10px;
    border-bottom: 1px solid var(--border);
    text-align: left;
}
.reveal {
    opacity: 0;
    transform: translateY(25px);
    transition: opacity 0.7s ease, transform 0.7s ease;
}
.reveal.in-view {
    opacity: 1;
    transform: translateY(0);
}
@media (max-width: 900px) {
    .site-header {
        background: rgba(255,255,255,0.98);
    }
    .topbar {
        display: grid;
        grid-template-columns: 1fr auto;
        align-items: center;
        gap: 16px;
        padding: 16px 18px;
    }
    .brand-box h1 {
        font-size: 1.5rem;
    }
    .nav-toggle {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        background: #111827;
        color: #fff;
        border: 0;
        border-radius: 10px;
        width: 42px;
        height: 42px;
        font-size: 1.3rem;
        cursor: pointer;
    }
    .navbar {
        justify-content: flex-end;
    }
    .nav-menu {
        display: none;
        width: 100%;
        position: absolute;
        left: 0;
        top: 100%;
        background: rgba(255,255,255,0.98);
        box-shadow: 0 12px 28px rgba(15,23,32,0.08);
        padding: 16px 18px;
        gap: 10px;
        flex-direction: column;
        align-items: flex-start;
        border-top: 1px solid rgba(15,23,32,0.06);
    }
    .nav-menu.is-open {
        display: flex;
    }
    .hero {
        min-height: 560px;
    }
    .hero-inner {
        grid-template-columns: 1fr;
        min-height: 560px;
        padding-top: 48px;
        padding-bottom: 48px;
    }
    .hero-copy h2 {
        font-size: 2.7rem;
        line-height: 1.05;
    }
    .hero-copy p {
        font-size: 1rem;
    }
    .hero-side {
        align-items: flex-start;
        gap: 14px;
    }
    .card-one, .card-two {
        margin-right: 0;
    }
    .stats, .course-grid, .services-grid, .impact-grid, .process-grid, .footer-grid, .info-grid, .gallery-grid, .two-col, .detail-grid, .contact-layout, .dashboard-grid, .stack-form, .two-col-form, .cta-banner-inner {
        grid-template-columns: 1fr;
    }
    .stats {
        grid-template-columns: repeat(2, minmax(0,1fr));
        margin-top: 0;
    }
    .section {
        padding: 54px 0;
    }
    .cta-banner {
        padding: 28px 0;
    }
    .cta-banner-inner {
        display: grid;
        gap: 18px;
    }
    .admin-shell { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
    .container {
        padding: 0 14px;
    }
    .topbar {
        grid-template-columns: 1fr;
        justify-items: start;
    }
    .top-actions {
        width: 100%;
        justify-content: flex-start;
    }
    .btn, .cta {
        width: auto;
    }
    .hero-copy h2 {
        font-size: 2.2rem;
    }
    .hero-copy p {
        font-size: 0.96rem;
    }
    .stats {
        grid-template-columns: 1fr;
    }
    .brand-box h1 {
        font-size: 1.35rem;
    }
}

/* Public-facing design system refresh */
:root {
    --primary: #174a7e;
    --primary-dark: #10365e;
    --secondary: #13a89e;
    --secondary-soft: #e2f5f2;
    --bg: #f5f8fb;
    --surface: #ffffff;
    --surface-soft: #edf4f8;
    --card: #ffffff;
    --text: #172b3d;
    --muted: #5f7180;
    --border: rgba(23, 43, 61, 0.1);
    --shadow: 0 18px 48px rgba(20, 45, 68, 0.09);
    --purple: #7557c8;
    --glow: 0 12px 28px rgba(23, 74, 126, 0.18);
}

body {
    background: var(--bg);
    color: var(--text);
    font-family: 'Inter', 'Segoe UI', Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

.site-header {
    background: rgba(255, 255, 255, 0.96);
    border-bottom: 1px solid rgba(23, 43, 61, 0.08);
    box-shadow: 0 6px 24px rgba(20, 45, 68, 0.06);
    backdrop-filter: blur(16px);
}

.topbar {
    position: relative;
    min-height: 88px;
    padding-top: 12px;
    padding-bottom: 12px;
}

.brand-box { gap: 12px; flex-shrink: 0; }
.logo {
    width: 46px;
    height: 46px;
    border-radius: 14px;
    background: linear-gradient(145deg, #174a7e, #13a89e);
    box-shadow: 0 8px 20px rgba(23, 74, 126, 0.2);
}
.brand-box h1 {
    font-size: 1.55rem;
    letter-spacing: -0.045em;
    font-weight: 800;
}

.navbar { min-width: 0; }
.nav-menu {
    align-items: center;
    gap: 3px;
    flex-wrap: nowrap;
}
.nav-menu li { transform: none; }
.nav-menu li:hover { transform: none; }
.nav-menu a {
    display: inline-flex;
    align-items: center;
    min-height: 42px;
    padding: 0 10px;
    border-radius: 9px;
    color: #42566a;
    font-size: 0.86rem;
    font-weight: 650;
    white-space: nowrap;
    transition: color 0.2s ease, background-color 0.2s ease;
}
.nav-menu a::after { display: none; }
.nav-menu a:hover,
.nav-menu a:focus-visible,
.nav-menu a[aria-current="page"] {
    color: var(--primary);
    background: #edf4f8;
}
.nav-menu a[aria-current="page"] { font-weight: 750; }
.nav-menu a:focus-visible,
.nav-toggle:focus-visible,
.btn:focus-visible,
.cta:focus-visible {
    outline: 3px solid rgba(19, 168, 158, 0.5);
    outline-offset: 3px;
}

.top-actions { gap: 9px; flex-shrink: 0; }
.btn, .cta {
    width: auto;
    min-height: 46px;
    padding: 12px 20px;
    border-radius: 11px;
    font-family: inherit;
    font-size: 0.94rem;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0.005em;
    text-align: center;
    white-space: nowrap;
}
.btn.primary, .cta.primary {
    background: linear-gradient(135deg, #174a7e, #10365e);
    box-shadow: 0 8px 18px rgba(23, 74, 126, 0.17);
}
.btn.primary,
.btn.secondary {
    min-height: 46px;
    padding: 12px 20px;
    border-radius: 11px;
    font-size: 0.94rem;
}
.btn.secondary, .cta.secondary {
    background: #e9f4f2;
    color: #176d68;
    border: 1px solid #d4eae6;
}

.service-card,
.course-card,
.info-panel,
.team-card,
.gallery-item,
.form-card,
.contact-card,
.notice-item,
.stat-box,
.process-step {
    border-color: rgba(23, 43, 61, 0.08);
    box-shadow: 0 12px 32px rgba(20, 45, 68, 0.06);
}
.service-card,
.course-card,
.process-step { border-radius: 18px; }
.service-card::before { background: linear-gradient(90deg, var(--primary), var(--secondary)); }
.service-card:hover,
.course-card:hover {
    box-shadow: 0 22px 46px rgba(20, 45, 68, 0.12);
}
.service-icon { background: linear-gradient(145deg, var(--primary), var(--secondary)); }
.hero-copy h2 {
    max-width: 780px;
    font-weight: 750;
    letter-spacing: -0.045em;
    line-height: 1.02;
}
.hero-copy p {
    max-width: 650px;
    line-height: 1.75;
}
.section-heading h2,
.section-intro h2 {
    color: #17334b;
    letter-spacing: -0.035em;
    font-weight: 750;
}
.section-heading > p,
.section-intro > p {
    max-width: 720px;
    margin-top: 12px;
    color: var(--muted);
    font-size: 1.05rem;
}
.eyebrow.dark {
    background: #e8f1f7;
    border-color: #dce9f1;
    color: var(--primary-dark);
}
.course-body h3,
.service-card h3,
.process-step h3 {
    color: #1c3850;
    letter-spacing: -0.02em;
}
.text-link {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: var(--primary);
}
.text-link::after {
    content: '\2192';
    transition: transform 0.2s ease;
}
.text-link:hover::after { transform: translateX(3px); }
input, select, textarea, button {
    font-family: inherit;
}
input, select, textarea {
    color: var(--text);
    background: #fff;
}
input:focus, select:focus, textarea:focus {
    outline: none;
    border-color: rgba(19, 168, 158, 0.75);
    box-shadow: 0 0 0 4px rgba(19, 168, 158, 0.12);
}
.form-card button.btn,
.contact-card button.btn {
    width: auto;
    min-width: 170px;
    margin-top: 4px;
}
.page-banner {
    background: linear-gradient(120deg, #123a63, #176c79);
}
.page-banner .container { position: relative; }
.page-banner h1 {
    font-weight: 750;
    letter-spacing: -0.04em;
}
.impact-band { background: linear-gradient(135deg, #eaf3f7, #eff7f5); }
.cta-banner { background: linear-gradient(120deg, #123a63, #176c79); }
.site-footer {
    background: #102337;
    color: #c7d6e2;
}
.site-footer a { transition: color 0.2s ease; }
.site-footer a:hover { color: #73d7cd; }

@media (max-width: 1100px) {
    .topbar {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto auto;
        gap: 12px;
        padding: 12px 20px;
    }
    .brand-box { grid-column: 1; }
    .navbar { grid-column: 2; justify-content: flex-end; }
    .top-actions { grid-column: 3; }
    .top-actions .btn.secondary { display: none; }
    .nav-toggle {
        display: inline-flex;
        width: 44px;
        height: 44px;
        flex-direction: column;
        gap: 5px;
        padding: 0;
        margin: 0;
        border: 1px solid var(--border);
        border-radius: 12px;
        background: white;
        box-shadow: 0 4px 12px rgba(20, 45, 68, 0.06);
    }
    .nav-toggle span {
        display: block;
        width: 18px;
        height: 2px;
        border-radius: 2px;
        background: var(--primary-dark);
        transition: transform 0.2s ease, opacity 0.2s ease;
    }
    .nav-toggle.is-active span:first-child { transform: translateY(7px) rotate(45deg); }
    .nav-toggle.is-active span:nth-child(2) { opacity: 0; }
    .nav-toggle.is-active span:last-child { transform: translateY(-7px) rotate(-45deg); }
    .nav-menu,
    .nav-menu.is-open {
        display: none;
        position: absolute;
        z-index: 110;
        top: calc(100% + 1px);
        left: 20px;
        right: 20px;
        width: auto;
        max-height: calc(100vh - 110px);
        overflow-y: auto;
        flex-direction: column;
        align-items: stretch;
        gap: 4px;
        padding: 12px;
        border: 1px solid var(--border);
        border-radius: 0 0 16px 16px;
        background: white;
        box-shadow: 0 20px 36px rgba(20, 45, 68, 0.14);
    }
    .nav-menu.is-open { display: flex; }
    .nav-menu a {
        min-height: 46px;
        width: 100%;
        padding: 0 14px;
        font-size: 0.96rem;
    }
}

@media (max-width: 560px) {
    .topbar {
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 10px;
        padding: 10px 14px;
    }
    .brand-box h1 { font-size: 1.25rem; }
    .logo { width: 42px; height: 42px; }
    .navbar { grid-column: 2; }
    .top-actions {
        display: flex;
        grid-column: 1 / -1;
        grid-row: 2;
        justify-content: stretch;
        margin-top: -4px;
    }
    .top-actions .btn { flex: 1; }
    .nav-menu,
    .nav-menu.is-open {
        left: 14px;
        right: 14px;
    }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

/* Black, white, red and green public-site theme */
:root {
    --primary: #ef4444;
    --primary-dark: #c92f37;
    --secondary: #26c281;
    --secondary-soft: #17382b;
    --bg: #090b0a;
    --surface: #111513;
    --surface-soft: #171d19;
    --card: #131816;
    --text: #f4f6f4;
    --muted: #b1bbb4;
    --border: rgba(255, 255, 255, 0.1);
    --shadow: 0 22px 55px rgba(0, 0, 0, 0.32);
    --purple: #26c281;
    --glow: 0 14px 34px rgba(38, 194, 129, 0.15);
}

.site-body {
    background: #090b0a;
    color: #f4f6f4;
}

.site-body main {
    overflow: hidden;
    background:
        radial-gradient(ellipse at 8% 28%, rgba(239, 68, 68, 0.035), transparent 34%),
        radial-gradient(ellipse at 92% 66%, rgba(38, 194, 129, 0.035), transparent 32%),
        #090b0a;
}

.site-body .site-header {
    background: rgba(10, 13, 11, 0.94);
    border-bottom: 1px solid rgba(255, 255, 255, 0.09);
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.28);
    backdrop-filter: blur(18px);
}

.site-body .brand-box h1 { color: #f7f8f7; }
.site-body .logo {
    background: linear-gradient(145deg, #ed4547 0%, #ca303b 52%, #23a96f 100%);
    box-shadow: 0 8px 24px rgba(239, 68, 68, 0.22);
}
.site-body .nav-menu a { color: #d3dad5; }
.site-body .nav-menu a:hover,
.site-body .nav-menu a:focus-visible,
.site-body .nav-menu a[aria-current="page"] {
    color: #fff;
    background: rgba(255, 255, 255, 0.07);
}
.site-body .nav-menu a[aria-current="page"] {
    box-shadow: inset 0 -2px #26c281;
}
.site-body .nav-menu a:focus-visible,
.site-body .nav-toggle:focus-visible,
.site-body .btn:focus-visible,
.site-body .cta:focus-visible {
    outline-color: rgba(38, 194, 129, 0.75);
}
.site-body .btn.primary,
.site-body .cta.primary {
    background: linear-gradient(120deg, #f05252, #cc303b);
    color: #fff;
    box-shadow: 0 9px 24px rgba(239, 68, 68, 0.23);
}
.site-body .btn.primary:hover,
.site-body .cta.primary:hover {
    background: linear-gradient(120deg, #fa6262, #df3943);
    box-shadow: 0 13px 30px rgba(239, 68, 68, 0.3);
}
.site-body .btn.secondary,
.site-body .cta.secondary {
    background: rgba(38, 194, 129, 0.1);
    border: 1px solid rgba(38, 194, 129, 0.4);
    color: #9aebc5;
}
.site-body .btn.secondary:hover,
.site-body .cta.secondary:hover {
    background: rgba(38, 194, 129, 0.18);
    box-shadow: 0 12px 26px rgba(38, 194, 129, 0.12);
}

.site-body .hero {
    min-height: 640px;
    background-color: #090b0a;
    background-image:
        linear-gradient(90deg, rgba(7, 9, 8, 0.97) 0%, rgba(7, 9, 8, 0.88) 45%, rgba(7, 9, 8, 0.56) 100%),
        url('https://images.unsplash.com/photo-1522202176988-66273c2fd55f?auto=format&fit=crop&w=1800&q=85');
    background-position: center;
    background-size: cover;
}
.site-body .hero::before {
    background:
        radial-gradient(ellipse at 85% 20%, rgba(38, 194, 129, 0.16), transparent 34%),
        radial-gradient(ellipse at 8% 90%, rgba(239, 68, 68, 0.15), transparent 32%);
    animation: heroGlow 12s ease-in-out infinite alternate;
}
.site-body .hero-inner { min-height: 640px; }
.site-body .hero-copy h2 { color: #fff; }
.site-body .hero-copy p { color: rgba(244, 246, 244, 0.8); }
.site-body .eyebrow {
    background: rgba(255, 255, 255, 0.07);
    border-color: rgba(38, 194, 129, 0.35);
    color: #b9f2d4;
}
.site-body .eyebrow.dark {
    background: rgba(38, 194, 129, 0.09);
    border-color: rgba(38, 194, 129, 0.19);
    color: #82e1b2;
}
.site-body .hero-meta { color: rgba(244, 246, 244, 0.76); }
.site-body .hero-meta span::before {
    content: '';
    display: inline-block;
    width: 7px;
    height: 7px;
    margin: 0 9px 1px 0;
    border-radius: 50%;
    background: #26c281;
    box-shadow: 0 0 12px rgba(38, 194, 129, 0.7);
}

.hero-carousel { min-width: 0; }
.hero-slides { min-height: 380px; }
.hero-slide { display: none; }
.hero-slide.is-active {
    display: block;
    animation: slideEnter 0.65s cubic-bezier(0.2, 0.75, 0.25, 1) both;
}
.hero-slider-controls {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-top: 28px;
}
.slider-dots { display: flex; align-items: center; gap: 8px; }
.slider-arrow,
.slider-dot {
    display: inline-flex;
    width: 42px;
    height: 42px;
    align-items: center;
    justify-content: center;
    padding: 0;
    margin: 0;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 50%;
    background: rgba(14, 18, 16, 0.76);
    color: #f7f8f7;
    cursor: pointer;
    transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.slider-arrow:hover {
    transform: translateY(-2px);
    border-color: #26c281;
    background: rgba(38, 194, 129, 0.16);
}
.slider-arrow { font-size: 1.15rem; }
.slider-dot {
    width: 9px;
    height: 9px;
    border: 0;
    background: rgba(255, 255, 255, 0.38);
}
.slider-dot.is-active {
    width: 27px;
    border-radius: 9px;
    background: #26c281;
    box-shadow: 0 0 14px rgba(38, 194, 129, 0.45);
}
.slider-arrow:focus-visible,
.slider-dot:focus-visible {
    outline: 2px solid #26c281;
    outline-offset: 4px;
}

.site-body .floating-card {
    background: rgba(15, 19, 17, 0.75);
    border-color: rgba(255, 255, 255, 0.16);
    box-shadow: 0 20px 55px rgba(0, 0, 0, 0.34);
}
.site-body .floating-card strong { color: #fff; }
.site-body .card-tag { color: #8be0b3; }
.site-body .stats { margin-top: -24px; }
.site-body .stat-box,
.site-body .stat-box.bright {
    position: relative;
    overflow: hidden;
    background: linear-gradient(145deg, #171c19, #111513);
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: #fff;
    box-shadow: 0 18px 38px rgba(0, 0, 0, 0.24);
    transition: transform 0.35s ease, border-color 0.35s ease, box-shadow 0.35s ease;
}
.site-body .stat-box:nth-child(even) { border-top: 2px solid #26c281; }
.site-body .stat-box:nth-child(odd) { border-top: 2px solid #ef4444; }
.site-body .stat-box:hover {
    transform: translateY(-6px);
    border-color: rgba(38, 194, 129, 0.45);
    box-shadow: 0 24px 44px rgba(0, 0, 0, 0.34);
}
.site-body .stat-box h3 { color: #fff; }
.site-body .stat-box p,
.site-body .service-card p,
.site-body .course-body p,
.site-body .impact-item p,
.site-body .process-step p,
.site-body .team-card p,
.site-body .info-panel p,
.site-body .notice-item p { color: #b3beb6; }

.site-body .section-heading h2,
.site-body .section-intro h2,
.site-body .course-body h3,
.site-body .service-card h3,
.site-body .process-step h3 { color: #f5f7f5; }
.site-body .service-card,
.site-body .course-card,
.site-body .info-panel,
.site-body .team-card,
.site-body .gallery-item,
.site-body .form-card,
.site-body .contact-card,
.site-body .notice-item,
.site-body .process-step,
.site-body .impact-item {
    background: linear-gradient(150deg, #171c19, #111513);
    border: 1px solid rgba(255, 255, 255, 0.09);
    color: #f4f6f4;
    box-shadow: 0 16px 38px rgba(0, 0, 0, 0.23);
    transition: transform 0.35s ease, border-color 0.35s ease, box-shadow 0.35s ease;
}
.site-body .service-card:hover,
.site-body .course-card:hover,
.site-body .team-card:hover,
.site-body .process-step:hover {
    transform: translateY(-7px);
    border-color: rgba(38, 194, 129, 0.35);
    box-shadow: 0 25px 52px rgba(0, 0, 0, 0.34);
}
.site-body .service-card::before {
    height: 3px;
    background: linear-gradient(90deg, #ef4444, #26c281);
}
.site-body .card-photo {
    display: block;
    width: 100%;
    height: 148px;
    margin: 0 0 18px;
    border: 1px solid rgba(255, 255, 255, 0.09);
    border-radius: 12px;
    object-fit: cover;
    object-position: center;
    filter: saturate(0.82);
    transition: filter 0.35s ease, transform 0.5s ease;
}
.site-body .service-card:hover .card-photo,
.site-body .impact-item:hover .card-photo,
.site-body .process-step:hover .card-photo,
.site-body .team-card:hover .card-photo {
    filter: saturate(1.08);
    transform: scale(1.015);
}
.site-body .impact-item .card-photo { height: 160px; }
.site-body .process-step .card-photo { height: 138px; }
.site-body .team-card .card-photo { height: 190px; }
.site-body .service-icon {
    background: linear-gradient(145deg, #e8454c, #b82d39);
    box-shadow: 0 10px 25px rgba(239, 68, 68, 0.2);
}
.site-body .course-image {
    min-height: 205px;
    background-color: #171d19;
    background-size: cover;
    background-position: center;
    isolation: isolate;
}
.site-body .course-card:nth-child(3n + 1) .course-image {
    background-image: linear-gradient(0deg, rgba(8, 11, 9, 0.74), rgba(8, 11, 9, 0.08)), url('https://images.unsplash.com/photo-1516321318423-f06f85e504b3?auto=format&fit=crop&w=900&q=80');
}
.site-body .course-card:nth-child(3n + 2) .course-image {
    background-image: linear-gradient(0deg, rgba(8, 11, 9, 0.74), rgba(8, 11, 9, 0.08)), url('https://images.unsplash.com/photo-1498050108023-c5249f4df085?auto=format&fit=crop&w=900&q=80');
}
.site-body .course-card:nth-child(3n) .course-image {
    background-image: linear-gradient(0deg, rgba(8, 11, 9, 0.74), rgba(8, 11, 9, 0.08)), url('https://images.unsplash.com/photo-1519389950473-47ba0277781c?auto=format&fit=crop&w=900&q=80');
}
.site-body .course-image::after {
    border-color: rgba(255, 255, 255, 0.24);
}
.site-body .course-image span {
    max-width: calc(100% - 42px);
    padding: 8px 13px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 999px;
    background: rgba(10, 13, 11, 0.7);
    color: #fff;
    backdrop-filter: blur(8px);
}
.site-body .text-link { color: #82e1b2; }
.site-body .impact-band,
.site-body .alt-bg { background: #0e1210; }
.site-body .impact-item { border-radius: 18px; }
.site-body .process-step {
    background: #141916;
}
.site-body .process-step span {
    background: rgba(38, 194, 129, 0.12);
    color: #8be0b3;
}
.site-body .page-banner {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(ellipse at 82% 15%, rgba(38, 194, 129, 0.14), transparent 35%),
        linear-gradient(115deg, #111513, #191c19 60%, #251517);
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.site-body .page-banner h1 { color: #fff; }
.site-body .page-banner .container::after {
    content: '';
    display: block;
    width: 58px;
    height: 3px;
    margin-top: 15px;
    border-radius: 4px;
    background: linear-gradient(90deg, #ef4444 0 50%, #26c281 50%);
}
.site-body .cta-banner {
    background:
        radial-gradient(ellipse at 90% 50%, rgba(38, 194, 129, 0.16), transparent 38%),
        linear-gradient(110deg, #171311, #211416);
    border-top: 1px solid rgba(239, 68, 68, 0.2);
    border-bottom: 1px solid rgba(38, 194, 129, 0.2);
}
.site-body input,
.site-body select,
.site-body textarea {
    border-color: rgba(255, 255, 255, 0.14);
    background: #0d110f;
    color: #f4f6f4;
}
.site-body input::placeholder,
.site-body textarea::placeholder { color: #87938b; }
.site-body input:focus,
.site-body select:focus,
.site-body textarea:focus {
    border-color: #26c281;
    box-shadow: 0 0 0 4px rgba(38, 194, 129, 0.13);
}
.site-body .map-box {
    background: #171d19;
    border-color: #26c281;
    color: #9aebc5;
}

.site-body .site-footer {
    position: relative;
    margin-top: 0;
    padding: 0 0 22px;
    overflow: hidden;
    background:
        radial-gradient(ellipse at 8% 0%, rgba(239, 68, 68, 0.08), transparent 30%),
        radial-gradient(ellipse at 94% 90%, rgba(38, 194, 129, 0.08), transparent 32%),
        #0d100e;
    color: #b7c0b9;
}
.site-body .site-footer::before {
    content: '';
    display: block;
    height: 3px;
    margin-bottom: 42px;
    background: linear-gradient(90deg, #ef4444, #252a26 42%, #252a26 58%, #26c281);
}
.footer-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 38px;
    padding: 28px 32px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 18px;
    background: linear-gradient(115deg, rgba(239, 68, 68, 0.08), rgba(38, 194, 129, 0.07));
}
.footer-kicker {
    color: #8be0b3;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.14em;
}
.footer-cta h2 {
    margin: 5px 0 0;
    color: #f4f6f4;
    font-size: clamp(1.35rem, 2.5vw, 1.9rem);
    letter-spacing: -0.03em;
}
.site-body .footer-grid { gap: 34px; }
.footer-brand { position: relative; padding-left: 58px; }
.footer-logo {
    position: absolute;
    top: 0;
    left: 0;
    display: grid;
    width: 44px;
    height: 44px;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 13px;
    background: linear-gradient(145deg, #e8454c, #b82d39 54%, #168b5b);
    color: #fff;
    font-size: 0.95rem;
    font-weight: 800;
}
.site-body .site-footer h3 {
    margin: 0 0 10px;
    color: #fff;
    font-size: 1.15rem;
}
.site-body .site-footer h4 {
    margin: 0 0 15px;
    color: #fff;
    font-size: 0.92rem;
    letter-spacing: 0.02em;
}
.site-body .site-footer p {
    margin: 0;
    color: #aab5ad;
    font-size: 0.92rem;
    line-height: 1.75;
}
.site-body .site-footer ul { gap: 10px; }
.site-body .site-footer a:not(.footer-logo):not(.btn) {
    color: #b7c0b9;
    transition: color 0.2s ease, padding-left 0.2s ease;
}
.site-body .site-footer a:not(.footer-logo):not(.btn):hover {
    padding-left: 3px;
    color: #8be0b3;
}
.site-body .footer-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-top: 36px;
    padding-top: 18px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}
.site-body .footer-bottom p,
.site-body .footer-bottom span {
    color: #8c9990;
    font-size: 0.82rem;
}

.site-body .reveal {
    transform: translateY(28px);
    transition: opacity 0.7s ease, transform 0.7s cubic-bezier(0.2, 0.75, 0.25, 1);
}
.site-body .reveal.in-view { transform: translateY(0); }
.site-body .services-grid .reveal:nth-child(2),
.site-body .course-grid .reveal:nth-child(2),
.site-body .process-grid .reveal:nth-child(2) { transition-delay: 0.08s; }
.site-body .services-grid .reveal:nth-child(3),
.site-body .course-grid .reveal:nth-child(3),
.site-body .process-grid .reveal:nth-child(3) { transition-delay: 0.16s; }
.site-body .services-grid .reveal:nth-child(n + 4) { transition-delay: 0.2s; }

@keyframes slideEnter {
    from { opacity: 0; transform: translateY(18px); }
    to { opacity: 1; transform: translateY(0); }
}
@keyframes heroGlow {
    from { opacity: 0.65; transform: scale(1); }
    to { opacity: 1; transform: scale(1.08); }
}

@media (max-width: 1100px) {
    .site-body .nav-menu,
    .site-body .nav-menu.is-open {
        border-color: rgba(255, 255, 255, 0.1);
        background: #111513;
    }
    .site-body .nav-menu a:hover,
    .site-body .nav-menu a:focus-visible,
    .site-body .nav-menu a[aria-current="page"] {
        background: #1a211d;
    }
    .site-body .nav-toggle {
        border-color: rgba(255, 255, 255, 0.14);
        background: #151a17;
    }
    .site-body .nav-toggle span { background: #f4f6f4; }
}

@media (max-width: 700px) {
    .hero-slides { min-height: 410px; }
    .site-body .hero,
    .site-body .hero-inner { min-height: 680px; }
    .site-body .hero-inner { padding-top: 42px; padding-bottom: 38px; }
    .site-body .hero-meta { gap: 10px 16px; }
    .footer-cta {
        align-items: flex-start;
        flex-direction: column;
        padding: 22px;
    }
    .site-body .footer-bottom {
        align-items: flex-start;
        flex-direction: column;
        gap: 7px;
    }
}

@media (max-width: 560px) {
    .hero-slides { min-height: 430px; }
    .site-body .hero,
    .site-body .hero-inner { min-height: 710px; }
    .site-body .stats { margin-top: 0; }
    .site-body .hero-meta { font-size: 0.84rem; }
    .hero-slider-controls { margin-top: 22px; }
}

@media (prefers-reduced-motion: reduce) {
    .site-body .hero::before { animation: none; }
    .hero-slide.is-active { animation: none; }
}

/* Final visual preference: regular-weight type, square buttons, red-only accents. */
:root {
    --primary: #ed4148;
    --primary-dark: #bf2934;
    --secondary: #ed4148;
    --secondary-soft: #341719;
    --purple: #ed4148;
    --glow: 0 14px 34px rgba(237, 65, 72, 0.16);
}

.site-body,
.site-body * {
    font-weight: 400 !important;
}

.site-body button,
.site-body .btn,
.site-body .cta,
.site-body .nav-toggle,
.site-body .slider-arrow,
.site-body .slider-dot {
    border-radius: 0 !important;
}

.site-body .logo {
    background: linear-gradient(145deg, #f05259, #c62935 58%, #751f27);
    box-shadow: 0 8px 24px rgba(239, 68, 68, 0.2);
}
.site-body .nav-menu a[aria-current="page"] {
    box-shadow: inset 0 -2px #ed4148;
}
.site-body .nav-menu a:focus-visible,
.site-body .nav-toggle:focus-visible,
.site-body .btn:focus-visible,
.site-body .cta:focus-visible,
.site-body .slider-arrow:focus-visible,
.site-body .slider-dot:focus-visible {
    outline-color: rgba(237, 65, 72, 0.8);
}
.site-body .btn.primary,
.site-body .cta.primary {
    background: linear-gradient(120deg, #ef4b52, #c82f39);
    box-shadow: 0 9px 24px rgba(239, 68, 68, 0.2);
}
.site-body .btn.primary:hover,
.site-body .cta.primary:hover {
    background: linear-gradient(120deg, #fa5a60, #df3943);
    box-shadow: 0 13px 30px rgba(239, 68, 68, 0.26);
}
.site-body .btn.secondary,
.site-body .cta.secondary {
    background: rgba(239, 68, 68, 0.08);
    border-color: rgba(239, 68, 68, 0.35);
    color: #f0b1b4;
}
.site-body .btn.secondary:hover,
.site-body .cta.secondary:hover {
    background: rgba(239, 68, 68, 0.16);
    box-shadow: 0 12px 26px rgba(239, 68, 68, 0.12);
}
.site-body .hero::before {
    background:
        radial-gradient(ellipse at 85% 20%, rgba(239, 68, 68, 0.14), transparent 34%),
        radial-gradient(ellipse at 8% 90%, rgba(255, 255, 255, 0.06), transparent 32%);
}
.site-body .eyebrow {
    border-color: rgba(239, 68, 68, 0.34);
    color: #f1c0c2;
}
.site-body .eyebrow.dark {
    background: rgba(239, 68, 68, 0.08);
    border-color: rgba(239, 68, 68, 0.18);
    color: #f08a90;
}
.site-body .hero-meta span::before {
    background: #ed4148;
    box-shadow: 0 0 12px rgba(239, 68, 68, 0.58);
}
.slider-arrow:hover {
    border-color: #ed4148;
    background: rgba(239, 68, 68, 0.14);
}
.slider-dot.is-active {
    background: #ed4148;
    box-shadow: 0 0 14px rgba(239, 68, 68, 0.4);
}
.slider-arrow:focus-visible,
.slider-dot:focus-visible {
    outline-color: #ed4148;
}
.site-body .card-tag { color: #f08a90; }
.site-body .stat-box:nth-child(even),
.site-body .stat-box:nth-child(odd) {
    border-top: 2px solid #ed4148;
}
.site-body .service-card::before {
    background: linear-gradient(90deg, #ed4148, #862c34);
}
.site-body .process-step span {
    background: rgba(239, 68, 68, 0.11);
    color: #f08a90;
}
.site-body .text-link { color: #f08a90; }
.site-body .page-banner {
    background:
        radial-gradient(ellipse at 82% 15%, rgba(239, 68, 68, 0.13), transparent 35%),
        linear-gradient(115deg, #111513, #191c19 60%, #251517);
}
.site-body .page-banner .container::after {
    background: linear-gradient(90deg, #ed4148 0 50%, #f4f6f4 50%);
}
.site-body .site-footer::before {
    background: linear-gradient(90deg, #ed4148, #282b29 42%, #282b29 58%, #ed4148);
}
.site-body .site-footer {
    background:
        radial-gradient(ellipse at 8% 0%, rgba(239, 68, 68, 0.07), transparent 30%),
        #0d100e;
}
.site-body .footer-cta {
    background: linear-gradient(115deg, rgba(239, 68, 68, 0.08), rgba(255, 255, 255, 0.025));
}
.site-body .footer-logo {
    background: linear-gradient(145deg, #e8454c, #b82d39 58%, #751f27);
}
.footer-kicker { color: #f08a90; }
.site-body .site-footer a:not(.footer-logo):not(.btn):hover {
    color: #f08a90;
}
.site-body input:focus,
.site-body select:focus,
.site-body textarea:focus {
    border-color: #ed4148;
    box-shadow: 0 0 0 4px rgba(239, 68, 68, 0.12);
}
.site-body .map-box {
    border-color: #ed4148;
    color: #f08a90;
}

.site-body {
    font-size: 16px;
    line-height: 1.7;
    letter-spacing: 0.005em;
}
.site-body main {
    background:
        radial-gradient(ellipse at 0 16%, rgba(239, 68, 68, 0.04), transparent 28%),
        radial-gradient(ellipse at 100% 55%, rgba(255, 255, 255, 0.018), transparent 34%),
        #090b0a;
}
.site-body .container { max-width: 1200px; }
.site-body .section { padding-top: 86px; padding-bottom: 86px; }
.site-body .section-heading,
.site-body .section-intro { margin-bottom: 34px; }
.site-body .section-heading h2,
.site-body .section-intro h2 {
    max-width: 760px;
    margin-top: 12px;
    font-size: clamp(1.9rem, 3.4vw, 2.8rem);
    line-height: 1.18;
    letter-spacing: -0.035em;
}
.site-body .section-heading > p,
.site-body .section-intro > p {
    max-width: 660px;
    color: #aeb7b0;
    line-height: 1.8;
}
.site-body .hero {
    min-height: 620px;
    background-position: center 42%;
}
.site-body .hero-inner { min-height: 620px; }
.site-body .hero-copy h2 {
    max-width: 740px;
    font-size: clamp(2.8rem, 5.4vw, 5rem);
    line-height: 1.06;
    letter-spacing: -0.045em;
}
.site-body .hero-copy p {
    max-width: 590px;
    margin-top: 16px;
    font-size: 1.08rem;
    line-height: 1.8;
}
.site-body .hero-slides { min-height: 355px; }
.site-body .hero-slide.is-active { animation-duration: 0.55s; }
.site-body .hero-slider-controls { margin-top: 22px; }
.site-body .hero-meta {
    gap: 10px 18px;
    font-size: 0.84rem;
    letter-spacing: 0.015em;
}
.site-body .cta-row { gap: 12px; margin-top: 26px; }
.site-body .btn,
.site-body .cta {
    min-height: 48px;
    padding: 13px 22px;
    font-size: 0.9rem;
    letter-spacing: 0.025em;
}
.site-body .btn.primary {
    background: #d93640;
    box-shadow: 0 8px 24px rgba(217, 54, 64, 0.2);
}
.site-body .btn.primary:hover {
    background: #ec454d;
    box-shadow: 0 12px 28px rgba(217, 54, 64, 0.27);
}
.site-body .btn.secondary,
.site-body .cta.secondary {
    background: rgba(255, 255, 255, 0.035);
    border-color: rgba(255, 255, 255, 0.22);
    color: #f0f1f0;
}
.site-body .btn.secondary:hover,
.site-body .cta.secondary:hover {
    border-color: rgba(239, 68, 68, 0.65);
    background: rgba(239, 68, 68, 0.08);
}
.site-body .hero-slider-controls .slider-arrow {
    width: 40px;
    height: 40px;
    border-color: rgba(255, 255, 255, 0.18);
    background: rgba(12, 15, 13, 0.82);
}
.site-body .hero-slider-controls .slider-arrow:hover {
    border-color: #ed4148;
    background: #281416;
}
.site-body .slider-dot { background: rgba(255, 255, 255, 0.36); }
.site-body .slider-dot.is-active { background: #ed4148; }
.site-body .hero-side { gap: 14px; }
.site-body .floating-card {
    min-width: 205px;
    padding: 20px 22px;
    border-left: 2px solid #ed4148;
    backdrop-filter: blur(14px);
}
.site-body .floating-card strong {
    font-size: 2rem;
    letter-spacing: -0.04em;
}
.site-body .stats { gap: 14px; }
.site-body .stat-box,
.site-body .stat-box.bright {
    padding: 22px 18px;
    background: #111412;
}
.site-body .stat-box:hover {
    border-color: rgba(239, 68, 72, 0.42);
}
.site-body .stat-box h3 {
    margin-bottom: 5px;
    font-size: 2rem;
    letter-spacing: -0.04em;
}
.site-body .stat-box p { margin: 0; font-size: 0.88rem; }
.site-body .services-grid,
.site-body .course-grid,
.site-body .process-grid,
.site-body .impact-grid,
.site-body .team-grid { gap: 18px; }
.site-body .service-card,
.site-body .course-card,
.site-body .process-step,
.site-body .impact-item,
.site-body .team-card {
    border-radius: 3px;
    background: #121513;
    box-shadow: 0 14px 32px rgba(0, 0, 0, 0.22);
}
.site-body .service-card { padding: 18px; }
.site-body .service-card::before { height: 2px; }
.site-body .service-icon {
    width: 42px;
    height: 42px;
    margin-bottom: 13px;
    border-radius: 0;
    background: #291719;
    color: #f1878c;
    box-shadow: none;
}
.site-body .service-card h3,
.site-body .course-body h3,
.site-body .process-step h3,
.site-body .team-card h3,
.site-body .impact-item h3 {
    font-size: 1.12rem;
    line-height: 1.4;
}
.site-body .service-card p,
.site-body .course-body p,
.site-body .process-step p,
.site-body .team-card p,
.site-body .impact-item p {
    font-size: 0.91rem;
    line-height: 1.75;
}
.site-body .card-photo,
.site-body .impact-item .card-photo,
.site-body .process-step .card-photo,
.site-body .team-card .card-photo {
    height: 170px;
    margin-bottom: 17px;
    border: 0;
    border-radius: 0;
    filter: saturate(0.72) contrast(1.04);
}
.site-body .service-card:hover .card-photo,
.site-body .impact-item:hover .card-photo,
.site-body .process-step:hover .card-photo,
.site-body .team-card:hover .card-photo {
    filter: saturate(0.95) contrast(1.04);
    transform: scale(1.025);
}
.site-body .service-card,
.site-body .course-card,
.site-body .process-step,
.site-body .team-card {
    overflow: hidden;
}
.site-body .service-card:hover,
.site-body .course-card:hover,
.site-body .team-card:hover,
.site-body .process-step:hover {
    transform: translateY(-4px);
    border-color: rgba(239, 68, 72, 0.32);
    box-shadow: 0 20px 42px rgba(0, 0, 0, 0.3);
}
.site-body .course-image {
    min-height: 215px;
    background-color: #151816;
}
.site-body .course-card:nth-child(3n + 1) .course-image {
    background-image: linear-gradient(0deg, rgba(8, 11, 9, 0.76), rgba(8, 11, 9, 0.06)), url('https://images.unsplash.com/photo-1516321318423-f06f85e504b3?auto=format&fit=crop&w=900&q=80');
}
.site-body .course-card:nth-child(3n + 2) .course-image {
    background-image: linear-gradient(0deg, rgba(8, 11, 9, 0.76), rgba(8, 11, 9, 0.06)), url('https://images.unsplash.com/photo-1498050108023-c5249f4df085?auto=format&fit=crop&w=900&q=80');
}
.site-body .course-card:nth-child(3n) .course-image {
    background-image: linear-gradient(0deg, rgba(8, 11, 9, 0.76), rgba(8, 11, 9, 0.06)), url('https://images.unsplash.com/photo-1519389950473-47ba0277781c?auto=format&fit=crop&w=900&q=80');
}
.site-body .course-body { padding: 20px; }
.site-body .card-meta {
    color: #aeb7b0;
    font-size: 0.82rem;
}
.site-body .text-link {
    color: #f08a90;
    font-size: 0.88rem;
}
.site-body .impact-band {
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}
.site-body .impact-item { padding: 18px; }
.site-body .process-step { padding: 18px; }
.site-body .process-step span {
    width: 40px;
    height: 40px;
    border: 1px solid rgba(239, 68, 68, 0.25);
    border-radius: 0;
    background: rgba(239, 68, 68, 0.07);
    color: #f08a90;
}
.site-body .page-banner {
    padding-top: 78px;
    padding-bottom: 46px;
}
.site-body .page-banner h1 {
    font-size: clamp(2.1rem, 4vw, 3.2rem);
    letter-spacing: -0.04em;
}
.site-body .two-col,
.site-body .detail-grid,
.site-body .contact-layout,
.site-body .dashboard-grid { gap: 22px; }
.site-body .info-panel,
.site-body .form-card,
.site-body .contact-card { padding: 26px; }
.site-body .info-panel h3,
.site-body .form-card h2,
.site-body .contact-card h2 {
    margin-top: 0;
    color: #f4f6f4;
    font-size: 1.28rem;
}
.site-body .info-panel,
.site-body .form-card,
.site-body .contact-card,
.site-body .notice-item { border-radius: 3px; }
.site-body label {
    color: #e4e8e5;
    font-size: 0.9rem;
}
.site-body input,
.site-body select,
.site-body textarea {
    min-height: 46px;
    border-radius: 0;
    background: #0d100e;
}
.site-body textarea { min-height: auto; }
.site-body .checkbox-row input {
    min-height: auto;
    accent-color: #ed4148;
}
.site-body .site-footer::before {
    height: 1px;
    margin-bottom: 0;
}
.site-body .site-footer { padding-bottom: 26px; }
.site-body .footer-cta {
    margin-top: 34px;
    margin-bottom: 44px;
    padding: 25px 28px;
    border-radius: 3px;
    border-color: rgba(255, 255, 255, 0.1);
    background: linear-gradient(110deg, #171312, #121513);
}
.site-body .footer-cta h2 { font-size: 1.55rem; }
.site-body .footer-brand { max-width: 310px; }
.site-body .site-footer h4 { font-size: 0.86rem; }
.site-body .site-footer ul { gap: 8px; }
.site-body .site-footer li,
.site-body .site-footer a:not(.footer-logo):not(.btn) {
    font-size: 0.88rem;
    line-height: 1.65;
}
.site-body .footer-bottom { margin-top: 30px; }
.site-body .reveal {
    transition-duration: 0.55s;
    transition-timing-function: cubic-bezier(0.2, 0.7, 0.25, 1);
}

@media (max-width: 900px) {
    .site-body .section { padding-top: 64px; padding-bottom: 64px; }
    .site-body .hero,
    .site-body .hero-inner { min-height: 650px; }
    .site-body .hero-slides { min-height: 345px; }
}
@media (max-width: 700px) {
    .site-body .hero,
    .site-body .hero-inner { min-height: 700px; }
    .site-body .hero-slides { min-height: 420px; }
    .site-body .hero-copy h2 { font-size: clamp(2.55rem, 11vw, 3.7rem); }
    .site-body .hero-copy p { font-size: 0.98rem; }
    .site-body .hero-side { flex-direction: row; flex-wrap: wrap; }
    .site-body .floating-card { min-width: 0; flex: 1 1 150px; }
    .site-body .footer-cta { margin-top: 24px; }
}
@media (max-width: 560px) {
    .site-body .section { padding-top: 52px; padding-bottom: 52px; }
    .site-body .hero,
    .site-body .hero-inner { min-height: 720px; }
    .site-body .hero-slides { min-height: 440px; }
    .site-body .hero-copy h2 { font-size: 2.55rem; }
    .site-body .cta-row { gap: 10px; }
    .site-body .cta-row .btn { width: 100%; }
    .site-body .stats { gap: 10px; }
    .site-body .stat-box,
    .site-body .stat-box.bright { padding: 18px 12px; }
    .site-body .stat-box h3 { font-size: 1.65rem; }
    .site-body .stat-box p { font-size: 0.78rem; }
    .site-body .footer-grid { gap: 26px; }
}

/* Green, light editorial layout inspired by the supplied references. */
.site-body {
    background: #fff;
    color: #26332d;
    font-family: 'Inter', 'Segoe UI', Arial, sans-serif;
}
.site-body main {
    background: #fff;
    overflow: visible;
}
.site-body .site-header {
    position: sticky;
    top: 0;
    background: rgba(255, 255, 255, 0.97);
    border-bottom: 1px solid #e7ece8;
    box-shadow: 0 2px 12px rgba(28, 49, 38, 0.06);
    backdrop-filter: blur(14px);
}
.site-body .topbar {
    max-width: 1440px;
    min-height: 70px;
    gap: 28px;
    padding: 10px 24px;
}
.site-body .brand-box { gap: 10px; }
.site-body .logo {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: #edf5ed;
    color: #17643d;
    box-shadow: none;
}
.site-body .brand-box h1 {
    color: #145a3a;
    font-size: 1.28rem;
    letter-spacing: -0.035em;
}
.site-body .navbar { justify-content: flex-end; }
.site-body .nav-menu {
    gap: 2px;
    justify-content: flex-end;
}
.site-body .nav-menu a {
    min-height: 42px;
    padding: 0 11px;
    border-radius: 3px;
    color: #344139;
    font-size: 0.87rem;
}
.site-body .nav-menu a:hover,
.site-body .nav-menu a:focus-visible,
.site-body .nav-menu a[aria-current="page"] {
    color: #17643d;
    background: #f1f6f1;
}
.site-body .nav-menu a[aria-current="page"] {
    box-shadow: inset 0 -2px #17643d;
}
.site-body .top-actions {
    flex-wrap: nowrap;
    gap: 17px;
}
.site-body .top-actions .btn.primary {
    min-height: 42px;
    padding: 10px 17px;
    border: 1px solid #eb6467;
    border-radius: 999px;
    background: #fff;
    color: #c94147;
    box-shadow: none;
    font-size: 0.86rem;
    white-space: nowrap;
}
.site-body .top-actions .btn.primary:hover {
    background: #fff5f4;
    box-shadow: none;
}
.student-login-link {
    color: #344139;
    font-size: 0.84rem;
    white-space: nowrap;
}
.student-login-link:hover { color: #c94147; }

.site-body .hero,
.site-body .hero-inner {
    min-height: 620px;
}
.site-body .hero {
    position: relative;
    background-color: #183322;
    background-image:
        linear-gradient(90deg, rgba(10, 25, 14, 0.72) 0%, rgba(10, 25, 14, 0.5) 47%, rgba(10, 25, 14, 0.13) 100%),
        url('https://images.unsplash.com/photo-1448375240586-882707db888b?auto=format&fit=crop&w=2000&q=88');
    background-position: center 48%;
    background-size: cover;
}
.site-body .hero::before {
    background: linear-gradient(0deg, rgba(7, 18, 10, 0.23), transparent 48%);
    animation: none;
}
.site-body .hero-overlay {
    background: linear-gradient(90deg, rgba(5, 16, 8, 0.14), transparent 68%);
}
.site-body .hero-inner {
    display: flex;
    align-items: center;
    padding-top: 54px;
    padding-bottom: 54px;
}
.site-body .hero-copy {
    max-width: 840px;
    width: 100%;
}
.site-body .hero-slides { min-height: 0; }
.site-body .hero-slide.is-active { animation: referenceHeroEnter 0.45s ease-out both; }
.site-body .hero-copy .eyebrow {
    padding: 0;
    margin-bottom: 17px;
    border: 0;
    background: transparent;
    color: rgba(255, 255, 255, 0.92);
    font-size: 0.83rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}
.site-body .hero-copy h2 {
    max-width: 860px;
    margin: 0 0 18px;
    color: #fff;
    font-size: clamp(2.7rem, 5vw, 4.3rem);
    line-height: 1.12;
    letter-spacing: -0.035em;
}
.site-body .hero-copy p {
    max-width: 680px;
    margin: 0;
    color: rgba(255, 255, 255, 0.94);
    font-size: 1.08rem;
    line-height: 1.55;
}
.site-body .cta-row { gap: 12px; margin-top: 27px; }
.site-body .hero .btn {
    min-height: 50px;
    padding: 14px 23px;
    border-radius: 5px;
    font-size: 0.9rem;
}
.site-body .hero .btn.primary {
    border: 1px solid #fff;
    background: #fff;
    color: #174d31;
    box-shadow: none;
}
.site-body .hero .btn.primary:hover { background: #edf5ee; }
.site-body .hero .btn.secondary {
    border: 1px solid rgba(255, 255, 255, 0.9);
    background: rgba(10, 20, 12, 0.14);
    color: #fff;
}
.site-body .hero .btn.secondary:hover { background: rgba(255, 255, 255, 0.14); }
.site-body .hero-meta,
.site-body .hero-side { display: none; }
.site-body .hero-slider-controls { margin-top: 26px; gap: 11px; }
.site-body .hero-slider-controls .slider-arrow {
    width: 35px;
    height: 35px;
    border: 1px solid rgba(255, 255, 255, 0.72);
    border-radius: 50%;
    background: rgba(8, 19, 10, 0.28);
    color: #fff;
}
.site-body .hero-slider-controls .slider-arrow:hover {
    border-color: #fff;
    background: rgba(255, 255, 255, 0.15);
}
.site-body .slider-dot { background: rgba(255, 255, 255, 0.65); }
.site-body .slider-dot.is-active {
    background: #fff;
    box-shadow: none;
}

.impact-proof {
    padding: 52px 0 56px;
    background: #eff6f1;
}
.impact-proof-heading {
    margin: 0 auto 28px;
    text-align: center;
}
.impact-proof-heading .eyebrow.dark {
    margin-bottom: 8px;
    border: 0;
    background: transparent;
    color: #17643d;
    font-size: 0.75rem;
    letter-spacing: 0.11em;
}
.impact-proof-heading h2 {
    margin: 0;
    color: #31443a;
    font-size: clamp(1.65rem, 3vw, 2.2rem);
    letter-spacing: -0.025em;
}
.impact-proof-heading p {
    margin: 7px 0 0;
    color: #627167;
    font-size: 0.96rem;
}
.site-body .stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    margin: 0 auto;
}
.site-body .stat-box,
.site-body .stat-box.bright {
    padding: 23px 15px;
    border: 1px solid #e2ebe4;
    border-top: 1px solid #e2ebe4;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 5px 18px rgba(34, 67, 47, 0.045);
    text-align: center;
}
.site-body .stat-box:hover {
    transform: translateY(-3px);
    border-color: #c9ddce;
    box-shadow: 0 10px 24px rgba(34, 67, 47, 0.08);
}
.site-body .stat-box h3 {
    margin: 0 0 4px;
    color: #17643d;
    font-size: 2rem;
}
.site-body .stat-box p {
    margin: 0;
    color: #536258;
    font-size: 0.86rem;
}

.site-body .section { padding-top: 74px; padding-bottom: 74px; }
.site-body .section-heading,
.site-body .section-intro { margin-bottom: 30px; }
.site-body .section-heading h2,
.site-body .section-intro h2 {
    color: #34443a;
    font-size: clamp(1.8rem, 3vw, 2.45rem);
    line-height: 1.2;
}
.site-body .section-heading > p,
.site-body .section-intro > p {
    color: #66736a;
    font-size: 0.98rem;
    line-height: 1.7;
}
.site-body .eyebrow.dark {
    border: 0;
    background: transparent;
    color: #17643d;
    letter-spacing: 0.1em;
}
.site-body .service-card,
.site-body .course-card,
.site-body .process-step,
.site-body .impact-item,
.site-body .team-card,
.site-body .info-panel,
.site-body .form-card,
.site-body .contact-card,
.site-body .notice-item {
    border: 1px solid #e6ebe7;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 8px 26px rgba(29, 53, 38, 0.06);
    color: #34443a;
}
.site-body .service-card:hover,
.site-body .course-card:hover,
.site-body .team-card:hover,
.site-body .process-step:hover {
    transform: translateY(-4px);
    border-color: #cddbd0;
    box-shadow: 0 14px 32px rgba(29, 53, 38, 0.1);
}
.site-body .service-card h3,
.site-body .course-body h3,
.site-body .process-step h3,
.site-body .team-card h3,
.site-body .impact-item h3,
.site-body .info-panel h3 {
    color: #304439;
}
.site-body .service-card p,
.site-body .course-body p,
.site-body .process-step p,
.site-body .team-card p,
.site-body .impact-item p,
.site-body .info-panel p,
.site-body .notice-item p {
    color: #647168;
}
.site-body .card-photo,
.site-body .impact-item .card-photo,
.site-body .process-step .card-photo,
.site-body .team-card .card-photo {
    border-radius: 7px;
    filter: saturate(0.92);
}
.site-body .service-card:hover .card-photo,
.site-body .impact-item:hover .card-photo,
.site-body .process-step:hover .card-photo,
.site-body .team-card:hover .card-photo { filter: saturate(1.04); }
.site-body .service-icon {
    border-radius: 9px;
    background: #e8f2eb;
    color: #17643d;
    box-shadow: none;
}
.site-body .service-card::before {
    height: 3px;
    background: linear-gradient(90deg, #17643d, #7eaa87);
}
.site-body .course-image span {
    border-color: rgba(255, 255, 255, 0.38);
    border-radius: 4px;
    background: rgba(18, 43, 26, 0.78);
}
.site-body .text-link { color: #17643d; }
.site-body .impact-band,
.site-body .alt-bg {
    background: #f3f7f3;
}
.site-body .process-step span {
    border: 0;
    border-radius: 50%;
    background: #e7f0e9;
    color: #17643d;
}
.site-body .page-banner {
    padding: 67px 0 40px;
    border: 0;
    background: #eff6f1;
}
.site-body .page-banner h1 {
    color: #31443a;
    font-size: clamp(2rem, 3.5vw, 2.8rem);
}
.site-body .page-banner .container::after {
    width: 45px;
    height: 3px;
    margin-top: 12px;
    border-radius: 3px;
    background: #d94a50;
}
.site-body .cta-banner {
    border: 0;
    background: linear-gradient(115deg, #174d31, #21643e);
}
.site-body .cta-banner h2 { color: #fff; }
.site-body .cta-banner .eyebrow {
    color: #e4f1e7;
    background: rgba(255, 255, 255, 0.1);
}
.site-body .cta-banner .btn.primary {
    background: #fff;
    color: #174d31;
    box-shadow: none;
}
.site-body .cta-banner .btn.primary:hover { background: #eef5ef; }
.site-body .form-card,
.site-body .contact-card { padding: 28px; }
.site-body .form-card h2,
.site-body .contact-card h2 { color: #304439; }
.site-body label { color: #435249; }
.site-body input,
.site-body select,
.site-body textarea {
    border: 1px solid #d9e1db;
    border-radius: 5px;
    background: #fff;
    color: #26332d;
}
.site-body input::placeholder,
.site-body textarea::placeholder { color: #89948c; }
.site-body input:focus,
.site-body select:focus,
.site-body textarea:focus {
    border-color: #689477;
    box-shadow: 0 0 0 3px rgba(70, 124, 87, 0.12);
}
.site-body .checkbox-row input { accent-color: #17643d; }
.site-body .form-card button.btn.primary,
.site-body .contact-card button.btn.primary {
    border-radius: 4px;
    background: #d94a50;
    box-shadow: none;
}
.site-body .form-card button.btn.primary:hover,
.site-body .contact-card button.btn.primary:hover { background: #c83c43; }
.site-body .map-box {
    border-color: #a9c5ae;
    border-radius: 8px;
    background: #eff6f1;
    color: #17643d;
}

.site-body .site-footer {
    margin-top: 0;
    padding: 0 0 22px;
    background: #14291d;
    color: #d5e1d8;
}
.site-body .site-footer::before {
    height: 4px;
    margin-bottom: 0;
    background: linear-gradient(90deg, #d94a50 0 18%, #396d4c 18% 100%);
}
.site-body .footer-cta {
    margin-top: 0;
    margin-bottom: 38px;
    padding: 26px 0;
    border: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 0;
    background: transparent;
}
.site-body .footer-cta h2 { color: #fff; }
.site-body .footer-kicker { color: #b7d2bd; }
.site-body .footer-logo {
    border: 0;
    border-radius: 50%;
    background: #e3eee5;
    color: #17643d;
}
.site-body .site-footer h3,
.site-body .site-footer h4 { color: #fff; }
.site-body .site-footer p,
.site-body .site-footer a:not(.footer-logo):not(.btn) { color: #c3d0c6; }
.site-body .site-footer a:not(.footer-logo):not(.btn):hover { color: #fff; }
.site-body .footer-bottom {
    border-top-color: rgba(255, 255, 255, 0.15);
}
.site-body .footer-bottom p,
.site-body .footer-bottom span { color: #b6c5ba; }

@keyframes referenceHeroEnter {
    from { opacity: 0.35; transform: translateY(8px); }
    to { opacity: 1; transform: translateY(0); }
}
@media (max-width: 1100px) {
    .site-body .topbar {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto auto;
        gap: 12px;
        padding: 10px 20px;
    }
    .site-body .navbar { grid-column: 2; }
    .site-body .top-actions { grid-column: 3; }
    .site-body .nav-toggle {
        border-color: #dce5de;
        border-radius: 4px !important;
        background: #fff;
    }
    .site-body .nav-toggle span { background: #34483a; }
    .site-body .nav-menu,
    .site-body .nav-menu.is-open {
        border: 1px solid #e1e9e2;
        border-radius: 0 0 8px 8px;
        background: #fff;
        box-shadow: 0 14px 30px rgba(29, 53, 38, 0.12);
    }
    .site-body .nav-menu a { color: #344139; }
    .site-body .top-actions .student-login-link { display: none; }
}
@media (max-width: 700px) {
    .site-body .hero,
    .site-body .hero-inner { min-height: 570px; }
    .site-body .hero-inner { padding: 48px 20px; }
    .site-body .hero {
        background-position: 58% center;
        background-image:
            linear-gradient(90deg, rgba(10, 25, 14, 0.75), rgba(10, 25, 14, 0.38)),
            url('https://images.unsplash.com/photo-1448375240586-882707db888b?auto=format&fit=crop&w=1200&q=85');
    }
    .site-body .hero-copy h2 { font-size: clamp(2.5rem, 8vw, 3.4rem); }
    .site-body .hero-copy p { font-size: 1rem; }
    .impact-proof { padding: 42px 0; }
    .site-body .section { padding-top: 58px; padding-bottom: 58px; }
}
@media (max-width: 560px) {
    .site-body .topbar {
        grid-template-columns: minmax(0, 1fr) auto auto;
        padding: 9px 14px;
    }
    .site-body .brand-box h1 { font-size: 1.12rem; }
    .site-body .logo { width: 38px; height: 38px; }
    .site-body .top-actions {
        display: flex;
        grid-column: 3;
        grid-row: 1;
        margin: 0;
    }
    .site-body .top-actions .btn.primary {
        min-height: 38px;
        padding: 8px 11px;
        font-size: 0.75rem;
    }
    .site-body .nav-menu,
    .site-body .nav-menu.is-open {
        left: 14px;
        right: 14px;
    }
    .site-body .hero,
    .site-body .hero-inner { min-height: 590px; }
    .site-body .hero-inner { padding: 42px 14px; }
    .site-body .hero-copy h2 { font-size: 2.55rem; }
    .site-body .hero-copy p { font-size: 0.96rem; }
    .site-body .hero .cta-row .btn { width: auto; }
    .site-body .hero .cta-row { flex-wrap: wrap; }
    .site-body .hero .btn { padding: 12px 14px; font-size: 0.8rem; }
    .site-body .stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .impact-proof-heading { padding: 0 12px; }
    .site-body .footer-cta {
        align-items: flex-start;
        flex-direction: column;
        gap: 16px;
    }
}

.site-body .brand-link {
    min-width: 188px;
    flex-shrink: 0;
    color: inherit;
    text-decoration: none;
}
.site-body .brand-link:hover { color: inherit; }
.site-body .brand-copy {
    display: grid;
    gap: 1px;
}
.site-body .brand-copy h1 {
    margin: 0;
    line-height: 1.2;
}
.site-body .brand-tagline {
    color: #78867c;
    font-size: 0.66rem;
    letter-spacing: 0.055em;
    line-height: 1.3;
    white-space: nowrap;
}
.site-body .topbar {
    gap: clamp(14px, 2vw, 30px);
}
.site-body .navbar { min-width: 0; }
.site-body .nav-menu { flex-wrap: nowrap; }
.site-body .nav-menu a {
    padding-right: clamp(7px, 0.75vw, 11px);
    padding-left: clamp(7px, 0.75vw, 11px);
    font-size: clamp(0.77rem, 0.85vw, 0.86rem);
    white-space: nowrap;
}
.site-body .top-actions { gap: clamp(10px, 1.35vw, 19px); }
.site-body .student-login-link {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    transition: color 0.2s ease;
}
.site-body .student-login-link:hover { color: #b9343b; }
.site-body .student-login-link svg,
.site-body .student-header-logout svg,
.site-body .student-logout-link svg,
.site-body .button-icon {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
}
.site-body .student-header-logout {
    display: inline-grid;
    width: 38px;
    height: 38px;
    flex: 0 0 auto;
    place-items: center;
    border: 1px solid rgba(25, 54, 78, 0.14);
    border-radius: 50%;
    color: #19364e;
}
.site-body .student-header-logout:hover {
    border-color: #167c63;
    background: #eaf3ef;
    color: #0f604d;
}
.site-body .site-header.home-header:not(.is-scrolled) .student-account-link {
    padding: 7px 10px;
    border-radius: 4px;
    background: rgba(255, 255, 255, 0.95);
    text-shadow: none;
}
.site-body .site-header.home-header:not(.is-scrolled) .student-account-link,
.site-body .site-header.home-header:not(.is-scrolled) .student-account-link strong {
    color: #19364e;
    text-shadow: none;
}
.site-body .site-header.home-header:not(.is-scrolled) .student-header-logout {
    border-color: rgba(255, 255, 255, 0.8);
    background: rgba(255, 255, 255, 0.92);
    color: #19364e;
}
.site-body .student-account-link {
    display: grid;
    gap: 1px;
    color: #19364e;
    font-size: 0.68rem;
    line-height: 1.2;
    white-space: nowrap;
}
.site-body .student-account-link strong {
    max-width: 190px;
    overflow: hidden;
    color: #167c63;
    font-size: 0.84rem;
    text-overflow: ellipsis;
}
.site-body .student-account-link:hover strong { color: #0f604d; }
.site-body .footer-session-name {
    color: #f4c86d;
    font-size: 0.82rem;
    overflow-wrap: anywhere;
}
.site-body .top-actions .btn.primary {
    transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
}
.site-body .site-footer {
    position: relative;
    background:
        radial-gradient(ellipse at 0 0, rgba(104, 151, 114, 0.12), transparent 38%),
        #14291d;
}
.site-body .site-footer::before {
    height: 3px;
    background: linear-gradient(90deg, #d94a50 0 12%, #3f7750 12% 100%);
}
.site-body .footer-cta {
    position: relative;
    padding-top: 30px;
    padding-bottom: 30px;
}
.site-body .footer-cta h2 {
    margin-top: 8px;
    font-size: clamp(1.45rem, 2.4vw, 1.9rem);
    letter-spacing: -0.025em;
}
.site-body .footer-cta .btn.primary {
    min-height: 46px;
    padding: 12px 18px;
    border: 1px solid #e45b60;
    border-radius: 4px;
    background: #d94a50;
    color: #fff;
    box-shadow: none;
    transition: background-color 0.2s ease, transform 0.2s ease;
}
.site-body .footer-cta .btn.primary:hover {
    transform: translateY(-2px);
    background: #c83c43;
}
.site-body .footer-cta .btn.primary span {
    margin-left: 9px;
    font-size: 1.1rem;
    transition: transform 0.2s ease;
}
.site-body .footer-cta .btn.primary:hover span { transform: translateX(3px); }
.site-body .footer-grid {
    grid-template-columns: minmax(220px, 1.35fr) repeat(2, minmax(130px, 0.8fr)) minmax(190px, 1fr);
    gap: clamp(22px, 3.2vw, 48px);
    padding-bottom: 10px;
}
.site-body .footer-brand {
    max-width: 330px;
    padding-left: 58px;
}
.site-body .footer-logo {
    width: 44px;
    height: 44px;
    font-size: 0.9rem;
    transition: transform 0.25s ease, background-color 0.25s ease;
}
.site-body .footer-logo:hover { transform: translateY(-2px); }
.site-body .site-footer h3 {
    margin: 2px 0 9px;
    font-size: 1.08rem;
    letter-spacing: 0.005em;
}
.site-body .site-footer h4 {
    position: relative;
    margin-bottom: 16px;
    padding-bottom: 10px;
    font-size: 0.86rem;
    letter-spacing: 0.055em;
    text-transform: uppercase;
}
.site-body .site-footer h4::after {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    width: 26px;
    height: 2px;
    background: #df555a;
    content: '';
}
.site-body .site-footer ul { gap: 9px; }
.site-body .site-footer li,
.site-body .site-footer a:not(.footer-logo):not(.btn) {
    font-size: 0.84rem;
    line-height: 1.6;
}
.site-body .site-footer a:not(.footer-logo):not(.btn) {
    text-decoration-color: transparent;
    text-underline-offset: 3px;
}
.site-body .site-footer a:not(.footer-logo):not(.btn):hover {
    padding-left: 0;
    color: #fff;
    text-decoration: underline;
    text-decoration-color: rgba(255, 255, 255, 0.45);
}
.site-body .footer-contact-item {
    display: grid;
    gap: 2px;
    overflow-wrap: anywhere;
}
.site-body .footer-contact-label {
    color: #91aa98;
    font-size: 0.7rem;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}
.site-body .footer-bottom {
    margin-top: 24px;
    padding-top: 16px;
}
.site-body .footer-bottom p,
.site-body .footer-bottom span { font-size: 0.76rem; }

@media (max-width: 1100px) {
    .site-body .topbar {
        grid-template-columns: minmax(0, 1fr) auto auto;
        gap: 12px;
    }
    .site-body .brand-link { min-width: 0; }
    .site-body .navbar { justify-content: flex-end; }
    .site-body .nav-menu,
    .site-body .nav-menu.is-open { gap: 5px; }
    .site-body .nav-menu a { font-size: 0.92rem; }
    .site-body .footer-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 700px) {
    .site-body .brand-tagline { font-size: 0.6rem; }
    .site-body .footer-cta { align-items: flex-start; }
}
@media (max-width: 560px) {
    .site-body .topbar {
        grid-template-columns: minmax(0, 1fr) auto auto;
        gap: 9px;
    }
    .site-body .brand-link { gap: 7px; }
    .site-body .brand-copy h1 { font-size: 1rem; }
    .site-body .brand-tagline { font-size: 0.54rem; }
    .site-body .top-actions .btn.primary {
        padding: 8px 9px;
        font-size: 0.68rem;
    }
    .site-body .footer-grid { gap: 24px 16px; }
    .site-body .footer-brand { grid-column: 1 / -1; }
    .site-body .footer-bottom { gap: 5px; }
}

.site-body .brand-name {
    color: #145a3a;
    font-size: 1.28rem;
    letter-spacing: -0.035em;
    line-height: 1.2;
}
.site-body .logo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.site-body .footer-logo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.site-body .hero-copy .hero-title {
    display: block;
    max-width: 860px;
    margin: 0 0 18px;
    color: #fff;
    font-size: clamp(2.7rem, 5vw, 4.3rem);
    font-weight: 400;
    line-height: 1.12;
    letter-spacing: -0.035em;
}
@media (max-width: 700px) {
    .site-body .hero-copy .hero-title { font-size: clamp(2.5rem, 8vw, 3.4rem); }
}
@media (max-width: 560px) {
    .site-body .brand-name { font-size: 1rem; }
    .site-body .hero-copy .hero-title { font-size: 2.55rem; }
}

.site-body .site-header.home-header {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    width: 100%;
    border-bottom-color: transparent;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
    transition: background-color 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}
.site-body .site-header.home-header.is-scrolled {
    position: fixed;
    border-bottom-color: #e7ece8;
    background: rgba(255, 255, 255, 0.97);
    box-shadow: 0 2px 12px rgba(28, 49, 38, 0.08);
    backdrop-filter: blur(14px);
}
.site-body .home-header:not(.is-scrolled) .brand-name,
.site-body .home-header:not(.is-scrolled) .brand-tagline,
.site-body .home-header:not(.is-scrolled) .nav-menu a,
.site-body .home-header:not(.is-scrolled) .student-login-link,
.site-body .home-header:not(.is-scrolled) .student-account-link,
.site-body .home-header:not(.is-scrolled) .student-account-link strong {
    color: #fff;
    text-shadow: 0 1px 8px rgba(0, 0, 0, 0.25);
}
.site-body .home-header:not(.is-scrolled) .nav-menu a:hover,
.site-body .home-header:not(.is-scrolled) .nav-menu a:focus {
    color: #fff;
}
.site-body .home-page .hero-inner {
    padding-top: 124px;
}
.site-body .home-page .hero {
    background-image: linear-gradient(135deg, #183322, #294e37);
}
.site-body .hero-backgrounds {
    position: absolute;
    inset: 0;
    z-index: 0;
    overflow: hidden;
    pointer-events: none;
}
.site-body .hero-background-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: brightness(0.52);
    opacity: 0;
    transition: opacity 0.65s ease;
}
.site-body .hero-background-image.is-active { opacity: 1; }
.site-body .hero-overlay { z-index: 1; }
.site-body .home-page .hero-inner {
    position: relative;
    z-index: 2;
}

.student-dashboard {
    max-width: 1240px;
    padding-top: 58px;
}
.student-dashboard-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 28px;
}
.student-dashboard-heading .eyebrow.dark {
    margin-bottom: 8px;
    border: 0;
    background: transparent;
    color: #17643d;
    letter-spacing: 0.11em;
}
.student-dashboard-heading h1 {
    margin: 0;
    color: #263b2d;
    font-size: clamp(2rem, 4vw, 2.8rem);
    letter-spacing: -0.045em;
    line-height: 1.15;
}
.student-dashboard-heading p {
    margin: 9px 0 0;
    color: #637269;
}
.student-dashboard-heading > .btn {
    flex: 0 0 auto;
    border-radius: 5px;
    background: #17643d;
    box-shadow: none;
}
.student-dashboard-nav {
    display: flex;
    gap: 30px;
    overflow-x: auto;
    margin-bottom: 26px;
    border-bottom: 1px solid #e3ebe5;
}
.student-dashboard-nav a {
    flex: 0 0 auto;
    padding: 0 2px 12px;
    border-bottom: 2px solid transparent;
    color: #65756b;
    font-size: 0.92rem;
    font-weight: 600;
}
.student-dashboard-nav a:hover,
.student-dashboard-nav a.is-active {
    border-bottom-color: #17643d;
    color: #17643d;
}
.student-dashboard-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(280px, 0.85fr);
    gap: 20px;
    scroll-margin-top: 100px;
}
.student-dashboard-card {
    min-width: 0;
    padding: 26px;
    border: 1px solid #e4ebe5;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(27, 54, 36, 0.055);
    scroll-margin-top: 100px;
}
.student-dashboard-card-heading {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 23px;
}
.student-dashboard-icon {
    display: grid;
    width: 44px;
    height: 44px;
    flex: 0 0 auto;
    place-items: center;
    border-radius: 50%;
    background: #eff6f1;
    color: #17643d;
    font-size: 0.78rem;
    font-weight: 700;
}
.student-dashboard-card-heading h3 {
    margin: 0;
    color: #293d30;
    font-size: 1.15rem;
}
.student-dashboard-card-heading p {
    margin: 3px 0 0;
    color: #77847b;
    font-size: 0.86rem;
}
.student-profile-details {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin: 0;
}
.student-profile-details > div {
    min-width: 0;
    padding: 16px;
    border-radius: 8px;
    background: #f6f8f6;
}
.student-profile-details dt {
    margin-bottom: 6px;
    color: #758178;
    font-size: 0.77rem;
    font-weight: 600;
}
.student-profile-details dd {
    overflow-wrap: anywhere;
    margin: 0;
    color: #2c3d32;
    font-size: 0.94rem;
    font-weight: 600;
}
.student-application-card > p {
    margin: 0 0 18px;
    color: #637269;
    font-size: 0.93rem;
}
.student-dashboard-text-link {
    color: #17643d;
    font-size: 0.9rem;
    font-weight: 700;
}
.student-dashboard-text-link span { margin-left: 5px; }
.student-support-banner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-top: 20px;
    padding: 22px 26px;
    border: 1px solid #dce9df;
    border-radius: 12px;
    background: #eff6f1;
    scroll-margin-top: 100px;
}
.student-support-banner > div > span {
    color: #548064;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.1em;
}
.student-support-banner h3 {
    margin: 4px 0 0;
    color: #294333;
    font-size: 1rem;
}
.student-support-banner .btn.secondary {
    flex: 0 0 auto;
    border: 1px solid #cbdccf;
    border-radius: 5px;
    background: #fff;
    color: #17643d;
}

@media (max-width: 1100px) {
    .site-body .home-header:not(.is-scrolled) .nav-toggle {
        border-color: rgba(255, 255, 255, 0.65);
        background: rgba(255, 255, 255, 0.12);
    }
    .site-body .home-header:not(.is-scrolled) .nav-toggle span { background: #fff; }
    .site-body .home-header:not(.is-scrolled) .nav-menu a {
        color: #344139;
        text-shadow: none;
    }
    .site-body .home-page .hero-inner { padding-top: 110px; }
}
@media (max-width: 700px) {
    .site-body .home-page .hero-inner { padding-top: 105px; }
    .student-dashboard-grid { grid-template-columns: 1fr; }
    .student-dashboard-heading { align-items: flex-start; }
}
@media (max-width: 560px) {
    .site-body .home-page .hero-inner { padding-top: 100px; }
    .student-dashboard { padding-top: 42px; }
    .student-dashboard-heading {
        flex-direction: column;
        align-items: flex-start;
        gap: 18px;
    }
    .student-dashboard-heading > .btn { width: 100%; }
    .student-dashboard-nav { gap: 22px; }
    .student-dashboard-card { padding: 20px; }
    .student-profile-details { grid-template-columns: 1fr; gap: 10px; }
    .student-profile-details > div { padding: 13px 15px; }
    .student-support-banner {
        align-items: flex-start;
        flex-direction: column;
        padding: 20px;
    }
}
@media (prefers-reduced-motion: reduce) {
    .site-body .hero-background-image { transition: none; }
    .site-body .site-header.home-header { transition: none; }
}

.site-body {
    --foundation-ink: #173426;
    --foundation-green: #17643d;
    --foundation-gold: #e4ad53;
    font-family: 'DM Sans', 'Segoe UI', Arial, sans-serif;
}
.site-body .site-header.home-header {
    z-index: 110;
}
.site-body .home-header:not(.is-scrolled) .brand-name {
    color: #fff;
    font-family: 'DM Sans', 'Segoe UI', Arial, sans-serif;
    font-size: 1.3rem;
    font-weight: 700;
    letter-spacing: -0.035em;
}
.site-body .home-header:not(.is-scrolled) .brand-tagline {
    color: rgba(255, 255, 255, 0.82);
    font-size: 0.72rem;
    letter-spacing: 0.025em;
}
.site-body .home-header:not(.is-scrolled) .nav-menu a {
    color: rgba(255, 255, 255, 0.94);
    font-size: 0.87rem;
    font-weight: 600;
    text-shadow: 0 1px 8px rgba(0, 0, 0, 0.3);
}
.site-body .home-header:not(.is-scrolled) .top-actions .btn.primary {
    border: 1px solid #f1d4a2;
    background: #f1d4a2;
    color: #26391e;
}
.site-body .home-header:not(.is-scrolled) .student-login-link {
    color: #fff;
    font-weight: 600;
}
.site-body .home-header:not(.is-scrolled) .student-account-link strong { color: #fff; }
.site-body .home-header.is-scrolled .brand-name { color: #17643d; }
.site-body .home-page .hero,
.site-body .home-page .hero-inner {
    min-height: min(760px, 92vh);
}
.site-body .home-page .hero {
    display: flex;
    align-items: stretch;
    overflow: hidden;
    background: #13271c;
}
.site-body .home-page .hero-background-image {
    filter: brightness(0.53) saturate(0.8);
    transform: scale(1.015);
}
.site-body .home-page .hero-background-image.is-active {
    animation: foundationHeroDrift 6s ease-out both;
}
.site-body .home-page .hero-overlay {
    background:
        linear-gradient(90deg, rgba(12, 34, 22, 0.84) 0%, rgba(12, 34, 22, 0.69) 45%, rgba(12, 34, 22, 0.2) 100%),
        linear-gradient(0deg, rgba(10, 26, 18, 0.42), transparent 42%);
}
.site-body .home-page .hero-inner {
    align-items: center;
    width: 100%;
    padding-top: 132px;
    padding-bottom: 68px;
}
.site-body .home-page .hero-copy {
    max-width: 780px;
    padding: 10px 0 10px 28px;
    border-left: 2px solid rgba(228, 173, 83, 0.9);
}
.site-body .home-page .hero-slides { min-height: 345px; }
.site-body .home-page .hero-copy .eyebrow {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    margin: 0 0 22px;
    padding: 7px 12px;
    border: 1px solid rgba(241, 212, 162, 0.45);
    border-radius: 3px;
    background: rgba(18, 45, 29, 0.46);
    color: #f4d9a7;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.14em;
}
.site-body .home-page .hero-copy .hero-title {
    max-width: 740px;
    margin-bottom: 20px;
    color: #fffdf8;
    font-family: 'DM Serif Display', Georgia, serif;
    font-size: clamp(3.25rem, 5.7vw, 5.3rem);
    font-weight: 400;
    line-height: 1.02;
    letter-spacing: -0.025em;
    text-wrap: balance;
    text-shadow: 0 3px 24px rgba(0, 0, 0, 0.14);
}
.site-body .home-page .hero-copy p {
    max-width: 590px;
    color: rgba(255, 255, 255, 0.87);
    font-size: 1.05rem;
    line-height: 1.72;
}
.site-body .home-page .hero .cta-row { margin-top: 29px; }
.site-body .home-page .hero .btn {
    min-height: 49px;
    padding: 13px 20px;
    font-size: 0.86rem;
    font-weight: 700;
}
.site-body .home-page .hero .btn.primary {
    border-color: #f1d4a2;
    background: #f1d4a2;
    color: #26391e;
}
.site-body .home-page .hero .btn.primary:hover {
    border-color: #ffebc4;
    background: #ffebc4;
}
.site-body .home-page .hero .btn.secondary {
    border-color: rgba(255, 255, 255, 0.58);
    background: rgba(16, 31, 22, 0.2);
    color: #fff;
}
.site-body .home-page .hero-slider-controls {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 30px;
}
.site-body .home-page .hero-slider-controls .slider-arrow {
    width: 38px;
    height: 38px;
    border-color: rgba(255, 255, 255, 0.46);
    background: rgba(9, 26, 16, 0.36);
}
.site-body .home-page .slider-dots { gap: 7px; }
.site-body .home-page .slider-dot {
    width: 7px;
    height: 7px;
    border: 0;
    background: rgba(255, 255, 255, 0.5);
    transition: width 0.25s ease, background-color 0.25s ease;
}
.site-body .home-page .slider-dot.is-active {
    width: 24px;
    border-radius: 8px;
    background: #f1d4a2;
    box-shadow: none;
}
.site-body .home-page .slider-count {
    margin-left: 5px;
    color: rgba(255, 255, 255, 0.86);
    font-size: 0.72rem;
    font-variant-numeric: tabular-nums;
    font-weight: 700;
    letter-spacing: 0.1em;
}
.site-body .home-page .slider-toggle {
    display: inline-flex;
    flex: 0 0 auto;
    width: auto;
    min-width: 62px;
    min-height: 30px;
    padding: 5px 9px;
    border: 1px solid rgba(255, 255, 255, 0.35);
    border-radius: 3px;
    background: rgba(9, 26, 16, 0.36);
    color: #fff;
    cursor: pointer;
    font: inherit;
    font-size: 0.7rem;
    font-weight: 700;
}
.site-body .home-page .slider-toggle:hover {
    border-color: #f1d4a2;
    color: #f1d4a2;
}
.site-body .home-page .slider-toggle:focus-visible,
.site-body .home-page .hero-slider-controls button:focus-visible {
    outline: 2px solid #f1d4a2;
    outline-offset: 4px;
}
.site-body .impact-proof {
    position: relative;
    padding-top: 60px;
    background: #f4f6ef;
}
.site-body .impact-proof-heading h2 {
    color: #173426;
    font-family: 'DM Serif Display', Georgia, serif;
    font-size: clamp(1.9rem, 3.1vw, 2.55rem);
    font-weight: 400;
    letter-spacing: -0.015em;
}
.site-body .impact-proof-heading p { color: #596b60; }

@keyframes foundationHeroDrift {
    from { transform: scale(1.015); }
    to { transform: scale(1.075); }
}
@media (max-width: 1100px) {
    .site-body .home-page .hero,
    .site-body .home-page .hero-inner { min-height: 690px; }
    .site-body .home-page .hero-inner { padding-top: 116px; }
    .site-body .home-page .hero-copy .hero-title { font-size: clamp(3rem, 7vw, 4.6rem); }
}
@media (max-width: 700px) {
    .site-body .home-page .hero,
    .site-body .home-page .hero-inner { min-height: 670px; }
    .site-body .home-page .hero-inner { padding: 115px 24px 52px; }
    .site-body .home-page .hero-copy { padding-left: 19px; }
    .site-body .home-page .hero-slides { min-height: 370px; }
    .site-body .home-page .hero-copy .hero-title { font-size: clamp(2.8rem, 9vw, 4rem); }
    .site-body .home-page .hero-copy p { font-size: 0.98rem; }
}
@media (max-width: 560px) {
    .site-body .home-page .hero,
    .site-body .home-page .hero-inner { min-height: 690px; }
    .site-body .home-page .hero-inner { padding: 110px 18px 40px; }
    .site-body .home-page .hero-copy { padding-left: 15px; }
    .site-body .home-page .hero-slides { min-height: 405px; }
    .site-body .home-page .hero-copy .eyebrow { margin-bottom: 18px; font-size: 0.62rem; }
    .site-body .home-page .hero-copy .hero-title { font-size: clamp(2.65rem, 12vw, 3.35rem); }
    .site-body .home-page .hero-copy p { font-size: 0.92rem; line-height: 1.6; }
    .site-body .home-page .hero .cta-row { gap: 9px; }
    .site-body .home-page .hero .btn { padding: 12px 14px; font-size: 0.78rem; }
    .site-body .home-page .hero-slider-controls { gap: 8px; margin-top: 25px; }
    .site-body .home-page .hero-slider-controls .slider-arrow { width: 34px; height: 34px; }
    .site-body .home-page .slider-count { margin-left: 1px; font-size: 0.65rem; }
    .site-body .home-page .slider-toggle { min-width: 54px; }
}
@media (prefers-reduced-motion: reduce) {
    .site-body .home-page .hero-background-image.is-active { animation: none; }
}

/* Final responsive layout overrides */
.site-body .home-page .hero {
    height: clamp(520px, 70vh, 690px);
    min-height: 0;
}
.site-body .home-page .hero-inner {
    height: 100%;
    min-height: 0;
}
.site-body .home-page .hero-slides { min-height: 0; }
.site-body .home-page .hero-copy { width: min(100%, 760px); }
.site-body .site-header.home-header,
.site-body .site-header.home-header.is-scrolled { position: sticky; }
.site-body .admin-sidebar nav { scrollbar-width: none; }
.site-body .admin-sidebar nav::-webkit-scrollbar { display: none; }

@media (max-width: 760px) {
    .site-body .home-page .hero {
        width: calc(100% - 28px);
        height: auto;
        min-height: 0;
        margin-top: 14px;
    }
    .site-body .home-page .hero-inner {
        height: auto;
        min-height: 0;
        padding: 30px 20px;
    }
    .site-body .home-page .hero-copy { padding-left: 14px; }
    .site-body .home-page .hero-slides { min-height: 0; }
    .site-body .home-page .hero-copy .hero-title {
        font-size: clamp(2.25rem, 7.6vw, 3.35rem);
    }
    .site-body .home-page .hero-copy p { font-size: 0.9rem; }
    .site-body .admin-sidebar nav {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        width: 100%;
        overflow: visible;
    }
    .site-body .admin-sidebar a {
        text-align: center;
        white-space: normal;
    }
}
@media (max-width: 560px) {
    .site-body .home-page .hero {
        width: calc(100% - 24px);
        height: auto;
        min-height: 0;
        margin-top: 12px;
    }
    .site-body .home-page .hero-inner {
        height: auto;
        min-height: 0;
        padding: 24px 14px;
    }
    .site-body .home-page .hero-copy { padding-left: 12px; }
    .site-body .home-page .hero-copy .eyebrow {
        min-height: 27px;
        margin-bottom: 13px;
        padding: 5px 7px;
        font-size: 0.56rem;
        letter-spacing: 0.07em;
    }
    .site-body .home-page .hero-copy .hero-title {
        font-size: clamp(2.05rem, 9.4vw, 2.65rem);
        line-height: 1.06;
    }
    .site-body .home-page .hero-copy p {
        font-size: 0.83rem;
        line-height: 1.5;
    }
    .site-body .home-page .hero .cta-row { gap: 7px; margin-top: 17px; }
    .site-body .home-page .hero .btn {
        min-height: 36px;
        padding: 9px 9px;
        font-size: 0.67rem;
    }
    .site-body .home-page .hero-slider-controls {
        flex-wrap: nowrap;
        gap: 6px;
        margin-top: 15px;
    }
    .site-body .home-page .hero-slider-controls .slider-arrow {
        width: 28px;
        height: 28px;
        flex: 0 0 28px;
    }
    .site-body .home-page .slider-dots { gap: 4px; }
    .site-body .home-page .slider-dot { width: 5px; height: 5px; }
    .site-body .home-page .slider-dot.is-active { width: 17px; }
    .site-body .home-page .slider-count {
        margin-left: 0;
        font-size: 0.55rem;
        letter-spacing: 0.03em;
    }
    .site-body .home-page .slider-toggle {
        min-width: 44px;
        min-height: 26px;
        padding: 3px 5px;
        font-size: 0.59rem;
    }
    .site-body .topbar {
        grid-template-columns: minmax(0, 1fr) auto auto;
        gap: 5px;
        padding: 8px 10px;
    }
    .site-body .brand-link { gap: 6px; }
    .site-body .brand-link .logo { width: 34px; height: 34px; }
    .site-body .brand-name { font-size: 0.88rem; }
    .site-body .brand-tagline { display: none; }
    .site-body .top-actions .btn.primary {
        max-width: 82px;
        min-height: 35px;
        padding: 6px 7px;
        font-size: 0.6rem;
        white-space: normal;
    }
    .site-body .nav-toggle { width: 36px; height: 36px; }
    .site-body .admin-sidebar nav {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 3px;
    }
    .site-body .admin-sidebar a {
        padding: 8px 3px;
        font-size: 0.7rem;
        line-height: 1.2;
    }
}

.site-body .home-page .service-card,
.site-body .course-card,
.site-body .team-card,
.site-body .impact-item,
.site-body .process-step,
.site-body .info-panel,
.site-body .notice-item,
.site-body .gallery-item,
.site-body .form-card,
.site-body .contact-card,
.site-body .student-dashboard-card {
    border: 1px solid #e8e8df;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(39, 50, 40, 0.055);
}
.site-body .home-page .service-card,
.site-body .course-card,
.site-body .team-card,
.site-body .impact-item,
.site-body .process-step,
.site-body .gallery-item {
    transition: transform 0.22s ease, border-color 0.22s ease, box-shadow 0.22s ease;
}
.site-body .home-page .service-card:hover,
.site-body .course-card:hover,
.site-body .team-card:hover,
.site-body .impact-item:hover,
.site-body .process-step:hover,
.site-body .gallery-item:hover {
    transform: translateY(-4px);
    border-color: #e4c486;
    box-shadow: 0 15px 34px rgba(39, 50, 40, 0.11);
}
.site-body .home-page .service-card {
    display: flex;
    min-height: 0;
    flex-direction: column;
    align-items: flex-start;
    padding: 16px 16px 22px;
}
.site-body .home-page .service-card .card-photo {
    width: 100%;
    height: auto;
    aspect-ratio: 1.45 / 1;
    margin: 0 0 17px;
    border: 0;
    border-radius: 10px;
    object-fit: cover;
}
.site-body .home-page .service-card .service-icon {
    margin: 0 4px 5px;
    color: #a94410;
    font-size: 0.66rem;
    letter-spacing: 0.12em;
}
.site-body .home-page .service-card h3 {
    margin: 0 4px 8px;
    color: #293a30;
    font-size: 1.1rem;
    line-height: 1.35;
}
.site-body .home-page .service-card p {
    margin: 0 4px;
    color: #626e64;
    font-size: 0.88rem;
    line-height: 1.6;
}
.site-body .course-card,
.site-body .team-card,
.site-body .impact-item,
.site-body .process-step,
.site-body .gallery-item { border-radius: 12px; }
.site-body .course-image {
    min-height: 185px;
    border-radius: 11px 11px 0 0;
}
.site-body .course-body { padding: 21px; }
.site-body .card-meta span {
    padding: 4px 8px;
    border: 1px solid #ebe8de;
    border-radius: 99px;
    background: #f7f6f1;
}
.site-body .notice-item {
    padding: 22px;
    border-top-width: 3px;
}
.site-body .gallery-item { overflow: hidden; }
.site-body .gallery-item img {
    border-radius: 11px 11px 0 0;
    transition: transform 0.35s ease;
}
.site-body .gallery-item:hover img { transform: scale(1.025); }
.site-body .info-panel { padding: 23px; }
.site-body .form-layout .form-card { border-radius: 12px; }
.site-body .contact-layout { border-radius: 12px; }
.site-body .contact-layout .contact-card { border-radius: 0; }
.site-body .contact-layout .form-card { border-radius: 0; }
.site-body .student-dashboard-card { border-radius: 12px; }
.site-body .student-profile-details > div { border-radius: 8px; }
.site-body .student-support-banner { border-radius: 10px; }

.admin-stat-card {
    border-radius: 12px;
    box-shadow: 0 9px 24px rgba(38, 45, 37, 0.07);
}
.admin-quick-links a {
    display: flex;
    min-height: 82px;
    align-items: center;
    gap: 13px;
    padding: 15px;
    border-radius: 10px;
    box-shadow: 0 5px 16px rgba(38, 45, 37, 0.045);
}
.admin-quick-links a > span {
    display: grid;
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    place-items: center;
    border: 1px solid #f0dfbc;
    border-radius: 9px;
    background: #fff6e6;
}
.admin-quick-links a > strong {
    flex: 1;
    font-size: 0.84rem;
    line-height: 1.35;
}
.admin-quick-links a > b { font-size: 1.1rem; }

@media (max-width: 760px) {
    .site-body .home-page .hero {
        height: auto;
        min-height: 0;
    }
    .site-body .home-page .hero-inner {
        height: auto;
        min-height: 0;
    }
}
@media (max-width: 560px) {
    .site-body .home-page .hero {
        height: auto;
        min-height: 0;
    }
    .site-body .home-page .hero-inner {
        height: auto;
        min-height: 0;
    }
    .site-body .home-page .service-card .card-photo { aspect-ratio: 1.55 / 1; }
    .admin-quick-links a { min-height: 72px; }
}

.site-body .student-dashboard {
    max-width: 1320px;
    padding-top: 48px;
    padding-bottom: 72px;
}
.site-body .student-dashboard-heading {
    position: relative;
    min-height: 190px;
    align-items: center;
    margin-bottom: 22px;
    padding: 32px clamp(22px, 4vw, 48px);
    overflow: hidden;
    border: 1px solid #eee1ca;
    border-radius: 5px;
    background:
        radial-gradient(circle at 88% 14%, rgba(255, 255, 255, 0.4), transparent 28%),
        linear-gradient(112deg, #fff3d9, #fffaf0 62%, #edf5ec);
}
.site-body .student-dashboard-heading > div { position: relative; z-index: 1; }
.site-body .student-dashboard-heading .eyebrow.dark {
    padding: 0;
    color: #a94410;
    font-size: 0.68rem;
    font-weight: 750;
}
.site-body .student-dashboard-heading h1 {
    max-width: 760px;
    color: #27382c;
    font-size: clamp(2rem, 4vw, 3.1rem);
}
.site-body .student-dashboard-heading p { color: #59685e; }
.site-body .student-dashboard-heading > .btn {
    position: relative;
    z-index: 1;
    border: 1px solid #76bd4a;
    background: #76bd4a;
    color: #182b1e;
    font-size: 0.86rem;
}
.site-body .student-dashboard-actions {
    position: relative;
    z-index: 1;
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 18px;
}
.site-body .student-dashboard-actions > .btn { position: static; }
.site-body .student-logout-link {
    color: #19364e;
    font-size: 0.88rem;
    font-weight: 650;
}
.site-body .student-logout-link:hover { color: #167c63; }
.site-body .student-logout-link {
    display: inline-flex;
    align-items: center;
    gap: 7px;
}
.site-body .student-logout-link svg { width: 17px; height: 17px; }
.site-body .student-account-alert { margin-bottom: 18px; }
.site-body .student-account-edit,
.site-body .student-course-edit {
    margin-top: 18px;
    border-top: 1px solid rgba(25, 54, 78, 0.12);
    padding-top: 14px;
}
.site-body .student-account-edit summary,
.site-body .student-course-edit summary {
    color: #167c63;
    cursor: pointer;
    font-size: 0.86rem;
    font-weight: 700;
}
.site-body .student-account-edit form,
.site-body .student-course-edit form,
.site-body .student-security-card form {
    display: grid;
    gap: 12px;
    margin-top: 14px;
}
.site-body .student-account-edit label,
.site-body .student-course-edit label,
.site-body .student-security-card label {
    display: grid;
    gap: 6px;
    color: #415768;
    font-size: 0.8rem;
    font-weight: 600;
}
.site-body .student-account-edit input,
.site-body .student-course-edit select,
.site-body .student-security-card input {
    width: 100%;
    min-height: 42px;
    padding: 9px 11px;
    border: 1px solid rgba(25, 54, 78, 0.18);
    border-radius: 4px;
    background: #fff;
    color: #19364e;
    font: inherit;
}
.site-body .student-account-edit input:focus,
.site-body .student-course-edit select:focus,
.site-body .student-security-card input:focus {
    border-color: #167c63;
    outline: 3px solid rgba(22, 124, 99, 0.14);
}
.site-body .student-security-card { grid-column: 1 / -1; }
.site-body .student-security-card form { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.site-body .student-security-card form button { align-self: end; }
.site-body .student-forgot-link {
    display: inline-block;
    margin-top: 16px;
    color: #167c63;
    font-size: 0.88rem;
    font-weight: 650;
}
.site-body .form-card .button-icon { margin-right: 8px; }
.site-body .student-support-banner > div:last-child {
    display: flex;
    align-items: center;
    gap: 16px;
}
.site-body .student-logout-link-bottom { font-size: 0.86rem; }
.site-body .student-dashboard-nav {
    gap: 8px;
    margin-bottom: 22px;
    padding: 8px;
    border: 1px solid #e9e5dc;
    border-radius: 4px;
    background: #fff;
}
.site-body .student-dashboard-nav a {
    min-height: 38px;
    padding: 9px 15px;
    border: 0;
    border-radius: 3px;
    color: #58655c;
    font-size: 0.84rem;
}
.site-body .student-dashboard-nav a:hover,
.site-body .student-dashboard-nav a.is-active {
    background: #fff3dc;
    color: #9d430f;
}
.site-body .student-dashboard-grid { gap: 18px; }
.site-body .student-dashboard-card {
    padding: clamp(20px, 2.5vw, 30px);
    border-color: #e9e4d9;
    border-radius: 4px;
    box-shadow: 0 8px 25px rgba(50, 51, 40, 0.055);
}
.site-body .student-dashboard-icon {
    border: 1px solid #f0dfbb;
    border-radius: 4px;
    background: #fff6e6;
    color: #a94410;
}
.site-body .student-dashboard-card-heading h3 { color: #27382c; }
.site-body .student-dashboard-card-heading p { color: #68756a; }
.site-body .student-application-empty {
    padding: 18px;
    border: 1px dashed rgba(25, 54, 78, 0.2);
    background: #f5f8f7;
}
.site-body .student-application-empty p {
    margin: 0 0 14px;
    color: #647482;
    font-size: 0.9rem;
}
.site-body .student-application-list { display: grid; gap: 14px; }
.site-body .student-application-item {
    padding: 16px;
    border: 1px solid rgba(25, 54, 78, 0.12);
    background: #f8faf9;
}
.site-body .student-application-item-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 14px;
}
.site-body .student-application-item-heading > strong { color: #19364e; }
.site-body .student-application-status {
    flex: 0 0 auto;
    padding: 4px 9px;
    border-radius: 999px;
    background: #fff4dc;
    color: #805410;
    font-size: 0.72rem;
    font-weight: 700;
}
.site-body .student-application-status[data-status="Approved"] { background: #e4f3ec; color: #126247; }
.site-body .student-application-status[data-status="Rejected"] { background: #fce9e7; color: #a43d36; }
.site-body .student-application-status[data-status="Under Review"] { background: #e8f0f8; color: #315d7a; }
.site-body .student-application-item dl {
    display: grid;
    gap: 10px;
    margin: 0;
}
.site-body .student-application-item dl > div {
    display: flex;
    justify-content: space-between;
    gap: 12px;
}
.site-body .student-application-item dt { color: #647482; font-size: 0.78rem; }
.site-body .student-application-item dd {
    margin: 0;
    color: #19364e;
    font-size: 0.8rem;
    font-weight: 600;
    text-align: right;
    overflow-wrap: anywhere;
}
.site-body .student-profile-details > div {
    border: 1px solid #eeece5;
    border-radius: 3px;
    background: #fbfaf7;
}
.site-body .student-profile-details dt { color: #68756a; }
.site-body .student-profile-details dd { color: #2f3c32; }
.site-body .student-application-card > p { color: #58685d; }
.site-body .student-dashboard-text-link { color: #a94410; }
.site-body .student-support-banner {
    border-color: #e5e8dc;
    border-radius: 4px;
    background: #f1f5ed;
}
.site-body .student-support-banner > div > span { color: #62784f; }
.site-body .student-support-banner h3 { color: #293b30; }
.site-body .student-support-banner .btn.secondary {
    border-color: #d9dfd3;
    border-radius: 3px;
    color: #385342;
}

.admin-body {
    min-height: 100vh;
    background: #f5f4ef;
    color: #2b352d;
    font-family: 'DM Sans', 'Segoe UI', Arial, sans-serif;
}
.admin-shell {
    display: flex;
    min-height: 100vh;
    flex-direction: column;
    background: #f5f4ef;
}
.admin-sidebar {
    position: sticky;
    top: 0;
    z-index: 80;
    display: flex;
    min-height: 76px;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    padding: 12px clamp(18px, 4vw, 56px);
    border: 0;
    border-bottom: 1px solid #e9e3d8;
    background: #fff;
    color: #293a2f;
    box-shadow: 0 3px 14px rgba(37, 43, 34, 0.06);
}
.admin-sidebar h2 {
    flex: 0 0 auto;
    margin: 0;
    color: #2b3b30;
    font-size: 1.35rem;
    font-weight: 800;
    letter-spacing: -0.04em;
}
.admin-sidebar nav {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 5px;
    overflow-x: auto;
}
.admin-sidebar a {
    flex: 0 0 auto;
    padding: 10px 13px;
    border-radius: 3px;
    color: #59665c;
    font-size: 0.84rem;
    font-weight: 650;
}
.admin-sidebar a:hover,
.admin-sidebar a[aria-current="page"] {
    transform: none;
    background: #fff3dd;
    color: #9a430f;
}
.admin-main {
    width: 100%;
    max-width: 1440px;
    flex: 1 0 auto;
    margin: 0 auto;
    padding: clamp(26px, 4vw, 54px) clamp(18px, 4vw, 56px) 72px;
    background: transparent;
    color: #2b352d;
}
.admin-main > h1,
.admin-topbar h1 {
    margin: 0;
    color: #27382d;
    font-size: clamp(1.9rem, 3.3vw, 2.7rem);
    font-weight: 800;
    letter-spacing: -0.05em;
}
.admin-topbar {
    margin-bottom: 26px;
    padding-bottom: 20px;
    border-bottom: 1px solid #e5e2d8;
}
.admin-badge {
    border: 1px solid #e7d7b6;
    border-radius: 3px;
    background: #fff7e8;
    color: #8b4a16;
    font-size: 0.71rem;
    letter-spacing: 0.07em;
}
.stats-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    max-width: none;
    gap: 18px;
    margin: 0 0 34px;
}
.admin-stat-card {
    position: relative;
    min-height: 165px;
    overflow: hidden;
    border: 1px solid #e8e4d9;
    border-radius: 5px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(38, 45, 37, 0.055);
    color: #29372e;
}
.admin-stat-card::after {
    position: absolute;
    top: 0;
    right: 0;
    width: 4px;
    height: 100%;
    background: #e9a622;
    content: '';
}
.admin-stat-card:nth-child(2)::after { background: #79bf49; }
.admin-stat-card:nth-child(3)::after { background: #b84c18; }
.admin-stat-card .stat-label {
    color: #68746a;
    font-size: 0.7rem;
    letter-spacing: 0.09em;
}
.admin-stat-card h3 {
    margin-bottom: 9px;
    color: #293b30;
    font-size: clamp(2.1rem, 4vw, 2.8rem);
    letter-spacing: -0.05em;
}
.admin-stat-card p { color: #6a756c; font-size: 0.87rem; }
.admin-section-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 16px;
}
.admin-section-kicker {
    color: #a24a17;
    font-size: 0.67rem;
    font-weight: 750;
    letter-spacing: 0.14em;
}
.admin-section-heading h2 {
    margin: 4px 0 0;
    color: #293a2f;
    font-size: 1.35rem;
    letter-spacing: -0.03em;
}
.admin-section-heading > p {
    margin: 0;
    color: #69756b;
    font-size: 0.86rem;
}
.admin-quick-links {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}
.admin-quick-links a {
    display: grid;
    min-height: 120px;
    grid-template-columns: 1fr auto;
    align-content: space-between;
    gap: 16px;
    padding: 19px;
    border: 1px solid #e9e4d9;
    border-radius: 4px;
    background: #fff;
    color: #29382e;
    transition: border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}
.admin-quick-links a:hover {
    transform: translateY(-2px);
    border-color: #dbbf88;
    box-shadow: 0 10px 22px rgba(38, 45, 37, 0.08);
}
.admin-quick-links a > span {
    grid-column: 1 / -1;
    color: #a94b17;
    font-size: 0.69rem;
    font-weight: 750;
    letter-spacing: 0.1em;
}
.admin-quick-links a > strong { font-size: 0.9rem; }
.admin-quick-links a > b { color: #9a531c; }
.admin-panel {
    overflow-x: auto;
    border: 1px solid #e9e4d9;
    border-radius: 4px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(38, 45, 37, 0.05);
}
.admin-body table { min-width: 620px; }
.admin-body th {
    background: #f5f5ef;
    color: #536156;
    font-size: 0.75rem;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}
.admin-body td { color: #435047; font-size: 0.86rem; }
.admin-body .admin-panel input,
.admin-body .admin-panel select,
.admin-body .admin-panel textarea {
    border: 1px solid #dddcd2;
    border-radius: 3px;
    background: #fff;
    color: #29372e;
}
.admin-body .admin-panel input:focus,
.admin-body .admin-panel select:focus,
.admin-body .admin-panel textarea:focus {
    border-color: #85a76f;
    box-shadow: 0 0 0 3px rgba(119, 172, 83, 0.14);
}
.admin-body .admin-panel .btn.primary {
    border-radius: 3px;
    background: #a94410;
    box-shadow: none;
}
.admin-login-box {
    width: min(100% - 32px, 430px);
    margin: min(13vh, 120px) auto 40px;
    padding: 34px;
    border: 1px solid #e9e4d9;
    border-radius: 5px;
    background: #fff;
    box-shadow: 0 18px 48px rgba(38, 45, 37, 0.1);
    color: #29372e;
}
.admin-login-box h1 {
    margin: 0 0 24px;
    color: #293a2f;
    font-size: 1.8rem;
}
.admin-login-box label {
    display: grid;
    gap: 7px;
    margin-bottom: 17px;
    color: #59665c;
    font-size: 0.86rem;
    font-weight: 600;
}
.admin-login-box input {
    width: 100%;
    border: 1px solid #dddcd2;
    border-radius: 3px;
    background: #fff;
    color: #29372e;
}
.admin-login-box .btn.primary {
    border-radius: 3px;
    background: #a94410;
    box-shadow: none;
}
.site-body .home-page .section-heading,
.site-body .home-page .section-intro {
    margin-bottom: 30px;
}
.site-body .home-page .section-heading .eyebrow.dark,
.site-body .home-page .section-intro .eyebrow.dark {
    color: #a94410;
    letter-spacing: 0.14em;
}
.site-body .home-page .section-heading h2,
.site-body .home-page .section-intro h2 {
    max-width: 760px;
    margin-top: 5px;
    color: #28372d;
    font-size: clamp(1.8rem, 3vw, 2.55rem);
    line-height: 1.16;
}
.site-body .home-page .service-card {
    padding: 20px 20px 24px;
    border: 1px solid #f0eadf;
    background: #fff;
    box-shadow: 0 10px 30px rgba(75, 59, 34, 0.055);
}
.site-body .home-page .service-card .card-photo {
    width: min(100%, 280px);
    height: 230px;
    margin: 0 auto 19px;
    border: 6px solid #ffb04d;
    border-radius: 48% 48% 4px 4px;
    object-fit: cover;
}
.site-body .home-page .service-card .service-icon {
    width: auto;
    height: auto;
    margin: 0 0 5px;
    background: transparent;
    color: #a94410;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.12em;
}
.site-body .home-page .service-card h3 {
    margin: 0 0 8px;
    color: #a94410;
    font-size: 1.12rem;
    font-weight: 800;
}
.site-body .home-page .service-card p {
    margin: 0;
    color: #434b44;
    font-size: 0.91rem;
    line-height: 1.65;
}
.site-body .home-page .notice-section { max-width: 1320px; }
.site-body .home-page .notice-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}
.site-body .home-page .notice-item {
    min-width: 0;
    padding: 24px;
    border: 1px solid #ece6d9;
    border-top: 3px solid #e8a321;
    border-radius: 3px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(50, 51, 40, 0.05);
}
.site-body .home-page .notice-item:nth-child(3n + 2) { border-top-color: #79bf49; }
.site-body .home-page .notice-item:nth-child(3n) { border-top-color: #a94410; }
.site-body .home-page .notice-date {
    color: #9b4a18;
    font-size: 0.72rem;
    font-weight: 750;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}
.site-body .home-page .notice-item h3 {
    margin: 11px 0 8px;
    color: #2a3a2e;
    font-size: 1.04rem;
    line-height: 1.4;
}
.site-body .home-page .notice-item p {
    margin: 0;
    color: #68746a;
    font-size: 0.88rem;
    line-height: 1.6;
}
@media (max-width: 900px) {
    .admin-sidebar {
        position: static;
        align-items: flex-start;
        flex-direction: column;
        gap: 12px;
        padding: 15px 18px;
    }
    .admin-sidebar nav { width: 100%; justify-content: flex-start; }
    .admin-quick-links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .site-body .home-page .notice-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 620px) {
    .admin-sidebar { gap: 8px; }
    .admin-sidebar nav { padding-bottom: 3px; }
    .admin-sidebar a { padding: 9px 10px; font-size: 0.78rem; }
    .admin-main { padding-top: 26px; }
    .admin-topbar { align-items: flex-start; flex-direction: column; gap: 12px; }
    .stats-grid { grid-template-columns: 1fr; gap: 12px; }
    .admin-stat-card { min-height: 135px; }
    .admin-section-heading { align-items: flex-start; flex-direction: column; }
    .admin-quick-links { grid-template-columns: 1fr; }
    .admin-login-box { padding: 25px; }
    .site-body .home-page .notice-list { grid-template-columns: 1fr; }
    .site-body .home-page .service-card .card-photo { height: 210px; }
    .site-body .student-dashboard-heading { padding: 24px 20px; }
    .site-body .student-profile-details { grid-template-columns: 1fr; }
}

.site-body {
    background: #fbfaf7;
    color: #2d3931;
    font-size: 16px;
    line-height: 1.65;
}
.site-body main:not(.home-page) {
    min-height: 65vh;
    background: #fbfaf7;
}
.site-body .section {
    width: min(100% - 40px, 1240px);
    max-width: 1240px;
    padding-top: clamp(48px, 6vw, 78px);
    padding-bottom: clamp(48px, 6vw, 78px);
}
.site-body .page-banner {
    min-height: 210px;
    padding: 34px 0;
}
.site-body .page-banner .container { padding: 0 24px; }
.site-body .page-banner h1 { max-width: 100%; }
.site-body .section-heading,
.site-body .section-intro { margin-bottom: 30px; }
.site-body .section-heading h2,
.site-body .section-intro h2 {
    font-size: clamp(1.7rem, 3.1vw, 2.35rem);
    line-height: 1.2;
}
.site-body .section-heading > p,
.site-body .section-intro > p { color: #627066; }
.site-body .two-col,
.site-body .detail-grid,
.site-body .contact-layout {
    align-items: start;
    gap: 26px;
}
.site-body .two-col > div:first-child > h2 {
    margin-top: 0;
    color: #293a30;
    font-size: clamp(1.7rem, 3vw, 2.35rem);
    line-height: 1.2;
}
.site-body .two-col > div:first-child > p { color: #58665c; }
.site-body .info-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.site-body .info-panel,
.site-body .team-card,
.site-body .impact-item,
.site-body .process-step {
    border: 1px solid #e9e5db;
    border-radius: 5px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(42, 48, 40, 0.05);
}
.site-body .info-panel { padding: 24px; }
.site-body .info-panel h3,
.site-body .team-card h3,
.site-body .impact-item h3,
.site-body .process-step h3 {
    color: #923d12;
    font-size: 1.12rem;
    font-weight: 750;
}
.site-body .info-panel p,
.site-body .team-card p,
.site-body .impact-item p,
.site-body .process-step p { color: #5e6a61; }
.site-body .info-panel li { color: #56635a; }
.site-body .course-grid,
.site-body .team-grid,
.site-body .gallery-grid,
.site-body .info-grid { gap: 20px; }
.site-body .course-card,
.site-body .team-card,
.site-body .gallery-item {
    overflow: hidden;
    border: 1px solid #e9e5db;
    border-radius: 5px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(42, 48, 40, 0.055);
}
.site-body .course-image { min-height: 175px; }
.site-body .course-body {
    padding: 21px;
    background: #fff;
}
.site-body .course-body h3 {
    margin-top: 0;
    color: #2c3a30;
    font-size: 1.1rem;
}
.site-body .course-body p { color: #5d6960; }
.site-body .card-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.site-body .card-meta span {
    border-radius: 3px;
    background: #f4f2eb;
    color: #536157;
    font-size: 0.76rem;
}
.site-body .text-link { color: #a94410; font-weight: 700; }
.site-body .team-card { padding-bottom: 18px; }
.site-body .team-card .card-photo { border-radius: 0; }
.site-body .team-card h3,
.site-body .team-card p { margin-right: 18px; margin-left: 18px; }
.site-body .gallery-item { margin: 0; }
.site-body .gallery-item img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}
.site-body .gallery-item figcaption {
    padding: 13px 16px;
    color: #435047;
    font-size: 0.9rem;
}
.site-body .form-layout {
    display: grid;
    justify-items: center;
}
.site-body .form-layout .form-card {
    width: min(100%, 900px);
    padding: clamp(22px, 4vw, 38px);
    border: 1px solid #e8e3d8;
    border-radius: 5px;
    background: #fff;
    box-shadow: 0 12px 32px rgba(42, 48, 40, 0.06);
}
.site-body .form-card h2 { margin-top: 0; color: #293a30; }
.site-body label {
    display: grid;
    gap: 7px;
    margin: 0 0 17px;
    color: #4f5c52;
    font-size: 0.87rem;
    font-weight: 650;
}
.site-body input,
.site-body select,
.site-body textarea {
    width: 100%;
    min-height: 46px;
    padding: 10px 12px;
    border: 1px solid #dcded4;
    border-radius: 3px;
    background: #fff;
    color: #2d3931;
}
.site-body textarea { min-height: 130px; }
.site-body .checkbox-row {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-weight: 400;
}
.site-body .checkbox-row input {
    width: 18px;
    min-height: 18px;
    margin-top: 3px;
    accent-color: #648d4b;
}
.site-body .form-card button.btn.primary,
.site-body .contact-card button.btn.primary {
    min-height: 46px;
    border: 1px solid #78bd49;
    border-radius: 3px;
    background: #78bd49;
    color: #1b2c1c;
    box-shadow: none;
}
.site-body .detail-header {
    align-items: flex-start;
    padding: 22px 24px;
    border: 1px solid #e9e5db;
    border-radius: 5px;
    background: #fff;
}
.site-body .detail-header h2 { margin-bottom: 0; color: #293a30; }
.site-body .detail-page .eyebrow {
    border-color: #e8d8b5;
    background: #fff6e5;
    color: #9a4717;
}
.site-body .detail-content h3 { margin-top: 28px; color: #923d12; }
.site-body .detail-content p { color: #59665c; }
.site-body .detail-page .info-panel { background: #fff; }
.site-body .impact-band { background: #f5f3ec; }
.site-body .cta-banner {
    padding: 38px 0;
    background: #304738;
}
.site-body .cta-banner h2 { color: #fff; }
.site-body .notice-list { gap: 16px; }
.site-body .site-footer {
    margin-top: 0;
    padding-top: 0;
    background: #263a2e;
}
.site-body .site-footer .footer-cta,
.site-body .site-footer .footer-grid,
.site-body .site-footer .footer-bottom { max-width: 1240px; }

.site-body .home-page .hero {
    width: calc(100% - 48px);
    max-width: 1500px;
    min-height: clamp(500px, 66vh, 680px);
    margin: 20px auto 0;
    border-radius: 4px;
}
.site-body .home-page .hero-inner {
    width: 100%;
    min-height: 0;
    padding: clamp(34px, 5vw, 64px) clamp(24px, 5vw, 72px);
}
.site-body .home-page .hero-copy { width: min(100%, 760px); }
.site-body .home-page .hero-slides { min-height: 0; }
.site-body .home-page .hero-copy .hero-title {
    font-size: clamp(2.65rem, 5vw, 4.65rem);
    line-height: 1.04;
}
.site-body .home-page .hero-copy p { font-size: clamp(0.9rem, 1.1vw, 1.02rem); }
.site-body .home-page .hero-slider-controls {
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 24px;
}
.site-body .home-page .hero-slider-controls .slider-arrow {
    width: 34px;
    height: 34px;
}
.site-body .home-page .slider-dots { gap: 6px; }
.site-body .home-page .slider-count { margin-left: 1px; }
.site-body .home-page .slider-toggle { min-width: 54px; }

@media (max-width: 1100px) {
    .site-body .site-header .topbar {
        grid-template-columns: minmax(0, 1fr) auto auto;
    }
    .site-body .home-page .hero { min-height: clamp(500px, 66vh, 640px); }
}
@media (max-width: 760px) {
    .site-body .contact-layout { grid-template-columns: 1fr; }
    .site-body .two-col,
    .site-body .detail-grid { grid-template-columns: 1fr; }
    .site-body .impact-grid,
    .site-body .team-grid,
    .site-body .course-grid,
    .site-body .gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .site-body .home-page .hero {
        width: calc(100% - 28px);
        min-height: 0;
        margin-top: 14px;
    }
    .site-body .home-page .hero-inner {
        min-height: 0;
        padding: 36px 22px;
    }
    .site-body .home-page .hero-copy { padding-left: 16px; }
    .site-body .home-page .hero-slides { min-height: 0; }
    .site-body .home-page .hero-copy .hero-title { font-size: clamp(2.35rem, 7.4vw, 3.5rem); }
    .site-body .home-page .hero .btn { min-height: 42px; padding: 11px 14px; font-size: 0.8rem; }
    .site-body .home-page .hero-slider-controls { margin-top: 20px; }
    .site-body .student-dashboard-grid { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
    .site-body .section {
        width: calc(100% - 32px);
        padding-top: 44px;
        padding-bottom: 48px;
    }
    .site-body .page-banner { min-height: 155px; padding: 26px 0; }
    .site-body .page-banner h1 { font-size: clamp(2rem, 9vw, 2.8rem); }
    .site-body .impact-grid,
    .site-body .team-grid,
    .site-body .course-grid,
    .site-body .gallery-grid,
    .site-body .info-grid { grid-template-columns: 1fr; }
    .site-body .home-page .hero {
        width: calc(100% - 24px);
        min-height: 0;
        margin-top: 12px;
    }
    .site-body .home-page .hero-inner {
        min-height: 0;
        padding: 28px 16px;
    }
    .site-body .home-page .hero-copy { padding-left: 13px; }
    .site-body .home-page .hero-copy .eyebrow {
        min-height: 28px;
        margin-bottom: 15px;
        padding: 6px 8px;
        font-size: 0.58rem;
        letter-spacing: 0.09em;
    }
    .site-body .home-page .hero-copy .hero-title {
        font-size: clamp(2.2rem, 10vw, 2.85rem);
        line-height: 1.06;
    }
    .site-body .home-page .hero-copy p {
        font-size: 0.86rem;
        line-height: 1.55;
    }
    .site-body .home-page .hero .cta-row { gap: 8px; margin-top: 20px; }
    .site-body .home-page .hero .btn { min-height: 39px; padding: 10px 11px; font-size: 0.72rem; }
    .site-body .home-page .hero-slider-controls { gap: 7px; margin-top: 17px; }
    .site-body .home-page .hero-slider-controls .slider-arrow { width: 30px; height: 30px; }
    .site-body .home-page .slider-dot { width: 6px; height: 6px; }
    .site-body .home-page .slider-dot.is-active { width: 19px; }
    .site-body .home-page .slider-dots { gap: 5px; }
    .site-body .home-page .slider-count { font-size: 0.6rem; }
    .site-body .home-page .slider-toggle { min-width: 48px; min-height: 28px; padding: 4px 6px; font-size: 0.62rem; }
    .site-body .home-page .service-card .card-photo { height: 220px; }
    .site-body .form-layout .form-card { padding: 20px; }
    .site-body .detail-header { flex-direction: column; padding: 18px; }
    .site-body .student-dashboard { padding-top: 30px; }
    .site-body .student-dashboard-heading { min-height: 0; padding: 24px 18px; }
    .site-body .student-dashboard-actions { width: 100%; flex-wrap: wrap; }
    .site-body .student-dashboard-actions > .btn { width: auto; flex: 1 1 auto; }
    .site-body .student-dashboard-nav { gap: 3px; }
    .site-body .student-dashboard-nav a { padding: 8px 9px; font-size: 0.76rem; }
    .site-body .student-support-banner { align-items: flex-start; flex-direction: column; }
    .site-body .announcement-bar { font-size: 0.64rem; }
}

.site-body {
    --reference-ink: #28332b;
    --reference-orange: #a94410;
    --reference-saffron: #efa51b;
    --reference-lime: #74c943;
    --reference-paper: #fffdf8;
    background: var(--reference-paper);
    color: var(--reference-ink);
}
.site-body .site-header,
.site-body .site-header.home-header,
.site-body .site-header.home-header.is-scrolled {
    position: sticky;
    top: 0;
    z-index: 110;
    border-bottom: 1px solid #ece8df;
    background: #fff;
    box-shadow: 0 3px 14px rgba(35, 39, 33, 0.08);
    backdrop-filter: none;
}
.site-body .topbar {
    min-height: 88px;
    max-width: 1600px;
    gap: clamp(12px, 2.4vw, 36px);
    padding: 10px clamp(16px, 3vw, 42px);
}
.site-body .brand-link { min-width: 205px; gap: 11px; }
.site-body .brand-link .logo {
    width: 48px;
    height: 48px;
    border: 1px solid #e8eee7;
    border-radius: 50%;
    background: #edf5ed;
    box-shadow: none;
}
.site-body .brand-name {
    color: #26372d;
    font-family: 'DM Sans', 'Segoe UI', Arial, sans-serif;
    font-size: 1.23rem;
    font-weight: 800;
    letter-spacing: -0.045em;
}
.site-body .brand-tagline {
    color: #727970;
    font-size: 0.67rem;
    letter-spacing: 0.015em;
}
.site-body .navbar { flex: 1 1 auto; justify-content: center; }
.site-body .nav-menu { gap: clamp(0px, 0.4vw, 6px); }
.site-body .nav-menu a {
    min-height: 42px;
    padding: 0 clamp(7px, 0.8vw, 12px);
    border-radius: 3px;
    color: #343b35;
    font-size: 0.86rem;
    font-weight: 650;
}
.site-body .nav-menu a:hover,
.site-body .nav-menu a:focus-visible,
.site-body .nav-menu a[aria-current="page"] {
    background: #fff6e7;
    color: #9a3e0d;
}
.site-body .nav-menu a[aria-current="page"] { font-weight: 750; }
.site-body .top-actions { gap: 12px; }
.site-body .top-actions .btn.primary {
    min-height: 44px;
    padding: 11px 18px;
    border: 1px solid #e7a00e;
    border-radius: 24px;
    background: #ffcf55;
    box-shadow: 0 3px 0 #e8a018;
    color: #242519;
    font-size: 0.83rem;
}
.site-body .top-actions .btn.primary:hover {
    transform: translateY(-1px);
    background: #ffdb78;
    box-shadow: 0 4px 0 #e8a018;
}
.site-body .student-login-link {
    color: #405247;
    font-size: 0.82rem;
    font-weight: 650;
}
.site-body .site-header.home-header:not(.is-scrolled) .brand-name,
.site-body .site-header.home-header.is-scrolled .brand-name {
    color: #26372d;
    text-shadow: none;
}
.site-body .site-header.home-header:not(.is-scrolled) .brand-tagline,
.site-body .site-header.home-header.is-scrolled .brand-tagline {
    color: #727970;
    text-shadow: none;
}
.site-body .site-header.home-header:not(.is-scrolled) .nav-menu a,
.site-body .site-header.home-header.is-scrolled .nav-menu a {
    color: #343b35;
    text-shadow: none;
}
.site-body .site-header.home-header:not(.is-scrolled) .nav-menu a:hover,
.site-body .site-header.home-header:not(.is-scrolled) .nav-menu a:focus-visible,
.site-body .site-header.home-header.is-scrolled .nav-menu a:hover,
.site-body .site-header.home-header.is-scrolled .nav-menu a:focus-visible {
    color: #9a3e0d;
}
.site-body .site-header.home-header:not(.is-scrolled) .top-actions .btn.primary {
    border: 1px solid #e7a00e;
    background: #ffcf55;
    box-shadow: 0 3px 0 #e8a018;
    color: #242519;
}
.site-body .site-header.home-header:not(.is-scrolled) .student-login-link {
    color: #405247;
    text-shadow: none;
}
.site-body .site-header.home-header .nav-toggle {
    border: 1px solid #e5dfd4;
    border-radius: 3px;
    background: #fff;
}
.site-body .site-header.home-header .nav-toggle span { background: #293b30; }
.site-body .announcement-bar {
    display: flex;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 9px 18px;
    background: #f0a21a;
    color: #2f2c22;
    font-size: 0.88rem;
    font-weight: 700;
    letter-spacing: 0.015em;
    text-align: center;
}
.site-body .announcement-bar span[aria-hidden="true"] {
    color: #8a4c0a;
    font-size: 0.72rem;
}
.site-body .home-page .hero,
.site-body .home-page .hero-inner {
    min-height: clamp(510px, 65vw, 700px);
}
.site-body .home-page .hero {
    width: calc(100% - 48px);
    margin: 22px auto 0;
    background: #20382b;
}
.site-body .home-page .hero-background-image {
    filter: brightness(0.58) saturate(0.82);
}
.site-body .home-page .hero-background-image.is-active { animation: foundationHeroDrift 6.5s ease-out both; }
.site-body .home-page .hero-overlay {
    background:
        linear-gradient(90deg, rgba(22, 31, 24, 0.72) 0%, rgba(28, 37, 29, 0.53) 43%, rgba(29, 34, 28, 0.11) 100%),
        linear-gradient(0deg, rgba(23, 31, 24, 0.4), transparent 45%);
}
.site-body .home-page .hero-inner {
    padding: 54px clamp(22px, 5vw, 76px);
}
.site-body .home-page .hero-copy {
    max-width: 770px;
    padding: 12px 0 12px clamp(17px, 2vw, 30px);
    border-left: 3px solid #f5b82c;
}
.site-body .home-page .hero-slides { min-height: 348px; }
.site-body .home-page .hero-copy .eyebrow {
    margin-bottom: 20px;
    border-color: rgba(255, 214, 123, 0.64);
    border-radius: 2px;
    background: rgba(77, 55, 28, 0.4);
    color: #ffe5a5;
    font-size: 0.69rem;
    letter-spacing: 0.13em;
}
.site-body .home-page .hero-copy .hero-title {
    max-width: 700px;
    color: #fff;
    font-family: 'DM Sans', 'Segoe UI', Arial, sans-serif;
    font-size: clamp(2.8rem, 5.1vw, 4.8rem);
    font-weight: 800;
    line-height: 1.04;
    letter-spacing: -0.055em;
    text-wrap: balance;
}
.site-body .home-page .hero-copy p {
    max-width: 600px;
    color: rgba(255, 255, 255, 0.91);
    font-size: 1.02rem;
    line-height: 1.68;
}
.site-body .home-page .hero .btn.primary {
    border-color: #76cc48;
    border-radius: 3px;
    background: #76cc48;
    color: #172612;
    box-shadow: 3px 3px 0 #172612;
}
.site-body .home-page .hero .btn.primary:hover {
    border-color: #91e267;
    background: #91e267;
}
.site-body .home-page .hero .btn.secondary {
    border-radius: 3px;
    background: rgba(255, 255, 255, 0.11);
}
.site-body .home-page .hero-slider-controls { margin-top: 27px; }
.site-body .home-page .hero-slider-controls .slider-arrow {
    border-radius: 2px;
    background: rgba(15, 26, 18, 0.4);
}
.site-body .home-page .slider-dot.is-active { background: #f8ba2d; }
.site-body .home-page .slider-toggle { border-radius: 2px; }
.site-body .impact-proof {
    padding: 60px 0 58px;
    background: #fff9eb;
}
.site-body .impact-proof-heading .eyebrow.dark {
    color: #a84413;
    letter-spacing: 0.15em;
}
.site-body .impact-proof-heading h2,
.site-body .section-heading h2,
.site-body .section-intro h2 {
    color: #28372d;
    font-family: 'DM Sans', 'Segoe UI', Arial, sans-serif;
    font-weight: 750;
    letter-spacing: -0.04em;
}
.site-body .stats {
    gap: 0;
    overflow: hidden;
    border: 1px solid #eee3cf;
    border-radius: 4px;
    background: #fff;
    box-shadow: 0 14px 40px rgba(73, 52, 22, 0.07);
}
.site-body .stats .stat-box,
.site-body .stats .stat-box.bright {
    padding: 25px 18px;
    border-right: 1px solid #eee9df;
    background: #fff;
    color: #28372d;
    text-align: center;
}
.site-body .stats .stat-box:last-child { border-right: 0; }
.site-body .stats .stat-box h3 {
    color: #a84413;
    font-size: 2rem;
}
.site-body .stats .stat-box p { color: #657267; }
.site-body .home-page .services-showcase,
.site-body .home-page .process-section {
    max-width: 1320px;
}
.site-body .service-card,
.site-body .course-card,
.site-body .process-step,
.site-body .impact-item {
    overflow: hidden;
    border: 1px solid #ece8df;
    border-radius: 4px;
    background: #fff;
    box-shadow: 0 10px 26px rgba(38, 46, 38, 0.055);
}
.site-body .service-card { padding: 0 0 22px; }
.site-body .service-card .card-photo {
    height: 190px;
    margin: 0 0 18px;
    border-radius: 0;
    object-fit: cover;
}
.site-body .service-card .service-icon {
    margin: 0 20px 8px;
    color: #a94410;
}
.site-body .service-card h3,
.site-body .service-card p { margin-right: 20px; margin-left: 20px; }
.site-body .service-card h3 { color: #293b30; font-size: 1.15rem; }
.site-body .service-card p { color: #657267; font-size: 0.9rem; }
.site-body .service-card::before { display: none; }
.site-body .service-card:hover,
.site-body .course-card:hover {
    transform: translateY(-5px);
    border-color: #e9c985;
    box-shadow: 0 18px 36px rgba(38, 46, 38, 0.12);
}
.site-body .course-body { background: #fff; }
.site-body .course-body h3 { color: #293b30; }
.site-body .course-body p { color: #657267; }
.site-body .impact-band {
    background: #fff9eb;
}
.site-body .impact-item .card-photo,
.site-body .process-step .card-photo {
    border-radius: 2px;
}
.site-body .page-banner {
    display: grid;
    min-height: 240px;
    align-items: center;
    padding: 38px 0;
    border: 0;
    background-color: #48351d;
    background-image:
        linear-gradient(90deg, rgba(44, 31, 18, 0.56), rgba(65, 37, 21, 0.42)),
        url('https://images.unsplash.com/photo-1522202176988-66273c2fd55f?auto=format&fit=crop&w=1800&q=85');
    background-position: center 44%;
    background-size: cover;
    text-align: center;
}
.site-body .page-banner .container {
    position: relative;
    display: grid;
    justify-items: center;
    width: 100%;
}
.site-body .page-banner h1 {
    color: #fff;
    font-family: 'DM Sans', 'Segoe UI', Arial, sans-serif;
    font-size: clamp(2.3rem, 5vw, 3.65rem);
    font-weight: 800;
    letter-spacing: -0.045em;
    text-shadow: 0 2px 18px rgba(0, 0, 0, 0.28);
}
.site-body .page-banner .container::after {
    width: 54px;
    height: 4px;
    margin-top: 13px;
    border-radius: 0;
    background: #f2ae27;
}
.site-body.page-about .page-banner {
    background-image:
        linear-gradient(90deg, rgba(67, 38, 19, 0.55), rgba(57, 42, 25, 0.35)),
        url('https://images.unsplash.com/photo-1509062522246-3755977927d7?auto=format&fit=crop&w=1800&q=85');
}
.site-body.page-courses .page-banner,
.site-body.page-course-detail .page-banner {
    background-image:
        linear-gradient(90deg, rgba(35, 45, 31, 0.62), rgba(30, 47, 35, 0.38)),
        url('https://images.unsplash.com/photo-1498050108023-c5249f4df085?auto=format&fit=crop&w=1800&q=85');
}
.site-body.page-contact .page-banner,
.site-body.page-admissions .page-banner {
    background-image:
        linear-gradient(90deg, rgba(78, 42, 17, 0.58), rgba(80, 50, 20, 0.38)),
        url('https://images.unsplash.com/photo-1517486808906-6ca8b3f04846?auto=format&fit=crop&w=1800&q=85');
}
.site-body .contact-layout {
    grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
    align-items: stretch;
    gap: 0;
    overflow: hidden;
    border: 1px solid #eee5d7;
    border-radius: 5px;
    background: #fff;
    box-shadow: 0 16px 42px rgba(58, 43, 24, 0.08);
}
.site-body .contact-layout .contact-card {
    border: 0;
    border-radius: 0;
    background: #a94410;
    color: #fff;
}
.site-body .contact-layout .contact-card h2,
.site-body .contact-layout .contact-card p { color: #fff; }
.site-body .contact-layout .contact-card .map-box {
    min-height: 180px;
    border: 1px solid rgba(255, 255, 255, 0.35);
    background: rgba(255, 255, 255, 0.12);
    color: #fff2d2;
}
.site-body .contact-layout .form-card {
    border: 0;
    border-radius: 0;
    background: #ffe18a;
}
.site-body .contact-layout .form-card label { color: #55421d; }
.site-body .contact-layout input,
.site-body .contact-layout textarea,
.site-body .contact-layout select {
    border-color: rgba(72, 54, 19, 0.48);
    border-radius: 2px;
    background: rgba(255, 255, 255, 0.28);
}
.site-body .contact-layout .form-card button.btn.primary {
    border: 1px solid #78cb45;
    border-radius: 2px;
    background: #78cb45;
    color: #172612;
}
.site-body .form-card,
.site-body .contact-card {
    border: 1px solid #ece8df;
    border-radius: 4px;
    box-shadow: 0 10px 28px rgba(38, 46, 38, 0.06);
}
.site-body .form-card h2,
.site-body .contact-card h2 { color: #293b30; }
.site-body .form-card label,
.site-body .contact-card p { color: #59685e; }
.site-body .form-card input,
.site-body .form-card select,
.site-body .form-card textarea {
    border-radius: 3px;
    background: #fff;
    color: #28332b;
}
.site-body .form-card button.btn.primary {
    border-radius: 3px;
    background: #a94410;
    box-shadow: none;
}
.site-body .site-footer {
    background: #25382c;
}
.site-body .site-footer::before {
    background: linear-gradient(90deg, #f1aa22 0 18%, #78c848 18% 100%);
}
.site-body .footer-cta { border-bottom-color: rgba(255, 255, 255, 0.2); }
.site-body .footer-kicker { color: #f3cb73; }
.site-body .footer-cta .btn.primary {
    border-radius: 3px;
    background: #78c848;
    color: #172612;
}

@media (max-width: 1100px) {
    .site-body .topbar {
        grid-template-columns: minmax(0, 1fr) auto auto;
        gap: 12px;
    }
    .site-body .navbar { grid-column: 2; }
    .site-body .top-actions { grid-column: 3; }
    .site-body .nav-toggle {
        border: 1px solid #e5dfd4;
        border-radius: 3px;
        background: #fff;
    }
    .site-body .nav-toggle span { background: #293b30; }
    .site-body .nav-menu,
    .site-body .nav-menu.is-open {
        border: 1px solid #eee8dd;
        border-radius: 0 0 4px 4px;
        background: #fff;
    }
    .site-body .nav-menu a { color: #343b35; text-shadow: none; }
    .site-body .home-page .hero,
    .site-body .home-page .hero-inner { min-height: 610px; }
}
@media (max-width: 700px) {
    .site-body .topbar { min-height: 72px; }
    .site-body .brand-link { min-width: 0; }
    .site-body .home-page .hero {
        width: calc(100% - 24px);
        margin-top: 12px;
    }
    .site-body .home-page .hero,
    .site-body .home-page .hero-inner { min-height: 630px; }
    .site-body .home-page .hero-inner { padding: 42px 24px; }
    .site-body .home-page .hero-slides { min-height: 390px; }
    .site-body .home-page .hero-copy .hero-title { font-size: clamp(2.6rem, 9vw, 3.8rem); }
    .site-body .announcement-bar { min-height: 42px; gap: 7px; font-size: 0.74rem; }
    .site-body .contact-layout { grid-template-columns: 1fr; }
    .site-body .page-banner { min-height: 195px; }
}
@media (max-width: 560px) {
    .site-body .topbar {
        grid-template-columns: minmax(0, 1fr) auto auto;
        padding: 8px 12px;
    }
    .site-body .brand-link { gap: 7px; }
    .site-body .brand-link .logo { width: 38px; height: 38px; }
    .site-body .brand-name { font-size: 1rem; }
    .site-body .brand-tagline { font-size: 0.56rem; }
    .site-body .top-actions .btn.primary {
        min-height: 37px;
        padding: 8px 10px;
        font-size: 0.68rem;
    }
    .site-body .home-page .hero,
    .site-body .home-page .hero-inner { min-height: 650px; }
    .site-body .home-page .hero-inner { padding: 34px 17px; }
    .site-body .home-page .hero-copy { padding-left: 14px; }
    .site-body .home-page .hero-slides { min-height: 415px; }
    .site-body .home-page .hero-copy .hero-title { font-size: clamp(2.45rem, 11vw, 3.3rem); }
    .site-body .home-page .hero-copy p { font-size: 0.92rem; }
    .site-body .home-page .hero-slider-controls { gap: 7px; }
    .site-body .home-page .slider-count { font-size: 0.61rem; }
    .site-body .announcement-bar {
        flex-wrap: wrap;
        gap: 4px 7px;
        padding: 8px 10px;
        font-size: 0.67rem;
    }
    .site-body .page-banner { min-height: 170px; }
    .site-body .contact-layout .contact-card,
    .site-body .contact-layout .form-card { padding: 21px; }
}
@media (prefers-reduced-motion: reduce) {
    .site-body .home-page .hero-background-image.is-active { animation: none; }
}

.site-body .home-page .hero {
    height: clamp(520px, 70vh, 690px);
    min-height: 0;
}
.site-body .home-page .hero-inner {
    height: 100%;
    min-height: 0;
}
.site-body .home-page .hero-slides { min-height: 0; }
.site-body .home-page .service-card,
.site-body .course-card,
.site-body .team-card,
.site-body .impact-item,
.site-body .process-step,
.site-body .info-panel,
.site-body .notice-item,
.site-body .gallery-item,
.site-body .form-card,
.site-body .contact-card,
.site-body .student-dashboard-card {
    border: 1px solid #e8e8df;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(39, 50, 40, 0.055);
}
.site-body .home-page .service-card,
.site-body .course-card,
.site-body .team-card,
.site-body .impact-item,
.site-body .process-step,
.site-body .gallery-item {
    overflow: hidden;
    transition: transform 0.22s ease, border-color 0.22s ease, box-shadow 0.22s ease;
}
.site-body .home-page .service-card:hover,
.site-body .course-card:hover,
.site-body .team-card:hover,
.site-body .impact-item:hover,
.site-body .process-step:hover,
.site-body .gallery-item:hover {
    transform: translateY(-4px);
    border-color: #e4c486;
    box-shadow: 0 15px 34px rgba(39, 50, 40, 0.11);
}
.site-body .home-page .service-card {
    display: flex;
    min-height: 0;
    flex-direction: column;
    align-items: flex-start;
    padding: 16px 16px 22px;
}
.site-body .home-page .service-card .card-photo {
    width: 100%;
    height: auto;
    aspect-ratio: 1.45 / 1;
    margin: 0 0 17px;
    border: 0;
    border-radius: 10px;
    object-fit: cover;
}
.site-body .home-page .service-card .service-icon { margin: 0 4px 5px; }
.site-body .home-page .service-card h3 { margin: 0 4px 8px; }
.site-body .home-page .service-card p { margin: 0 4px; }
.site-body .course-card,
.site-body .team-card,
.site-body .impact-item,
.site-body .process-step,
.site-body .gallery-item { border-radius: 12px; }
.site-body .course-image { border-radius: 11px 11px 0 0; }
.site-body .course-body { padding: 21px; }
.site-body .info-panel { padding: 23px; }
.site-body .notice-item { padding: 22px; }
.site-body .contact-layout { border-radius: 12px; }
.site-body .contact-layout .contact-card,
.site-body .contact-layout .form-card { border-radius: 0; }
.site-body .student-dashboard-card { border-radius: 12px; }
.site-body .student-support-banner { border-radius: 10px; }

.admin-stat-card { border-radius: 12px; }
.admin-quick-links a {
    display: flex;
    min-height: 82px;
    align-items: center;
    gap: 13px;
    padding: 15px;
    border-radius: 10px;
    box-shadow: 0 5px 16px rgba(38, 45, 37, 0.045);
}
.admin-quick-links a > span {
    display: grid;
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    place-items: center;
    border: 1px solid #f0dfbc;
    border-radius: 9px;
    background: #fff6e6;
}
.admin-quick-links a > strong { flex: 1; font-size: 0.84rem; line-height: 1.35; }
.admin-quick-links a > b { font-size: 1.1rem; }

@media (max-width: 760px) {
    .site-body .home-page .hero {
        width: calc(100% - 28px);
        height: auto;
        min-height: 0;
        margin-top: 14px;
    }
    .site-body .home-page .hero-inner {
        height: auto;
        min-height: 0;
        padding: 30px 20px;
    }
    .site-body .home-page .hero-slides { min-height: 0; }
    .site-body .home-page .hero-copy { width: 100%; padding-left: 14px; }
    .site-body .admin-sidebar nav {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        width: 100%;
        overflow: visible;
    }
    .site-body .admin-sidebar a { text-align: center; white-space: normal; }
}
@media (max-width: 560px) {
    .site-body .home-page .hero {
        width: calc(100% - 24px);
        height: auto;
        min-height: 0;
        margin-top: 12px;
    }
    .site-body .home-page .hero-inner { height: auto; min-height: 0; padding: 24px 14px; }
    .site-body .home-page .hero-copy .hero-title { font-size: clamp(2.05rem, 9.4vw, 2.65rem); }
    .site-body .home-page .hero-copy p { font-size: 0.83rem; line-height: 1.5; }
    .site-body .home-page .hero-slider-controls { flex-wrap: nowrap; gap: 6px; }
    .site-body .home-page .service-card .card-photo { aspect-ratio: 1.55 / 1; }
    .site-body .topbar { gap: 5px; padding: 8px 10px; }
    .site-body .brand-name { font-size: 0.88rem; }
    .site-body .brand-tagline { display: none; }
    .site-body .top-actions .btn.primary { max-width: 82px; padding: 6px 7px; font-size: 0.6rem; white-space: normal; }
    .site-body .student-account-link { max-width: 82px; font-size: 0.55rem; }
    .site-body .student-account-link strong { max-width: 82px; font-size: 0.68rem; }
    .site-body .admin-sidebar nav { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 3px; }
    .site-body .admin-sidebar a { padding: 8px 3px; font-size: 0.7rem; line-height: 1.2; }
    .admin-quick-links a { min-height: 72px; }
}
.admin-sidebar nav { scrollbar-width: none; }
.admin-sidebar nav::-webkit-scrollbar { display: none; }
@media (max-width: 760px) {
    .admin-sidebar nav {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        width: 100%;
        overflow: visible;
    }
    .admin-sidebar a { text-align: center; white-space: normal; }
}
@media (max-width: 560px) {
    .admin-sidebar nav { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 3px; }
    .admin-sidebar a { padding: 8px 3px; font-size: 0.7rem; line-height: 1.2; }
}

.site-body .home-page .service-card {
    border: 1px solid #e8e5dc;
    border-radius: 4px;
    padding: 22px;
    box-shadow: 0 12px 30px rgba(50, 45, 32, 0.045);
}
.site-body .home-page .service-card .card-photo {
    aspect-ratio: 2.14 / 1;
    margin-bottom: 20px;
    border-radius: 2px;
}
.site-body .home-page .service-card .service-icon {
    margin: 0 0 7px;
    color: #a94410;
}
.site-body .home-page .service-card h3 {
    margin: 0 0 12px;
    color: #a94410;
    font-size: 1.16rem;
    font-weight: 500;
}
.site-body .home-page .service-card p {
    margin: 0;
    color: #59685e;
    font-size: 0.95rem;
    line-height: 1.72;
}

.site-body .impact-proof { padding: 48px 0 60px; }
.site-body .impact-proof-heading { margin-bottom: 34px; }
.site-body .impact-proof-heading h2 { font-size: clamp(2rem, 3.2vw, 2.55rem); }
.site-body .impact-proof-heading p { font-size: 1rem; }
.site-body .stats {
    gap: 0;
    overflow: hidden;
    border: 1px solid #e5e7df;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 14px 34px rgba(43, 51, 41, 0.055);
}
.site-body .stats .stat-box,
.site-body .stats .stat-box.bright {
    min-height: 132px;
    justify-content: center;
    padding: 26px 16px;
    border: 0;
    border-right: 1px solid #e5e7df;
    border-radius: 0;
    background: #fff;
    box-shadow: none;
    text-align: center;
}
.site-body .stats .stat-box:last-child { border-right: 0; }
.site-body .stats .stat-box::before,
.site-body .stats .stat-box::after { display: none; }
.site-body .stats .stat-box h3 {
    margin-bottom: 10px;
    color: #a94410;
    font-size: clamp(1.8rem, 2.4vw, 2.35rem);
    font-weight: 500;
    letter-spacing: -0.035em;
}
.site-body .stats .stat-box p {
    margin: 0;
    color: #59685e;
    font-size: 0.95rem;
}
.site-body .stats .stat-box:hover { transform: none; }
.site-body .home-page .service-card,
.site-body .course-card,
.site-body .team-card,
.site-body .impact-item,
.site-body .process-step,
.site-body .info-panel,
.site-body .notice-item,
.site-body .gallery-item,
.site-body .form-card,
.site-body .contact-card,
.site-body .student-dashboard-card,
.site-body .contact-layout,
.site-body .student-dashboard-heading,
.site-body .student-support-banner,
.admin-stat-card,
.admin-quick-links a,
.admin-panel,
.admin-login-box {
    border-radius: 4px;
}
.site-body .course-image,
.site-body .gallery-item img { border-radius: 2px; }

@media (max-width: 760px) {
    .site-body .stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .site-body .stats .stat-box:nth-child(2) { border-right: 0; }
    .site-body .stats .stat-box:nth-child(-n + 2) { border-bottom: 1px solid #e5e7df; }
}
@media (max-width: 560px) {
    .site-body .home-page .service-card { padding: 15px; }
    .site-body .home-page .service-card .card-photo { aspect-ratio: 1.8 / 1; }
    .site-body .stats .stat-box,
    .site-body .stats .stat-box.bright { min-height: 108px; padding: 18px 10px; }
    .site-body .stats .stat-box p { font-size: 0.82rem; }
}

.site-body .home-page .hero {
    width: 100%;
    max-width: none;
    margin-top: 0;
    margin-right: 0;
    margin-left: 0;
    border-radius: 0;
}
@media (max-width: 760px) {
    .site-body .home-page .hero {
        width: 100%;
        margin-right: 0;
        margin-left: 0;
        border-radius: 0;
    }
}

.site-body .home-page .hero-copy {
    width: min(100%, 820px);
    max-width: 820px;
    padding-top: 8px;
    padding-bottom: 8px;
}
.site-body .home-page .hero-copy .eyebrow { margin-bottom: 16px; }
.site-body .home-page .hero-copy .hero-title {
    max-width: 760px;
    font-size: clamp(2.75rem, 4.5vw, 4.25rem);
    line-height: 1.06;
}
.site-body .home-page .hero-copy p {
    max-width: 640px;
    margin-top: 15px;
    font-size: clamp(0.96rem, 1.1vw, 1.02rem);
    line-height: 1.62;
}
.site-body .home-page .hero .cta-row { gap: 12px; margin-top: 22px; }
.site-body .home-page .hero-slider-controls { gap: 9px; margin-top: 22px; }

@media (max-width: 760px) {
    .site-body .home-page .hero-copy {
        width: 100%;
        max-width: 100%;
        padding-top: 6px;
        padding-bottom: 6px;
    }
    .site-body .home-page .hero-copy .eyebrow { margin-bottom: 13px; }
    .site-body .home-page .hero-copy .hero-title {
        max-width: 100%;
        font-size: clamp(2.15rem, 7.5vw, 3.1rem);
        line-height: 1.08;
    }
    .site-body .home-page .hero-copy p {
        max-width: 100%;
        margin-top: 12px;
        font-size: 0.9rem;
        line-height: 1.55;
    }
    .site-body .home-page .hero .cta-row { gap: 9px; margin-top: 17px; }
    .site-body .home-page .hero-slider-controls { gap: 7px; margin-top: 18px; }
}

.site-body .site-footer {
    padding-bottom: 26px;
    background:
        radial-gradient(ellipse at 8% 0, rgba(74, 111, 142, 0.18), transparent 34%),
        linear-gradient(135deg, #14243a, #1b3046 62%, #192b40);
    color: #d7e0e9;
}
.site-body .site-footer::before {
    height: 4px;
    background: linear-gradient(90deg, #f0ad35 0 16%, #6caa69 16% 100%);
}
.site-body .footer-cta {
    margin-bottom: 34px;
    padding-top: 32px;
    padding-bottom: 32px;
    border-bottom-color: rgba(225, 235, 244, 0.16);
}
.site-body .footer-kicker { color: #f3c66d; }
.site-body .footer-cta h2 { color: #fff; }
.site-body .footer-cta .btn.primary {
    border-color: #f0b33f;
    background: #f0b33f;
    color: #202b32;
    box-shadow: 0 4px 0 rgba(122, 79, 15, 0.32);
}
.site-body .footer-cta .btn.primary:hover {
    border-color: #ffd16e;
    background: #ffd16e;
    box-shadow: 0 5px 0 rgba(122, 79, 15, 0.32);
}
.site-body .footer-logo { background: #f1f4f3; }
.site-body .site-footer h3,
.site-body .site-footer h4 { color: #f7f9fb; }
.site-body .site-footer h4::after { background: #f0b33f; }
.site-body .site-footer p,
.site-body .site-footer a:not(.footer-logo):not(.btn) { color: #c3d0dd; }
.site-body .site-footer a:not(.footer-logo):not(.btn):hover,
.site-body .site-footer a:not(.footer-logo):not(.btn):focus-visible { color: #ffd16e; }
.site-body .footer-contact-label { color: #93a9bb; }
.site-body .footer-bottom {
    border-top-color: rgba(225, 235, 244, 0.16);
}
.site-body .footer-bottom p,
.site-body .footer-bottom span { color: #9fb0bf; }

@media (max-width: 560px) {
    .site-body .footer-cta {
        align-items: flex-start;
        gap: 16px;
        margin-bottom: 28px;
        padding-top: 26px;
        padding-bottom: 24px;
    }
    .site-body .footer-grid { gap: 24px 16px; }
    .site-body .footer-bottom { gap: 7px; }
}

.site-body {
    --brand-ink: #23372f;
    --brand-green: #477451;
    --brand-green-dark: #31583c;
    --brand-gold: #e5a92f;
    --brand-paper: #fffaf0;
    --brand-muted: #617067;
    font-family: 'DM Sans', 'Segoe UI', Arial, sans-serif;
    color: var(--brand-ink);
}
.site-body h1,
.site-body h2,
.site-body h3,
.site-body h4,
.site-body p,
.site-body a,
.site-body button,
.site-body input,
.site-body select,
.site-body textarea {
    font-family: 'DM Sans', 'Segoe UI', Arial, sans-serif;
}
.site-body .section-heading h2,
.site-body .section-intro h2,
.site-body .impact-proof-heading h2,
.site-body .page-banner h1,
.site-body .student-dashboard-heading h1 {
    color: var(--brand-ink);
    font-family: 'DM Serif Display', Georgia, serif;
    font-weight: 400;
    letter-spacing: -0.025em;
}
.site-body .section-intro p,
.site-body .impact-proof-heading p,
.site-body .section-heading p { color: var(--brand-muted); }
.site-body .eyebrow.dark,
.site-body .footer-kicker { color: var(--brand-green); }
.site-body .nav-menu a {
    transition: color 0.2s ease, background-color 0.2s ease;
}
.site-body .nav-menu a::after {
    background: linear-gradient(90deg, var(--brand-green), var(--brand-gold));
}
.site-body .btn,
.site-body button {
    transition: transform 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
}
.site-body .btn.primary:not(.footer-cta .btn) {
    background: var(--brand-green);
    border-color: var(--brand-green);
    box-shadow: 0 3px 0 var(--brand-green-dark);
    color: #fff;
}
.site-body .btn.primary:not(.footer-cta .btn):hover {
    transform: translateY(-2px);
    background: var(--brand-green-dark);
    border-color: var(--brand-green-dark);
    box-shadow: 0 5px 0 #26452f;
}
.site-body :focus-visible {
    outline: 3px solid rgba(229, 169, 47, 0.78);
    outline-offset: 3px;
}
.site-body .home-page .service-card,
.site-body .course-card,
.site-body .team-card,
.site-body .impact-item,
.site-body .process-step,
.site-body .info-panel,
.site-body .notice-item,
.site-body .gallery-item {
    transition: transform 0.24s ease, border-color 0.24s ease, box-shadow 0.24s ease;
}
.site-body .home-page .service-card:hover,
.site-body .course-card:hover,
.site-body .team-card:hover,
.site-body .impact-item:hover,
.site-body .process-step:hover,
.site-body .gallery-item:hover {
    transform: translateY(-4px);
    border-color: rgba(71, 116, 81, 0.4);
    box-shadow: 0 15px 34px rgba(35, 55, 47, 0.12);
}
.site-body .stats .stat-box h3 { color: var(--brand-green); }
.site-body .stats .stat-box { transition: background-color 0.2s ease; }
.site-body .stats .stat-box:hover { background: #fffdf8; }
.site-body .site-footer h4::after { background: var(--brand-gold); }
.site-body .footer-cta .btn.primary {
    background: var(--brand-gold);
    border-color: var(--brand-gold);
    color: #24352d;
    box-shadow: 0 4px 0 rgba(122, 79, 15, 0.32);
}
.site-body .footer-cta .btn.primary:hover {
    background: #f4c35d;
    border-color: #f4c35d;
}

@media (prefers-reduced-motion: reduce) {
    .site-body .home-page .service-card,
    .site-body .course-card,
    .site-body .team-card,
    .site-body .impact-item,
    .site-body .process-step,
    .site-body .gallery-item,
    .site-body .btn,
    .site-body button {
        transition: none;
    }
    .site-body .home-page .service-card:hover,
    .site-body .course-card:hover,
    .site-body .team-card:hover,
    .site-body .impact-item:hover,
    .site-body .process-step:hover,
    .site-body .gallery-item:hover {
        transform: none;
    }
}

.site-body h1,
.site-body h2,
.site-body h3,
.site-body h4,
.site-body .section-heading h2,
.site-body .section-intro h2,
.site-body .impact-proof-heading h2,
.site-body .page-banner h1,
.site-body .student-dashboard-heading h1 {
    font-family: 'DM Sans', 'Segoe UI', Arial, sans-serif;
    font-weight: 600 !important;
    letter-spacing: -0.035em;
}
.site-body .hero-copy .hero-title { font-weight: 700 !important; }
.site-body .section-heading h2,
.site-body .section-intro h2,
.site-body .impact-proof-heading h2,
.site-body .page-banner h1,
.site-body .student-dashboard-heading h1 {
    line-height: 1.18;
}
.site-body .photo-attributions {
    display: flex;
    flex-wrap: wrap;
    gap: 7px 16px;
    padding-top: 15px;
    padding-bottom: 15px;
    border-top: 1px solid rgba(225, 235, 244, 0.12);
    color: #9fb0bf;
    font-size: 0.68rem;
    line-height: 1.5;
}
.site-body .photo-attributions a {
    color: #bdcbd8;
    text-decoration: underline;
    text-decoration-color: rgba(189, 203, 216, 0.38);
    text-underline-offset: 2px;
}
.site-body .photo-attributions a:hover,
.site-body .photo-attributions a:focus-visible { color: #ffd16e; }
@media (max-width: 560px) {
    .site-body .photo-attributions { gap: 6px 12px; font-size: 0.66rem; }
}

:root {
    --primary: #167c63;
    --primary-dark: #0f604d;
    --secondary: #e0a12a;
    --secondary-soft: #fff4dc;
    --bg: #f5f8f7;
    --surface: #ffffff;
    --surface-soft: #eaf3ef;
    --text: #19364e;
    --muted: #647482;
    --border: rgba(25, 54, 78, 0.12);
    --shadow: 0 18px 42px rgba(25, 54, 78, 0.08);
    --hero-grad: linear-gradient(135deg, rgba(13, 37, 57, 0.86), rgba(19, 83, 68, 0.72));
}

.site-body {
    --brand-ink: #19364e;
    --brand-green: #167c63;
    --brand-green-dark: #0f604d;
    --brand-gold: #e0a12a;
    --brand-paper: #f5f8f7;
    --brand-muted: #647482;
    background: #f5f8f7;
    color: #19364e;
}
.site-body a:not(.btn):not(.nav-menu a):not(.site-footer a) { color: #167c63; }
.site-body .site-header {
    border-bottom-color: rgba(25, 54, 78, 0.1);
    box-shadow: 0 5px 22px rgba(25, 54, 78, 0.07);
}
.site-body .nav-menu a:hover,
.site-body .nav-menu a[aria-current="page"] { color: #167c63; }
.site-body .nav-menu a::after { background: #e0a12a; }
.site-body .home-page .hero::before {
    background:
        linear-gradient(90deg, rgba(13, 37, 57, 0.88) 0%, rgba(13, 37, 57, 0.66) 52%, rgba(13, 37, 57, 0.24) 100%),
        linear-gradient(0deg, rgba(15, 96, 77, 0.2), transparent 54%);
}
.site-body .home-page .hero-overlay {
    background: linear-gradient(180deg, rgba(12, 32, 49, 0.08), rgba(12, 32, 49, 0.18));
}
.site-body .home-page .hero-copy .eyebrow { color: #f4c86d; }
.site-body .home-page .hero-copy .btn.primary,
.site-body .btn.primary:not(.footer-cta .btn) {
    border-color: #167c63;
    background: #167c63;
    box-shadow: 0 3px 0 #0f604d;
}
.site-body .home-page .hero-copy .btn.primary:hover,
.site-body .btn.primary:not(.footer-cta .btn):hover {
    border-color: #0f604d;
    background: #0f604d;
}
.site-body .home-page .hero-copy .btn.secondary,
.site-body .btn.secondary {
    border-color: rgba(255, 255, 255, 0.58);
    background: rgba(255, 255, 255, 0.12);
    color: #fff;
}
.site-body .home-page .slider-arrow,
.site-body .home-page .slider-toggle {
    border-color: rgba(255, 255, 255, 0.36);
    background: rgba(19, 54, 78, 0.58);
    color: #fff;
}
.site-body .home-page .slider-dot.is-active { background: #e0a12a; }
.site-body .impact-proof,
.site-body .impact-band { background: #edf3f1; }
.site-body .impact-proof-heading h2,
.site-body .section-heading h2,
.site-body .section-intro h2,
.site-body .page-banner h1,
.site-body .student-dashboard-heading h1 { color: #19364e; }
.site-body .eyebrow.dark,
.site-body .section-intro .eyebrow.dark,
.site-body .section-heading .eyebrow.dark { color: #167c63; }
.site-body .stats,
.site-body .service-card,
.site-body .course-card,
.site-body .team-card,
.site-body .process-step,
.site-body .impact-item,
.site-body .info-panel,
.site-body .notice-item,
.site-body .gallery-item,
.site-body .form-card,
.site-body .contact-card,
.site-body .student-dashboard-card {
    border-color: rgba(25, 54, 78, 0.12);
    background-color: #fff;
    box-shadow: 0 10px 28px rgba(25, 54, 78, 0.065);
}
.site-body .service-card h3,
.site-body .course-body h3,
.site-body .process-step h3,
.site-body .impact-item h3,
.site-body .team-card h3,
.site-body .form-card h2,
.site-body .contact-card h2,
.site-body .student-dashboard-card-heading h3 { color: #19364e; }
.site-body .service-card p,
.site-body .course-body p,
.site-body .process-step p,
.site-body .impact-item p,
.site-body .team-card p,
.site-body .section-intro p,
.site-body .section-heading p { color: #647482; }
.site-body .course-card:nth-child(3n + 1) .course-image {
    background-image:
        linear-gradient(0deg, rgba(13, 37, 57, 0.76), rgba(13, 37, 57, 0.08)),
        url('https://images.unsplash.com/photo-1516321318423-f06f85e504b3?auto=format&fit=crop&w=1200&q=85');
}
.site-body .course-card:nth-child(3n + 2) .course-image {
    background-image:
        linear-gradient(0deg, rgba(13, 37, 57, 0.76), rgba(13, 37, 57, 0.08)),
        url('https://images.unsplash.com/photo-1529390079861-591de354faf5?auto=format&fit=crop&w=1200&q=85');
}
.site-body .course-card:nth-child(3n) .course-image {
    background-image:
        linear-gradient(0deg, rgba(13, 37, 57, 0.76), rgba(13, 37, 57, 0.08)),
        url('https://images.unsplash.com/photo-1522202176988-66273c2fd55f?auto=format&fit=crop&w=1200&q=85');
}
.site-body .stats .stat-box,
.site-body .stats .stat-box.bright {
    border-color: rgba(25, 54, 78, 0.1);
    background: #fff;
}
.site-body .stats .stat-box h3,
.site-body .student-dashboard-text-link { color: #167c63; }
.site-body .service-card .service-icon,
.site-body .text-link { color: #167c63; }
.site-body .page-banner {
    background-color: #19364e;
    background-image:
        linear-gradient(90deg, rgba(13, 37, 57, 0.82), rgba(19, 83, 68, 0.58)),
        url('https://images.unsplash.com/photo-1523240795612-9a054b0db644?auto=format&fit=crop&w=1800&q=85');
}
.site-body.page-about .page-banner,
.site-body.page-courses .page-banner,
.site-body.page-course-detail .page-banner,
.site-body.page-contact .page-banner,
.site-body.page-admissions .page-banner {
    background-image:
        linear-gradient(90deg, rgba(13, 37, 57, 0.82), rgba(19, 83, 68, 0.58)),
        url('https://images.unsplash.com/photo-1519389950473-47ba0277781c?auto=format&fit=crop&w=1800&q=85');
}
.site-body .page-banner .container::after { background: #e0a12a; }
.site-body .contact-layout {
    border-color: rgba(25, 54, 78, 0.12);
    background: #fff;
    box-shadow: 0 16px 42px rgba(25, 54, 78, 0.08);
}
.site-body .contact-layout .contact-card {
    background: #19364e;
    color: #fff;
}
.site-body .contact-layout .contact-card .map-box {
    border-color: rgba(255, 255, 255, 0.25);
    background: rgba(255, 255, 255, 0.08);
    color: #f4c86d;
}
.site-body .contact-layout .form-card { background: #edf3f1; }
.site-body .contact-layout .form-card label { color: #19364e; }
.site-body .contact-layout input,
.site-body .contact-layout textarea,
.site-body .contact-layout select,
.site-body .form-card input,
.site-body .form-card select,
.site-body .form-card textarea {
    border-color: rgba(25, 54, 78, 0.18);
    background: #fff;
    color: #19364e;
}
.site-body .contact-layout .form-card button.btn.primary,
.site-body .form-card button.btn.primary { border-color: #167c63; background: #167c63; color: #fff; }
.site-body .student-dashboard-heading,
.site-body .student-support-banner { border-color: rgba(25, 54, 78, 0.12); background: #edf3f1; }
.site-body .student-dashboard-nav { border-bottom-color: rgba(25, 54, 78, 0.12); }
.site-body .student-dashboard-nav a:hover,
.site-body .student-dashboard-nav a.is-active { border-bottom-color: #167c63; color: #167c63; }
.site-body .student-dashboard-icon { background: #eaf3ef; color: #167c63; }
.site-body .student-profile-details > div { background: #f5f8f7; }
.site-body .site-footer {
    margin-top: 0;
    padding: 56px 0 20px;
    background:
        radial-gradient(ellipse at 88% 0, rgba(22, 124, 99, 0.22), transparent 36%),
        linear-gradient(135deg, #142d44, #19364e 56%, #173b4b);
    color: #dbe6ee;
}
.site-body .site-footer::before { background: linear-gradient(90deg, #e0a12a 0 12%, #167c63 12% 100%); }
.site-body .footer-cta { border-bottom-color: rgba(219, 230, 238, 0.18); }
.site-body .footer-kicker,
.site-body .footer-contact-label { color: #f4c86d; }
.site-body .footer-cta h2,
.site-body .site-footer h3,
.site-body .site-footer h4 { color: #fff; }
.site-body .site-footer h4::after { background: #e0a12a; }
.site-body .site-footer p,
.site-body .site-footer a:not(.footer-logo):not(.btn) { color: #c5d4df; }
.site-body .site-footer a:not(.footer-logo):not(.btn):hover,
.site-body .site-footer a:not(.footer-logo):not(.btn):focus-visible { color: #f4c86d; }
.site-body .footer-cta .btn.primary {
    border-color: #e0a12a;
    background: #e0a12a;
    color: #19364e;
    box-shadow: 0 3px 0 #a86e12;
}
.site-body .footer-cta .btn.primary:hover { border-color: #f0b842; background: #f0b842; }
.site-body .footer-bottom,
.site-body .photo-attributions { border-top-color: rgba(219, 230, 238, 0.18); }
.site-body .footer-bottom p,
.site-body .footer-bottom span,
.site-body .photo-attributions { color: #aebfcb; }
.site-body .photo-attributions a { color: #d0dde6; text-decoration-color: rgba(208, 221, 230, 0.4); }
.site-body .photo-attributions a:hover,
.site-body .photo-attributions a:focus-visible { color: #f4c86d; }
.site-body .announcement-bar { background: #19364e; color: #e9f1f5; }
.admin-body {
    background: #f5f8f7;
    color: #19364e;
}
.admin-shell { background: #f5f8f7; }
.admin-sidebar {
    border-bottom-color: rgba(25, 54, 78, 0.1);
    background: #19364e;
    color: #fff;
    box-shadow: 0 5px 20px rgba(25, 54, 78, 0.12);
}
.admin-sidebar h2 { color: #fff; }
.admin-sidebar a { color: #d2e0e8; }
.admin-sidebar a:hover,
.admin-sidebar a[aria-current="page"] { background: rgba(22, 124, 99, 0.24); color: #fff; }
.admin-main { color: #19364e; }
.admin-topbar { border-bottom-color: rgba(25, 54, 78, 0.12); }
.admin-main > h1,
.admin-topbar h1,
.admin-section-heading h2,
.admin-stat-card h3,
.admin-login-box h1 { color: #19364e; }
.admin-badge { border-color: rgba(22, 124, 99, 0.2); background: #eaf3ef; color: #0f604d; }
.admin-stat-card,
.admin-quick-links a,
.admin-panel,
.admin-login-box {
    border-color: rgba(25, 54, 78, 0.12);
    background: #fff;
    color: #19364e;
    box-shadow: 0 10px 28px rgba(25, 54, 78, 0.065);
}
.admin-stat-card::after { background: #167c63; }
.admin-quick-links a > span,
.admin-quick-links a > b,
.admin-section-kicker { color: #167c63; }
.admin-stat-card:nth-child(2)::after { background: #e0a12a; }
.admin-stat-card:nth-child(3)::after { background: #55758c; }
.admin-stat-card .stat-label,
.admin-stat-card p,
.admin-section-heading > p { color: #647482; }
.admin-quick-links a { color: #19364e; }
.admin-quick-links a:hover { border-color: #167c63; }
.admin-body th { background: #edf3f1; color: #19364e; }
.admin-body td { color: #415768; }
.admin-list-summary {
    margin: -12px 0 20px;
    color: #647482;
    font-size: 0.9rem;
}
.admin-body td.admin-empty-state {
    padding: 28px 18px;
    color: #647482;
    text-align: center;
}
.admin-body .admin-panel input,
.admin-body .admin-panel select,
.admin-body .admin-panel textarea,
.admin-login-box input { border-color: rgba(25, 54, 78, 0.18); color: #19364e; }
.admin-body .admin-panel input:focus,
.admin-body .admin-panel select:focus,
.admin-body .admin-panel textarea:focus { border-color: #167c63; box-shadow: 0 0 0 3px rgba(22, 124, 99, 0.14); }
.admin-body .admin-panel .btn.primary,
.admin-login-box .btn.primary { background: #167c63; }
.admin-body :focus-visible,
.site-body :focus-visible { outline-color: rgba(224, 161, 42, 0.86); }

@media (max-width: 760px) {
    .site-body .site-footer { padding-top: 42px; }
    .site-body .student-security-card form { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
    .site-body .student-header-logout { width: 34px; height: 34px; }
    .site-body .student-account-link { padding: 5px 6px; }
    .site-body .student-support-banner > div:last-child { flex-wrap: wrap; }
}

.site-body .student-course-resources {
    margin-top: 16px;
    padding-top: 14px;
    border-top: 1px solid rgba(25, 54, 78, 0.12);
}

.site-body .alert:not(.error),
.admin-body .alert:not(.error) {
    border-color: rgba(22, 124, 99, 0.24);
    background: #e9f8f1;
    color: #145a46;
}
.site-body .alert.error,
.admin-body .alert.error {
    border-color: rgba(190, 40, 40, 0.28);
    background: #fff0f0;
    color: #a52121;
}
.site-body .student-header-logout,
.site-body .student-header-logout:hover,
.site-body .site-header.home-header:not(.is-scrolled) .student-header-logout {
    color: #c62828;
}
.site-body .student-header-logout:hover { border-color: #c62828; background: #fff0f0; }
.site-body .student-logout-link,
.site-body .student-logout-link svg,
.site-body .student-logout-link:hover {
    color: #c62828;
}
.admin-sidebar nav a[href*="logout"] {
    display: flex;
    align-items: center;
    gap: 9px;
    color: #c62828;
}
.admin-sidebar nav a[href*="logout"]::before {
    width: 18px;
    height: 18px;
    content: "";
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 17l5-5-5-5M15 12H3m9-8h6a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-6'/%3E%3C/svg%3E") center/contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 17l5-5-5-5M15 12H3m9-8h6a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-6'/%3E%3C/svg%3E") center/contain no-repeat;
}
.admin-sidebar nav a[href*="logout"]:hover { color: #941b1b; }
.site-body .student-course-resources h4 {
    margin: 0 0 10px;
    color: #19364e;
    font-size: 0.88rem;
}
.site-body .student-course-resources ul {
    display: grid;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.site-body .student-course-resources li {
    padding: 10px 12px;
    border: 1px solid rgba(25, 54, 78, 0.1);
    background: #fff;
}
.site-body .student-course-resources li > a {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}
.site-body .student-course-resources li > a > span,
.site-body .student-news-list article > div > span {
    color: #167c63;
    font-size: 0.7rem;
    font-weight: 750;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}
.site-body .student-course-resources li > a > strong { color: #19364e; font-size: 0.84rem; }
.site-body .student-course-resources li > p {
    margin: 6px 0 0;
    color: #647482;
    font-size: 0.8rem;
}
.site-body .student-news-card { margin-top: 20px; }
.site-body .student-news-empty { margin: 0; color: #647482; }
.site-body .student-news-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.site-body .student-news-list article {
    padding: 16px;
    border: 1px solid rgba(25, 54, 78, 0.12);
    background: #f8faf9;
}
.site-body .student-news-list article > div {
    display: flex;
    justify-content: space-between;
    gap: 12px;
}
.site-body .student-news-list time { color: #647482; font-size: 0.76rem; }
.site-body .student-news-list h4 { margin: 10px 0 6px; color: #19364e; }
.site-body .student-news-list p { margin: 0; color: #647482; font-size: 0.87rem; }
.site-body .student-support-banner > div:last-child { flex-wrap: wrap; }

.admin-resource-forms,
.admin-account-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    margin: 20px 0 30px;
}
.admin-resource-forms > .admin-panel,
.admin-account-grid > .admin-panel { padding: 22px; }
.admin-resource-forms h2,
.admin-account-grid h2,
.admin-resource-list h2 {
    margin: 0 0 16px;
    color: #19364e;
    font-size: 1.2rem;
}
.admin-account-grid p { color: #647482; font-size: 0.88rem; }
.admin-resource-form { display: grid; gap: 13px; }
.admin-resource-form label {
    display: grid;
    gap: 6px;
    color: #415768;
    font-size: 0.82rem;
    font-weight: 650;
}
.admin-resource-form input,
.admin-resource-form select,
.admin-resource-form textarea {
    width: 100%;
    min-height: 42px;
    padding: 9px 11px;
    border: 1px solid rgba(25, 54, 78, 0.18);
    border-radius: 4px;
    background: #fff;
    color: #19364e;
    font: inherit;
}
.admin-resource-form textarea { min-height: 90px; resize: vertical; }
.admin-resource-form input[type="file"] { padding: 7px; }
.admin-resource-list { margin: 28px 0; }
.admin-forgot-link {
    display: inline-block;
    margin-top: 16px;
    color: #167c63;
    font-size: 0.88rem;
    font-weight: 650;
}
.admin-body .button-icon { width: 18px; height: 18px; margin-right: 8px; vertical-align: middle; }

@media (max-width: 760px) {
    .site-body .student-news-list,
    .admin-resource-forms,
    .admin-account-grid { grid-template-columns: 1fr; }
    .admin-quick-links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.alert.error {
    border-color: rgba(180, 54, 47, 0.25);
    background: #fff0ef;
    color: #8e2c27;
}
.admin-quick-links { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 1100px) {
    .site-body .top-actions .student-login-link {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 38px;
        min-height: 38px;
        padding: 8px;
        border: 1px solid rgba(25, 54, 78, 0.15);
        border-radius: 50%;
        background: #fff;
        color: #19364e;
    }
    .site-body .top-actions .student-login-link span { display: none; }
}

.site-body .home-page .hero-slider-controls {
    align-items: center;
    flex-wrap: wrap;
}
.site-body .home-page .slider-toggle {
    min-height: 38px;
    margin: 0;
    align-items: center;
    justify-content: center;
    padding: 0 12px;
    line-height: 1;
    vertical-align: middle;
}
.site-body .home-page .slider-arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}
.alert.error {
    border-radius: 0;
    border-left: 4px solid #b42318;
    background: #fff0f0;
    color: #a52121;
}
.alert.success,
.admin-body .alert:not(.error) {
    border-radius: 0;
    border-left: 4px solid #167c63;
    background: #e9f8f1;
    color: #145a46;
}
.student-update-alert {
    display: flex;
    align-items: center;
    gap: 14px;
    margin: 0 0 20px;
    padding: 15px 18px;
    border: 1px solid #f0d69a;
    border-left: 4px solid #dc8b1c;
    background: #fff8e8;
    color: #493a23;
}
.student-update-alert-count {
    display: grid;
    width: 38px;
    height: 38px;
    flex: 0 0 auto;
    place-items: center;
    border-radius: 50%;
    background: #c62828;
    color: #fff;
    font-size: 0.9rem;
    font-weight: 800;
}
.student-update-alert > div { flex: 1 1 auto; }
.student-update-alert strong { color: #19364e; }
.student-update-alert p { margin: 2px 0 0; color: #647482; font-size: 0.86rem; }
.student-update-alert > a { flex: 0 0 auto; color: #145a46; font-weight: 700; }
.site-body .student-application-status[data-status="Pending"] {
    border: 1px solid #f0d69a;
    background: #fff4dc;
    color: #805410;
}
.site-body .student-application-status[data-status="Approved"] {
    border: 1px solid #a9dcc4;
    background: #e4f3ec;
    color: #126247;
}
.application-status-pill {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 4px 10px;
    border: 1px solid transparent;
    border-radius: 0;
    font-size: 0.78rem;
    font-weight: 700;
    line-height: 1.2;
}
.application-status-pill[data-status="Pending"] {
    border-color: #f0d69a;
    background: #fff4dc;
    color: #805410;
}
.application-status-pill[data-status="Approved"] {
    border-color: #a9dcc4;
    background: #e4f3ec;
    color: #126247;
}
.application-status-pill[data-status="Under Review"] {
    border-color: #bad2e3;
    background: #e8f0f8;
    color: #315d7a;
}
.application-status-pill[data-status="Rejected"] {
    border-color: #ecc4c0;
    background: #fce9e7;
    color: #a43d36;
}
.site-body .form-help-text {
    margin: 8px 0 18px;
    color: #647482;
    font-size: 0.84rem;
}
.site-body .form-card input[readonly] {
    border-color: #d7e4dc;
    background: #f2f7f4;
    color: #415768;
    cursor: default;
}
.admin-body details { min-width: 110px; }
.admin-body details > summary {
    width: fit-content;
    min-height: 36px;
    padding: 7px 12px;
    border: 1px solid rgba(25, 54, 78, 0.16);
    border-radius: 8px;
    color: #167c63;
    cursor: pointer;
    font-size: 0.82rem;
    font-weight: 700;
    list-style-position: inside;
    background: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.admin-body details[open] > summary { margin-bottom: 10px; }
.admin-body details form {
    min-width: min(340px, 82vw);
    margin: 10px 0;
    padding: 14px;
    border: 1px solid #e4ebe5;
    background: #f8faf9;
}
body.admin-body .btn,
body.admin-body button,
body.admin-body .btn.primary,
body.admin-body .btn.secondary {
    min-height: 36px;
    padding: 7px 14px;
    font-size: 0.82rem;
    line-height: 1.2;
    border-radius: 8px;
}
body.admin-body .btn.primary,
body.admin-body .btn.secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.admin-body .stack-form label { display: grid; gap: 5px; color: #415768; font-size: 0.82rem; font-weight: 650; }
.admin-body .inline-form { align-items: center; }
.bulk-admissions-form {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    margin: 0 0 20px;
    padding: 14px;
    border: 1px solid #e2e9e5;
    background: #f8faf9;
}
.bulk-admissions-form label {
    color: #19364e;
    font-size: 0.88rem;
    font-weight: 700;
}
.bulk-admissions-form select,
.admission-status-form select {
    min-width: 150px;
    min-height: 40px;
    padding: 7px 10px;
    border: 1px solid rgba(25, 54, 78, 0.18);
    border-radius: 0;
    background: #fff;
    color: #19364e;
    font: inherit;
}
.bulk-admissions-form .btn,
.admission-status-form .btn {
    display: inline-flex;
    min-height: 40px;
    align-items: center;
    justify-content: center;
    padding: 8px 15px;
    border-radius: 0;
    white-space: nowrap;
}
.admin-body .admission-status-form {
    display: grid;
    grid-template-columns: minmax(140px, 1fr) auto;
    align-items: center;
    gap: 8px;
    margin: 0 0 10px;
}
.admission-select-checkbox {
    width: 18px !important;
    height: 18px;
    margin: 0;
    accent-color: #167c63;
    cursor: pointer;
    vertical-align: middle;
}
.admin-body .admissions-table td,
.admin-body .admissions-table th { vertical-align: middle; }
@media (max-width: 560px) {
    .bulk-admissions-form { align-items: stretch; }
    .bulk-admissions-form label { flex-basis: 100%; }
    .bulk-admissions-form select,
    .bulk-admissions-form .btn { flex: 1 1 100%; }
    .admin-body .admission-status-form { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
    .student-update-alert { align-items: flex-start; flex-wrap: wrap; }
    .student-update-alert > a { margin-left: 52px; }
    .site-body .home-page .slider-toggle { min-height: 34px; }
}

.admin-body {
    background: #f3f7f6;
    color: #19364e;
}
.admin-shell { background: #f3f7f6; }
.admin-sidebar {
    border-bottom-color: #dce7e3;
    background: linear-gradient(110deg, #19364e, #205a52);
    box-shadow: 0 4px 16px rgba(25, 54, 78, 0.1);
}
.admin-sidebar h2 { color: #fff; }
.admin-sidebar a {
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid transparent;
    color: #e3eeed;
}
.admin-sidebar a:hover,
.admin-sidebar a[aria-current="page"] {
    border-color: rgba(255, 255, 255, 0.17);
    background: rgba(255, 255, 255, 0.12);
    color: #fff;
}
.admin-main {
    max-width: 1480px;
    padding-top: clamp(26px, 4vw, 52px);
    color: #19364e;
}
.admin-main > h1,
.admin-topbar h1 { color: #19364e; }
.admin-topbar { border-bottom-color: #dce7e3; }
.admin-badge {
    border-color: #cce1d8;
    background: #e9f5ef;
    color: #176448;
}
.admin-stat-card,
.admin-quick-links a,
.admin-panel {
    border-color: #dce7e3;
    background: #fff;
    box-shadow: 0 8px 24px rgba(25, 54, 78, 0.055);
}
.admin-stat-card {
    min-height: 154px;
    border-top: 3px solid #167c63;
}
.admin-stat-card:nth-child(2) { border-top-color: #d89b2b; }
.admin-stat-card:nth-child(3) { border-top-color: #55758c; }
.admin-stat-card::after { display: none; }
.admin-stat-card .stat-label { color: #57707a; }
.admin-stat-card p,
.admin-section-heading > p { color: #647482; }
.admin-section-kicker,
.admin-quick-links a > span,
.admin-quick-links a > b { color: #167c63; }
.admin-quick-links a {
    min-height: 112px;
    align-items: center;
}
.admin-quick-links a:hover {
    border-color: #8bbdac;
    box-shadow: 0 10px 24px rgba(25, 54, 78, 0.09);
}
.admin-body th { background: #eaf2ef; color: #19364e; }
.admin-body td { color: #405b6b; }

@media (max-width: 900px) {
    .admin-sidebar {
        position: sticky;
        top: 0;
        align-items: stretch;
        gap: 10px;
        padding: 12px 16px;
    }
    .admin-sidebar h2 { font-size: 1.2rem; }
    .admin-sidebar nav {
        justify-content: flex-start;
        gap: 5px;
        padding: 0 0 3px;
        overscroll-behavior-x: contain;
    }
    .admin-sidebar a { min-height: 40px; padding: 8px 11px; white-space: nowrap; }
    .admin-main { padding: 26px 20px 48px; }
}
@media (max-width: 620px) {
    .admin-sidebar { padding: 11px 14px; }
    .admin-sidebar nav {
        width: calc(100vw - 28px);
        margin-right: -4px;
        overflow-x: auto;
        scrollbar-width: thin;
    }
    .admin-sidebar a { min-height: 42px; font-size: 0.8rem; }
    .admin-main { padding: 24px 14px 36px; }
    .admin-topbar {
        align-items: flex-start;
        flex-direction: row;
        flex-wrap: wrap;
        gap: 10px;
        margin-bottom: 18px;
        padding-bottom: 16px;
    }
    .admin-topbar h1,
    .admin-main > h1 { font-size: clamp(1.7rem, 8vw, 2.2rem); }
    .admin-badge { padding: 6px 9px; font-size: 0.62rem; }
    .stats-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-bottom: 24px; }
    .admin-stat-card { min-height: 120px; padding: 16px; }
    .admin-stat-card:last-child { grid-column: 1 / -1; }
    .admin-stat-card h3 { font-size: 2rem; }
    .admin-stat-card p { font-size: 0.78rem; }
    .admin-section-heading { align-items: flex-start; flex-direction: column; gap: 5px; }
    .admin-section-heading h2 { font-size: 1.2rem; }
    .admin-quick-links { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
    .admin-quick-links a { min-height: 96px; padding: 13px; gap: 10px; }
    .admin-quick-links a > strong { font-size: 0.82rem; }
    .admin-panel { padding: 14px; }
    .admin-body table { min-width: 620px; }
}
@media (max-width: 380px) {
    .admin-quick-links { grid-template-columns: 1fr; }
    .admin-quick-links a { min-height: 72px; }
    .stats-grid { grid-template-columns: 1fr; }
    .admin-stat-card:last-child { grid-column: auto; }
}

@media (max-width: 620px) {
    .site-body .student-dashboard { padding-top: 30px; }
    .site-body .student-dashboard-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 16px;
        padding: 22px 18px;
    }
    .site-body .student-dashboard-actions { width: 100%; flex-wrap: wrap; }
    .site-body .student-dashboard-nav { gap: 18px; }
    .site-body .student-dashboard-grid { grid-template-columns: 1fr; gap: 14px; }
    .site-body .student-dashboard-card { padding: 20px 17px; }
    .site-body .student-application-item-heading { align-items: flex-start; }
}

:root {
    --primary: #167c63;
    --primary-dark: #105f4c;
    --secondary: #e0a12a;
    --secondary-soft: #fff4dc;
    --bg: #f6f8f6;
    --surface-soft: #edf3f1;
    --text: #19364e;
    --muted: #647482;
    --border: rgba(25, 54, 78, 0.12);
    --shadow: 0 14px 36px rgba(25, 54, 78, 0.08);
}

.site-body {
    background: #f6f8f6;
    color: #314b44;
}
.site-body main {
    background:
        radial-gradient(ellipse at 0 14%, rgba(22, 124, 99, 0.035), transparent 30%),
        #f6f8f6;
}
.site-body .eyebrow.dark {
    border-color: rgba(22, 124, 99, 0.18);
    background: #eaf3ef;
    color: #176448;
}
.site-body .home-page .section-heading .eyebrow.dark,
.site-body .home-page .section-intro .eyebrow.dark,
.site-body .home-page .impact-proof-heading .eyebrow.dark {
    border-color: rgba(22, 124, 99, 0.18);
    background: #eaf3ef;
    color: #176448;
}
.site-body .section-heading h2,
.site-body .section-intro h2,
.site-body .home-page .impact-proof-heading h2,
.site-body .home-page .notice-item h3 {
    color: #19364e;
}
.site-body .home-page .service-card,
.site-body .home-page .course-card,
.site-body .home-page .impact-item,
.site-body .home-page .process-step,
.site-body .home-page .notice-item {
    border-color: #dce7e3;
    box-shadow: 0 10px 26px rgba(25, 54, 78, 0.06);
}
.site-body .home-page .service-card::before {
    background: linear-gradient(90deg, #167c63, #e0a12a);
}
.site-body .home-page .service-card .service-icon {
    background: #eaf3ef;
    color: #167c63;
    box-shadow: none;
}
.site-body .home-page .service-card h3,
.site-body .home-page .course-body h3,
.site-body .home-page .process-step h3,
.site-body .home-page .impact-item h3 {
    color: #19364e;
}
.site-body .home-page .service-card p,
.site-body .home-page .course-body p,
.site-body .home-page .process-step p,
.site-body .home-page .impact-item p,
.site-body .home-page .notice-item p {
    color: #647482;
}
.site-body .home-page .text-link,
.site-body .home-page .process-step > span {
    color: #167c63;
}
.site-body .home-page .process-step > span {
    background: #eaf3ef;
}
.site-body .home-page .impact-proof,
.site-body .home-page .impact-band {
    background: #edf3f1;
}
.site-body .home-page .impact-proof-heading p { color: #647482; }
.site-body .home-page .notice-item {
    border-top-color: #167c63;
    background: #fff;
}
.site-body .home-page .notice-item:nth-child(3n + 2) { border-top-color: #e0a12a; }
.site-body .home-page .notice-item:nth-child(3n) { border-top-color: #55758c; }
.site-body .page-banner {
    background:
        radial-gradient(ellipse at 82% 15%, rgba(224, 161, 42, 0.13), transparent 35%),
        linear-gradient(115deg, #19364e, #205a52);
}
.site-body .page-banner .container::after {
    background: linear-gradient(90deg, #e0a12a 0 50%, #167c63 50%);
}
.site-body .site-footer {
    background:
        radial-gradient(ellipse at 88% 0, rgba(22, 124, 99, 0.2), transparent 36%),
        linear-gradient(135deg, #142d44, #19364e 58%, #173b4b);
}
.site-body .site-footer::before { background: linear-gradient(90deg, #e0a12a 0 12%, #167c63 12% 100%); }
.site-body .site-footer h4::after { background: #e0a12a; }
.site-body .site-footer .footer-logo {
    background: linear-gradient(145deg, #167c63, #105f4c);
}
.site-body .site-footer a:not(.footer-logo):not(.btn):hover,
.site-body .site-footer a:not(.footer-logo):not(.btn):focus-visible { color: #f4c86d; }
.site-body input:focus,
.site-body select:focus,
.site-body textarea:focus {
    border-color: #167c63;
    box-shadow: 0 0 0 3px rgba(22, 124, 99, 0.14);
}
.site-body :focus-visible { outline-color: #e0a12a; }

.site-body .home-page .hero-copy .btn.primary {
    border-color: #167c63;
    background: #167c63;
    color: #fff;
    box-shadow: 0 3px 0 #105f4c;
}
.site-body .home-page .hero-copy .btn.primary:hover {
    border-color: #105f4c;
    background: #105f4c;
}
.site-body .home-page .hero-copy .btn.secondary {
    border-color: rgba(255, 255, 255, 0.62);
    background: rgba(25, 54, 78, 0.42);
    color: #fff;
}
.site-body .home-page .hero-copy .btn.secondary:hover { background: rgba(25, 54, 78, 0.68); }
.site-body .home-page .cta-banner {
    background:
        radial-gradient(ellipse at 90% 0, rgba(224, 161, 42, 0.14), transparent 36%),
        linear-gradient(120deg, #19364e, #205a52);
}
.site-body .home-page .cta-banner h2,
.site-body .home-page .cta-banner p { color: #fff; }

.site-body .student-dashboard-heading {
    border-color: #dce7e3;
    background:
        radial-gradient(circle at 88% 14%, rgba(255, 255, 255, 0.65), transparent 28%),
        linear-gradient(112deg, #eaf3ef, #f6f8f6 62%, #fff4dc);
}
.site-body .student-dashboard-heading .eyebrow.dark { color: #167c63; }
.site-body .student-dashboard-heading h1,
.site-body .student-dashboard-card-heading h3,
.site-body .student-profile-details dd,
.site-body .student-support-banner h3 { color: #19364e; }
.site-body .student-dashboard-heading p,
.site-body .student-dashboard-card-heading p,
.site-body .student-profile-details dt { color: #647482; }
.site-body .student-dashboard-heading > .btn {
    border-color: #167c63;
    background: #167c63;
    color: #fff;
}
.site-body .student-dashboard-heading > .btn:hover { border-color: #105f4c; background: #105f4c; }
.site-body .student-dashboard-nav { border-color: #dce7e3; background: #fff; }
.site-body .student-dashboard-nav a { color: #526878; }
.site-body .student-dashboard-nav a:hover,
.site-body .student-dashboard-nav a.is-active {
    background: #eaf3ef;
    color: #126247;
}
.site-body .student-dashboard-card,
.site-body .student-profile-details > div {
    border-color: #dce7e3;
    background: #fff;
}
.site-body .student-dashboard-icon {
    border-color: #cce1d8;
    background: #eaf3ef;
    color: #167c63;
}
.site-body .student-dashboard-text-link,
.site-body .student-account-edit summary,
.site-body .student-course-edit summary,
.site-body .student-forgot-link { color: #167c63; }
.site-body .student-support-banner {
    border-color: #dce7e3;
    background: #edf3f1;
}
.site-body .student-support-banner > div > span { color: #526878; }
.site-body .student-support-banner .btn.secondary {
    border-color: #167c63;
    background: #fff;
    color: #126247;
}
.site-body .student-support-banner .btn.secondary:hover { background: #eaf3ef; }
.site-body .student-application-empty,
.site-body .student-application-item { border-color: #dce7e3; background: #f6f8f6; }
.site-body .student-application-item-heading > strong,
.site-body .student-application-item dd { color: #19364e; }

.site-body .service-card,
.site-body .course-card,
.site-body .team-card,
.site-body .process-step,
.site-body .impact-item,
.site-body .info-panel,
.site-body .notice-item,
.site-body .gallery-item,
.site-body .form-card {
    border-color: #dce7e3;
    background-color: #fff;
    color: #314b44;
    box-shadow: 0 10px 28px rgba(25, 54, 78, 0.06);
}
.site-body .service-card h3,
.site-body .course-body h3,
.site-body .team-card h3,
.site-body .process-step h3,
.site-body .impact-item h3,
.site-body .info-panel h3,
.site-body .form-card h2,
.site-body .contact-card h2 { color: #19364e; }
.site-body .service-card p,
.site-body .course-body p,
.site-body .team-card p,
.site-body .process-step p,
.site-body .impact-item p,
.site-body .info-panel p,
.site-body .notice-item p { color: #647482; }
.site-body .service-icon {
    background: #eaf3ef;
    color: #167c63;
    box-shadow: none;
}
.site-body .text-link { color: #167c63; }
.site-body .page-banner {
    background-color: #19364e;
    background-image:
        linear-gradient(90deg, rgba(13, 37, 57, 0.82), rgba(19, 83, 68, 0.58)),
        url('https://images.unsplash.com/photo-1503676260728-1c00da094a0b?auto=format&fit=crop&w=1800&q=85');
}
.site-body .contact-layout {
    border-color: #dce7e3;
    background: #fff;
    box-shadow: 0 16px 42px rgba(25, 54, 78, 0.08);
}
.site-body .contact-layout .form-card { background: #edf3f1; }
.site-body .form-card label { color: #415768; }
.site-body .form-card input,
.site-body .form-card select,
.site-body .form-card textarea,
.site-body .contact-layout input,
.site-body .contact-layout select,
.site-body .contact-layout textarea {
    border-color: rgba(25, 54, 78, 0.18);
    background: #fff;
    color: #19364e;
}
.site-body .home-header.is-scrolled .nav-menu a:hover,
.site-body .home-header.is-scrolled .nav-menu a[aria-current="page"] {
    color: #126247;
}
.site-body .site-header .nav-menu a:focus-visible { outline-color: #e0a12a; }

.admin-body .admin-login-box input:focus,
.admin-body .admin-panel input:focus,
.admin-body .admin-panel select:focus,
.admin-body .admin-panel textarea:focus {
    border-color: #167c63;
    box-shadow: 0 0 0 3px rgba(22, 124, 99, 0.14);
}
.admin-body .admin-login-box .btn.primary,
.admin-body .admin-panel .btn.primary {
    border-color: #167c63;
    background: #167c63;
    color: #fff;
}
.admin-body .admin-login-box .btn.primary:hover,
.admin-body .admin-panel .btn.primary:hover { border-color: #105f4c; background: #105f4c; }
.admin-body .admin-panel a:not(.btn) { color: #167c63; }
.admin-body .admin-panel a:not(.btn):hover { color: #105f4c; }

:root {
    --primary: #a83252;
    --primary-dark: #842640;
    --secondary: #d77a91;
    --secondary-soft: #fae9ee;
    --bg: #f7f4f5;
    --surface-soft: #f1edef;
    --text: #29272d;
    --muted: #6f6871;
    --border: rgba(41, 39, 45, 0.12);
    --shadow: 0 14px 36px rgba(41, 39, 45, 0.08);
}

.site-body {
    background: #f7f4f5;
    color: #48434a;
}
.site-body main {
    background:
        radial-gradient(ellipse at 0 14%, rgba(168, 50, 82, 0.035), transparent 30%),
        #f7f4f5;
}
.site-body .btn.primary,
.site-body .cta.primary,
.site-body .home-page .hero-copy .btn.primary,
.site-body .form-card button.btn.primary,
.site-body .contact-layout .form-card button.btn.primary,
.site-body .student-dashboard-heading > .btn {
    border-color: #a83252;
    background: #a83252;
    color: #fff;
    box-shadow: 0 3px 0 #842640;
}
.site-body .btn.primary:hover,
.site-body .cta.primary:hover,
.site-body .home-page .hero-copy .btn.primary:hover,
.site-body .form-card button.btn.primary:hover,
.site-body .contact-layout .form-card button.btn.primary:hover,
.site-body .student-dashboard-heading > .btn:hover {
    border-color: #842640;
    background: #842640;
}
.site-body .home-page .hero-copy .btn.secondary,
.site-body .home-page .hero-copy .btn.secondary:hover {
    border-color: rgba(255, 255, 255, 0.65);
    background: rgba(41, 39, 45, 0.48);
    color: #fff;
}
.site-body .home-page .hero-copy .eyebrow { border-color: rgba(255, 255, 255, 0.34); }
.site-body .home-page .hero-slider-controls .slider-dot.is-active,
.site-body .home-page .hero-slider-controls .slider-toggle:hover { border-color: #d77a91; background-color: #d77a91; }
.site-body .home-page .hero-slider-controls button:focus-visible { outline-color: #f0b4c3; }
.site-body .announcement-bar { background: #29272d; color: #f7f4f5; }
.site-body .home-header.is-scrolled .nav-menu a:hover,
.site-body .home-header.is-scrolled .nav-menu a[aria-current="page"] { color: #a83252; }
.site-body .home-header.is-scrolled .nav-menu a[aria-current="page"] { box-shadow: inset 0 -2px #a83252; }
.site-body .site-header .nav-menu a:focus-visible { outline-color: #a83252; }
.site-body .eyebrow.dark,
.site-body .section-intro .eyebrow.dark,
.site-body .section-heading .eyebrow.dark,
.site-body .home-page .impact-proof-heading .eyebrow.dark {
    border-color: rgba(168, 50, 82, 0.18);
    background: #fae9ee;
    color: #842640;
}
.site-body .section-heading h2,
.site-body .section-intro h2,
.site-body .impact-proof-heading h2,
.site-body .page-banner h1,
.site-body .student-dashboard-heading h1,
.site-body .home-page .notice-item h3 { color: #29272d; }
.site-body .home-page .impact-proof,
.site-body .home-page .impact-band { background: #f1edef; }
.site-body .home-page .impact-proof-heading p,
.site-body .home-page .service-card p,
.site-body .home-page .course-body p,
.site-body .home-page .process-step p,
.site-body .home-page .impact-item p,
.site-body .home-page .notice-item p { color: #6f6871; }
.site-body .home-page .service-card,
.site-body .home-page .course-card,
.site-body .home-page .impact-item,
.site-body .home-page .process-step,
.site-body .home-page .notice-item {
    border-color: #e5dce0;
    background-color: #fff;
    box-shadow: 0 10px 28px rgba(41, 39, 45, 0.06);
}
.site-body .home-page .service-card::before { background: linear-gradient(90deg, #a83252, #d77a91); }
.site-body .home-page .service-card .service-icon,
.site-body .home-page .process-step > span {
    background: #fae9ee;
    color: #842640;
    box-shadow: none;
}
.site-body .home-page .service-card h3,
.site-body .home-page .course-body h3,
.site-body .home-page .process-step h3,
.site-body .home-page .impact-item h3 { color: #29272d; }
.site-body .home-page .text-link,
.site-body .home-page .course-body .text-link,
.site-body .student-dashboard-text-link,
.site-body .student-account-edit summary,
.site-body .student-course-edit summary,
.site-body .student-forgot-link { color: #a83252; }
.site-body .home-page .notice-item { border-top-color: #a83252; }
.site-body .home-page .notice-item:nth-child(3n + 2) { border-top-color: #d77a91; }
.site-body .home-page .notice-item:nth-child(3n) { border-top-color: #29272d; }
.site-body .page-banner {
    background-color: #29272d;
    background-image:
        linear-gradient(90deg, rgba(41, 39, 45, 0.88), rgba(132, 38, 64, 0.68)),
        url('https://images.unsplash.com/photo-1509062522246-3755977927d7?auto=format&fit=crop&w=1800&q=85');
}
.site-body .page-banner .container::after { background: linear-gradient(90deg, #d77a91, #a83252); }
.site-body .home-page .cta-banner {
    background:
        radial-gradient(ellipse at 90% 0, rgba(215, 122, 145, 0.18), transparent 36%),
        linear-gradient(120deg, #29272d, #842640);
}
.site-body .home-page .cta-banner h2,
.site-body .home-page .cta-banner p { color: #fff; }
.site-body .home-page .cta-banner .btn.primary {
    border-color: #f2bdca;
    background: #f2bdca;
    color: #29272d;
    box-shadow: 0 3px 0 #d77a91;
}
.site-body .home-page .cta-banner .btn.primary:hover { border-color: #f8d5de; background: #f8d5de; }
.site-body .student-dashboard-heading {
    border-color: #e5dce0;
    background: linear-gradient(112deg, #fae9ee, #f7f4f5 62%, #f1edef);
}
.site-body .student-dashboard-heading .eyebrow.dark { color: #842640; }
.site-body .student-dashboard-nav,
.site-body .student-dashboard-card { border-color: #e5dce0; background: #fff; }
.site-body .student-dashboard-nav a:hover,
.site-body .student-dashboard-nav a.is-active { background: #fae9ee; color: #842640; }
.site-body .student-dashboard-nav a.is-active { border-bottom-color: #a83252; }
.site-body .student-dashboard-icon { border-color: #e9c7d1; background: #fae9ee; color: #842640; }
.site-body .student-profile-details > div,
.site-body .student-application-empty,
.site-body .student-application-item { border-color: #e5dce0; background: #f7f4f5; }
.site-body .student-support-banner { border-color: #e5dce0; background: #f1edef; }
.site-body .student-support-banner .btn.secondary { border-color: #a83252; background: #fff; color: #842640; }
.site-body .student-support-banner .btn.secondary:hover { background: #fae9ee; }
.site-body .student-dashboard-card-heading h3,
.site-body .student-profile-details dd,
.site-body .student-application-item-heading > strong,
.site-body .student-application-item dd { color: #29272d; }
.site-body .student-dashboard-card-heading p,
.site-body .student-profile-details dt,
.site-body .student-application-item dt { color: #6f6871; }
.site-body .site-footer {
    background:
        radial-gradient(ellipse at 88% 0, rgba(168, 50, 82, 0.24), transparent 36%),
        linear-gradient(135deg, #222126, #302c33 58%, #492431);
}
.site-body .site-footer::before { background: linear-gradient(90deg, #d77a91 0 12%, #a83252 12% 100%); }
.site-body .site-footer h4::after { background: #d77a91; }
.site-body .site-footer .footer-logo { background: linear-gradient(145deg, #a83252, #842640); }
.site-body .footer-kicker,
.site-body .footer-contact-label { color: #f2bdca; }
.site-body .site-footer a:not(.footer-logo):not(.btn):hover,
.site-body .site-footer a:not(.footer-logo):not(.btn):focus-visible { color: #f2bdca; }
.site-body input:focus,
.site-body select:focus,
.site-body textarea:focus {
    border-color: #a83252;
    box-shadow: 0 0 0 3px rgba(168, 50, 82, 0.14);
}
.site-body :focus-visible { outline-color: #a83252; }

.admin-body,
.admin-shell { background: #f7f4f5; color: #29272d; }
.admin-sidebar { background: linear-gradient(110deg, #29272d, #492431); }
.admin-sidebar a:hover,
.admin-sidebar a[aria-current="page"] {
    border-color: rgba(242, 189, 202, 0.25);
    background: rgba(215, 122, 145, 0.2);
    color: #fff;
}
.admin-main,
.admin-main > h1,
.admin-topbar h1,
.admin-section-heading h2,
.admin-stat-card h3,
.admin-login-box h1 { color: #29272d; }
.admin-topbar { border-bottom-color: #e5dce0; }
.admin-badge { border-color: #e9c7d1; background: #fae9ee; color: #842640; }
.admin-stat-card,
.admin-quick-links a,
.admin-panel,
.admin-login-box { border-color: #e5dce0; color: #29272d; }
.admin-stat-card { border-top-color: #a83252; }
.admin-stat-card:nth-child(2) { border-top-color: #d77a91; }
.admin-stat-card:nth-child(3) { border-top-color: #6f6871; }
.admin-section-kicker,
.admin-quick-links a > span,
.admin-quick-links a > b,
.admin-panel a:not(.btn) { color: #a83252; }
.admin-quick-links a:hover,
.admin-panel a:not(.btn):hover { border-color: #d77a91; color: #842640; }
.admin-body th { background: #f1edef; color: #29272d; }
.admin-body td,
.admin-stat-card .stat-label,
.admin-stat-card p,
.admin-section-heading > p { color: #6f6871; }
.admin-sidebar a[aria-current="page"] { color: #fff; }
.admin-body .admin-login-box .btn.primary,
.admin-body .admin-panel .btn.primary {
    border-color: #a83252;
    background: #a83252;
    color: #fff;
}
.admin-body .admin-login-box .btn.primary:hover,
.admin-body .admin-panel .btn.primary:hover { border-color: #842640; background: #842640; }
.admin-body .admin-panel input:focus,
.admin-body .admin-panel select:focus,
.admin-body .admin-panel textarea:focus,
.admin-body .admin-login-box input:focus {
    border-color: #a83252;
    box-shadow: 0 0 0 3px rgba(168, 50, 82, 0.14);
}
.admin-body :focus-visible { outline-color: #d77a91; }

body.site-body .btn.primary:not(.footer-cta .btn),
body.site-body .cta.primary {
    border-color: #a83252;
    background: #a83252;
    color: #fff;
    box-shadow: 0 3px 0 #842640;
}
body.site-body .btn.primary:not(.footer-cta .btn):hover,
body.site-body .cta.primary:hover { border-color: #842640; background: #842640; }
body.site-body .top-actions .btn.primary {
    border-color: #a83252;
    background: #a83252;
    color: #fff;
    box-shadow: 0 3px 0 #842640;
}
body.site-body .top-actions .btn.primary:hover { border-color: #842640; background: #842640; }
body.site-body .home-page .hero-copy .eyebrow {
    border-color: rgba(242, 189, 202, 0.5);
    background: rgba(41, 39, 45, 0.48);
    color: #f6d8e0;
}
body.site-body .home-page .hero-copy .btn.primary {
    border-color: #a83252;
    background: #a83252;
    color: #fff;
    box-shadow: 0 3px 0 #842640;
}
body.site-body .home-page .hero-copy .btn.primary:hover { border-color: #842640; background: #842640; }
body.site-body .home-page .hero-copy .btn.secondary,
body.site-body .home-page .hero-copy .btn.secondary:hover {
    border-color: rgba(255, 255, 255, 0.65);
    background: rgba(41, 39, 45, 0.48);
    color: #fff;
}
body.site-body .home-page .hero-slider-controls .slider-dot.is-active,
body.site-body .home-page .hero-slider-controls .slider-toggle:hover {
    border-color: #d77a91;
    background-color: #d77a91;
    color: #29272d;
}
body.site-body .home-page .hero-slider-controls button:focus-visible { outline-color: #f2bdca; }
body.site-body .home-page .section-intro .eyebrow.dark,
body.site-body .home-page .section-heading .eyebrow.dark {
    border-color: rgba(168, 50, 82, 0.18);
    background: #fae9ee;
    color: #842640;
}
body.site-body .home-page .service-card,
body.site-body .home-page .course-card,
body.site-body .home-page .impact-item,
body.site-body .home-page .process-step,
body.site-body .home-page .notice-item {
    border-color: #e5dce0;
    background-color: #fff;
}
body.site-body .home-page .service-card::before { background: linear-gradient(90deg, #a83252, #d77a91); }
body.site-body .home-page .service-card .service-icon {
    background: #fae9ee;
    color: #842640;
}
body.site-body .home-page .service-card h3,
body.site-body .home-page .course-body h3,
body.site-body .home-page .process-step h3,
body.site-body .home-page .impact-item h3 { color: #29272d; }
body.site-body .home-page .service-card p,
body.site-body .home-page .course-body p,
body.site-body .home-page .process-step p,
body.site-body .home-page .impact-item p { color: #6f6871; }
body.site-body .home-page .text-link { color: #a83252; }
body.site-body .home-page .notice-item { border-top-color: #a83252; }
body.site-body .home-page .notice-item:nth-child(3n + 2) { border-top-color: #d77a91; }
body.site-body .home-page .notice-item:nth-child(3n) { border-top-color: #29272d; }
body.site-body .home-header.is-scrolled .nav-menu a[aria-current="page"] {
    box-shadow: inset 0 -2px #a83252;
    color: #842640;
}
body.site-body .home-header:not(.is-scrolled) .top-actions .btn.primary,
body.site-body .home-header.is-scrolled .top-actions .btn.primary {
    border-color: #a83252;
    background: #a83252;
    color: #fff;
    box-shadow: 0 3px 0 #842640;
}
body.site-body .home-header:not(.is-scrolled) .top-actions .btn.primary:hover,
body.site-body .home-header.is-scrolled .top-actions .btn.primary:hover {
    border-color: #842640;
    background: #842640;
}
body.site-body .course-card .course-body h3,
body.site-body .home-page .course-card .course-body h3 { color: #29272d; }
body.site-body .course-card .course-body .text-link,
body.site-body .home-page .course-card .course-body .text-link { color: #a83252; }
body.site-body .home-page .course-card:nth-child(3n + 1) .course-image {
    background-image:
        linear-gradient(0deg, rgba(41, 39, 45, 0.78), rgba(41, 39, 45, 0.08)),
        url('https://images.unsplash.com/photo-1516321318423-f06f85e504b3?auto=format&fit=crop&w=1200&q=85');
}
body.site-body .home-page .course-card:nth-child(3n + 2) .course-image {
    background-image:
        linear-gradient(0deg, rgba(41, 39, 45, 0.78), rgba(41, 39, 45, 0.08)),
        url('https://images.unsplash.com/photo-1529390079861-591de354faf5?auto=format&fit=crop&w=1200&q=85');
}
body.site-body .home-page .course-card:nth-child(3n) .course-image {
    background-image:
        linear-gradient(0deg, rgba(41, 39, 45, 0.78), rgba(41, 39, 45, 0.08)),
        url('https://images.unsplash.com/photo-1522202176988-66273c2fd55f?auto=format&fit=crop&w=1200&q=85');
}

:root {
    --primary: #fff;
    --primary-dark: #d7d7d7;
    --secondary: #bdbdbd;
    --secondary-soft: #292929;
    --bg: #101010;
    --surface: #1b1b1b;
    --surface-soft: #242424;
    --text: #f5f5f5;
    --muted: #c2c2c2;
    --border: rgba(255, 255, 255, 0.14);
    --shadow: 0 14px 36px rgba(0, 0, 0, 0.32);
}

body.site-body {
    background: #101010;
    color: #f5f5f5;
}
body.site-body main:not(.home-page) {
    background: #101010;
    color: #f5f5f5;
}
body.site-body main.home-page {
    background:
        radial-gradient(ellipse at 0 14%, rgba(255, 255, 255, 0.025), transparent 30%),
        #101010;
    color: #f5f5f5;
}
body.site-body .site-header,
body.site-body .site-header.home-header.is-scrolled {
    border-bottom-color: rgba(255, 255, 255, 0.12);
    background: rgba(16, 16, 16, 0.97);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.28);
}
body.site-body .site-header .brand-name,
body.site-body .site-header .brand-tagline,
body.site-body .site-header .nav-menu a,
body.site-body .site-header .student-account-link,
body.site-body .site-header .student-account-link strong { color: #f5f5f5; }
body.site-body .site-header .nav-menu a:hover,
body.site-body .site-header .nav-menu a[aria-current="page"] {
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
}
body.site-body .site-header .nav-menu a[aria-current="page"] { box-shadow: inset 0 -2px #fff; }
body.site-body .site-header .nav-toggle span { background: #fff; }
body.site-body .site-header .student-login-link,
body.site-body .site-header .student-account-link {
    border-color: rgba(255, 255, 255, 0.22);
    background: #1b1b1b;
    color: #fff;
}
body.site-body .site-header .top-actions .btn.primary {
    border-color: #fff;
    background: #fff;
    color: #111;
    box-shadow: 0 3px 0 #bdbdbd;
}
body.site-body .site-header .top-actions .btn.primary:hover { border-color: #d7d7d7; background: #d7d7d7; }
body.site-body .announcement-bar { background: #242424; color: #f5f5f5; }
body.site-body .announcement-bar a { color: #fff; }

body.site-body .section-heading h2,
body.site-body .section-intro h2,
body.site-body .page-banner h1,
body.site-body .student-dashboard-heading h1,
body.site-body .impact-proof-heading h2 { color: #fff; }
body.site-body .section-heading p,
body.site-body .section-intro p,
body.site-body .impact-proof-heading p { color: #c2c2c2; }
body.site-body .eyebrow.dark,
body.site-body .section-intro .eyebrow.dark,
body.site-body .section-heading .eyebrow.dark,
body.site-body .home-page .impact-proof-heading .eyebrow.dark {
    border-color: rgba(255, 255, 255, 0.22);
    background: #242424;
    color: #fff;
}
body.site-body .home-page .impact-proof,
body.site-body .home-page .impact-band { background: #181818; }
body.site-body .home-page .service-card,
body.site-body .home-page .course-card,
body.site-body .home-page .impact-item,
body.site-body .home-page .process-step,
body.site-body .home-page .notice-item,
body.site-body .service-card,
body.site-body .course-card,
body.site-body .team-card,
body.site-body .process-step,
body.site-body .impact-item,
body.site-body .info-panel,
body.site-body .notice-item,
body.site-body .gallery-item,
body.site-body .form-card {
    border-color: #383838;
    background: #1b1b1b;
    color: #f5f5f5;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.28);
}
body.site-body .home-page .service-card::before { background: linear-gradient(90deg, #fff, #777); }
body.site-body .home-page .service-card .service-icon,
body.site-body .home-page .process-step > span,
body.site-body .service-card .service-icon {
    background: #303030;
    color: #fff;
    box-shadow: none;
}
body.site-body .home-page .service-card h3,
body.site-body .home-page .course-body h3,
body.site-body .home-page .process-step h3,
body.site-body .home-page .impact-item h3,
body.site-body .home-page .notice-item h3,
body.site-body .service-card h3,
body.site-body .course-body h3,
body.site-body .team-card h3,
body.site-body .process-step h3,
body.site-body .impact-item h3,
body.site-body .info-panel h3,
body.site-body .form-card h2 { color: #fff; }
body.site-body .home-page .service-card p,
body.site-body .home-page .course-body p,
body.site-body .home-page .process-step p,
body.site-body .home-page .impact-item p,
body.site-body .home-page .notice-item p,
body.site-body .service-card p,
body.site-body .course-body p,
body.site-body .team-card p,
body.site-body .process-step p,
body.site-body .impact-item p,
body.site-body .info-panel p,
body.site-body .notice-item p { color: #c2c2c2; }
body.site-body .home-page .notice-item { border-top-color: #fff; }
body.site-body .home-page .notice-item:nth-child(3n + 2) { border-top-color: #aaa; }
body.site-body .home-page .notice-item:nth-child(3n) { border-top-color: #666; }
body.site-body .home-page .text-link,
body.site-body .text-link,
body.site-body .student-dashboard-text-link,
body.site-body .student-account-edit summary,
body.site-body .student-course-edit summary,
body.site-body .student-forgot-link { color: #fff; text-decoration: underline; text-decoration-color: #888; }
body.site-body .page-banner {
    border-color: #444;
    background-color: #111;
    background-image:
        linear-gradient(90deg, rgba(0, 0, 0, 0.88), rgba(35, 35, 35, 0.72)),
        url('https://images.unsplash.com/photo-1509062522246-3755977927d7?auto=format&fit=crop&w=1800&q=85');
}
body.site-body .page-banner .container::after { background: linear-gradient(90deg, #fff, #777); }
body.site-body .home-page .cta-banner {
    border-color: #444;
    background: linear-gradient(120deg, #171717, #303030);
}
body.site-body .home-page .cta-banner h2,
body.site-body .home-page .cta-banner p { color: #fff; }
body.site-body .home-page .cta-banner .btn.primary {
    border-color: #fff;
    background: #fff;
    color: #111;
    box-shadow: 0 3px 0 #aaa;
}
body.site-body .home-page .cta-banner .btn.primary:hover { border-color: #d7d7d7; background: #d7d7d7; }

body.site-body .btn.primary,
body.site-body .cta.primary,
body.site-body .home-page .hero-copy .btn.primary,
body.site-body .form-card button.btn.primary,
body.site-body .contact-layout .form-card button.btn.primary,
body.site-body .student-dashboard-heading > .btn {
    border-color: #fff;
    background: #fff;
    color: #111;
    box-shadow: 0 3px 0 #aaa;
}
body.site-body .btn.primary:hover,
body.site-body .cta.primary:hover,
body.site-body .home-page .hero-copy .btn.primary:hover,
body.site-body .form-card button.btn.primary:hover,
body.site-body .contact-layout .form-card button.btn.primary:hover,
body.site-body .student-dashboard-heading > .btn:hover {
    border-color: #d7d7d7;
    background: #d7d7d7;
    color: #111;
}
body.site-body .btn.secondary,
body.site-body .home-page .hero-copy .btn.secondary {
    border-color: rgba(255, 255, 255, 0.62);
    background: rgba(0, 0, 0, 0.38);
    color: #fff;
}
body.site-body .btn.secondary:hover,
body.site-body .home-page .hero-copy .btn.secondary:hover { background: rgba(255, 255, 255, 0.12); }
body.site-body .home-page .hero-copy .eyebrow {
    border-color: rgba(255, 255, 255, 0.35);
    background: rgba(0, 0, 0, 0.42);
    color: #fff;
}
body.site-body .home-page .hero-slider-controls .slider-dot.is-active { background: #fff; }
body.site-body .home-page .hero-slider-controls .slider-toggle:hover { border-color: #fff; color: #fff; }
body.site-body .home-page .hero-slider-controls button:focus-visible { outline-color: #fff; }

body.site-body .contact-layout {
    border-color: #383838;
    background: #1b1b1b;
    box-shadow: 0 16px 42px rgba(0, 0, 0, 0.3);
}
body.site-body .contact-layout .contact-card { background: #242424; color: #fff; }
body.site-body .contact-layout .contact-card h2,
body.site-body .contact-layout .contact-card h3,
body.site-body .contact-layout .form-card label { color: #fff; }
body.site-body .contact-layout .form-card { background: #1b1b1b; }
body.site-body .contact-layout input,
body.site-body .contact-layout select,
body.site-body .contact-layout textarea,
body.site-body .form-card input,
body.site-body .form-card select,
body.site-body .form-card textarea {
    border-color: #555;
    background: #111;
    color: #fff;
}
body.site-body .contact-layout input::placeholder,
body.site-body .form-card input::placeholder,
body.site-body .form-card textarea::placeholder { color: #aaa; }
body.site-body input:focus,
body.site-body select:focus,
body.site-body textarea:focus {
    border-color: #fff;
    outline-color: rgba(255, 255, 255, 0.3);
    box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.12);
}
body.site-body .student-dashboard-heading {
    border-color: #383838;
    background: linear-gradient(112deg, #242424, #181818 62%, #303030);
}
body.site-body .student-dashboard-heading p,
body.site-body .student-dashboard-card-heading p,
body.site-body .student-profile-details dt,
body.site-body .student-application-item dt { color: #c2c2c2; }
body.site-body .student-dashboard-nav,
body.site-body .student-dashboard-card,
body.site-body .student-profile-details > div,
body.site-body .student-application-empty,
body.site-body .student-application-item,
body.site-body .student-support-banner {
    border-color: #383838;
    background: #1b1b1b;
    color: #f5f5f5;
}
body.site-body .student-dashboard-nav a { color: #ddd; }
body.site-body .student-dashboard-nav a:hover,
body.site-body .student-dashboard-nav a.is-active {
    background: #303030;
    color: #fff;
}
body.site-body .student-dashboard-nav a.is-active { border-bottom: 2px solid #fff; }
body.site-body .student-dashboard-icon { border-color: #555; background: #303030; color: #fff; }
body.site-body .student-dashboard-card-heading h3,
body.site-body .student-profile-details dd,
body.site-body .student-application-item-heading > strong,
body.site-body .student-application-item dd,
body.site-body .student-support-banner h3 { color: #fff; }
body.site-body .student-support-banner > div > span { color: #c2c2c2; }
body.site-body .student-support-banner .btn.secondary { border-color: #aaa; background: #242424; color: #fff; }
body.site-body .student-support-banner .btn.secondary:hover { background: #383838; }
body.site-body .site-footer {
    border-top-color: #444;
    background:
        radial-gradient(ellipse at 88% 0, rgba(255, 255, 255, 0.05), transparent 36%),
        linear-gradient(135deg, #101010, #1b1b1b 58%, #292929);
    color: #eee;
}
body.site-body .site-footer::before { background: linear-gradient(90deg, #fff 0 12%, #777 12% 100%); }
body.site-body .site-footer h3,
body.site-body .site-footer h4,
body.site-body .footer-cta h2 { color: #fff; }
body.site-body .site-footer p,
body.site-body .site-footer a:not(.footer-logo):not(.btn) { color: #c2c2c2; }
body.site-body .site-footer a:not(.footer-logo):not(.btn):hover,
body.site-body .site-footer a:not(.footer-logo):not(.btn):focus-visible { color: #fff; }
body.site-body .site-footer h4::after { background: #fff; }
body.site-body .site-footer .footer-logo { background: #fff; color: #111; }
body.site-body .footer-kicker,
body.site-body .footer-contact-label { color: #ddd; }
body.site-body :focus-visible { outline-color: #fff; }

body.admin-body,
body.admin-body .admin-shell { background: #101010; color: #f5f5f5; }
body.admin-body .admin-sidebar {
    border-bottom-color: #383838;
    background: linear-gradient(110deg, #101010, #292929);
}
body.admin-body .admin-sidebar h2,
body.admin-body .admin-main,
body.admin-body .admin-main > h1,
body.admin-body .admin-topbar h1,
body.admin-body .admin-section-heading h2,
body.admin-body .admin-stat-card h3,
body.admin-body .admin-login-box h1 { color: #fff; }
body.admin-body .admin-sidebar a { color: #ddd; }
body.admin-body .admin-sidebar a:hover,
body.admin-body .admin-sidebar a[aria-current="page"] {
    border-color: #555;
    background: #383838;
    color: #fff;
}
body.admin-body .admin-topbar { border-bottom-color: #383838; }
body.admin-body .admin-badge { border-color: #555; background: #303030; color: #fff; }
body.admin-body .admin-stat-card,
body.admin-body .admin-quick-links a,
body.admin-body .admin-panel,
body.admin-body .admin-login-box {
    border-color: #383838;
    background: #1b1b1b;
    color: #f5f5f5;
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.3);
}
body.admin-body .admin-stat-card { border-top-color: #fff; }
body.admin-body .admin-stat-card:nth-child(2) { border-top-color: #aaa; }
body.admin-body .admin-stat-card:nth-child(3) { border-top-color: #666; }
body.admin-body .admin-section-kicker,
body.admin-body .admin-quick-links a > span,
body.admin-body .admin-quick-links a > b,
body.admin-body .admin-panel a:not(.btn) { color: #fff; }
body.admin-body .admin-stat-card .stat-label,
body.admin-body .admin-stat-card p,
body.admin-body .admin-section-heading > p,
body.admin-body td { color: #c2c2c2; }
body.admin-body th { background: #303030; color: #fff; }
body.admin-body .admin-quick-links a:hover { border-color: #888; }
body.admin-body .admin-panel input,
body.admin-body .admin-panel select,
body.admin-body .admin-panel textarea,
body.admin-body .admin-login-box input {
    border-color: #555;
    background: #111;
    color: #fff;
}
body.admin-body .admin-panel input:focus,
body.admin-body .admin-panel select:focus,
body.admin-body .admin-panel textarea:focus,
body.admin-body .admin-login-box input:focus {
    border-color: #fff;
    box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.12);
}
body.admin-body .admin-login-box .btn.primary,
body.admin-body .admin-panel .btn.primary {
    border-color: #fff;
    background: #fff;
    color: #111;
}
body.admin-body .admin-login-box .btn.primary:hover,
body.admin-body .admin-panel .btn.primary:hover { border-color: #d7d7d7; background: #d7d7d7; }
body.admin-body :focus-visible { outline-color: #fff; }

body.site-body .site-header.home-header,
body.site-body .site-header.home-header.is-scrolled {
    border-bottom-color: rgba(255, 255, 255, 0.14);
    background: rgba(16, 16, 16, 0.97);
}
body.site-body .site-header.home-header:not(.is-scrolled) {
    border-bottom-color: rgba(255, 255, 255, 0.12);
    background: rgba(0, 0, 0, 0.38);
}
body.site-body .site-header.home-header:not(.is-scrolled) .brand-name,
body.site-body .site-header.home-header:not(.is-scrolled) .brand-tagline,
body.site-body .site-header.home-header:not(.is-scrolled) .nav-menu a,
body.site-body .site-header.home-header:not(.is-scrolled) .student-login-link,
body.site-body .site-header.home-header:not(.is-scrolled) .student-account-link,
body.site-body .site-header.home-header:not(.is-scrolled) .student-account-link strong { color: #fff; }
body.site-body .site-header.home-header.is-scrolled .brand-name,
body.site-body .site-header.home-header.is-scrolled .brand-tagline,
body.site-body .site-header.home-header.is-scrolled .nav-menu a,
body.site-body .site-header.home-header.is-scrolled .student-login-link,
body.site-body .site-header.home-header.is-scrolled .student-account-link,
body.site-body .site-header.home-header.is-scrolled .student-account-link strong { color: #fff; }
body.site-body header.site-header.home-header.is-scrolled .brand-name,
body.site-body header.site-header.home-header.is-scrolled .brand-tagline,
body.site-body header.site-header.home-header.is-scrolled .nav-menu a,
body.site-body header.site-header.home-header.is-scrolled .student-account-link strong { color: #fff; }
body.site-body header.site-header.home-header .top-actions a.btn.primary,
body.site-body header.site-header.home-header.is-scrolled .top-actions a.btn.primary {
    border-color: #fff;
    background: #fff;
    color: #111;
    box-shadow: 0 3px 0 #aaa;
}
body.site-body header.site-header.home-header .top-actions a.btn.primary:hover,
body.site-body header.site-header.home-header.is-scrolled .top-actions a.btn.primary:hover {
    border-color: #d7d7d7;
    background: #d7d7d7;
}

:root {
    --primary: #168cff;
    --primary-dark: #0868c9;
    --secondary: #70b7ff;
    --secondary-soft: #12243a;
}
body.site-body .home-header.is-scrolled .nav-menu a:hover,
body.site-body .home-header.is-scrolled .nav-menu a[aria-current="page"] { color: #70b7ff; }
body.site-body .home-header.is-scrolled .nav-menu a[aria-current="page"] { box-shadow: inset 0 -2px #168cff; }
body.site-body .site-header .nav-menu a:focus-visible,
body.site-body :focus-visible,
body.admin-body :focus-visible { outline-color: #70b7ff; }
body.site-body .eyebrow.dark,
body.site-body .section-intro .eyebrow.dark,
body.site-body .section-heading .eyebrow.dark,
body.site-body .home-page .impact-proof-heading .eyebrow.dark {
    border-color: rgba(112, 183, 255, 0.34);
    background: #12243a;
    color: #a6d2ff;
}
body.site-body .btn.primary,
body.site-body .cta.primary,
body.site-body .home-page .hero-copy .btn.primary,
body.site-body .form-card button.btn.primary,
body.site-body .contact-layout .form-card button.btn.primary,
body.site-body .student-dashboard-heading > .btn {
    border-color: #168cff;
    background: #168cff;
    color: #fff;
    box-shadow: 0 3px 0 #0868c9;
}
body.site-body .btn.primary:hover,
body.site-body .cta.primary:hover,
body.site-body .home-page .hero-copy .btn.primary:hover,
body.site-body .form-card button.btn.primary:hover,
body.site-body .contact-layout .form-card button.btn.primary:hover,
body.site-body .student-dashboard-heading > .btn:hover {
    border-color: #0868c9;
    background: #0868c9;
    color: #fff;
}
body.site-body header.site-header.home-header .top-actions a.btn.primary,
body.site-body header.site-header.home-header.is-scrolled .top-actions a.btn.primary {
    border-color: #168cff;
    background: #168cff;
    color: #fff;
    box-shadow: 0 3px 0 #0868c9;
}
body.site-body header.site-header.home-header .top-actions a.btn.primary:hover,
body.site-body header.site-header.home-header.is-scrolled .top-actions a.btn.primary:hover {
    border-color: #0868c9;
    background: #0868c9;
}
body.site-body .home-page .hero-copy .btn.primary,
body.site-body .home-page .hero-copy .btn.primary:hover {
    border-color: #168cff;
    background: #168cff;
    color: #fff;
}
body.site-body .home-page .hero-copy .eyebrow {
    border-color: rgba(112, 183, 255, 0.42);
    color: #c7e3ff;
}
body.site-body .home-page .hero-slider-controls .slider-dot.is-active,
body.site-body .home-page .hero-slider-controls .slider-toggle:hover {
    border-color: #70b7ff;
    background-color: #70b7ff;
    color: #111;
}
body.site-body .home-page .service-card::before { background: linear-gradient(90deg, #168cff, #70b7ff); }
body.site-body .home-page .service-card .service-icon,
body.site-body .home-page .process-step > span,
body.site-body .service-card .service-icon {
    border-color: rgba(112, 183, 255, 0.25);
    background: #12243a;
    color: #a6d2ff;
}
body.site-body .home-page .text-link,
body.site-body .text-link,
body.site-body .student-dashboard-text-link,
body.site-body .student-account-edit summary,
body.site-body .student-course-edit summary,
body.site-body .student-forgot-link {
    color: #8cc5ff;
    text-decoration-color: rgba(140, 197, 255, 0.55);
}
body.site-body .home-page .notice-item { border-top-color: #168cff; }
body.site-body .home-page .notice-item:nth-child(3n + 2) { border-top-color: #70b7ff; }
body.site-body .home-page .notice-item:nth-child(3n) { border-top-color: #666; }
body.site-body .page-banner .container::after { background: linear-gradient(90deg, #168cff, #70b7ff); }
body.site-body .home-page .cta-banner {
    background:
        radial-gradient(ellipse at 90% 0, rgba(22, 140, 255, 0.2), transparent 36%),
        linear-gradient(120deg, #111, #202a36);
}
body.site-body .home-page .cta-banner .btn.primary {
    border-color: #168cff;
    background: #168cff;
    color: #fff;
    box-shadow: 0 3px 0 #0868c9;
}
body.site-body .home-page .cta-banner .btn.primary:hover { border-color: #0868c9; background: #0868c9; }
body.site-body .student-dashboard-nav a:hover,
body.site-body .student-dashboard-nav a.is-active {
    background: #12243a;
    color: #a6d2ff;
}
body.site-body .student-dashboard-nav a.is-active { border-bottom-color: #168cff; }
body.site-body .student-dashboard-icon {
    border-color: rgba(112, 183, 255, 0.3);
    background: #12243a;
    color: #a6d2ff;
}
body.site-body .student-support-banner .btn.secondary { border-color: #70b7ff; color: #a6d2ff; }
body.site-body .student-support-banner .btn.secondary:hover { background: #12243a; }
body.site-body .site-footer::before { background: linear-gradient(90deg, #168cff 0 12%, #70b7ff 12% 100%); }
body.site-body .site-footer h4::after { background: #70b7ff; }
body.site-body .site-footer .footer-logo { background: #168cff; color: #fff; }
body.site-body .footer-kicker,
body.site-body .footer-contact-label { color: #a6d2ff; }
body.site-body .site-footer a:not(.footer-logo):not(.btn):hover,
body.site-body .site-footer a:not(.footer-logo):not(.btn):focus-visible { color: #a6d2ff; }
body.site-body input:focus,
body.site-body select:focus,
body.site-body textarea:focus {
    border-color: #70b7ff;
    box-shadow: 0 0 0 3px rgba(22, 140, 255, 0.2);
}
body.admin-body .admin-sidebar a[aria-current="page"],
body.admin-body .admin-sidebar a:hover {
    border-color: rgba(112, 183, 255, 0.28);
    background: rgba(22, 140, 255, 0.18);
}
body.admin-body .admin-badge { border-color: rgba(112, 183, 255, 0.35); color: #a6d2ff; }
body.admin-body .admin-stat-card { border-top-color: #168cff; }
body.admin-body .admin-stat-card:nth-child(2) { border-top-color: #70b7ff; }
body.admin-body .admin-stat-card:nth-child(3) { border-top-color: #777; }
body.admin-body .admin-section-kicker,
body.admin-body .admin-quick-links a > span,
body.admin-body .admin-quick-links a > b,
body.admin-body .admin-panel a:not(.btn) { color: #8cc5ff; }
body.admin-body .admin-quick-links a:hover { border-color: #70b7ff; }
body.admin-body .admin-login-box .btn.primary,
body.admin-body .admin-panel .btn.primary {
    border-color: #168cff;
    background: #168cff;
    color: #fff;
}
body.admin-body .admin-login-box .btn.primary:hover,
body.admin-body .admin-panel .btn.primary:hover { border-color: #0868c9; background: #0868c9; }

body.site-body {
    background: #f5f7fa;
    color: #344557;
}
body.site-body main:not(.home-page) {
    background: #f5f7fa;
    color: #344557;
}
body.site-body main.home-page {
    background:
        radial-gradient(ellipse at 0 14%, rgba(22, 140, 255, 0.035), transparent 30%),
        #f5f7fa;
    color: #344557;
}
body.site-body .home-page .impact-proof,
body.site-body .home-page .impact-band { background: #eaf1f7; }
body.site-body .site-header.home-header.is-scrolled {
    background: rgba(255, 255, 255, 0.98);
    border-bottom-color: #dce4ed;
}
body.site-body .site-header.home-header.is-scrolled .brand-name,
body.site-body .site-header.home-header.is-scrolled .brand-tagline,
body.site-body .site-header.home-header.is-scrolled .nav-menu a,
body.site-body .site-header.home-header.is-scrolled .student-login-link,
body.site-body .site-header.home-header.is-scrolled .student-account-link,
body.site-body .site-header.home-header.is-scrolled .student-account-link strong { color: #253447; }
body.site-body .site-header.home-header.is-scrolled .nav-menu a:hover,
body.site-body .site-header.home-header.is-scrolled .nav-menu a[aria-current="page"] {
    background: #edf4fb;
    color: #075da8;
}
body.site-body .site-header.home-header.is-scrolled .nav-menu a[aria-current="page"] {
    box-shadow: inset 0 -2px #168cff;
}
body.admin-body,
body.admin-body .admin-shell { background: #f5f7fa; color: #253447; }

body.site-body .home-page .section-intro .eyebrow.dark,
body.site-body .home-page .section-heading .eyebrow.dark,
body.site-body .home-page .impact-proof-heading .eyebrow.dark {
    border-color: #d2e4f4;
    background: #edf4fb;
    color: #075da8;
}
body.site-body .home-page .stats .stat-box,
body.site-body .home-page .stats .stat-box.bright {
    border-color: #e4e0d7;
    border-top-color: #168cff;
    background: #fff;
    color: #253447;
    box-shadow: 0 10px 26px rgba(37, 52, 71, 0.07);
}
body.site-body .home-page .stats .stat-box h3 { color: #075da8; }
body.site-body .home-page .stats .stat-box p { color: #647181; }
body.site-body .home-page .stats .stat-box:nth-child(even),
body.site-body .home-page .stats .stat-box:nth-child(odd) { border-top-color: #168cff; }
body.site-body .home-page .service-card,
body.site-body .home-page .course-card,
body.site-body .home-page .impact-item,
body.site-body .home-page .process-step,
body.site-body .home-page .notice-item { border-color: #e4e0d7; }
body.site-body .home-page .service-card .service-icon,
body.site-body .home-page .process-step > span {
    border-color: #d2e4f4;
    background: #edf4fb;
    color: #075da8;
}
body.site-body .home-page .service-card h3,
body.site-body .home-page .course-body h3,
body.site-body .home-page .process-step h3,
body.site-body .home-page .impact-item h3,
body.site-body .home-page .notice-item h3 { color: #253447; }
body.site-body .home-page .service-card p,
body.site-body .home-page .course-body p,
body.site-body .home-page .process-step p,
body.site-body .home-page .impact-item p,
body.site-body .home-page .notice-item p { color: #647181; }
body.site-body .home-page .service-card .text-link,
body.site-body .home-page .course-body .text-link,
body.site-body .home-page .process-step .text-link,
body.site-body .home-page .notice-item a,
body.site-body .course-card .text-link,
body.site-body .course-body .text-link,
body.site-body .student-dashboard-text-link,
body.site-body .student-account-edit summary,
body.site-body .student-course-edit summary,
body.site-body .student-forgot-link,
body.site-body .admin-forgot-link,
body.site-body .info-panel a:not(.btn),
body.site-body .notice-item a:not(.btn) { color: #075da8; }
body.site-body .course-card .course-body h3 { color: #253447; }
body.site-body .course-card .course-body p,
body.site-body .course-card .course-body .card-meta { color: #647181; }
body.site-body main .course-grid .course-card .course-body a.text-link,
body.site-body main .course-grid .course-card .course-body a.text-link:hover { color: #075da8; }
body.site-body .home-page .service-card::before { background: linear-gradient(90deg, #168cff, #8cc5ff); }
body.site-body .home-page .notice-item { border-top-color: #168cff; }
body.site-body .home-page .notice-item:nth-child(3n + 2) { border-top-color: #8cc5ff; }
body.site-body .home-page .notice-item:nth-child(3n) { border-top-color: #68798d; }
body.site-body .home-page .hero-slider-controls .slider-dot.is-active { background: #8cc5ff; }
body.site-body .home-page .hero-slider-controls .slider-toggle:hover {
    border-color: #8cc5ff;
    background: #8cc5ff;
    color: #19364e;
}
body.site-body .student-dashboard-nav a.is-active,
body.site-body .student-dashboard-nav a:hover {
    border-color: #168cff;
    background: #edf4fb;
    color: #075da8;
}
body.site-body .student-dashboard-icon { border-color: #d2e4f4; background: #edf4fb; color: #075da8; }
body.site-body .student-dashboard-text-link,
body.site-body .student-account-edit summary,
body.site-body .student-course-edit summary,
body.site-body .student-forgot-link { color: #075da8; }
body.site-body .student-support-banner .btn.secondary { border-color: #168cff; color: #075da8; }
body.site-body .student-support-banner .btn.secondary:hover { background: #edf4fb; }
body.site-body .student-dashboard-heading > .btn {
    border-color: #168cff;
    background: #168cff;
    color: #fff;
    box-shadow: 0 3px 0 #0868c9;
}
body.site-body .student-dashboard-heading > .btn:hover { border-color: #0868c9; background: #0868c9; }
body.site-body .page-banner .container::after { background: linear-gradient(90deg, #168cff, #8cc5ff); }
body.site-body .site-footer::before { background: linear-gradient(90deg, #168cff, #8cc5ff); }
body.admin-body .admin-panel input:focus,
body.admin-body .admin-panel select:focus,
body.admin-body .admin-panel textarea:focus,
body.admin-body .admin-login-box input:focus {
    border-color: #70b7ff;
    box-shadow: 0 0 0 3px rgba(22, 140, 255, 0.2);
}

:root {
    --bg: #f8f6f1;
    --surface: #fff;
    --surface-soft: #f0eee8;
    --text: #253447;
    --muted: #647181;
    --border: rgba(37, 52, 71, 0.13);
    --shadow: 0 14px 36px rgba(37, 52, 71, 0.08);
}
body.site-body {
    background: #f8f6f1;
    color: #3c4651;
}
body.site-body main,
body.site-body main.home-page {
    background: #f8f6f1;
    color: #3c4651;
}
body.site-body .site-header,
body.site-body .site-header.home-header.is-scrolled {
    border-bottom-color: #e5e1d8;
    background: rgba(255, 255, 255, 0.97);
    box-shadow: 0 6px 22px rgba(37, 52, 71, 0.08);
}
body.site-body .site-header .brand-name,
body.site-body .site-header .brand-tagline,
body.site-body .site-header .nav-menu a,
body.site-body .site-header .student-account-link,
body.site-body .site-header .student-account-link strong { color: #253447; }
body.site-body .site-header .nav-menu a:hover,
body.site-body .site-header .nav-menu a[aria-current="page"] {
    background: #edf4fb;
    color: #0868c9;
}
body.site-body .site-header .nav-menu a[aria-current="page"] { box-shadow: inset 0 -2px #168cff; }
body.site-body .site-header .nav-toggle span { background: #253447; }
body.site-body .site-header .student-login-link,
body.site-body .site-header .student-account-link {
    border-color: #d8e0e8;
    background: #fff;
    color: #253447;
}
body.site-body .site-header .top-actions .btn.primary,
body.site-body header.site-header.home-header .top-actions a.btn.primary,
body.site-body header.site-header.home-header.is-scrolled .top-actions a.btn.primary {
    border-color: #168cff;
    background: #168cff;
    color: #fff;
    box-shadow: 0 3px 0 #0868c9;
}
body.site-body .site-header .top-actions .btn.primary:hover,
body.site-body header.site-header.home-header .top-actions a.btn.primary:hover,
body.site-body header.site-header.home-header.is-scrolled .top-actions a.btn.primary:hover {
    border-color: #0868c9;
    background: #0868c9;
}
body.site-body .site-header.home-header:not(.is-scrolled) {
    border-bottom-color: rgba(255, 255, 255, 0.16);
    background: rgba(16, 35, 56, 0.44);
}
body.site-body .site-header.home-header:not(.is-scrolled) .brand-name,
body.site-body .site-header.home-header:not(.is-scrolled) .brand-tagline,
body.site-body .site-header.home-header:not(.is-scrolled) .nav-menu a,
body.site-body .site-header.home-header:not(.is-scrolled) .student-login-link,
body.site-body .site-header.home-header:not(.is-scrolled) .student-account-link,
body.site-body .site-header.home-header:not(.is-scrolled) .student-account-link strong { color: #fff; }
body.site-body .announcement-bar { background: #19364e; color: #f5f8fb; }
body.site-body .section-heading h2,
body.site-body .section-intro h2,
body.site-body .impact-proof-heading h2,
body.site-body .student-dashboard-heading h1 { color: #253447; }
body.site-body .section-heading p,
body.site-body .section-intro p,
body.site-body .impact-proof-heading p { color: #647181; }
body.site-body .eyebrow.dark,
body.site-body .section-intro .eyebrow.dark,
body.site-body .section-heading .eyebrow.dark,
body.site-body .home-page .impact-proof-heading .eyebrow.dark {
    border-color: #d2e4f4;
    background: #edf4fb;
    color: #075da8;
}
body.site-body .home-page .impact-proof,
body.site-body .home-page .impact-band { background: #f0eee8; }
body.site-body .home-page .service-card,
body.site-body .home-page .course-card,
body.site-body .home-page .impact-item,
body.site-body .home-page .process-step,
body.site-body .home-page .notice-item,
body.site-body .service-card,
body.site-body .course-card,
body.site-body .team-card,
body.site-body .process-step,
body.site-body .impact-item,
body.site-body .info-panel,
body.site-body .notice-item,
body.site-body .gallery-item,
body.site-body .form-card {
    border-color: #e4e0d7;
    background: #fff;
    color: #3c4651;
    box-shadow: 0 10px 28px rgba(37, 52, 71, 0.07);
}
body.site-body .home-page .service-card::before { background: linear-gradient(90deg, #168cff, #8cc5ff); }
body.site-body .home-page .service-card h3,
body.site-body .home-page .course-body h3,
body.site-body .home-page .process-step h3,
body.site-body .home-page .impact-item h3,
body.site-body .home-page .notice-item h3,
body.site-body .service-card h3,
body.site-body .course-body h3,
body.site-body .team-card h3,
body.site-body .process-step h3,
body.site-body .impact-item h3,
body.site-body .info-panel h3,
body.site-body .form-card h2 { color: #253447; }
body.site-body .home-page .service-card p,
body.site-body .home-page .course-body p,
body.site-body .home-page .process-step p,
body.site-body .home-page .impact-item p,
body.site-body .home-page .notice-item p,
body.site-body .service-card p,
body.site-body .course-body p,
body.site-body .team-card p,
body.site-body .process-step p,
body.site-body .impact-item p,
body.site-body .info-panel p,
body.site-body .notice-item p { color: #647181; }
body.site-body .home-page .service-card .service-icon,
body.site-body .home-page .process-step > span,
body.site-body .service-card .service-icon {
    background: #edf4fb;
    color: #075da8;
}
body.site-body .home-page .text-link,
body.site-body .course-card .course-body .text-link,
body.site-body .student-dashboard-text-link,
body.site-body .student-account-edit summary,
body.site-body .student-course-edit summary,
body.site-body .student-forgot-link { color: #075da8; }
body.site-body .home-page .notice-item { border-top-color: #168cff; }
body.site-body .home-page .notice-item:nth-child(3n + 2) { border-top-color: #8cc5ff; }
body.site-body .home-page .notice-item:nth-child(3n) { border-top-color: #68798d; }
body.site-body .page-banner {
    background-color: #19364e;
    background-image:
        linear-gradient(90deg, rgba(17, 40, 63, 0.82), rgba(28, 89, 139, 0.55)),
        url('https://images.unsplash.com/photo-1503676260728-1c00da094a0b?auto=format&fit=crop&w=1800&q=85');
}
body.site-body .page-banner .container::after { background: linear-gradient(90deg, #168cff, #8cc5ff); }
body.site-body .home-page .cta-banner {
    border-color: #254b6b;
    background:
        radial-gradient(ellipse at 90% 0, rgba(22, 140, 255, 0.18), transparent 36%),
        linear-gradient(120deg, #19364e, #285578);
}
body.site-body .home-page .cta-banner h2,
body.site-body .home-page .cta-banner p { color: #fff; }
body.site-body .home-page .cta-banner .btn.primary {
    border-color: #fff;
    background: #fff;
    color: #19364e;
    box-shadow: 0 3px 0 #b7c9d8;
}
body.site-body .home-page .cta-banner .btn.primary:hover { border-color: #e5eef6; background: #e5eef6; }
body.site-body .btn.primary,
body.site-body .cta.primary,
body.site-body .home-page .hero-copy .btn.primary,
body.site-body .form-card button.btn.primary,
body.site-body .contact-layout .form-card button.btn.primary,
body.site-body .student-dashboard-heading > .btn {
    border-color: #168cff;
    background: #168cff;
    color: #fff;
    box-shadow: 0 3px 0 #0868c9;
}
body.site-body .btn.primary:hover,
body.site-body .cta.primary:hover,
body.site-body .home-page .hero-copy .btn.primary:hover,
body.site-body .form-card button.btn.primary:hover,
body.site-body .contact-layout .form-card button.btn.primary:hover,
body.site-body .student-dashboard-heading > .btn:hover { border-color: #0868c9; background: #0868c9; }
body.site-body .home-page .hero-copy .btn.secondary {
    border-color: rgba(255, 255, 255, 0.72);
    background: rgba(25, 54, 78, 0.45);
    color: #fff;
}
body.site-body .home-page .hero-slider-controls .slider-dot.is-active { background: #8cc5ff; }
body.site-body .home-page .hero-slider-controls button:focus-visible { outline-color: #8cc5ff; }
body.site-body .contact-layout {
    border-color: #e4e0d7;
    background: #fff;
    box-shadow: 0 16px 42px rgba(37, 52, 71, 0.09);
}
body.site-body .contact-layout .contact-card { background: #19364e; color: #fff; }
body.site-body .contact-layout .form-card { background: #f0eee8; }
body.site-body .contact-layout .form-card label,
body.site-body .form-card label { color: #253447; }
body.site-body .contact-layout input,
body.site-body .contact-layout select,
body.site-body .contact-layout textarea,
body.site-body .form-card input,
body.site-body .form-card select,
body.site-body .form-card textarea {
    border-color: #cbd5df;
    background: #fff;
    color: #253447;
}
body.site-body input:focus,
body.site-body select:focus,
body.site-body textarea:focus {
    border-color: #168cff;
    box-shadow: 0 0 0 3px rgba(22, 140, 255, 0.16);
}
body.site-body .student-dashboard-heading {
    border-color: #e4e0d7;
    background: linear-gradient(112deg, #edf4fb, #f8f6f1 62%, #f0eee8);
}
body.site-body .student-dashboard-heading p,
body.site-body .student-dashboard-card-heading p,
body.site-body .student-profile-details dt,
body.site-body .student-application-item dt { color: #647181; }
body.site-body .student-dashboard-nav,
body.site-body .student-dashboard-card,
body.site-body .student-profile-details > div,
body.site-body .student-application-empty,
body.site-body .student-application-item,
body.site-body .student-support-banner {
    border-color: #e4e0d7;
    background: #fff;
    color: #3c4651;
}
body.site-body .student-dashboard-nav a { color: #536477; }
body.site-body .student-dashboard-nav a:hover,
body.site-body .student-dashboard-nav a.is-active { background: #edf4fb; color: #075da8; }
body.site-body .student-dashboard-nav a.is-active { border-bottom: 2px solid #168cff; }
body.site-body .student-dashboard-icon { border-color: #d2e4f4; background: #edf4fb; color: #075da8; }
body.site-body .student-dashboard-card-heading h3,
body.site-body .student-profile-details dd,
body.site-body .student-application-item-heading > strong,
body.site-body .student-application-item dd,
body.site-body .student-support-banner h3 { color: #253447; }
body.site-body .student-support-banner > div > span { color: #647181; }
body.site-body .student-support-banner .btn.secondary { border-color: #168cff; background: #fff; color: #075da8; }
body.site-body .student-support-banner .btn.secondary:hover { background: #edf4fb; }
body.site-body .site-footer {
    border-top-color: #254b6b;
    background: linear-gradient(135deg, #19364e, #234766 58%, #285578);
    color: #eaf1f6;
}
body.site-body .site-footer::before { background: linear-gradient(90deg, #168cff 0 12%, #8cc5ff 12% 100%); }
body.site-body .site-footer h3,
body.site-body .site-footer h4,
body.site-body .footer-cta h2 { color: #fff; }
body.site-body .site-footer p,
body.site-body .site-footer a:not(.footer-logo):not(.btn) { color: #d0deea; }
body.site-body .site-footer a:not(.footer-logo):not(.btn):hover,
body.site-body .site-footer a:not(.footer-logo):not(.btn):focus-visible { color: #fff; }
body.site-body .site-footer h4::after { background: #8cc5ff; }
body.site-body .site-footer .footer-logo { background: #168cff; color: #fff; }
body.site-body .footer-kicker,
body.site-body .footer-contact-label { color: #b8dcff; }
body.site-body :focus-visible { outline-color: #168cff; }

body.admin-body,
body.admin-body .admin-shell { background: #f8f6f1; color: #253447; }
body.admin-body .admin-sidebar { background: linear-gradient(110deg, #19364e, #285578); }
body.admin-body .admin-main,
body.admin-body .admin-main > h1,
body.admin-body .admin-topbar h1,
body.admin-body .admin-section-heading h2,
body.admin-body .admin-stat-card h3,
body.admin-body .admin-login-box h1 { color: #253447; }
body.admin-body .admin-sidebar a { color: #eaf1f6; }
body.admin-body .admin-sidebar a:hover,
body.admin-body .admin-sidebar a[aria-current="page"] { border-color: rgba(255,255,255,.22); background: rgba(255,255,255,.13); }
body.admin-body .admin-topbar { border-bottom-color: #e4e0d7; }
body.admin-body .admin-badge { border-color: #d2e4f4; background: #edf4fb; color: #075da8; }
body.admin-body .admin-stat-card,
body.admin-body .admin-quick-links a,
body.admin-body .admin-panel,
body.admin-body .admin-login-box {
    border-color: #e4e0d7;
    background: #fff;
    color: #253447;
    box-shadow: 0 10px 28px rgba(37, 52, 71, 0.07);
}
body.admin-body .admin-stat-card { border-top-color: #168cff; }
body.admin-body .admin-stat-card:nth-child(2) { border-top-color: #8cc5ff; }
body.admin-body .admin-stat-card:nth-child(3) { border-top-color: #68798d; }
body.admin-body .admin-stat-card .stat-label,
body.admin-body .admin-stat-card p,
body.admin-body .admin-section-heading > p,
body.admin-body td { color: #647181; }
body.admin-body th { background: #f0eee8; color: #253447; }
body.admin-body .admin-section-kicker,
body.admin-body .admin-quick-links a > span,
body.admin-body .admin-quick-links a > b,
body.admin-body .admin-panel a:not(.btn) { color: #075da8; }
body.admin-body .admin-quick-links a:hover { border-color: #8cc5ff; }
body.admin-body .admin-panel input,
body.admin-body .admin-panel select,
body.admin-body .admin-panel textarea,
body.admin-body .admin-login-box input {
    border-color: #cbd5df;
    background: #fff;
    color: #253447;
}
body.admin-body .admin-panel input:focus,
body.admin-body .admin-panel select:focus,
body.admin-body .admin-panel textarea:focus,
body.admin-body .admin-login-box input:focus {
    border-color: #168cff;
    box-shadow: 0 0 0 3px rgba(22, 140, 255, 0.16);
}
body.admin-body .admin-login-box .btn.primary,
body.admin-body .admin-panel .btn.primary { border-color: #168cff; background: #168cff; color: #fff; }
body.admin-body .admin-login-box .btn.primary:hover,
body.admin-body .admin-panel .btn.primary:hover { border-color: #0868c9; background: #0868c9; }
body.admin-body :focus-visible { outline-color: #168cff; }
body.site-body .home-page .course-card .course-body .text-link,
body.site-body .course-card .course-body .text-link,
body.site-body .home-page .text-link { color: #8cc5ff; }
body.site-body .home-page .course-card .course-body .text-link:hover,
body.site-body .course-card .course-body .text-link:hover,
body.site-body .home-page .text-link:hover { color: #fff; }
body.admin-body .admin-panel a:not(.btn),
body.admin-body .admin-section-kicker,
body.admin-body .admin-quick-links a > span,
body.admin-body .admin-quick-links a > b { color: #8cc5ff; }
body.admin-body .admin-panel a:not(.btn):hover { color: #fff; }
body.site-body .site-header.home-header:not(.is-scrolled) .top-actions a.btn.primary,
body.site-body .site-header.home-header.is-scrolled .top-actions a.btn.primary {
    border-color: #168cff;
    background: #168cff;
    color: #fff;
    box-shadow: 0 3px 0 #0868c9;
}
body.site-body .site-header.home-header:not(.is-scrolled) .top-actions a.btn.primary:hover,
body.site-body .site-header.home-header.is-scrolled .top-actions a.btn.primary:hover {
    border-color: #0868c9;
    background: #0868c9;
}

html body.site-body,
html body.site-body main,
html body.site-body main:not(.home-page),
html body.site-body main.home-page {
    background-color: #f5f7fa;
    color: #344557;
}
html body.site-body main.home-page {
    background-image:
        radial-gradient(ellipse at 0 14%, rgba(22, 140, 255, 0.035), transparent 30%);
}
html body.site-body .home-page .impact-proof,
html body.site-body .home-page .impact-band { background-color: #eaf1f7; }
html body.admin-body,
html body.admin-body .admin-shell { background-color: #f5f7fa; }

html,
body.site-body,
body.site-body main,
body.site-body main:not(.home-page),
body.site-body main.home-page,
body.admin-body,
body.admin-body .admin-shell {
    background: #fff;
    color: #111;
}
body.site-body main.home-page { background-image: none; }
body.site-body .site-header,
body.site-body .site-header.home-header,
body.site-body .site-header.home-header.is-scrolled {
    border-color: #e5e5e5;
    background: #fff;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.05);
}
body.site-body .site-header .brand-name,
body.site-body .site-header .brand-tagline,
body.site-body .site-header .nav-menu a,
body.site-body .site-header .student-login-link,
body.site-body .site-header .student-account-link,
body.site-body .site-header .student-account-link strong,
body.site-body .site-header.home-header:not(.is-scrolled) .brand-name,
body.site-body .site-header.home-header:not(.is-scrolled) .brand-tagline,
body.site-body .site-header.home-header:not(.is-scrolled) .nav-menu a,
body.site-body .site-header.home-header:not(.is-scrolled) .student-login-link,
body.site-body .site-header.home-header:not(.is-scrolled) .student-account-link,
body.site-body .site-header.home-header:not(.is-scrolled) .student-account-link strong {
    color: #111;
    text-shadow: none;
}
body.site-body .site-header .nav-menu a:hover,
body.site-body .site-header .nav-menu a[aria-current="page"],
body.site-body .site-header.home-header.is-scrolled .nav-menu a:hover,
body.site-body .site-header.home-header.is-scrolled .nav-menu a[aria-current="page"] {
    background: #f2f2f2;
    color: #111;
    box-shadow: inset 0 -2px #111;
}
body.site-body .site-header .nav-toggle span { background: #111; }
body.site-body .site-header .student-login-link,
body.site-body .site-header .student-account-link {
    border-color: #d5d5d5;
    background: #fff;
    color: #111;
}
body.site-body .site-header.home-header:not(.is-scrolled) {
    border-color: #e5e5e5;
    background: #fff;
}
body.site-body .site-header .top-actions .btn.primary,
body.site-body header.site-header.home-header .top-actions a.btn.primary,
body.site-body header.site-header.home-header.is-scrolled .top-actions a.btn.primary {
    border-color: #111;
    background: #111;
    color: #fff;
    box-shadow: none;
}
body.site-body .site-header .top-actions .btn.primary:hover,
body.site-body header.site-header.home-header .top-actions a.btn.primary:hover,
body.site-body header.site-header.home-header.is-scrolled .top-actions a.btn.primary:hover {
    border-color: #333;
    background: #333;
    color: #fff;
}
body.site-body .announcement-bar { background: #f2f2f2; color: #111; }
body.site-body .announcement-bar a { color: #111; }

body.site-body .home-page .hero,
body.site-body .home-page .hero-inner {
    min-height: 640px;
    background: #fff;
}
body.site-body .home-page .hero-backgrounds,
body.site-body .home-page .hero-overlay,
body.site-body .home-page .hero::before { display: none; }
body.site-body .home-page .hero-copy { border-left-color: #111; }
body.site-body .home-page .hero-copy .eyebrow {
    border-color: #d5d5d5;
    background: #f5f5f5;
    color: #111;
}
body.site-body .home-page .hero-copy .hero-title,
body.site-body .home-page .hero-copy h1,
body.site-body .home-page .hero-copy h2,
body.site-body .home-page .hero-copy p {
    color: #111;
    text-shadow: none;
}
body.site-body .home-page .hero-copy .btn.primary,
body.site-body .home-page .hero .btn.primary,
body.site-body .home-page .hero-copy .btn.primary:hover {
    border-color: #111;
    background: #111;
    color: #fff;
    box-shadow: none;
}
body.site-body .home-page .hero-copy .btn.secondary,
body.site-body .home-page .hero-copy .btn.secondary:hover {
    border-color: #111;
    background: #fff;
    color: #111;
}
body.site-body .home-page .hero-slider-controls .slider-arrow,
body.site-body .home-page .hero-slider-controls .slider-toggle {
    border-color: #111;
    background: #fff;
    color: #111;
}
body.site-body .home-page .hero-slider-controls .slider-arrow:hover,
body.site-body .home-page .hero-slider-controls .slider-toggle:hover {
    background: #f2f2f2;
    color: #111;
}
body.site-body .home-page .hero-slider-controls .slider-dot { background: #bdbdbd; }
body.site-body .home-page .hero-slider-controls .slider-dot.is-active { background: #111; }
body.site-body .home-page .slider-count,
body.site-body .home-page .hero-meta { color: #333; }
body.site-body .home-page .hero-meta span::before { background: #111; box-shadow: none; }
body.site-body .floating-card {
    border-color: #e5e5e5;
    background: #fff;
    color: #111;
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.08);
}
body.site-body .floating-card strong,
body.site-body .card-tag { color: #111; }

body.site-body .section-heading h2,
body.site-body .section-intro h2,
body.site-body .impact-proof-heading h2,
body.site-body .page-banner h1,
body.site-body .student-dashboard-heading h1,
body.site-body .home-page .notice-item h3,
body.site-body .service-card h3,
body.site-body .course-body h3,
body.site-body .team-card h3,
body.site-body .process-step h3,
body.site-body .impact-item h3,
body.site-body .info-panel h3,
body.site-body .form-card h2,
body.site-body .contact-card h2 { color: #111; }
body.site-body .section-heading p,
body.site-body .section-intro p,
body.site-body .impact-proof-heading p,
body.site-body .home-page .service-card p,
body.site-body .home-page .course-body p,
body.site-body .home-page .process-step p,
body.site-body .home-page .impact-item p,
body.site-body .home-page .notice-item p,
body.site-body .service-card p,
body.site-body .course-body p,
body.site-body .team-card p,
body.site-body .process-step p,
body.site-body .impact-item p,
body.site-body .info-panel p { color: #444; }
body.site-body .eyebrow.dark,
body.site-body .section-intro .eyebrow.dark,
body.site-body .section-heading .eyebrow.dark,
body.site-body .home-page .impact-proof-heading .eyebrow.dark {
    border-color: #dedede;
    background: #f5f5f5;
    color: #111;
}
body.site-body .home-page .impact-proof,
body.site-body .home-page .impact-band { background: #f7f7f7; }
body.site-body .home-page .service-card,
body.site-body .home-page .course-card,
body.site-body .home-page .impact-item,
body.site-body .home-page .process-step,
body.site-body .home-page .notice-item,
body.site-body .service-card,
body.site-body .course-card,
body.site-body .team-card,
body.site-body .process-step,
body.site-body .impact-item,
body.site-body .info-panel,
body.site-body .notice-item,
body.site-body .gallery-item,
body.site-body .form-card {
    border-color: #e5e5e5;
    background: #fff;
    color: #111;
    box-shadow: 0 8px 22px rgba(0, 0, 0, 0.045);
}
body.site-body .home-page .service-card::before { background: #111; }
body.site-body .home-page .service-card .service-icon,
body.site-body .home-page .process-step > span,
body.site-body .service-card .service-icon {
    border-color: #e5e5e5;
    background: #f2f2f2;
    color: #111;
    box-shadow: none;
}
body.site-body .home-page .text-link,
body.site-body .text-link,
body.site-body .student-dashboard-text-link,
body.site-body .student-account-edit summary,
body.site-body .student-course-edit summary,
body.site-body .student-forgot-link,
body.site-body .course-card .course-body .text-link,
body.site-body main .course-grid .course-card .course-body a.text-link,
body.site-body main .course-grid .course-card .course-body a.text-link:hover {
    color: #111;
    text-decoration-color: #777;
}
body.site-body .home-page .notice-item,
body.site-body .home-page .notice-item:nth-child(3n + 2),
body.site-body .home-page .notice-item:nth-child(3n) { border-top-color: #111; }
body.site-body .page-banner {
    border-color: #e5e5e5;
    background: #f2f2f2;
    color: #111;
}
body.site-body .page-banner h1 { color: #111; }
body.site-body .page-banner .container::after { background: #111; }
body.site-body .home-page .cta-banner {
    border-color: #e5e5e5;
    background: #f2f2f2;
}
body.site-body .home-page .cta-banner h2,
body.site-body .home-page .cta-banner p { color: #111; }
body.site-body .home-page .cta-banner .btn.primary {
    border-color: #111;
    background: #111;
    color: #fff;
    box-shadow: none;
}
body.site-body .btn.primary,
body.site-body .cta.primary,
body.site-body .form-card button.btn.primary,
body.site-body .contact-layout .form-card button.btn.primary,
body.site-body .student-dashboard-heading > .btn {
    border-color: #111;
    background: #111;
    color: #fff;
    box-shadow: none;
}
body.site-body .btn.primary:hover,
body.site-body .cta.primary:hover,
body.site-body .form-card button.btn.primary:hover,
body.site-body .contact-layout .form-card button.btn.primary:hover,
body.site-body .student-dashboard-heading > .btn:hover {
    border-color: #333;
    background: #333;
    color: #fff;
}
body.site-body .btn.secondary {
    border-color: #111;
    background: #fff;
    color: #111;
}
body.site-body .btn.secondary:hover { background: #f2f2f2; }
body.site-body .page-banner,
body.site-body.page-about .page-banner,
body.site-body.page-courses .page-banner,
body.site-body.page-course-detail .page-banner,
body.site-body.page-contact .page-banner,
body.site-body.page-admissions .page-banner {
    background-image: none;
}

body.site-body .contact-layout,
body.site-body .contact-layout .form-card {
    border-color: #e5e5e5;
    background: #fff;
    color: #111;
}
body.site-body .contact-layout .contact-card {
    border-color: #e5e5e5;
    background: #f5f5f5;
    color: #111;
}
body.site-body .contact-layout .contact-card h2,
body.site-body .contact-layout .contact-card h3,
body.site-body .contact-layout .form-card label,
body.site-body .form-card label { color: #111; }
body.site-body .contact-layout input,
body.site-body .contact-layout select,
body.site-body .contact-layout textarea,
body.site-body .form-card input,
body.site-body .form-card select,
body.site-body .form-card textarea {
    border-color: #ccc;
    background: #fff;
    color: #111;
}
body.site-body input:focus,
body.site-body select:focus,
body.site-body textarea:focus {
    border-color: #555;
    box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.1);
}

body.site-body .student-dashboard-heading {
    border-color: #e5e5e5;
    background: #f5f5f5;
}
body.site-body .student-dashboard-heading p,
body.site-body .student-dashboard-card-heading p,
body.site-body .student-profile-details dt,
body.site-body .student-application-item dt { color: #555; }
body.site-body .student-dashboard-nav,
body.site-body .student-dashboard-card,
body.site-body .student-profile-details > div,
body.site-body .student-application-empty,
body.site-body .student-application-item,
body.site-body .student-support-banner {
    border-color: #e5e5e5;
    background: #fff;
    color: #111;
}
body.site-body .student-dashboard-nav a { color: #333; }
body.site-body .student-dashboard-nav a:hover,
body.site-body .student-dashboard-nav a.is-active {
    border-color: #111;
    background: #f2f2f2;
    color: #111;
}
body.site-body .student-dashboard-icon { border-color: #ddd; background: #f2f2f2; color: #111; }
body.site-body .student-dashboard-card-heading h3,
body.site-body .student-profile-details dd,
body.site-body .student-application-item-heading > strong,
body.site-body .student-application-item dd,
body.site-body .student-support-banner h3 { color: #111; }
body.site-body .student-support-banner > div > span { color: #555; }
body.site-body .student-support-banner .btn.secondary { border-color: #111; background: #fff; color: #111; }
body.site-body .student-support-banner .btn.secondary:hover { background: #f2f2f2; }

body.site-body .site-footer {
    border-top-color: #e5e5e5;
    background: #f5f5f5;
    color: #111;
}
body.site-body .site-footer::before { background: #111; }
body.site-body .site-footer h3,
body.site-body .site-footer h4,
body.site-body .footer-cta h2 { color: #111; }
body.site-body .site-footer p,
body.site-body .site-footer a:not(.footer-logo):not(.btn) { color: #444; }
body.site-body .site-footer a:not(.footer-logo):not(.btn):hover,
body.site-body .site-footer a:not(.footer-logo):not(.btn):focus-visible { color: #111; }
body.site-body .site-footer h4::after { background: #111; }
body.site-body .site-footer .footer-logo { background: #111; color: #fff; }
body.site-body .footer-kicker,
body.site-body .footer-contact-label { color: #333; }

body.admin-body,
body.admin-body .admin-shell { background: #fff; color: #111; }
body.admin-body .admin-sidebar { background: #fff; color: #111; box-shadow: 0 4px 16px rgba(0,0,0,.06); }
body.admin-body .admin-sidebar h2,
body.admin-body .admin-main,
body.admin-body .admin-main > h1,
body.admin-body .admin-topbar h1,
body.admin-body .admin-section-heading h2,
body.admin-body .admin-stat-card h3,
body.admin-body .admin-login-box h1 { color: #111; }
body.admin-body .admin-sidebar a { color: #222; }
body.admin-body .admin-sidebar a:hover,
body.admin-body .admin-sidebar a[aria-current="page"] { border-color: #ddd; background: #f2f2f2; color: #111; }
body.admin-body .admin-topbar { border-bottom-color: #e5e5e5; }
body.admin-body .admin-badge { border-color: #ddd; background: #f5f5f5; color: #222; }
body.admin-body .admin-stat-card,
body.admin-body .admin-quick-links a,
body.admin-body .admin-panel,
body.admin-body .admin-login-box {
    border-color: #e5e5e5;
    background: #fff;
    color: #111;
    box-shadow: 0 8px 22px rgba(0, 0, 0, 0.045);
}
body.admin-body .admin-stat-card { border-top-color: #111; }
body.admin-body .admin-stat-card:nth-child(2),
body.admin-body .admin-stat-card:nth-child(3) { border-top-color: #777; }
body.admin-body .admin-section-kicker,
body.admin-body .admin-quick-links a > span,
body.admin-body .admin-quick-links a > b,
body.admin-body .admin-panel a:not(.btn) { color: #111; }
body.admin-body .admin-stat-card .stat-label,
body.admin-body .admin-stat-card p,
body.admin-body .admin-section-heading > p,
body.admin-body td { color: #555; }
body.admin-body th { background: #f2f2f2; color: #111; }
body.admin-body .admin-panel input,
body.admin-body .admin-panel select,
body.admin-body .admin-panel textarea,
body.admin-body .admin-login-box input {
    border-color: #ccc;
    background: #fff;
    color: #111;
}
body.admin-body .admin-panel input:focus,
body.admin-body .admin-panel select:focus,
body.admin-body .admin-panel textarea:focus,
body.admin-body .admin-login-box input:focus {
    border-color: #555;
    box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.1);
}
body.admin-body .admin-login-box .btn.primary,
body.admin-body .admin-panel .btn.primary {
    border-color: #111;
    background: #111;
    color: #fff;
}
body.admin-body .admin-login-box .btn.primary:hover,
body.admin-body .admin-panel .btn.primary:hover { border-color: #333; background: #333; }
body.site-body :focus-visible,
body.admin-body :focus-visible { outline-color: #111; }

html body.site-body,
html body.site-body main,
html body.site-body main:not(.home-page),
html body.site-body main.home-page,
html body.site-body main > section:not(.hero):not(.impact-band),
html body.site-body .page-banner,
html body.site-body .home-page .impact-proof,
html body.site-body .home-page .impact-band,
html body.site-body .home-page .cta-banner,
html body.site-body .site-footer,
html body.admin-body,
html body.admin-body .admin-shell {
    background-color: #fff !important;
    color: #111;
}
html body.site-body main.home-page { background-image: none !important; }
html body.site-body .page-banner,
html body.site-body.page-about .page-banner,
html body.site-body.page-courses .page-banner,
html body.site-body.page-course-detail .page-banner,
html body.site-body.page-contact .page-banner,
html body.site-body.page-admissions .page-banner {
    background-image: none !important;
}
html body.site-body .announcement-bar,
html body.site-body .home-page .impact-proof,
html body.site-body .home-page .impact-band,
html body.site-body .page-banner,
html body.site-body .home-page .cta-banner {
    background: #fff !important;
    color: #111;
}
html body.site-body .home-page .hero-copy .btn.primary,
html body.site-body .home-page .hero .btn.primary,
html body.site-body .home-page .cta-banner .btn.primary,
html body.site-body .site-header .top-actions .btn.primary,
html body.site-body .site-header.home-header .top-actions a.btn.primary,
html body.site-body .site-header.home-header.is-scrolled .top-actions a.btn.primary,
html body.site-body .btn.primary,
html body.site-body .cta.primary,
html body.site-body .form-card button.btn.primary,
html body.site-body .contact-layout .form-card button.btn.primary,
html body.site-body .student-dashboard-heading > .btn,
html body.admin-body .admin-login-box .btn.primary,
html body.admin-body .admin-panel .btn.primary {
    border-color: #111 !important;
    background: #111 !important;
    color: #fff !important;
    box-shadow: none !important;
}
html body.site-body .home-page .hero-copy .btn.primary:hover,
html body.site-body .home-page .hero .btn.primary:hover,
html body.site-body .home-page .cta-banner .btn.primary:hover,
html body.site-body .site-header .top-actions .btn.primary:hover,
html body.site-body .site-header.home-header .top-actions a.btn.primary:hover,
html body.site-body .site-header.home-header.is-scrolled .top-actions a.btn.primary:hover,
html body.site-body .btn.primary:hover,
html body.site-body .cta.primary:hover,
html body.site-body .form-card button.btn.primary:hover,
html body.site-body .contact-layout .form-card button.btn.primary:hover,
html body.site-body .student-dashboard-heading > .btn:hover,
html body.admin-body .admin-login-box .btn.primary:hover,
html body.admin-body .admin-panel .btn.primary:hover {
    border-color: #333 !important;
    background: #333 !important;
    color: #fff !important;
}
html body.site-body .course-image > span {
    border-color: #111;
    background: rgba(17, 17, 17, 0.88);
    color: #fff;
}
html body.site-body :focus-visible,
html body.admin-body :focus-visible { outline-color: #111; }

html body.site-body .home-page .hero-backgrounds {
    display: block !important;
}
html body.site-body .home-page .hero,
html body.site-body .home-page .hero-inner {
    background: transparent;
}
html body.site-body .home-page .hero { background-color: #111; }
html body.site-body .home-page .hero-inner { background-color: transparent; }
html body.site-body .home-page .hero-overlay {
    display: block !important;
    background:
        linear-gradient(90deg, rgba(0, 0, 0, 0.82) 0%, rgba(0, 0, 0, 0.62) 54%, rgba(0, 0, 0, 0.28) 100%),
        linear-gradient(0deg, rgba(0, 0, 0, 0.34), transparent 48%);
}
html body.site-body .home-page .hero::before { display: block !important; }
html body.site-body .home-page .hero-background-image {
    display: block;
    filter: brightness(0.66) saturate(0.88);
}
html body.site-body .home-page .hero-copy .hero-title,
html body.site-body .home-page .hero-copy h1,
html body.site-body .home-page .hero-copy h2,
html body.site-body .home-page .hero-copy p,
html body.site-body .home-page .hero-meta,
html body.site-body .home-page .hero-meta span { color: #fff; }
html body.site-body .home-page .hero-copy .eyebrow {
    border-color: rgba(255, 255, 255, 0.5);
    background: rgba(0, 0, 0, 0.42);
    color: #fff;
}
html body.site-body .home-page .hero-copy .btn.primary,
html body.site-body .home-page .hero .btn.primary {
    border-color: #fff;
    background: #fff;
    color: #111;
    box-shadow: none;
}
html body.site-body .home-page .hero-copy .btn.primary:hover,
html body.site-body .home-page .hero .btn.primary:hover {
    border-color: #e5e5e5;
    background: #e5e5e5;
    color: #111;
}
html body.site-body .home-page .hero-copy .btn.secondary {
    border-color: rgba(255, 255, 255, 0.78);
    background: rgba(0, 0, 0, 0.3);
    color: #fff;
}
html body.site-body .home-page .hero-slider-controls .slider-arrow,
html body.site-body .home-page .hero-slider-controls .slider-toggle {
    border-color: rgba(255, 255, 255, 0.62);
    background: rgba(0, 0, 0, 0.42);
    color: #fff;
}
html body.site-body .home-page .hero-slider-controls .slider-dot.is-active {
    background: #fff;
}
