/* ============================================================================
   TEMPLATE INNER-PAGE SKINS (template1..template7) — reconstructed
   ========================================================================== */

/* ===================================================================================
   PER-TEMPLATE INNER-PAGE SKINS · templates 1 / 2 / 3
   Restyles the shared _Layout.cshtml inner-page markup per body class. Each block is
   fully scoped (body.tpl-templateN) and uses !important to beat the base stylesheet +
   inline layout styles, mirroring the template4 skin's selector coverage.
   =================================================================================== */

/* ===================================================================================
   TEMPLATE 1 — "EDITORIAL MAGAZINE"  (navy + gold)
   Playfair Display serif headings + Inter body · light ground · BOXLESS flat editorial
   cards on hairline rules · gold kicker + drop-cap · framed photos · left-aligned banner.
   =================================================================================== */

/* ---- local design tokens ---- */
body.tpl-template1 {
    --t1-primary: #123B6D;
    --t1-secondary: #1E63B5;
    --t1-accent: #F39C12;
    --t1-bg: #f7f9fc;
    --t1-surface: #ffffff;
    --t1-ink: #24303f;
    --t1-muted: #8a93a6;
    --t1-border: #e2e8f1;
    --t1-radius: 8px;
    --t1-radius-sm: 6px;
    --t1-shadow: 0 12px 30px -20px rgba(18, 40, 80, .22);
    --t1-shadow-lg: 0 20px 44px -22px rgba(18, 40, 80, .30);
    font-family: 'Inter', system-ui, sans-serif !important;
    color: var(--t1-ink);
    background: var(--t1-bg) !important;
}
body.tpl-template1,
body.tpl-template1 .page-body,
body.tpl-template1 main {
    font-family: 'Inter', system-ui, sans-serif !important;
    background: var(--t1-bg) !important;
    color: var(--t1-ink);
}
body.tpl-template1 h1,
body.tpl-template1 h2,
body.tpl-template1 h3,
body.tpl-template1 h4 {
    font-family: 'Playfair Display', Georgia, serif !important;
    color: var(--t1-primary);
    letter-spacing: -0.2px;
}
body.tpl-template1 ::selection { background: color-mix(in srgb, var(--t1-accent) 32%, #fff); color: var(--t1-ink); }
body.tpl-template1 main a { color: var(--t1-primary) !important; transition: color .2s ease; }
body.tpl-template1 main a:hover { color: var(--t1-secondary) !important; }

/* TOP BAR — thin navy strip, gold icons + gold admission pill */
body.tpl-template1 .top-bar {
    background: var(--t1-primary) !important;
    font-size: 12.5px !important;
    padding: 8px 0 !important;
    border-bottom: 1px solid color-mix(in srgb, var(--t1-accent) 34%, transparent) !important;
}
body.tpl-template1 .tb-inner { max-width: 1200px !important; }
body.tpl-template1 .tb-left span,
body.tpl-template1 .tb-left a { color: rgba(255, 255, 255, .86) !important; letter-spacing: .2px; }
body.tpl-template1 .tb-left a:hover { color: #fff !important; }
body.tpl-template1 .tb-left i { color: var(--t1-accent) !important; }
body.tpl-template1 .tb-social a {
    background: rgba(255, 255, 255, .12) !important;
    color: rgba(255, 255, 255, .86) !important;
    border-radius: var(--t1-radius-sm) !important;
    transition: background .2s ease, color .2s ease, transform .2s ease !important;
}
body.tpl-template1 .tb-social a:hover {
    background: var(--t1-accent) !important;
    color: #1a1400 !important;
    transform: translateY(-1px) !important;
}
body.tpl-template1 .tb-admission {
    background: var(--t1-accent) !important;
    color: #1a1400 !important;
    font-weight: 700 !important;
    border-radius: var(--t1-radius-sm) !important;
    padding: 6px 16px !important;
    letter-spacing: .2px;
    box-shadow: 0 6px 16px -9px rgba(243, 156, 18, .8) !important;
    transition: background .2s ease, transform .2s ease !important;
}
body.tpl-template1 .tb-admission:hover { background: color-mix(in srgb, var(--t1-accent) 86%, #000) !important; transform: translateY(-1px) !important; }

/* HEADER — white band, serif navy school name, gold uppercase tagline */
body.tpl-template1 .main-header {
    background: var(--t1-surface) !important;
    box-shadow: 0 1px 0 var(--t1-border), 0 8px 26px -22px rgba(18, 40, 80, .5) !important;
    border-bottom: 1px solid var(--t1-border) !important;
}
body.tpl-template1 .header-inner { max-width: 1200px !important; padding: 16px 24px !important; }
body.tpl-template1 .header-logo img { height: 74px !important; transition: transform .3s ease !important; }
body.tpl-template1 .header-logo img:hover { transform: scale(1.04) !important; }
body.tpl-template1 .header-school-name { font-family: 'Playfair Display', Georgia, serif !important; color: var(--t1-primary) !important; font-weight: 700 !important; }
body.tpl-template1 .header-school-tagline { color: var(--t1-accent) !important; letter-spacing: 2px; text-transform: uppercase; }
body.tpl-template1 .hbadge {
    background: color-mix(in srgb, var(--t1-primary) 6%, #fff) !important;
    border: 1px solid var(--t1-border) !important;
    border-radius: 999px !important;
    color: var(--t1-primary) !important;
}
body.tpl-template1 .hbadge i { color: var(--t1-accent) !important; }
/* Admission button — solid navy pill, secondary on hover */
body.tpl-template1 .header-admit-btn {
    background: var(--t1-primary) !important;
    color: #fff !important;
    border: none !important;
    border-radius: var(--t1-radius) !important;
    padding: 12px 24px !important;
    box-shadow: 0 12px 26px -14px color-mix(in srgb, var(--t1-primary) 80%, transparent) !important;
    transition: transform .22s ease, background .22s ease, box-shadow .22s ease !important;
}
body.tpl-template1 .header-admit-btn:hover {
    background: var(--t1-secondary) !important;
    color: #fff !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 16px 32px -14px color-mix(in srgb, var(--t1-secondary) 70%, transparent) !important;
}
body.tpl-template1 .header-admit-btn i,
body.tpl-template1 .header-admit-btn strong,
body.tpl-template1 .header-admit-btn:hover i,
body.tpl-template1 .header-admit-btn:hover strong { color: #fff !important; }

/* MENU BAR — white strip, Inter ink links, gold underline */
body.tpl-template1 .menu-row {
    background: var(--t1-surface) !important;
    border-bottom: 1px solid var(--t1-border) !important;
    box-shadow: 0 4px 20px -16px rgba(18, 40, 80, .4) !important;
}
body.tpl-template1 .menu-row nav > ul.menu {
    max-width: 1200px !important;
    justify-content: center !important;
    padding: 0 12px !important;
}
body.tpl-template1 .menu-row nav ul li a {
    color: var(--t1-ink) !important;
    font-family: 'Inter', system-ui, sans-serif !important;
    font-weight: 600 !important;
    font-size: 14.5px !important;
    letter-spacing: .1px;
}
body.tpl-template1 .menu-row nav > ul.menu > li > a {
    padding: 19px 16px !important;
    border-bottom: 2px solid transparent !important;
    transition: color .2s ease, border-color .2s ease !important;
}
body.tpl-template1 .menu-row nav > ul.menu > li:hover > a,
body.tpl-template1 .menu-row nav > ul.menu > li.active > a {
    background: transparent !important;
    color: var(--t1-primary) !important;
    border-bottom-color: var(--t1-accent) !important;
}
body.tpl-template1 .has-submenu > a::after { color: var(--t1-muted); opacity: .85; }
body.tpl-template1 .menu-toggle { color: var(--t1-primary) !important; }
/* Submenu — white, gold top rule */
body.tpl-template1 .submenu {
    background: var(--t1-surface) !important;
    border: 1px solid var(--t1-border) !important;
    border-top: 1px solid var(--t1-border) !important;
    border-radius: 0 !important;
    box-shadow: var(--t1-shadow) !important;
    max-height: min(68vh, 420px) !important;
    overflow-y: auto !important;
}
body.tpl-template1 .submenu li a {
    color: var(--t1-ink) !important;
    font-family: 'Inter', system-ui, sans-serif !important;
    font-weight: 500 !important;
    font-style: italic !important;
    border-left: 3px solid transparent !important;
    transition: background .16s ease, color .16s ease, border-color .16s ease !important;
}
body.tpl-template1 .submenu li a::before { color: var(--t1-accent) !important; }
body.tpl-template1 .submenu li a:hover {
    background: color-mix(in srgb, var(--t1-primary) 6%, #fff) !important;
    color: var(--t1-primary) !important;
    border-left-color: var(--t1-accent) !important;
}
body.tpl-template1 .submenu .submenu { border-top: 3px solid var(--t1-accent) !important; }
/* Mobile menu */
@media (max-width: 768px) {
    body.tpl-template1 .header-inner { padding: 12px 16px !important; }
    body.tpl-template1 .header-logo img { height: 50px !important; }
    body.tpl-template1 .menu-row nav {
        background: var(--t1-surface) !important;
        border-top: 1px solid var(--t1-border) !important;
        box-shadow: 0 10px 24px -16px rgba(18, 40, 80, .4) !important;
    }
    body.tpl-template1 .menu-row nav ul.menu li { border-bottom: 1px solid var(--t1-border) !important; }
    body.tpl-template1 .menu-row nav ul.menu li a { color: var(--t1-ink) !important; }
    body.tpl-template1 .menu-row nav > ul.menu > li > a { padding: 13px 16px !important; }
    body.tpl-template1 .menu-row nav > ul.menu > li:hover > a,
    body.tpl-template1 .menu-row nav > ul.menu > li.active > a { border-bottom-color: transparent !important; }
    body.tpl-template1 .submenu {
        background: color-mix(in srgb, var(--t1-primary) 3%, #fff) !important;
        border: none !important;
        border-left: 3px solid var(--t1-accent) !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }
}

/* FOOTER — deep navy band, gold hover + hairline */
body.tpl-template1 .site-footer {
    background: #0d1a30 !important;
    color: rgba(255, 255, 255, .78) !important;
    padding-top: 56px !important;
}
body.tpl-template1 .footer-inner { max-width: 1200px !important; }
body.tpl-template1 .footer-col h3 {
    font-family: 'Playfair Display', Georgia, serif !important;
    color: #fff !important;
    border-bottom: 2px solid var(--t1-accent) !important;
    padding-bottom: 10px !important;
    letter-spacing: .3px;
}
body.tpl-template1 .footer-about-text { color: rgba(255, 255, 255, .68) !important; }
body.tpl-template1 .footer-links a { color: rgba(255, 255, 255, .72) !important; transition: color .2s ease, gap .2s ease; }
body.tpl-template1 .footer-links a::before { color: var(--t1-accent) !important; }
body.tpl-template1 .footer-links a:hover { color: var(--t1-accent) !important; gap: 10px; }
body.tpl-template1 .footer-social a {
    background: rgba(255, 255, 255, .1) !important;
    border: 1px solid rgba(255, 255, 255, .16) !important;
    border-radius: var(--t1-radius-sm) !important;
    color: rgba(255, 255, 255, .8) !important;
    transition: background .2s ease, color .2s ease, border-color .2s ease, transform .2s ease !important;
}
body.tpl-template1 .footer-social a:hover {
    background: var(--t1-accent) !important;
    border-color: var(--t1-accent) !important;
    color: #1a1400 !important;
    transform: translateY(-2px) !important;
}
body.tpl-template1 .footer-contact-item { color: rgba(255, 255, 255, .72) !important; }
body.tpl-template1 .fci-icon {
    background: color-mix(in srgb, var(--t1-accent) 26%, transparent) !important;
    color: #fff !important;
    border-radius: var(--t1-radius-sm) !important;
}
body.tpl-template1 .footer-contact-item a { color: rgba(255, 255, 255, .85) !important; }
body.tpl-template1 .footer-contact-item a:hover { color: var(--t1-accent) !important; }
body.tpl-template1 .footer-map { border-radius: var(--t1-radius) !important; overflow: hidden !important; }
body.tpl-template1 .footer-bottom {
    background: #0a1526 !important;
    color: rgba(255, 255, 255, .56) !important;
    border-top: 1px solid color-mix(in srgb, var(--t1-accent) 32%, transparent) !important;
    margin-top: 44px !important;
}
body.tpl-template1 .footer-bottom a { color: rgba(255, 255, 255, .72) !important; }
body.tpl-template1 .footer-bottom a:hover { color: var(--t1-accent) !important; }

/* INNER BANNERS — navy→blue hero, LEFT-aligned, tall gold rule, Playfair heading */
body.tpl-template1 .sis-banner,
body.tpl-template1 .hw-banner,
body.tpl-template1 .nt-banner,
body.tpl-template1 .cu-banner,
body.tpl-template1 .pg-hero {
    background: linear-gradient(125deg, var(--t1-primary) 0%, var(--t1-secondary) 100%) !important;
    border-bottom: 3px solid var(--t1-accent) !important;
    padding: 66px 0 54px !important;
    text-align: left !important;
    position: relative !important;
    overflow: hidden !important;
}
body.tpl-template1 .sis-banner .sis-container,
body.tpl-template1 .hw-banner .hw-wrap,
body.tpl-template1 .nt-banner .nt-wrap { text-align: left !important; }
body.tpl-template1 .sis-banner h2,
body.tpl-template1 .hw-banner h2,
body.tpl-template1 .nt-banner h2,
body.tpl-template1 .cu-banner h2,
body.tpl-template1 .pg-hero h1,
body.tpl-template1 .pg-hero h2 {
    font-family: 'Playfair Display', Georgia, serif !important;
    color: #fff !important;
    font-weight: 700 !important;
    letter-spacing: -0.3px !important;
    text-transform: none !important;
    border-left: 5px solid var(--t1-accent) !important;
    padding-left: 20px !important;
    display: inline-block !important;
}
body.tpl-template1 .sis-banner p,
body.tpl-template1 .hw-banner p,
body.tpl-template1 .nt-banner p,
body.tpl-template1 .sis-banner .eyebrow {
    color: color-mix(in srgb, var(--t1-accent) 60%, #fff) !important;
    text-transform: uppercase;
    letter-spacing: 2.5px;
    font-weight: 600;
}
body.tpl-template1 .sis-banner-line,
body.tpl-template1 .hw-banner-line,
body.tpl-template1 .nt-banner-line,
body.tpl-template1 .cu-banner-line,
body.tpl-template1 .pg-hero-divider {
    background: var(--t1-accent) !important;
    height: 4px !important;
    width: 70px !important;
    margin-left: 0 !important;
    border-radius: 999px !important;
}
body.tpl-template1 .hw-title { font-family: 'Playfair Display', Georgia, serif !important; color: var(--t1-primary) !important; font-weight: 700 !important; }

/* INNER SECTIONS background */
body.tpl-template1 .sis-section,
body.tpl-template1 .hw-section,
body.tpl-template1 .nt-section,
body.tpl-template1 .cu-section,
body.tpl-template1 .pg-section {
    background: var(--t1-bg) !important;
    font-family: 'Inter', system-ui, sans-serif !important;
}
body.tpl-template1 .sis-container { max-width: 1000px !important; }

/* CONTENT CARDS — BOXLESS flat editorial, hairline top rule, no shadow */
body.tpl-template1 .sis-card {
    background: transparent !important;
    border: none !important;
    border-top: 1px solid var(--t1-border) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 40px 0 !important;
    margin-bottom: 0 !important;
    transition: none !important;
}
body.tpl-template1 .sis-card:first-child { border-top: none !important; }
body.tpl-template1 .sis-card:hover { transform: none !important; box-shadow: none !important; }
body.tpl-template1 .sis-card::before { display: none !important; }
/* Split — large framed photo (white mount + 1px border) */
body.tpl-template1 .sis-card-split { gap: 44px !important; align-items: flex-start !important; }
body.tpl-template1 .sis-card-split .sis-media img {
    border-radius: 2px !important;
    background: #fff !important;
    padding: 10px !important;
    border: 1px solid var(--t1-border) !important;
    box-shadow: 0 18px 40px -26px rgba(18, 40, 80, .3) !important;
}
/* Heading — Playfair, no underline, small gold kicker rule above */
body.tpl-template1 .sis-heading {
    font-family: 'Playfair Display', Georgia, serif !important;
    color: var(--t1-primary) !important;
    border-bottom: none !important;
    text-transform: none !important;
    letter-spacing: -0.2px !important;
    font-weight: 700 !important;
    font-size: 28px !important;
    padding-bottom: 0 !important;
}
body.tpl-template1 .sis-heading::before {
    content: ''; display: block; width: 40px; height: 3px; margin-bottom: 12px;
    background: var(--t1-accent); border-radius: 2px;
}
body.tpl-template1 .sis-desc {
    color: var(--t1-ink) !important;
    font-family: 'Inter', system-ui, sans-serif !important;
    font-size: 15.5px !important;
    line-height: 1.9 !important;
}
/* Gold serif drop-cap on the opening article's first paragraph */
body.tpl-template1 .sis-card:first-child .sis-desc > p:first-of-type::first-letter {
    float: left;
    font-family: 'Playfair Display', Georgia, serif;
    font-weight: 700;
    font-size: 58px;
    line-height: 46px;
    padding: 4px 12px 0 0;
    color: var(--t1-accent);
}
body.tpl-template1 .sis-desc strong,
body.tpl-template1 .sis-desc b { color: var(--t1-primary) !important; }
body.tpl-template1 .sis-desc ul li,
body.tpl-template1 .sis-desc ol li { font-family: 'Inter', system-ui, sans-serif !important; color: var(--t1-ink) !important; }
/* gold bullets */
body.tpl-template1 .sis-desc ul li::before,
body.tpl-template1 .sis-desc ol li::before { content: '\2022' !important; color: var(--t1-accent) !important; }
body.tpl-template1 .sis-empty { font-family: 'Inter', system-ui, sans-serif !important; color: var(--t1-muted) !important; }
/* Content gallery — framed thumbs */
body.tpl-template1 .sis-gallery { gap: 16px !important; }
body.tpl-template1 .sis-gitem {
    border-radius: 2px !important;
    background: #fff !important;
    padding: 6px !important;
    border: 1px solid var(--t1-border) !important;
    box-shadow: var(--t1-shadow) !important;
    transition: transform .3s ease, box-shadow .3s ease !important;
}
body.tpl-template1 .sis-gitem:hover { transform: translateY(-4px) !important; box-shadow: var(--t1-shadow-lg) !important; }

/* DOWNLOAD PAGE — ledger table, navy header, navy download buttons */
body.tpl-template1 .hw-table-wrap {
    border-radius: var(--t1-radius) !important;
    border: 1px solid var(--t1-border) !important;
    box-shadow: var(--t1-shadow) !important;
    overflow: hidden !important;
}
body.tpl-template1 .hw-table { font-family: 'Inter', system-ui, sans-serif !important; }
body.tpl-template1 .hw-table thead th {
    background: linear-gradient(90deg, var(--t1-primary), var(--t1-secondary)) !important;
    color: #fff !important;
    letter-spacing: .5px !important;
}
body.tpl-template1 .hw-table tbody td { color: var(--t1-ink) !important; border-bottom: 1px solid var(--t1-border) !important; }
body.tpl-template1 .hw-table tbody tr:nth-child(even) { background: color-mix(in srgb, var(--t1-primary) 3%, #fff) !important; }
body.tpl-template1 .hw-table tbody tr:hover { background: color-mix(in srgb, var(--t1-accent) 9%, #fff) !important; }
body.tpl-template1 .hw-table .hw-class,
body.tpl-template1 .hw-class { color: var(--t1-primary) !important; }
body.tpl-template1 .hw-download-btn {
    background: var(--t1-primary) !important;
    color: #fff !important;
    border-radius: var(--t1-radius) !important;
    padding: 8px 18px !important;
    font-weight: 700 !important;
    box-shadow: 0 8px 18px -10px color-mix(in srgb, var(--t1-primary) 80%, transparent) !important;
    transition: background .2s ease, transform .2s ease !important;
}
body.tpl-template1 .hw-download-btn:hover { background: var(--t1-secondary) !important; color: #fff !important; transform: translateY(-1px) !important; }
body.tpl-template1 .hw-empty { font-family: 'Inter', system-ui, sans-serif !important; color: var(--t1-muted) !important; }
body.tpl-template1 .hw-empty i { color: color-mix(in srgb, var(--t1-accent) 45%, #fff) !important; }

/* NOTICES — flat cards, gold-tint chips + badges */
body.tpl-template1 .nt-wrap { max-width: 920px !important; }
body.tpl-template1 .nt-search {
    border: 1.5px solid var(--t1-border) !important;
    border-radius: var(--t1-radius) !important;
    padding: 14px 22px !important;
    font-family: 'Inter', system-ui, sans-serif !important;
    box-shadow: var(--t1-shadow) !important;
    transition: border-color .2s ease, box-shadow .2s ease !important;
}
body.tpl-template1 .nt-search:focus {
    border-color: var(--t1-primary) !important;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--t1-primary) 14%, transparent) !important;
}
body.tpl-template1 .nt-chip {
    border: 1.5px solid var(--t1-border) !important;
    border-radius: 999px !important;
    color: var(--t1-ink) !important;
    font-family: 'Inter', system-ui, sans-serif !important;
    font-weight: 600 !important;
    transition: all .18s ease !important;
}
body.tpl-template1 .nt-chip:hover { border-color: var(--t1-accent) !important; color: var(--t1-primary) !important; }
body.tpl-template1 .nt-chip.active {
    background: var(--t1-primary) !important;
    border-color: var(--t1-primary) !important;
    color: #fff !important;
    box-shadow: 0 8px 18px -10px color-mix(in srgb, var(--t1-primary) 80%, transparent) !important;
}
body.tpl-template1 .nt-card {
    background: var(--t1-surface) !important;
    border: 1px solid var(--t1-border) !important;
    border-radius: var(--t1-radius) !important;
    box-shadow: var(--t1-shadow) !important;
    padding: 20px 22px !important;
    transition: transform .18s ease, box-shadow .18s ease !important;
}
body.tpl-template1 .nt-card:hover { transform: translateY(-3px) !important; box-shadow: var(--t1-shadow-lg) !important; }
body.tpl-template1 .nt-ic { border-radius: var(--t1-radius-sm) !important; }
body.tpl-template1 .nt-ic.event { background: linear-gradient(135deg, var(--t1-primary), var(--t1-secondary)) !important; }
body.tpl-template1 .nt-ic.news { background: linear-gradient(135deg, var(--t1-accent), color-mix(in srgb, var(--t1-accent) 70%, var(--t1-secondary))) !important; }
body.tpl-template1 .nt-title { font-family: 'Playfair Display', Georgia, serif !important; color: var(--t1-primary) !important; font-weight: 700 !important; }
body.tpl-template1 .nt-desc { font-family: 'Inter', system-ui, sans-serif !important; color: var(--t1-ink) !important; }
body.tpl-template1 .nt-badge { border-radius: 999px !important; font-weight: 700 !important; }
body.tpl-template1 .nt-badge.event { background: color-mix(in srgb, var(--t1-primary) 12%, #fff) !important; color: var(--t1-primary) !important; }
body.tpl-template1 .nt-badge.news { background: color-mix(in srgb, var(--t1-accent) 18%, #fff) !important; color: color-mix(in srgb, var(--t1-accent) 78%, #000) !important; }
body.tpl-template1 .nt-empty { font-family: 'Inter', system-ui, sans-serif !important; color: var(--t1-muted) !important; }

/* CONTACT — white cards, navy headers, solid navy submit */
body.tpl-template1 .cu-section { font-family: 'Inter', system-ui, sans-serif !important; }
body.tpl-template1 .cu-card {
    background: var(--t1-surface) !important;
    border: 1px solid var(--t1-border) !important;
    border-radius: var(--t1-radius) !important;
    box-shadow: var(--t1-shadow) !important;
    overflow: hidden !important;
}
body.tpl-template1 .cu-card-header,
body.tpl-template1 .cu-card-header.details,
body.tpl-template1 .cu-card-header.query {
    font-family: 'Playfair Display', Georgia, serif !important;
    background: linear-gradient(120deg, var(--t1-primary), var(--t1-secondary)) !important;
    color: #fff !important;
}
body.tpl-template1 .cu-card-header h3,
body.tpl-template1 .cu-card-header * { color: #fff !important; }
body.tpl-template1 .cu-row { border-bottom: 1px solid var(--t1-border) !important; }
body.tpl-template1 .cu-row .label { color: var(--t1-muted) !important; }
body.tpl-template1 .cu-row .value { color: var(--t1-ink) !important; }
body.tpl-template1 .cu-row .value.school-name { color: var(--t1-primary) !important; }
body.tpl-template1 .cu-row .value a { color: var(--t1-primary) !important; }
body.tpl-template1 .cu-row .value a:hover { color: var(--t1-secondary) !important; }
body.tpl-template1 .cu-row i,
body.tpl-template1 .cu-row .fa,
body.tpl-template1 .cu-row [class*="fa-"] { color: var(--t1-accent) !important; }
body.tpl-template1 .cu-map-wrap { border-radius: var(--t1-radius) !important; overflow: hidden !important; }
body.tpl-template1 .cu-form-body label { font-family: 'Inter', system-ui, sans-serif !important; color: var(--t1-ink) !important; }
body.tpl-template1 .cu-form-body input,
body.tpl-template1 .cu-form-body textarea,
body.tpl-template1 .cu-form-body select {
    border: 1.5px solid var(--t1-border) !important;
    border-radius: var(--t1-radius-sm) !important;
    font-family: 'Inter', system-ui, sans-serif !important;
    background: color-mix(in srgb, var(--t1-primary) 2%, #fff) !important;
    transition: border-color .2s ease, box-shadow .2s ease, background .2s ease !important;
}
body.tpl-template1 .cu-form-body input:focus,
body.tpl-template1 .cu-form-body textarea:focus,
body.tpl-template1 .cu-form-body select:focus {
    border-color: var(--t1-primary) !important;
    background: #fff !important;
    outline: none !important;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--t1-primary) 14%, transparent) !important;
}
body.tpl-template1 .cu-submit-btn {
    background: var(--t1-primary) !important;
    color: #fff !important;
    border: none !important;
    border-radius: var(--t1-radius) !important;
    padding: 13px 30px !important;
    font-family: 'Inter', system-ui, sans-serif !important;
    font-weight: 700 !important;
    box-shadow: 0 12px 26px -14px color-mix(in srgb, var(--t1-primary) 80%, transparent) !important;
    transition: background .2s ease, transform .2s ease !important;
}
body.tpl-template1 .cu-submit-btn:hover { background: var(--t1-secondary) !important; transform: translateY(-2px) !important; }

/* PHOTO GALLERY — framed tiles, navy lightbox */
body.tpl-template1 .pg-hero-icon {
    background: rgba(255, 255, 255, .16) !important;
    border: 3px solid #fff !important;
    outline: 2px solid var(--t1-accent) !important;
    outline-offset: 2px !important;
    color: #fff !important;
    border-radius: 50% !important;
}
body.tpl-template1 .pg-hero p { color: rgba(255, 255, 255, .86) !important; }
body.tpl-template1 .pg-hero-breadcrumb a:hover,
body.tpl-template1 .pg-hero-breadcrumb .sep { color: var(--t1-accent) !important; }
body.tpl-template1 .pg-item {
    border-radius: 2px !important;
    background: #fff !important;
    padding: 8px !important;
    border: 1px solid var(--t1-border) !important;
    box-shadow: var(--t1-shadow) !important;
    overflow: hidden !important;
    transition: transform .3s cubic-bezier(.2, .7, .3, 1), box-shadow .3s ease !important;
}
body.tpl-template1 .pg-item:hover { transform: translateY(-5px) !important; box-shadow: var(--t1-shadow-lg) !important; }
body.tpl-template1 .pg-item:hover::after { border-color: var(--t1-accent) !important; }
body.tpl-template1 .pg-item-overlay { background: linear-gradient(to top, color-mix(in srgb, var(--t1-primary) 85%, #000), transparent) !important; }
body.tpl-template1 .pg-item-title { color: #fff !important; font-family: 'Playfair Display', Georgia, serif !important; }
body.tpl-template1 .pg-empty { font-family: 'Inter', system-ui, sans-serif !important; color: var(--t1-muted) !important; }
body.tpl-template1 .pg-lightbox-close,
body.tpl-template1 .pg-lightbox-prev,
body.tpl-template1 .pg-lightbox-next {
    background: var(--t1-primary) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 50% !important;
}
body.tpl-template1 .pg-lightbox-close:hover,
body.tpl-template1 .pg-lightbox-prev:hover,
body.tpl-template1 .pg-lightbox-next:hover { background: var(--t1-secondary) !important; }

/* GENERIC — headings, buttons, tables, cards inside the skin */
body.tpl-template1 main h1,
body.tpl-template1 main h2,
body.tpl-template1 main h3 { font-family: 'Playfair Display', Georgia, serif !important; color: var(--t1-primary) !important; }
body.tpl-template1 .sis-banner a,
body.tpl-template1 .hw-banner a,
body.tpl-template1 .nt-banner a,
body.tpl-template1 .cu-banner a,
body.tpl-template1 .pg-hero a,
body.tpl-template1 .cu-card-header a,
body.tpl-template1 .hw-download-btn,
body.tpl-template1 .pg-item a { color: inherit !important; }
body.tpl-template1 main .btn,
body.tpl-template1 main button.btn,
body.tpl-template1 main input[type="submit"] {
    border-radius: var(--t1-radius) !important;
    font-family: 'Inter', system-ui, sans-serif !important;
    font-weight: 700 !important;
    border: none !important;
    transition: transform .2s ease, filter .2s ease, background .2s ease !important;
}
body.tpl-template1 main .btn:hover,
body.tpl-template1 main button.btn:hover,
body.tpl-template1 main input[type="submit"]:hover { transform: translateY(-2px) !important; filter: brightness(1.03) !important; }
body.tpl-template1 main .btn-primary { background: var(--t1-primary) !important; color: #fff !important; }
body.tpl-template1 main .btn-primary:hover { background: var(--t1-secondary) !important; color: #fff !important; }
body.tpl-template1 main .btn-secondary { background: var(--t1-secondary) !important; color: #fff !important; }
body.tpl-template1 main .btn-accent { background: var(--t1-accent) !important; color: #1a1400 !important; }
body.tpl-template1 main .table thead th,
body.tpl-template1 main table thead th {
    background: linear-gradient(90deg, var(--t1-primary), var(--t1-secondary)) !important;
    color: #fff !important;
    border: none !important;
}
body.tpl-template1 main .table tbody tr:nth-child(even),
body.tpl-template1 main table tbody tr:nth-child(even) { background: color-mix(in srgb, var(--t1-primary) 3%, #fff) !important; }
body.tpl-template1 main .table tbody tr:hover,
body.tpl-template1 main table tbody tr:hover { background: color-mix(in srgb, var(--t1-accent) 8%, #fff) !important; }
body.tpl-template1 main .card {
    background: var(--t1-surface) !important;
    border: 1px solid var(--t1-border) !important;
    border-radius: var(--t1-radius) !important;
    box-shadow: var(--t1-shadow) !important;
    overflow: hidden !important;
}
body.tpl-template1 main blockquote {
    border-left: 4px solid var(--t1-accent) !important;
    background: color-mix(in srgb, var(--t1-primary) 4%, #fff) !important;
    padding: 14px 18px; border-radius: 0 var(--t1-radius) var(--t1-radius) 0;
    font-family: 'Inter', system-ui, sans-serif !important;
}
body.tpl-template1 main hr { border-color: var(--t1-border) !important; }

/* RESPONSIVE */
@media (max-width: 780px) {
    body.tpl-template1 .sis-card { padding: 28px 0 !important; }
    body.tpl-template1 .sis-heading { font-size: 22px !important; }
    body.tpl-template1 .sis-section { padding: 40px 0 52px !important; }
    body.tpl-template1 .sis-card:first-child .sis-desc > p:first-of-type::first-letter { font-size: 46px; line-height: 38px; }
}
@media (max-width: 600px) {
    body.tpl-template1 .sis-banner,
    body.tpl-template1 .hw-banner,
    body.tpl-template1 .nt-banner,
    body.tpl-template1 .cu-banner,
    body.tpl-template1 .pg-hero { padding: 44px 0 38px !important; }
    body.tpl-template1 .sis-banner h2,
    body.tpl-template1 .hw-banner h2,
    body.tpl-template1 .nt-banner h2,
    body.tpl-template1 .cu-banner h2 { font-size: 24px !important; }
    body.tpl-template1 .header-admit-btn { padding: 10px 18px !important; }
}

/* ===================================================================================
   TEMPLATE 2 — "CORPORATE PANEL"  (blue)
   Plus Jakarta Sans throughout · light ground · cards with a strong LEFT RAIL (no top
   bar) · boxed/bordered images · headings with a vertical blue marker bar · left-aligned
   banner with an angled clip-path bottom · blue bullets.
   =================================================================================== */

/* ---- local design tokens ---- */
body.tpl-template2 {
    --t2-primary: #1E63B5;
    --t2-secondary: #123B6D;
    --t2-accent: #2f8fff;
    --t2-bg: #eef3fb;
    --t2-surface: #ffffff;
    --t2-ink: #243244;
    --t2-muted: #8792a5;
    --t2-border: #dbe6f4;
    --t2-radius: 6px;
    --t2-radius-sm: 6px;
    --t2-shadow: 0 16px 40px -24px rgba(20, 50, 110, .30);
    --t2-shadow-lg: 0 24px 52px -24px rgba(20, 50, 110, .38);
    font-family: 'Plus Jakarta Sans', system-ui, sans-serif !important;
    color: var(--t2-ink);
    background: var(--t2-bg) !important;
}
body.tpl-template2,
body.tpl-template2 .page-body,
body.tpl-template2 main {
    font-family: 'Plus Jakarta Sans', system-ui, sans-serif !important;
    background: var(--t2-bg) !important;
    color: var(--t2-ink);
}
body.tpl-template2 h1,
body.tpl-template2 h2,
body.tpl-template2 h3,
body.tpl-template2 h4 {
    font-family: 'Plus Jakarta Sans', system-ui, sans-serif !important;
    color: var(--t2-secondary);
    font-weight: 800;
    letter-spacing: -0.2px;
}
body.tpl-template2 ::selection { background: color-mix(in srgb, var(--t2-accent) 30%, #fff); color: var(--t2-ink); }
body.tpl-template2 main a { color: var(--t2-primary) !important; transition: color .2s ease; }
body.tpl-template2 main a:hover { color: var(--t2-secondary) !important; }

/* TOP BAR — deep blue strip, bright-blue icons + admission pill */
body.tpl-template2 .top-bar {
    background: var(--t2-secondary) !important;
    font-size: 12.5px !important;
    padding: 8px 0 !important;
    border-bottom: 1px solid color-mix(in srgb, var(--t2-accent) 32%, transparent) !important;
}
body.tpl-template2 .tb-inner { max-width: 1200px !important; }
body.tpl-template2 .tb-left span,
body.tpl-template2 .tb-left a { color: rgba(255, 255, 255, .86) !important; letter-spacing: .2px; }
body.tpl-template2 .tb-left a:hover { color: #fff !important; }
body.tpl-template2 .tb-left i { color: var(--t2-accent) !important; }
body.tpl-template2 .tb-social a {
    background: rgba(255, 255, 255, .12) !important;
    color: rgba(255, 255, 255, .86) !important;
    border-radius: var(--t2-radius-sm) !important;
    transition: background .2s ease, color .2s ease, transform .2s ease !important;
}
body.tpl-template2 .tb-social a:hover {
    background: var(--t2-accent) !important;
    color: #fff !important;
    transform: translateY(-1px) !important;
}
body.tpl-template2 .tb-admission {
    background: var(--t2-accent) !important;
    color: #fff !important;
    font-weight: 700 !important;
    border-radius: var(--t2-radius) !important;
    padding: 6px 16px !important;
    letter-spacing: .2px;
    box-shadow: 0 6px 16px -9px rgba(47, 143, 255, .8) !important;
    transition: background .2s ease, transform .2s ease !important;
}
body.tpl-template2 .tb-admission:hover { background: color-mix(in srgb, var(--t2-accent) 84%, #000) !important; transform: translateY(-1px) !important; }

/* HEADER — white band, deep-blue school name */
body.tpl-template2 .main-header {
    background: var(--t2-surface) !important;
    box-shadow: 0 1px 0 var(--t2-border), 0 8px 26px -22px rgba(20, 50, 110, .5) !important;
    border-bottom: 1px solid var(--t2-border) !important;
}
body.tpl-template2 .header-inner { max-width: 1200px !important; padding: 16px 24px !important; }
body.tpl-template2 .header-logo img { height: 72px !important; transition: transform .3s ease !important; }
body.tpl-template2 .header-logo img:hover { transform: scale(1.04) !important; }
body.tpl-template2 .header-school-name { font-family: 'Plus Jakarta Sans', system-ui, sans-serif !important; color: var(--t2-secondary) !important; font-weight: 800 !important; }
body.tpl-template2 .header-school-tagline { color: var(--t2-primary) !important; letter-spacing: 1.5px; text-transform: uppercase; }
body.tpl-template2 .hbadge {
    background: color-mix(in srgb, var(--t2-primary) 8%, #fff) !important;
    border: 1px solid var(--t2-border) !important;
    border-radius: var(--t2-radius) !important;
    color: var(--t2-primary) !important;
}
body.tpl-template2 .hbadge i { color: var(--t2-accent) !important; }
/* Admission button — squared blue panel button */
body.tpl-template2 .header-admit-btn {
    background: var(--t2-primary) !important;
    color: #fff !important;
    border: none !important;
    border-radius: var(--t2-radius) !important;
    padding: 12px 24px !important;
    box-shadow: 0 12px 26px -14px color-mix(in srgb, var(--t2-primary) 80%, transparent) !important;
    transition: transform .22s ease, background .22s ease, box-shadow .22s ease !important;
}
body.tpl-template2 .header-admit-btn:hover {
    background: var(--t2-secondary) !important;
    color: #fff !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 16px 32px -14px color-mix(in srgb, var(--t2-secondary) 70%, transparent) !important;
}
body.tpl-template2 .header-admit-btn i,
body.tpl-template2 .header-admit-btn strong,
body.tpl-template2 .header-admit-btn:hover i,
body.tpl-template2 .header-admit-btn:hover strong { color: #fff !important; }

/* MENU BAR — white strip, blue underline */
body.tpl-template2 .menu-row {
    background: var(--t2-surface) !important;
    border-bottom: 1px solid var(--t2-border) !important;
    box-shadow: 0 4px 20px -16px rgba(20, 50, 110, .4) !important;
}
body.tpl-template2 .menu-row nav > ul.menu {
    max-width: 1200px !important;
    justify-content: center !important;
    padding: 0 12px !important;
}
body.tpl-template2 .menu-row nav ul li a {
    color: var(--t2-ink) !important;
    font-family: 'Plus Jakarta Sans', system-ui, sans-serif !important;
    font-weight: 600 !important;
    font-size: 14.5px !important;
    letter-spacing: .1px;
}
body.tpl-template2 .menu-row nav > ul.menu > li > a {
    padding: 19px 16px !important;
    border-bottom: none !important;
    transition: color .2s ease, background .2s ease !important;
}
body.tpl-template2 .menu-row nav > ul.menu > li:hover > a,
body.tpl-template2 .menu-row nav > ul.menu > li.active > a {
    background: var(--t2-primary) !important;
    color: #fff !important;
    border-radius: 4px !important;
}
body.tpl-template2 .has-submenu > a::after { color: var(--t2-muted); opacity: .85; }
body.tpl-template2 .menu-toggle { color: var(--t2-primary) !important; }
/* Submenu — white, blue top rule */
body.tpl-template2 .submenu {
    background: var(--t2-surface) !important;
    border: 1px solid var(--t2-border) !important;
    border-top: 3px solid var(--t2-primary) !important;
    border-radius: 0 !important;
    box-shadow: var(--t2-shadow) !important;
    max-height: min(68vh, 420px) !important;
    overflow-y: auto !important;
}
body.tpl-template2 .submenu li a {
    color: var(--t2-ink) !important;
    font-family: 'Plus Jakarta Sans', system-ui, sans-serif !important;
    font-weight: 500 !important;
    border-left: 3px solid transparent !important;
    transition: background .16s ease, color .16s ease, border-color .16s ease !important;
}
body.tpl-template2 .submenu li a::before { color: var(--t2-accent) !important; }
body.tpl-template2 .submenu li a:hover {
    background: var(--t2-primary) !important;
    color: #fff !important;
    border-left-color: transparent !important;
}
body.tpl-template2 .submenu .submenu { border-top: 3px solid var(--t2-primary) !important; }
/* Mobile menu */
@media (max-width: 768px) {
    body.tpl-template2 .header-inner { padding: 12px 16px !important; }
    body.tpl-template2 .header-logo img { height: 50px !important; }
    body.tpl-template2 .menu-row nav {
        background: var(--t2-surface) !important;
        border-top: 1px solid var(--t2-border) !important;
        box-shadow: 0 10px 24px -16px rgba(20, 50, 110, .4) !important;
    }
    body.tpl-template2 .menu-row nav ul.menu li { border-bottom: 1px solid var(--t2-border) !important; }
    body.tpl-template2 .menu-row nav ul.menu li a { color: var(--t2-ink) !important; }
    body.tpl-template2 .menu-row nav > ul.menu > li > a { padding: 13px 16px !important; }
    body.tpl-template2 .menu-row nav > ul.menu > li:hover > a,
    body.tpl-template2 .menu-row nav > ul.menu > li.active > a { border-bottom-color: transparent !important; }
    body.tpl-template2 .submenu {
        background: color-mix(in srgb, var(--t2-primary) 4%, #fff) !important;
        border: none !important;
        border-left: 3px solid var(--t2-accent) !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }
}

/* FOOTER — deep navy panel, bright-blue hover */
body.tpl-template2 .site-footer {
    background: #0a1a30 !important;
    color: rgba(255, 255, 255, .78) !important;
    padding-top: 56px !important;
}
body.tpl-template2 .footer-inner { max-width: 1200px !important; }
body.tpl-template2 .footer-col h3 {
    font-family: 'Plus Jakarta Sans', system-ui, sans-serif !important;
    color: #fff !important;
    border-bottom: 2px solid var(--t2-accent) !important;
    padding-bottom: 10px !important;
    letter-spacing: .3px;
    font-weight: 800;
}
body.tpl-template2 .footer-about-text { color: rgba(255, 255, 255, .68) !important; }
body.tpl-template2 .footer-links a { color: rgba(255, 255, 255, .72) !important; transition: color .2s ease, gap .2s ease; }
body.tpl-template2 .footer-links a::before { color: var(--t2-accent) !important; }
body.tpl-template2 .footer-links a:hover { color: var(--t2-accent) !important; gap: 10px; }
body.tpl-template2 .footer-social a {
    background: rgba(255, 255, 255, .1) !important;
    border: 1px solid rgba(255, 255, 255, .16) !important;
    border-radius: var(--t2-radius-sm) !important;
    color: rgba(255, 255, 255, .8) !important;
    transition: background .2s ease, color .2s ease, border-color .2s ease, transform .2s ease !important;
}
body.tpl-template2 .footer-social a:hover {
    background: var(--t2-accent) !important;
    border-color: var(--t2-accent) !important;
    color: #fff !important;
    transform: translateY(-2px) !important;
}
body.tpl-template2 .footer-contact-item { color: rgba(255, 255, 255, .72) !important; }
body.tpl-template2 .fci-icon {
    background: color-mix(in srgb, var(--t2-accent) 26%, transparent) !important;
    color: #fff !important;
    border-radius: var(--t2-radius-sm) !important;
}
body.tpl-template2 .footer-contact-item a { color: rgba(255, 255, 255, .85) !important; }
body.tpl-template2 .footer-contact-item a:hover { color: var(--t2-accent) !important; }
body.tpl-template2 .footer-map { border-radius: var(--t2-radius) !important; overflow: hidden !important; }
body.tpl-template2 .footer-bottom {
    background: #071324 !important;
    color: rgba(255, 255, 255, .56) !important;
    border-top: 1px solid color-mix(in srgb, var(--t2-accent) 32%, transparent) !important;
    margin-top: 44px !important;
}
body.tpl-template2 .footer-bottom a { color: rgba(255, 255, 255, .72) !important; }
body.tpl-template2 .footer-bottom a:hover { color: var(--t2-accent) !important; }

/* INNER BANNERS — blue hero, LEFT-aligned, angled clip-path bottom */
body.tpl-template2 .sis-banner,
body.tpl-template2 .hw-banner,
body.tpl-template2 .nt-banner,
body.tpl-template2 .cu-banner,
body.tpl-template2 .pg-hero {
    background: linear-gradient(125deg, var(--t2-secondary) 0%, var(--t2-primary) 100%) !important;
    border-bottom: none !important;
    padding: 66px 0 72px !important;
    text-align: left !important;
    position: relative !important;
    overflow: hidden !important;
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - 30px), 0 100%) !important;
}
body.tpl-template2 .sis-banner .sis-container,
body.tpl-template2 .hw-banner .hw-wrap,
body.tpl-template2 .nt-banner .nt-wrap { text-align: left !important; }
body.tpl-template2 .sis-banner h2,
body.tpl-template2 .hw-banner h2,
body.tpl-template2 .nt-banner h2,
body.tpl-template2 .cu-banner h2,
body.tpl-template2 .pg-hero h1,
body.tpl-template2 .pg-hero h2 {
    font-family: 'Plus Jakarta Sans', system-ui, sans-serif !important;
    color: #fff !important;
    font-weight: 800 !important;
    letter-spacing: -0.3px !important;
    text-transform: none !important;
}
body.tpl-template2 .sis-banner p,
body.tpl-template2 .hw-banner p,
body.tpl-template2 .nt-banner p,
body.tpl-template2 .sis-banner .eyebrow {
    color: color-mix(in srgb, var(--t2-accent) 55%, #fff) !important;
    text-transform: uppercase;
    letter-spacing: 2.5px;
    font-weight: 700;
}
body.tpl-template2 .sis-banner-line,
body.tpl-template2 .hw-banner-line,
body.tpl-template2 .nt-banner-line,
body.tpl-template2 .cu-banner-line,
body.tpl-template2 .pg-hero-divider {
    background: var(--t2-accent) !important;
    height: 4px !important;
    width: 70px !important;
    margin-left: 0 !important;
    border-radius: 999px !important;
}
body.tpl-template2 .hw-title { font-family: 'Plus Jakarta Sans', system-ui, sans-serif !important; color: var(--t2-secondary) !important; font-weight: 800 !important; }

/* INNER SECTIONS background */
body.tpl-template2 .sis-section,
body.tpl-template2 .hw-section,
body.tpl-template2 .nt-section,
body.tpl-template2 .cu-section,
body.tpl-template2 .pg-section {
    background: var(--t2-bg) !important;
    font-family: 'Plus Jakarta Sans', system-ui, sans-serif !important;
}
body.tpl-template2 .sis-container { max-width: 1120px !important; }

/* CONTENT CARDS — strong left rail, squared corners, no top bar */
body.tpl-template2 .sis-card {
    background: var(--t2-surface) !important;
    border: 1px solid var(--t2-border) !important;
    border-left: 5px solid var(--t2-primary) !important;
    border-radius: 6px !important;
    box-shadow: var(--t2-shadow) !important;
    padding: 30px 34px !important;
    margin-bottom: 24px !important;
    transition: transform .22s ease, box-shadow .22s ease, border-left-color .22s ease !important;
}
body.tpl-template2 .sis-card:hover {
    transform: translateY(-3px) !important;
    box-shadow: var(--t2-shadow-lg) !important;
    border-left-color: var(--t2-accent) !important;
}
body.tpl-template2 .sis-card::before { display: none !important; }
/* Split — boxed/bordered image with small mat */
body.tpl-template2 .sis-card-split { gap: 40px !important; align-items: center !important; }
body.tpl-template2 .sis-card-split .sis-media img {
    border-radius: 6px !important;
    background: var(--t2-surface) !important;
    padding: 6px !important;
    border: 1px solid var(--t2-border) !important;
    box-shadow: 0 18px 40px -26px rgba(20, 50, 110, .34) !important;
}
/* Heading — vertical blue marker bar, no bottom underline */
body.tpl-template2 .sis-heading {
    font-family: 'Plus Jakarta Sans', system-ui, sans-serif !important;
    color: var(--t2-secondary) !important;
    border-bottom: none !important;
    text-transform: none !important;
    letter-spacing: -0.2px !important;
    font-weight: 800 !important;
    font-size: 25px !important;
    padding: 2px 0 2px 16px !important;
    border-left: 5px solid var(--t2-accent) !important;
}
body.tpl-template2 .sis-heading::before { display: none !important; }
body.tpl-template2 .sis-desc {
    color: var(--t2-ink) !important;
    font-family: 'Plus Jakarta Sans', system-ui, sans-serif !important;
    font-size: 15px !important;
    line-height: 1.85 !important;
}
body.tpl-template2 .sis-desc strong,
body.tpl-template2 .sis-desc b { color: var(--t2-primary) !important; }
body.tpl-template2 .sis-desc ul li,
body.tpl-template2 .sis-desc ol li { font-family: 'Plus Jakarta Sans', system-ui, sans-serif !important; color: var(--t2-ink) !important; }
/* blue bullets */
body.tpl-template2 .sis-desc ul li::before,
body.tpl-template2 .sis-desc ol li::before { content: '\25AA' !important; color: var(--t2-accent) !important; }
body.tpl-template2 .sis-empty { font-family: 'Plus Jakarta Sans', system-ui, sans-serif !important; color: var(--t2-muted) !important; }
/* Content gallery — boxed thumbs */
body.tpl-template2 .sis-gallery { gap: 16px !important; }
body.tpl-template2 .sis-gitem {
    border-radius: 6px !important;
    background: var(--t2-surface) !important;
    padding: 5px !important;
    border: 1px solid var(--t2-border) !important;
    box-shadow: var(--t2-shadow) !important;
    transition: transform .3s ease, box-shadow .3s ease !important;
}
body.tpl-template2 .sis-gitem:hover { transform: translateY(-4px) !important; box-shadow: var(--t2-shadow-lg) !important; }

/* DOWNLOAD PAGE */
body.tpl-template2 .hw-table-wrap {
    border-radius: var(--t2-radius) !important;
    border: 1px solid var(--t2-border) !important;
    box-shadow: var(--t2-shadow) !important;
    overflow: hidden !important;
}
body.tpl-template2 .hw-table { font-family: 'Plus Jakarta Sans', system-ui, sans-serif !important; }
body.tpl-template2 .hw-table thead th {
    background: linear-gradient(90deg, var(--t2-secondary), var(--t2-primary)) !important;
    color: #fff !important;
    letter-spacing: .5px !important;
}
body.tpl-template2 .hw-table tbody td { color: var(--t2-ink) !important; border-bottom: 1px solid var(--t2-border) !important; }
body.tpl-template2 .hw-table tbody tr:nth-child(even) { background: color-mix(in srgb, var(--t2-primary) 3%, #fff) !important; }
body.tpl-template2 .hw-table tbody tr:hover { background: color-mix(in srgb, var(--t2-accent) 9%, #fff) !important; }
body.tpl-template2 .hw-table .hw-class,
body.tpl-template2 .hw-class { color: var(--t2-primary) !important; }
body.tpl-template2 .hw-download-btn {
    background: var(--t2-primary) !important;
    color: #fff !important;
    border-radius: var(--t2-radius) !important;
    padding: 8px 18px !important;
    font-weight: 700 !important;
    box-shadow: 0 8px 18px -10px color-mix(in srgb, var(--t2-primary) 80%, transparent) !important;
    transition: background .2s ease, transform .2s ease !important;
}
body.tpl-template2 .hw-download-btn:hover { background: var(--t2-secondary) !important; color: #fff !important; transform: translateY(-1px) !important; }
body.tpl-template2 .hw-empty { font-family: 'Plus Jakarta Sans', system-ui, sans-serif !important; color: var(--t2-muted) !important; }
body.tpl-template2 .hw-empty i { color: color-mix(in srgb, var(--t2-accent) 45%, #fff) !important; }

/* NOTICES */
body.tpl-template2 .nt-wrap { max-width: 920px !important; }
body.tpl-template2 .nt-search {
    border: 1.5px solid var(--t2-border) !important;
    border-radius: var(--t2-radius) !important;
    padding: 14px 22px !important;
    font-family: 'Plus Jakarta Sans', system-ui, sans-serif !important;
    box-shadow: var(--t2-shadow) !important;
    transition: border-color .2s ease, box-shadow .2s ease !important;
}
body.tpl-template2 .nt-search:focus {
    border-color: var(--t2-primary) !important;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--t2-primary) 14%, transparent) !important;
}
body.tpl-template2 .nt-chip {
    border: 1.5px solid var(--t2-border) !important;
    border-radius: var(--t2-radius) !important;
    color: var(--t2-ink) !important;
    font-family: 'Plus Jakarta Sans', system-ui, sans-serif !important;
    font-weight: 600 !important;
    transition: all .18s ease !important;
}
body.tpl-template2 .nt-chip:hover { border-color: var(--t2-accent) !important; color: var(--t2-primary) !important; }
body.tpl-template2 .nt-chip.active {
    background: var(--t2-primary) !important;
    border-color: var(--t2-primary) !important;
    color: #fff !important;
    box-shadow: 0 8px 18px -10px color-mix(in srgb, var(--t2-primary) 80%, transparent) !important;
}
body.tpl-template2 .nt-card {
    background: var(--t2-surface) !important;
    border: 1px solid var(--t2-border) !important;
    border-left: 5px solid var(--t2-primary) !important;
    border-radius: 6px !important;
    box-shadow: var(--t2-shadow) !important;
    padding: 20px 22px !important;
    transition: transform .18s ease, box-shadow .18s ease, border-left-color .18s ease !important;
}
body.tpl-template2 .nt-card:hover { transform: translateY(-3px) !important; box-shadow: var(--t2-shadow-lg) !important; border-left-color: var(--t2-accent) !important; }
body.tpl-template2 .nt-ic { border-radius: var(--t2-radius-sm) !important; }
body.tpl-template2 .nt-ic.event { background: linear-gradient(135deg, var(--t2-secondary), var(--t2-primary)) !important; }
body.tpl-template2 .nt-ic.news { background: linear-gradient(135deg, var(--t2-accent), color-mix(in srgb, var(--t2-accent) 70%, var(--t2-primary))) !important; }
body.tpl-template2 .nt-title { font-family: 'Plus Jakarta Sans', system-ui, sans-serif !important; color: var(--t2-secondary) !important; font-weight: 800 !important; }
body.tpl-template2 .nt-desc { font-family: 'Plus Jakarta Sans', system-ui, sans-serif !important; color: var(--t2-ink) !important; }
body.tpl-template2 .nt-badge { border-radius: var(--t2-radius) !important; font-weight: 700 !important; }
body.tpl-template2 .nt-badge.event { background: color-mix(in srgb, var(--t2-primary) 12%, #fff) !important; color: var(--t2-primary) !important; }
body.tpl-template2 .nt-badge.news { background: color-mix(in srgb, var(--t2-accent) 18%, #fff) !important; color: color-mix(in srgb, var(--t2-accent) 78%, #000) !important; }
body.tpl-template2 .nt-empty { font-family: 'Plus Jakarta Sans', system-ui, sans-serif !important; color: var(--t2-muted) !important; }

/* CONTACT */
body.tpl-template2 .cu-section { font-family: 'Plus Jakarta Sans', system-ui, sans-serif !important; }
body.tpl-template2 .cu-card {
    background: var(--t2-surface) !important;
    border: 1px solid var(--t2-border) !important;
    border-radius: var(--t2-radius) !important;
    box-shadow: var(--t2-shadow) !important;
    overflow: hidden !important;
}
body.tpl-template2 .cu-card-header,
body.tpl-template2 .cu-card-header.details,
body.tpl-template2 .cu-card-header.query {
    font-family: 'Plus Jakarta Sans', system-ui, sans-serif !important;
    background: linear-gradient(120deg, var(--t2-secondary), var(--t2-primary)) !important;
    color: #fff !important;
}
body.tpl-template2 .cu-card-header h3,
body.tpl-template2 .cu-card-header * { color: #fff !important; }
body.tpl-template2 .cu-row { border-bottom: 1px solid var(--t2-border) !important; }
body.tpl-template2 .cu-row .label { color: var(--t2-muted) !important; }
body.tpl-template2 .cu-row .value { color: var(--t2-ink) !important; }
body.tpl-template2 .cu-row .value.school-name { color: var(--t2-primary) !important; }
body.tpl-template2 .cu-row .value a { color: var(--t2-primary) !important; }
body.tpl-template2 .cu-row .value a:hover { color: var(--t2-secondary) !important; }
body.tpl-template2 .cu-row i,
body.tpl-template2 .cu-row .fa,
body.tpl-template2 .cu-row [class*="fa-"] { color: var(--t2-accent) !important; }
body.tpl-template2 .cu-map-wrap { border-radius: var(--t2-radius) !important; overflow: hidden !important; }
body.tpl-template2 .cu-form-body label { font-family: 'Plus Jakarta Sans', system-ui, sans-serif !important; color: var(--t2-ink) !important; }
body.tpl-template2 .cu-form-body input,
body.tpl-template2 .cu-form-body textarea,
body.tpl-template2 .cu-form-body select {
    border: 1.5px solid var(--t2-border) !important;
    border-radius: var(--t2-radius-sm) !important;
    font-family: 'Plus Jakarta Sans', system-ui, sans-serif !important;
    background: color-mix(in srgb, var(--t2-primary) 2%, #fff) !important;
    transition: border-color .2s ease, box-shadow .2s ease, background .2s ease !important;
}
body.tpl-template2 .cu-form-body input:focus,
body.tpl-template2 .cu-form-body textarea:focus,
body.tpl-template2 .cu-form-body select:focus {
    border-color: var(--t2-primary) !important;
    background: #fff !important;
    outline: none !important;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--t2-primary) 14%, transparent) !important;
}
body.tpl-template2 .cu-submit-btn {
    background: var(--t2-primary) !important;
    color: #fff !important;
    border: none !important;
    border-radius: var(--t2-radius) !important;
    padding: 13px 30px !important;
    font-family: 'Plus Jakarta Sans', system-ui, sans-serif !important;
    font-weight: 700 !important;
    box-shadow: 0 12px 26px -14px color-mix(in srgb, var(--t2-primary) 80%, transparent) !important;
    transition: background .2s ease, transform .2s ease !important;
}
body.tpl-template2 .cu-submit-btn:hover { background: var(--t2-secondary) !important; transform: translateY(-2px) !important; }

/* PHOTO GALLERY */
body.tpl-template2 .pg-hero-icon {
    background: rgba(255, 255, 255, .16) !important;
    border: 3px solid #fff !important;
    outline: 2px solid var(--t2-accent) !important;
    outline-offset: 2px !important;
    color: #fff !important;
    border-radius: var(--t2-radius) !important;
}
body.tpl-template2 .pg-hero p { color: rgba(255, 255, 255, .86) !important; }
body.tpl-template2 .pg-hero-breadcrumb a:hover,
body.tpl-template2 .pg-hero-breadcrumb .sep { color: var(--t2-accent) !important; }
body.tpl-template2 .pg-item {
    border-radius: 6px !important;
    background: var(--t2-surface) !important;
    padding: 6px !important;
    border: 1px solid var(--t2-border) !important;
    box-shadow: var(--t2-shadow) !important;
    overflow: hidden !important;
    transition: transform .3s cubic-bezier(.2, .7, .3, 1), box-shadow .3s ease !important;
}
body.tpl-template2 .pg-item:hover { transform: translateY(-5px) !important; box-shadow: var(--t2-shadow-lg) !important; }
body.tpl-template2 .pg-item:hover::after { border-color: var(--t2-accent) !important; }
body.tpl-template2 .pg-item-overlay { background: linear-gradient(to top, color-mix(in srgb, var(--t2-secondary) 85%, #000), transparent) !important; }
body.tpl-template2 .pg-item-title { color: #fff !important; font-family: 'Plus Jakarta Sans', system-ui, sans-serif !important; font-weight: 700 !important; }
body.tpl-template2 .pg-empty { font-family: 'Plus Jakarta Sans', system-ui, sans-serif !important; color: var(--t2-muted) !important; }
body.tpl-template2 .pg-lightbox-close,
body.tpl-template2 .pg-lightbox-prev,
body.tpl-template2 .pg-lightbox-next {
    background: var(--t2-primary) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 50% !important;
}
body.tpl-template2 .pg-lightbox-close:hover,
body.tpl-template2 .pg-lightbox-prev:hover,
body.tpl-template2 .pg-lightbox-next:hover { background: var(--t2-secondary) !important; }

/* GENERIC */
body.tpl-template2 main h1,
body.tpl-template2 main h2,
body.tpl-template2 main h3 { font-family: 'Plus Jakarta Sans', system-ui, sans-serif !important; color: var(--t2-secondary) !important; }
body.tpl-template2 .sis-banner a,
body.tpl-template2 .hw-banner a,
body.tpl-template2 .nt-banner a,
body.tpl-template2 .cu-banner a,
body.tpl-template2 .pg-hero a,
body.tpl-template2 .cu-card-header a,
body.tpl-template2 .hw-download-btn,
body.tpl-template2 .pg-item a { color: inherit !important; }
body.tpl-template2 main .btn,
body.tpl-template2 main button.btn,
body.tpl-template2 main input[type="submit"] {
    border-radius: var(--t2-radius) !important;
    font-family: 'Plus Jakarta Sans', system-ui, sans-serif !important;
    font-weight: 700 !important;
    border: none !important;
    transition: transform .2s ease, filter .2s ease, background .2s ease !important;
}
body.tpl-template2 main .btn:hover,
body.tpl-template2 main button.btn:hover,
body.tpl-template2 main input[type="submit"]:hover { transform: translateY(-2px) !important; filter: brightness(1.03) !important; }
body.tpl-template2 main .btn-primary { background: var(--t2-primary) !important; color: #fff !important; }
body.tpl-template2 main .btn-primary:hover { background: var(--t2-secondary) !important; color: #fff !important; }
body.tpl-template2 main .btn-secondary { background: var(--t2-secondary) !important; color: #fff !important; }
body.tpl-template2 main .btn-accent { background: var(--t2-accent) !important; color: #fff !important; }
body.tpl-template2 main .table thead th,
body.tpl-template2 main table thead th {
    background: linear-gradient(90deg, var(--t2-secondary), var(--t2-primary)) !important;
    color: #fff !important;
    border: none !important;
}
body.tpl-template2 main .table tbody tr:nth-child(even),
body.tpl-template2 main table tbody tr:nth-child(even) { background: color-mix(in srgb, var(--t2-primary) 3%, #fff) !important; }
body.tpl-template2 main .table tbody tr:hover,
body.tpl-template2 main table tbody tr:hover { background: color-mix(in srgb, var(--t2-accent) 8%, #fff) !important; }
body.tpl-template2 main .card {
    background: var(--t2-surface) !important;
    border: 1px solid var(--t2-border) !important;
    border-left: 5px solid var(--t2-primary) !important;
    border-radius: 6px !important;
    box-shadow: var(--t2-shadow) !important;
    overflow: hidden !important;
}
body.tpl-template2 main blockquote {
    border-left: 5px solid var(--t2-accent) !important;
    background: color-mix(in srgb, var(--t2-primary) 4%, #fff) !important;
    padding: 14px 18px; border-radius: 0 var(--t2-radius) var(--t2-radius) 0;
    font-family: 'Plus Jakarta Sans', system-ui, sans-serif !important;
}
body.tpl-template2 main hr { border-color: var(--t2-border) !important; }

/* RESPONSIVE */
@media (max-width: 780px) {
    body.tpl-template2 .sis-card { padding: 22px 18px !important; }
    body.tpl-template2 .sis-heading { font-size: 21px !important; }
    body.tpl-template2 .sis-section { padding: 40px 0 52px !important; }
}
@media (max-width: 600px) {
    body.tpl-template2 .sis-banner,
    body.tpl-template2 .hw-banner,
    body.tpl-template2 .nt-banner,
    body.tpl-template2 .cu-banner,
    body.tpl-template2 .pg-hero { padding: 44px 0 54px !important; clip-path: polygon(0 0, 100% 0, 100% calc(100% - 20px), 0 100%) !important; }
    body.tpl-template2 .sis-banner h2,
    body.tpl-template2 .hw-banner h2,
    body.tpl-template2 .nt-banner h2,
    body.tpl-template2 .cu-banner h2 { font-size: 24px !important; }
    body.tpl-template2 .header-admit-btn { padding: 10px 18px !important; }
}

/* ===================================================================================
   TEMPLATE 3 — "COMMUNITY ZIG-ZAG"  (teal + purple)
   Poppins throughout · mint ground · pastel-tinted heavily-rounded cards (no top bar) ·
   ZIG-ZAG alternating image order · RING images · gradient PILL headings · CHIP bullets ·
   rounded banner bottom.
   =================================================================================== */

/* ---- local design tokens ---- */
body.tpl-template3 {
    --t3-primary: #0d7a63;
    --t3-secondary: #0a5f4d;
    --t3-accent: #7b3fbf;
    --t3-bg: #eaf6f1;
    --t3-surface: #ffffff;
    --t3-ink: #243b34;
    --t3-muted: #7d938a;
    --t3-border: #d5ebe3;
    --t3-radius: 28px;
    --t3-radius-sm: 16px;
    --t3-shadow: 0 20px 46px -24px rgba(15, 90, 72, .30);
    --t3-shadow-lg: 0 26px 56px -24px rgba(15, 90, 72, .40);
    font-family: 'Poppins', system-ui, sans-serif !important;
    color: var(--t3-ink);
    background: var(--t3-bg) !important;
}
body.tpl-template3,
body.tpl-template3 .page-body,
body.tpl-template3 main {
    font-family: 'Poppins', system-ui, sans-serif !important;
    background: var(--t3-bg) !important;
    color: var(--t3-ink);
}
body.tpl-template3 h1,
body.tpl-template3 h2,
body.tpl-template3 h3,
body.tpl-template3 h4 {
    font-family: 'Poppins', system-ui, sans-serif !important;
    color: var(--t3-primary);
    font-weight: 700;
    letter-spacing: -0.2px;
}
body.tpl-template3 ::selection { background: color-mix(in srgb, var(--t3-accent) 28%, #fff); color: var(--t3-ink); }
body.tpl-template3 main a { color: var(--t3-primary) !important; transition: color .2s ease; }
body.tpl-template3 main a:hover { color: var(--t3-accent) !important; }

/* TOP BAR — teal strip, purple accent icons + pill */
body.tpl-template3 .top-bar {
    background: var(--t3-secondary) !important;
    font-size: 12.5px !important;
    padding: 8px 0 !important;
    border-bottom: 1px solid color-mix(in srgb, var(--t3-accent) 34%, transparent) !important;
}
body.tpl-template3 .tb-inner { max-width: 1180px !important; }
body.tpl-template3 .tb-left span,
body.tpl-template3 .tb-left a { color: rgba(255, 255, 255, .86) !important; letter-spacing: .2px; }
body.tpl-template3 .tb-left a:hover { color: #fff !important; }
body.tpl-template3 .tb-left i { color: color-mix(in srgb, var(--t3-accent) 60%, #fff) !important; }
body.tpl-template3 .tb-social a {
    background: rgba(255, 255, 255, .14) !important;
    color: rgba(255, 255, 255, .86) !important;
    border-radius: 999px !important;
    transition: background .2s ease, color .2s ease, transform .2s ease !important;
}
body.tpl-template3 .tb-social a:hover {
    background: var(--t3-accent) !important;
    color: #fff !important;
    transform: translateY(-1px) !important;
}
body.tpl-template3 .tb-admission {
    background: var(--t3-accent) !important;
    color: #fff !important;
    font-weight: 700 !important;
    border-radius: 999px !important;
    padding: 6px 18px !important;
    letter-spacing: .2px;
    box-shadow: 0 6px 16px -9px rgba(123, 63, 191, .8) !important;
    transition: background .2s ease, transform .2s ease !important;
}
body.tpl-template3 .tb-admission:hover { background: color-mix(in srgb, var(--t3-accent) 84%, #000) !important; transform: translateY(-1px) !important; }

/* HEADER — white band, teal school name */
body.tpl-template3 .main-header {
    background: var(--t3-surface) !important;
    box-shadow: 0 1px 0 var(--t3-border), 0 8px 26px -22px rgba(15, 90, 72, .5) !important;
    border-bottom: 1px solid var(--t3-border) !important;
}
body.tpl-template3 .header-inner { max-width: 1180px !important; padding: 16px 24px !important; }
body.tpl-template3 .header-logo img { height: 74px !important; transition: transform .3s ease !important; }
body.tpl-template3 .header-logo img:hover { transform: scale(1.04) !important; }
body.tpl-template3 .header-school-name { font-family: 'Poppins', system-ui, sans-serif !important; color: var(--t3-primary) !important; font-weight: 700 !important; }
body.tpl-template3 .header-school-tagline { color: var(--t3-accent) !important; letter-spacing: 1.5px; text-transform: uppercase; }
body.tpl-template3 .hbadge {
    background: color-mix(in srgb, var(--t3-primary) 8%, #fff) !important;
    border: 1px solid var(--t3-border) !important;
    border-radius: 999px !important;
    color: var(--t3-primary) !important;
}
body.tpl-template3 .hbadge i { color: var(--t3-accent) !important; }
/* Admission button — rounded teal pill, purple on hover */
body.tpl-template3 .header-admit-btn {
    background: var(--t3-primary) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 999px !important;
    padding: 12px 26px !important;
    box-shadow: 0 12px 26px -14px color-mix(in srgb, var(--t3-primary) 80%, transparent) !important;
    transition: transform .22s ease, background .22s ease, box-shadow .22s ease !important;
}
body.tpl-template3 .header-admit-btn:hover {
    background: var(--t3-accent) !important;
    color: #fff !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 16px 32px -14px color-mix(in srgb, var(--t3-accent) 70%, transparent) !important;
}
body.tpl-template3 .header-admit-btn i,
body.tpl-template3 .header-admit-btn strong,
body.tpl-template3 .header-admit-btn:hover i,
body.tpl-template3 .header-admit-btn:hover strong { color: #fff !important; }

/* MENU BAR — teal strip, white links, purple pill highlight */
body.tpl-template3 .menu-row {
    background: var(--t3-primary) !important;
    border-bottom: none !important;
    box-shadow: 0 4px 20px -14px rgba(15, 90, 72, .5) !important;
}
body.tpl-template3 .menu-row nav > ul.menu {
    max-width: 1180px !important;
    justify-content: center !important;
    padding: 0 12px !important;
}
body.tpl-template3 .menu-row nav ul li a {
    color: rgba(255, 255, 255, .92) !important;
    font-family: 'Poppins', system-ui, sans-serif !important;
    font-weight: 600 !important;
    font-size: 14.5px !important;
    letter-spacing: .1px;
}
body.tpl-template3 .menu-row nav > ul.menu > li > a {
    padding: 15px 18px !important;
    border-radius: 999px !important;
    transition: color .2s ease, background .2s ease !important;
}
body.tpl-template3 .menu-row nav > ul.menu > li:hover > a,
body.tpl-template3 .menu-row nav > ul.menu > li.active > a {
    background: rgba(255, 255, 255, .16) !important;
    color: #fff !important;
}
body.tpl-template3 .has-submenu > a::after { color: rgba(255, 255, 255, .8); }
body.tpl-template3 .menu-toggle { color: #fff !important; }
/* Submenu — white, rounded, purple top rule */
body.tpl-template3 .submenu {
    background: color-mix(in srgb, var(--t3-primary) 6%, #fff) !important;
    border: 1px solid var(--t3-border) !important;
    border-top: 3px solid var(--t3-accent) !important;
    border-radius: 18px !important;
    box-shadow: var(--t3-shadow) !important;
    max-height: min(68vh, 420px) !important;
    overflow-y: auto !important;
}
body.tpl-template3 .submenu li a {
    color: var(--t3-ink) !important;
    font-family: 'Poppins', system-ui, sans-serif !important;
    font-weight: 500 !important;
    border-left: 3px solid transparent !important;
    border-radius: 999px !important;
    transition: background .16s ease, color .16s ease, border-color .16s ease !important;
}
body.tpl-template3 .submenu li a::before { color: var(--t3-accent) !important; }
body.tpl-template3 .submenu li a:hover {
    background: var(--t3-accent) !important;
    color: #fff !important;
    border-radius: 999px !important;
    border-left-color: transparent !important;
}
body.tpl-template3 .submenu .submenu { border-top: 3px solid var(--t3-accent) !important; }
/* Mobile menu */
@media (max-width: 768px) {
    body.tpl-template3 .header-inner { padding: 12px 16px !important; }
    body.tpl-template3 .header-logo img { height: 50px !important; }
    body.tpl-template3 .menu-row nav {
        background: var(--t3-primary) !important;
        border-top: 1px solid rgba(255, 255, 255, .14) !important;
        box-shadow: 0 10px 24px -16px rgba(15, 90, 72, .5) !important;
    }
    body.tpl-template3 .menu-row nav ul.menu li { border-bottom: 1px solid rgba(255, 255, 255, .14) !important; }
    body.tpl-template3 .menu-row nav ul.menu li a { color: rgba(255, 255, 255, .92) !important; }
    body.tpl-template3 .menu-row nav > ul.menu > li > a { padding: 13px 16px !important; border-radius: 0 !important; }
    body.tpl-template3 .menu-row nav > ul.menu > li:hover > a,
    body.tpl-template3 .menu-row nav > ul.menu > li.active > a { background: rgba(255, 255, 255, .12) !important; }
    body.tpl-template3 .submenu {
        background: rgba(255, 255, 255, .06) !important;
        border: none !important;
        border-left: 3px solid var(--t3-accent) !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }
    body.tpl-template3 .submenu li a { color: rgba(255, 255, 255, .85) !important; }
}

/* FOOTER — deep teal band, purple hover */
body.tpl-template3 .site-footer {
    background: var(--t3-secondary) !important;
    color: rgba(255, 255, 255, .82) !important;
    padding-top: 56px !important;
}
body.tpl-template3 .footer-inner { max-width: 1180px !important; }
body.tpl-template3 .footer-col h3 {
    font-family: 'Poppins', system-ui, sans-serif !important;
    color: #fff !important;
    border-bottom: 2px solid var(--t3-accent) !important;
    padding-bottom: 10px !important;
    letter-spacing: .3px;
    font-weight: 700;
}
body.tpl-template3 .footer-about-text { color: rgba(255, 255, 255, .7) !important; }
body.tpl-template3 .footer-links a { color: rgba(255, 255, 255, .74) !important; transition: color .2s ease, gap .2s ease; }
body.tpl-template3 .footer-links a::before { color: color-mix(in srgb, var(--t3-accent) 60%, #fff) !important; }
body.tpl-template3 .footer-links a:hover { color: color-mix(in srgb, var(--t3-accent) 55%, #fff) !important; gap: 10px; }
body.tpl-template3 .footer-social a {
    background: rgba(255, 255, 255, .12) !important;
    border: 1px solid rgba(255, 255, 255, .18) !important;
    border-radius: 999px !important;
    color: rgba(255, 255, 255, .82) !important;
    transition: background .2s ease, color .2s ease, border-color .2s ease, transform .2s ease !important;
}
body.tpl-template3 .footer-social a:hover {
    background: var(--t3-accent) !important;
    border-color: var(--t3-accent) !important;
    color: #fff !important;
    transform: translateY(-2px) !important;
}
body.tpl-template3 .footer-contact-item { color: rgba(255, 255, 255, .74) !important; }
body.tpl-template3 .fci-icon {
    background: color-mix(in srgb, var(--t3-accent) 30%, transparent) !important;
    color: #fff !important;
    border-radius: 50% !important;
}
body.tpl-template3 .footer-contact-item a { color: rgba(255, 255, 255, .85) !important; }
body.tpl-template3 .footer-contact-item a:hover { color: color-mix(in srgb, var(--t3-accent) 55%, #fff) !important; }
body.tpl-template3 .footer-map { border-radius: 18px !important; overflow: hidden !important; }
body.tpl-template3 .footer-bottom {
    background: color-mix(in srgb, var(--t3-secondary) 84%, #000) !important;
    color: rgba(255, 255, 255, .6) !important;
    border-top: 1px solid color-mix(in srgb, var(--t3-accent) 34%, transparent) !important;
    margin-top: 44px !important;
}
body.tpl-template3 .footer-bottom a { color: rgba(255, 255, 255, .72) !important; }
body.tpl-template3 .footer-bottom a:hover { color: color-mix(in srgb, var(--t3-accent) 55%, #fff) !important; }

/* INNER BANNERS — teal→purple hero, rounded bottom */
body.tpl-template3 .sis-banner,
body.tpl-template3 .hw-banner,
body.tpl-template3 .nt-banner,
body.tpl-template3 .cu-banner,
body.tpl-template3 .pg-hero {
    background: linear-gradient(125deg, var(--t3-primary) 0%, var(--t3-accent) 100%) !important;
    border-bottom: none !important;
    padding: 62px 0 54px !important;
    position: relative !important;
    overflow: hidden !important;
    border-radius: 0 0 42px 42px !important;
}
body.tpl-template3 .sis-banner h2,
body.tpl-template3 .hw-banner h2,
body.tpl-template3 .nt-banner h2,
body.tpl-template3 .cu-banner h2,
body.tpl-template3 .pg-hero h1,
body.tpl-template3 .pg-hero h2 {
    font-family: 'Poppins', system-ui, sans-serif !important;
    color: #fff !important;
    font-weight: 700 !important;
    letter-spacing: -0.3px !important;
    text-transform: none !important;
}
body.tpl-template3 .sis-banner p,
body.tpl-template3 .hw-banner p,
body.tpl-template3 .nt-banner p,
body.tpl-template3 .sis-banner .eyebrow {
    color: rgba(255, 255, 255, .9) !important;
    text-transform: uppercase;
    letter-spacing: 2.5px;
    font-weight: 600;
}
body.tpl-template3 .sis-banner-line,
body.tpl-template3 .hw-banner-line,
body.tpl-template3 .nt-banner-line,
body.tpl-template3 .cu-banner-line,
body.tpl-template3 .pg-hero-divider {
    background: #fff !important;
    height: 4px !important;
    width: 70px !important;
    border-radius: 999px !important;
}
body.tpl-template3 .hw-title { font-family: 'Poppins', system-ui, sans-serif !important; color: var(--t3-primary) !important; font-weight: 700 !important; }

/* INNER SECTIONS background */
body.tpl-template3 .sis-section,
body.tpl-template3 .hw-section,
body.tpl-template3 .nt-section,
body.tpl-template3 .cu-section,
body.tpl-template3 .pg-section {
    background: var(--t3-bg) !important;
    font-family: 'Poppins', system-ui, sans-serif !important;
}
body.tpl-template3 .sis-container { max-width: 1080px !important; }

/* CONTENT CARDS — pastel-tinted, heavily rounded, no top bar, ZIG-ZAG image order */
body.tpl-template3 .sis-card {
    background: color-mix(in srgb, var(--t3-primary) 6%, #fff) !important;
    border: 1px solid var(--t3-border) !important;
    border-radius: 28px !important;
    box-shadow: var(--t3-shadow) !important;
    padding: 32px 36px !important;
    margin-bottom: 26px !important;
    transition: transform .22s ease, box-shadow .22s ease !important;
}
body.tpl-template3 .sis-card:nth-of-type(even) { background: color-mix(in srgb, var(--t3-accent) 7%, #fff) !important; }
body.tpl-template3 .sis-card:hover {
    transform: translateY(-4px) !important;
    box-shadow: var(--t3-shadow-lg) !important;
}
body.tpl-template3 .sis-card::before { display: none !important; }
/* Zig-zag — image alternates side by even/odd card */
body.tpl-template3 .sis-card-split { gap: 40px !important; align-items: center !important; }
body.tpl-template3 .sis-card .sis-media { order: 0; }
body.tpl-template3 .sis-card .sis-content { order: 1; }
body.tpl-template3 .sis-card:nth-of-type(even) .sis-media { order: 2; }
/* RING images */
body.tpl-template3 .sis-card-split .sis-media img {
    border: 5px solid #fff !important;
    outline: 3px solid var(--t3-accent) !important;
    outline-offset: 4px !important;
    border-radius: 26px !important;
    box-shadow: 0 18px 42px -24px rgba(15, 90, 72, .4) !important;
}
/* Heading — gradient PILL, white text, inline-block */
body.tpl-template3 .sis-heading {
    display: inline-block !important;
    font-family: 'Poppins', system-ui, sans-serif !important;
    background: linear-gradient(90deg, var(--t3-primary), var(--t3-accent)) !important;
    color: #fff !important;
    border: none !important;
    border-bottom: none !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    font-weight: 700 !important;
    font-size: 21px !important;
    border-radius: 999px !important;
    padding: 9px 24px !important;
}
body.tpl-template3 .sis-heading::before { display: none !important; }
body.tpl-template3 .sis-desc {
    color: var(--t3-ink) !important;
    font-family: 'Poppins', system-ui, sans-serif !important;
    font-size: 14.5px !important;
    line-height: 1.9 !important;
}
body.tpl-template3 .sis-desc strong,
body.tpl-template3 .sis-desc b { color: var(--t3-accent) !important; }
/* CHIP-style bullets — pastel rounded pills */
body.tpl-template3 .sis-desc ul { list-style: none !important; padding-left: 0 !important; }
body.tpl-template3 .sis-desc ul li,
body.tpl-template3 .sis-desc ol li { font-family: 'Poppins', system-ui, sans-serif !important; color: var(--t3-secondary) !important; }
body.tpl-template3 .sis-desc ul li {
    display: inline-block !important;
    background: color-mix(in srgb, var(--t3-accent) 12%, #fff) !important;
    border: 1px solid color-mix(in srgb, var(--t3-accent) 22%, #fff) !important;
    border-radius: 999px !important;
    padding: 6px 16px !important;
    margin: 0 8px 8px 0 !important;
    font-weight: 500 !important;
}
body.tpl-template3 .sis-desc ul li::before { content: '' !important; display: none !important; }
body.tpl-template3 .sis-desc ol li::before { color: var(--t3-accent) !important; }
body.tpl-template3 .sis-empty { font-family: 'Poppins', system-ui, sans-serif !important; color: var(--t3-muted) !important; }
/* Content gallery — ring thumbs */
body.tpl-template3 .sis-gallery { gap: 18px !important; }
body.tpl-template3 .sis-gitem {
    border-radius: 22px !important;
    border: 4px solid #fff !important;
    outline: 2px solid color-mix(in srgb, var(--t3-accent) 60%, #fff) !important;
    outline-offset: 3px !important;
    box-shadow: var(--t3-shadow) !important;
    transition: transform .3s ease, box-shadow .3s ease !important;
}
body.tpl-template3 .sis-gitem:hover { transform: translateY(-4px) !important; box-shadow: var(--t3-shadow-lg) !important; }

/* DOWNLOAD PAGE */
body.tpl-template3 .hw-table-wrap {
    border-radius: 22px !important;
    border: 1px solid var(--t3-border) !important;
    box-shadow: var(--t3-shadow) !important;
    overflow: hidden !important;
}
body.tpl-template3 .hw-table { font-family: 'Poppins', system-ui, sans-serif !important; }
body.tpl-template3 .hw-table thead th {
    background: linear-gradient(90deg, var(--t3-primary), var(--t3-accent)) !important;
    color: #fff !important;
    letter-spacing: .5px !important;
}
body.tpl-template3 .hw-table tbody td { color: var(--t3-ink) !important; border-bottom: 1px solid var(--t3-border) !important; }
body.tpl-template3 .hw-table tbody tr:nth-child(even) { background: color-mix(in srgb, var(--t3-primary) 4%, #fff) !important; }
body.tpl-template3 .hw-table tbody tr:hover { background: color-mix(in srgb, var(--t3-accent) 9%, #fff) !important; }
body.tpl-template3 .hw-table .hw-class,
body.tpl-template3 .hw-class { color: var(--t3-primary) !important; }
body.tpl-template3 .hw-download-btn {
    background: var(--t3-primary) !important;
    color: #fff !important;
    border-radius: 999px !important;
    padding: 8px 18px !important;
    font-weight: 700 !important;
    box-shadow: 0 8px 18px -10px color-mix(in srgb, var(--t3-primary) 80%, transparent) !important;
    transition: background .2s ease, transform .2s ease !important;
}
body.tpl-template3 .hw-download-btn:hover { background: var(--t3-accent) !important; color: #fff !important; transform: translateY(-1px) !important; }
body.tpl-template3 .hw-empty { font-family: 'Poppins', system-ui, sans-serif !important; color: var(--t3-muted) !important; }
body.tpl-template3 .hw-empty i { color: color-mix(in srgb, var(--t3-accent) 45%, #fff) !important; }

/* NOTICES */
body.tpl-template3 .nt-wrap { max-width: 920px !important; }
body.tpl-template3 .nt-search {
    border: 1.5px solid var(--t3-border) !important;
    border-radius: 999px !important;
    padding: 14px 22px !important;
    font-family: 'Poppins', system-ui, sans-serif !important;
    box-shadow: var(--t3-shadow) !important;
    transition: border-color .2s ease, box-shadow .2s ease !important;
}
body.tpl-template3 .nt-search:focus {
    border-color: var(--t3-primary) !important;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--t3-primary) 14%, transparent) !important;
}
body.tpl-template3 .nt-chip {
    border: 1.5px solid var(--t3-border) !important;
    border-radius: 999px !important;
    color: var(--t3-ink) !important;
    font-family: 'Poppins', system-ui, sans-serif !important;
    font-weight: 600 !important;
    transition: all .18s ease !important;
}
body.tpl-template3 .nt-chip:hover { border-color: var(--t3-accent) !important; color: var(--t3-primary) !important; }
body.tpl-template3 .nt-chip.active {
    background: var(--t3-primary) !important;
    border-color: var(--t3-primary) !important;
    color: #fff !important;
    box-shadow: 0 8px 18px -10px color-mix(in srgb, var(--t3-primary) 80%, transparent) !important;
}
body.tpl-template3 .nt-card {
    background: color-mix(in srgb, var(--t3-primary) 5%, #fff) !important;
    border: 1px solid var(--t3-border) !important;
    border-radius: 22px !important;
    box-shadow: var(--t3-shadow) !important;
    padding: 20px 24px !important;
    transition: transform .18s ease, box-shadow .18s ease !important;
}
body.tpl-template3 .nt-card:hover { transform: translateY(-3px) !important; box-shadow: var(--t3-shadow-lg) !important; }
body.tpl-template3 .nt-ic { border-radius: 50% !important; }
body.tpl-template3 .nt-ic.event { background: linear-gradient(135deg, var(--t3-primary), var(--t3-secondary)) !important; }
body.tpl-template3 .nt-ic.news { background: linear-gradient(135deg, var(--t3-accent), color-mix(in srgb, var(--t3-accent) 70%, var(--t3-primary))) !important; }
body.tpl-template3 .nt-title { font-family: 'Poppins', system-ui, sans-serif !important; color: var(--t3-primary) !important; font-weight: 700 !important; }
body.tpl-template3 .nt-desc { font-family: 'Poppins', system-ui, sans-serif !important; color: var(--t3-ink) !important; }
body.tpl-template3 .nt-badge { border-radius: 999px !important; font-weight: 700 !important; }
body.tpl-template3 .nt-badge.event { background: color-mix(in srgb, var(--t3-primary) 12%, #fff) !important; color: var(--t3-primary) !important; }
body.tpl-template3 .nt-badge.news { background: color-mix(in srgb, var(--t3-accent) 16%, #fff) !important; color: var(--t3-accent) !important; }
body.tpl-template3 .nt-empty { font-family: 'Poppins', system-ui, sans-serif !important; color: var(--t3-muted) !important; }

/* CONTACT */
body.tpl-template3 .cu-section { font-family: 'Poppins', system-ui, sans-serif !important; }
body.tpl-template3 .cu-card {
    background: var(--t3-surface) !important;
    border: 1px solid var(--t3-border) !important;
    border-radius: 24px !important;
    box-shadow: var(--t3-shadow) !important;
    overflow: hidden !important;
}
body.tpl-template3 .cu-card-header,
body.tpl-template3 .cu-card-header.details,
body.tpl-template3 .cu-card-header.query {
    font-family: 'Poppins', system-ui, sans-serif !important;
    background: linear-gradient(120deg, var(--t3-primary), var(--t3-accent)) !important;
    color: #fff !important;
}
body.tpl-template3 .cu-card-header h3,
body.tpl-template3 .cu-card-header * { color: #fff !important; }
body.tpl-template3 .cu-row { border-bottom: 1px solid var(--t3-border) !important; }
body.tpl-template3 .cu-row .label { color: var(--t3-muted) !important; }
body.tpl-template3 .cu-row .value { color: var(--t3-ink) !important; }
body.tpl-template3 .cu-row .value.school-name { color: var(--t3-primary) !important; }
body.tpl-template3 .cu-row .value a { color: var(--t3-primary) !important; }
body.tpl-template3 .cu-row .value a:hover { color: var(--t3-accent) !important; }
body.tpl-template3 .cu-row i,
body.tpl-template3 .cu-row .fa,
body.tpl-template3 .cu-row [class*="fa-"] { color: var(--t3-accent) !important; }
body.tpl-template3 .cu-map-wrap { border-radius: 20px !important; overflow: hidden !important; }
body.tpl-template3 .cu-form-body label { font-family: 'Poppins', system-ui, sans-serif !important; color: var(--t3-ink) !important; }
body.tpl-template3 .cu-form-body input,
body.tpl-template3 .cu-form-body textarea,
body.tpl-template3 .cu-form-body select {
    border: 1.5px solid var(--t3-border) !important;
    border-radius: 14px !important;
    font-family: 'Poppins', system-ui, sans-serif !important;
    background: color-mix(in srgb, var(--t3-primary) 2%, #fff) !important;
    transition: border-color .2s ease, box-shadow .2s ease, background .2s ease !important;
}
body.tpl-template3 .cu-form-body input:focus,
body.tpl-template3 .cu-form-body textarea:focus,
body.tpl-template3 .cu-form-body select:focus {
    border-color: var(--t3-primary) !important;
    background: #fff !important;
    outline: none !important;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--t3-primary) 14%, transparent) !important;
}
body.tpl-template3 .cu-submit-btn {
    background: var(--t3-primary) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 999px !important;
    padding: 13px 32px !important;
    font-family: 'Poppins', system-ui, sans-serif !important;
    font-weight: 700 !important;
    box-shadow: 0 12px 26px -14px color-mix(in srgb, var(--t3-primary) 80%, transparent) !important;
    transition: background .2s ease, transform .2s ease !important;
}
body.tpl-template3 .cu-submit-btn:hover { background: var(--t3-accent) !important; transform: translateY(-2px) !important; }

/* PHOTO GALLERY */
body.tpl-template3 .pg-hero-icon {
    background: rgba(255, 255, 255, .16) !important;
    border: 3px solid #fff !important;
    outline: 2px solid var(--t3-accent) !important;
    outline-offset: 2px !important;
    color: #fff !important;
    border-radius: 50% !important;
}
body.tpl-template3 .pg-hero p { color: rgba(255, 255, 255, .88) !important; }
body.tpl-template3 .pg-hero-breadcrumb a:hover,
body.tpl-template3 .pg-hero-breadcrumb .sep { color: #fff !important; }
body.tpl-template3 .pg-item {
    border-radius: 22px !important;
    border: 4px solid #fff !important;
    outline: 2px solid color-mix(in srgb, var(--t3-accent) 55%, #fff) !important;
    outline-offset: 3px !important;
    box-shadow: var(--t3-shadow) !important;
    overflow: hidden !important;
    transition: transform .3s cubic-bezier(.2, .7, .3, 1), box-shadow .3s ease !important;
}
body.tpl-template3 .pg-item:hover { transform: translateY(-5px) !important; box-shadow: var(--t3-shadow-lg) !important; }
body.tpl-template3 .pg-item:hover::after { border-color: var(--t3-accent) !important; }
body.tpl-template3 .pg-item-overlay { background: linear-gradient(to top, color-mix(in srgb, var(--t3-secondary) 85%, #000), transparent) !important; }
body.tpl-template3 .pg-item-title { color: #fff !important; font-family: 'Poppins', system-ui, sans-serif !important; font-weight: 700 !important; }
body.tpl-template3 .pg-empty { font-family: 'Poppins', system-ui, sans-serif !important; color: var(--t3-muted) !important; }
body.tpl-template3 .pg-lightbox-close,
body.tpl-template3 .pg-lightbox-prev,
body.tpl-template3 .pg-lightbox-next {
    background: var(--t3-primary) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 50% !important;
}
body.tpl-template3 .pg-lightbox-close:hover,
body.tpl-template3 .pg-lightbox-prev:hover,
body.tpl-template3 .pg-lightbox-next:hover { background: var(--t3-accent) !important; }

/* GENERIC */
body.tpl-template3 main h1,
body.tpl-template3 main h2,
body.tpl-template3 main h3 { font-family: 'Poppins', system-ui, sans-serif !important; color: var(--t3-primary) !important; }
body.tpl-template3 .sis-banner a,
body.tpl-template3 .hw-banner a,
body.tpl-template3 .nt-banner a,
body.tpl-template3 .cu-banner a,
body.tpl-template3 .pg-hero a,
body.tpl-template3 .cu-card-header a,
body.tpl-template3 .hw-download-btn,
body.tpl-template3 .pg-item a { color: inherit !important; }
body.tpl-template3 main .btn,
body.tpl-template3 main button.btn,
body.tpl-template3 main input[type="submit"] {
    border-radius: 999px !important;
    font-family: 'Poppins', system-ui, sans-serif !important;
    font-weight: 700 !important;
    border: none !important;
    transition: transform .2s ease, filter .2s ease, background .2s ease !important;
}
body.tpl-template3 main .btn:hover,
body.tpl-template3 main button.btn:hover,
body.tpl-template3 main input[type="submit"]:hover { transform: translateY(-2px) !important; filter: brightness(1.03) !important; }
body.tpl-template3 main .btn-primary { background: var(--t3-primary) !important; color: #fff !important; }
body.tpl-template3 main .btn-primary:hover { background: var(--t3-secondary) !important; color: #fff !important; }
body.tpl-template3 main .btn-secondary { background: var(--t3-secondary) !important; color: #fff !important; }
body.tpl-template3 main .btn-accent { background: var(--t3-accent) !important; color: #fff !important; }
body.tpl-template3 main .table thead th,
body.tpl-template3 main table thead th {
    background: linear-gradient(90deg, var(--t3-primary), var(--t3-accent)) !important;
    color: #fff !important;
    border: none !important;
}
body.tpl-template3 main .table tbody tr:nth-child(even),
body.tpl-template3 main table tbody tr:nth-child(even) { background: color-mix(in srgb, var(--t3-primary) 4%, #fff) !important; }
body.tpl-template3 main .table tbody tr:hover,
body.tpl-template3 main table tbody tr:hover { background: color-mix(in srgb, var(--t3-accent) 8%, #fff) !important; }
body.tpl-template3 main .card {
    background: var(--t3-surface) !important;
    border: 1px solid var(--t3-border) !important;
    border-radius: 24px !important;
    box-shadow: var(--t3-shadow) !important;
    overflow: hidden !important;
}
body.tpl-template3 main blockquote {
    border-left: 5px solid var(--t3-accent) !important;
    background: color-mix(in srgb, var(--t3-primary) 5%, #fff) !important;
    padding: 14px 18px; border-radius: 0 18px 18px 0;
    font-family: 'Poppins', system-ui, sans-serif !important;
}
body.tpl-template3 main hr { border-color: var(--t3-border) !important; }

/* RESPONSIVE */
@media (max-width: 780px) {
    body.tpl-template3 .sis-card { padding: 24px 22px !important; border-radius: 22px !important; }
    body.tpl-template3 .sis-heading { font-size: 19px !important; }
    body.tpl-template3 .sis-section { padding: 40px 0 52px !important; }
    /* force media above content on mobile (cancel zig-zag ordering) */
    body.tpl-template3 .sis-card .sis-media,
    body.tpl-template3 .sis-card:nth-of-type(even) .sis-media { order: 0 !important; }
    body.tpl-template3 .sis-card .sis-content { order: 1 !important; }
}
@media (max-width: 600px) {
    body.tpl-template3 .sis-banner,
    body.tpl-template3 .hw-banner,
    body.tpl-template3 .nt-banner,
    body.tpl-template3 .cu-banner,
    body.tpl-template3 .pg-hero { padding: 42px 0 38px !important; border-radius: 0 0 30px 30px !important; }
    body.tpl-template3 .sis-banner h2,
    body.tpl-template3 .hw-banner h2,
    body.tpl-template3 .nt-banner h2,
    body.tpl-template3 .cu-banner h2 { font-size: 24px !important; }
    body.tpl-template3 .header-admit-btn { padding: 10px 20px !important; }
}

/* Shared inner-page scroll-reveal — gated by body.sis-anim (added by Page.cshtml JS on template1/2/3) */
body.sis-anim[class*="tpl-template"] .sis-reveal { opacity: 0; transition: opacity .7s ease, transform .75s cubic-bezier(.2,.7,.2,1); will-change: opacity, transform; }
body.sis-anim[class*="tpl-template"] .sis-reveal.in { opacity: 1 !important; transform: none !important; }
body.sis-anim.tpl-template1 .sis-reveal { transform: translateY(30px); }
body.sis-anim.tpl-template2 .sis-reveal { transform: translateX(-34px); }
body.sis-anim.tpl-template2 .sis-page-wrapper { overflow-x: clip; }
body.sis-anim.tpl-template3 .sis-reveal { transform: scale(.92); }
body.sis-anim[class*="tpl-template"] .sis-card.sis-reveal:nth-of-type(2) { transition-delay: .07s; }
body.sis-anim[class*="tpl-template"] .sis-card.sis-reveal:nth-of-type(3) { transition-delay: .14s; }
body.sis-anim[class*="tpl-template"] .sis-card.sis-reveal:nth-of-type(4) { transition-delay: .21s; }
body.sis-anim[class*="tpl-template"] .sis-card.sis-reveal:nth-of-type(n+5) { transition-delay: .28s; }
@media (prefers-reduced-motion: reduce) { body.sis-anim[class*="tpl-template"] .sis-reveal { opacity: 1 !important; transform: none !important; transition: none !important; } }

/* ===== TEMPLATE 4 :: HERITAGE BORDEAUX — inner-page skin ===== */
/* ============================================================================
   TEMPLATE 4 — "HERITAGE BORDEAUX"  inner-page skin
   Warm collegiate / editorial heritage look · deliberately un-blue · serif-led.
   Fraunces headings + Space Grotesk body · arched cream-matted photo frames ·
   crisp cream paper cards with a left bordeaux rule · terracotta accents ·
   deep bordeaux footer. Uses stable --t4-* tokens (falls back to --b/--y theme).
   Scope: body.tpl-template4 (only) — every selector prefixed, !important beats
   the shared base stylesheet + inline layout styles.
   ========================================================================== */

/* ---- local design tokens ---- */
body.tpl-template4 {
    --t4-primary: #6E1B3D;
    --t4-secondary: #A63A50;
    --t4-accent: #C97B5A;
    --t4-bg: #FBF6EF;
    --t4-surface: #FFFFFF;
    --t4-ink: #2A1E22;
    --t4-muted: #8A6E72;
    --t4-border: #E7D8CC;
    --t4-radius: 10px;
    --t4-radius-sm: 8px;
    --t4-shadow: 0 14px 34px -20px rgba(110, 27, 61, .20);
    --t4-shadow-lg: 0 24px 52px -24px rgba(110, 27, 61, .30);
    /* arched (half-round top) photo frame */
    --t4-arch: 50% 50% var(--t4-radius) var(--t4-radius) / 42% 42% var(--t4-radius) var(--t4-radius);
    font-family: 'Space Grotesk', system-ui, sans-serif !important;
    color: var(--t4-ink);
    background: var(--t4-bg) !important;
}

body.tpl-template4,
body.tpl-template4 .page-body,
body.tpl-template4 main {
    font-family: 'Space Grotesk', system-ui, sans-serif !important;
    background: var(--t4-bg) !important;
    color: var(--t4-ink);
}
body.tpl-template4 h1,
body.tpl-template4 h2,
body.tpl-template4 h3,
body.tpl-template4 h4 {
    font-family: 'Fraunces', Georgia, serif !important;
    color: var(--t4-primary);
    letter-spacing: -0.2px;
}
body.tpl-template4 ::selection { background: color-mix(in srgb, var(--t4-accent) 34%, #fff); color: var(--t4-ink); }
body.tpl-template4 main a { color: var(--t4-primary) !important; transition: color .2s ease; }
body.tpl-template4 main a:hover { color: var(--t4-secondary) !important; }

/* =========================================================================
   TOP BAR — thin deep-bordeaux ledger strip, terracotta icons + pill
   ========================================================================= */
body.tpl-template4 .top-bar {
    background: var(--t4-primary) !important;
    font-size: 12.5px !important;
    padding: 8px 0 !important;
    border-bottom: 1px solid color-mix(in srgb, var(--t4-accent) 40%, transparent) !important;
}
body.tpl-template4 .tb-inner { max-width: 1200px !important; }
body.tpl-template4 .tb-left span,
body.tpl-template4 .tb-left a { color: rgba(255, 255, 255, .86) !important; letter-spacing: .2px; }
body.tpl-template4 .tb-left a:hover { color: #fff !important; }
body.tpl-template4 .tb-left i { color: var(--t4-accent) !important; }
body.tpl-template4 .tb-social a {
    background: rgba(255, 255, 255, .12) !important;
    color: rgba(255, 255, 255, .86) !important;
    border-radius: var(--t4-radius-sm) !important;
    transition: background .2s ease, color .2s ease, transform .2s ease !important;
}
body.tpl-template4 .tb-social a:hover {
    background: var(--t4-accent) !important;
    color: #2a1400 !important;
    transform: translateY(-1px) !important;
}
body.tpl-template4 .tb-admission {
    background: var(--t4-accent) !important;
    color: #2a1400 !important;
    font-weight: 700 !important;
    border-radius: 999px !important;
    padding: 6px 16px !important;
    letter-spacing: .2px;
    box-shadow: 0 6px 16px -9px rgba(201, 123, 90, .8) !important;
    transition: background .2s ease, transform .2s ease !important;
}
body.tpl-template4 .tb-admission:hover { background: color-mix(in srgb, var(--t4-accent) 84%, #000) !important; transform: translateY(-1px) !important; }

/* =========================================================================
   HEADER — ivory band, serif school name, solid bordeaux admit pill
   ========================================================================= */
body.tpl-template4 .main-header {
    background: var(--t4-surface) !important;
    box-shadow: 0 1px 0 var(--t4-border), 0 8px 26px -22px rgba(110, 27, 61, .5) !important;
    border-bottom: 1px solid var(--t4-border) !important;
}
body.tpl-template4 .header-inner { max-width: 1200px !important; padding: 16px 24px !important; }
body.tpl-template4 .header-logo img { height: 76px !important; transition: transform .3s ease !important; }
body.tpl-template4 .header-logo img:hover { transform: scale(1.04) !important; }
body.tpl-template4 .header-school-name { font-family: 'Fraunces', Georgia, serif !important; color: var(--t4-primary) !important; font-weight: 700 !important; }
body.tpl-template4 .header-school-tagline { color: var(--t4-accent) !important; letter-spacing: 2px; text-transform: uppercase; }
body.tpl-template4 .hbadge {
    background: color-mix(in srgb, var(--t4-primary) 6%, #fff) !important;
    border: 1px solid var(--t4-border) !important;
    border-radius: 999px !important;
    color: var(--t4-primary) !important;
}
body.tpl-template4 .hbadge i { color: var(--t4-accent) !important; }

/* Admission button — solid bordeaux pill, garnet on hover */
body.tpl-template4 .header-admit-btn {
    background: var(--t4-primary) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 999px !important;
    padding: 12px 24px !important;
    box-shadow: 0 12px 26px -14px color-mix(in srgb, var(--t4-primary) 80%, transparent) !important;
    transition: transform .22s ease, background .22s ease, box-shadow .22s ease !important;
}
body.tpl-template4 .header-admit-btn:hover {
    background: var(--t4-secondary) !important;
    color: #fff !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 16px 32px -14px color-mix(in srgb, var(--t4-secondary) 70%, transparent) !important;
}
body.tpl-template4 .header-admit-btn i,
body.tpl-template4 .header-admit-btn strong { color: #fff !important; }
body.tpl-template4 .header-admit-btn:hover i,
body.tpl-template4 .header-admit-btn:hover strong { color: #fff !important; }

/* =========================================================================
   MENU BAR — ivory strip, serif ink links, bordeaux + terracotta underline
   ========================================================================= */
body.tpl-template4 .menu-row {
    background: var(--t4-surface) !important;
    border-bottom: 1px solid var(--t4-border) !important;
    box-shadow: 0 4px 20px -16px rgba(110, 27, 61, .4) !important;
}
body.tpl-template4 .menu-row nav > ul.menu {
    max-width: 1200px !important;
    justify-content: center !important;
    padding: 0 12px !important;
}
body.tpl-template4 .menu-row nav ul li a {
    color: var(--t4-ink) !important;
    font-family: 'Fraunces', Georgia, serif !important;
    font-weight: 600 !important;
    font-size: 15px !important;
    letter-spacing: .1px;
}
body.tpl-template4 .menu-row nav > ul.menu > li > a {
    padding: 20px 16px !important;
    border-bottom: 2px solid transparent !important;
    letter-spacing: .4px !important;
    transition: color .2s ease, border-color .2s ease !important;
}
body.tpl-template4 .menu-row nav > ul.menu > li:hover > a,
body.tpl-template4 .menu-row nav > ul.menu > li.active > a {
    background: transparent !important;
    color: var(--t4-primary) !important;
    border-bottom: 3px double var(--t4-accent) !important;
}
body.tpl-template4 .has-submenu > a::after { color: var(--t4-muted); opacity: .85; }
body.tpl-template4 .menu-toggle { color: var(--t4-primary) !important; }

/* Submenu — cream, bordeaux top rule, rounded skirt, scrollable */
body.tpl-template4 .submenu {
    background: var(--t4-bg) !important;
    border: 1px solid var(--t4-border) !important;
    border-top: 3px solid var(--t4-primary) !important;
    border-radius: 0 0 var(--t4-radius) var(--t4-radius) !important;
    box-shadow: var(--t4-shadow) !important;
    max-height: min(68vh, 420px) !important;
    overflow-y: auto !important;
    scrollbar-color: color-mix(in srgb, var(--t4-accent) 70%, transparent) transparent;
}
body.tpl-template4 .submenu::-webkit-scrollbar-thumb { background: color-mix(in srgb, var(--t4-accent) 70%, transparent); }
body.tpl-template4 .submenu li a {
    color: var(--t4-ink) !important;
    font-family: 'Space Grotesk', system-ui, sans-serif !important;
    font-weight: 500 !important;
    border-left: 3px solid transparent !important;
    transition: background .16s ease, color .16s ease, border-color .16s ease !important;
}
body.tpl-template4 .submenu li a::before { color: var(--t4-accent) !important; }
body.tpl-template4 .submenu li a:hover {
    background: transparent !important;
    color: var(--t4-primary) !important;
    text-decoration: underline !important;
    text-underline-offset: 3px !important;
    border-left-color: transparent !important;
}
body.tpl-template4 .submenu .submenu { border-top: 3px solid var(--t4-primary) !important; }

/* Mobile menu — ivory panel, terracotta submenu rail */
@media (max-width: 768px) {
    body.tpl-template4 .header-inner { padding: 12px 16px !important; }
    body.tpl-template4 .header-logo img { height: 52px !important; }
    body.tpl-template4 .menu-row nav {
        background: var(--t4-surface) !important;
        border-top: 1px solid var(--t4-border) !important;
        box-shadow: 0 10px 24px -16px rgba(110, 27, 61, .4) !important;
    }
    body.tpl-template4 .menu-row nav ul.menu li { border-bottom: 1px solid var(--t4-border) !important; }
    body.tpl-template4 .menu-row nav ul.menu li a { color: var(--t4-ink) !important; }
    body.tpl-template4 .menu-row nav > ul.menu > li > a { padding: 13px 16px !important; }
    body.tpl-template4 .menu-row nav > ul.menu > li:hover > a,
    body.tpl-template4 .menu-row nav > ul.menu > li.active > a { border-bottom-color: transparent !important; }
    body.tpl-template4 .submenu {
        background: color-mix(in srgb, var(--t4-primary) 4%, #fff) !important;
        border: none !important;
        border-left: 3px solid var(--t4-accent) !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }
}

/* =========================================================================
   FOOTER — deep bordeaux band, cream text, terracotta hover + hairline
   ========================================================================= */
body.tpl-template4 .site-footer {
    background: var(--t4-primary) !important;
    color: rgba(255, 255, 255, .82) !important;
    padding-top: 58px !important;
}
body.tpl-template4 .footer-inner { max-width: 1200px !important; }
body.tpl-template4 .footer-col h3 {
    font-family: 'Fraunces', Georgia, serif !important;
    color: #fff !important;
    border-bottom: 2px solid var(--t4-accent) !important;
    padding-bottom: 10px !important;
    letter-spacing: .3px;
}
body.tpl-template4 .footer-about-text { color: rgba(255, 255, 255, .7) !important; }
body.tpl-template4 .footer-links a { color: rgba(255, 255, 255, .74) !important; transition: color .2s ease, gap .2s ease; }
body.tpl-template4 .footer-links a::before { color: var(--t4-accent) !important; }
body.tpl-template4 .footer-links a:hover { color: var(--t4-accent) !important; gap: 10px; }
body.tpl-template4 .footer-social a {
    background: rgba(255, 255, 255, .1) !important;
    border: 1px solid rgba(255, 255, 255, .16) !important;
    border-radius: var(--t4-radius-sm) !important;
    color: rgba(255, 255, 255, .8) !important;
    transition: background .2s ease, color .2s ease, border-color .2s ease, transform .2s ease !important;
}
body.tpl-template4 .footer-social a:hover {
    background: var(--t4-accent) !important;
    border-color: var(--t4-accent) !important;
    color: #2a1400 !important;
    transform: translateY(-2px) !important;
}
body.tpl-template4 .footer-contact-item { color: rgba(255, 255, 255, .74) !important; }
body.tpl-template4 .fci-icon {
    background: color-mix(in srgb, var(--t4-accent) 26%, transparent) !important;
    color: #fff !important;
    border-radius: var(--t4-radius-sm) !important;
}
body.tpl-template4 .footer-contact-item a { color: rgba(255, 255, 255, .85) !important; }
body.tpl-template4 .footer-contact-item a:hover { color: var(--t4-accent) !important; }
body.tpl-template4 .footer-map { border-radius: var(--t4-radius) !important; overflow: hidden !important; }
body.tpl-template4 .footer-bottom {
    background: color-mix(in srgb, var(--t4-primary) 84%, #000) !important;
    color: rgba(255, 255, 255, .58) !important;
    border-top: 1px solid color-mix(in srgb, var(--t4-accent) 40%, transparent) !important;
    margin-top: 46px !important;
}
body.tpl-template4 .footer-bottom a { color: rgba(255, 255, 255, .72) !important; }
body.tpl-template4 .footer-bottom a:hover { color: var(--t4-accent) !important; }

/* =========================================================================
   INNER BANNERS — bordeaux→garnet heritage hero (sis / hw / nt / cu / pg)
   Fraunces cream heading · terracotta uppercase eyebrow · terracotta line
   ========================================================================= */
body.tpl-template4 .sis-banner,
body.tpl-template4 .hw-banner,
body.tpl-template4 .nt-banner,
body.tpl-template4 .cu-banner,
body.tpl-template4 .pg-hero {
    background: linear-gradient(125deg, var(--t4-primary) 0%, var(--t4-secondary) 100%) !important;
    border-bottom: 3px solid var(--t4-accent) !important;
    padding: 68px 0 56px !important;
    position: relative !important;
    overflow: hidden !important;
}
body.tpl-template4 .sis-banner::before,
body.tpl-template4 .hw-banner::before,
body.tpl-template4 .nt-banner::before {
    background:
        radial-gradient(circle at 14% 26%, rgba(255, 255, 255, .1) 0, transparent 42%),
        radial-gradient(circle at 86% 78%, color-mix(in srgb, var(--t4-accent) 38%, transparent) 0, transparent 48%) !important;
}
body.tpl-template4 .sis-banner h2,
body.tpl-template4 .hw-banner h2,
body.tpl-template4 .nt-banner h2,
body.tpl-template4 .cu-banner h2,
body.tpl-template4 .pg-hero h1,
body.tpl-template4 .pg-hero h2 {
    font-family: 'Fraunces', Georgia, serif !important;
    color: #fff !important;
    font-weight: 700 !important;
    letter-spacing: -0.3px !important;
    text-transform: none !important;
}
body.tpl-template4 .sis-banner p,
body.tpl-template4 .hw-banner p,
body.tpl-template4 .nt-banner p,
body.tpl-template4 .sis-banner .eyebrow {
    color: color-mix(in srgb, var(--t4-accent) 55%, #fff) !important;
    text-transform: uppercase;
    letter-spacing: 2.5px;
    font-weight: 600;
}
body.tpl-template4 .sis-banner-line,
body.tpl-template4 .hw-banner-line,
body.tpl-template4 .nt-banner-line,
body.tpl-template4 .cu-banner-line,
body.tpl-template4 .pg-hero-divider {
    background: var(--t4-accent) !important;
    height: 4px !important;
    width: 66px !important;
    border-radius: 999px !important;
}
body.tpl-template4 .hw-title { font-family: 'Fraunces', Georgia, serif !important; color: var(--t4-primary) !important; font-weight: 700 !important; }

/* =========================================================================
   INNER SECTIONS background — warm ivory ground
   ========================================================================= */
body.tpl-template4 .sis-section,
body.tpl-template4 .hw-section,
body.tpl-template4 .nt-section,
body.tpl-template4 .cu-section,
body.tpl-template4 .pg-section {
    background: var(--t4-bg) !important;
    font-family: 'Space Grotesk', system-ui, sans-serif !important;
}
body.tpl-template4 .sis-container { max-width: 1120px !important; }

/* =========================================================================
   CONTENT CARDS — crisp cream paper, left bordeaux rule, warm shadow
   ========================================================================= */
body.tpl-template4 .sis-card {
    background: var(--t4-surface) !important;
    border: 1px solid var(--t4-border) !important;
    border-left: 4px solid var(--t4-primary) !important;
    border-radius: var(--t4-radius) !important;
    box-shadow: var(--t4-shadow) !important;
    padding: 30px 34px !important;
    margin-bottom: 24px !important;
    transition: transform .22s ease, box-shadow .22s ease, border-left-color .22s ease !important;
}
body.tpl-template4 .sis-card:hover {
    transform: translateY(-3px) !important;
    box-shadow: var(--t4-shadow-lg) !important;
    border-left-color: var(--t4-secondary) !important;
}
/* the left bordeaux rule replaces the top bar — hide the ::before topper */
body.tpl-template4 .sis-card::before { display: none !important; }

/* Split layout — arched cream-matted photo frame */
body.tpl-template4 .sis-card-split { gap: 40px !important; align-items: center !important; }
body.tpl-template4 .sis-card-split .sis-media img {
    border-radius: var(--t4-arch) !important;
    background: var(--t4-surface) !important;
    padding: 8px !important;
    border: 1px solid var(--t4-border) !important;
    box-shadow: 0 20px 44px -24px rgba(110, 27, 61, .32) !important;
}

/* Heading — Fraunces bordeaux, no underline, short terracotta rule above */
body.tpl-template4 .sis-heading {
    font-family: 'Fraunces', Georgia, serif !important;
    color: var(--t4-primary) !important;
    border-bottom: none !important;
    text-transform: none !important;
    letter-spacing: -0.2px !important;
    font-weight: 700 !important;
    font-size: 26px !important;
    padding-bottom: 0 !important;
}
body.tpl-template4 .sis-heading::before {
    content: ''; display: block; width: 44px; height: 3px; margin-bottom: 14px;
    background: var(--t4-accent); border-radius: 2px;
}
body.tpl-template4 .sis-desc {
    color: var(--t4-ink) !important;
    font-family: 'Space Grotesk', system-ui, sans-serif !important;
    font-size: 15px !important;
    line-height: 1.9 !important;
}
/* Drop-cap on the opening article's first paragraph */
body.tpl-template4 .sis-card:first-child .sis-desc > p:first-of-type::first-letter {
    float: left;
    font-family: 'Fraunces', Georgia, serif;
    font-weight: 700;
    font-size: 56px;
    line-height: 44px;
    padding: 4px 12px 0 0;
    color: var(--t4-primary);
}
body.tpl-template4 .sis-desc strong,
body.tpl-template4 .sis-desc b { color: var(--t4-primary) !important; }
body.tpl-template4 .sis-desc ul li,
body.tpl-template4 .sis-desc ol li { font-family: 'Space Grotesk', system-ui, sans-serif !important; color: var(--t4-ink) !important; }
/* bordeaux serif diamond tick in terracotta */
body.tpl-template4 .sis-desc ul li::before,
body.tpl-template4 .sis-desc ol li::before { content: '\2666' !important; color: var(--t4-accent) !important; }
body.tpl-template4 .sis-empty { font-family: 'Space Grotesk', system-ui, sans-serif !important; color: var(--t4-muted) !important; }

/* Content gallery — arched cream-matted thumbs */
body.tpl-template4 .sis-gallery { gap: 16px !important; }
body.tpl-template4 .sis-gitem {
    border-radius: var(--t4-arch) !important;
    background: var(--t4-surface) !important;
    padding: 6px !important;
    border: 1px solid var(--t4-border) !important;
    box-shadow: var(--t4-shadow) !important;
    transition: transform .3s ease, box-shadow .3s ease !important;
}
body.tpl-template4 .sis-gitem:hover { transform: translateY(-4px) !important; box-shadow: var(--t4-shadow-lg) !important; }

/* =========================================================================
   DOWNLOAD PAGE — ledger table, bordeaux header, bordeaux download buttons
   ========================================================================= */
body.tpl-template4 .hw-table-wrap {
    border-radius: var(--t4-radius) !important;
    border: 1px solid var(--t4-border) !important;
    box-shadow: var(--t4-shadow) !important;
    overflow: hidden !important;
}
body.tpl-template4 .hw-table { font-family: 'Space Grotesk', system-ui, sans-serif !important; }
body.tpl-template4 .hw-table thead th {
    background: linear-gradient(90deg, var(--t4-primary), var(--t4-secondary)) !important;
    color: #fff !important;
    letter-spacing: .5px !important;
}
body.tpl-template4 .hw-table tbody td { color: var(--t4-ink) !important; border-bottom: 1px solid var(--t4-border) !important; }
body.tpl-template4 .hw-table tbody tr:nth-child(even) { background: color-mix(in srgb, var(--t4-primary) 3%, #fff) !important; }
body.tpl-template4 .hw-table tbody tr:hover { background: color-mix(in srgb, var(--t4-accent) 9%, #fff) !important; }
body.tpl-template4 .hw-table .hw-class,
body.tpl-template4 .hw-class { color: var(--t4-primary) !important; }
body.tpl-template4 .hw-download-btn {
    background: var(--t4-primary) !important;
    color: #fff !important;
    border-radius: 999px !important;
    padding: 8px 18px !important;
    font-weight: 700 !important;
    box-shadow: 0 8px 18px -10px color-mix(in srgb, var(--t4-primary) 80%, transparent) !important;
    transition: background .2s ease, transform .2s ease !important;
}
body.tpl-template4 .hw-download-btn:hover { background: var(--t4-secondary) !important; color: #fff !important; transform: translateY(-1px) !important; }
body.tpl-template4 .hw-empty { font-family: 'Space Grotesk', system-ui, sans-serif !important; color: var(--t4-muted) !important; }
body.tpl-template4 .hw-empty i { color: color-mix(in srgb, var(--t4-accent) 45%, #fff) !important; }

/* =========================================================================
   NOTICES — cream cards, terracotta-tint chips + badges, heritage icons
   ========================================================================= */
body.tpl-template4 .nt-wrap { max-width: 920px !important; }
body.tpl-template4 .nt-search {
    border: 1.5px solid var(--t4-border) !important;
    border-radius: 999px !important;
    padding: 14px 22px !important;
    font-family: 'Space Grotesk', system-ui, sans-serif !important;
    box-shadow: var(--t4-shadow) !important;
    transition: border-color .2s ease, box-shadow .2s ease !important;
}
body.tpl-template4 .nt-search:focus {
    border-color: var(--t4-primary) !important;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--t4-primary) 14%, transparent) !important;
}
body.tpl-template4 .nt-chip {
    border: 1.5px solid var(--t4-border) !important;
    border-radius: 999px !important;
    color: var(--t4-ink) !important;
    font-family: 'Space Grotesk', system-ui, sans-serif !important;
    font-weight: 600 !important;
    transition: all .18s ease !important;
}
body.tpl-template4 .nt-chip:hover { border-color: var(--t4-accent) !important; color: var(--t4-primary) !important; }
body.tpl-template4 .nt-chip.active {
    background: var(--t4-primary) !important;
    border-color: var(--t4-primary) !important;
    color: #fff !important;
    box-shadow: 0 8px 18px -10px color-mix(in srgb, var(--t4-primary) 80%, transparent) !important;
}
body.tpl-template4 .nt-card {
    background: var(--t4-surface) !important;
    border: 1px solid var(--t4-border) !important;
    border-left: 4px solid var(--t4-primary) !important;
    border-radius: var(--t4-radius) !important;
    box-shadow: var(--t4-shadow) !important;
    padding: 20px 22px !important;
    transition: transform .18s ease, box-shadow .18s ease, border-left-color .18s ease !important;
}
body.tpl-template4 .nt-card:hover { transform: translateY(-3px) !important; box-shadow: var(--t4-shadow-lg) !important; border-left-color: var(--t4-secondary) !important; }
body.tpl-template4 .nt-ic { border-radius: var(--t4-radius-sm) !important; }
body.tpl-template4 .nt-ic.event { background: linear-gradient(135deg, var(--t4-primary), var(--t4-secondary)) !important; }
body.tpl-template4 .nt-ic.news { background: linear-gradient(135deg, var(--t4-accent), color-mix(in srgb, var(--t4-accent) 70%, var(--t4-secondary))) !important; }
body.tpl-template4 .nt-title { font-family: 'Fraunces', Georgia, serif !important; color: var(--t4-primary) !important; font-weight: 700 !important; }
body.tpl-template4 .nt-desc { font-family: 'Space Grotesk', system-ui, sans-serif !important; color: var(--t4-ink) !important; }
body.tpl-template4 .nt-badge { border-radius: 999px !important; font-weight: 700 !important; }
body.tpl-template4 .nt-badge.event { background: color-mix(in srgb, var(--t4-primary) 12%, #fff) !important; color: var(--t4-primary) !important; }
body.tpl-template4 .nt-badge.news { background: color-mix(in srgb, var(--t4-accent) 18%, #fff) !important; color: color-mix(in srgb, var(--t4-accent) 78%, #000) !important; }
body.tpl-template4 .nt-empty { font-family: 'Space Grotesk', system-ui, sans-serif !important; color: var(--t4-muted) !important; }

/* =========================================================================
   CONTACT — cream cards, bordeaux headers, solid bordeaux submit
   ========================================================================= */
body.tpl-template4 .cu-section { font-family: 'Space Grotesk', system-ui, sans-serif !important; }
body.tpl-template4 .cu-card {
    background: var(--t4-surface) !important;
    border: 1px solid var(--t4-border) !important;
    border-radius: var(--t4-radius) !important;
    box-shadow: var(--t4-shadow) !important;
    overflow: hidden !important;
}
body.tpl-template4 .cu-card-header {
    font-family: 'Fraunces', Georgia, serif !important;
    background: linear-gradient(120deg, var(--t4-primary), var(--t4-secondary)) !important;
    color: #fff !important;
}
body.tpl-template4 .cu-card-header.details,
body.tpl-template4 .cu-card-header.query {
    background: linear-gradient(120deg, var(--t4-primary), var(--t4-secondary)) !important;
    color: #fff !important;
}
body.tpl-template4 .cu-card-header h3,
body.tpl-template4 .cu-card-header * { color: #fff !important; }
body.tpl-template4 .cu-row { border-bottom: 1px solid var(--t4-border) !important; }
body.tpl-template4 .cu-row .label { color: var(--t4-muted) !important; }
body.tpl-template4 .cu-row .value { color: var(--t4-ink) !important; }
body.tpl-template4 .cu-row .value.school-name { color: var(--t4-primary) !important; }
body.tpl-template4 .cu-row .value a { color: var(--t4-primary) !important; }
body.tpl-template4 .cu-row .value a:hover { color: var(--t4-secondary) !important; }
body.tpl-template4 .cu-row i,
body.tpl-template4 .cu-row .fa,
body.tpl-template4 .cu-row [class*="fa-"] { color: var(--t4-accent) !important; }
body.tpl-template4 .cu-map-wrap { border-radius: var(--t4-radius) !important; overflow: hidden !important; }
body.tpl-template4 .cu-form-body label { font-family: 'Space Grotesk', system-ui, sans-serif !important; color: var(--t4-ink) !important; }
body.tpl-template4 .cu-form-body input,
body.tpl-template4 .cu-form-body textarea,
body.tpl-template4 .cu-form-body select {
    border: 1.5px solid var(--t4-border) !important;
    border-radius: var(--t4-radius-sm) !important;
    font-family: 'Space Grotesk', system-ui, sans-serif !important;
    background: color-mix(in srgb, var(--t4-primary) 2%, #fff) !important;
    transition: border-color .2s ease, box-shadow .2s ease, background .2s ease !important;
}
body.tpl-template4 .cu-form-body input:focus,
body.tpl-template4 .cu-form-body textarea:focus,
body.tpl-template4 .cu-form-body select:focus {
    border-color: var(--t4-primary) !important;
    background: #fff !important;
    outline: none !important;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--t4-primary) 14%, transparent) !important;
}
body.tpl-template4 .cu-submit-btn {
    background: var(--t4-primary) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 999px !important;
    padding: 13px 30px !important;
    font-family: 'Space Grotesk', system-ui, sans-serif !important;
    font-weight: 700 !important;
    box-shadow: 0 12px 26px -14px color-mix(in srgb, var(--t4-primary) 80%, transparent) !important;
    transition: background .2s ease, transform .2s ease !important;
}
body.tpl-template4 .cu-submit-btn:hover { background: var(--t4-secondary) !important; transform: translateY(-2px) !important; }

/* =========================================================================
   PHOTO GALLERY — medallion hero icon, arched matted tiles, bordeaux lightbox
   ========================================================================= */
body.tpl-template4 .pg-hero-icon {
    background: rgba(255, 255, 255, .16) !important;
    border: 3px solid #fff !important;
    outline: 2px solid var(--t4-accent) !important;
    outline-offset: 2px !important;
    color: #fff !important;
    border-radius: 50% !important;
}
body.tpl-template4 .pg-hero p { color: rgba(255, 255, 255, .86) !important; }
body.tpl-template4 .pg-hero-breadcrumb a:hover,
body.tpl-template4 .pg-hero-breadcrumb .sep { color: var(--t4-accent) !important; }
body.tpl-template4 .pg-item {
    border-radius: var(--t4-arch) !important;
    background: var(--t4-surface) !important;
    padding: 8px !important;
    border: 1px solid var(--t4-border) !important;
    box-shadow: var(--t4-shadow) !important;
    overflow: hidden !important;
    transition: transform .3s cubic-bezier(.2, .7, .3, 1), box-shadow .3s ease !important;
}
body.tpl-template4 .pg-item:hover { transform: translateY(-5px) !important; box-shadow: var(--t4-shadow-lg) !important; }
body.tpl-template4 .pg-item:hover::after { border-color: var(--t4-accent) !important; }
body.tpl-template4 .pg-item-overlay {
    background: linear-gradient(to top, color-mix(in srgb, var(--t4-primary) 85%, #000), transparent) !important;
}
body.tpl-template4 .pg-item-title { color: #fff !important; font-family: 'Fraunces', Georgia, serif !important; }
body.tpl-template4 .pg-empty { font-family: 'Space Grotesk', system-ui, sans-serif !important; color: var(--t4-muted) !important; }
body.tpl-template4 .pg-lightbox-close,
body.tpl-template4 .pg-lightbox-prev,
body.tpl-template4 .pg-lightbox-next {
    background: var(--t4-primary) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 50% !important;
}
body.tpl-template4 .pg-lightbox-close:hover,
body.tpl-template4 .pg-lightbox-prev:hover,
body.tpl-template4 .pg-lightbox-next:hover { background: var(--t4-secondary) !important; }

/* =========================================================================
   GENERIC — headings, links, buttons, tables, cards inside the skin
   ========================================================================= */
body.tpl-template4 main h1,
body.tpl-template4 main h2,
body.tpl-template4 main h3 {
    font-family: 'Fraunces', Georgia, serif !important;
    color: var(--t4-primary) !important;
}
/* keep chrome / banner / nav links on their own colours */
body.tpl-template4 .sis-banner a,
body.tpl-template4 .hw-banner a,
body.tpl-template4 .nt-banner a,
body.tpl-template4 .cu-banner a,
body.tpl-template4 .pg-hero a,
body.tpl-template4 .cu-card-header a,
body.tpl-template4 .hw-download-btn,
body.tpl-template4 .pg-item a { color: inherit !important; }

body.tpl-template4 main .btn,
body.tpl-template4 main button.btn,
body.tpl-template4 main input[type="submit"] {
    border-radius: 999px !important;
    font-family: 'Space Grotesk', system-ui, sans-serif !important;
    font-weight: 700 !important;
    border: none !important;
    transition: transform .2s ease, filter .2s ease, background .2s ease !important;
}
body.tpl-template4 main .btn:hover,
body.tpl-template4 main button.btn:hover,
body.tpl-template4 main input[type="submit"]:hover { transform: translateY(-2px) !important; filter: brightness(1.03) !important; }
body.tpl-template4 main .btn-primary { background: var(--t4-primary) !important; color: #fff !important; }
body.tpl-template4 main .btn-primary:hover { background: var(--t4-secondary) !important; color: #fff !important; }
body.tpl-template4 main .btn-secondary { background: var(--t4-secondary) !important; color: #fff !important; }
body.tpl-template4 main .btn-accent { background: var(--t4-accent) !important; color: #2a1400 !important; }

/* Generic tables in menu pages */
body.tpl-template4 main .table thead th,
body.tpl-template4 main table thead th {
    background: linear-gradient(90deg, var(--t4-primary), var(--t4-secondary)) !important;
    color: #fff !important;
    border: none !important;
}
body.tpl-template4 main .table tbody tr:nth-child(even),
body.tpl-template4 main table tbody tr:nth-child(even) { background: color-mix(in srgb, var(--t4-primary) 3%, #fff) !important; }
body.tpl-template4 main .table tbody tr:hover,
body.tpl-template4 main table tbody tr:hover { background: color-mix(in srgb, var(--t4-accent) 8%, #fff) !important; }

/* Generic cards / containers inside menu pages */
body.tpl-template4 main .card {
    background: var(--t4-surface) !important;
    border: 1px solid var(--t4-border) !important;
    border-radius: var(--t4-radius) !important;
    box-shadow: var(--t4-shadow) !important;
    overflow: hidden !important;
}
body.tpl-template4 main blockquote {
    border-left: 4px solid var(--t4-accent) !important;
    background: color-mix(in srgb, var(--t4-primary) 4%, #fff) !important;
    padding: 14px 18px; border-radius: 0 var(--t4-radius) var(--t4-radius) 0;
    font-family: 'Space Grotesk', system-ui, sans-serif !important;
}
body.tpl-template4 main hr { border-color: var(--t4-border) !important; }

/* =========================================================================
   RESPONSIVE polish
   ========================================================================= */
@media (max-width: 780px) {
    body.tpl-template4 .sis-card { padding: 22px 18px !important; }
    body.tpl-template4 .sis-heading { font-size: 21px !important; }
    body.tpl-template4 .sis-section { padding: 40px 0 52px !important; }
    body.tpl-template4 .sis-card:first-child .sis-desc > p:first-of-type::first-letter { font-size: 46px; line-height: 38px; }
}
@media (max-width: 600px) {
    body.tpl-template4 .sis-banner,
    body.tpl-template4 .hw-banner,
    body.tpl-template4 .nt-banner,
    body.tpl-template4 .cu-banner,
    body.tpl-template4 .pg-hero { padding: 46px 0 40px !important; }
    body.tpl-template4 .sis-banner h2,
    body.tpl-template4 .hw-banner h2,
    body.tpl-template4 .nt-banner h2,
    body.tpl-template4 .cu-banner h2 { font-size: 25px !important; }
    body.tpl-template4 .header-admit-btn { padding: 10px 18px !important; }
}

/* ===== TEMPLATE 5 :: GRAPHITE & MAGENTA INDEX — inner-page skin ===== */
/* ============================================================================
   TEMPLATE 5 — "GRAPHITE & MAGENTA INDEX"  inner-page skin
   Warm-sand editorial magazine look · graphite / near-black ink + ONE electric
   magenta pop. Confident, contemporary, a designed publication (not playful,
   not corporate). Bricolage Grotesque display headings + Manrope body/UI ·
   NO serif anywhere · sand page ground · white bordered cards · magenta rules,
   bullets, pills and dots · graphite banners + graphite footer.
   Uses stable --t5-* tokens.
   Scope: body.tpl-template5 (only) — every selector prefixed, !important beats
   the shared base stylesheet + inline layout styles.
   ========================================================================== */

/* ---- local design tokens ---- */
body.tpl-template5 {
    --t5-primary: #1C1B22;
    --t5-secondary: #3A3846;
    --t5-accent: #FF2D78;
    --t5-bg: #FAF7F2;
    --t5-surface: #FFFFFF;
    --t5-ink: #1C1B22;
    --t5-muted: #6B6875;
    --t5-border: #E9E3DB;
    --t5-radius: 14px;
    --t5-radius-sm: 12px;
    --t5-pill: 999px;
    --t5-shadow: 0 18px 40px -22px rgba(28, 27, 34, .22);
    --t5-shadow-lg: 0 28px 56px -24px rgba(28, 27, 34, .32);
    font-family: 'Manrope', system-ui, sans-serif !important;
    color: var(--t5-ink);
    background: var(--t5-bg) !important;
}

body.tpl-template5,
body.tpl-template5 .page-body,
body.tpl-template5 main {
    font-family: 'Manrope', system-ui, sans-serif !important;
    background: var(--t5-bg) !important;
    color: var(--t5-ink);
}
body.tpl-template5 h1,
body.tpl-template5 h2,
body.tpl-template5 h3,
body.tpl-template5 h4 {
    font-family: 'Bricolage Grotesque', system-ui, sans-serif !important;
    color: var(--t5-ink);
    letter-spacing: -0.4px;
}
body.tpl-template5 ::selection { background: color-mix(in srgb, var(--t5-accent) 30%, #fff); color: var(--t5-ink); }
body.tpl-template5 main a { color: var(--t5-accent) !important; transition: color .2s ease; }
body.tpl-template5 main a:hover { color: color-mix(in srgb, var(--t5-accent) 80%, #000) !important; }

/* =========================================================================
   TOP BAR — thin graphite ledger strip, magenta icons + magenta pill
   ========================================================================= */
body.tpl-template5 .top-bar {
    background: var(--t5-primary) !important;
    font-size: 12.5px !important;
    padding: 8px 0 !important;
    border-bottom: 1px solid color-mix(in srgb, var(--t5-accent) 34%, transparent) !important;
}
body.tpl-template5 .tb-inner { max-width: 1200px !important; }
body.tpl-template5 .tb-left span,
body.tpl-template5 .tb-left a { color: rgba(255, 255, 255, .82) !important; letter-spacing: .2px; }
body.tpl-template5 .tb-left a:hover { color: #fff !important; }
body.tpl-template5 .tb-left i { color: var(--t5-accent) !important; }
body.tpl-template5 .tb-social a {
    background: rgba(255, 255, 255, .1) !important;
    color: rgba(255, 255, 255, .84) !important;
    border-radius: 50% !important;
    transition: background .2s ease, color .2s ease, transform .2s ease !important;
}
body.tpl-template5 .tb-social a:hover {
    background: var(--t5-accent) !important;
    color: #fff !important;
    transform: translateY(-2px) !important;
}
body.tpl-template5 .tb-admission {
    background: var(--t5-accent) !important;
    color: #fff !important;
    font-weight: 700 !important;
    border-radius: var(--t5-pill) !important;
    padding: 6px 16px !important;
    letter-spacing: .2px;
    box-shadow: 0 6px 16px -9px rgba(255, 45, 120, .8) !important;
    transition: background .2s ease, transform .2s ease !important;
}
body.tpl-template5 .tb-admission:hover { background: color-mix(in srgb, var(--t5-accent) 84%, #000) !important; transform: translateY(-1px) !important; }

/* =========================================================================
   HEADER — sand/white band, Bricolage graphite school name, magenta admit pill
   ========================================================================= */
body.tpl-template5 .main-header {
    background: var(--t5-surface) !important;
    box-shadow: 0 1px 0 var(--t5-border), 0 8px 26px -22px rgba(28, 27, 34, .5) !important;
    border-bottom: 1px solid var(--t5-border) !important;
}
body.tpl-template5 .header-inner { max-width: 1200px !important; padding: 16px 24px !important; }
body.tpl-template5 .header-logo img { height: 76px !important; transition: transform .3s ease !important; }
body.tpl-template5 .header-logo img:hover { transform: scale(1.04) !important; }
body.tpl-template5 .header-school-name { font-family: 'Bricolage Grotesque', system-ui, sans-serif !important; color: var(--t5-ink) !important; font-weight: 800 !important; letter-spacing: -0.5px !important; }
body.tpl-template5 .header-school-tagline { color: var(--t5-accent) !important; letter-spacing: 2.5px; text-transform: uppercase; font-weight: 700; }
body.tpl-template5 .hbadge {
    background: color-mix(in srgb, var(--t5-accent) 8%, #fff) !important;
    border: 1px solid var(--t5-border) !important;
    border-radius: var(--t5-pill) !important;
    color: var(--t5-ink) !important;
}
body.tpl-template5 .hbadge i { color: var(--t5-accent) !important; }

/* Admission button — solid magenta pill, darken on hover */
body.tpl-template5 .header-admit-btn {
    background: var(--t5-accent) !important;
    color: #fff !important;
    border: none !important;
    border-radius: var(--t5-pill) !important;
    padding: 12px 24px !important;
    font-weight: 800 !important;
    box-shadow: 0 12px 26px -14px color-mix(in srgb, var(--t5-accent) 80%, transparent) !important;
    transition: transform .22s ease, background .22s ease, box-shadow .22s ease !important;
}
body.tpl-template5 .header-admit-btn:hover {
    background: color-mix(in srgb, var(--t5-accent) 84%, #000) !important;
    color: #fff !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 16px 32px -14px color-mix(in srgb, var(--t5-accent) 70%, transparent) !important;
}
body.tpl-template5 .header-admit-btn i,
body.tpl-template5 .header-admit-btn strong { color: #fff !important; }
body.tpl-template5 .header-admit-btn:hover i,
body.tpl-template5 .header-admit-btn:hover strong { color: #fff !important; }

/* =========================================================================
   MENU BAR — sand/white strip, Manrope semibold graphite links,
   magenta hover/active with a small magenta dot marker
   ========================================================================= */
body.tpl-template5 .menu-row {
    background: var(--t5-surface) !important;
    border-bottom: 1px solid var(--t5-border) !important;
    box-shadow: 0 4px 20px -16px rgba(28, 27, 34, .4) !important;
}
body.tpl-template5 .menu-row nav > ul.menu {
    max-width: 1200px !important;
    justify-content: center !important;
    padding: 0 12px !important;
}
body.tpl-template5 .menu-row nav > ul.menu > li { position: relative !important; }
body.tpl-template5 .menu-row nav ul li a {
    color: var(--t5-ink) !important;
    font-family: 'Manrope', system-ui, sans-serif !important;
    font-weight: 600 !important;
    font-size: 15px !important;
    letter-spacing: .1px;
}
body.tpl-template5 .menu-row nav > ul.menu > li > a {
    padding: 20px 16px !important;
    border-bottom: 2px solid transparent !important;
    transition: color .2s ease !important;
}
body.tpl-template5 .menu-row nav > ul.menu > li:hover > a,
body.tpl-template5 .menu-row nav > ul.menu > li.active > a {
    background: transparent !important;
    color: var(--t5-accent) !important;
    border-bottom-color: transparent !important;
}
/* small magenta dot under hover/active top-level items */
body.tpl-template5 .menu-row nav > ul.menu > li:hover::after,
body.tpl-template5 .menu-row nav > ul.menu > li.active::after {
    content: '' !important;
    position: absolute !important;
    left: 50% !important;
    bottom: 9px !important;
    transform: translateX(-50%) !important;
    width: 6px !important;
    height: 6px !important;
    border-radius: 50% !important;
    background: var(--t5-accent) !important;
}
body.tpl-template5 .has-submenu > a::after { color: var(--t5-muted); opacity: .85; }
body.tpl-template5 .menu-toggle { color: var(--t5-accent) !important; }

/* Submenu — white, magenta top rule, rounded 12px, scrollable */
body.tpl-template5 .submenu {
    background: var(--t5-surface) !important;
    border: 1px solid var(--t5-border) !important;
    border-top: 3px solid var(--t5-accent) !important;
    border-radius: 4px !important;
    box-shadow: var(--t5-shadow) !important;
    max-height: min(68vh, 420px) !important;
    overflow-y: auto !important;
    scrollbar-color: color-mix(in srgb, var(--t5-accent) 65%, transparent) transparent;
}
body.tpl-template5 .submenu::-webkit-scrollbar-thumb { background: color-mix(in srgb, var(--t5-accent) 65%, transparent); }
body.tpl-template5 .submenu li a {
    color: var(--t5-ink) !important;
    font-family: 'Manrope', system-ui, sans-serif !important;
    font-weight: 600 !important;
    border-left: 3px solid color-mix(in srgb, var(--t5-accent) 35%, transparent) !important;
    transition: transform .16s ease, color .16s ease, border-color .16s ease !important;
}
body.tpl-template5 .submenu li a::before { color: var(--t5-accent) !important; }
body.tpl-template5 .submenu li a:hover {
    background: transparent !important;
    color: var(--t5-accent) !important;
    border-left-color: var(--t5-accent) !important;
    transform: translateX(4px) !important;
}
body.tpl-template5 .submenu .submenu { border-top: 3px solid var(--t5-accent) !important; }

/* Mobile menu — white panel, magenta submenu rail */
@media (max-width: 768px) {
    body.tpl-template5 .header-inner { padding: 12px 16px !important; }
    body.tpl-template5 .header-logo img { height: 52px !important; }
    body.tpl-template5 .menu-row nav {
        background: var(--t5-surface) !important;
        border-top: 1px solid var(--t5-border) !important;
        box-shadow: 0 10px 24px -16px rgba(28, 27, 34, .4) !important;
    }
    body.tpl-template5 .menu-row nav ul.menu li { border-bottom: 1px solid var(--t5-border) !important; }
    body.tpl-template5 .menu-row nav ul.menu li a { color: var(--t5-ink) !important; }
    body.tpl-template5 .menu-row nav > ul.menu > li > a { padding: 13px 16px !important; }
    body.tpl-template5 .menu-row nav > ul.menu > li:hover::after,
    body.tpl-template5 .menu-row nav > ul.menu > li.active::after { display: none !important; }
    body.tpl-template5 .submenu {
        background: color-mix(in srgb, var(--t5-accent) 4%, #fff) !important;
        border: none !important;
        border-left: 3px solid var(--t5-accent) !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }
}

/* =========================================================================
   FOOTER — deep graphite band, sand text, magenta hovers + hairline divider
   ========================================================================= */
body.tpl-template5 .site-footer {
    background: var(--t5-primary) !important;
    color: rgba(255, 255, 255, .72) !important;
    padding-top: 58px !important;
}
body.tpl-template5 .footer-inner { max-width: 1200px !important; }
body.tpl-template5 .footer-col h3 {
    font-family: 'Bricolage Grotesque', system-ui, sans-serif !important;
    color: #fff !important;
    border-bottom: 2px solid var(--t5-accent) !important;
    padding-bottom: 10px !important;
    letter-spacing: -0.2px;
}
body.tpl-template5 .footer-about-text { color: rgba(255, 255, 255, .62) !important; }
body.tpl-template5 .footer-links a { color: rgba(255, 255, 255, .68) !important; transition: color .2s ease, gap .2s ease; }
body.tpl-template5 .footer-links a::before { color: var(--t5-accent) !important; }
body.tpl-template5 .footer-links a:hover { color: var(--t5-accent) !important; gap: 10px; }
body.tpl-template5 .footer-social a {
    background: rgba(255, 255, 255, .08) !important;
    border: 1px solid rgba(255, 255, 255, .14) !important;
    border-radius: 50% !important;
    color: rgba(255, 255, 255, .8) !important;
    transition: background .2s ease, color .2s ease, border-color .2s ease, transform .2s ease !important;
}
body.tpl-template5 .footer-social a:hover {
    background: var(--t5-accent) !important;
    border-color: var(--t5-accent) !important;
    color: #fff !important;
    transform: translateY(-2px) !important;
}
body.tpl-template5 .footer-contact-item { color: rgba(255, 255, 255, .7) !important; }
body.tpl-template5 .fci-icon {
    background: var(--t5-accent) !important;
    color: #fff !important;
    border-radius: 50% !important;
}
body.tpl-template5 .footer-contact-item a { color: rgba(255, 255, 255, .84) !important; }
body.tpl-template5 .footer-contact-item a:hover { color: var(--t5-accent) !important; }
body.tpl-template5 .footer-map { border-radius: var(--t5-radius) !important; overflow: hidden !important; }
body.tpl-template5 .footer-bottom {
    background: color-mix(in srgb, var(--t5-primary) 70%, #000) !important;
    color: rgba(255, 255, 255, .55) !important;
    border-top: 1px solid color-mix(in srgb, var(--t5-accent) 45%, transparent) !important;
    margin-top: 46px !important;
}
body.tpl-template5 .footer-bottom a { color: rgba(255, 255, 255, .7) !important; }
body.tpl-template5 .footer-bottom a:hover { color: var(--t5-accent) !important; }

/* =========================================================================
   INNER BANNERS — graphite editorial hero (sis / hw / nt / cu / pg)
   Bricolage white heading · magenta pill eyebrow · magenta line · crisp
   ========================================================================= */
body.tpl-template5 .sis-banner,
body.tpl-template5 .hw-banner,
body.tpl-template5 .nt-banner,
body.tpl-template5 .cu-banner,
body.tpl-template5 .pg-hero {
    background: var(--t5-primary) !important;
    border-bottom: 3px solid var(--t5-accent) !important;
    padding: 68px 0 56px !important;
    position: relative !important;
    overflow: hidden !important;
}
body.tpl-template5 .sis-banner::before,
body.tpl-template5 .hw-banner::before,
body.tpl-template5 .nt-banner::before {
    background:
        radial-gradient(circle at 12% 22%, rgba(255, 255, 255, .06) 0, transparent 40%),
        radial-gradient(circle at 88% 80%, color-mix(in srgb, var(--t5-accent) 30%, transparent) 0, transparent 46%) !important;
}
body.tpl-template5 .sis-banner h2,
body.tpl-template5 .hw-banner h2,
body.tpl-template5 .nt-banner h2,
body.tpl-template5 .cu-banner h2,
body.tpl-template5 .pg-hero h1,
body.tpl-template5 .pg-hero h2 {
    font-family: 'Bricolage Grotesque', system-ui, sans-serif !important;
    color: #fff !important;
    font-weight: 800 !important;
    letter-spacing: -0.6px !important;
    text-transform: none !important;
}
/* magenta pill eyebrow */
body.tpl-template5 .sis-banner p,
body.tpl-template5 .hw-banner p,
body.tpl-template5 .nt-banner p,
body.tpl-template5 .sis-banner .eyebrow {
    display: inline-block;
    background: var(--t5-accent) !important;
    color: #fff !important;
    text-transform: uppercase;
    letter-spacing: 2.5px;
    font-weight: 800;
    border-radius: var(--t5-pill) !important;
    padding: 5px 16px !important;
}
body.tpl-template5 .sis-banner-line,
body.tpl-template5 .hw-banner-line,
body.tpl-template5 .nt-banner-line,
body.tpl-template5 .cu-banner-line,
body.tpl-template5 .pg-hero-divider {
    background: var(--t5-accent) !important;
    height: 4px !important;
    width: 66px !important;
    border-radius: var(--t5-pill) !important;
}
body.tpl-template5 .hw-title { font-family: 'Bricolage Grotesque', system-ui, sans-serif !important; color: var(--t5-ink) !important; font-weight: 800 !important; }

/* =========================================================================
   INNER SECTIONS background — warm sand ground
   ========================================================================= */
body.tpl-template5 .sis-section,
body.tpl-template5 .hw-section,
body.tpl-template5 .nt-section,
body.tpl-template5 .cu-section,
body.tpl-template5 .pg-section {
    background: var(--t5-bg) !important;
    font-family: 'Manrope', system-ui, sans-serif !important;
}
body.tpl-template5 .sis-container { max-width: 1120px !important; }

/* =========================================================================
   CONTENT CARDS — white, thin border, 14px radius, soft shadow, magenta tab
   ========================================================================= */
body.tpl-template5 .sis-card {
    background: var(--t5-surface) !important;
    border: 1px solid var(--t5-border) !important;
    border-radius: var(--t5-radius) !important;
    box-shadow: var(--t5-shadow) !important;
    padding: 32px 34px !important;
    margin-bottom: 24px !important;
    position: relative !important;
    overflow: hidden !important;
    transition: transform .22s ease, box-shadow .22s ease !important;
}
body.tpl-template5 .sis-card:hover {
    transform: translateY(-3px) !important;
    box-shadow: var(--t5-shadow-lg) !important;
}
/* short magenta top bar (index tab) */
body.tpl-template5 .sis-card::before {
    content: '' !important;
    display: block !important;
    position: absolute !important;
    top: 0 !important;
    left: 34px !important;
    width: 54px !important;
    height: 4px !important;
    background: var(--t5-accent) !important;
    border-radius: 0 0 4px 4px !important;
}

/* Split layout — white-framed image with magenta corner accent */
body.tpl-template5 .sis-card-split { gap: 40px !important; align-items: center !important; }
body.tpl-template5 .sis-card-split .sis-media { position: relative !important; }
body.tpl-template5 .sis-card-split .sis-media img {
    border-radius: var(--t5-radius) !important;
    background: var(--t5-surface) !important;
    padding: 8px !important;
    border: 1px solid var(--t5-border) !important;
    box-shadow: 0 20px 44px -24px rgba(28, 27, 34, .28) !important;
    transition: transform .3s ease !important;
}
body.tpl-template5 .sis-card-split .sis-media::after {
    content: '' !important;
    position: absolute !important;
    top: -6px; right: -6px;
    width: 34px; height: 34px;
    border-top: 4px solid var(--t5-accent);
    border-right: 4px solid var(--t5-accent);
    border-radius: 0 var(--t5-radius) 0 0;
}

/* Heading — Bricolage graphite with a magenta swash underline */
body.tpl-template5 .sis-heading {
    font-family: 'Bricolage Grotesque', system-ui, sans-serif !important;
    color: var(--t5-ink) !important;
    border-bottom: none !important;
    text-transform: none !important;
    letter-spacing: -0.4px !important;
    font-weight: 800 !important;
    font-size: 27px !important;
    padding-bottom: 0 !important;
    position: relative !important;
}
body.tpl-template5 .sis-heading::after {
    content: ''; display: block; width: 64px; height: 6px; margin-top: 10px;
    background: var(--t5-accent); border-radius: 2px;
    transform: skewX(-14deg);
}
body.tpl-template5 .sis-desc {
    color: var(--t5-ink) !important;
    font-family: 'Manrope', system-ui, sans-serif !important;
    font-size: 15.5px !important;
    line-height: 1.85 !important;
}
body.tpl-template5 .sis-desc strong,
body.tpl-template5 .sis-desc b { color: var(--t5-accent) !important; }
/* ledger/index list — hairline rules, magenta asterisk bullets */
body.tpl-template5 .sis-desc ul li,
body.tpl-template5 .sis-desc ol li {
    font-family: 'Manrope', system-ui, sans-serif !important;
    color: var(--t5-ink) !important;
    list-style: none !important;
    position: relative !important;
    padding: 9px 0 9px 28px !important;
    border-bottom: 1px solid var(--t5-border) !important;
}
body.tpl-template5 .sis-desc ul li::before,
body.tpl-template5 .sis-desc ol li::before {
    content: '\002A' !important;
    color: var(--t5-accent) !important;
    position: absolute !important;
    left: 4px !important;
    top: 11px !important;
    font-weight: 800 !important;
}
body.tpl-template5 .sis-empty { font-family: 'Manrope', system-ui, sans-serif !important; color: var(--t5-muted) !important; }

/* Content gallery — taped-polaroid tilt, straightens on hover */
body.tpl-template5 .sis-gallery { gap: 18px !important; }
body.tpl-template5 .sis-gitem {
    border-radius: var(--t5-radius) !important;
    background: var(--t5-surface) !important;
    padding: 8px !important;
    border: 1px solid var(--t5-border) !important;
    box-shadow: var(--t5-shadow) !important;
    transform: rotate(-1.5deg) !important;
    transition: transform .3s ease, box-shadow .3s ease !important;
}
body.tpl-template5 .sis-gitem:hover { transform: rotate(0deg) translateY(-4px) !important; box-shadow: var(--t5-shadow-lg) !important; }

/* =========================================================================
   DOWNLOAD PAGE — bordered table card, graphite header, magenta pill buttons
   ========================================================================= */
body.tpl-template5 .hw-table-wrap {
    border-radius: var(--t5-radius) !important;
    border: 1px solid var(--t5-border) !important;
    box-shadow: var(--t5-shadow) !important;
    overflow: hidden !important;
}
body.tpl-template5 .hw-table { font-family: 'Manrope', system-ui, sans-serif !important; }
body.tpl-template5 .hw-table thead th {
    background: var(--t5-primary) !important;
    color: #fff !important;
    letter-spacing: .5px !important;
}
body.tpl-template5 .hw-table tbody td { color: var(--t5-ink) !important; border-bottom: 1px solid var(--t5-border) !important; }
body.tpl-template5 .hw-table tbody tr:nth-child(even) { background: color-mix(in srgb, var(--t5-primary) 3%, #fff) !important; }
body.tpl-template5 .hw-table tbody tr:hover { background: color-mix(in srgb, var(--t5-accent) 8%, #fff) !important; }
body.tpl-template5 .hw-table .hw-class,
body.tpl-template5 .hw-class { color: var(--t5-accent) !important; }
body.tpl-template5 .hw-download-btn {
    background: var(--t5-accent) !important;
    color: #fff !important;
    border-radius: var(--t5-pill) !important;
    padding: 8px 20px !important;
    font-weight: 800 !important;
    box-shadow: 0 8px 18px -10px color-mix(in srgb, var(--t5-accent) 80%, transparent) !important;
    transition: background .2s ease, transform .2s ease !important;
}
body.tpl-template5 .hw-download-btn:hover { background: color-mix(in srgb, var(--t5-accent) 84%, #000) !important; color: #fff !important; transform: translateY(-2px) !important; }
body.tpl-template5 .hw-empty { font-family: 'Manrope', system-ui, sans-serif !important; color: var(--t5-muted) !important; }
body.tpl-template5 .hw-empty i { color: color-mix(in srgb, var(--t5-accent) 45%, #fff) !important; }

/* =========================================================================
   NOTICES — white bordered cards, magenta-tint chips + badges, bubble icons
   ========================================================================= */
body.tpl-template5 .nt-wrap { max-width: 920px !important; }
body.tpl-template5 .nt-search {
    border: 1.5px solid var(--t5-border) !important;
    border-radius: var(--t5-pill) !important;
    padding: 14px 22px !important;
    font-family: 'Manrope', system-ui, sans-serif !important;
    box-shadow: var(--t5-shadow) !important;
    transition: border-color .2s ease, box-shadow .2s ease !important;
}
body.tpl-template5 .nt-search:focus {
    border-color: var(--t5-accent) !important;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--t5-accent) 16%, transparent) !important;
}
body.tpl-template5 .nt-chip {
    border: 1.5px solid var(--t5-border) !important;
    border-radius: var(--t5-pill) !important;
    background: color-mix(in srgb, var(--t5-accent) 8%, #fff) !important;
    color: var(--t5-ink) !important;
    font-family: 'Manrope', system-ui, sans-serif !important;
    font-weight: 700 !important;
    transition: all .18s ease !important;
}
body.tpl-template5 .nt-chip:hover { border-color: var(--t5-accent) !important; color: var(--t5-accent) !important; }
body.tpl-template5 .nt-chip.active {
    background: var(--t5-accent) !important;
    border-color: var(--t5-accent) !important;
    color: #fff !important;
    box-shadow: 0 8px 18px -10px color-mix(in srgb, var(--t5-accent) 80%, transparent) !important;
}
body.tpl-template5 .nt-card {
    background: var(--t5-surface) !important;
    border: 1px solid var(--t5-border) !important;
    border-radius: var(--t5-radius) !important;
    box-shadow: var(--t5-shadow) !important;
    padding: 22px 24px !important;
    transition: transform .18s ease, box-shadow .18s ease !important;
}
body.tpl-template5 .nt-card:hover { transform: translateY(-3px) !important; box-shadow: var(--t5-shadow-lg) !important; }
body.tpl-template5 .nt-ic {
    border-radius: 50% !important;
    color: #fff !important;
}
body.tpl-template5 .nt-ic.event { background: var(--t5-primary) !important; }
body.tpl-template5 .nt-ic.news { background: var(--t5-accent) !important; }
body.tpl-template5 .nt-title { font-family: 'Bricolage Grotesque', system-ui, sans-serif !important; color: var(--t5-ink) !important; font-weight: 800 !important; }
body.tpl-template5 .nt-desc { font-family: 'Manrope', system-ui, sans-serif !important; color: var(--t5-ink) !important; }
body.tpl-template5 .nt-badge { border-radius: var(--t5-pill) !important; font-weight: 800 !important; }
body.tpl-template5 .nt-badge.event { background: color-mix(in srgb, var(--t5-primary) 10%, #fff) !important; color: var(--t5-primary) !important; }
body.tpl-template5 .nt-badge.news { background: color-mix(in srgb, var(--t5-accent) 16%, #fff) !important; color: color-mix(in srgb, var(--t5-accent) 82%, #000) !important; }
body.tpl-template5 .nt-empty { font-family: 'Manrope', system-ui, sans-serif !important; color: var(--t5-muted) !important; }

/* =========================================================================
   CONTACT — white bordered cards, graphite headers, magenta pill submit
   ========================================================================= */
body.tpl-template5 .cu-section { font-family: 'Manrope', system-ui, sans-serif !important; }
body.tpl-template5 .cu-card {
    background: var(--t5-surface) !important;
    border: 1px solid var(--t5-border) !important;
    border-radius: var(--t5-radius) !important;
    box-shadow: var(--t5-shadow) !important;
    overflow: hidden !important;
}
body.tpl-template5 .cu-card-header {
    font-family: 'Bricolage Grotesque', system-ui, sans-serif !important;
    background: var(--t5-primary) !important;
    color: #fff !important;
}
body.tpl-template5 .cu-card-header.details,
body.tpl-template5 .cu-card-header.query {
    background: var(--t5-primary) !important;
    color: #fff !important;
}
body.tpl-template5 .cu-card-header h3,
body.tpl-template5 .cu-card-header * { color: #fff !important; }
body.tpl-template5 .cu-row { border-bottom: 1px solid var(--t5-border) !important; }
body.tpl-template5 .cu-row .label { color: var(--t5-muted) !important; }
body.tpl-template5 .cu-row .value { color: var(--t5-ink) !important; }
body.tpl-template5 .cu-row .value.school-name { color: var(--t5-accent) !important; }
body.tpl-template5 .cu-row .value a { color: var(--t5-accent) !important; }
body.tpl-template5 .cu-row .value a:hover { color: color-mix(in srgb, var(--t5-accent) 82%, #000) !important; }
body.tpl-template5 .cu-row i,
body.tpl-template5 .cu-row .fa,
body.tpl-template5 .cu-row [class*="fa-"] { color: var(--t5-accent) !important; }
body.tpl-template5 .cu-map-wrap { border-radius: var(--t5-radius) !important; overflow: hidden !important; }
body.tpl-template5 .cu-form-body label { font-family: 'Manrope', system-ui, sans-serif !important; color: var(--t5-ink) !important; font-weight: 700 !important; }
body.tpl-template5 .cu-form-body input,
body.tpl-template5 .cu-form-body textarea,
body.tpl-template5 .cu-form-body select {
    border: 1.5px solid var(--t5-border) !important;
    border-radius: var(--t5-radius-sm) !important;
    font-family: 'Manrope', system-ui, sans-serif !important;
    background: color-mix(in srgb, var(--t5-primary) 2%, #fff) !important;
    transition: border-color .2s ease, box-shadow .2s ease, background .2s ease !important;
}
body.tpl-template5 .cu-form-body input:focus,
body.tpl-template5 .cu-form-body textarea:focus,
body.tpl-template5 .cu-form-body select:focus {
    border-color: var(--t5-accent) !important;
    background: #fff !important;
    outline: none !important;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--t5-accent) 16%, transparent) !important;
}
body.tpl-template5 .cu-submit-btn {
    background: var(--t5-accent) !important;
    color: #fff !important;
    border: none !important;
    border-radius: var(--t5-pill) !important;
    padding: 13px 32px !important;
    font-family: 'Manrope', system-ui, sans-serif !important;
    font-weight: 800 !important;
    box-shadow: 0 12px 26px -14px color-mix(in srgb, var(--t5-accent) 80%, transparent) !important;
    transition: background .2s ease, transform .2s ease !important;
}
body.tpl-template5 .cu-submit-btn:hover { background: color-mix(in srgb, var(--t5-accent) 84%, #000) !important; transform: translateY(-2px) !important; }

/* =========================================================================
   PHOTO GALLERY — graphite bubble hero icon, framed tiles, magenta lightbox
   ========================================================================= */
body.tpl-template5 .pg-hero-icon {
    background: var(--t5-accent) !important;
    border: 3px solid #fff !important;
    outline: 2px solid var(--t5-accent) !important;
    outline-offset: 2px !important;
    color: #fff !important;
    border-radius: 50% !important;
}
body.tpl-template5 .pg-hero p { color: rgba(255, 255, 255, .82) !important; }
body.tpl-template5 .pg-hero-breadcrumb a:hover,
body.tpl-template5 .pg-hero-breadcrumb .sep { color: var(--t5-accent) !important; }
body.tpl-template5 .pg-item {
    border-radius: var(--t5-radius) !important;
    background: var(--t5-surface) !important;
    padding: 8px !important;
    border: 1px solid var(--t5-border) !important;
    box-shadow: var(--t5-shadow) !important;
    overflow: hidden !important;
    transition: transform .3s cubic-bezier(.2, .7, .3, 1), box-shadow .3s ease !important;
}
body.tpl-template5 .pg-item:hover { transform: translateY(-5px) !important; box-shadow: var(--t5-shadow-lg) !important; }
body.tpl-template5 .pg-item:hover::after { border-color: var(--t5-accent) !important; }
body.tpl-template5 .pg-item-overlay {
    background: linear-gradient(to top, color-mix(in srgb, var(--t5-primary) 88%, #000), transparent) !important;
}
body.tpl-template5 .pg-item-title { color: #fff !important; font-family: 'Bricolage Grotesque', system-ui, sans-serif !important; }
body.tpl-template5 .pg-empty { font-family: 'Manrope', system-ui, sans-serif !important; color: var(--t5-muted) !important; }
body.tpl-template5 .pg-lightbox-close,
body.tpl-template5 .pg-lightbox-prev,
body.tpl-template5 .pg-lightbox-next {
    background: var(--t5-accent) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 50% !important;
}
body.tpl-template5 .pg-lightbox-close:hover,
body.tpl-template5 .pg-lightbox-prev:hover,
body.tpl-template5 .pg-lightbox-next:hover { background: color-mix(in srgb, var(--t5-accent) 84%, #000) !important; }

/* =========================================================================
   GENERIC — headings, links, buttons, tables, cards inside the skin
   ========================================================================= */
body.tpl-template5 main h1,
body.tpl-template5 main h2,
body.tpl-template5 main h3 {
    font-family: 'Bricolage Grotesque', system-ui, sans-serif !important;
    color: var(--t5-ink) !important;
}
/* keep chrome / banner / nav links on their own colours */
body.tpl-template5 .sis-banner a,
body.tpl-template5 .hw-banner a,
body.tpl-template5 .nt-banner a,
body.tpl-template5 .cu-banner a,
body.tpl-template5 .pg-hero a,
body.tpl-template5 .cu-card-header a,
body.tpl-template5 .hw-download-btn,
body.tpl-template5 .pg-item a { color: inherit !important; }

body.tpl-template5 main .btn,
body.tpl-template5 main button.btn,
body.tpl-template5 main input[type="submit"] {
    border-radius: var(--t5-pill) !important;
    font-family: 'Manrope', system-ui, sans-serif !important;
    font-weight: 800 !important;
    border: none !important;
    transition: transform .2s ease, filter .2s ease, background .2s ease !important;
}
body.tpl-template5 main .btn:hover,
body.tpl-template5 main button.btn:hover,
body.tpl-template5 main input[type="submit"]:hover { transform: translateY(-2px) !important; filter: brightness(1.03) !important; }
body.tpl-template5 main .btn-primary { background: var(--t5-accent) !important; color: #fff !important; }
body.tpl-template5 main .btn-primary:hover { background: color-mix(in srgb, var(--t5-accent) 84%, #000) !important; color: #fff !important; }
/* ghost variant — graphite outline pill */
body.tpl-template5 main .btn-secondary {
    background: transparent !important;
    color: var(--t5-ink) !important;
    border: 1.5px solid var(--t5-ink) !important;
}
body.tpl-template5 main .btn-secondary:hover { background: var(--t5-ink) !important; color: #fff !important; }
body.tpl-template5 main .btn-accent { background: var(--t5-accent) !important; color: #fff !important; }

/* Generic tables in menu pages */
body.tpl-template5 main .table thead th,
body.tpl-template5 main table thead th {
    background: var(--t5-primary) !important;
    color: #fff !important;
    border: none !important;
}
body.tpl-template5 main .table tbody tr:nth-child(even),
body.tpl-template5 main table tbody tr:nth-child(even) { background: color-mix(in srgb, var(--t5-primary) 3%, #fff) !important; }
body.tpl-template5 main .table tbody tr:hover,
body.tpl-template5 main table tbody tr:hover { background: color-mix(in srgb, var(--t5-accent) 8%, #fff) !important; }

/* Generic cards / containers inside menu pages */
body.tpl-template5 main .card {
    background: var(--t5-surface) !important;
    border: 1px solid var(--t5-border) !important;
    border-radius: var(--t5-radius) !important;
    box-shadow: var(--t5-shadow) !important;
    overflow: hidden !important;
}
body.tpl-template5 main blockquote {
    border-left: 4px solid var(--t5-accent) !important;
    background: color-mix(in srgb, var(--t5-accent) 5%, #fff) !important;
    padding: 14px 18px; border-radius: 0 var(--t5-radius) var(--t5-radius) 0;
    font-family: 'Manrope', system-ui, sans-serif !important;
}
body.tpl-template5 main hr { border-color: var(--t5-border) !important; }

/* =========================================================================
   RESPONSIVE polish
   ========================================================================= */
@media (max-width: 780px) {
    body.tpl-template5 .sis-card { padding: 24px 20px !important; }
    body.tpl-template5 .sis-heading { font-size: 22px !important; }
    body.tpl-template5 .sis-section { padding: 40px 0 52px !important; }
    body.tpl-template5 .sis-gitem { transform: rotate(0deg) !important; }
}
@media (max-width: 600px) {
    body.tpl-template5 .sis-banner,
    body.tpl-template5 .hw-banner,
    body.tpl-template5 .nt-banner,
    body.tpl-template5 .cu-banner,
    body.tpl-template5 .pg-hero { padding: 46px 0 40px !important; }
    body.tpl-template5 .sis-banner h2,
    body.tpl-template5 .hw-banner h2,
    body.tpl-template5 .nt-banner h2,
    body.tpl-template5 .cu-banner h2 { font-size: 26px !important; }
    body.tpl-template5 .header-admit-btn { padding: 10px 18px !important; }
}

/* ===== TEMPLATE 6 :: INDIGO & CORAL ALMANAC — inner-page skin ===== */
/* ============================================================================
   TEMPLATE 6 — "INDIGO & CORAL ALMANAC"  inner-page skin
   Editorial-institutional "school prospectus / annual" look · deep indigo
   scholarly gravitas + ONE warm coral pop on an airy lavender-grey ground.
   DM Serif Display (dramatic high-contrast Didone) display headings + Figtree
   body/UI · lavender page ground · white bordered cards · coral rules, bullets,
   pills and dots · indigo banners with a rising-arc skirt + indigo footer.
   Uses stable --t6-* tokens.
   Scope: body.tpl-template6 (only) — every selector prefixed, !important beats
   the shared base stylesheet + inline layout styles.
   ========================================================================== */

/* ---- local design tokens ---- */
body.tpl-template6 {
    --t6-primary: #332C66;
    --t6-secondary: #5B4C9E;
    --t6-accent: #FF6F52;
    --t6-bg: #F2F0FA;
    --t6-surface: #FFFFFF;
    --t6-ink: #201B40;
    --t6-muted: #706C8A;
    --t6-border: #E3DEF3;
    --t6-radius: 10px;
    --t6-radius-sm: 8px;
    --t6-pill: 999px;
    --t6-shadow: 0 16px 38px -22px rgba(51, 44, 102, .24);
    --t6-shadow-lg: 0 26px 54px -24px rgba(51, 44, 102, .32);
    font-family: 'Figtree', system-ui, sans-serif !important;
    color: var(--t6-ink);
    background: var(--t6-bg) !important;
}

body.tpl-template6,
body.tpl-template6 .page-body,
body.tpl-template6 main {
    font-family: 'Figtree', system-ui, sans-serif !important;
    background: var(--t6-bg) !important;
    color: var(--t6-ink);
}
body.tpl-template6 h1,
body.tpl-template6 h2,
body.tpl-template6 h3,
body.tpl-template6 h4 {
    font-family: 'DM Serif Display', Georgia, serif !important;
    color: var(--t6-ink);
    font-weight: 400;
    letter-spacing: -0.2px;
}
body.tpl-template6 ::selection { background: color-mix(in srgb, var(--t6-accent) 30%, #fff); color: var(--t6-ink); }
body.tpl-template6 main a { color: var(--t6-accent) !important; transition: color .2s ease; }
body.tpl-template6 main a:hover { color: color-mix(in srgb, var(--t6-accent) 78%, #000) !important; }

/* =========================================================================
   TOP BAR — thin indigo ledger strip, coral icons + coral pill
   ========================================================================= */
body.tpl-template6 .top-bar {
    background: var(--t6-primary) !important;
    font-size: 12.5px !important;
    padding: 8px 0 !important;
    border-bottom: 1px solid color-mix(in srgb, var(--t6-accent) 34%, transparent) !important;
}
body.tpl-template6 .tb-inner { max-width: 1200px !important; }
body.tpl-template6 .tb-left span,
body.tpl-template6 .tb-left a { color: rgba(255, 255, 255, .82) !important; letter-spacing: .2px; }
body.tpl-template6 .tb-left a:hover { color: #fff !important; }
body.tpl-template6 .tb-left i { color: var(--t6-accent) !important; }
body.tpl-template6 .tb-social a {
    background: rgba(255, 255, 255, .1) !important;
    color: rgba(255, 255, 255, .84) !important;
    border-radius: 50% !important;
    transition: background .2s ease, color .2s ease, transform .2s ease !important;
}
body.tpl-template6 .tb-social a:hover {
    background: var(--t6-accent) !important;
    color: #fff !important;
    transform: translateY(-2px) !important;
}
body.tpl-template6 .tb-admission {
    background: var(--t6-accent) !important;
    color: #fff !important;
    font-weight: 700 !important;
    border-radius: var(--t6-pill) !important;
    padding: 6px 16px !important;
    letter-spacing: .2px;
    box-shadow: 0 6px 16px -9px rgba(255, 111, 82, .85) !important;
    transition: background .2s ease, transform .2s ease !important;
}
body.tpl-template6 .tb-admission:hover { background: color-mix(in srgb, var(--t6-accent) 84%, #000) !important; transform: translateY(-1px) !important; }

/* =========================================================================
   HEADER — airy white band, DM Serif indigo wordmark, coral admit pill
   ========================================================================= */
body.tpl-template6 .main-header {
    background: var(--t6-surface) !important;
    box-shadow: 0 1px 0 var(--t6-border), 0 8px 26px -22px rgba(51, 44, 102, .45) !important;
    border-bottom: 1px solid var(--t6-border) !important;
}
body.tpl-template6 .header-inner { max-width: 1200px !important; padding: 16px 24px !important; }
body.tpl-template6 .header-logo img { height: 76px !important; transition: transform .3s ease !important; }
body.tpl-template6 .header-logo img:hover { transform: scale(1.04) !important; }
body.tpl-template6 .header-school-name { font-family: 'DM Serif Display', Georgia, serif !important; color: var(--t6-primary) !important; font-weight: 400 !important; letter-spacing: -0.3px !important; }
body.tpl-template6 .header-school-tagline { color: var(--t6-accent) !important; letter-spacing: 2.5px; text-transform: uppercase; font-weight: 700; }
body.tpl-template6 .hbadge {
    background: color-mix(in srgb, var(--t6-accent) 8%, #fff) !important;
    border: 1px solid var(--t6-border) !important;
    border-radius: var(--t6-pill) !important;
    color: var(--t6-primary) !important;
}
body.tpl-template6 .hbadge i { color: var(--t6-accent) !important; }

/* Admission button — solid coral pill, darken on hover */
body.tpl-template6 .header-admit-btn {
    background: var(--t6-accent) !important;
    color: #fff !important;
    border: none !important;
    border-radius: var(--t6-pill) !important;
    padding: 12px 24px !important;
    font-weight: 700 !important;
    box-shadow: 0 12px 26px -14px color-mix(in srgb, var(--t6-accent) 80%, transparent) !important;
    transition: transform .22s ease, background .22s ease, box-shadow .22s ease !important;
}
body.tpl-template6 .header-admit-btn:hover {
    background: color-mix(in srgb, var(--t6-accent) 84%, #000) !important;
    color: #fff !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 16px 32px -14px color-mix(in srgb, var(--t6-accent) 70%, transparent) !important;
}
body.tpl-template6 .header-admit-btn i,
body.tpl-template6 .header-admit-btn strong { color: #fff !important; }
body.tpl-template6 .header-admit-btn:hover i,
body.tpl-template6 .header-admit-btn:hover strong { color: #fff !important; }

/* =========================================================================
   MENU BAR — white strip, Figtree semibold indigo links,
   coral hover/active with a short centered coral underline
   ========================================================================= */
body.tpl-template6 .menu-row {
    background: var(--t6-surface) !important;
    border-bottom: 1px solid var(--t6-border) !important;
    box-shadow: 0 4px 20px -16px rgba(51, 44, 102, .4) !important;
}
body.tpl-template6 .menu-row nav > ul.menu {
    max-width: 1200px !important;
    justify-content: center !important;
    padding: 0 12px !important;
}
body.tpl-template6 .menu-row nav > ul.menu > li { position: relative !important; }
body.tpl-template6 .menu-row nav ul li a {
    color: var(--t6-ink) !important;
    font-family: 'Figtree', system-ui, sans-serif !important;
    font-weight: 600 !important;
    font-size: 15px !important;
    letter-spacing: .1px;
}
body.tpl-template6 .menu-row nav > ul.menu > li > a {
    padding: 20px 16px !important;
    border-bottom: 2px solid transparent !important;
    transition: color .2s ease !important;
}
body.tpl-template6 .menu-row nav > ul.menu > li:hover > a,
body.tpl-template6 .menu-row nav > ul.menu > li.active > a {
    background: transparent !important;
    color: var(--t6-accent) !important;
    border: 1.5px solid var(--t6-accent) !important;
    border-radius: 999px !important;
}
/* coral ghost-pill ring on hover/active top-level items — bar removed for distinction */
body.tpl-template6 .menu-row nav > ul.menu > li:hover::after,
body.tpl-template6 .menu-row nav > ul.menu > li.active::after {
    display: none !important;
}
body.tpl-template6 .has-submenu > a::after { color: var(--t6-muted); opacity: .85; }
body.tpl-template6 .menu-toggle { color: var(--t6-accent) !important; }

/* Submenu — white, coral top rule, rounded 10px, scrollable */
body.tpl-template6 .submenu {
    background: var(--t6-surface) !important;
    border: 1px solid var(--t6-border) !important;
    border-top: 3px solid var(--t6-accent) !important;
    border-radius: 0 0 var(--t6-radius) var(--t6-radius) !important;
    box-shadow: var(--t6-shadow) !important;
    max-height: min(68vh, 420px) !important;
    overflow-y: auto !important;
    scrollbar-color: color-mix(in srgb, var(--t6-accent) 65%, transparent) transparent;
}
body.tpl-template6 .submenu::-webkit-scrollbar-thumb { background: color-mix(in srgb, var(--t6-accent) 65%, transparent); }
body.tpl-template6 .submenu li a {
    color: var(--t6-ink) !important;
    font-family: 'Figtree', system-ui, sans-serif !important;
    font-weight: 600 !important;
    border-left: 3px solid transparent !important;
    transition: background .16s ease, color .16s ease, border-color .16s ease !important;
}
body.tpl-template6 .submenu li a::before { content: '\2022' !important; color: var(--t6-accent) !important; opacity: 1 !important; }
body.tpl-template6 .submenu li a:hover {
    background: color-mix(in srgb, var(--t6-accent) 12%, #fff) !important;
    color: var(--t6-primary) !important;
    border-left-color: transparent !important;
}
body.tpl-template6 .submenu .submenu { border-top: 3px solid var(--t6-accent) !important; }

/* Mobile menu — white panel, coral submenu rail */
@media (max-width: 768px) {
    body.tpl-template6 .header-inner { padding: 12px 16px !important; }
    body.tpl-template6 .header-logo img { height: 52px !important; }
    body.tpl-template6 .menu-row nav {
        background: var(--t6-surface) !important;
        border-top: 1px solid var(--t6-border) !important;
        box-shadow: 0 10px 24px -16px rgba(51, 44, 102, .4) !important;
    }
    body.tpl-template6 .menu-row nav ul.menu li { border-bottom: 1px solid var(--t6-border) !important; }
    body.tpl-template6 .menu-row nav ul.menu li a { color: var(--t6-ink) !important; }
    body.tpl-template6 .menu-row nav > ul.menu > li > a { padding: 13px 16px !important; }
    body.tpl-template6 .menu-row nav > ul.menu > li:hover::after,
    body.tpl-template6 .menu-row nav > ul.menu > li.active::after { display: none !important; }
    body.tpl-template6 .submenu {
        background: color-mix(in srgb, var(--t6-accent) 4%, #fff) !important;
        border: none !important;
        border-left: 3px solid var(--t6-accent) !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }
}

/* =========================================================================
   FOOTER — deep indigo band, lavender/cream text, coral hovers + hairline
   ========================================================================= */
body.tpl-template6 .site-footer {
    background: var(--t6-primary) !important;
    color: rgba(255, 255, 255, .72) !important;
    padding-top: 58px !important;
}
body.tpl-template6 .footer-inner { max-width: 1200px !important; }
body.tpl-template6 .footer-col h3 {
    font-family: 'DM Serif Display', Georgia, serif !important;
    color: #fff !important;
    font-weight: 400 !important;
    border-bottom: 2px solid var(--t6-accent) !important;
    padding-bottom: 10px !important;
    letter-spacing: -0.1px;
}
body.tpl-template6 .footer-about-text { color: rgba(255, 255, 255, .64) !important; }
body.tpl-template6 .footer-links a { color: rgba(255, 255, 255, .7) !important; transition: color .2s ease, gap .2s ease; }
body.tpl-template6 .footer-links a::before { color: var(--t6-accent) !important; }
body.tpl-template6 .footer-links a:hover { color: var(--t6-accent) !important; gap: 10px; }
body.tpl-template6 .footer-social a {
    background: rgba(255, 255, 255, .08) !important;
    border: 1px solid rgba(255, 255, 255, .14) !important;
    border-radius: 50% !important;
    color: rgba(255, 255, 255, .8) !important;
    transition: background .2s ease, color .2s ease, border-color .2s ease, transform .2s ease !important;
}
body.tpl-template6 .footer-social a:hover {
    background: var(--t6-accent) !important;
    border-color: var(--t6-accent) !important;
    color: #fff !important;
    transform: translateY(-2px) !important;
}
body.tpl-template6 .footer-contact-item { color: rgba(255, 255, 255, .72) !important; }
body.tpl-template6 .fci-icon {
    background: var(--t6-accent) !important;
    color: #fff !important;
    border-radius: 50% !important;
}
body.tpl-template6 .footer-contact-item a { color: rgba(255, 255, 255, .84) !important; }
body.tpl-template6 .footer-contact-item a:hover { color: var(--t6-accent) !important; }
body.tpl-template6 .footer-map { border-radius: var(--t6-radius) !important; overflow: hidden !important; }
body.tpl-template6 .footer-bottom {
    background: color-mix(in srgb, var(--t6-primary) 74%, #000) !important;
    color: rgba(255, 255, 255, .58) !important;
    border-top: 1px solid color-mix(in srgb, var(--t6-accent) 45%, transparent) !important;
    margin-top: 46px !important;
}
body.tpl-template6 .footer-bottom a { color: rgba(255, 255, 255, .72) !important; }
body.tpl-template6 .footer-bottom a:hover { color: var(--t6-accent) !important; }

/* =========================================================================
   INNER BANNERS — deep indigo prospectus hero (sis / hw / nt / cu / pg)
   DM Serif white heading · coral pill eyebrow · coral line · rising-arc skirt
   ========================================================================= */
body.tpl-template6 .sis-banner,
body.tpl-template6 .hw-banner,
body.tpl-template6 .nt-banner,
body.tpl-template6 .cu-banner,
body.tpl-template6 .pg-hero {
    background: var(--t6-primary) !important;
    padding: 70px 0 60px !important;
    position: relative !important;
    overflow: hidden !important;
    border-radius: 0 0 40% 40% / 0 0 26px 26px !important;
}
body.tpl-template6 .sis-banner::before,
body.tpl-template6 .hw-banner::before,
body.tpl-template6 .nt-banner::before {
    background:
        radial-gradient(circle at 12% 22%, rgba(255, 255, 255, .06) 0, transparent 40%),
        radial-gradient(circle at 88% 78%, color-mix(in srgb, var(--t6-accent) 26%, transparent) 0, transparent 46%) !important;
}
body.tpl-template6 .sis-banner h2,
body.tpl-template6 .hw-banner h2,
body.tpl-template6 .nt-banner h2,
body.tpl-template6 .cu-banner h2,
body.tpl-template6 .pg-hero h1,
body.tpl-template6 .pg-hero h2 {
    font-family: 'DM Serif Display', Georgia, serif !important;
    color: #fff !important;
    font-weight: 400 !important;
    letter-spacing: -0.4px !important;
    text-transform: none !important;
}
/* coral pill eyebrow */
body.tpl-template6 .sis-banner p,
body.tpl-template6 .hw-banner p,
body.tpl-template6 .nt-banner p,
body.tpl-template6 .sis-banner .eyebrow {
    display: inline-block;
    background: var(--t6-accent) !important;
    color: #fff !important;
    text-transform: uppercase;
    letter-spacing: 2.5px;
    font-weight: 700;
    border-radius: var(--t6-pill) !important;
    padding: 5px 16px !important;
}
body.tpl-template6 .sis-banner-line,
body.tpl-template6 .hw-banner-line,
body.tpl-template6 .nt-banner-line,
body.tpl-template6 .cu-banner-line,
body.tpl-template6 .pg-hero-divider {
    background: var(--t6-accent) !important;
    height: 4px !important;
    width: 66px !important;
    border-radius: var(--t6-pill) !important;
}
body.tpl-template6 .hw-title { font-family: 'DM Serif Display', Georgia, serif !important; color: var(--t6-ink) !important; font-weight: 400 !important; }

/* =========================================================================
   INNER SECTIONS background — airy lavender-grey ground
   ========================================================================= */
body.tpl-template6 .sis-section,
body.tpl-template6 .hw-section,
body.tpl-template6 .nt-section,
body.tpl-template6 .cu-section,
body.tpl-template6 .pg-section {
    background: var(--t6-bg) !important;
    font-family: 'Figtree', system-ui, sans-serif !important;
}
body.tpl-template6 .sis-container { max-width: 1120px !important; }

/* =========================================================================
   CONTENT CARDS — white, thin border, 10px radius, soft indigo shadow,
   coral chapter left-rule + subtle coral corner tick, hover lift
   ========================================================================= */
body.tpl-template6 .sis-card {
    background: var(--t6-surface) !important;
    border: 1px solid var(--t6-border) !important;
    border-radius: var(--t6-radius) !important;
    box-shadow: var(--t6-shadow) !important;
    padding: 32px 34px !important;
    margin-bottom: 24px !important;
    position: relative !important;
    overflow: hidden !important;
    transition: transform .22s ease, box-shadow .22s ease !important;
}
body.tpl-template6 .sis-card:hover {
    transform: translateY(-3px) !important;
    box-shadow: var(--t6-shadow-lg) !important;
}
/* coral chapter left-rule (almanac index marker) */
body.tpl-template6 .sis-card::before {
    content: '' !important;
    display: block !important;
    position: absolute !important;
    top: 0 !important;
    bottom: auto !important;
    left: 0 !important;
    right: 0 !important;
    width: auto !important;
    height: 4px !important;
    background: var(--t6-accent) !important;
    border-radius: var(--t6-radius) var(--t6-radius) 0 0 !important;
}
/* corner tick removed — top accent bar distinguishes T6 from T7's left rail */
body.tpl-template6 .sis-card::after {
    display: none !important;
}

/* Split layout — white-framed portrait with a thin coral ring, hover lift */
body.tpl-template6 .sis-card-split { gap: 40px !important; align-items: center !important; }
body.tpl-template6 .sis-card-split .sis-media { position: relative !important; }
body.tpl-template6 .sis-card-split .sis-media img {
    border-radius: var(--t6-radius) !important;
    background: var(--t6-surface) !important;
    padding: 7px !important;
    border: 1px solid var(--t6-border) !important;
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--t6-accent) 22%, #fff), var(--t6-shadow) !important;
    transition: transform .3s ease, box-shadow .3s ease !important;
}
body.tpl-template6 .sis-card-split .sis-media img:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--t6-accent) 40%, #fff), var(--t6-shadow-lg) !important;
}

/* Heading — DM Serif indigo with a short coral underline rule */
body.tpl-template6 .sis-heading {
    font-family: 'DM Serif Display', Georgia, serif !important;
    color: var(--t6-primary) !important;
    border-bottom: none !important;
    text-transform: none !important;
    letter-spacing: -0.2px !important;
    font-weight: 400 !important;
    font-size: 28px !important;
    padding-bottom: 0 !important;
    position: relative !important;
}
body.tpl-template6 .sis-heading::after {
    content: ''; display: block; width: 58px; height: 0 !important; margin-top: 12px;
    background: transparent !important; border-bottom: 2px dashed var(--t6-accent) !important;
}
body.tpl-template6 .sis-desc {
    color: var(--t6-ink) !important;
    font-family: 'Figtree', system-ui, sans-serif !important;
    font-size: 15.5px !important;
    line-height: 1.85 !important;
}
/* serif coral drop-cap on the opening article's first paragraph */
body.tpl-template6 .sis-card:first-child .sis-desc > p:first-of-type::first-letter {
    float: left;
    font-family: 'DM Serif Display', Georgia, serif;
    font-weight: 400;
    font-size: 58px;
    line-height: 44px;
    padding: 6px 12px 0 0;
    color: var(--t6-accent);
}
body.tpl-template6 .sis-desc strong,
body.tpl-template6 .sis-desc b { color: var(--t6-accent) !important; }
/* almanac/index list — hairline rules, coral asterisk bullets */
body.tpl-template6 .sis-desc ul li,
body.tpl-template6 .sis-desc ol li {
    font-family: 'Figtree', system-ui, sans-serif !important;
    color: var(--t6-ink) !important;
    list-style: none !important;
    position: relative !important;
    padding: 9px 0 9px 28px !important;
    border-bottom: 1px solid var(--t6-border) !important;
}
body.tpl-template6 .sis-desc ul li::before,
body.tpl-template6 .sis-desc ol li::before {
    content: '\00BB' !important;
    color: var(--t6-accent) !important;
    position: absolute !important;
    left: 4px !important;
    top: 11px !important;
    font-weight: 800 !important;
}
body.tpl-template6 .sis-empty { font-family: 'Figtree', system-ui, sans-serif !important; color: var(--t6-muted) !important; }

/* Content gallery — white-framed tiles with a thin coral ring, hover lift */
body.tpl-template6 .sis-gallery { gap: 18px !important; }
body.tpl-template6 .sis-gitem {
    border-radius: var(--t6-radius) !important;
    background: var(--t6-surface) !important;
    padding: 7px !important;
    border: 1px solid var(--t6-border) !important;
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--t6-accent) 20%, #fff), var(--t6-shadow) !important;
    transition: transform .3s ease, box-shadow .3s ease !important;
}
body.tpl-template6 .sis-gitem:hover { transform: translateY(-4px) !important; box-shadow: 0 0 0 2px color-mix(in srgb, var(--t6-accent) 38%, #fff), var(--t6-shadow-lg) !important; }

/* =========================================================================
   DOWNLOAD PAGE — bordered table card, indigo header, coral pill buttons
   ========================================================================= */
body.tpl-template6 .hw-table-wrap {
    border-radius: var(--t6-radius) !important;
    border: 1px solid var(--t6-border) !important;
    box-shadow: var(--t6-shadow) !important;
    overflow: hidden !important;
}
body.tpl-template6 .hw-table { font-family: 'Figtree', system-ui, sans-serif !important; }
body.tpl-template6 .hw-table thead th {
    background: var(--t6-primary) !important;
    color: #fff !important;
    letter-spacing: .5px !important;
}
body.tpl-template6 .hw-table tbody td { color: var(--t6-ink) !important; border-bottom: 1px solid var(--t6-border) !important; }
body.tpl-template6 .hw-table tbody tr:nth-child(even) { background: color-mix(in srgb, var(--t6-primary) 3%, #fff) !important; }
body.tpl-template6 .hw-table tbody tr:hover { background: color-mix(in srgb, var(--t6-accent) 8%, #fff) !important; }
body.tpl-template6 .hw-table .hw-class,
body.tpl-template6 .hw-class { color: var(--t6-accent) !important; }
body.tpl-template6 .hw-download-btn {
    background: var(--t6-accent) !important;
    color: #fff !important;
    border-radius: var(--t6-pill) !important;
    padding: 8px 20px !important;
    font-weight: 700 !important;
    box-shadow: 0 8px 18px -10px color-mix(in srgb, var(--t6-accent) 80%, transparent) !important;
    transition: background .2s ease, transform .2s ease !important;
}
body.tpl-template6 .hw-download-btn:hover { background: color-mix(in srgb, var(--t6-accent) 84%, #000) !important; color: #fff !important; transform: translateY(-2px) !important; }
body.tpl-template6 .hw-empty { font-family: 'Figtree', system-ui, sans-serif !important; color: var(--t6-muted) !important; }
body.tpl-template6 .hw-empty i { color: color-mix(in srgb, var(--t6-accent) 45%, #fff) !important; }

/* =========================================================================
   NOTICES — white bordered cards, coral-tint chips + badges, bubble icons
   ========================================================================= */
body.tpl-template6 .nt-wrap { max-width: 920px !important; }
body.tpl-template6 .nt-search {
    border: 1.5px solid var(--t6-border) !important;
    border-radius: var(--t6-pill) !important;
    padding: 14px 22px !important;
    font-family: 'Figtree', system-ui, sans-serif !important;
    box-shadow: var(--t6-shadow) !important;
    transition: border-color .2s ease, box-shadow .2s ease !important;
}
body.tpl-template6 .nt-search:focus {
    border-color: var(--t6-accent) !important;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--t6-accent) 16%, transparent) !important;
}
body.tpl-template6 .nt-chip {
    border: 1.5px solid var(--t6-border) !important;
    border-radius: var(--t6-pill) !important;
    background: color-mix(in srgb, var(--t6-accent) 8%, #fff) !important;
    color: var(--t6-ink) !important;
    font-family: 'Figtree', system-ui, sans-serif !important;
    font-weight: 700 !important;
    transition: all .18s ease !important;
}
body.tpl-template6 .nt-chip:hover { border-color: var(--t6-accent) !important; color: var(--t6-accent) !important; }
body.tpl-template6 .nt-chip.active {
    background: var(--t6-accent) !important;
    border-color: var(--t6-accent) !important;
    color: #fff !important;
    box-shadow: 0 8px 18px -10px color-mix(in srgb, var(--t6-accent) 80%, transparent) !important;
}
body.tpl-template6 .nt-card {
    background: var(--t6-surface) !important;
    border: 1px solid var(--t6-border) !important;
    border-radius: var(--t6-radius) !important;
    box-shadow: var(--t6-shadow) !important;
    padding: 22px 24px !important;
    transition: transform .18s ease, box-shadow .18s ease !important;
}
body.tpl-template6 .nt-card:hover { transform: translateY(-3px) !important; box-shadow: var(--t6-shadow-lg) !important; }
body.tpl-template6 .nt-ic {
    border-radius: 50% !important;
    color: #fff !important;
}
body.tpl-template6 .nt-ic.event { background: var(--t6-primary) !important; }
body.tpl-template6 .nt-ic.news { background: var(--t6-accent) !important; }
body.tpl-template6 .nt-title { font-family: 'DM Serif Display', Georgia, serif !important; color: var(--t6-ink) !important; font-weight: 400 !important; }
body.tpl-template6 .nt-desc { font-family: 'Figtree', system-ui, sans-serif !important; color: var(--t6-ink) !important; }
body.tpl-template6 .nt-badge { border-radius: var(--t6-pill) !important; font-weight: 700 !important; }
body.tpl-template6 .nt-badge.event { background: color-mix(in srgb, var(--t6-primary) 10%, #fff) !important; color: var(--t6-primary) !important; }
body.tpl-template6 .nt-badge.news { background: color-mix(in srgb, var(--t6-accent) 16%, #fff) !important; color: color-mix(in srgb, var(--t6-accent) 82%, #000) !important; }
body.tpl-template6 .nt-empty { font-family: 'Figtree', system-ui, sans-serif !important; color: var(--t6-muted) !important; }

/* =========================================================================
   CONTACT — white bordered cards, indigo headers, coral pill submit
   ========================================================================= */
body.tpl-template6 .cu-section { font-family: 'Figtree', system-ui, sans-serif !important; }
body.tpl-template6 .cu-card {
    background: var(--t6-surface) !important;
    border: 1px solid var(--t6-border) !important;
    border-radius: var(--t6-radius) !important;
    box-shadow: var(--t6-shadow) !important;
    overflow: hidden !important;
}
body.tpl-template6 .cu-card-header {
    font-family: 'DM Serif Display', Georgia, serif !important;
    background: var(--t6-primary) !important;
    color: #fff !important;
}
body.tpl-template6 .cu-card-header.details,
body.tpl-template6 .cu-card-header.query {
    background: var(--t6-primary) !important;
    color: #fff !important;
}
body.tpl-template6 .cu-card-header h3,
body.tpl-template6 .cu-card-header * { color: #fff !important; }
body.tpl-template6 .cu-row { border-bottom: 1px solid var(--t6-border) !important; }
body.tpl-template6 .cu-row .label { color: var(--t6-muted) !important; }
body.tpl-template6 .cu-row .value { color: var(--t6-ink) !important; }
body.tpl-template6 .cu-row .value.school-name { color: var(--t6-accent) !important; }
body.tpl-template6 .cu-row .value a { color: var(--t6-accent) !important; }
body.tpl-template6 .cu-row .value a:hover { color: color-mix(in srgb, var(--t6-accent) 82%, #000) !important; }
body.tpl-template6 .cu-row i,
body.tpl-template6 .cu-row .fa,
body.tpl-template6 .cu-row [class*="fa-"] { color: var(--t6-accent) !important; }
body.tpl-template6 .cu-map-wrap { border-radius: var(--t6-radius) !important; overflow: hidden !important; }
body.tpl-template6 .cu-form-body label { font-family: 'Figtree', system-ui, sans-serif !important; color: var(--t6-ink) !important; font-weight: 700 !important; }
body.tpl-template6 .cu-form-body input,
body.tpl-template6 .cu-form-body textarea,
body.tpl-template6 .cu-form-body select {
    border: 1.5px solid var(--t6-border) !important;
    border-radius: var(--t6-radius-sm) !important;
    font-family: 'Figtree', system-ui, sans-serif !important;
    background: color-mix(in srgb, var(--t6-primary) 2%, #fff) !important;
    transition: border-color .2s ease, box-shadow .2s ease, background .2s ease !important;
}
body.tpl-template6 .cu-form-body input:focus,
body.tpl-template6 .cu-form-body textarea:focus,
body.tpl-template6 .cu-form-body select:focus {
    border-color: var(--t6-accent) !important;
    background: #fff !important;
    outline: none !important;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--t6-accent) 16%, transparent) !important;
}
body.tpl-template6 .cu-submit-btn {
    background: var(--t6-accent) !important;
    color: #fff !important;
    border: none !important;
    border-radius: var(--t6-pill) !important;
    padding: 13px 32px !important;
    font-family: 'Figtree', system-ui, sans-serif !important;
    font-weight: 700 !important;
    box-shadow: 0 12px 26px -14px color-mix(in srgb, var(--t6-accent) 80%, transparent) !important;
    transition: background .2s ease, transform .2s ease !important;
}
body.tpl-template6 .cu-submit-btn:hover { background: color-mix(in srgb, var(--t6-accent) 84%, #000) !important; transform: translateY(-2px) !important; }

/* =========================================================================
   PHOTO GALLERY — coral bubble hero icon, framed tiles, coral lightbox
   ========================================================================= */
body.tpl-template6 .pg-hero-icon {
    background: var(--t6-accent) !important;
    border: 3px solid #fff !important;
    outline: 2px solid var(--t6-accent) !important;
    outline-offset: 2px !important;
    color: #fff !important;
    border-radius: 50% !important;
}
body.tpl-template6 .pg-hero p { color: rgba(255, 255, 255, .82) !important; }
body.tpl-template6 .pg-hero-breadcrumb a:hover,
body.tpl-template6 .pg-hero-breadcrumb .sep { color: var(--t6-accent) !important; }
body.tpl-template6 .pg-item {
    border-radius: var(--t6-radius) !important;
    background: var(--t6-surface) !important;
    padding: 7px !important;
    border: 1px solid var(--t6-border) !important;
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--t6-accent) 20%, #fff), var(--t6-shadow) !important;
    overflow: hidden !important;
    transition: transform .3s cubic-bezier(.2, .7, .3, 1), box-shadow .3s ease !important;
}
body.tpl-template6 .pg-item:hover { transform: translateY(-5px) !important; box-shadow: 0 0 0 2px color-mix(in srgb, var(--t6-accent) 40%, #fff), var(--t6-shadow-lg) !important; }
body.tpl-template6 .pg-item:hover::after { border-color: var(--t6-accent) !important; }
body.tpl-template6 .pg-item-overlay {
    background: linear-gradient(to top, color-mix(in srgb, var(--t6-primary) 88%, #000), transparent) !important;
}
body.tpl-template6 .pg-item-title { color: #fff !important; font-family: 'DM Serif Display', Georgia, serif !important; }
body.tpl-template6 .pg-empty { font-family: 'Figtree', system-ui, sans-serif !important; color: var(--t6-muted) !important; }
body.tpl-template6 .pg-lightbox-close,
body.tpl-template6 .pg-lightbox-prev,
body.tpl-template6 .pg-lightbox-next {
    background: var(--t6-accent) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 50% !important;
}
body.tpl-template6 .pg-lightbox-close:hover,
body.tpl-template6 .pg-lightbox-prev:hover,
body.tpl-template6 .pg-lightbox-next:hover { background: color-mix(in srgb, var(--t6-accent) 84%, #000) !important; }

/* =========================================================================
   GENERIC — headings, links, buttons, tables, cards inside the skin
   ========================================================================= */
body.tpl-template6 main h1,
body.tpl-template6 main h2,
body.tpl-template6 main h3 {
    font-family: 'DM Serif Display', Georgia, serif !important;
    color: var(--t6-ink) !important;
}
/* keep chrome / banner / nav links on their own colours */
body.tpl-template6 .sis-banner a,
body.tpl-template6 .hw-banner a,
body.tpl-template6 .nt-banner a,
body.tpl-template6 .cu-banner a,
body.tpl-template6 .pg-hero a,
body.tpl-template6 .cu-card-header a,
body.tpl-template6 .hw-download-btn,
body.tpl-template6 .pg-item a { color: inherit !important; }

body.tpl-template6 main .btn,
body.tpl-template6 main button.btn,
body.tpl-template6 main input[type="submit"] {
    border-radius: var(--t6-pill) !important;
    font-family: 'Figtree', system-ui, sans-serif !important;
    font-weight: 700 !important;
    border: none !important;
    transition: transform .2s ease, filter .2s ease, background .2s ease !important;
}
body.tpl-template6 main .btn:hover,
body.tpl-template6 main button.btn:hover,
body.tpl-template6 main input[type="submit"]:hover { transform: translateY(-2px) !important; filter: brightness(1.03) !important; }
body.tpl-template6 main .btn-primary { background: var(--t6-accent) !important; color: #fff !important; }
body.tpl-template6 main .btn-primary:hover { background: color-mix(in srgb, var(--t6-accent) 84%, #000) !important; color: #fff !important; }
/* ghost variant — indigo outline pill */
body.tpl-template6 main .btn-secondary {
    background: transparent !important;
    color: var(--t6-primary) !important;
    border: 1.5px solid var(--t6-primary) !important;
}
body.tpl-template6 main .btn-secondary:hover { background: var(--t6-primary) !important; color: #fff !important; }
body.tpl-template6 main .btn-accent { background: var(--t6-accent) !important; color: #fff !important; }

/* Generic tables in menu pages */
body.tpl-template6 main .table thead th,
body.tpl-template6 main table thead th {
    background: var(--t6-primary) !important;
    color: #fff !important;
    border: none !important;
}
body.tpl-template6 main .table tbody tr:nth-child(even),
body.tpl-template6 main table tbody tr:nth-child(even) { background: color-mix(in srgb, var(--t6-primary) 3%, #fff) !important; }
body.tpl-template6 main .table tbody tr:hover,
body.tpl-template6 main table tbody tr:hover { background: color-mix(in srgb, var(--t6-accent) 8%, #fff) !important; }

/* Generic cards / containers inside menu pages */
body.tpl-template6 main .card {
    background: var(--t6-surface) !important;
    border: 1px solid var(--t6-border) !important;
    border-radius: var(--t6-radius) !important;
    box-shadow: var(--t6-shadow) !important;
    overflow: hidden !important;
}
body.tpl-template6 main blockquote {
    border-left: 4px solid var(--t6-accent) !important;
    background: color-mix(in srgb, var(--t6-accent) 5%, #fff) !important;
    padding: 14px 18px; border-radius: 0 var(--t6-radius) var(--t6-radius) 0;
    font-family: 'Figtree', system-ui, sans-serif !important;
}
body.tpl-template6 main hr { border-color: var(--t6-border) !important; }

/* =========================================================================
   RESPONSIVE polish
   ========================================================================= */
@media (max-width: 780px) {
    body.tpl-template6 .sis-card { padding: 24px 20px !important; }
    body.tpl-template6 .sis-heading { font-size: 23px !important; }
    body.tpl-template6 .sis-section { padding: 40px 0 52px !important; }
    body.tpl-template6 .sis-banner,
    body.tpl-template6 .hw-banner,
    body.tpl-template6 .nt-banner,
    body.tpl-template6 .cu-banner,
    body.tpl-template6 .pg-hero { border-radius: 0 0 30% 30% / 0 0 18px 18px !important; }
}
@media (max-width: 600px) {
    body.tpl-template6 .sis-banner,
    body.tpl-template6 .hw-banner,
    body.tpl-template6 .nt-banner,
    body.tpl-template6 .cu-banner,
    body.tpl-template6 .pg-hero { padding: 46px 0 40px !important; }
    body.tpl-template6 .sis-banner h2,
    body.tpl-template6 .hw-banner h2,
    body.tpl-template6 .nt-banner h2,
    body.tpl-template6 .cu-banner h2 { font-size: 26px !important; }
    body.tpl-template6 .header-admit-btn { padding: 10px 18px !important; }
}

/* ===== TEMPLATE 7 :: HERBARIUM (DARK BOTANICAL) — inner-page skin ===== */
/* ============================================================================
   TEMPLATE 7 — "HERBARIUM"  Naturalist Field-Guide (DARK BOTANICAL)
   A moody arboretum study-hall: deep pine ground, warm parchment ink, brass
   fittings, pressed-specimen photo plates. The ONLY dark template — the shared
   inner-page markup assumes a LIGHT theme, so backgrounds are forced DARK and
   text to parchment for readability. Spectral (transitional serif) display
   headings + Hanken Grotesk body/UI · forest surfaces · brass hairlines,
   leaf bullets, 'Plate' pill eyebrows · pressed-specimen duotone photo mats.
   Uses stable --t7-* tokens.
   Scope: body.tpl-template7 (only) — every selector prefixed, !important beats
   the shared base stylesheet + inline layout styles.
   ========================================================================== */

/* ---- local design tokens ---- */
body.tpl-template7 {
    --t7-primary: #2F6146;
    --t7-secondary: #79965B;
    --t7-accent: #D9A441;
    --t7-bg: #0E1C16;
    --t7-surface: #16281F;
    --t7-ink: #EFE9D8;
    --t7-muted: #9FB39C;
    --t7-border: #294136;
    --t7-radius: 4px;
    --t7-radius-sm: 2px;
    --t7-pill: 999px;
    --t7-shadow: 0 12px 30px rgba(0, 0, 0, .5);
    font-family: 'Hanken Grotesk', system-ui, sans-serif !important;
    color: var(--t7-ink) !important;
    background: var(--t7-bg) !important;
}

body.tpl-template7,
body.tpl-template7 .page-body,
body.tpl-template7 main {
    font-family: 'Hanken Grotesk', system-ui, sans-serif !important;
    background: var(--t7-bg) !important;
    color: var(--t7-ink) !important;
}
body.tpl-template7 h1,
body.tpl-template7 h2,
body.tpl-template7 h3,
body.tpl-template7 h4 {
    font-family: 'Spectral', Georgia, serif !important;
    color: var(--t7-ink);
    font-weight: 600;
    letter-spacing: -0.2px;
}
body.tpl-template7 ::selection { background: color-mix(in srgb, var(--t7-accent) 34%, #000); color: var(--t7-ink); }
body.tpl-template7 main a { color: var(--t7-accent) !important; transition: color .2s ease; }
body.tpl-template7 main a:hover { color: color-mix(in srgb, var(--t7-accent) 78%, #fff) !important; }

/* =========================================================================
   TOP BAR — dark forest ledger strip, brass icons + brass pill, brass hairline
   ========================================================================= */
body.tpl-template7 .top-bar {
    background: var(--t7-surface) !important;
    font-size: 12.5px !important;
    padding: 8px 0 !important;
    border-bottom: 1px solid color-mix(in srgb, var(--t7-accent) 42%, transparent) !important;
}
body.tpl-template7 .tb-inner { max-width: 1200px !important; }
body.tpl-template7 .tb-left span,
body.tpl-template7 .tb-left a { color: var(--t7-muted) !important; letter-spacing: .2px; }
body.tpl-template7 .tb-left a:hover { color: var(--t7-ink) !important; }
body.tpl-template7 .tb-left i { color: var(--t7-accent) !important; }
body.tpl-template7 .tb-social a {
    background: rgba(255, 255, 255, .06) !important;
    color: var(--t7-muted) !important;
    border-radius: 50% !important;
    transition: background .2s ease, color .2s ease, transform .2s ease !important;
}
body.tpl-template7 .tb-social a:hover {
    background: var(--t7-accent) !important;
    color: #231a05 !important;
    transform: translateY(-2px) !important;
}
body.tpl-template7 .tb-admission {
    background: var(--t7-accent) !important;
    color: #231a05 !important;
    font-weight: 700 !important;
    border-radius: var(--t7-radius) !important;
    padding: 6px 16px !important;
    letter-spacing: .2px;
    box-shadow: 0 6px 16px -9px rgba(0, 0, 0, .8) !important;
    transition: background .2s ease, transform .2s ease !important;
}
body.tpl-template7 .tb-admission:hover { background: color-mix(in srgb, var(--t7-accent) 82%, #fff) !important; transform: translateY(-1px) !important; }

/* =========================================================================
   HEADER — dark surface band, Spectral parchment wordmark, brass hairline
   ========================================================================= */
body.tpl-template7 .main-header {
    background: var(--t7-surface) !important;
    box-shadow: 0 1px 0 var(--t7-border), var(--t7-shadow) !important;
    border-bottom: 1px solid color-mix(in srgb, var(--t7-accent) 42%, transparent) !important;
}
body.tpl-template7 .header-inner { max-width: 1200px !important; padding: 16px 24px !important; }
body.tpl-template7 .header-logo img { height: 76px !important; transition: transform .3s ease !important; }
body.tpl-template7 .header-logo img:hover { transform: scale(1.04) !important; }
body.tpl-template7 .header-school-name { font-family: 'Spectral', Georgia, serif !important; color: var(--t7-ink) !important; font-weight: 600 !important; letter-spacing: -0.3px !important; }
body.tpl-template7 .header-school-tagline { color: var(--t7-accent) !important; letter-spacing: 2.5px; text-transform: uppercase; font-weight: 700; }
body.tpl-template7 .hbadge {
    background: color-mix(in srgb, var(--t7-accent) 10%, var(--t7-surface)) !important;
    border: 1px solid var(--t7-border) !important;
    border-radius: var(--t7-pill) !important;
    color: var(--t7-ink) !important;
}
body.tpl-template7 .hbadge i { color: var(--t7-accent) !important; }

/* Admission button — solid brass, dark ink, fill on hover */
body.tpl-template7 .header-admit-btn {
    background: var(--t7-accent) !important;
    color: #231a05 !important;
    border: none !important;
    border-radius: var(--t7-radius) !important;
    padding: 12px 24px !important;
    font-weight: 700 !important;
    box-shadow: 0 12px 26px -14px rgba(0, 0, 0, .85) !important;
    transition: transform .22s ease, background .22s ease, box-shadow .22s ease !important;
}
body.tpl-template7 .header-admit-btn:hover {
    background: color-mix(in srgb, var(--t7-accent) 82%, #fff) !important;
    color: #231a05 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 16px 32px -14px rgba(0, 0, 0, .7) !important;
}
body.tpl-template7 .header-admit-btn i,
body.tpl-template7 .header-admit-btn strong { color: #231a05 !important; }
body.tpl-template7 .header-admit-btn:hover i,
body.tpl-template7 .header-admit-btn:hover strong { color: #231a05 !important; }

/* =========================================================================
   MENU BAR — dark strip, Hanken semibold parchment links,
   brass hover/active with a short center-grow brass underline
   ========================================================================= */
body.tpl-template7 .menu-row {
    background: var(--t7-surface) !important;
    border-bottom: 1px solid var(--t7-border) !important;
    box-shadow: 0 4px 20px -16px rgba(0, 0, 0, .8) !important;
}
body.tpl-template7 .menu-row nav > ul.menu {
    max-width: 1200px !important;
    justify-content: center !important;
    padding: 0 12px !important;
}
body.tpl-template7 .menu-row nav > ul.menu > li { position: relative !important; }
body.tpl-template7 .menu-row nav ul li a {
    color: var(--t7-ink) !important;
    font-family: 'Hanken Grotesk', system-ui, sans-serif !important;
    font-weight: 600 !important;
    font-size: 15px !important;
    letter-spacing: .1px;
}
body.tpl-template7 .menu-row nav > ul.menu > li > a {
    padding: 20px 16px !important;
    border-bottom: 2px solid transparent !important;
    transition: color .2s ease !important;
}
body.tpl-template7 .menu-row nav > ul.menu > li:hover > a,
body.tpl-template7 .menu-row nav > ul.menu > li.active > a {
    background: transparent !important;
    color: var(--t7-accent) !important;
    border-bottom-color: transparent !important;
}
/* short center-grow brass underline under hover/active top-level items */
body.tpl-template7 .menu-row nav > ul.menu > li::after {
    content: '' !important;
    position: absolute !important;
    left: 16px !important;
    right: 16px !important;
    bottom: 11px !important;
    height: 2px !important;
    border-radius: 2px !important;
    background: var(--t7-accent) !important;
    transform: scaleX(0) !important;
    transform-origin: center !important;
    transition: transform .24s ease !important;
}
body.tpl-template7 .menu-row nav > ul.menu > li:hover::after,
body.tpl-template7 .menu-row nav > ul.menu > li.active::after { transform: scaleX(1) !important; }
body.tpl-template7 .has-submenu > a::after { color: var(--t7-muted); opacity: .9; }
body.tpl-template7 .menu-toggle { color: var(--t7-accent) !important; }

/* Submenu — dark parchment-tinted card, brass top rule, rounded 4px, scrollable */
body.tpl-template7 .submenu {
    background: #1c2f25 !important;
    border: 1px solid var(--t7-border) !important;
    border-top: 3px solid var(--t7-accent) !important;
    border-radius: 0 0 var(--t7-radius) var(--t7-radius) !important;
    box-shadow: var(--t7-shadow) !important;
    max-height: min(68vh, 420px) !important;
    overflow-y: auto !important;
    scrollbar-color: color-mix(in srgb, var(--t7-accent) 65%, transparent) transparent;
}
body.tpl-template7 .submenu::-webkit-scrollbar-thumb { background: color-mix(in srgb, var(--t7-accent) 65%, transparent); }
body.tpl-template7 .submenu li a {
    color: var(--t7-ink) !important;
    font-family: 'Hanken Grotesk', system-ui, sans-serif !important;
    font-weight: 600 !important;
    border-left: 3px solid transparent !important;
    transition: background .16s ease, color .16s ease, border-color .16s ease !important;
}
body.tpl-template7 .submenu li a::before { color: var(--t7-accent) !important; }
body.tpl-template7 .submenu li a:hover {
    background: color-mix(in srgb, var(--t7-accent) 14%, var(--t7-surface)) !important;
    color: var(--t7-accent) !important;
    border-left-color: var(--t7-accent) !important;
}
body.tpl-template7 .submenu .submenu { border-top: 3px solid var(--t7-accent) !important; }

/* Mobile menu — dark panel, brass submenu rail */
@media (max-width: 768px) {
    body.tpl-template7 .header-inner { padding: 12px 16px !important; }
    body.tpl-template7 .header-logo img { height: 52px !important; }
    body.tpl-template7 .menu-row nav {
        background: var(--t7-surface) !important;
        border-top: 1px solid var(--t7-border) !important;
        box-shadow: 0 10px 24px -16px rgba(0, 0, 0, .8) !important;
    }
    body.tpl-template7 .menu-row nav ul.menu li { border-bottom: 1px solid var(--t7-border) !important; }
    body.tpl-template7 .menu-row nav ul.menu li a { color: var(--t7-ink) !important; }
    body.tpl-template7 .menu-row nav > ul.menu > li > a { padding: 13px 16px !important; }
    body.tpl-template7 .menu-row nav > ul.menu > li:hover::after,
    body.tpl-template7 .menu-row nav > ul.menu > li.active::after { display: none !important; }
    body.tpl-template7 .submenu {
        background: color-mix(in srgb, var(--t7-accent) 6%, var(--t7-surface)) !important;
        border: none !important;
        border-left: 3px solid var(--t7-accent) !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }
}

/* =========================================================================
   FOOTER — deep pine band, parchment text, brass hovers + hairline rule
   ========================================================================= */
body.tpl-template7 .site-footer {
    background: #0B1712 !important;
    color: var(--t7-muted) !important;
    padding-top: 58px !important;
    border-top: 1px solid color-mix(in srgb, var(--t7-accent) 40%, transparent) !important;
}
body.tpl-template7 .footer-inner { max-width: 1200px !important; }
body.tpl-template7 .footer-col h3 {
    font-family: 'Spectral', Georgia, serif !important;
    color: var(--t7-ink) !important;
    font-weight: 600 !important;
    border-bottom: 2px solid var(--t7-accent) !important;
    padding-bottom: 10px !important;
    letter-spacing: -0.1px;
}
body.tpl-template7 .footer-about-text { color: var(--t7-muted) !important; }
body.tpl-template7 .footer-links a { color: var(--t7-muted) !important; transition: color .2s ease, gap .2s ease; }
body.tpl-template7 .footer-links a::before { color: var(--t7-accent) !important; }
body.tpl-template7 .footer-links a:hover { color: var(--t7-accent) !important; gap: 10px; }
body.tpl-template7 .footer-social a {
    background: rgba(255, 255, 255, .06) !important;
    border: 1px solid rgba(255, 255, 255, .12) !important;
    border-radius: 50% !important;
    color: var(--t7-muted) !important;
    transition: background .2s ease, color .2s ease, border-color .2s ease, transform .2s ease !important;
}
body.tpl-template7 .footer-social a:hover {
    background: var(--t7-accent) !important;
    border-color: var(--t7-accent) !important;
    color: #231a05 !important;
    transform: translateY(-2px) !important;
}
body.tpl-template7 .footer-contact-item { color: var(--t7-muted) !important; }
body.tpl-template7 .fci-icon {
    background: var(--t7-primary) !important;
    color: var(--t7-accent) !important;
    border-radius: 50% !important;
}
body.tpl-template7 .footer-contact-item a { color: var(--t7-ink) !important; }
body.tpl-template7 .footer-contact-item a:hover { color: var(--t7-accent) !important; }
body.tpl-template7 .footer-map { border-radius: var(--t7-radius) !important; overflow: hidden !important; border: 1px solid var(--t7-border) !important; }
body.tpl-template7 .footer-bottom {
    background: color-mix(in srgb, #0B1712 70%, #000) !important;
    color: var(--t7-muted) !important;
    border-top: 1px solid color-mix(in srgb, var(--t7-accent) 45%, transparent) !important;
    margin-top: 46px !important;
}
body.tpl-template7 .footer-bottom a { color: var(--t7-muted) !important; }
body.tpl-template7 .footer-bottom a:hover { color: var(--t7-accent) !important; }

/* =========================================================================
   INNER BANNERS — darker forest field-guide hero (sis / hw / nt / cu / pg)
   Spectral parchment heading · brass 'Plate' pill eyebrow · brass line ·
   brass hairline bottom rule
   ========================================================================= */
body.tpl-template7 .sis-banner,
body.tpl-template7 .hw-banner,
body.tpl-template7 .nt-banner,
body.tpl-template7 .cu-banner,
body.tpl-template7 .pg-hero {
    background: linear-gradient(160deg, #16281F, #0E1C16) !important;
    padding: 70px 0 60px !important;
    position: relative !important;
    overflow: hidden !important;
    border-bottom: 1px solid color-mix(in srgb, var(--t7-accent) 55%, transparent) !important;
}
body.tpl-template7 .sis-banner::before,
body.tpl-template7 .hw-banner::before,
body.tpl-template7 .nt-banner::before {
    background:
        radial-gradient(circle at 12% 22%, rgba(255, 255, 255, .04) 0, transparent 40%),
        radial-gradient(circle at 88% 78%, color-mix(in srgb, var(--t7-accent) 20%, transparent) 0, transparent 46%) !important;
}
body.tpl-template7 .sis-banner h2,
body.tpl-template7 .hw-banner h2,
body.tpl-template7 .nt-banner h2,
body.tpl-template7 .cu-banner h2,
body.tpl-template7 .pg-hero h1,
body.tpl-template7 .pg-hero h2 {
    font-family: 'Spectral', Georgia, serif !important;
    color: var(--t7-ink) !important;
    font-weight: 600 !important;
    letter-spacing: -0.4px !important;
    text-transform: none !important;
}
/* brass 'Plate' pill eyebrow */
body.tpl-template7 .sis-banner p,
body.tpl-template7 .hw-banner p,
body.tpl-template7 .nt-banner p,
body.tpl-template7 .sis-banner .eyebrow {
    display: inline-block;
    background: var(--t7-accent) !important;
    color: #231a05 !important;
    text-transform: uppercase;
    letter-spacing: 2.5px;
    font-weight: 700;
    border-radius: var(--t7-pill) !important;
    padding: 5px 16px !important;
}
body.tpl-template7 .sis-banner-line,
body.tpl-template7 .hw-banner-line,
body.tpl-template7 .nt-banner-line,
body.tpl-template7 .cu-banner-line,
body.tpl-template7 .pg-hero-divider {
    background: var(--t7-accent) !important;
    height: 4px !important;
    width: 66px !important;
    border-radius: var(--t7-pill) !important;
}
body.tpl-template7 .hw-title { font-family: 'Spectral', Georgia, serif !important; color: var(--t7-ink) !important; font-weight: 600 !important; }

/* =========================================================================
   INNER SECTIONS background — deep pine ground (forced dark)
   ========================================================================= */
body.tpl-template7 .sis-section,
body.tpl-template7 .hw-section,
body.tpl-template7 .nt-section,
body.tpl-template7 .cu-section,
body.tpl-template7 .pg-section {
    background: var(--t7-bg) !important;
    color: var(--t7-ink) !important;
    font-family: 'Hanken Grotesk', system-ui, sans-serif !important;
}
body.tpl-template7 .sis-container { max-width: 1120px !important; }

/* =========================================================================
   CONTENT CARDS — dark surface, thin border, 4px radius, soft black shadow,
   brass chapter left-rule, parchment text, hover lift
   ========================================================================= */
body.tpl-template7 .sis-card {
    background: var(--t7-surface) !important;
    color: var(--t7-ink) !important;
    border: 1px solid var(--t7-border) !important;
    border-radius: var(--t7-radius) !important;
    box-shadow: var(--t7-shadow) !important;
    padding: 32px 34px !important;
    margin-bottom: 24px !important;
    position: relative !important;
    overflow: hidden !important;
    transition: transform .22s ease, box-shadow .22s ease !important;
}
body.tpl-template7 .sis-card:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 18px 40px rgba(0, 0, 0, .6) !important;
}
/* brass chapter left-rule (field-guide index marker) */
body.tpl-template7 .sis-card::before {
    content: '' !important;
    display: block !important;
    position: absolute !important;
    top: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 4px !important;
    background: var(--t7-accent) !important;
    border-radius: var(--t7-radius) 0 0 var(--t7-radius) !important;
}
/* subtle brass corner tick, top-right */
body.tpl-template7 .sis-card::after {
    content: '' !important;
    position: absolute !important;
    top: 14px !important;
    right: 14px !important;
    width: 12px !important;
    height: 12px !important;
    border-top: 2px solid color-mix(in srgb, var(--t7-accent) 70%, transparent) !important;
    border-right: 2px solid color-mix(in srgb, var(--t7-accent) 70%, transparent) !important;
}

/* Split layout — pressed-specimen photo plate (brass frame, parchment mat, duotone) */
body.tpl-template7 .sis-card-split { gap: 40px !important; align-items: center !important; }
body.tpl-template7 .sis-card-split .sis-media { position: relative !important; }
body.tpl-template7 .sis-card-split .sis-media img {
    border-radius: var(--t7-radius) !important;
    background: color-mix(in srgb, var(--t7-ink) 10%, var(--t7-surface)) !important;
    padding: 8px !important;
    border: 1px solid var(--t7-accent) !important;
    box-shadow: var(--t7-shadow) !important;
    filter: sepia(.28) saturate(.85) hue-rotate(58deg) brightness(.92) contrast(1.02) !important;
    transition: transform .3s ease, box-shadow .3s ease, filter .3s ease, border-color .3s ease !important;
}
body.tpl-template7 .sis-card-split .sis-media img:hover {
    filter: none !important;
    transform: translateY(-3px) !important;
    border-color: color-mix(in srgb, var(--t7-accent) 55%, #fff) !important;
    box-shadow: 0 16px 40px rgba(0, 0, 0, .6) !important;
}

/* Heading — Spectral parchment with a short brass underline rule */
body.tpl-template7 .sis-heading {
    font-family: 'Spectral', Georgia, serif !important;
    color: var(--t7-ink) !important;
    border-bottom: none !important;
    text-transform: none !important;
    letter-spacing: -0.2px !important;
    font-weight: 600 !important;
    font-size: 28px !important;
    padding-bottom: 0 !important;
    position: relative !important;
}
body.tpl-template7 .sis-heading::after {
    content: ''; display: block; width: 58px; height: 4px; margin-top: 12px;
    background: var(--t7-accent); border-radius: var(--t7-pill);
}
body.tpl-template7 .sis-desc {
    color: var(--t7-ink) !important;
    font-family: 'Hanken Grotesk', system-ui, sans-serif !important;
    font-size: 15.5px !important;
    line-height: 1.85 !important;
}
/* brass Spectral drop-cap on the opening article's first paragraph */
body.tpl-template7 .sis-card:first-child .sis-desc > p:first-of-type::first-letter {
    float: left;
    font-family: 'Spectral', Georgia, serif;
    font-weight: 600;
    font-size: 58px;
    line-height: 44px;
    padding: 6px 12px 0 0;
    color: var(--t7-accent);
}
body.tpl-template7 .sis-desc strong,
body.tpl-template7 .sis-desc b { color: var(--t7-accent) !important; }
/* field-notebook list — hairline rules, brass leaf bullets, parchment text */
body.tpl-template7 .sis-desc ul li,
body.tpl-template7 .sis-desc ol li {
    font-family: 'Hanken Grotesk', system-ui, sans-serif !important;
    color: var(--t7-ink) !important;
    list-style: none !important;
    position: relative !important;
    padding: 9px 0 9px 28px !important;
    border-bottom: 1px solid var(--t7-border) !important;
}
body.tpl-template7 .sis-desc ul li::before,
body.tpl-template7 .sis-desc ol li::before {
    content: '\2767' !important;
    color: var(--t7-accent) !important;
    position: absolute !important;
    left: 4px !important;
    top: 10px !important;
    font-weight: 700 !important;
}
body.tpl-template7 .sis-empty { font-family: 'Hanken Grotesk', system-ui, sans-serif !important; color: var(--t7-muted) !important; }

/* Content gallery — pressed-specimen tiles (brass frame, parchment mat, duotone) */
body.tpl-template7 .sis-gallery { gap: 18px !important; }
body.tpl-template7 .sis-gitem {
    border-radius: var(--t7-radius) !important;
    background: color-mix(in srgb, var(--t7-ink) 10%, var(--t7-surface)) !important;
    padding: 8px !important;
    border: 1px solid var(--t7-accent) !important;
    box-shadow: var(--t7-shadow) !important;
    overflow: hidden !important;
    transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease !important;
}
body.tpl-template7 .sis-gitem img {
    filter: sepia(.28) saturate(.85) hue-rotate(58deg) brightness(.92) contrast(1.02) !important;
    transition: filter .3s ease !important;
}
body.tpl-template7 .sis-gitem:hover {
    transform: translateY(-4px) !important;
    border-color: color-mix(in srgb, var(--t7-accent) 55%, #fff) !important;
    box-shadow: 0 16px 40px rgba(0, 0, 0, .6) !important;
}
body.tpl-template7 .sis-gitem:hover img { filter: none !important; }

/* =========================================================================
   DOWNLOAD PAGE — bordered dark table card, forest header, brass buttons
   ========================================================================= */
body.tpl-template7 .hw-table-wrap {
    border-radius: var(--t7-radius) !important;
    border: 1px solid var(--t7-border) !important;
    box-shadow: var(--t7-shadow) !important;
    overflow: hidden !important;
}
body.tpl-template7 .hw-table { font-family: 'Hanken Grotesk', system-ui, sans-serif !important; background: var(--t7-surface) !important; }
body.tpl-template7 .hw-table thead th {
    background: var(--t7-primary) !important;
    color: var(--t7-ink) !important;
    letter-spacing: .5px !important;
}
body.tpl-template7 .hw-table tbody td { color: var(--t7-ink) !important; background: var(--t7-surface) !important; border-bottom: 1px solid var(--t7-border) !important; }
body.tpl-template7 .hw-table tbody tr:nth-child(even) td { background: color-mix(in srgb, var(--t7-ink) 4%, var(--t7-surface)) !important; }
body.tpl-template7 .hw-table tbody tr:hover td { background: color-mix(in srgb, var(--t7-ink) 9%, var(--t7-surface)) !important; }
body.tpl-template7 .hw-table .hw-class,
body.tpl-template7 .hw-class { color: var(--t7-accent) !important; }
body.tpl-template7 .hw-download-btn {
    background: var(--t7-accent) !important;
    color: #231a05 !important;
    border-radius: var(--t7-radius) !important;
    padding: 8px 20px !important;
    font-weight: 700 !important;
    box-shadow: 0 8px 18px -10px rgba(0, 0, 0, .8) !important;
    transition: background .2s ease, transform .2s ease !important;
}
body.tpl-template7 .hw-download-btn:hover { background: color-mix(in srgb, var(--t7-accent) 82%, #fff) !important; color: #231a05 !important; transform: translateY(-2px) !important; }
body.tpl-template7 .hw-empty { font-family: 'Hanken Grotesk', system-ui, sans-serif !important; color: var(--t7-muted) !important; }
body.tpl-template7 .hw-empty i { color: color-mix(in srgb, var(--t7-accent) 55%, transparent) !important; }

/* =========================================================================
   NOTICES — dark bordered cards, brass-tint chips + badges, forest bubble icons
   ========================================================================= */
body.tpl-template7 .nt-wrap { max-width: 920px !important; }
body.tpl-template7 .nt-search {
    border: 1.5px solid var(--t7-border) !important;
    border-radius: var(--t7-pill) !important;
    padding: 14px 22px !important;
    font-family: 'Hanken Grotesk', system-ui, sans-serif !important;
    background: var(--t7-surface) !important;
    color: var(--t7-ink) !important;
    box-shadow: var(--t7-shadow) !important;
    transition: border-color .2s ease, box-shadow .2s ease !important;
}
body.tpl-template7 .nt-search::placeholder { color: var(--t7-muted) !important; }
body.tpl-template7 .nt-search:focus {
    border-color: var(--t7-accent) !important;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--t7-accent) 20%, transparent) !important;
}
body.tpl-template7 .nt-chip {
    border: 1.5px solid var(--t7-border) !important;
    border-radius: var(--t7-pill) !important;
    background: color-mix(in srgb, var(--t7-accent) 12%, var(--t7-surface)) !important;
    color: var(--t7-ink) !important;
    font-family: 'Hanken Grotesk', system-ui, sans-serif !important;
    font-weight: 700 !important;
    transition: all .18s ease !important;
}
body.tpl-template7 .nt-chip:hover { border-color: var(--t7-accent) !important; color: var(--t7-accent) !important; }
body.tpl-template7 .nt-chip.active {
    background: var(--t7-accent) !important;
    border-color: var(--t7-accent) !important;
    color: #231a05 !important;
    box-shadow: 0 8px 18px -10px rgba(0, 0, 0, .8) !important;
}
body.tpl-template7 .nt-card {
    background: var(--t7-surface) !important;
    color: var(--t7-ink) !important;
    border: 1px solid var(--t7-border) !important;
    border-radius: var(--t7-radius) !important;
    box-shadow: var(--t7-shadow) !important;
    padding: 22px 24px !important;
    transition: transform .18s ease, box-shadow .18s ease !important;
}
body.tpl-template7 .nt-card:hover { transform: translateY(-3px) !important; box-shadow: 0 18px 40px rgba(0, 0, 0, .6) !important; }
body.tpl-template7 .nt-ic {
    border-radius: 50% !important;
    background: var(--t7-primary) !important;
    color: var(--t7-accent) !important;
}
body.tpl-template7 .nt-ic.event { background: var(--t7-primary) !important; color: var(--t7-accent) !important; }
body.tpl-template7 .nt-ic.news { background: var(--t7-accent) !important; color: #231a05 !important; }
body.tpl-template7 .nt-title { font-family: 'Spectral', Georgia, serif !important; color: var(--t7-ink) !important; font-weight: 600 !important; }
body.tpl-template7 .nt-desc { font-family: 'Hanken Grotesk', system-ui, sans-serif !important; color: var(--t7-ink) !important; }
body.tpl-template7 .nt-badge { border-radius: var(--t7-pill) !important; font-weight: 700 !important; }
body.tpl-template7 .nt-badge.event { background: color-mix(in srgb, var(--t7-primary) 34%, var(--t7-surface)) !important; color: var(--t7-ink) !important; }
body.tpl-template7 .nt-badge.news { background: color-mix(in srgb, var(--t7-accent) 22%, var(--t7-surface)) !important; color: var(--t7-accent) !important; }
body.tpl-template7 .nt-empty { font-family: 'Hanken Grotesk', system-ui, sans-serif !important; color: var(--t7-muted) !important; }

/* =========================================================================
   CONTACT — dark bordered cards, forest headers, brass submit
   ========================================================================= */
body.tpl-template7 .cu-section { font-family: 'Hanken Grotesk', system-ui, sans-serif !important; }
body.tpl-template7 .cu-card {
    background: var(--t7-surface) !important;
    color: var(--t7-ink) !important;
    border: 1px solid var(--t7-border) !important;
    border-radius: var(--t7-radius) !important;
    box-shadow: var(--t7-shadow) !important;
    overflow: hidden !important;
}
body.tpl-template7 .cu-card-header {
    font-family: 'Spectral', Georgia, serif !important;
    background: var(--t7-primary) !important;
    color: var(--t7-ink) !important;
}
body.tpl-template7 .cu-card-header.details,
body.tpl-template7 .cu-card-header.query {
    background: var(--t7-primary) !important;
    color: var(--t7-ink) !important;
}
body.tpl-template7 .cu-card-header h3,
body.tpl-template7 .cu-card-header * { color: var(--t7-ink) !important; }
body.tpl-template7 .cu-row { border-bottom: 1px solid var(--t7-border) !important; }
body.tpl-template7 .cu-row .label { color: var(--t7-muted) !important; }
body.tpl-template7 .cu-row .value { color: var(--t7-ink) !important; }
body.tpl-template7 .cu-row .value.school-name { color: var(--t7-accent) !important; }
body.tpl-template7 .cu-row .value a { color: var(--t7-accent) !important; }
body.tpl-template7 .cu-row .value a:hover { color: color-mix(in srgb, var(--t7-accent) 80%, #fff) !important; }
body.tpl-template7 .cu-row i,
body.tpl-template7 .cu-row .fa,
body.tpl-template7 .cu-row [class*="fa-"] { color: var(--t7-accent) !important; }
body.tpl-template7 .cu-map-wrap { border-radius: var(--t7-radius) !important; overflow: hidden !important; border: 1px solid var(--t7-border) !important; }
body.tpl-template7 .cu-form-body label { font-family: 'Hanken Grotesk', system-ui, sans-serif !important; color: var(--t7-ink) !important; font-weight: 700 !important; }
body.tpl-template7 .cu-form-body input,
body.tpl-template7 .cu-form-body textarea,
body.tpl-template7 .cu-form-body select {
    border: 1.5px solid var(--t7-border) !important;
    border-radius: var(--t7-radius-sm) !important;
    font-family: 'Hanken Grotesk', system-ui, sans-serif !important;
    background: color-mix(in srgb, #000 14%, var(--t7-surface)) !important;
    color: var(--t7-ink) !important;
    transition: border-color .2s ease, box-shadow .2s ease, background .2s ease !important;
}
body.tpl-template7 .cu-form-body input::placeholder,
body.tpl-template7 .cu-form-body textarea::placeholder { color: var(--t7-muted) !important; }
body.tpl-template7 .cu-form-body input:focus,
body.tpl-template7 .cu-form-body textarea:focus,
body.tpl-template7 .cu-form-body select:focus {
    border-color: var(--t7-accent) !important;
    background: var(--t7-surface) !important;
    outline: none !important;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--t7-accent) 20%, transparent) !important;
}
body.tpl-template7 .cu-submit-btn {
    background: var(--t7-accent) !important;
    color: #231a05 !important;
    border: none !important;
    border-radius: var(--t7-radius) !important;
    padding: 13px 32px !important;
    font-family: 'Hanken Grotesk', system-ui, sans-serif !important;
    font-weight: 700 !important;
    box-shadow: 0 12px 26px -14px rgba(0, 0, 0, .85) !important;
    transition: background .2s ease, transform .2s ease !important;
}
body.tpl-template7 .cu-submit-btn:hover { background: color-mix(in srgb, var(--t7-accent) 82%, #fff) !important; transform: translateY(-2px) !important; }

/* =========================================================================
   PHOTO GALLERY — brass-ring bubble hero icon, specimen tiles, brass lightbox
   ========================================================================= */
body.tpl-template7 .pg-hero-icon {
    background: var(--t7-primary) !important;
    border: 2px solid var(--t7-accent) !important;
    color: var(--t7-accent) !important;
    border-radius: 50% !important;
}
body.tpl-template7 .pg-hero p { color: var(--t7-muted) !important; }
body.tpl-template7 .pg-hero-breadcrumb a:hover,
body.tpl-template7 .pg-hero-breadcrumb .sep { color: var(--t7-accent) !important; }
body.tpl-template7 .pg-item {
    border-radius: var(--t7-radius) !important;
    background: color-mix(in srgb, var(--t7-ink) 10%, var(--t7-surface)) !important;
    padding: 8px !important;
    border: 1px solid var(--t7-accent) !important;
    box-shadow: var(--t7-shadow) !important;
    overflow: hidden !important;
    transition: transform .3s cubic-bezier(.2, .7, .3, 1), box-shadow .3s ease, border-color .3s ease !important;
}
body.tpl-template7 .pg-item img {
    filter: sepia(.28) saturate(.85) hue-rotate(58deg) brightness(.92) contrast(1.02) !important;
    transition: filter .3s ease !important;
}
body.tpl-template7 .pg-item:hover {
    transform: translateY(-5px) !important;
    border-color: color-mix(in srgb, var(--t7-accent) 55%, #fff) !important;
    box-shadow: 0 18px 44px rgba(0, 0, 0, .62) !important;
}
body.tpl-template7 .pg-item:hover img { filter: none !important; }
body.tpl-template7 .pg-item:hover::after { border-color: var(--t7-accent) !important; }
body.tpl-template7 .pg-item-overlay {
    background: linear-gradient(to top, color-mix(in srgb, #000 82%, var(--t7-primary)), transparent) !important;
}
body.tpl-template7 .pg-item-title { color: var(--t7-ink) !important; font-family: 'Spectral', Georgia, serif !important; }
body.tpl-template7 .pg-empty { font-family: 'Hanken Grotesk', system-ui, sans-serif !important; color: var(--t7-muted) !important; }
body.tpl-template7 .pg-lightbox-close,
body.tpl-template7 .pg-lightbox-prev,
body.tpl-template7 .pg-lightbox-next {
    background: var(--t7-accent) !important;
    color: #231a05 !important;
    border: none !important;
    border-radius: 50% !important;
}
body.tpl-template7 .pg-lightbox-close:hover,
body.tpl-template7 .pg-lightbox-prev:hover,
body.tpl-template7 .pg-lightbox-next:hover { background: color-mix(in srgb, var(--t7-accent) 82%, #fff) !important; }

/* =========================================================================
   GENERIC — headings, links, buttons, tables, cards inside the skin
   ========================================================================= */
body.tpl-template7 main h1,
body.tpl-template7 main h2,
body.tpl-template7 main h3 {
    font-family: 'Spectral', Georgia, serif !important;
    color: var(--t7-ink) !important;
}
/* keep chrome / banner / nav links on their own colours */
body.tpl-template7 .sis-banner a,
body.tpl-template7 .hw-banner a,
body.tpl-template7 .nt-banner a,
body.tpl-template7 .cu-banner a,
body.tpl-template7 .pg-hero a,
body.tpl-template7 .cu-card-header a,
body.tpl-template7 .hw-download-btn,
body.tpl-template7 .pg-item a { color: inherit !important; }

body.tpl-template7 main .btn,
body.tpl-template7 main button.btn,
body.tpl-template7 main input[type="submit"] {
    border-radius: var(--t7-radius) !important;
    font-family: 'Hanken Grotesk', system-ui, sans-serif !important;
    font-weight: 700 !important;
    border: none !important;
    transition: transform .2s ease, filter .2s ease, background .2s ease !important;
}
body.tpl-template7 main .btn:hover,
body.tpl-template7 main button.btn:hover,
body.tpl-template7 main input[type="submit"]:hover { transform: translateY(-2px) !important; filter: brightness(1.06) !important; }
body.tpl-template7 main .btn-primary { background: var(--t7-accent) !important; color: #231a05 !important; }
body.tpl-template7 main .btn-primary:hover { background: color-mix(in srgb, var(--t7-accent) 82%, #fff) !important; color: #231a05 !important; }
/* ghost variant — brass-outline pill */
body.tpl-template7 main .btn-secondary {
    background: transparent !important;
    color: var(--t7-accent) !important;
    border: 1.5px solid var(--t7-accent) !important;
}
body.tpl-template7 main .btn-secondary:hover { background: var(--t7-accent) !important; color: #231a05 !important; }
body.tpl-template7 main .btn-accent { background: var(--t7-accent) !important; color: #231a05 !important; }

/* Generic tables in menu pages — forest header, parchment cells, lighter hover */
body.tpl-template7 main .table thead th,
body.tpl-template7 main table thead th {
    background: var(--t7-primary) !important;
    color: var(--t7-ink) !important;
    border: none !important;
}
body.tpl-template7 main .table tbody td,
body.tpl-template7 main table tbody td { color: var(--t7-ink) !important; background: var(--t7-surface) !important; border-color: var(--t7-border) !important; }
body.tpl-template7 main .table tbody tr:nth-child(even) td,
body.tpl-template7 main table tbody tr:nth-child(even) td { background: color-mix(in srgb, var(--t7-ink) 4%, var(--t7-surface)) !important; }
body.tpl-template7 main .table tbody tr:hover td,
body.tpl-template7 main table tbody tr:hover td { background: color-mix(in srgb, var(--t7-ink) 9%, var(--t7-surface)) !important; }

/* Generic cards / containers inside menu pages */
body.tpl-template7 main .card {
    background: var(--t7-surface) !important;
    color: var(--t7-ink) !important;
    border: 1px solid var(--t7-border) !important;
    border-radius: var(--t7-radius) !important;
    box-shadow: var(--t7-shadow) !important;
    overflow: hidden !important;
}
body.tpl-template7 main blockquote {
    border-left: 4px solid var(--t7-accent) !important;
    background: color-mix(in srgb, var(--t7-accent) 8%, var(--t7-surface)) !important;
    color: var(--t7-ink) !important;
    padding: 14px 18px; border-radius: 0 var(--t7-radius) var(--t7-radius) 0;
    font-family: 'Hanken Grotesk', system-ui, sans-serif !important;
}
body.tpl-template7 main hr { border-color: var(--t7-border) !important; }

/* =========================================================================
   RESPONSIVE polish
   ========================================================================= */
@media (max-width: 780px) {
    body.tpl-template7 .sis-card { padding: 24px 20px !important; }
    body.tpl-template7 .sis-heading { font-size: 23px !important; }
    body.tpl-template7 .sis-section { padding: 40px 0 52px !important; }
    body.tpl-template7 .sis-banner,
    body.tpl-template7 .hw-banner,
    body.tpl-template7 .nt-banner,
    body.tpl-template7 .cu-banner,
    body.tpl-template7 .pg-hero { padding: 56px 0 48px !important; }
}
@media (max-width: 600px) {
    body.tpl-template7 .sis-banner,
    body.tpl-template7 .hw-banner,
    body.tpl-template7 .nt-banner,
    body.tpl-template7 .cu-banner,
    body.tpl-template7 .pg-hero { padding: 46px 0 40px !important; }
    body.tpl-template7 .sis-banner h2,
    body.tpl-template7 .hw-banner h2,
    body.tpl-template7 .nt-banner h2,
    body.tpl-template7 .cu-banner h2 { font-size: 26px !important; }
    body.tpl-template7 .header-admit-btn { padding: 10px 18px !important; }
}

/* ===== UNIFIED INNER-PAGE BANNERS — all inner pages share each template's photo-gallery banner ===== */

/* ---- Template 1 — navy→blue gradient, gold accent border + tall gold rule, Playfair heading with gold left-rule ---- */
body.tpl-template1 :is(.pg-hero, .vg-hero, .cr-hero, .md-hero, .evt-banner, .evtg-banner, .cu-banner, .sis-banner, .hw-banner, .nt-banner) {
    background: linear-gradient(125deg, var(--t1-primary) 0%, var(--t1-secondary) 100%) !important;
    border-bottom: 3px solid var(--t1-accent) !important;
    padding: 66px 0 54px !important;
    text-align: left !important;
    position: relative !important;
    overflow: hidden !important;
}
body.tpl-template1 :is(.pg-hero, .vg-hero, .cr-hero, .md-hero, .evt-banner, .evtg-banner, .cu-banner, .sis-banner, .hw-banner, .nt-banner) :is(h1, h2) {
    font-family: 'Playfair Display', Georgia, serif !important;
    color: #fff !important;
    font-weight: 700 !important;
    letter-spacing: -0.3px !important;
    text-transform: none !important;
    border-left: 5px solid var(--t1-accent) !important;
    padding-left: 20px !important;
    display: inline-block !important;
}
body.tpl-template1 :is(.pg-hero-divider, .vg-hero-divider, .cr-line, .md-line, .evt-banner-line, .evtg-banner-line, .cu-banner-line, .sis-banner-line, .hw-banner-line, .nt-banner-line) {
    background: var(--t1-accent) !important;
    height: 4px !important;
    width: 70px !important;
    margin-left: 0 !important;
    border-radius: 999px !important;
}
body.tpl-template1 :is(.pg-hero-icon, .vg-hero-icon) {
    background: rgba(255, 255, 255, .16) !important;
    border: 3px solid #fff !important;
    outline: 2px solid var(--t1-accent) !important;
    outline-offset: 2px !important;
    color: #fff !important;
    border-radius: 50% !important;
}
body.tpl-template1 :is(.pg-hero, .vg-hero, .cr-hero, .md-hero, .evt-banner, .evtg-banner, .cu-banner, .sis-banner, .hw-banner, .nt-banner) p { color: rgba(255, 255, 255, .86) !important; }
body.tpl-template1 :is(.pg-hero-breadcrumb, .vg-hero-breadcrumb) a:hover,
body.tpl-template1 :is(.pg-hero-breadcrumb, .vg-hero-breadcrumb) .sep { color: var(--t1-accent) !important; }
body.tpl-template1 :is(.pg-hero, .vg-hero, .cr-hero, .md-hero, .evt-banner, .evtg-banner, .cu-banner, .sis-banner, .hw-banner, .nt-banner) a { color: inherit !important; }
@media (max-width: 600px) {
    body.tpl-template1 :is(.pg-hero, .vg-hero, .cr-hero, .md-hero, .evt-banner, .evtg-banner, .cu-banner, .sis-banner, .hw-banner, .nt-banner) { padding: 44px 0 38px !important; }
}

/* ---- Template 2 — blue gradient with angled clip-path bottom, blue accent rule, Plus Jakarta heading ---- */
body.tpl-template2 :is(.pg-hero, .vg-hero, .cr-hero, .md-hero, .evt-banner, .evtg-banner, .cu-banner, .sis-banner, .hw-banner, .nt-banner) {
    background: linear-gradient(125deg, var(--t2-secondary) 0%, var(--t2-primary) 100%) !important;
    border-bottom: none !important;
    padding: 66px 0 72px !important;
    text-align: left !important;
    position: relative !important;
    overflow: hidden !important;
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - 30px), 0 100%) !important;
}
body.tpl-template2 :is(.pg-hero, .vg-hero, .cr-hero, .md-hero, .evt-banner, .evtg-banner, .cu-banner, .sis-banner, .hw-banner, .nt-banner) :is(h1, h2) {
    font-family: 'Plus Jakarta Sans', system-ui, sans-serif !important;
    color: #fff !important;
    font-weight: 800 !important;
    letter-spacing: -0.3px !important;
    text-transform: none !important;
}
body.tpl-template2 :is(.pg-hero-divider, .vg-hero-divider, .cr-line, .md-line, .evt-banner-line, .evtg-banner-line, .cu-banner-line, .sis-banner-line, .hw-banner-line, .nt-banner-line) {
    background: var(--t2-accent) !important;
    height: 4px !important;
    width: 70px !important;
    margin-left: 0 !important;
    border-radius: 999px !important;
}
body.tpl-template2 :is(.pg-hero-icon, .vg-hero-icon) {
    background: rgba(255, 255, 255, .16) !important;
    border: 3px solid #fff !important;
    outline: 2px solid var(--t2-accent) !important;
    outline-offset: 2px !important;
    color: #fff !important;
    border-radius: var(--t2-radius) !important;
}
body.tpl-template2 :is(.pg-hero, .vg-hero, .cr-hero, .md-hero, .evt-banner, .evtg-banner, .cu-banner, .sis-banner, .hw-banner, .nt-banner) p { color: rgba(255, 255, 255, .86) !important; }
body.tpl-template2 :is(.pg-hero-breadcrumb, .vg-hero-breadcrumb) a:hover,
body.tpl-template2 :is(.pg-hero-breadcrumb, .vg-hero-breadcrumb) .sep { color: var(--t2-accent) !important; }
body.tpl-template2 :is(.pg-hero, .vg-hero, .cr-hero, .md-hero, .evt-banner, .evtg-banner, .cu-banner, .sis-banner, .hw-banner, .nt-banner) a { color: inherit !important; }
@media (max-width: 600px) {
    body.tpl-template2 :is(.pg-hero, .vg-hero, .cr-hero, .md-hero, .evt-banner, .evtg-banner, .cu-banner, .sis-banner, .hw-banner, .nt-banner) { padding: 44px 0 54px !important; clip-path: polygon(0 0, 100% 0, 100% calc(100% - 20px), 0 100%) !important; }
}

/* ---- Template 3 — teal→purple gradient with rounded bottom, white rule, Poppins heading ---- */
body.tpl-template3 :is(.pg-hero, .vg-hero, .cr-hero, .md-hero, .evt-banner, .evtg-banner, .cu-banner, .sis-banner, .hw-banner, .nt-banner) {
    background: linear-gradient(125deg, var(--t3-primary) 0%, var(--t3-accent) 100%) !important;
    border-bottom: none !important;
    padding: 62px 0 54px !important;
    position: relative !important;
    overflow: hidden !important;
    border-radius: 0 0 42px 42px !important;
}
body.tpl-template3 :is(.pg-hero, .vg-hero, .cr-hero, .md-hero, .evt-banner, .evtg-banner, .cu-banner, .sis-banner, .hw-banner, .nt-banner) :is(h1, h2) {
    font-family: 'Poppins', system-ui, sans-serif !important;
    color: #fff !important;
    font-weight: 700 !important;
    letter-spacing: -0.3px !important;
    text-transform: none !important;
}
body.tpl-template3 :is(.pg-hero-divider, .vg-hero-divider, .cr-line, .md-line, .evt-banner-line, .evtg-banner-line, .cu-banner-line, .sis-banner-line, .hw-banner-line, .nt-banner-line) {
    background: #fff !important;
    height: 4px !important;
    width: 70px !important;
    border-radius: 999px !important;
}
body.tpl-template3 :is(.pg-hero-icon, .vg-hero-icon) {
    background: rgba(255, 255, 255, .16) !important;
    border: 3px solid #fff !important;
    outline: 2px solid var(--t3-accent) !important;
    outline-offset: 2px !important;
    color: #fff !important;
    border-radius: 50% !important;
}
body.tpl-template3 :is(.pg-hero, .vg-hero, .cr-hero, .md-hero, .evt-banner, .evtg-banner, .cu-banner, .sis-banner, .hw-banner, .nt-banner) p { color: rgba(255, 255, 255, .88) !important; }
body.tpl-template3 :is(.pg-hero-breadcrumb, .vg-hero-breadcrumb) a:hover,
body.tpl-template3 :is(.pg-hero-breadcrumb, .vg-hero-breadcrumb) .sep { color: #fff !important; }
body.tpl-template3 :is(.pg-hero, .vg-hero, .cr-hero, .md-hero, .evt-banner, .evtg-banner, .cu-banner, .sis-banner, .hw-banner, .nt-banner) a { color: inherit !important; }
@media (max-width: 600px) {
    body.tpl-template3 :is(.pg-hero, .vg-hero, .cr-hero, .md-hero, .evt-banner, .evtg-banner, .cu-banner, .sis-banner, .hw-banner, .nt-banner) { padding: 42px 0 38px !important; border-radius: 0 0 30px 30px !important; }
}

/* ---- Template 4 — plum gradient + accent border, Fraunces heading ---- */
body.tpl-template4 :is(.pg-hero, .vg-hero, .cr-hero, .md-hero, .evt-banner, .evtg-banner, .cu-banner, .sis-banner, .hw-banner, .nt-banner) {
    background: linear-gradient(125deg, var(--t4-primary) 0%, var(--t4-secondary) 100%) !important;
    border-bottom: 3px solid var(--t4-accent) !important;
    padding: 68px 0 56px !important;
    position: relative !important;
    overflow: hidden !important;
}
body.tpl-template4 :is(.pg-hero, .vg-hero, .cr-hero, .md-hero, .evt-banner, .evtg-banner, .cu-banner, .sis-banner, .hw-banner, .nt-banner) :is(h1, h2) {
    font-family: 'Fraunces', Georgia, serif !important;
    color: #fff !important;
    font-weight: 700 !important;
    letter-spacing: -0.3px !important;
    text-transform: none !important;
}
body.tpl-template4 :is(.pg-hero-divider, .vg-hero-divider, .cr-line, .md-line, .evt-banner-line, .evtg-banner-line, .cu-banner-line, .sis-banner-line, .hw-banner-line, .nt-banner-line) {
    background: var(--t4-accent) !important;
    height: 4px !important;
    width: 66px !important;
    border-radius: 999px !important;
}
body.tpl-template4 :is(.pg-hero-icon, .vg-hero-icon) {
    background: rgba(255, 255, 255, .16) !important;
    border: 3px solid #fff !important;
    outline: 2px solid var(--t4-accent) !important;
    outline-offset: 2px !important;
    color: #fff !important;
    border-radius: 50% !important;
}
body.tpl-template4 :is(.pg-hero, .vg-hero, .cr-hero, .md-hero, .evt-banner, .evtg-banner, .cu-banner, .sis-banner, .hw-banner, .nt-banner) p { color: rgba(255, 255, 255, .86) !important; }
body.tpl-template4 :is(.pg-hero-breadcrumb, .vg-hero-breadcrumb) a:hover,
body.tpl-template4 :is(.pg-hero-breadcrumb, .vg-hero-breadcrumb) .sep { color: var(--t4-accent) !important; }
body.tpl-template4 :is(.pg-hero, .vg-hero, .cr-hero, .md-hero, .evt-banner, .evtg-banner, .cu-banner, .sis-banner, .hw-banner, .nt-banner) a { color: inherit !important; }
@media (max-width: 600px) {
    body.tpl-template4 :is(.pg-hero, .vg-hero, .cr-hero, .md-hero, .evt-banner, .evtg-banner, .cu-banner, .sis-banner, .hw-banner, .nt-banner) { padding: 46px 0 40px !important; }
}

/* ---- Template 5 — solid primary + accent border, magenta pill rule, Bricolage heading ---- */
body.tpl-template5 :is(.pg-hero, .vg-hero, .cr-hero, .md-hero, .evt-banner, .evtg-banner, .cu-banner, .sis-banner, .hw-banner, .nt-banner) {
    background: var(--t5-primary) !important;
    border-bottom: 3px solid var(--t5-accent) !important;
    padding: 68px 0 56px !important;
    position: relative !important;
    overflow: hidden !important;
}
body.tpl-template5 :is(.pg-hero, .vg-hero, .cr-hero, .md-hero, .evt-banner, .evtg-banner, .cu-banner, .sis-banner, .hw-banner, .nt-banner) :is(h1, h2) {
    font-family: 'Bricolage Grotesque', system-ui, sans-serif !important;
    color: #fff !important;
    font-weight: 800 !important;
    letter-spacing: -0.6px !important;
    text-transform: none !important;
}
body.tpl-template5 :is(.pg-hero-divider, .vg-hero-divider, .cr-line, .md-line, .evt-banner-line, .evtg-banner-line, .cu-banner-line, .sis-banner-line, .hw-banner-line, .nt-banner-line) {
    background: var(--t5-accent) !important;
    height: 4px !important;
    width: 66px !important;
    border-radius: var(--t5-pill) !important;
}
body.tpl-template5 :is(.pg-hero-icon, .vg-hero-icon) {
    background: var(--t5-accent) !important;
    border: 3px solid #fff !important;
    outline: 2px solid var(--t5-accent) !important;
    outline-offset: 2px !important;
    color: #fff !important;
    border-radius: 50% !important;
}
body.tpl-template5 :is(.pg-hero, .vg-hero, .cr-hero, .md-hero, .evt-banner, .evtg-banner, .cu-banner, .sis-banner, .hw-banner, .nt-banner) p { color: rgba(255, 255, 255, .82) !important; }
body.tpl-template5 :is(.pg-hero-breadcrumb, .vg-hero-breadcrumb) a:hover,
body.tpl-template5 :is(.pg-hero-breadcrumb, .vg-hero-breadcrumb) .sep { color: var(--t5-accent) !important; }
body.tpl-template5 :is(.pg-hero, .vg-hero, .cr-hero, .md-hero, .evt-banner, .evtg-banner, .cu-banner, .sis-banner, .hw-banner, .nt-banner) a { color: inherit !important; }
@media (max-width: 600px) {
    body.tpl-template5 :is(.pg-hero, .vg-hero, .cr-hero, .md-hero, .evt-banner, .evtg-banner, .cu-banner, .sis-banner, .hw-banner, .nt-banner) { padding: 46px 0 40px !important; }
}

/* ---- Template 6 — solid primary with curved-arch bottom, coral pill rule, DM Serif heading ---- */
body.tpl-template6 :is(.pg-hero, .vg-hero, .cr-hero, .md-hero, .evt-banner, .evtg-banner, .cu-banner, .sis-banner, .hw-banner, .nt-banner) {
    background: var(--t6-primary) !important;
    padding: 70px 0 60px !important;
    position: relative !important;
    overflow: hidden !important;
    border-radius: 0 0 40% 40% / 0 0 26px 26px !important;
}
body.tpl-template6 :is(.pg-hero, .vg-hero, .cr-hero, .md-hero, .evt-banner, .evtg-banner, .cu-banner, .sis-banner, .hw-banner, .nt-banner) :is(h1, h2) {
    font-family: 'DM Serif Display', Georgia, serif !important;
    color: #fff !important;
    font-weight: 400 !important;
    letter-spacing: -0.4px !important;
    text-transform: none !important;
}
body.tpl-template6 :is(.pg-hero-divider, .vg-hero-divider, .cr-line, .md-line, .evt-banner-line, .evtg-banner-line, .cu-banner-line, .sis-banner-line, .hw-banner-line, .nt-banner-line) {
    background: var(--t6-accent) !important;
    height: 4px !important;
    width: 66px !important;
    border-radius: var(--t6-pill) !important;
}
body.tpl-template6 :is(.pg-hero-icon, .vg-hero-icon) {
    background: var(--t6-accent) !important;
    border: 3px solid #fff !important;
    outline: 2px solid var(--t6-accent) !important;
    outline-offset: 2px !important;
    color: #fff !important;
    border-radius: 50% !important;
}
body.tpl-template6 :is(.pg-hero, .vg-hero, .cr-hero, .md-hero, .evt-banner, .evtg-banner, .cu-banner, .sis-banner, .hw-banner, .nt-banner) p { color: rgba(255, 255, 255, .82) !important; }
body.tpl-template6 :is(.pg-hero-breadcrumb, .vg-hero-breadcrumb) a:hover,
body.tpl-template6 :is(.pg-hero-breadcrumb, .vg-hero-breadcrumb) .sep { color: var(--t6-accent) !important; }
body.tpl-template6 :is(.pg-hero, .vg-hero, .cr-hero, .md-hero, .evt-banner, .evtg-banner, .cu-banner, .sis-banner, .hw-banner, .nt-banner) a { color: inherit !important; }
@media (max-width: 780px) {
    body.tpl-template6 :is(.pg-hero, .vg-hero, .cr-hero, .md-hero, .evt-banner, .evtg-banner, .cu-banner, .sis-banner, .hw-banner, .nt-banner) { border-radius: 0 0 30% 30% / 0 0 18px 18px !important; }
}
@media (max-width: 600px) {
    body.tpl-template6 :is(.pg-hero, .vg-hero, .cr-hero, .md-hero, .evt-banner, .evtg-banner, .cu-banner, .sis-banner, .hw-banner, .nt-banner) { padding: 46px 0 40px !important; }
}

/* ---- Template 7 — dark forest-green gradient + brass hairline border, brass pill rule, Spectral heading ---- */
body.tpl-template7 :is(.pg-hero, .vg-hero, .cr-hero, .md-hero, .evt-banner, .evtg-banner, .cu-banner, .sis-banner, .hw-banner, .nt-banner) {
    background: linear-gradient(160deg, #16281F, #0E1C16) !important;
    padding: 70px 0 60px !important;
    position: relative !important;
    overflow: hidden !important;
    border-bottom: 1px solid color-mix(in srgb, var(--t7-accent) 55%, transparent) !important;
}
body.tpl-template7 :is(.pg-hero, .vg-hero, .cr-hero, .md-hero, .evt-banner, .evtg-banner, .cu-banner, .sis-banner, .hw-banner, .nt-banner) :is(h1, h2) {
    font-family: 'Spectral', Georgia, serif !important;
    color: var(--t7-ink) !important;
    font-weight: 600 !important;
    letter-spacing: -0.4px !important;
    text-transform: none !important;
}
body.tpl-template7 :is(.pg-hero-divider, .vg-hero-divider, .cr-line, .md-line, .evt-banner-line, .evtg-banner-line, .cu-banner-line, .sis-banner-line, .hw-banner-line, .nt-banner-line) {
    background: var(--t7-accent) !important;
    height: 4px !important;
    width: 66px !important;
    border-radius: var(--t7-pill) !important;
}
body.tpl-template7 :is(.pg-hero-icon, .vg-hero-icon) {
    background: var(--t7-primary) !important;
    border: 2px solid var(--t7-accent) !important;
    color: var(--t7-accent) !important;
    border-radius: 50% !important;
}
body.tpl-template7 :is(.pg-hero, .vg-hero, .cr-hero, .md-hero, .evt-banner, .evtg-banner, .cu-banner, .sis-banner, .hw-banner, .nt-banner) p { color: var(--t7-muted) !important; }
body.tpl-template7 :is(.pg-hero-breadcrumb, .vg-hero-breadcrumb) a:hover,
body.tpl-template7 :is(.pg-hero-breadcrumb, .vg-hero-breadcrumb) .sep { color: var(--t7-accent) !important; }
body.tpl-template7 :is(.pg-hero, .vg-hero, .cr-hero, .md-hero, .evt-banner, .evtg-banner, .cu-banner, .sis-banner, .hw-banner, .nt-banner) a { color: inherit !important; }
@media (max-width: 780px) {
    body.tpl-template7 :is(.pg-hero, .vg-hero, .cr-hero, .md-hero, .evt-banner, .evtg-banner, .cu-banner, .sis-banner, .hw-banner, .nt-banner) { padding: 56px 0 48px !important; }
}
@media (max-width: 600px) {
    body.tpl-template7 :is(.pg-hero, .vg-hero, .cr-hero, .md-hero, .evt-banner, .evtg-banner, .cu-banner, .sis-banner, .hw-banner, .nt-banner) { padding: 46px 0 40px !important; }
}

/* ===== inner-page banners: remove the floating icon so every page has a clean, normal header ===== */
body[class*="tpl-"] :is(.pg-hero-icon, .vg-hero-icon) { display: none !important; }


/* ===== inner-page banners: consistent LEFT-aligned header — heading, then the line directly under it, subtitle, breadcrumb; same inset on every page ===== */
body[class*="tpl-"] :is(.pg-hero, .vg-hero, .cr-hero, .md-hero, .evt-banner, .evtg-banner, .cu-banner, .sis-banner, .hw-banner, .nt-banner) { text-align: left !important; }
body[class*="tpl-"] :is(.pg-hero-inner, .vg-hero-inner, .sis-container) { max-width: 1280px !important; width: auto !important; margin: 0 auto !important; padding: 0 24px !important; box-sizing: border-box !important; }
body[class*="tpl-"] :is(.cr-hero, .md-hero) { padding-left: max(24px, calc((100% - 1280px) / 2 + 24px)) !important; padding-right: max(24px, calc((100% - 1280px) / 2 + 24px)) !important; }
body[class*="tpl-"] :is(.pg-hero, .vg-hero, .cr-hero, .md-hero, .evt-banner, .evtg-banner, .cu-banner, .sis-banner, .hw-banner, .nt-banner) :is(h1, h2) { border-left: none !important; padding-left: 0 !important; text-align: left !important; }
body[class*="tpl-"] :is(.pg-hero-divider, .vg-hero-divider, .cr-line, .md-line, .evt-banner-line, .evtg-banner-line, .cu-banner-line, .sis-banner-line, .hw-banner-line, .nt-banner-line) { margin-left: 0 !important; margin-right: auto !important; }
body[class*="tpl-"] :is(.pg-hero-breadcrumb, .vg-hero-breadcrumb) { justify-content: flex-start !important; }
