/* Homepage refinement. Load AFTER styles.css and add class="aurum-home" to body.
   Edit these variables first to adjust the palette. */
.aurum-home {
    --home-ink: #12334d;
    --home-gold: #ceaa3d;
    --home-paper: #f8fafc;
    --home-panel: #eff4f8;
    --home-border: #c5d2de;
    --home-footer: #112b3c;
    background: var(--home-paper);
    color: var(--home-ink);
    font-family: Arial, Helvetica, sans-serif;
}
.aurum-home *, .aurum-home *::before, .aurum-home *::after { box-sizing: border-box; }
.aurum-home .site-header {
    background: #000000;
    border-bottom: 2px solid var(--home-gold);
    padding: 18px 16px 20px;
}
.aurum-home .logo-wrapper { background: transparent; padding: 10px 20px; border-radius: 0; }
.aurum-home .site-header img { display: block; width: 500px; max-width: 100%; height: auto; max-height: none; }
.aurum-home .nav-menu { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 14px; padding: 0; }
.aurum-home .menu-link { position: relative; margin: 0; padding: 9px 24px; background: #1c1c1c; font-size: 14px; line-height: 1.5; }
.aurum-home .menu-link:hover { background: #303030; transform: none; }
.aurum-home .menu-link[aria-current="page"]::after {
    content: ""; position: absolute; bottom: 4px; left: 20px; right: 20px; height: 2px; background: var(--home-gold);
}
.aurum-home .section-spacing { padding: 44px 24px 32px; }
.aurum-home .page-container { width: 100%; max-width: 1210px; margin: 0 auto; padding: 0; }
.aurum-home .hero-banner {
    background: linear-gradient(110deg, #e9f3f9, #dcecf5);
    border: 1px solid #d5e1e9; border-radius: 16px;
    padding: 24px 24px 20px; margin-bottom: 28px; color: var(--home-ink);
}
.aurum-home .hero-banner h1 { margin: 0 0 6px; font-size: clamp(22px, 2.3vw, 30px); font-weight: 700; color: var(--home-ink); }
.aurum-home .hero-banner p { font-size: 18px; opacity: 1; line-height: 1.5; }
.aurum-home .hero-banner::after, .aurum-home .category-header::after {
    content: ""; display: block; width: 96px; height: 3px; margin: 16px auto 0; background: var(--home-gold);
}
.aurum-home .category-section {
    padding: 16px 36px 30px; margin-bottom: 26px;
    background: linear-gradient(120deg, #f3f7fa, #eaf1f6);
    border: 1px solid var(--home-border); border-radius: 16px;
}
.aurum-home .category-section:last-child { margin-bottom: 0; }
.aurum-home .category-header { padding: 0; margin-bottom: 28px; background: transparent; border-radius: 0; }
.aurum-home .category-header h2 { margin: 0; color: var(--home-ink); font-size: 29px; font-weight: 700; line-height: 1.3; }
.aurum-home .category-header::after { margin-top: 14px; }
.aurum-home .course-grid { gap: 22px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.aurum-home .course-grid:not(:has(> :nth-child(4))) { grid-template-columns: repeat(3, minmax(0, calc((100% - 66px) / 4))); }
.aurum-home .course-card {
    width: auto; max-width: none; min-width: 0; border: 1px solid #d8e0e7; border-radius: 12px;
    box-shadow: 0 2px 3px rgb(18 51 77 / 9%), 0 5px 10px rgb(18 51 77 / 4%);
}
.aurum-home .course-card:hover { transform: translateY(-3px); box-shadow: 0 6px 15px rgb(18 51 77 / 13%); }
.aurum-home .course-card img { height: auto; aspect-ratio: 3 / 2; object-fit: cover; }
.aurum-home .course-card-content { padding: 12px 8px; }
.aurum-home .course-card-content h3 { color: var(--home-ink); font-size: 16px; font-weight: 600; line-height: 1.35; }
.aurum-home .site-footer { background: var(--home-footer); margin-top: 0; padding: 20px 16px; }
.aurum-home .footer-content { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; }
.aurum-home .footer-link { margin: 0; padding: 10px 16px; border-radius: 10px; font-size: 13px; white-space: normal; }
.aurum-home .footer-link:hover { background: rgb(255 255 255 / 16%); }
.aurum-home a:focus-visible { outline: 3px solid var(--home-gold); outline-offset: 4px; }
@media (max-width: 1000px) {
    .aurum-home .course-grid { grid-template-columns: repeat(2, minmax(0, 270px)); }
    .aurum-home .course-grid:not(:has(> :nth-child(4))) { grid-template-columns: minmax(0, 300px); }
}
@media (max-width: 560px) {
    .aurum-home .site-header { padding: 14px 12px 18px; }
    .aurum-home .logo-wrapper { padding: 8px 12px; }
    .aurum-home .nav-menu { gap: 8px; }
    .aurum-home .menu-link { padding: 8px 15px; font-size: 13px; }
    .aurum-home .section-spacing { padding: 24px 14px; }
    .aurum-home .hero-banner { padding: 22px 16px; margin-bottom: 20px; }
    .aurum-home .hero-banner p { font-size: 16px; }
    .aurum-home .category-section { padding: 20px 16px 24px; margin-bottom: 20px; }
    .aurum-home .category-header { margin-bottom: 22px; }
    .aurum-home .category-header h2 { font-size: 25px; }
    .aurum-home .course-grid, .aurum-home .course-grid:not(:has(> :nth-child(4))) { grid-template-columns: minmax(0, 300px); gap: 20px; }
}
@media (prefers-reduced-motion: reduce) {
    .aurum-home a { transition: none; }
    .aurum-home .course-card:hover { transform: none; }
}
