@import url("nhis-section.css");

/* ═══════════════════════════════════════════════════════════
   COLOR PALETTE — Following Reference Image
   ═══════════════════════════════════════════════════════════ */
:root {
    /* Primary colour */
    --primary-blue: #3675B9;

    /* Accent colours */
    --accent-green: #43A442;
    --accent-orange: #F58220;

    /* Background */
    --bg-white: #FFFFFF;

    /* Text colours */
    --text-dark: #2d2d2d;
    --text-light: #5a5a5a;

    /* Additional derived colors */
    --primary-navy: #134B70;
    --accent-dusty: #d96b0c; /* Fallback for complex gradients */

    /* General */
    --white: #FFFFFF;
}

html {}

body {
    font-family: 'Merriweather', serif !important;
    color: var(--text-dark) !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    overflow-x: hidden !important;
    min-height: 100vh !important;
    background: var(--white) !important;
    /* White background */
    background-color: #ffffff !important;
    /* Force white */
}

.wp-block-image img {
    max-width: 100%;
    height: auto;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: 'Merriweather', sans-serif;
    font-weight: 700;
}

.widget_search {
    margin-bottom: 1em;
}

a {
    color: var(--primary-navy);
    text-decoration: none;
}

a:hover {
    color: var(--accent-green);
}

/*--------------------------------------------------------------
# Back to top button
--------------------------------------------------------------*/
/* Back to top button - use primary blue */
.back-to-top {
    position: fixed;
    visibility: hidden;
    opacity: 0;
    right: 15px;
    bottom: 15px;
    z-index: 99999;
    background: var(--primary-blue);
    width: 40px;
    height: 40px;
    border-radius: 4px;
    transition: all 0.4s;
}

.back-to-top i {
    font-size: 24px;
    color: #fff;
    line-height: 0;
}

.back-to-top:hover {
    background: var(--accent-orange);
    color: #fff;
    opacity: .8;
}

.back-to-top.active {
    visibility: visible;
    opacity: 1;
}

::placeholder {
    font-size: 12px;
}

/*--------------------------------------------------------------
# Header
--------------------------------------------------------------*/
.header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 10000;
    transition: background 0.4s ease, box-shadow 0.4s ease;
    overflow: visible;
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
    border: none !important;
    border-bottom: none !important;
}

.header::after,
.header::before {
    display: none !important;
    content: none !important;
}

.header.header-scrolled {
    box-shadow: none !important;
    border-bottom: none !important;
    background: var(--primary-blue) !important;
    background-color: var(--primary-blue) !important;
}

/* Scrolled header - full width blue navbar */
.header.header-scrolled .navbar-inner {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 8px 40px !important;   /* Vertical padding so logo has room */
    border-radius: 0 !important;
    background: var(--primary-blue) !important;
    overflow: visible !important;   /* Never clip the logo */
}

.header.header-scrolled {
    overflow: visible !important;   /* Header itself must not clip logo */
}

.header.header-scrolled .header-logo {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    transform: none !important;
}

.header.header-scrolled .navbar-inner::before {
    background: var(--primary-blue) !important;
    border-radius: 0 !important;
}

/* White text when scrolled, green on hover */
.header.header-scrolled .header-nav-left .nav-left-menu>li>a,
.header.header-scrolled .header-nav-right .nav-right-menu>li>a {
    color: #ffffff !important;
}

.header.header-scrolled .header-nav-left .nav-left-menu>li>a:hover,
.header.header-scrolled .header-nav-left .nav-left-menu>li.current-menu-item>a,
.header.header-scrolled .header-nav-right .nav-right-menu>li>a:hover,
.header.header-scrolled .header-nav-right .nav-right-menu>li.current-menu-item>a {
    color: var(--accent-green) !important;
}

/* ─── TOP BAR REMOVED ─────────────────────────────────────── */
/* Top bar section removed to match reference design */

/* ─── MAIN NAV BAR — REFERENCE IMAGE STYLE ─────────────────── */
.header-navbar {
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
    position: relative !important;
    z-index: 998 !important;
    border: none !important;
    padding: 0 !important;
    /* Remove padding to eliminate line */
}

.header-navbar::after,
.header-navbar::before {
    display: none !important;
    content: none !important;
}

.navbar-inner {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: calc(100% - 48px) !important;
    /* Side margins so it floats */
    max-width: 1200px !important;
    margin: 14px auto !important;
    /* Vertical margin for spacing */
    min-height: 60px !important;
    padding: 0 40px !important;
    position: relative !important;
    z-index: 2 !important;
    background: rgba(54, 117, 185, 0.2) !important;
    /* Light blue background derived from primary */
    border-radius: 50px !important;
    border: none !important;
    box-shadow: none !important;
    overflow: visible !important;
    /* Allow logo to overflow */
    transition: background 0.4s ease, border-radius 0.4s ease, width 0.4s ease, margin 0.4s ease, max-width 0.4s ease !important;
}

.navbar-inner::before {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    inset: 0 !important;
    background: rgba(54, 117, 185, 0.2) !important;
    border-radius: 50px !important;
    z-index: -1 !important;
}

.navbar-inner::after {
    display: none !important;
    content: none !important;
}

/* ─── LEFT NAV — REFERENCE STYLE ─────────────────────────── */
.header-nav-left {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    height: 80px;
    padding-right: 20px;
}

.header-nav-left .nav-left-menu {
    display: flex;
    align-items: center;
    list-style: none;
    margin: 0;
    padding: 0;
    height: 80px;
    gap: 0;
    /* No gaps - items touch */
}

/* LEFT menu now has its OWN 3 items — show all of them */
.header-nav-left .nav-left-menu>li:nth-child(n+4) {
    display: none !important;
}

.header-nav-left .nav-left-menu>li {
    display: flex;
    align-items: center;
    height: 80px;
    position: relative;
}

.header-nav-left .nav-left-menu>li>a {
    font-family: 'Merriweather', serif;
    /* Use Merriweather like the rest of the site */
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 0px;
    text-transform: none;
    color: var(--text-dark);
    text-decoration: none !important;
    padding: 0 20px;
    /* Generous padding */
    height: 80px;
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
    border-bottom: none;
    /* No underlines */
    transition: color 0.2s;
    position: relative;
    z-index: 2;
}

/* Navigation hover colors - use green */
.header-nav-left .nav-left-menu>li>a:hover,
.header-nav-left .nav-left-menu>li.current-menu-item>a {
    color: var(--accent-green);
    /* Green on hover */
}

/* Dropdown for left nav — all levels */
.header-nav-left .nav-left-menu>li>ul,
.header-nav-left .nav-left-menu>li>ul ul {
    display: none;
    position: absolute;
    background: var(--white);
    min-width: 220px;
    top: 100%;
    left: 0;
    list-style: none;
    margin: 0;
    padding: 4px 0;
    z-index: 99999;
    border-top: 3px solid var(--accent-green);
    border-radius: 0 0 6px 6px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.10);
    pointer-events: auto;
    visibility: visible;
    opacity: 1;
}

.header-nav-left .nav-left-menu>li:hover>ul,
.header-nav-left .nav-left-menu>li>ul:hover,
.header-nav-left .nav-left-menu>li.menu-open>ul {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* Invisible hover bridge to prevent gap drop-off for all desktop dropdowns */
.header-nav-left .nav-left-menu>li>ul::before,
.header-nav-right .nav-right-menu>li>ul::before,
.shu-nav ul>li>ul::before,
#mega-menu-wrap-header-menu #mega-menu-header-menu>li>ul.mega-sub-menu::before {
    content: '';
    position: absolute;
    top: -40px;
    /* taller bridge - covers any gap */
    left: 0;
    width: 100%;
    height: 40px;
    background: transparent;
}

/* First level drops down */
.header-nav-left .nav-left-menu>li>ul {
    top: 100%;
    left: 0;
}

/* Nested levels drop to the right */
.header-nav-left .nav-left-menu>li>ul ul {
    top: 0;
    left: 100%;
    border-top: 3px solid var(--accent-green);
    border-radius: 0 0 6px 6px;
}

.header-nav-left .nav-left-menu>li:hover>ul {
    display: block;
}

.header-nav-left .nav-left-menu>li>ul>li {
    position: relative;
}

.header-nav-left .nav-left-menu>li>ul>li:hover>ul {
    display: block;
}

.header-nav-left .nav-left-menu>li>ul li>a {
    display: block;
    padding: 10px 20px;
    font-family: 'Merriweather', serif;
    font-size: 14px;
    font-weight: 400;
    color: var(--text-dark);
    text-decoration: none !important;
    border-bottom: 1px solid rgba(180, 214, 227, 0.3);
    transition: background 0.15s, color 0.15s, padding-left 0.15s;
    white-space: nowrap;
    pointer-events: auto;
    cursor: pointer;
}

.header-nav-left .nav-left-menu>li>ul li>a:hover {
    background: rgba(67, 164, 66, 0.15);
    color: var(--accent-green);
    padding-left: 24px;
}

/* Top-level hover — navy blue */
.header-nav-left .nav-left-menu>li>a:hover,
.header-nav-left .nav-left-menu>li.current-menu-item>a,
.header-nav-left .nav-left-menu>li.current-menu-ancestor>a {
    color: var(--accent-green) !important;
    border-bottom-color: var(--accent-green) !important;
}

/* ─── LOGO — LIKE REFERENCE IMAGE, BIGGER & EXTENDS OUTSIDE ───────────── */
.header-logo {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none !important;
    background: transparent;
    border-radius: 0;
    width: auto;
    height: auto;
    box-shadow: none;
    position: relative;
    z-index: 1000;
    margin: 0 30px;
    padding: 0;
    transform: scale(1.2);  /* Slightly larger but not cut off */
    margin-top: 0;          /* No negative pull - logo fully visible */
    margin-bottom: 0;
}

.header-logo .logo-img {
    height: 70px;
    width: auto;
    display: block;
    object-fit: contain;
    transition: opacity 0.2s;
}

.header-logo:hover .logo-img {
    opacity: 0.85;
}

/* ─── RIGHT NAV — REFERENCE STYLE ────────────────────────── */
.header-nav-right {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    height: 60px;
    padding-left: 15px;
}

.header-nav-right nav {
    display: flex;
    align-items: center;
    height: 60px;
}

.header-nav-right .nav-right-menu {
    display: flex;
    align-items: center;
    list-style: none;
    margin: 0;
    padding: 0;
    height: 60px;
    gap: 0;
}

.header-nav-right .nav-right-menu>li:nth-child(-n+3) {
    display: flex !important;
}

.header-nav-right .nav-right-menu>li {
    display: flex;
    align-items: center;
    height: 60px;
    position: relative;
}

.header-nav-right .nav-right-menu>li>a {
    font-family: 'Merriweather', serif;
    font-size: 15px;
    font-weight: 500;
    letter-spacing: 0px;
    text-transform: none;
    color: var(--text-dark);
    text-decoration: none !important;
    padding: 0 15px;
    height: 60px;
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
    border-bottom: none;
    transition: color 0.2s;
    position: relative;
    z-index: 2;
}

.header-nav-right .nav-right-menu>li>a:hover,
.header-nav-right .nav-right-menu>li.current-menu-item>a {
    color: var(--accent-green);
}

/* Dropdown for right nav — all levels */
.header-nav-right .nav-right-menu>li>ul,
.header-nav-right .nav-right-menu>li>ul ul {
    display: none;
    position: absolute;
    background: var(--white);
    min-width: 220px;
    box-shadow: 0 8px 24px rgba(19, 75, 112, 0.15);
    border-top: 3px solid var(--accent-green);
    border-radius: 0 0 6px 6px;
    list-style: none;
    padding: 4px 0;
    margin: 0;
    z-index: 99999;
    pointer-events: auto;
    visibility: visible;
    opacity: 1;
}

.header-nav-right .nav-right-menu>li>ul {
    top: 100%;
    left: 0;
}

.header-nav-right .nav-right-menu>li>ul ul {
    top: 0;
    left: 100%;
    border-top: 3px solid var(--accent-green);
}

.header-nav-right .nav-right-menu>li:hover>ul,
.header-nav-right .nav-right-menu>li>ul:hover,
.header-nav-right .nav-right-menu>li.menu-open>ul {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.header-nav-right .nav-right-menu>li>ul>li {
    position: relative;
}

.header-nav-right .nav-right-menu>li>ul>li:hover>ul {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.header-nav-right .nav-right-menu>li>ul li>a {
    display: block;
    padding: 10px 20px;
    font-family: 'Merriweather', serif;
    font-size: 14px;
    font-weight: 400;
    color: var(--text-dark);
    text-decoration: none !important;
    border-bottom: 1px solid rgba(180, 214, 227, 0.3);
    transition: background 0.15s, color 0.15s, padding-left 0.15s;
    white-space: nowrap;
    pointer-events: auto;
    cursor: pointer;
}

.header-nav-right .nav-right-menu>li>ul li>a:hover {
    background: rgba(67, 164, 66, 0.15);
    color: var(--accent-green);
    padding-left: 24px;
}

/* Top-level hover — navy blue */
.header-nav-right .nav-right-menu>li>a:hover,
.header-nav-right .nav-right-menu>li.current-menu-item>a,
.header-nav-right .nav-right-menu>li.current-menu-ancestor>a {
    color: var(--accent-green) !important;
    border-bottom-color: var(--accent-green) !important;
}

/* ─── NAV LINKS ──────────────────────────────────────────── */
.header-nav-area {
    display: flex;
    align-items: center;
    flex: 1;
    min-width: 0;
}

.shu-nav {
    display: flex;
    align-items: stretch;
    height: 130px;
    flex: 1;
}

/* wp_nav_menu wraps in a div — flatten it */
.shu-nav>div {
    display: flex;
    align-items: stretch;
    flex: 1;
    height: 100%;
}

.shu-nav>div>ul,
.shu-nav>ul {
    display: flex;
    align-items: stretch;
    list-style: none;
    margin: 0;
    padding: 0;
    height: 100%;
    flex-wrap: nowrap;
    flex: 1;
}

.shu-nav ul>li {
    position: relative;
    display: flex;
    align-items: stretch;
}

.shu-nav ul>li>a {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    padding: 0 8px;
    color: #2d2d2d;
    font-family: 'Merriweather', serif;
    font-size: 12.5px;
    font-weight: 500;
    text-decoration: none;
    white-space: nowrap;
    border-bottom: 3px solid transparent;
    transition: color 0.2s, border-color 0.2s;
    letter-spacing: 0.1px;
}

.shu-nav ul>li>a:hover,
.shu-nav ul>li.current-menu-item>a,
.shu-nav ul>li.current_page_item>a {
    color: var(--accent-green);
    border-bottom-color: var(--accent-green);
}

/* Dropdown arrow — inline, same baseline as text */
.shu-nav ul>li.menu-item-has-children>a::after {
    content: "▾";
    font-size: 9px;
    opacity: 0.55;
    display: inline-block;
    line-height: 1;
    margin-top: 1px;
}

/* Submenu */
.shu-nav ul>li>ul {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 215px;
    background: var(--white);
    border-top: 3px solid var(--accent-green);
    border-radius: 0 0 6px 6px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.10);
    flex-direction: column;
    z-index: 9999;
    padding: 4px 0;
    list-style: none;
    margin: 0;
    height: auto;
    pointer-events: auto;
}

.shu-nav ul>li:hover>ul,
.shu-nav ul>li>ul:hover {
    display: flex;
}

.shu-nav ul>li {
    position: relative;
}

.shu-nav ul>li>ul>li>a {
    display: block;
    padding: 9px 18px;
    color: #3a3a3a;
    font-family: 'Merriweather', serif;
    font-size: 13px;
    font-weight: 400;
    border-bottom: 1px solid #f4f4f4;
    text-decoration: none;
    transition: background 0.15s, color 0.15s;
    white-space: nowrap;
    height: auto;
    pointer-events: auto;
}

.shu-nav ul>li>ul>li:last-child>a {
    border-bottom: none;
}

.shu-nav ul>li>ul>li>a:hover {
    background: rgba(67, 164, 66, 0.15);
    color: var(--accent-green);
    padding-left: 22px;
}

/* Mega Menu plugin — match the clean style */
#mega-menu-wrap-header-menu,
#mega-menu-wrap-header-menu #mega-menu-header-menu {
    background: transparent !important;
}

#mega-menu-wrap-header-menu #mega-menu-header-menu>li.mega-menu-item>a.mega-menu-link {
    font-family: 'Merriweather', serif !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    color: #2d2d2d !important;
    padding: 0 6px !important;
    height: 130px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 3px !important;
    border-bottom: 3px solid transparent !important;
    white-space: nowrap !important;
    line-height: 1 !important;
    letter-spacing: 0px !important;
    transition: color 0.2s, border-color 0.2s !important;
}

#mega-menu-wrap-header-menu #mega-menu-header-menu>li.mega-menu-item>a.mega-menu-link:hover,
#mega-menu-wrap-header-menu #mega-menu-header-menu>li.mega-menu-item.current-menu-item>a.mega-menu-link {
    color: var(--accent-green) !important;
    border-bottom-color: var(--accent-green) !important;
}

/* CHF Schemes Network item — green hover */
#mega-menu-wrap-header-menu #mega-menu-header-menu>li.mega-menu-item-23>a.mega-menu-link:hover {
    color: var(--accent-green) !important;
    background: transparent !important;
    border-bottom-color: var(--accent-green) !important;
}

#mega-menu-wrap-header-menu #mega-menu-header-menu>li.mega-menu-flyout ul.mega-sub-menu {
    margin-top: 0 !important;
    border-top: 3px solid var(--accent-dusty) !important;
    border-radius: 0 0 6px 6px !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.10) !important;
    pointer-events: auto !important;
    z-index: 9999 !important;
}

#mega-menu-wrap-header-menu #mega-menu-header-menu>li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item>a.mega-menu-link {
    font-family: 'Jost', sans-serif !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    color: #3a3a3a !important;
    height: auto !important;
    padding: 9px 18px !important;
    pointer-events: auto !important;
}

#mega-menu-wrap-header-menu #mega-menu-header-menu>li.mega-menu-item {
    position: relative !important;
}

#mega-menu-wrap-header-menu #mega-menu-header-menu>li.mega-menu-flyout:hover ul.mega-sub-menu,
#mega-menu-wrap-header-menu #mega-menu-header-menu>li.mega-menu-flyout ul.mega-sub-menu:hover {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* ─── Fix dropdown arrows — align with text ─────────────── */
#mega-menu-wrap-header-menu #mega-menu-header-menu>li.mega-menu-item>a.mega-menu-link .mega-indicator {
    vertical-align: middle !important;
    display: inline-flex !important;
    align-items: center !important;
    margin-top: 0 !important;
    position: relative !important;
    top: 0 !important;
    font-size: 10px !important;
    line-height: 1 !important;
}

/* ─── DONATE BUTTON ──────────────────────────────────────── */
/* Donate button - balanced orange gradient */
.btn-donate {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    flex-shrink: 0;
    margin-left: 16px;
    background: linear-gradient(135deg, var(--accent-orange) 0%, #E67719 100%);
    color: #fff !important;
    font-family: 'Merriweather', serif;
    font-size: 13px;
    font-weight: 700;
    padding: 9px 18px;
    border-radius: 50px;
    text-decoration: none !important;
    white-space: nowrap;
    letter-spacing: 0.3px;
    box-shadow: none !important;
    transition: all 0.25s;
}

.btn-donate i {
    font-size: 11px;
}

.btn-donate:hover {
    background: linear-gradient(135deg, var(--accent-orange) 0%, #E67719 100%);
    box-shadow: none !important;
    transform: translateY(-1px);
    color: #fff !important;
}

/* ─── MOBILE HAMBURGER ───────────────────────────────────── */
/* Hidden on desktop, shown on mobile via CSS only — no Bootstrap dependency */
.shu-hamburger {
    display: none;
    /* hidden by default (desktop) */
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    width: 40px;
    height: 40px;
    padding: 8px;
    background: none;
    border: 2px solid var(--accent-dusty);
    border-radius: 6px;
    cursor: pointer;
    transition: background 0.2s;
    margin-left: auto;
    flex-shrink: 0;
}

@media (max-width: 991px) {
    .shu-hamburger {
        display: flex;
    }
}

.shu-hamburger:hover {
    background: rgba(180, 214, 227, 0.2);
}

.shu-hamburger span {
    display: block;
    height: 2px;
    background: var(--accent-dusty);
    border-radius: 2px;
    transition: all 0.3s;
}

.shu-hamburger.is-open span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
}

.shu-hamburger.is-open span:nth-child(2) {
    opacity: 0;
    transform: scaleX(0);
}

.shu-hamburger.is-open span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
}

/* ─── MOBILE MENU ────────────────────────────────────────── */
.shu-mobile-menu {
    display: block;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 9999;
    max-height: 0;
    overflow: hidden;
    background: var(--white);
    box-shadow: 0 8px 24px rgba(19, 75, 112, 0.2);
    transition: max-height 0.35s ease;
}

.shu-mobile-menu.is-open {
    border-top: 3px solid var(--accent-green);
}

.shu-mobile-menu.is-open {
    max-height: 80vh;
    overflow-y: auto;
    padding: 8px 20px 20px;
}

.shu-mobile-menu nav ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.shu-mobile-menu nav ul>li>a {
    display: block;
    padding: 11px 0;
    color: #2d2d2d;
    font-family: 'Merriweather', serif;
    font-size: 15px;
    font-weight: 500;
    border-bottom: 1px solid rgba(180, 214, 227, 0.3);
    text-decoration: none;
    transition: color 0.2s, padding-left 0.2s;
}

.shu-mobile-menu nav ul>li>a:hover {
    color: var(--accent-green);
    padding-left: 6px;
}

.shu-mobile-menu nav ul li ul {
    padding-left: 16px;
    display: none;
}

.shu-mobile-menu nav ul li ul.submenu-active {
    display: block;
}

.shu-mobile-menu nav ul li ul li a {
    font-size: 14px;
    color: var(--text-light);
    padding: 8px 0;
}

.shu-mobile-menu nav ul .menu-item-has-children>a {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.shu-mobile-menu nav ul .menu-item-has-children>a::after {
    content: "\25BE";
    font-size: 14px;
    opacity: 0.6;
    transition: transform 0.3s;
}

.shu-mobile-menu nav ul .menu-item-has-children.dropdown-active>a::after {
    transform: rotate(180deg);
}

/* Also target the shu-mob-nav-list class used in the updated markup */
.shu-mob-nav-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.shu-mob-nav-list>li>a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 0;
    color: var(--text-dark);
    font-family: 'Merriweather', serif;
    font-size: 15px;
    font-weight: 500;
    border-bottom: 1px solid rgba(180, 214, 227, 0.3);
    text-decoration: none;
    transition: color 0.2s, padding-left 0.2s;
}

.shu-mob-nav-list>li>a:hover {
    color: var(--accent-green);
    padding-left: 8px;
}

.shu-mob-nav-list li ul {
    padding-left: 16px;
    list-style: none;
    margin: 0;
    padding-top: 0;
    display: none;
}

.shu-mob-nav-list li ul.submenu-active {
    display: block;
}

.shu-mob-nav-list li ul li a {
    display: block;
    font-size: 14px;
    color: var(--text-light);
    padding: 8px 0;
    text-decoration: none;
}

.shu-mob-nav-list .menu-item-has-children>a::after {
    content: "\25BE";
    font-size: 14px;
    opacity: 0.6;
    transition: transform 0.3s;
}

.shu-mob-nav-list .menu-item-has-children.dropdown-active>a::after {
    transform: rotate(180deg);
}

.btn-donate-mobile {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-top: 16px;
    background: linear-gradient(135deg, var(--accent-dusty) 0%, #d96b0c 100%);
    color: #fff !important;
    font-family: 'Merriweather', serif;
    font-size: 14px;
    font-weight: 700;
    padding: 10px 24px;
    border-radius: 50px;
    text-decoration: none !important;
    box-shadow: none !important;
    transition: all 0.2s;
}

.btn-donate-mobile:hover {
    background: linear-gradient(135deg, var(--accent-orange) 0%, #E67719 100%);
    color: #fff !important;
}

/* ─── RESPONSIVE ─────────────────────────────────────────── */
/* Desktop header offset - hidden on pages with a hero (hero covers navbar area) */
.header-offset {
    height: 130px;
    display: block;
}

/* Pages with a page hero - offset not needed, hero slides under navbar */
body.page .header-offset,
body.single .header-offset,
body.category .header-offset,
body.search .header-offset,
body.home .header-offset,
body.front-page .header-offset {
    display: none !important;
}

@media (max-width: 991.98px) {
    .header-offset {
        height: 70px;
    }

    /* Mobile header height */
    .navbar-inner {
        min-height: 70px;
        padding: 0 16px;
    }

    .shu-nav {
        height: 70px;
    }

    .header-logo {
        width: 60px;
        height: 60px;
        margin: 0;
        margin-right: auto;
    }

    .header-logo .logo-img {
        width: 48px;
        height: 48px;
    }

    .header-nav-left,
    .header-nav-right {
        display: none !important;
    }
}

@media (max-width: 767px) {
    .header-offset {
        height: 70px;
    }
}

@media screen and (max-width: 768px) {
    .scrolled-offset {
        margin-top: unset;
    }
}

@media (min-width: 1200px) {

    .container,
    .container-lg,
    .container-md,
    .container-sm,
    .container-xl {
        max-width: 1140px !important;
    }
}

@media (min-width: 992px) {

    .container,
    .container-lg,
    .container-md,
    .container-sm {
        max-width: 960px;
    }
}

@media (min-width: 768px) {

    .container,
    .container-md,
    .container-sm {
        max-width: 720px;
    }
}

@media (min-width: 576px) {

    .container,
    .container-sm {
        max-width: 540px;
    }
}

/*--------------------------------------------------------------
# Revolution Slider — Typography, Overlay & Captions
--------------------------------------------------------------*/

/* ── Slider text layers — NO background, leave as-is ── */
rs-module rs-layer,
rs-module .rs-layer,
.rs-layer {
    background: none !important;
    background-color: transparent !important;
}

/* ── Rev slider buttons — pure orange, no blue ── */
.rev-btn,
.rev-btn:visited,
a.rev-btn,
a.rev-btn:visited,
.rev-btn.rev-uppercase,
.rev-btn.rev-uppercase:visited,
.tp-caption.rev-btn,
.tp-button.rev-btn {
    background: linear-gradient(135deg, var(--accent-orange) 0%, #d96b0c 100%) !important;
    background-color: var(--accent-orange) !important;
    color: #ffffff !important;
    font-family: 'Jost', sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    border-radius: 50px !important;
    border: none !important;
    padding: 11px 28px !important;
    box-shadow: none !important;
    transition: all 0.25s !important;
    text-decoration: none !important;
    letter-spacing: 0.3px !important;
    display: inline-block !important;
}

.rev-btn:hover,
a.rev-btn:hover,
.tp-caption.rev-btn:hover,
.tp-button.rev-btn:hover {
    background: linear-gradient(135deg, #d96b0c 0%, #c05e08 100%) !important;
    background-color: var(--accent-orange) !important;
    box-shadow: none !important;
    color: #ffffff !important;
    transform: translateY(-1px) !important;
}

/* ── Slider background overlay ── */
.rev_slider .slotholder::after,
.rev_slider_wrapper .slotholder::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(135deg, rgba(19, 75, 112, 0.25) 0%, rgba(0, 0, 0, 0.10) 100%);
    z-index: 1;
    pointer-events: none;
}

/*--------------------------------------------------------------
# Scroll-in animations (IntersectionObserver) — home page only
--------------------------------------------------------------*/

/* Scope to home page — WordPress adds .home to front page body */
body.home .shu-anim-ready,
body.front-page .shu-anim-ready,
.shu-wordpress-page .shu-anim-ready {
    opacity: 0;
    transition: opacity 0.75s ease, transform 0.75s ease !important;
    will-change: opacity, transform;
}

.shu-wordpress-page .shu-programs-section .shu-anim-ready {
    transition: opacity 0.75s ease, transform 0.75s ease !important;
}

body.home .shu-anim-ready.shu-slide-up,
body.front-page .shu-anim-ready.shu-slide-up,
.shu-wordpress-page .shu-anim-ready.shu-slide-up {
    transform: translateY(40px);
}

body.home .shu-anim-ready.shu-slide-right,
body.front-page .shu-anim-ready.shu-slide-right,
.shu-wordpress-page .shu-anim-ready.shu-slide-right {
    transform: translateX(-50px);
}

body.home .shu-anim-ready.shu-slide-left,
body.front-page .shu-anim-ready.shu-slide-left,
.shu-wordpress-page .shu-anim-ready.shu-slide-left {
    transform: translateX(50px);
}

body.home .shu-anim-ready.shu-zoom-in,
body.front-page .shu-anim-ready.shu-zoom-in,
.shu-wordpress-page .shu-anim-ready.shu-zoom-in {
    transform: scale(0.85);
}

/* Triggered — animates IN */
body.home .shu-anim-ready.shu-anim-visible,
body.front-page .shu-anim-ready.shu-anim-visible,
.shu-wordpress-page .shu-anim-ready.shu-anim-visible {
    opacity: 1 !important;
    transform: none !important;
}

@media (prefers-reduced-motion: reduce) {
    .shu-wordpress-page .shu-anim-ready {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }
}

/*--------------------------------------------------------------
# Page Hero — all inner pages
--------------------------------------------------------------*/
.shu-page-hero {
    position: relative;
    width: 100%;
    min-height: 520px;
    margin-top: -130px;
    /* slide up behind the fixed navbar */
    padding-top: 130px;
    /* push content back down so text isn't hidden */
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    display: flex;
    align-items: center;
}

/* Dark overlay */
.shu-page-hero__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg,
            rgba(19, 75, 112, 0.82) 0%,
            rgba(120, 160, 180, 0.65) 100%);
    z-index: 1;
}

/* Content */
.shu-page-hero__inner {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 80px 40px 60px;
}

/* Title */
.shu-page-hero__title {
    font-family: 'Merriweather', serif;
    font-size: clamp(28px, 4vw, 48px);
    font-weight: 900;
    color: #ffffff;
    margin: 0 0 16px;
    line-height: 1.2;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.4);
}

.shu-page-hero__subtitle {
    max-width: 760px;
    margin: 0 auto 18px;
    color: rgba(255, 255, 255, 0.92);
    font-size: clamp(16px, 2vw, 21px);
    line-height: 1.5;
}

/* Breadcrumb */
.shu-page-hero__breadcrumb {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    font-family: 'Merriweather', serif;
    font-size: 14px;
    color: rgba(255, 255, 255, 0.75);
}

.shu-page-hero__breadcrumb a {
    color: rgba(255, 255, 255, 0.85);
    text-decoration: none;
    transition: color 0.2s;
}

.shu-page-hero__breadcrumb a:hover {
    color: #ffffff;
}

.shu-page-hero__breadcrumb span {
    color: rgba(255, 255, 255, 0.5);
}

.shu-page-hero__breadcrumb .current {
    color: #ffffff;
    font-weight: 600;
}

/*--------------------------------------------------------------
# About SHU introduction
--------------------------------------------------------------*/
.shu-wordpress-page .shu-about-page-wrap {
    max-width: 1200px;
    margin: 0 auto;
    padding: 56px 40px 64px !important;
}

.shu-about-page-grid {
    display: grid;
    grid-template-columns: 1.1fr 1fr;
    gap: 56px;
    align-items: stretch;
}

.shu-about-page-heading {
    color: var(--primary-navy) !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    margin: 0 0 18px !important;
}

.shu-about-page-body {
    color: #444 !important;
    font-size: 15px !important;
    line-height: 1.75 !important;
    margin: 0 0 16px !important;
}

.shu-about-page-stats {
    display: flex;
    margin: 22px 0;
    padding: 18px 0;
    border-top: 1px solid rgba(0, 0, 0, 0.1);
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

.shu-about-stat {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 0 20px;
    border-left: 1px solid rgba(0, 0, 0, 0.1);
}

.shu-about-stat:first-child {
    padding-left: 0;
    border-left: 0;
}

.shu-about-stat__num {
    color: var(--primary-navy);
    font-size: 28px;
    font-weight: 700;
    line-height: 1;
    margin-bottom: 4px;
}

.shu-about-stat__label {
    color: #666;
    font-size: 12px;
}

.shu-about-districts-label {
    color: #666 !important;
    font-size: 13px !important;
    margin: 0 0 10px !important;
}

.shu-about-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.shu-about-chips span {
    background: #eef5fc;
    border: 1px solid #c3ddf5;
    border-radius: 100px;
    color: var(--primary-navy);
    font-size: 13px;
    padding: 5px 13px;
}

.shu-about-page-image {
    display: flex;
    align-items: stretch;
}

.shu-about-page-figure {
    display: flex;
    flex-direction: column;
    margin: 0;
    position: relative;
    width: 100%;
}

.shu-about-page-figure::before {
    background: var(--primary-navy);
    border-radius: 10px;
    content: '';
    height: calc(100% - 34px);
    left: 14px;
    opacity: 0.15;
    position: absolute;
    top: 14px;
    width: 100%;
    z-index: 0;
}

.shu-about-page-figure img {
    border-radius: 10px;
    box-shadow: 0 8px 32px rgba(19, 75, 112, 0.18);
    display: block;
    height: 100%;
    min-height: 320px;
    object-fit: cover;
    position: relative;
    width: 100%;
    z-index: 1;
}

.shu-about-page-figure figcaption {
    color: #888;
    font-size: 12.5px;
    font-style: italic;
    line-height: 1.4;
    margin-top: 10px;
    position: relative;
    z-index: 1;
}

.shu-page-body--about .node__title,
.shu-page-body--about .node__content .page-inner {
    display: none !important;
}

.shu-page-body--about .node__content > div > .wp-block-cover.is-light,
.shu-page-body--about .node__content > div > .wp-block-columns {
    display: none !important;
}

@media (max-width: 900px) {
    .shu-about-page-grid {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .shu-about-page-figure img {
        height: 260px;
        min-height: 260px;
    }

    .shu-about-page-figure::before {
        display: none;
    }

    .shu-about-page-stats {
        flex-wrap: wrap;
    }

    .shu-about-stat {
        border-left: 0;
        flex: 1 1 33%;
        padding: 8px 0;
    }
}

@media (max-width: 600px) {
    .shu-wordpress-page .shu-about-page-wrap {
        padding: 36px 20px 48px !important;
    }

    .shu-about-stat {
        flex: 1 1 50%;
    }
}

/*--------------------------------------------------------------
# About SHU Vision, Mission, and Motto
--------------------------------------------------------------*/
.shu-page-body--about .layout-content--about {
    background: transparent !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
}

.shu-page-body--profile {
    background: #f4f7fa;
    min-height: 360px;
}

.shu-page-body--profile .layout-content--profile {
    background: transparent;
    box-shadow: none;
    margin: 0 auto;
    max-width: 1200px;
    padding: 0;
}

.shu-user-profile {
    color: #263746;
    margin: 0 auto;
    max-width: 1200px;
}

.shu-user-profile__header {
    align-items: center;
    background: #fff;
    border-top: 4px solid var(--accent-green);
    box-shadow: 0 4px 18px rgba(19, 75, 112, 0.08);
    display: flex;
    gap: 24px;
    justify-content: space-between;
    margin-bottom: 24px;
    padding: 24px 28px;
}

.shu-user-profile__eyebrow {
    color: var(--accent-green);
    font-size: 12px;
    font-weight: 700;
    margin: 0 0 5px;
    text-transform: uppercase;
}

.shu-user-profile__header h2 {
    color: var(--primary-navy);
    font-size: 24px;
    line-height: 1.25;
    margin: 0 0 5px;
}

.shu-user-profile__summary {
    color: #61717e;
    font-size: 15px;
    margin: 0;
}

.shu-user-profile__edit {
    background: var(--primary-navy);
    border-radius: 4px;
    color: #fff;
    flex: 0 0 auto;
    font-size: 14px;
    font-weight: 700;
    padding: 10px 16px;
    text-decoration: none;
}

.shu-user-profile__edit:hover,
.shu-user-profile__edit:focus {
    background: var(--accent-green);
    color: #fff;
}

.shu-user-profile__grid {
    display: grid;
    gap: 20px;
    grid-template-columns: minmax(240px, .72fr) minmax(0, 1.8fr);
}

.shu-user-profile__details,
.shu-user-profile__content {
    background: #fff;
    border: 1px solid #e1e7ec;
    border-radius: 4px;
    min-width: 0;
    padding: 22px 24px;
}

.shu-user-profile__details h3,
.shu-user-profile__section-heading h3 {
    color: var(--primary-navy);
    font-size: 17px;
    font-weight: 700;
    margin: 0;
}

.shu-user-profile__fields {
    margin-top: 18px;
}

.shu-user-profile__fields .form-item {
    background: #f4f7fa;
    border-left: 3px solid var(--accent-green);
    border-radius: 3px;
    margin: 0;
    padding: 14px 16px;
}

.shu-user-profile__fields .label {
    color: #5e6c76;
    display: block;
    font-size: 12px;
    margin-bottom: 5px;
    text-transform: uppercase;
}

.shu-user-profile__section-heading {
    align-items: center;
    border-bottom: 1px solid #e1e7ec;
    display: flex;
    justify-content: space-between;
    margin-bottom: 12px;
    padding-bottom: 14px;
}

.shu-user-profile__section-heading > span {
    align-items: center;
    background: #e9f4e9;
    border-radius: 50%;
    color: var(--accent-green);
    display: inline-flex;
    font-size: 12px;
    font-weight: 700;
    height: 28px;
    justify-content: center;
    width: 28px;
}

.shu-user-profile__items {
    list-style: none;
    margin: 0;
    padding: 0;
}

.shu-user-profile__items li {
    border-bottom: 1px solid #edf0f3;
    display: flex;
    flex-direction: column;
    gap: 5px;
    padding: 12px 0;
}

.shu-user-profile__items li:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

.shu-user-profile__items a {
    color: var(--primary-navy);
    font-size: 15px;
    font-weight: 700;
    text-decoration: none;
}

.shu-user-profile__items a:hover,
.shu-user-profile__items a:focus {
    color: var(--accent-green);
    text-decoration: underline;
}

.shu-user-profile__items li > span,
.shu-user-profile__empty {
    color: #687681;
    font-size: 13px;
    margin: 0;
}

@media (max-width: 767px) {
    .shu-user-profile__header {
        align-items: flex-start;
        flex-direction: column;
        padding: 20px;
    }

    .shu-user-profile__grid {
        grid-template-columns: 1fr;
    }
}

.shu-page-body--about .wp-block-cover,
.shu-page-body--about .wp-block-cover .wp-block-group,
.shu-page-body--about .shu-vmm-columns {
    background: transparent !important;
    background-color: transparent !important;
}

.shu-page-body--about .wp-block-cover {
    min-height: 380px !important;
    overflow: hidden !important;
    padding: 60px 40px !important;
    position: relative !important;
}

.shu-page-body--about .wp-block-cover .wp-block-cover__image-background {
    display: block !important;
    height: 100% !important;
    inset: 0 !important;
    object-fit: cover !important;
    opacity: 1 !important;
    position: absolute !important;
    visibility: visible !important;
    width: 100% !important;
    z-index: 0 !important;
}

.shu-page-body--about .wp-block-cover .wp-block-cover__background {
    background: rgba(10, 20, 35, 0.25) !important;
    opacity: 1 !important;
}

.shu-page-body--about .wp-block-cover .wp-block-cover__inner-container {
    margin: 0 auto !important;
    max-width: 1200px !important;
    position: relative !important;
    width: 100% !important;
    z-index: 2 !important;
}

.shu-page-body--about .shu-vmm-columns {
    align-items: center !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 60px !important;
    justify-content: center !important;
    position: relative !important;
    width: 100% !important;
    z-index: 2 !important;
}

.shu-page-body--about .shu-vmm-columns .wp-block-column {
    flex: 0 0 auto !important;
    width: auto !important;
}

.shu-page-body--about .shu-vmm-columns .vmm-box {
    align-items: center !important;
    background: rgba(180, 214, 227, 0.95) !important;
    border: 2px dashed var(--accent-green) !important;
    border-radius: 50% !important;
    border-right: none !important;
    display: flex !important;
    flex-direction: column !important;
    flex-shrink: 0 !important;
    justify-content: center !important;
    position: relative !important;
    text-align: center !important;
    transition: background 0.2s !important;
    z-index: 2 !important;
}

.shu-page-body--about .shu-vmm-columns .vmm-box:hover {
    background: rgba(180, 214, 227, 1) !important;
}

.shu-page-body--about .vision-box,
.shu-page-body--about .motto-box {
    height: 260px !important;
    padding: 24px !important;
    width: 260px !important;
}

.shu-page-body--about .mission-box {
    height: 320px !important;
    padding: 30px !important;
    width: 320px !important;
}

.shu-page-body--about .vmm-box h4,
.shu-page-body--about .vmm-box h4 strong {
    border-bottom: none !important;
    color: #000 !important;
    font-family: 'Merriweather', serif !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    letter-spacing: 0.3px !important;
    margin: 0 0 10px !important;
    text-shadow: none !important;
    width: auto !important;
}

.shu-page-body--about .mission-box h4 {
    font-size: 19px !important;
}

.shu-page-body--about .vmm-box p {
    color: #000 !important;
    font-family: 'Merriweather', serif !important;
    font-size: 15px !important;
    line-height: 1.8 !important;
    margin: 0 !important;
    text-shadow: none !important;
    width: auto !important;
}

.shu-page-body--about .vmm-box::before {
    background-color: var(--accent-green) !important;
    content: '' !important;
    display: block !important;
    margin-bottom: 10px !important;
}

.shu-page-body--about .vision-box::before,
.shu-page-body--about .motto-box::before {
    height: 30px !important;
    width: 30px !important;
}

.shu-page-body--about .mission-box::before {
    height: 36px !important;
    margin-bottom: 12px !important;
    width: 36px !important;
}

.shu-page-body--about .vision-box::before {
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2'%3E%3Cpath d='M1 12s4-7 11-7 11 7 11 7-4 7-11 7-11-7-11-7z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") center/contain no-repeat !important;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2'%3E%3Cpath d='M1 12s4-7 11-7 11 7 11 7-4 7-11 7-11-7-11-7z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") center/contain no-repeat !important;
}

.shu-page-body--about .mission-box::before {
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Ccircle cx='12' cy='12' r='6'/%3E%3Ccircle cx='12' cy='12' r='2'/%3E%3C/svg%3E") center/contain no-repeat !important;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Ccircle cx='12' cy='12' r='6'/%3E%3Ccircle cx='12' cy='12' r='2'/%3E%3C/svg%3E") center/contain no-repeat !important;
}

.shu-page-body--about .motto-box::before {
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2'%3E%3Cpath d='M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M23 21v-2a4 4 0 0 0-3-3.87'/%3E%3Cpath d='M16 3.13a4 4 0 0 1 0 7.75'/%3E%3C/svg%3E") center/contain no-repeat !important;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2'%3E%3Cpath d='M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M23 21v-2a4 4 0 0 0-3-3.87'/%3E%3Cpath d='M16 3.13a4 4 0 0 1 0 7.75'/%3E%3C/svg%3E") center/contain no-repeat !important;
}

@media (max-width: 900px) {
    .shu-page-body--about .shu-vmm-columns {
        flex-direction: column !important;
        gap: 32px !important;
    }

    .shu-page-body--about .vision-box,
    .shu-page-body--about .motto-box {
        height: 230px !important;
        width: 230px !important;
    }

    .shu-page-body--about .mission-box {
        height: 270px !important;
        width: 270px !important;
    }
}

@media (max-width: 768px) {
    .shu-page-body--about .wp-block-cover {
        min-height: auto !important;
        padding: 40px 20px !important;
    }
}

/*--------------------------------------------------------------
# Breadcrumbs
--------------------------------------------------------------*/
.breadcrumbs {
    position: relative;
    z-index: 111;
    color: #fff;
}

.breadcrumbs a {
    color: #fff;
}

#breadcrumbs .breadcrumb_last {
    color: #fff;
    opacity: .45;
}

.breadcrumbs h2 {
    font-size: 24px;
    font-weight: 300;
}

.breadcrumbs ol {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    padding: 0;
    margin: 0;
    font-size: 14px;
}

.breadcrumbs ol li+li {
    padding-left: 10px;
}

.breadcrumbs ol li+li::before {
    display: inline-block;
    padding-right: 10px;
    color: #6c757d;
    content: "/";
}

@media (max-width: 768px) {
    .breadcrumbs .d-flex {
        display: block !important;
    }

    .breadcrumbs ol {
        display: block;
    }

    .breadcrumbs ol li {
        display: inline-block;
    }
}

/*--------------------------------------------------------------
# Standardized Section Padding — Consistent across all pages
--------------------------------------------------------------*/
.shu-intro,
.shu-about-intro,
.home-focus,
.home-updates-main,
.home-social,
.shu-voices-section,
.page-inner,
.section-bg,
.team-pg,
.prog-content,
.about-content,
.shu-upcoming-events,
.conf-body,
.shu-contact-wrap,
.shu-programs-section,
.shu-about-page-wrap,
.shu-program-section,
.shu-scheme-wrap,
.shu-res-wrap,
.shu-search-section {
    padding: 60px 40px !important;
}

/* Page hero keeps its own padding */
.shu-page-hero__inner {
    padding: 80px 40px 60px !important;
}

/* Footer keeps its own padding */
#footer .footer-top {
    padding: 60px 40px 40px !important;
}

/*--------------------------------------------------------------
# Home Area
--------------------------------------------------------------*/
.shu-intro {
    padding: 80px 0;
    background-image: url("../images/shu-home-bg.svg");
    background-position: 0 0;
    background-size: cover;
    background-repeat: no-repeat;
    background-attachment: fixed;
}

/*--------------------------------------------------------------
# Who We Are — intro section (new design)
--------------------------------------------------------------*/
.shu-about-intro {
    padding: 80px 40px 100px;
    background: var(--white);
}

.shu-about-inner {
    max-width: 1100px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1.05fr;
    gap: 56px;
    align-items: center;
}

@media (max-width: 900px) {
    .shu-about-inner {
        grid-template-columns: 1fr;
    }

    .shu-about-intro {
        padding: 48px 24px 64px;
    }
}

/* Photo column */
.shu-about-photo-wrap {
    position: relative;
}

.shu-about-photo {
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.14);
    height: 550px;
}

.shu-about-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    display: block;
}

.shu-about-caption {
    position: absolute;
    bottom: -20px;
    left: 20px;
    right: 20px;
    background: var(--primary-navy);
    border-radius: 12px;
    padding: 18px 22px;
    box-shadow: 0 4px 18px rgba(19, 75, 112, 0.35);
}

.shu-about-caption p {
    font-family: 'Merriweather', serif;
    font-size: 15px;
    font-weight: 700;
    color: #ffffff;
    margin: 0;
    line-height: 1.4;
}

/* Text column */
.shu-about-text-col {
    padding-top: 10px;
}

.shu-about-eyebrow {
    font-family: 'Merriweather', serif;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: var(--accent-green);
    margin: 0 0 10px;
}

.shu-about-heading {
    font-family: 'Merriweather', serif;
    font-size: clamp(26px, 2.8vw, 32px);
    font-weight: 700;
    color: var(--primary-navy);
    margin: 0 0 10px;
    line-height: 1.2;
}

.shu-about-accent {
    width: 40px;
    height: 3px;
    background: var(--accent-green);
    margin: 0 0 22px;
    border: none;
}

.shu-about-text p {
    font-family: 'Merriweather', serif;
    font-size: 16px;
    line-height: 1.85;
    color: #444444;
    margin: 0 0 16px;
}

.shu-about-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 10px;
    background: linear-gradient(135deg, var(--accent-orange) 0%, #d96b0c 100%) !important;
    border: none !important;
    color: #ffffff;
    border-radius: 50px;
    padding: 12px 28px;
    font-family: 'Merriweather', serif;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none !important;
    transition: all 0.25s;
}

.shu-about-btn:hover {
    background: linear-gradient(135deg, #d96b0c 0%, #c05e08 100%) !important;
    border: none !important;
    color: #ffffff !important;
}

/*--------------------------------------------------------------
# Homepage Scroll Animations — cohesive motion system
--------------------------------------------------------------*/

/* ── Base state for all animated elements ─────────────────────── */
.shu-animate {
    opacity: 0;
    transition: opacity 0.8s cubic-bezier(0.22, 1, 0.36, 1),
        transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
    will-change: opacity, transform;
}

.shu-animate.shu-visible {
    opacity: 1;
    transform: none !important;
}

/* ── Direction variants ──────────────────────────────────────── */
.shu-fade-up {
    transform: translateY(50px);
}

.shu-fade-down {
    transform: translateY(-50px);
}

.shu-fade-left {
    transform: translateX(60px);
}

.shu-fade-right {
    transform: translateX(-60px);
}

.shu-zoom-in {
    transform: scale(0.88);
}

.shu-fade-up-right {
    transform: translate(-40px, 40px);
}

.shu-fade-up-left {
    transform: translate(40px, 40px);
}

/* ── Stagger delays for child items (cards, columns, etc.) ──── */
.shu-delay-1 {
    transition-delay: 0.08s;
}

.shu-delay-2 {
    transition-delay: 0.16s;
}

.shu-delay-3 {
    transition-delay: 0.24s;
}

.shu-delay-4 {
    transition-delay: 0.32s;
}

.shu-delay-5 {
    transition-delay: 0.40s;
}

.shu-delay-6 {
    transition-delay: 0.48s;
}

/* ── Duration variants ───────────────────────────────────────── */
.shu-slow {
    transition-duration: 1.1s;
}

.shu-fast {
    transition-duration: 0.5s;
}

/* ── Special: accent bar grows from left ─────────────────────── */
.shu-animate .shu-about-accent,
.shu-animate .shu-voices-heading::after,
.shu-animate .shu-schemes-title::after {
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1) 0.5s;
}

.shu-animate.shu-visible .shu-about-accent,
.shu-animate.shu-visible .shu-voices-heading::after,
.shu-animate.shu-visible .shu-schemes-title::after {
    transform: scaleX(1) !important;
}

/* ── Special: counter number scale pulse ─────────────────────── */
@keyframes shu-count-pop {
    0% {
        transform: scale(0.6);
        opacity: 0;
    }

    60% {
        transform: scale(1.08);
        opacity: 1;
    }

    100% {
        transform: scale(1);
        opacity: 1;
    }
}

.shu-animate.shu-visible .shu-donate-stat {
    animation: shu-count-pop 0.7s cubic-bezier(0.22, 1, 0.36, 1) 0.3s both;
}

/* ── Special: program cards float-up stagger ─────────────────── */
.home-focus .wp-block-column.shu-animate {
    transform: translateY(40px);
}

.home-focus .wp-block-column.shu-animate.shu-visible {
    transform: translateY(0) !important;
}

/* ── Special: scheme cards pop-in ────────────────────────────── */
.shu-scheme-card.shu-animate {
    transform: translateY(30px) scale(0.95);
}

.shu-scheme-card.shu-animate.shu-visible {
    transform: translateY(0) scale(1) !important;
}

/* ── Special: news cards slide up ────────────────────────────── */
.home-updates .uagb-post__inner-wrap.shu-animate {
    transform: translateY(40px);
}

.home-updates .uagb-post__inner-wrap.shu-animate.shu-visible {
    transform: translateY(0) !important;
}

/* ── Special: publication cards slide in from left ────────────── */
.pub-card.shu-animate {
    transform: translateX(-40px);
}

.pub-card.shu-animate.shu-visible {
    transform: translateX(0) !important;
}

/* ── Reduce motion for accessibility ─────────────────────────── */
@media (prefers-reduced-motion: reduce) {
    .shu-animate {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
        animation: none !important;
    }
}

.intro-content h2,
.home-updates h2,
.home-social h2 {
    font-size: 36px;
    color: var(--primary-navy);
}

.intro-content h2 {
    font-size: 32px;
    line-height: 1.2;
}

.intro-content {
    margin-left: auto;
    margin-right: auto;
    max-width: 900px;
    padding: 0 40px;
}

.intro-content p.intro-tagline {
    font-style: italic;
    font-weight: 500;
    margin-top: -10px;
    margin-bottom: 1.5rem;
}

.intro-content p.intro-desc {
    color: #444444;
    font-size: 16px;
    line-height: 1.85;
}

/* ── Programmes / home-focus cards ─────────────────────────────── */

/* Section background */
.home-focus {
    background: var(--white);
    /* White background */
    padding: 60px 40px 70px;
}

/* Constrain inner width so cards don't stretch full screen */
.home-focus>.wp-block-columns {
    max-width: 1200px;
    margin: 0 auto;
}

/* Each card */
.home-focus .wp-block-column {
    background: var(--white);
    border-radius: 6px;
    box-shadow: 0 2px 12px rgba(19, 75, 112, 0.10);
    padding: 36px 28px 32px;
    text-align: center;
    transition: box-shadow 0.25s, transform 0.25s;
}

.home-focus .wp-block-column:hover {
    box-shadow: 0 8px 28px rgba(19, 75, 112, 0.16);
    transform: translateY(-4px);
}

/* Circular image */
.home-focus img {
    margin-bottom: 0 !important;
    background: transparent !important;
    border: 2px solid var(--accent-dusty) !important;
    border-radius: 50% !important;
    padding: 6px;
    width: 110px !important;
    height: 130px !important;
    object-fit: cover;
}

/* Program number label */
.home-focus .wp-block-columns>.wp-block-column:nth-child(1) .uagb-ifb-title-wrap::before {
    content: 'Program 01';
}

.home-focus .wp-block-columns>.wp-block-column:nth-child(2) .uagb-ifb-title-wrap::before {
    content: 'Program 02';
}

.home-focus .wp-block-columns>.wp-block-column:nth-child(3) .uagb-ifb-title-wrap::before {
    content: 'Program 03';
}

.home-focus .wp-block-columns>.wp-block-column:nth-child(4) .uagb-ifb-title-wrap::before {
    content: 'Program 04';
}

.home-focus .uagb-ifb-title-wrap::before {
    display: block;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--primary-navy);
    margin-top: 18px;
    margin-bottom: 8px;
}

/* Heading */
.home-focus .uagb-ifb-title {
    font-family: 'Merriweather', serif !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #1e2a38 !important;
    line-height: 1.3 !important;
    margin: 0 !important;
}

/* Orange underline accent */
.home-focus .uagb-ifb-separator {
    width: 36px !important;
    height: 3px !important;
    background: var(--accent-green) !important;
    border: none !important;
    margin: 12px auto 16px !important;
    display: block !important;
}

/* Description */
.home-focus .uagb-ifb-desc {
    font-family: 'Merriweather', serif !important;
    font-size: 13.5px !important;
    color: #5a6c7d !important;
    line-height: 1.75 !important;
    text-align: left !important;
    margin: 0 !important;
}

/* Card content wrapper */
.home-focus .uagb-ifb-content {
    background: transparent !important;
    padding: 0 !important;
    text-align: center;
}

.home-updates-main,
.home-updates {
    display: none !important;
}

/* Target UAG block wrapper directly */
.uagb-block-home-news-grid .uagb-post-grid-columns {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 20px !important;
}

@media(max-width:900px) {
    .uagb-block-home-news-grid .uagb-post-grid-columns {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

@media(max-width:600px) {
    .uagb-block-home-news-grid .uagb-post-grid-columns {
        grid-template-columns: 1fr !important;
    }
}

/* ── Each news card ────────────────────────────────────── */
.home-updates .uagb-post__inner-wrap {
    border-radius: 16px !important;
    overflow: hidden !important;
    box-shadow: 0 3px 16px rgba(19, 75, 112, 0.10) !important;
    background: #ffffff !important;
    border: none !important;
    transition: box-shadow 0.3s, transform 0.3s !important;
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    padding: 0 !important;
}

.home-updates .uagb-post__inner-wrap:hover {
    box-shadow: 0 12px 32px rgba(19, 75, 112, 0.22) !important;
    transform: translateY(-5px) !important;
}

/* ── Card image ─────────────────────────────────────────── */
.home-updates .uagb-post__image {
    border-radius: 0 !important;
    overflow: hidden !important;
    flex-shrink: 0 !important;
}

.home-updates .uagb-post__image img {
    width: 100% !important;
    height: 220px !important;
    object-fit: cover !important;
    display: block !important;
    border-radius: 0 !important;
    transition: transform 0.45s ease !important;
}

.home-updates .uagb-post__inner-wrap:hover .uagb-post__image img {
    transform: scale(1.06) !important;
}

/* ── Card text ──────────────────────────────────────────── */
.home-updates .uagb-post__text {
    padding: 20px !important;
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
}

.home-updates .uagb-post__text.uagb-post__excerpt {
    padding-bottom: 0 !important;
}

/* ── Title ──────────────────────────────────────────────── */
.home-updates .uagb-post__title {
    margin: 0 0 8px !important;
}

.home-updates .uagb-post__title a,
.home-updates .uagb-post__title a:link,
.home-updates .uagb-post__title a:visited {
    font-family: 'Jost', sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #111111 !important;
    line-height: 1.35 !important;
    text-decoration: none !important;
    transition: color 0.2s !important;
}

.home-updates .uagb-post__title a:hover {
    color: var(--primary-navy) !important;
}

/* ── Date ───────────────────────────────────────────────── */
.home-updates .uagb-post-grid-byline,
.home-updates .uagb-post__date,
.home-updates time {
    font-family: 'Jost', sans-serif !important;
    font-size: 12px !important;
    color: #888888 !important;
    margin-bottom: 8px !important;
    display: flex !important;
    align-items: center !important;
    gap: 5px !important;
}

/* ── Excerpt ────────────────────────────────────────────── */
.home-updates .uagb-post__excerpt p,
.home-updates .uagb-post__excerpt {
    font-family: 'Merriweather', serif !important;
    font-size: 13px !important;
    color: #5a6c7d !important;
    line-height: 1.7 !important;
    flex: 1 !important;
}

/* ── Hide excerpt, show Read More properly ──────────────── */
.home-updates .uagb-post__excerpt,
.home-updates .uagb-post__text.uagb-post__excerpt,
.home-updates .uagb-post__excerpt p {
    display: none !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
}

/* Tighten card text padding since no excerpt */
.home-updates .uagb-post__text {
    padding: 16px 20px 0 !important;
}

/* ── Read More button ───────────────────────────────────── */
.home-updates .uagb-post__cta {
    display: block !important;
    padding: 16px 20px 20px !important;
    margin-top: auto !important;
}

.home-updates .uagb-post__cta a {
    font-family: 'Merriweather', serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    color: var(--primary-navy) !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    transition: all 0.2s !important;
}

.home-updates .uagb-post__cta a:hover {
    color: var(--accent-dusty) !important;
    gap: 10px !important;
}

.home-updates .uagb-post__cta a::after {
    content: "→" !important;
    font-family: inherit !important;
    font-weight: 400 !important;
    display: inline !important;
    margin-left: 4px !important;
    position: static !important;
    top: auto !important;
}

/* ── Section heading & sub ──────────────────────────────── */
.home-updates h2 {
    font-family: 'Merriweather', serif !important;
    font-size: 36px !important;
    font-weight: 900 !important;
    color: #ffffff !important;
    text-align: center !important;
    margin-bottom: 8px !important;
}

.home-updates>p {
    font-family: 'Merriweather', serif !important;
    color: rgba(255, 255, 255, 0.85) !important;
    text-align: center !important;
    font-size: 15px !important;
    margin-bottom: 32px !important;
}

.home-social {
    padding: 80px 0;
    background-image: url("../images/home-bg.png");
    background-position: 0 0;
    background-size: contain;
    background-repeat: no-repeat;
}

.home-social h3 {
    font-size: 22px;
    font-weight: 600;
    margin: 1.5rem 0;
}

.home-social h3::after {
    content: "";
    width: 80px;
    padding: 1rem 0 0 0;
    margin-bottom: 1rem;
    border-bottom: 3px solid var(--accent-green);
    height: 3px;
    display: block;
    margin-right: auto;
    margin-left: auto;
}

.home-social .donate-box {
    background-color: var(--primary-navy);
    border-radius: 10px 0 0 0;
    overflow: hidden;
    padding-top: 7em;
    padding-right: 2em;
    padding-bottom: 6em;
    padding-left: 2em;
    z-index: 10 !important;
    position: relative;
    color: #fff;
}

.home-social .donate-box a {
    color: var(--primary-navy);
    border-radius: 1px;
    font-size: 18px;
    background-color: #ffffff;
    padding: 0.6em 1.2em;
    font-weight: 600;
    transition: color 300ms ease 0ms, background-color 300ms ease 0ms, border 300ms ease 0ms;
}

.home-social .donate-box h4 {
    text-transform: uppercase;
    font-size: 25px;
    color: #ffffff;
    text-align: center;
    margin-bottom: .7rem;
}

.home-social .donate-box p {
    margin-bottom: 1.5rem;
}

.home-social .donate-box a:hover {
    background: #252525;
    color: #fff;
}

.home-social .wp-block-media-text {
    margin-bottom: .5rem;
    background: var(--accent-dusty);
    border-radius: 100px;
    padding: 5px;
    color: #fff;
    font-size: 13.5px;
    font-weight: 500;
}

.home-social .wp-block-media-text__media img {
    border-radius: 50%;
    padding: 4px;
    background: var(--white);
}

/*--------------------------------------------------------------
# Voices & Support Section (home page redesign)
--------------------------------------------------------------*/
.shu-voices-section {
    background: var(--white) !important;
    /* White background */
    padding: 64px 40px !important;
    max-width: 100% !important;
}

.shu-voices-section .wp-block-group.wp-block-group {
    max-width: 1080px;
    margin: 0 auto;
}

/* Section intro heading — "The SHU Community" */
.shu-voices-section>.wp-block-heading,
.shu-voices-section h2.has-text-align-center {
    text-align: center !important;
    margin-bottom: 4px !important;
    color: var(--primary-navy) !important;
}

/* Tagline below heading */
.shu-voices-section>.intro-tagline,
.shu-voices-section p.intro-tagline {
    text-align: center !important;
    margin-bottom: 40px !important;
}

/* Also hide old home-social if it still renders */
.home-social {
    display: none !important;
}

/* Section headings */
.shu-voices-heading {
    font-family: 'Merriweather', serif !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    color: #1e2a38 !important;
    margin-bottom: 16px !important;
    position: relative;
    padding-bottom: 12px !important;
    text-align: center !important;
}

.shu-voices-heading::after {
    content: '';
    display: block;
    width: 40px;
    height: 3px;
    background: var(--accent-green);
    margin: 10px auto 0;
}

/* Top row — video + donate same height */
.shu-voices-top {
    gap: 28px !important;
    margin-bottom: 48px !important;
    align-items: stretch !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
}

.shu-voices-video-col,
.shu-donate-col {
    display: flex !important;
    flex-direction: column !important;
}

/* Video */
.shu-video-wrap {
    position: relative;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.14);
    background: #000;
    flex: 1;
    display: flex;
    flex-direction: column;
}

.shu-video-wrap > br {
    display: none;
}

.shu-video-wrap > img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.shu-video-facade {
    position: relative;
    flex: 1;
    width: 100%;
    min-height: 320px;
    aspect-ratio: 16 / 9;
    display: block;
    border: none;
    padding: 0;
    cursor: pointer;
    background: #000;
    font: inherit;
    text-align: left;
    overflow: hidden;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,0.06);
}

.shu-video-facade:focus-visible {
    outline: 3px solid rgba(255, 255, 255, 0.9);
    outline-offset: 2px;
}

.shu-video-facade img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0.92;
}

.shu-video-facade iframe {
    width: 100%;
    height: 100%;
    border: 0;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
}

.shu-play-btn {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 72px;
    height: 72px;
    border-radius: 50%;
    background: transparent;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: none;
    transition: transform 0.15s, filter 0.15s;
    pointer-events: none;
    z-index: 2;
}

.shu-play-btn::before {
    content: "";
    display: block;
    width: 0;
    height: 0;
    margin-left: 7px;
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
    border-left: 17px solid #fff;
}

.shu-video-facade:hover .shu-play-btn {
    transform: translate(-50%, -50%) scale(1.1);
    filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.7));
}

/* Donate panel — blue, same height as video */
.shu-donate-col {
    flex: 1;
}

.shu-donate-panel {
    background: var(--primary-navy) !important;
    border-radius: 16px !important;
    padding: 40px 36px !important;
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    box-shadow: 0 4px 20px rgba(19, 75, 112, 0.25) !important;
}

/* Reorder: Stat first, then heading, then paragraphs, then button */
.shu-donate-stat {
    font-family: 'Merriweather', serif !important;
    font-size: 64px !important;
    font-weight: 900 !important;
    color: #ffffff !important;
    line-height: 1 !important;
    margin: 0 0 4px !important;
    text-align: center !important;
    order: 1 !important;
}

.shu-donate-stat-label {
    font-family: 'Merriweather', serif !important;
    font-size: 13px !important;
    color: rgba(255, 255, 255, 0.8) !important;
    text-align: center !important;
    margin: 0 0 32px !important;
    line-height: 1.5 !important;
    order: 2 !important;
}

.shu-donate-panel h4 {
    font-family: 'Merriweather', serif !important;
    font-size: 28px !important;
    font-weight: 700 !important;
    color: #ffffff !important;
    text-align: center !important;
    margin-bottom: 20px !important;
    letter-spacing: 0.5px !important;
    text-transform: uppercase !important;
    line-height: 1.3 !important;
    order: 3 !important;
}

.shu-donate-panel p {
    font-family: 'Merriweather', serif !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    color: rgba(255, 255, 255, 0.95) !important;
    text-align: center !important;
    line-height: 1.7 !important;
    margin-bottom: 18px !important;
    max-width: 600px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    order: 4 !important;
}

.shu-donate-cta {
    order: 5 !important;
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
}

/* FORCE REMOVE orange wrapper background - target all possible wrappers */
.shu-donate-cta,
.shu-donate-cta .wp-block-button,
.shu-donate-cta.wp-block-buttons,
.shu-donate-cta.wp-block-buttons .wp-block-button,
.wp-block-buttons .shu-donate-cta,
.wp-block-buttons .shu-donate-cta .wp-block-button,
div.shu-donate-cta,
div.shu-donate-cta div.wp-block-button {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    padding: 0 !important;
    margin: 0 auto !important;
    width: auto !important;
    max-width: none !important;
    border: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
}

/* Style ONLY the actual button link (the pill) to match navbar donate button */
.shu-donate-cta .wp-block-button .wp-block-button__link,
.shu-donate-cta .wp-block-button__link,
.shu-donate-cta a.wp-block-button__link,
div.shu-donate-cta div.wp-block-button a.wp-block-button__link {
    /* Match navbar donate button exactly */
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    width: auto !important;
    max-width: none !important;
    background: linear-gradient(135deg, var(--accent-orange) 0%, #d96b0c 100%) !important;
    background-color: var(--accent-orange) !important;
    color: #fff !important;
    font-family: 'Jost', sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    padding: 9px 18px !important;
    border-radius: 50px !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    letter-spacing: 0.3px !important;
    box-shadow: none !important;
    transition: all 0.25s !important;
    border: none !important;
    text-align: center !important;
    margin: 15px auto 0 !important;
}

.shu-donate-cta .wp-block-button .wp-block-button__link:hover,
.shu-donate-cta .wp-block-button__link:hover,
.shu-donate-cta a.wp-block-button__link:hover,
div.shu-donate-cta div.wp-block-button a.wp-block-button__link:hover {
    background: linear-gradient(135deg, #d96b0c 0%, #c05e08 100%) !important;
    background-color: var(--accent-orange) !important;
    color: #fff !important;
    box-shadow: none !important;
    transform: translateY(-1px) !important;
}

/* Schemes section */
.shu-schemes-section {
    background: transparent !important;
    padding: 0 !important;
}

.shu-schemes-title {
    font-family: 'Merriweather', serif !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    color: #1e2a38 !important;
    margin-bottom: 24px !important;
    padding-bottom: 12px !important;
    position: relative;
}

.shu-schemes-title::after {
    content: '';
    display: block;
    width: 40px;
    height: 3px;
    background: var(--accent-green);
    margin-top: 10px;
}

.shu-schemes-row {
    gap: 16px !important;
    align-items: stretch !important;
}

/* Each scheme card — equal size, light blue */
.shu-scheme-card {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    background: #eef5fc !important;
    border: 2px solid #c3ddf5 !important;
    border-radius: 14px !important;
    padding: 24px 14px 20px !important;
    text-align: center !important;
    text-decoration: none !important;
    color: #1e2a38 !important;
    transition: border-color 0.2s, transform 0.2s, box-shadow 0.2s !important;
    box-shadow: 0 2px 8px rgba(19, 75, 112, 0.08) !important;
    height: 100% !important;
    min-height: 160px !important;
}

.shu-scheme-card:hover {
    border-color: var(--primary-navy) !important;
    transform: translateY(-4px) !important;
    box-shadow: 0 8px 24px rgba(19, 75, 112, 0.18) !important;
    color: var(--primary-navy) !important;
    text-decoration: none !important;
    background: #dbeeff !important;
}

/* Scheme logo — circular, same size all */
.shu-scheme-logo {
    width: 72px !important;
    height: 72px !important;
    border-radius: 50% !important;
    background: #ffffff !important;
    overflow: hidden !important;
    margin: 0 auto 14px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 2px solid #c3ddf5 !important;
    flex-shrink: 0 !important;
    box-shadow: 0 2px 8px rgba(19, 75, 112, 0.12) !important;
}

.shu-scheme-logo img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    border-radius: 50% !important;
    display: block !important;
}

.shu-scheme-name {
    font-family: 'Merriweather', serif !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 1.5 !important;
    color: #1e2a38 !important;
}

/*--------------------------------------------------------------
# SINGLE PROGRAMME AREA PAGE
--------------------------------------------------------------*/
.header-wrap {
    padding: 5rem 0 2rem;
    border-top: 5px solid var(--primary-navy);
}

.header-wrap h1 {
    font-size: 2rem;
    text-transform: capitalize;
    color: var(--primary-navy);
    width: 55%;
}

.header-wrap h1::before {
    content: "";
    display: block;
    margin-bottom: 1rem;
    width: 10rem;
    height: .15rem;
    background-color: var(--accent-green);
}

.page-inner,
.section-bg,
.team-pg {
    background: #f7f7f7;
    padding: 70px 40px;
}

.page-inner h3,
.prog-content h3 {
    font-size: 1.4rem;
    color: var(--primary-navy);
}

.shu-page-body--project .page-inner {
    font-size: 17px !important;
    line-height: 1.5;
}

.prog-content,
.about-content {
    padding: 60px 40px;
}

.prog-content .uagb-tabs__panel .uagb-tab {
    border: 2px solid var(--primary-navy) !important;
    border-radius: 99px !important;
}

.prog-content .uagb-tabs__panel .uagb-tab:hover {
    background: var(--primary-navy) !important;
}

.prog-content .uagb-tabs__wrap ul.uagb-tabs__panel li.uagb-tab:hover a {
    color: #fff;
}

/*--------------------------------------------------------------
# SINGLE NETWORK PAGE
--------------------------------------------------------------*/
.scheme-logo {
    mix-blend-mode: multiply;
}

/*--------------------------------------------------------------
# SINGLE ARTICLE CSS
--------------------------------------------------------------*/
.post-content {
    box-shadow: 3px 3px 17px 0 rgba(0, 0, 0, .05);
    padding: 20px;
    border-radius: 3px;
    background: var(--white);
}

.post-content h1 {
    font-size: 26px;
    font-weight: 700;
    color: #2a2986;
    margin-bottom: .7rem;
}

.post-content img {
    width: 100%;
    height: 500px;
    object-fit: cover;
    margin-bottom: 20px;
}

.post-content p {
    margin: 0 0 1rem;
}

.post-content img {
    width: 100%;
    height: auto;
}

p.author {
    line-height: 3;
    border-bottom: dotted 1px #eee;
    margin-bottom: 1rem;
    color: var(--primary-navy);
}

p.post-meta {
    position: relative;
    color: #fec679;
    font-size: 20px;
    margin: -18px 0 25px;
}

p.post-meta i {
    margin-right: 10px;
}

.newsletter h2 {
    font-size: 36px;
    font-weight: 800;
    color: #2A2A86;
    text-align: center;
    margin-bottom: 2.5rem;
}

.about-side .post-thumbnail img {
    width: 100%;
    height: 150px;
    object-fit: cover;
}

.about-side h3 {
    color: var(--primary-navy);
    margin-bottom: 1.5rem;
}

.about-side .card-body h5 {
    font-size: 14px;
}

.about-side .card-body .catz {
    font-size: 12px;
    color: #00adef;
}

.related-highlights ul.wp-block-latest-posts__list li {
    margin-bottom: 1rem;
    background: var(--white);
    padding: 10px;
}

.related-highlights ul.wp-block-latest-posts__list li a.wp-block-latest-posts__post-title {
    font-size: 14px;
    font-weight: 600;
}

/*--------------------------------------------------------------
# SINGLE PROJECT PAGE
--------------------------------------------------------------*/
.project-wrapper {
    margin-left: auto;
    margin-right: auto;
    padding: clamp(24px, 4vw, 48px);
    border: 1px solid #dce5ee;
    border-radius: 16px;
    background: var(--white);
    box-shadow: 0 14px 36px rgba(22, 63, 96, 0.1);
}

.project-img img {
    height: 500px;
    width: 100%;
    object-fit: cover;
    object-position: top;
}

/*--------------------------------------------------------------
/*--------------------------------------------------------------
# About Pages — Vision / Mission / Motto section
--------------------------------------------------------------*/

/* Light blue overlay — visible but not too heavy */
.wp-block-cover .wp-block-cover__background.has-background-dim-90,
.wp-block-cover .wp-block-cover__background.has-background-dim-45 {
    opacity: 0.65 !important;
    background-color: var(--primary-navy) !important;
}

/* 3 equal columns */
.shu-vmm-columns {
    display: flex !important;
    align-items: stretch !important;
    gap: 0 !important;
    width: 100% !important;
}

.shu-vmm-columns .wp-block-column {
    flex: 1 1 33.33% !important;
    min-width: 0 !important;
}

/* Each card */
.vmm-box {
    padding: 50px 36px 50px !important;
    text-align: center !important;
    border-right: none !important;
    margin: 0 !important;
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    transition: background 0.3s;
}

.vmm-box:hover {
    background: rgba(255, 255, 255, 0.08) !important;
}

.shu-vmm-columns .wp-block-column:last-child .vmm-box {
    border-right: none !important;
}

/* Icons — removed */
.vision-box::before,
.mission-box::before,
.motto-box::before {
    display: none !important;
    content: none !important;
}

/* Remove old white line from vision-box */
.vmm-box h4::before {
    content: none !important;
    display: none !important;
    background: none !important;
    width: 0 !important;
    height: 0 !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Headings — bold, white, large */
.vmm-box h4,
.vmm-box h4 strong {
    font-family: 'Merriweather', serif !important;
    font-size: 32px !important;
    font-weight: 900 !important;
    color: #ffffff !important;
    text-align: center !important;
    margin: 0 0 16px 0 !important;
    text-transform: none !important;
    text-shadow: 2px 2px 8px rgba(0, 0, 0, 0.9), 0 0 20px rgba(0, 0, 0, 0.7) !important;
    letter-spacing: 0.3px !important;
    padding-bottom: 14px !important;
    border-bottom: 3px solid rgba(255, 255, 255, 0.5) !important;
    width: 100% !important;
}

/* Description — bright white, readable */
.vmm-box p {
    font-family: 'Merriweather', serif !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    line-height: 1.9 !important;
    color: #ffffff !important;
    text-align: center !important;
    width: 100% !important;
    margin: 0 !important;
    text-shadow: 1px 1px 6px rgba(0, 0, 0, 0.9), 0 0 15px rgba(0, 0, 0, 0.7) !important;
}


/** =========================================================
Event Details - Canvas
===============================================================**/
.kpy_event_details {
    height: calc(100vh - 6px);
    padding: 20px 30px 20px 25px;
    margin-bottom: 6px;
}

.kpy_event_details img.wp-post-image {
    height: 200px !important;
}

.kpy_event_details .offcanvas-header {
    padding: 10px 10px 0;
}

.kpy_event_details .offcanvas-title {
    font-size: 20px;
    font-weight: 700;
    line-height: 2;
    color: #2A2A86;
    border-bottom: dotted 1px #eee;
}

.kpy_event_details .time,
.kpy_event_details .location {
    color: var(--primary-navy);
    font-weight: 500;
}

.kpy_event_details .btn-close {
    width: 35px;
    height: 35px;
    display: inline-block;
    text-align: center;
    border: 1px solid transparent;
    position: relative;
    cursor: pointer;
    transition: all .2s;
    top: 0;
}

/** ==========================================================
Upcoming Events Page
===========================================================**/
.kpy_events img {
    width: 100%;
    min-height: 150px;
    object-fit: cover;
    max-height: 250px;
}

.kpy_events .date {
    font-size: 13px;
    font-weight: 500;
    color: #2A2A86;
    margin-bottom: 1rem;
}

.kpy_events h3 {
    font-size: 17px;
    font-weight: 700;
    color: #333;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    -webkit-box-orient: vertical;
}

.kpy_event_details .time,
.kpy_event_details .location {
    color: var(--primary-navy);
    font-weight: 500;
}

.kpy_event_details .btn-close {
    width: 35px;
    height: 35px;
    display: inline-block;
    text-align: center;
    border: 1px solid transparent;
    position: relative;
    cursor: pointer;
    transition: all .2s;
    top: 0;
}

.shu-upcoming-events {
    background-color: rgba(101, 93, 93, 0.05);
    padding: 60px 15px;
}

.shu-upcoming-events h2 {
    color: #5EC401;
    font-weight: 600;
    margin-bottom: 20px;
}


/** ==========================================================
Team Pages
===========================================================**/

/* ── Founders grid ──────────────────────────────────────── */
.shu-founders-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
    padding: 48px 40px;
    max-width: 1200px;
    margin: 0 auto;
}

@media (max-width: 900px) {
    .shu-founders-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 600px) {
    .shu-founders-grid {
        grid-template-columns: 1fr;
    }
}

.shu-founder-card {
    position: relative;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.12);
    transition: transform 0.3s, box-shadow 0.3s;
    background: #f0f0f0;
}

.shu-founder-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 14px 36px rgba(0, 0, 0, 0.20);
}

/* Photo container — portrait 3:4 */
.shu-founder-card__photo {
    position: relative;
    width: 100%;
    aspect-ratio: 3 / 4;
    overflow: hidden;
}

/* Actual image fills the card */
.shu-founder-card__photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    display: block;
    transition: transform 0.4s ease;
}

.shu-founder-card:hover .shu-founder-card__photo img {
    transform: scale(1.05);
}

/* Gradient + info overlay at the bottom */
.shu-founder-card__overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 60px 20px 22px;
    background: linear-gradient(to top,
            rgba(15, 60, 120, 0.88) 0%,
            rgba(31, 118, 189, 0.55) 50%,
            transparent 100%);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

/* Name */
.shu-founder-card__name {
    font-family: 'Merriweather', serif !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    color: #ffffff !important;
    margin: 0 0 4px !important;
    line-height: 1.3 !important;
    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.6) !important;
}

/* Role */
.shu-founder-card__role {
    font-family: 'Jost', sans-serif !important;
    font-size: 13px !important;
    color: rgba(255, 255, 255, 0.85) !important;
    margin: 0 0 14px !important;
}

/* Read More button */
.shu-founder-card__btn {
    font-family: 'Merriweather', serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #ffffff !important;
    background: linear-gradient(135deg, var(--accent-orange) 0%, #E67719 100%) !important;
    border-radius: 50px !important;
    padding: 7px 22px !important;
    text-decoration: none !important;
    transition: all 0.25s !important;
    display: inline-block !important;
    border: none !important;
}

.shu-founder-card__btn:hover {
    background: linear-gradient(135deg, #E67719 0%, #D66B14 100%) !important;
    color: #ffffff !important;
    transform: translateY(-1px) !important;
}

.founders img {
    border-radius: 10px;
}

.team-pg img {
    width: 200px;
    height: 250px !important;
    object-fit: cover;
    object-position: top;
    display: block;
    margin: 0 auto;
}

.team-pg .team-details h4,
.modal-body h4 {
    font-size: 18px;
    font-weight: bold;
    color: var(--primary-navy);
    margin-top: 12px;
}

.team-pg .team .card {
    min-height: 350px;
    cursor: pointer;
}

.modal-dialog img {
    width: 100%;
    height: auto !important;
}

.modal-body {
    padding: 1rem 2rem;
}

.modal-body p.title {
    font-weight: 600;
}

/*--------------------------------------------------------------
# Conference Page
--------------------------------------------------------------*/
.conf-img img {
    height: 360px;
    margin-bottom: 0;
    object-fit: cover;
}

.conf-banner h2 {
    font-family: 'jost';
    text-transform: uppercase;
    font-size: 23px;
    font-weight: 500;
}

.conf-body {
    padding: 70px 0;
}

.conf-body ul {
    list-style: none;
    padding: 0;
}

.conf-body ul li {
    margin-bottom: .5rem;
}

.conf-body ul li::before {
    content: "\f140";
    display: inline-block;
    font-family: bootstrap-icons !important;
    line-height: 1;
    vertical-align: -.125em;
    color: var(--primary-navy);
    padding-right: .5rem;
    font-size: large;
}

/*--------------------------------------------------------------
# Contact Us — redesigned two-column layout
--------------------------------------------------------------*/

/* Outer wrapper */
.shu-contact-wrap {
    background: var(--white);
    /* White background */
    padding: 60px 0 0;
}

/* Two-column grid: form left, info right — equal height */
.shu-contact-grid {
    display: grid;
    grid-template-columns: 1.15fr 0.85fr;
    gap: 48px;
    align-items: stretch;
    max-width: 1180px;
    margin: 0 auto;
    padding: 0 24px 60px;
}

@media (max-width: 900px) {
    .shu-contact-grid {
        grid-template-columns: 1fr;
    }
}

/* ── Left: form column ─────────────────────────────────── */
.shu-contact-form-col h2 {
    font-family: 'Merriweather', serif;
    font-size: 24px;
    font-weight: 800;
    color: var(--primary-navy);
    margin: 0 0 10px;
}

.shu-contact-form-col .shu-contact-lead {
    font-family: 'Merriweather', serif;
    font-size: 15px;
    line-height: 1.7;
    color: #555;
    margin: 0 0 28px;
}

/* WPForms overrides */
div.wpforms-container-full .wpforms-form input[type="submit"],
div.wpforms-container-full .wpforms-form button[type="submit"],
div.wpforms-container-full .wpforms-form .wpforms-page-button {
    background-color: var(--primary-navy);
    border: none;
    color: #fff;
    padding: 10px 15px;
    width: 200px;
    border-radius: 6px;
    font-family: 'Merriweather', serif;
    font-weight: 600;
    transition: background 0.2s, border-color 0.2s;
}

div.wpforms-container-full .wpforms-form input[type="submit"]:hover,
div.wpforms-container-full .wpforms-form input[type="submit"]:focus,
div.wpforms-container-full .wpforms-form button[type="submit"]:hover,
div.wpforms-container-full .wpforms-form button[type="submit"]:focus,
div.wpforms-container-full .wpforms-form .wpforms-page-button:hover,
div.wpforms-container-full .wpforms-form .wpforms-page-button:focus {
    background-color: var(--primary-blue);
    border-color: #0f95d3;
    cursor: pointer;
}

div.wpforms-container-full .wpforms-form input[type="date"],
div.wpforms-container-full .wpforms-form input[type="datetime-local"],
div.wpforms-container-full .wpforms-form input[type="email"],
div.wpforms-container-full .wpforms-form input[type="number"],
div.wpforms-container-full .wpforms-form input[type="password"],
div.wpforms-container-full .wpforms-form input[type="search"],
div.wpforms-container-full .wpforms-form input[type="tel"],
div.wpforms-container-full .wpforms-form input[type="text"],
div.wpforms-container-full .wpforms-form input[type="url"],
div.wpforms-container-full .wpforms-form select,
div.wpforms-container-full .wpforms-form textarea {
    border: 2px solid #e5e5e5;
    padding: 10px 14px;
    height: 44px;
    border-radius: 8px;
    font-family: 'Merriweather', serif;
    font-size: 14px;
    background: var(--white);
    transition: border-color 0.2s;
}

div.wpforms-container-full .wpforms-form textarea {
    height: auto;
}

div.wpforms-container-full .wpforms-form input:focus,
div.wpforms-container-full .wpforms-form textarea:focus,
div.wpforms-container-full .wpforms-form select:focus,
div.wpforms-container-full .wpforms-form .is-focused .choices__inner,
div.wpforms-container-full .wpforms-form .is-open .choices__inner {
    border: 2px solid #e5e5e5;
    box-shadow: none;
    outline: none;
}

div.wpforms-container .wpforms-form .choices__inner {
    border: 2px solid #e5e5e5 !important;
}

.wpforms-field-container {
    padding: 2% 5% 5% 5% !important;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.07) !important;
    background: #fff !important;
    border-radius: 14px !important;
}

/* ── Right: info column ────────────────────────────────── */
.shu-contact-info-col {
    display: flex;
    flex-direction: column;
    gap: 20px;
    height: 100%;
}

/* Big phone card — orange gradient */
.shu-contact-phone-card {
    background: linear-gradient(135deg, var(--accent-green) 0%, #367d35 100%);
    border-radius: 16px;
    padding: 32px 28px;
    box-shadow: none !important;
}

.shu-contact-phone-eyebrow {
    font-family: 'Merriweather', serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.75);
    margin: 0 0 10px;
}

.shu-contact-phone-number {
    font-family: 'Merriweather', serif;
    font-size: 32px;
    font-weight: 900;
    color: #fff;
    line-height: 1.1;
    margin: 0;
    word-break: break-word;
}

@media (max-width: 1100px) {
    .shu-contact-phone-number {
        font-size: 26px;
    }
}

/* Address card */
.shu-contact-address-card {
    background: var(--white);
    border-radius: 16px;
    padding: 24px 28px;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.07);
    flex: 1;
}

/* Quick contact card */
.shu-contact-quickcontact-card {
    background: var(--white);
    border-radius: 16px;
    padding: 24px 28px;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.07);
    flex: 1;
}

.shu-contact-address-card h3,
.shu-contact-quickcontact-card h3 {
    font-family: 'Merriweather', serif;
    font-size: 16px;
    font-weight: 700;
    color: var(--primary-navy);
    margin: 0 0 10px;
}

.shu-contact-address-card p,
.shu-contact-quickcontact-card p {
    font-family: 'Merriweather', serif;
    font-size: 14px;
    line-height: 1.7;
    color: #555;
    margin: 0 0 6px;
}

.shu-contact-address-card p:last-child,
.shu-contact-quickcontact-card p:last-child {
    margin: 0;
}

.shu-contact-quickcontact-card a {
    color: var(--primary-navy);
    text-decoration: none;
    font-weight: 600;
    transition: color 0.2s;
}

.shu-contact-quickcontact-card a:hover {
    color: var(--accent-dusty);
}

/* Media inquiries note */
.shu-contact-media-note {
    font-family: 'Merriweather', serif;
    font-size: 13px;
    line-height: 1.6;
    color: #777;
    background: #f0f6ff;
    border-radius: 8px;
    padding: 12px 16px;
    margin: 0;
}

.shu-contact-media-note a {
    color: var(--primary-navy);
    font-weight: 600;
}

.shu-contact-media-note a:hover {
    color: var(--accent-dusty);
}

/* Full-width map */
.shu-contact-map-wrap {
    max-width: 100%;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.10);
    border-radius: 0;
    overflow: hidden;
    line-height: 0;
}

.shu-contact-map-wrap iframe {
    width: 100%;
    height: 420px;
    border: 0;
    display: block;
}

/*--------------------------------------------------------------
# Donate page
--------------------------------------------------------------*/
.shu-donate-wrap {
    background: var(--white);
    padding: 0;
}

.shu-page-body.shu-page-body--donate {
    padding: 0 !important;
}

.shu-donate-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
    align-items: start;
    gap: 30px;
    max-width: 540px;
    box-sizing: border-box;
    margin: 0 auto;
    padding: 0 12px;
}

.shu-donate-info {
    color: #444;
    font-family: 'Merriweather', serif;
    font-size: 15px;
    line-height: 1.5;
}

.shu-donate-info .node {
    margin: 0;
}

.shu-donate-info .container {
    width: auto;
    max-width: none;
    padding-left: 0;
    padding-right: 0;
}

.shu-donate-info p {
    font-family: 'Merriweather', serif;
    font-size: 15px;
    line-height: 1.5;
    margin: 0 0 16px;
}

.shu-donate-form-container {
    width: 100%;
    margin: 24px 0;
}

.shu-donate-form .wpforms-field-container {
    padding: 2% 5% 5% !important;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.07) !important;
    background: #fff !important;
    border-radius: 14px !important;
}

.shu-donate-form .shu-donate-name-fields {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.shu-donate-form .form-item {
    margin: 0;
}

.shu-donate-form .wpforms-field-container > .form-item,
.shu-donate-form .wpforms-field-container > fieldset {
    padding: 15px 0;
}

.shu-donate-form .wpforms-field-container > .shu-donate-name-group {
    padding-bottom: 15px;
}

.shu-donate-form .wpforms-field-container > .form-item-email,
.shu-donate-form .wpforms-field-container > .form-item-amount {
    padding-bottom: 15px;
}

.shu-donate-form .wpforms-field-container > .form-item-message {
    padding-bottom: 8px;
}

.shu-donate-form .shu-donate-name-fields .form-item {
    padding: 0;
}

.shu-donate-form label,
.shu-donate-form legend {
    display: block;
    color: #444;
    font-family: 'Merriweather', serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 19px;
    margin: 0 0 15px;
}

.shu-donate-form .shu-donate-name-fields label {
    font-size: 14px;
    font-weight: 400;
    line-height: 17px;
    margin: 5px 0 0;
}

.shu-donate-form .wpforms-field-container > fieldset > legend::after,
.shu-donate-form .wpforms-field-container > .form-item > label::after {
    content: " *";
    color: #d63637;
}

.shu-donate-form fieldset {
    border: 0;
    margin: 0;
    padding: 15px 0;
}

.shu-donate-form input[type="text"],
.shu-donate-form input[type="email"],
.shu-donate-form textarea {
    width: 100%;
    border: 2px solid #e5e5e5;
    padding: 10px 14px;
    height: 44px;
    border-radius: 8px;
    box-sizing: border-box;
    color: #444;
    background: var(--white);
    font-family: 'Merriweather', serif;
    font-size: 14px;
}

.shu-donate-form input[type="text"] {
    margin: 0;
}

div.wpforms-container-full .shu-donate-form textarea {
    height: 219px !important;
    line-height: 18.2px;
    resize: vertical;
}

.shu-donate-form .form-textarea-wrapper textarea {
    display: block;
}

.shu-donate-form input:focus,
.shu-donate-form textarea:focus {
    border: 2px solid #e5e5e5;
    box-shadow: none;
    outline: none;
}

.shu-donate-form button[type="submit"] {
    background-color: var(--primary-navy);
    border: none;
    color: #fff;
    padding: 10px 15px;
    width: 200px;
    border-radius: 6px;
    font-family: 'Merriweather', serif;
    font-weight: 600;
    transition: background 0.2s, border-color 0.2s;
}

.shu-donate-form button[type="submit"]:hover,
.shu-donate-form button[type="submit"]:focus {
    background-color: var(--primary-blue);
    border-color: #0f95d3;
    cursor: pointer;
}

@media (max-width: 781px) {
    .shu-donate-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 600px) {
    .shu-donate-grid {
        padding: 0 20px;
    }

    .shu-donate-form .shu-donate-name-fields {
        grid-template-columns: 1fr;
        gap: 0;
    }
}

#footer {
    background-color: #1a1f2e !important;
    /* Dark footer - original color */
    color: #c8d0dc !important;
    font-family: 'Jost', sans-serif !important;
}

/* ── Top strip: newsletter/news widget ── */
#footer .footer-first {
    border-bottom: 1px solid rgba(255, 255, 255, 0.07);
    padding-bottom: 30px;
    margin-bottom: 10px;
}

/* ── Main footer body ── */
#footer .footer-top {
    padding: 60px 0 40px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

@media (min-width: 992px) {
    #footer .footer-grid > .footer-grid__details {
        padding-top: 28px !important;
    }
}

#footer .shu-footer-search {
    margin-top: 19px;
}

#footer .shu-footer-search input[type="search"] {
    height: 36px;
    margin: 0;
}

/* ── Column headings ── */
#footer .footer-top .footer-links h3,
#footer .footer-top .footer-links h4 {
    font-family: 'Merriweather', serif;
    font-size: 20px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: #ffffff;
    margin-bottom: 18px;
    text-shadow: none;
    position: relative;
    padding-bottom: 12px;
}

/* Green underline accent */
#footer .footer-top .footer-links h3::after,
#footer .footer-top .footer-links h4::after {
    content: '';
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 36px;
    height: 3px;
    background: var(--accent-green);
    border: none;
    padding: 0;
    margin: 0;
}

/* ── Paragraph text ── */
#footer .footer-top .footer-links p {
    font-family: 'Merriweather', serif;
    font-size: 15px;
    line-height: 1.8;
    color: #9aa5b4 !important;
    margin-bottom: 10px;
}

/* ── Logo area — white circle to make it pop ── */
#footer .footer-brand {
    margin-bottom: 20px;
}

#footer .footer-brand-link {
    display: flex;
    align-items: center;
    gap: 14px;
    text-decoration: none !important;
}

#footer .footer-brand .footer-logo-img {
    width: 80px !important;
    height: 80px !important;
    object-fit: contain !important;
    background: transparent !important;
    border-radius: 0 !important;
    padding: 0 !important;
    box-shadow: none !important;
    display: block !important;
    flex-shrink: 0;
    filter: none !important;
}

#footer .footer-brand .footer-brand-name {
    font-size: 15px;
    font-weight: 700;
    color: #ffffff;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    line-height: 1.4;
}

#footer .footer-top .wp-block-media-text {
    margin-bottom: 1.5rem;
    align-items: center;
    background: transparent !important;
}

#footer .footer-top .wp-block-media-text figure,
#footer .footer-top .wp-block-media-text .wp-block-media-text__media {
    background: var(--white);
    border-radius: 50%;
    width: 80px !important;
    height: 80px !important;
    min-width: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8px;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.25);
    overflow: hidden;
}

#footer .footer-top .wp-block-media-text img {
    width: 64px !important;
    height: 64px !important;
    object-fit: contain !important;
    border-radius: 0 !important;
    background: transparent !important;
    padding: 0 !important;
    display: block;
}

#footer .footer-top .wp-block-media-text__content p {
    font-size: 13px;
    font-weight: 700;
    color: #fff;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    line-height: 1.4;
    margin: 0;
}

/* ── Hide widget logo, show only hardcoded one ── */
#footer .footer-links img:not(.footer-logo-img) {
    display: none !important;
}

/* Hide the widget heading since our brand name is already shown */
#footer .footer-links .wp-block-media-text {
    display: none !important;
}

/* ── Useful links list ── */
#footer .footer-top .footer-links ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

#footer .footer-top .footer-links ul li {
    display: flex;
    align-items: center;
    padding: 5px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

#footer .footer-top .footer-links ul li:last-child {
    border-bottom: none;
}

#footer .footer-top .footer-links ul li::before {
    content: '\203A';
    color: var(--accent-green);
    font-size: 18px;
    margin-right: 8px;
    line-height: 1;
    font-weight: 700;
}

#footer .footer-top .footer-menu ul li::before {
    content: '\203A';
    font-family: inherit;
    color: var(--accent-green);
    font-size: 18px;
    margin-right: 8px;
    font-weight: 700;
}

#footer .footer-top .footer-links ul a {
    color: #9aa5b4;
    font-family: 'Merriweather', serif;
    font-size: 14px;
    text-decoration: none;
    transition: color 0.2s, padding-left 0.2s;
    display: inline-block;
}

#footer .footer-top .footer-links ul a:hover {
    color: var(--accent-green);
    padding-left: 4px;
}

#footer .footer-top .footer-links ul i {
    display: none;
}

/* ── Contact column ── */
#footer .footer-top .footer-contacts a {
    color: #9aa5b4 !important;
    text-decoration: none;
    transition: color 0.2s;
}

#footer .footer-top .footer-contacts a:hover {
    color: var(--accent-green) !important;
}

/* Ensure Address & Contact Us paragraphs are visible */
#footer .footer-top .footer-links p,
#footer .footer-top .footer-contacts p {
    color: #9aa5b4 !important;
}

#footer .footer-top .footer-links p a,
#footer .footer-top .footer-contacts p a {
    color: #9aa5b4 !important;
}

#footer .footer-top .footer-links p a:hover,
#footer .footer-top .footer-contacts p a:hover {
    color: var(--accent-green) !important;
}

/* ── Social icons row ── */
#footer .footer-social {
    display: flex;
    align-items: center;
    gap: 10px;
    width: fit-content;
    margin-top: 12px;
}

#footer .footer-top .footer-contacts .footer-social a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    background: transparent;
    color: #ffffff !important;
    text-decoration: none;
    transition: opacity 0.2s ease;
}

#footer .footer-top .footer-contacts .footer-social a.footer-social__link--facebook {
    color: #1877f2 !important;
}

#footer .footer-top .footer-contacts .footer-social a.footer-social__link--linkedin {
    color: #0a66c2 !important;
}

#footer .footer-top .footer-contacts .footer-social a.footer-social__link--youtube {
    color: #ff0000 !important;
}

#footer .footer-social svg {
    display: block;
    width: 18px;
    height: 18px;
    fill: currentColor;
}

#footer .footer-social a:hover {
    opacity: 0.78;
}

/* ── Search box ── */
#footer .widget_search input[type="search"],
#footer input[type="search"] {
    background: rgba(255, 255, 255, 0.07);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 50px;
    color: #fff;
    padding: 8px 16px;
    font-size: 13px;
    width: 100%;
    outline: none;
    transition: border 0.2s;
}

#footer .widget_search input[type="search"]::placeholder {
    color: rgba(255, 255, 255, 0.35);
}

#footer .widget_search input[type="search"]:focus {
    border-color: var(--primary-navy);
}

#footer .widget_search button,
#footer .widget_search input[type="submit"] {
    background: var(--primary-navy);
    color: #fff;
    border: none;
    border-radius: 50px;
    padding: 8px 16px;
    cursor: pointer;
    margin-top: 8px;
}

/* ── Copyright bar ── */
#footer .copyright {
    background: #141820;
    padding: 16px 0;
    font-size: 13px;
    color: #6b7585;
    border-top: 1px solid rgba(255, 255, 255, 0.05);
}

#footer .copyright strong span {
    color: var(--accent-dusty);
}

#footer .copyright a {
    color: #9aa5b4;
    text-decoration: none;
    transition: color 0.2s;
}

#footer .copyright a:hover {
    color: var(--accent-green);
}

#footer .copyright .float-end a {
    color: #9aa5b4;
}

#footer .copyright .float-end a:hover {
    color: var(--accent-green);
}

@media (max-width: 991.98px) {
    .header .navbar-inner,
    .header.header-scrolled .navbar-inner {
        width: calc(100% - 24px) !important;
        min-height: 64px !important;
        margin: 10px auto !important;
        padding: 0 12px !important;
        border-radius: 40px !important;
    }

    .header .header-logo,
    .header.header-scrolled .header-logo {
        box-sizing: border-box !important;
        width: clamp(60px, 16vw, 74px) !important;
        height: clamp(60px, 16vw, 74px) !important;
        margin: 0 8px 0 0 !important;
        padding: 4px !important;
        transform: none !important;
    }

    .header .header-logo .logo-img,
    .header.header-scrolled .header-logo .logo-img {
        box-sizing: border-box !important;
        width: 100% !important;
        height: 100% !important;
        max-width: 100% !important;
        object-fit: contain !important;
    }
}

@media (max-width: 380px) {
    .header .navbar-inner,
    .header.header-scrolled .navbar-inner {
        width: calc(100% - 16px) !important;
        padding: 0 8px !important;
    }

    .header .header-logo,
    .header.header-scrolled .header-logo {
        width: 58px !important;
        height: 58px !important;
        margin-right: 6px !important;
        padding: 3px !important;
    }
}

/*------------------------------------*\
    RESPONSIVE
\*------------------------------------*/
@media only screen and (min-device-width:320px) and (max-device-width:600px) {
    .header {
        padding-top: 0;
    }

    .header .main-header,
    .header .logo {
        background: var(--primary-navy);
    }

    .header .logo .logo-shu-img {
        height: 100px;
        background-size: 100px;
    }

    .header .logo {
        height: 100px;
    }

    .header .main-header .shu-menu {
        float: right;
        padding-right: 40px;
    }

    .wp-block-group .container {
        padding: 0px 30px;
    }

    .home-about {
        padding: 40px 0;
    }

    .home-abt-img img {
        height: 380px;
    }

    .home-about-content h2 strong,
    .home-staff h2,
    .home-about-content h2 {
        font-size: 24px;
    }

    .home-practice-area h2,
    .home-staff h2,
    .home-insights h2 {
        font-size: 26px;
        margin-bottom: 1rem;
    }

    .home-quote {
        width: 90%;
    }
}

@media only screen and (min-device-width:640px) and (max-device-width:768px) {

    .header .header-scrolled,
    .header {
        padding: 5px 10px;
    }
}

@media only screen and (min-device-width:768px) and (max-device-width:1024px) {
    .header.header-scrolled {
        padding: 8px 0;
    }

    .header #mega-menu-wrap-header-menu #mega-menu-header-menu>li.mega-menu-item>a.mega-menu-link,
    .header.header-scrolled #mega-menu-wrap-header-menu #mega-menu-header-menu>li.mega-menu-item>a.mega-menu-link {
        font-size: 17px;
    }

    .header #mega-menu-wrap-header-menu #mega-menu-header-menu>li.mega-menu-item-23>a.mega-menu-link {
        background: transparent;
        padding: 0 20px;
        margin: 0 30px 0 10px;
        line-height: 30px;
        height: 30px;
    }

    .header #mega-menu-wrap-header-menu #mega-menu-header-menu>li.mega-menu-item-23>a.mega-menu-link:hover {
        color: var(--accent-green) !important;
        background: transparent !important;
    }

    .home-about-content h2 strong,
    .home-staff h2 {
        font-size: 28px;
    }

    .home-about {
        padding: 40px 0;
    }

    .home-abt-img img {
        height: 480px;
    }
}

@media only screen and (max-width:1140px) {
    body p {
        font-size: 17px
    }
}

@media only screen and (min-width:1280px) {
    .wp-block-uagb-buttons .uagb-block-cbc5d80e .uagb-buttons-repeater .uagb-button__link {
        font-size: 11px;
    }
}

@media only screen and (-webkit-min-device-pixel-ratio:1.5),
only screen and (min-resolution:144dpi) {}

/*------------------------------------*\
    MISC
\*------------------------------------*/
::selection {
    background: var(--primary-blue);
    color: #FFF;
    text-shadow: none;
}

::-webkit-selection {
    background: var(--primary-blue);
    color: #FFF;
    text-shadow: none;
}

::-moz-selection {
    background: var(--primary-blue);
    color: #FFF;
    text-shadow: none;
}

/*------------------------------------*\
    TYPOGRAPHY
\*------------------------------------*/


/*--------------------------------------------------------------
# Program pages — two-column layout with photo rail
--------------------------------------------------------------*/
.shu-program-section {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 44px;
    align-items: start;
    max-width: 1180px;
    margin: 0 auto;
    padding: 56px 24px;
}

@media (max-width: 900px) {
    .shu-program-section {
        grid-template-columns: 1fr;
    }
}

.shu-program-eyebrow {
    font-family: 'Merriweather', serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--accent-dusty);
    margin: 0 0 8px;
}

.shu-program-heading {
    font-family: 'Merriweather', serif;
    font-size: 24px;
    font-weight: 700;
    color: var(--primary-navy);
    margin: 0 0 14px;
}

.shu-program-intro p {
    font-size: 15px;
    line-height: 1.8;
    color: #444;
    margin: 0 0 24px;
}

/* ── Focus area cards ─────────────────────────────────── */
.shu-program-focus-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    margin-bottom: 36px;
}

@media (max-width: 600px) {
    .shu-program-focus-grid {
        grid-template-columns: 1fr;
    }
}

.shu-program-focus-card {
    background: #f7f8f9;
    border: 1px solid #e5e5e5;
    border-radius: 14px;
    padding: 20px;
}

.shu-focus-title {
    font-family: 'Merriweather', serif;
    font-size: 14px;
    font-weight: 600;
    color: #2d2d2d;
    margin: 12px 0 4px;
}

.shu-focus-desc {
    font-size: 13px;
    line-height: 1.6;
    color: #6b6b6b;
    margin: 0;
}

/* ── Schemes / partners groups ────────────────────────── */
.shu-program-group-label {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 12px;
}

.shu-program-group-badge {
    background: var(--accent-orange) !important;
    color: #fff;
    font-family: 'Merriweather', serif;
    font-size: 11px;
    font-weight: 700;
    padding: 4px 10px;
    border-radius: 999px;
}

.shu-program-group-badge.is-blue {
    background: var(--accent-orange) !important;
}

.shu-program-group-name {
    font-family: 'Merriweather', serif;
    font-size: 14px;
    font-weight: 600;
    color: #2d2d2d;
    margin: 0;
}

.shu-program-group-desc {
    font-size: 13.5px;
    color: #6b6b6b;
    line-height: 1.6;
    margin: 0 0 12px 34px;
}

/* ── Chip grid ────────────────────────────────────────── */
.shu-program-chip-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin-left: 34px;
    margin-bottom: 28px;
}

@media (max-width: 600px) {
    .shu-program-chip-grid {
        grid-template-columns: 1fr;
        margin-left: 0;
    }
}

.shu-program-chip {
    display: flex;
    align-items: center;
    gap: 8px;
    background: #f7f8f9;
    border: 1px solid #e5e5e5;
    border-radius: 10px;
    padding: 10px 12px;
    text-decoration: none;
    transition: border-color 0.2s;
}

.shu-program-chip:hover {
    border-color: var(--accent-dusty);
}

.shu-program-chip-dot {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #eaf5ea;
    flex-shrink: 0;
}

/* Logo thumbnail inside chip */
.shu-program-chip-logo {
    width: 40px;
    height: 40px;
    flex-shrink: 0;
    border-radius: 6px;
    overflow: hidden;
    background: var(--white);
    border: 1px solid #e5e5e5;
    display: flex;
    align-items: center;
    justify-content: center;
}

.shu-program-chip-logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

.shu-program-chip-label {
    font-size: 12.5px;
    color: #2d2d2d;
    line-height: 1.4;
}

/* ── Photo rail — stacked images (right column) ─────── */
.shu-program-photo-rail {
    display: flex;
    flex-direction: column;
    gap: 18px;
    height: 100%;
    align-self: stretch;
}

.shu-program-photo-card {
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 6px 24px rgba(0, 0, 0, 0.13);
    flex: 1;
    /* each card takes equal share of the column height */
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.shu-program-photo-card img {
    width: 100%;
    flex: 1;
    /* image fills remaining card height */
    object-fit: cover;
    display: block;
    min-height: 0;
    transition: transform 0.5s ease;
}

.shu-program-photo-card:hover img {
    transform: scale(1.04);
}

.shu-program-photo-caption {
    padding: 12px 16px;
    background: #f7f8f9;
    flex-shrink: 0;
}

.shu-program-photo-caption p {
    font-size: 12.5px;
    line-height: 1.6;
    color: #444;
    margin: 0;
    font-style: italic;
}

/* Make the grid rows stretch so right column matches left height */
.shu-program-section {
    align-items: stretch;
}



/*--------------------------------------------------------------
# Contact Us — native inquiry form
--------------------------------------------------------------*/
.shu-inquiry-form {
    background: var(--white);
    border-radius: 14px;
    padding: 28px 28px 24px;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.07);
    height: 100%;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
}

.shu-inquiry-form .shu-form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-bottom: 16px;
}

@media (max-width: 600px) {
    .shu-inquiry-form .shu-form-row {
        grid-template-columns: 1fr;
    }
}

.shu-inquiry-form .shu-form-full {
    margin-bottom: 4px;
}

.shu-inquiry-form input[type="text"],
.shu-inquiry-form input[type="email"],
.shu-inquiry-form input[type="tel"],
.shu-inquiry-form select,
.shu-inquiry-form textarea {
    width: 100%;
    border: 1.5px solid #d8d8d8;
    border-radius: 6px;
    padding: 12px 14px;
    font-family: 'Merriweather', serif;
    font-size: 14px;
    color: #444;
    background: var(--white);
    transition: border-color 0.2s, box-shadow 0.2s;
    box-sizing: border-box;
    -webkit-appearance: none;
    appearance: none;
}

.shu-inquiry-form select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23888' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    padding-right: 36px;
    cursor: pointer;
}

.shu-inquiry-form input[type="text"]::placeholder,
.shu-inquiry-form input[type="email"]::placeholder,
.shu-inquiry-form input[type="tel"]::placeholder,
.shu-inquiry-form textarea::placeholder {
    color: #aaa;
}

.shu-inquiry-form input[type="text"]:focus,
.shu-inquiry-form input[type="email"]:focus,
.shu-inquiry-form input[type="tel"]:focus,
.shu-inquiry-form select:focus,
.shu-inquiry-form textarea:focus {
    border-color: #d8d8d8;
    border-left-color: #d8d8d8;
    border-left-width: 1.5px;
    box-shadow: 0 0 0 3px rgba(19, 75, 112, 0.08);
    outline: none;
}

/* Name & phone */
.shu-inquiry-form input[name="shu_name"]:focus,
.shu-inquiry-form input[name="shu_phone"]:focus {
    border-color: #d8d8d8;
    border-left-color: #d8d8d8;
    box-shadow: 0 0 0 3px rgba(19, 75, 112, 0.08);
}

/* Email & service */
.shu-inquiry-form input[name="shu_email"]:focus,
.shu-inquiry-form select[name="shu_service"]:focus {
    border-color: #d8d8d8;
    border-left-color: #d8d8d8;
    box-shadow: 0 0 0 3px rgba(19, 75, 112, 0.08);
}

/* Textarea */
.shu-inquiry-form textarea:focus {
    border-color: #d8d8d8;
    border-left-color: #d8d8d8;
    box-shadow: 0 0 0 3px rgba(19, 75, 112, 0.08);
}

.shu-inquiry-form textarea {
    resize: vertical;
    height: 200px;
    flex: 1;
    min-height: 160px;
    line-height: 1.6;
}

/* Make form col a flex column so the card stretches to full height */
.shu-contact-form-col {
    display: flex;
    flex-direction: column;
}

.shu-contact-form-col>div:last-child {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.shu-contact-form-col>div:last-child .shu-inquiry-form {
    flex: 1;
}

.shu-char-count {
    font-family: 'Merriweather', serif;
    font-size: 12.5px;
    color: var(--primary-navy);
    margin: 4px 0 14px;
    display: block;
}

.shu-inquiry-form .shu-form-submit {
    margin-top: auto;
    padding-top: 20px;
}

.shu-inquiry-form button[type="submit"],
.shu-inquiry-form input[type="submit"] {
    background: var(--primary-navy);
    color: #fff;
    font-family: 'Merriweather', serif;
    font-size: 15px;
    font-weight: 600;
    border: none;
    border-radius: 6px;
    padding: 13px 36px;
    cursor: pointer;
    transition: opacity 0.2s, transform 0.15s;
    letter-spacing: 0.02em;
}

.shu-inquiry-form button[type="submit"]:hover,
.shu-inquiry-form input[type="submit"]:hover {
    background: var(--accent-dusty);
    opacity: 1;
    transform: translateY(-1px);
}

.shu-inquiry-form button[type="submit"]:active {
    transform: translateY(0);
    opacity: 1;
}

/* Success / error notice */
.shu-form-notice {
    font-family: 'Merriweather', serif;
    font-size: 14px;
    padding: 12px 16px;
    border-radius: 8px;
    margin-bottom: 20px;
    display: none;
}

.shu-form-notice.success {
    background: #eaf5ea;
    color: #2e7d32;
    border: 1px solid #a5d6a7;
    display: block;
}

.shu-form-notice.error {
    background: #fdecea;
    color: #c62828;
    border: 1px solid #ef9a9a;
    display: block;
}

/*--------------------------------------------------------------
# Program pages — wrapper & remaining content
--------------------------------------------------------------*/
.shu-program-wrap {
    background: var(--white);
    /* White background */
}

/* The rest-of-page content that follows the hero section */
.shu-program-rest {
    max-width: 1180px;
    margin: 0 auto;
    padding: 0 24px 60px;
}

.shu-program-rest h3 {
    font-family: 'Merriweather', serif;
    font-size: 20px;
    font-weight: 700;
    color: var(--primary-navy);
    margin: 40px 0 16px;
}

.shu-program-rest p,
.shu-program-rest li {
    font-family: 'Merriweather', serif;
    font-size: 15px;
    line-height: 1.8;
    color: #444;
}

.shu-program-rest strong {
    font-family: 'Merriweather', serif;
    font-weight: 700;
    color: #2d2d2d;
}

.shu-program-rest ol,
.shu-program-rest ul {
    padding-left: 20px;
    margin-bottom: 20px;
}

.shu-program-rest li {
    margin-bottom: 6px;
}

@media (max-width: 900px) {
    .shu-slide-inner img {
        height: 260px;
    }

    .shu-program-photo-slider {
        top: 0;
        margin-top: 28px;
    }
}

/*--------------------------------------------------------------
# Search results page
--------------------------------------------------------------*/
.shu-search-section {
    padding: 56px 24px 80px;
    background: var(--white);
    /* White background */
    min-height: 60vh;
}

.shu-search-container {
    max-width: 860px;
    margin: 0 auto;
}

/* ── Re-search bar ── */
.shu-search-bar-wrap {
    margin-bottom: 40px;
}

.shu-search-form {
    display: flex;
    align-items: center;
    background: var(--white);
    border: 2px solid #e5e5e5;
    border-radius: 50px;
    overflow: hidden;
    transition: border-color 0.25s;
}

.shu-search-form:focus-within {
    border-color: var(--primary-navy);
}

.shu-search-input {
    flex: 1;
    border: none;
    outline: none;
    padding: 14px 20px;
    font-size: 15px;
    font-family: 'Merriweather', serif;
    background: transparent;
    color: #2d2d2d;
}

.shu-search-btn {
    background: var(--primary-navy);
    border: none;
    color: #fff;
    padding: 0 22px;
    height: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background 0.2s;
    flex-shrink: 0;
}

.shu-search-btn:hover {
    background: var(--primary-blue);
}

.shu-search-meta {
    margin: 12px 0 0 6px;
    font-size: 14px;
    color: #6b6b6b;
    font-family: 'Merriweather', serif;
}

.shu-search-meta strong {
    color: #2d2d2d;
}

/* ── Result cards ── */
.shu-search-results {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.shu-search-card {
    display: flex;
    gap: 20px;
    background: var(--white);
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.07);
    transition: box-shadow 0.25s, transform 0.25s;
}

.shu-search-card:hover {
    box-shadow: 0 6px 24px rgba(0, 0, 0, 0.12);
    transform: translateY(-2px);
}

.shu-search-card-thumb {
    flex-shrink: 0;
    width: 160px;
    display: block;
    overflow: hidden;
}

.shu-search-card-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
}

.shu-search-card:hover .shu-search-card-thumb img {
    transform: scale(1.05);
}

.shu-search-card-body {
    flex: 1;
    padding: 20px 20px 20px 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

/* when no thumbnail, add left padding */
.shu-search-card:not(:has(.shu-search-card-thumb)) .shu-search-card-body {
    padding-left: 20px;
}

.shu-search-card-type {
    font-family: 'Merriweather', serif;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--accent-dusty);
    background: #eaf5ea;
    padding: 3px 10px;
    border-radius: 999px;
    display: inline-block;
    width: fit-content;
}

.shu-search-card-title {
    font-family: 'Merriweather', serif;
    font-size: 17px;
    font-weight: 700;
    margin: 4px 0 0;
    line-height: 1.4;
}

.shu-search-card-title a {
    color: var(--primary-navy);
    text-decoration: none;
    transition: color 0.2s;
}

.shu-search-card-title a:hover {
    color: #155fa0;
    text-decoration: underline;
}

.shu-search-card-excerpt {
    font-size: 13.5px;
    line-height: 1.7;
    color: #555;
    margin: 0;
    flex: 1;
}

.shu-search-card-link {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-family: 'Merriweather', serif;
    font-size: 13px;
    font-weight: 600;
    color: var(--primary-navy);
    text-decoration: none;
    margin-top: 4px;
    transition: gap 0.2s;
}

.shu-search-card-link:hover {
    gap: 9px;
}

/* ── Pagination ── */
.shu-search-pagination {
    margin-top: 44px;
    display: flex;
    justify-content: center;
    gap: 8px;
    flex-wrap: wrap;
}

.shu-search-pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 8px;
    font-family: 'Merriweather', serif;
    font-size: 14px;
    font-weight: 600;
    color: var(--primary-navy);
    background: var(--white);
    border: 1px solid #e5e5e5;
    text-decoration: none;
    transition: background 0.2s, color 0.2s, border-color 0.2s;
}

.shu-search-pagination .page-numbers:hover,
.shu-search-pagination .page-numbers.current {
    background: var(--primary-navy);
    color: #fff;
    border-color: var(--primary-navy);
}

/* ── No results ── */
.shu-search-empty {
    text-align: center;
    padding: 60px 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
}

.shu-search-empty h2 {
    font-family: 'Merriweather', serif;
    font-size: 22px;
    color: #2d2d2d;
    margin: 0;
}

.shu-search-empty p {
    font-size: 15px;
    color: #6b6b6b;
    margin: 0;
}

.shu-search-home-btn {
    display: inline-block;
    background: var(--primary-navy);
    color: #fff;
    padding: 12px 28px;
    border-radius: 50px;
    font-family: 'Merriweather', serif;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    margin-top: 8px;
    transition: background 0.2s;
}

.shu-search-home-btn:hover {
    background: var(--primary-blue);
    color: #fff;
}

/* ── Mobile ── */
@media (max-width: 600px) {
    .shu-search-card {
        flex-direction: column;
    }

    .shu-search-card-thumb {
        width: 100%;
        height: 180px;
    }

    .shu-search-card-body {
        padding: 16px;
    }
}

/*--------------------------------------------------------------
# Scheme profile pages — hero section
--------------------------------------------------------------*/
.shu-scheme-wrap {
    max-width: 1100px;
    margin: 0 auto;
    padding: 40px 24px 56px;
}

/* ── Header band ── */
.shu-scheme-header {
    background: linear-gradient(135deg, var(--primary-navy) 0%, #155fa0 100%);
    border-radius: 20px 20px 0 0;
    padding: 44px 44px 64px;
    position: relative;
    overflow: hidden;
}

.shu-scheme-header::before {
    content: '';
    position: absolute;
    top: -60px;
    right: -60px;
    width: 260px;
    height: 260px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.06);
    pointer-events: none;
}

.shu-scheme-header::after {
    content: '';
    position: absolute;
    bottom: -40px;
    left: 30%;
    width: 180px;
    height: 180px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.04);
    pointer-events: none;
}

.shu-scheme-eyebrow {
    font-family: 'Merriweather', serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.75);
    margin: 0 0 10px;
}

.shu-scheme-title {
    font-family: 'Merriweather', serif;
    font-size: clamp(20px, 2.4vw, 26px);
    font-weight: 700;
    color: #fff;
    margin: 0;
    line-height: 1.35;
    max-width: 660px;
}

/* ── Body grid ── */
.shu-scheme-body {
    background: rgba(54, 117, 185, 0.15) !important;
    border-radius: 0 0 20px 20px;
    border: 1px solid #e5e5e5;
    border-top: none;
    padding: 0 40px 48px;
    display: grid;
    grid-template-columns: 0.62fr 1.38fr;
    gap: 44px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.07);
}

/* ── Sidebar ── */
.shu-scheme-sidebar {
    margin-top: -52px;
}

.shu-scheme-logo-card {
    background: #f7f8f9;
    border-radius: 16px;
    padding: 28px 20px 22px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.11);
    text-align: center;
    border: 1px solid #e5e5e5;
}

.shu-scheme-logo-outer {
    width: 112px;
    height: 112px;
    margin: 0 auto 18px;
    border-radius: 50%;
    background: var(--white);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
    overflow: hidden;
}

.shu-scheme-logo-outer img {
    width: 90px;
    height: 90px;
    object-fit: contain;
    border-radius: 50%;
}

.shu-scheme-type-badge {
    display: inline-block;
    background: var(--accent-orange) !important;
    color: #fff;
    font-family: 'Merriweather', serif;
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: 0.04em;
    padding: 5px 14px;
    border-radius: 999px;
    text-transform: uppercase;
}

.shu-scheme-type-badge.is-blue {
    background: var(--primary-navy);
}

/* Facts card */
.shu-scheme-facts-card {
    margin-top: 16px;
    background: #f7f8f9;
    border: 1px solid #e5e5e5;
    border-radius: 16px;
    padding: 22px 20px;
}

.shu-scheme-facts-label {
    font-family: 'Merriweather', serif;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #6b6b6b;
    margin: 0 0 12px;
}

.shu-scheme-district-list {
    display: flex;
    flex-direction: column;
    gap: 9px;
    margin-bottom: 18px;
}

.shu-scheme-district-item {
    display: flex;
    align-items: center;
    gap: 9px;
    font-family: 'Merriweather', serif;
    font-size: 13px;
    color: #2d2d2d;
}

.shu-scheme-district-item svg {
    flex-shrink: 0;
    color: #d96b0c !important;
}

.shu-scheme-divider {
    height: 1px;
    background: #e5e5e5;
    margin-bottom: 16px;
}

.shu-scheme-legal-chip {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    background: #eaf5ea;
    border-radius: 10px;
    padding: 12px 14px;
}

.shu-scheme-legal-chip svg {
    flex-shrink: 0;
    color: #d96b0c !important;
    margin-top: 1px;
}

.shu-scheme-legal-chip p {
    font-family: 'Merriweather', serif;
    font-size: 12px;
    line-height: 1.6;
    color: #2a5e2a;
    margin: 0;
}

/* ── Right column: intro + vision + mission ── */
.shu-scheme-quotes {
    padding-top: 28px;
    display: flex;
    flex-direction: column;
    gap: 0;
}

/* Intro paragraph */
.shu-scheme-intro-block {
    margin-bottom: 32px;
    padding: 22px 24px;
    background: #f7f8f9;
    border-radius: 14px;
    border-left: none;
}

.shu-scheme-intro-text {
    font-family: 'Merriweather', serif;
    font-size: 14px;
    line-height: 1.85;
    color: #444;
    margin: 0;
}

/* Quote blocks */
.shu-scheme-quote-block {
    margin-bottom: 30px;
    padding-bottom: 30px;
    border-bottom: 1px solid #f0f0f0;
}

.shu-scheme-quote-block:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}

.shu-scheme-quote-mark {
    font-family: 'Merriweather', serif;
    font-size: 52px;
    line-height: 0.5;
    display: block;
    margin-bottom: 2px;
}

.shu-scheme-quote-mark.is-green {
    color: #d96b0c !important;
}

.shu-scheme-quote-mark.is-blue {
    color: #d96b0c !important;
}

.shu-scheme-quote-label {
    font-family: 'Merriweather', serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    margin: 8px 0 12px;
}

.shu-scheme-quote-label.is-green {
    color: var(--accent-dusty);
}

.shu-scheme-quote-label.is-blue {
    color: var(--primary-navy);
}

.shu-scheme-quote-text {
    font-family: 'Merriweather', serif;
    font-style: italic;
    font-size: 16px;
    line-height: 1.75;
    color: #2d2d2d;
    margin: 0;
    padding-left: 20px;
}

.shu-scheme-quote-text.is-green {
    border-left: none;
}

.shu-scheme-quote-text.is-blue {
    border-left: none;
}

/* ── Responsive ── */
@media (max-width: 800px) {
    .shu-scheme-body {
        grid-template-columns: 1fr;
        padding: 0 20px 32px;
        gap: 28px;
    }

    .shu-scheme-header {
        padding: 32px 24px 48px;
        border-radius: 16px 16px 0 0;
    }

    .shu-scheme-sidebar {
        margin-top: -44px;
    }

    .shu-scheme-wrap {
        padding: 28px 16px 40px;
    }
}

/*--------------------------------------------------------------
# Resource archive pages — styled header + WPDM body
--------------------------------------------------------------*/
.shu-res-wrap {
    max-width: 960px;
    margin: 0 auto;
    padding: 40px 24px 64px;
}

/* ── Header band ── */
.shu-res-header {
    display: flex;
    align-items: center;
    gap: 28px;
    border-radius: 20px;
    padding: 36px 40px;
    margin-bottom: 36px;
    position: relative;
    overflow: hidden;
}

.shu-res-header--blue {
    background: linear-gradient(135deg, var(--primary-navy) 0%, #155fa0 100%);
}

.shu-res-header--green {
    background: linear-gradient(135deg, var(--accent-green) 0%, #2e7d2e 100%);
}

/* decorative circles */
.shu-res-header::before {
    content: '';
    position: absolute;
    top: -50px;
    right: -50px;
    width: 200px;
    height: 200px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.07);
    pointer-events: none;
}

.shu-res-header::after {
    content: '';
    position: absolute;
    bottom: -30px;
    left: 40%;
    width: 140px;
    height: 140px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.05);
    pointer-events: none;
}

.shu-res-header-icon {
    flex-shrink: 0;
    width: 64px;
    height: 64px;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.15);
    display: flex;
    align-items: center;
    justify-content: center;
    backdrop-filter: blur(4px);
}

.shu-res-header-text {
    flex: 1;
    min-width: 0;
}

.shu-res-eyebrow {
    font-family: 'Merriweather', serif;
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.75);
    margin: 0 0 6px;
}

.shu-res-title {
    font-family: 'Merriweather', serif;
    font-size: clamp(20px, 2.2vw, 26px);
    font-weight: 700;
    color: #fff;
    margin: 0 0 8px;
    line-height: 1.3;
}

.shu-res-desc {
    font-family: 'Merriweather', serif;
    font-size: 13.5px;
    color: rgba(255, 255, 255, 0.82);
    margin: 0;
    line-height: 1.6;
    max-width: 580px;
}

/* ── Body — WPDM output wrapper ── */
.shu-res-body {
    background: #ffffff;
    border-radius: 16px;
    border: none;
    padding: 36px 40px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
}

.shu-news-page {
    padding-top: 0;
    padding-bottom: 0;
}

.shu-news-page .shu-news-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.shu-news-card {
    display: flex;
    min-width: 0;
    height: 100%;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .06);
    border-radius: 0;
    background: #080f25;
    box-shadow: none;
    transition: transform .25s ease, box-shadow .25s ease;
}

.shu-news-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 28px rgba(8, 15, 37, .2);
}

.shu-news-card .uagb-post__image {
    overflow: hidden;
    background: linear-gradient(135deg, #2076be 0%, #163f60 65%, #43a442 100%);
}

.shu-news-card .uagb-post__image img {
    display: block;
    width: 100%;
    height: clamp(190px, 22vw, 280px);
    object-fit: cover;
    transition: transform .35s ease;
}

.shu-news-card__placeholder {
    height: clamp(190px, 22vw, 280px);
}

.shu-news-card:hover .uagb-post__image img {
    transform: scale(1.04);
}

.shu-news-card__content {
    display: flex;
    min-height: 245px;
    flex-direction: column;
    align-items: flex-start;
    padding: 24px 24px 28px;
}

.shu-news-card .uagb-post__title,
.shu-news-card .uagb-post__title a {
    margin: 0;
    color: #ffffff;
    font-family: 'Jost', sans-serif;
    font-size: clamp(18px, 1.55vw, 24px);
    font-weight: 700;
    line-height: 1.4;
    text-decoration: none;
}

.shu-news-card .uagb-post__title a:hover,
.shu-news-card .uagb-post__title a:focus-visible {
    color: #79c878;
}

.shu-news-card .uagb-post__date {
    margin-top: 12px;
    color: #9db5ca;
    font-family: 'Jost', sans-serif;
    font-size: 14px;
}

.shu-news-card .uagb-post__excerpt {
    display: none;
}

.shu-news-card .uagb-post__cta {
    margin-top: auto;
    padding-top: 30px;
}

.shu-news-card .uagb-post__cta a {
    display: inline-flex;
    min-width: 180px;
    min-height: 56px;
    align-items: center;
    justify-content: center;
    padding: 12px 28px;
    border: 0;
    border-radius: 12px;
    background: #48a9e6;
    color: #fff;
    font-family: 'Jost', sans-serif;
    font-size: 18px;
    font-weight: 800;
    text-decoration: none;
    text-transform: uppercase;
    transition: background .2s ease, transform .2s ease;
}

.shu-news-card .uagb-post__cta a:hover,
.shu-news-card .uagb-post__cta a:focus-visible {
    background: #43a442;
    color: #fff;
    transform: translateY(-2px);
}

.shu-news-page .pager {
    margin: 24px 0 0;
    text-align: center;
}

.shu-news-page .shu-news-empty {
    color: var(--primary-navy, #163f60);
}

.shu-page-body--news .pager__items {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.shu-page-body--news .pager__item {
    margin: 0;
    padding: 0;
}

.shu-page-body--news .pager__item a {
    display: inline-flex;
    min-width: 40px;
    min-height: 40px;
    align-items: center;
    justify-content: center;
    padding: 8px 14px;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #fff;
    color: var(--primary-navy, #163f60);
    font-family: 'Merriweather', serif;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.2;
    text-decoration: none;
}

.shu-page-body--news .pager__item.is-active a {
    border-color: var(--accent-green, #43a442);
    background: var(--accent-green, #43a442);
    color: #fff;
}

.shu-page-body--news .pager__item a:hover,
.shu-page-body--news .pager__item a:focus-visible {
    border-color: #367d35;
    background: #367d35;
    color: #fff;
}

.shu-page-body--news .pager__item--last {
    display: none;
}

@media (max-width: 900px) {
    .shu-news-page .shu-news-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .shu-news-card__content {
        min-height: 225px;
        padding: 22px 20px 24px;
    }
}

@media (max-width: 600px) {
    .shu-news-page .shu-news-grid {
        display: flex;
        width: 100%;
        gap: 16px;
        overflow-x: auto;
        overscroll-behavior-inline: contain;
        padding: 0 0 18px;
        scroll-snap-type: x mandatory;
        scroll-padding-inline: 1px;
        scrollbar-color: var(--accent-green, #43a442) #e7edf2;
        scrollbar-width: thin;
        -webkit-overflow-scrolling: touch;
    }

    .shu-news-page .shu-news-grid::-webkit-scrollbar {
        height: 6px;
    }

    .shu-news-page .shu-news-grid::-webkit-scrollbar-track {
        background: #e7edf2;
        border-radius: 99px;
    }

    .shu-news-page .shu-news-grid::-webkit-scrollbar-thumb {
        background: var(--accent-green, #43a442);
        border-radius: 99px;
    }

    .shu-news-page .shu-news-card {
        flex: 0 0 min(84%, 380px);
        min-height: 0;
        scroll-snap-align: start;
    }

    .shu-news-card__content {
        min-height: 230px;
        padding: 20px 20px 24px;
    }

    .shu-news-card .uagb-post__image img,
    .shu-news-card__placeholder {
        height: 210px;
    }

    .shu-news-card .uagb-post__cta {
        padding-top: 24px;
    }

    .shu-news-card .uagb-post__cta a {
        min-width: 160px;
        min-height: 50px;
        font-size: 16px;
    }

    .shu-news-page .pager {
        margin-top: 12px;
    }
}

.shu-page-body--resource .pager {
    margin: 24px 0 0;
    text-align: center;
}

.shu-page-body--resource .pager__items {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.shu-page-body--resource .pager__item {
    margin: 0;
    padding: 0;
}

.shu-page-body--resource .pager__item--last {
    display: none;
}

.shu-page-body--resource .pager__item a {
    display: inline-flex;
    min-width: 40px;
    min-height: 40px;
    align-items: center;
    justify-content: center;
    padding: 8px 14px;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #fff;
    color: #d96b0c;
    font-family: 'Merriweather', serif;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.2;
    text-decoration: none;
}

.shu-page-body--resource .pager__item.is-active a {
    border-color: #d96b0c;
    background: #d96b0c;
    color: #fff;
}

.shu-page-body--resource .pager__item a:hover,
.shu-page-body--resource .pager__item a:focus-visible {
    background: #c05e08;
    border-color: #c05e08;
    color: #fff;
}

.shu-resource-grid {
    row-gap: 16px;
}

.shu-res-card-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: #e8f3f8;
    color: var(--bg-sky);
    font-family: 'Jost', sans-serif;
    font-size: 13px;
    font-weight: 800;
}

.shu-res-card-excerpt,
.shu-res-empty {
    margin: 0;
    color: #555;
    font-family: 'Merriweather', serif;
    font-size: 13px;
    line-height: 1.6;
}

.shu-res-profile-body {
    display: grid;
    gap: 24px;
}

.shu-res-profile-preview {
    display: block;
    width: 100%;
    height: min(72vh, 760px);
    min-height: 420px;
    border: 1px solid #dce5eb;
    border-radius: 8px;
    background: #f7f9fa;
}

.shu-res-profile-body .wpdm-download-link {
    justify-self: start;
    width: auto !important;
}

/* ================================
   RESOURCE CARDS — orange / black / sky blue only
   Top line + PDF icon = sky blue
   Text = black
   Badge + Download button = orange
   ================================ */

/* Top accent line on each card — sky blue */
.wpdm-package-card,
.shu-res-body .wpdm-page-link-template,
.shu-res-body .wpdm-pack-link,
.shu-res-body .link-template-calltoaction3 {
    border-top: 4px solid var(--bg-sky) !important;
    border-left: none !important;
    border-right: none !important;
    border-bottom: none !important;
    border-radius: 12px !important;
    padding: 24px 20px !important;
    margin-bottom: 16px !important;
    background: #ffffff !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 12px !important;
    transition: box-shadow 0.2s, transform 0.2s !important;
    text-align: center !important;
    position: relative !important;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08) !important;
}

.shu-res-body .wpdm-page-link-template:hover,
.shu-res-body .link-template-calltoaction3:hover {
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.12) !important;
    transform: translateY(-2px) !important;
}

/* "NEW" badge — orange (the one accent pop) */
.wpdm-package-card .badge-new,
.shu-res-body .badge-new,
.shu-res-body .wpdm-page-link-template::before {
    background: var(--accent-orange) !important;
    color: #ffffff !important;
    font-family: 'Jost', sans-serif !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    padding: 4px 12px !important;
    border-radius: 50px !important;
    text-transform: uppercase !important;
}

.shu-res-body .wpdm-page-link-template::before {
    content: "New";
    position: absolute;
    top: 16px;
    right: 16px;
}

/* Card title — black */
.shu-res-body .package-title,
.shu-res-body .wpdm-pack-title,
.shu-res-body .package-title a,
.wpdm-package-card .package-title a {
    color: #000000 !important;
    font-weight: 700 !important;
    font-family: 'Jost', sans-serif !important;
    font-size: 16px !important;
    flex: 1 !important;
    margin: 8px 0 !important;
}

.shu-res-body .package-title a:hover {
    color: #333333 !important;
}

/* Meta text (date · downloads) — black */
.shu-res-body .package-info,
.shu-res-body .wpdm-file-info,
.wpdm-package-card .meta {
    color: #444444 !important;
    font-family: 'Jost', sans-serif !important;
    font-size: 12px !important;
    margin-bottom: 4px !important;
}

/* PDF file icon — sky blue */
.shu-res-body .wpdm-icon,
.shu-res-body .wpdm_icon,
.wpdm-package-card .file-icon svg,
.wpdm-package-card .file-icon path,
.shu-res-body i.fa-file-pdf,
.shu-res-body svg.pdf-icon,
.shu-res-body .wpdm-page-link-template .media-icon,
.shu-res-body .wpdm-page-link-template .file-ico {
    color: var(--bg-sky) !important;
    fill: var(--bg-sky) !important;
    font-size: 48px !important;
    margin-bottom: 8px !important;
}

/* If the icon is a raster image (png/jpg) rather than font/SVG, tint it instead */
.shu-res-body .wpdm-icon img,
.wpdm-package-card .file-icon img {
    filter: brightness(0) saturate(100%) invert(78%) sepia(14%) saturate(700%) hue-rotate(160deg) brightness(95%) contrast(90%) !important;
}

/* Download button — orange */
.shu-res-body .wpdm-download-link,
.shu-res-body a.btn.btn-primary,
.shu-res-body .wpdm_icon,
.wpdm-package-card .wpdm-download-link,
a.wpdm-download-link {
    background: var(--accent-orange) !important;
    background-image: none !important;
    background-color: var(--accent-orange) !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 50px !important;
    padding: 11px 32px !important;
    font-family: 'Jost', sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    transition: all 0.2s !important;
    white-space: nowrap !important;
    box-shadow: 0 3px 12px rgba(217, 107, 12, 0.3) !important;
    width: 100% !important;
    max-width: 280px !important;
    justify-content: center !important;
}

.shu-res-body .wpdm-download-link:hover,
.shu-res-body a.btn.btn-primary:hover,
.wpdm-package-card .wpdm-download-link:hover,
a.wpdm-download-link:hover {
    background: #c05e08 !important;
    background-color: #c05e08 !important;
    color: #ffffff !important;
    box-shadow: 0 5px 18px rgba(217, 107, 12, 0.45) !important;
    transform: translateY(-1px) !important;
}

/* ── Style the WPDM file rows inside our wrapper ── */
.shu-res-body .wpdm-category,
.shu-res-body .wpdm-items {
    margin: 0;
    padding: 0;
}

/* Section heading inside WPDM */
.shu-res-body .wpdm-category-desc,
.shu-res-body .wpdm-toolbar {
    font-family: 'Jost', sans-serif !important;
    font-size: 13px !important;
    color: #6b6b6b !important;
    margin-bottom: 16px !important;
}

/* Toolbar search/filter strip */
.shu-res-body .wpdm-search-form,
.shu-res-body #wpdm-toolbar {
    background: #f7f8f9 !important;
    border: 1px solid #e5e5e5 !important;
    border-radius: 10px !important;
    padding: 10px 14px !important;
    margin-bottom: 20px !important;
}

/* ── Responsive ── */
@media (max-width: 640px) {
    .shu-res-header {
        flex-direction: column;
        align-items: flex-start;
        padding: 28px 24px;
        gap: 18px;
    }

    .shu-res-body {
        padding: 20px 18px;
    }

    .shu-res-wrap {
        padding: 24px 16px 48px;
    }

    .shu-res-profile-preview {
        height: 68vh;
        min-height: 360px;
    }

    .shu-res-profile-body .wpdm-download-link {
        width: 100% !important;
        max-width: none !important;
    }
}

/*--------------------------------------------------------------
# Global button unification — all buttons match Donate Today
--------------------------------------------------------------*/

/* Core shared style */
/*.wp-block-button__link,
.wp-element-button,
.shu-inquiry-form button[type="submit"],
.shu-search-btn,
.shu-sr-submit,
.shu-search-home-btn,
.shu-sr-card-cta,
.shu-res-body .wpdm-download-link,
.shu-res-body a.btn.btn-primary,
.shu-scheme-type-badge,
a.wpdm-download-link,
.wpdm-download-link {
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    background: linear-gradient(135deg, var(--accent-dusty) 0%, #d96b0c 100%) !important;
    color: #fff !important;
    font-family: 'Jost', sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    padding: 10px 22px !important;
    border-radius: 50px !important;
    border: none !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    letter-spacing: 0.3px !important;
    box-shadow: none !important;
    transition: all 0.25s !important;
    cursor: pointer !important;
}

.wp-block-button__link:hover,
.wp-element-button:hover,
.shu-inquiry-form button[type="submit"]:hover,
.shu-search-btn:hover,
.shu-sr-submit:hover,
.shu-search-home-btn:hover,
.shu-sr-card-cta:hover,
.shu-res-body .wpdm-download-link:hover,
.shu-res-body a.btn.btn-primary:hover,
a.wpdm-download-link:hover,
.wpdm-download-link:hover {
    background: linear-gradient(135deg, #d96b0c 0%, #c05e08 100%) !important;
    box-shadow: none !important;
    transform: translateY(-1px) !important;
    color: #fff !important;
}*/

/* Exception: scheme type badge stays its colour, not a clickable button */
.shu-scheme-type-badge,
.shu-scheme-type-badge:hover {
    background: var(--accent-dusty) !important;
    color: #fff !important;
    box-shadow: none !important;
    transform: none !important;
    cursor: default !important;
    pointer-events: none !important;
}

.shu-scheme-type-badge.is-blue,
.shu-scheme-type-badge.is-blue:hover {
    background: var(--primary-navy) !important;
}

/*--------------------------------------------------------------
# Image sharpness — prevent blurry revolution slider & all images
--------------------------------------------------------------*/

/* Revolution Slider background images */
.tp-bgimg,
.rev_slider img,
.rev_slider .defaultimg,
.rev_slider_wrapper img {
    image-rendering: -webkit-optimize-contrast !important;
    image-rendering: crisp-edges !important;
    backface-visibility: hidden !important;
    -webkit-backface-visibility: hidden !important;
    transform: translateZ(0) !important;
    -webkit-transform: translateZ(0) !important;
    filter: none !important;
    will-change: auto !important;
}

/* All site images — prevent sub-pixel blur from transforms */
img {
    image-rendering: -webkit-optimize-contrast;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
}

/* Hero page banner */
.shu-page-hero {
    image-rendering: -webkit-optimize-contrast;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    transform: translateZ(0);
}

/* Program & scheme photo cards */
.shu-program-photo-card img,
.shu-sr-card-img img,
.shu-about-photo img {
    image-rendering: -webkit-optimize-contrast;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    transform: translateZ(0);
    will-change: auto;
}

/*--------------------------------------------------------------
# Programs section — displayed before footer on all pages
--------------------------------------------------------------*/
.shu-programs-section {
    padding: 40px 0 44px;
    background: var(--white);
    /* White background */
    overflow: hidden;
}

.shu-programs-marquee-inner {
    text-align: center;
    margin-bottom: 36px;
    padding: 0 24px;
}

.shu-programs-eyebrow {
    font-family: 'Merriweather', serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--primary-navy);
    margin: 0 0 8px;
}

.shu-programs-heading {
    font-family: 'Merriweather', serif;
    font-size: clamp(20px, 2.2vw, 26px);
    font-weight: 700;
    color: #2d2d2d;
    margin: 0;
}

/* ── Programs grid (4 equal columns) ── */
.shu-programs-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 24px 8px;
    align-items: stretch;
}

@media (max-width: 900px) {
    .shu-programs-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 540px) {
    .shu-programs-grid {
        grid-template-columns: 1fr;
    }
}

/* ── Program card ── */
.shu-programs-section .shu-scheme-card {
    background: #fff !important;
    border-radius: 12px !important;
    padding: 14px 14px 16px !important;
    text-align: center !important;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.07) !important;
    border: 1px solid #eeeeee !important;
    transition: box-shadow 0.25s, transform 0.25s !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 4px !important;
    height: 100% !important;
    min-height: unset !important;
    color: #2d2d2d !important;
}

.shu-programs-section .shu-scheme-card:hover {
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.12) !important;
    transform: translateY(-3px) !important;
    background: #fff !important;
    border-color: #eeeeee !important;
    color: #2d2d2d !important;
}

/* Circle image */
.shu-programs-section .shu-scheme-card__circle {
    width: 70px !important;
    height: 70px !important;
    border-radius: 50% !important;
    border: 2px solid var(--primary-navy) !important;
    overflow: hidden !important;
    margin: 0 auto 4px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #f4f8ff !important;
    flex-shrink: 0 !important;
}

.shu-programs-section .shu-scheme-card__circle img {
    width: 56px !important;
    height: 56px !important;
    object-fit: contain !important;
    display: block !important;
}

/* Title — larger and clearer, with room for longer program names */
.shu-programs-section .shu-scheme-card__title {
    font-family: 'Merriweather', serif !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    color: var(--primary-navy) !important;
    margin: 4px 0 8px !important;
    line-height: 1.45 !important;
    min-height: 74px !important;
    width: 100% !important;
}

/* Orange accent line */
.shu-programs-section .shu-scheme-card__accent {
    width: 30px !important;
    height: 2px !important;
    background: var(--accent-dusty) !important;
    border-radius: 2px !important;
    margin: 2px auto 4px !important;
}

/* Body text — hidden */
.shu-programs-section .shu-scheme-card__text {
    display: none !important;
}

/* Read more button — pill shape, fixed identical size on every card */
.shu-programs-section .shu-scheme-card__btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 130px !important;
    height: 38px !important;
    font-family: 'Jost', sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 0.3px !important;
    color: #fff !important;
    background: linear-gradient(135deg, var(--accent-orange) 0%, #d96b0c 100%) !important;
    border: none !important;
    border-radius: 50px !important;
    padding: 0 !important;
    text-decoration: none !important;
    cursor: pointer !important;
    box-shadow: none !important;
    transition: all 0.25s !important;
    margin-top: auto !important;
    white-space: nowrap !important;
    flex-shrink: 0 !important;
}

.shu-programs-section .shu-scheme-card__btn:hover {
    background: linear-gradient(135deg, #d96b0c 0%, #c05e08 100%) !important;
    box-shadow: none !important;
    transform: translateY(-2px) !important;
    color: #fff !important;
}




/*--------------------------------------------------------------
# About SHU page — redesigned layout
--------------------------------------------------------------*/

/*--------------------------------------------------------------
# About SHU page — redesigned layout
--------------------------------------------------------------*/

/* Outer wrapper — matches site container: 1200px / 40px sides */
.shu-about-page-wrap {
    max-width: 1200px;
    margin: 0 auto;
    padding: 56px 40px 64px;
}

/* Two-column grid — image stretches to match text height */
.shu-about-page-grid {
    display: grid;
    grid-template-columns: 1.1fr 1fr;
    gap: 56px;
    align-items: stretch;
}

/* Heading — site font, original blue */
.shu-about-page-heading {
    font-size: 20px !important;
    font-weight: 700 !important;
    color: var(--primary-navy) !important;
    margin: 0 0 18px !important;
    line-height: 1.3 !important;
}

/* Body text — site default */
.shu-about-page-body {
    font-size: 15px !important;
    line-height: 1.75 !important;
    color: #444 !important;
    margin: 0 0 16px !important;
}

/* Stats row */
.shu-about-page-stats {
    display: flex;
    gap: 0;
    margin: 22px 0;
    border-top: 1px solid rgba(0, 0, 0, 0.1);
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
    padding: 18px 0;
}

.shu-about-stat {
    flex: 1;
    padding: 0 20px;
    border-left: 1px solid rgba(0, 0, 0, 0.1);
    display: flex;
    flex-direction: column;
}

.shu-about-stat:first-child {
    border-left: none;
    padding-left: 0;
}

.shu-about-stat__num {
    font-size: 28px;
    font-weight: 700;
    color: var(--primary-navy);
    line-height: 1;
    margin-bottom: 4px;
}

.shu-about-stat__label {
    font-size: 12px;
    color: #666;
}

/* Districts label */
.shu-about-districts-label {
    font-size: 13px !important;
    color: #666 !important;
    margin: 0 0 10px !important;
}

/* District chips */
.shu-about-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.shu-about-chips span {
    background: #eef5fc;
    color: var(--primary-navy);
    font-size: 13px;
    padding: 5px 13px;
    border-radius: 100px;
    border: 1px solid #c3ddf5;
}

/* Image column — stretches to full height of text */
.shu-about-page-image {
    display: flex;
    align-items: stretch;
}

/* Figure wrapper — full height, offset shadow for depth */
.shu-about-page-figure {
    position: relative;
    margin: 0;
    width: 100%;
    display: flex;
    flex-direction: column;
}

/* Green offset block behind the image */
.shu-about-page-figure::before {
    content: '';
    position: absolute;
    top: 14px;
    left: 14px;
    width: 100%;
    height: calc(100% - 34px);
    background: var(--primary-navy);
    opacity: 0.15;
    border-radius: 10px;
    z-index: 0;
}

.shu-about-page-figure img {
    position: relative;
    z-index: 1;
    width: 100%;
    height: 100%;
    min-height: 320px;
    object-fit: cover;
    border-radius: 10px;
    display: block;
    box-shadow: 0 8px 32px rgba(19, 75, 112, 0.18);
}

.shu-about-page-figure figcaption {
    position: relative;
    z-index: 1;
    margin-top: 10px;
    font-size: 12.5px;
    color: #888;
    font-style: italic;
    line-height: 1.4;
}

/* Responsive */
@media (max-width: 900px) {
    .shu-about-page-grid {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .shu-about-page-figure img {
        min-height: 260px;
        height: 260px;
    }

    .shu-about-page-figure::before {
        display: none;
    }

    .shu-about-page-stats {
        flex-wrap: wrap;
    }

    .shu-about-stat {
        flex: 1 1 33%;
        border-left: none;
        padding: 8px 0;
    }
}

@media (max-width: 600px) {
    .shu-about-page-wrap {
        padding: 36px 20px 48px;
    }

    .shu-about-stat {
        flex: 1 1 50%;
    }
}


/*==============================================================
  GLOBAL MOBILE RESPONSIVENESS FIX
  Covers all sections — stops horizontal overflow and
  collapses layouts to single column on small screens
==============================================================*/

/* ── 1. Hard stop: nothing ever overflows the viewport ── */
*,
*::before,
*::after {
    box-sizing: border-box;
}

html,
body {
    overflow-x: hidden;
    max-width: 100%;
}

img,
video,
iframe,
embed,
object {
    max-width: 100%;
    height: auto;
}

/* ── 2. Tablet (≤ 991px) ─────────────────────────────── */
@media (max-width: 991px) {

    /* Page hero */
    .shu-page-hero__inner {
        padding: 60px 24px 44px;
    }

    /* Homepage — Who We Are */
    .shu-about-intro {
        padding: 48px 24px 56px;
    }

    .shu-about-inner {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .shu-about-photo-wrap {
        max-width: 100%;
    }

    /* Homepage — voices / donate */
    .shu-voices-section {
        padding: 48px 24px !important;
    }

    .shu-voices-top {
        flex-direction: column !important;
        grid-template-columns: 1fr !important;
    }

    .shu-voices-video-col,
    .shu-donate-col {
        width: 100% !important;
    }

    /* Homepage — founders */
    .shu-founders-grid {
        grid-template-columns: repeat(2, 1fr);
        padding: 40px 24px;
    }

    /* Programs section */
    .shu-programs-section {
        padding: 40px 0 44px;
    }

    .shu-programs-grid {
        grid-template-columns: repeat(2, 1fr);
        padding: 0 20px 8px;
    }

    /* Contact page */
    .shu-contact-wrap {
        padding: 40px 0 0;
    }

    .shu-contact-grid {
        grid-template-columns: 1fr;
        padding: 0 20px 40px;
    }

    /* Program/scheme pages */
    .shu-program-section {
        grid-template-columns: 1fr;
        padding: 40px 20px;
    }

    .shu-scheme-body {
        grid-template-columns: 1fr !important;
        padding: 0 20px 32px !important;
    }

    /* About page redesign */
    .shu-about-page-wrap {
        padding: 40px 24px 48px;
    }

    .shu-about-page-grid {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .shu-about-page-figure::before {
        display: none;
    }

    .shu-about-page-figure img {
        min-height: 260px;
        height: 260px;
    }

    /* Page inner / content sections */
    .page-inner,
    .section-bg,
    .team-pg {
        padding: 48px 24px;
    }

    .prog-content,
    .about-content {
        padding: 40px 24px;
    }

    /* News grid */
    .uagb-block-home-news-grid .uagb-post-grid-columns {
        grid-template-columns: repeat(2, 1fr) !important;
    }

    .home-focus {
        padding: 48px 24px 56px;
    }

    .intro-content {
        padding: 0 24px;
    }
}

/* ── 3. Mobile (≤ 600px) ─────────────────────────────── */
@media (max-width: 600px) {

    /* Page hero */
    .shu-page-hero__inner {
        padding: 44px 18px 32px;
    }

    .shu-page-hero__title {
        font-size: 26px !important;
    }

    .shu-scheme-body {
        padding: 0 18px 28px !important;
    }

    .shu-scheme-wrap {
        padding: 28px 18px 40px;
    }

    /* News grid → 1 col */
    .uagb-block-home-news-grid .uagb-post-grid-columns {
        grid-template-columns: 1fr !important;
    }

    /* Page inner */
    .page-inner,
    .section-bg,
    .team-pg {
        padding: 36px 18px;
    }

    .prog-content,
    .about-content {
        padding: 32px 18px;
    }

    /* Stats / VMM boxes */
    .shu-vmm-columns {
        flex-direction: column !important;
    }

    .shu-vmm-columns .wp-block-column {
        width: 100% !important;
        flex-basis: 100% !important;
    }

    .vmm-box {
        padding: 32px 20px 32px !important;
        border-right: none !important;
    }

    /* Footer */
    #footer .footer-top {
        padding: 40px 18px 28px;
    }

    .footer-links {
        padding: 0 0 20px !important;
    }

    /* Header topbar — hide address on very small screens */
    .topbar-left {
        display: none;
    }

    /* Wp block columns — stack on mobile */
    .wp-block-columns {
        flex-direction: column !important;
    }

    .wp-block-column {
        flex-basis: 100% !important;
        min-width: 100% !important;
    }

    /* Scheme/program hero image */
    .shu-program-img img,
    .shu-chf-img img {
        height: 220px;
    }

    /* Search section */
    .shu-search-section {
        padding: 36px 18px 56px;
    }
}

/* ── 4. Extra small (≤ 400px) ────────────────────────── */
@media (max-width: 400px) {
    .shu-page-hero__title {
        font-size: 22px !important;
    }

    .shu-about-stat {
        flex: 1 1 100%;
    }

    .shu-about-page-heading {
        font-size: 19px !important;
    }

    .navbar-inner {
        padding: 0 12px;
    }
}


/*==============================================================
  FORCE OVERRIDES - HIGHEST PRIORITY
==============================================================*/

/* ── White backgrounds everywhere except navbar ── */
body,
.shu-voices-section,
.home-focus,
.shu-programs-section,
.shu-search-section,
.shu-contact-wrap,
.page-inner,
.section-bg,
.team-pg {
    background: #ffffff !important;
    background-color: #ffffff !important;
}

/* ── Navbar sky blue ── */
.navbar-inner {
    background: #B4D6E3 !important;
    background-color: #B4D6E3 !important;
    border-radius: 50px !important;
    border: none !important;
    box-shadow: none !important;
    overflow: visible !important;
}

/* ── ALL buttons — pure orange gradient, no blue ── */
/*.wp-block-button__link,
.wp-element-button,
.btn-donate,
.btn-donate-mobile,
.shu-inquiry-form button[type="submit"],
.shu-search-btn,
.shu-search-home-btn,
.shu-res-body .wpdm-download-link,
.shu-res-body a.btn.btn-primary,
a.wpdm-download-link,
.wpdm-download-link,
.shu-programs-section .shu-scheme-card__btn,
.rev-btn,
a.rev-btn,
.tp-caption.rev-btn,
.tp-button.rev-btn,
rs-layer.rev-btn,
.rev-btn.rev-uppercase,
a.rev-btn.rev-uppercase,
.uagb-button__link,
.uagb-buttons-repeater .uagb-button__link,
.wp-block-uagb-buttons .uagb-button__link,
a.uagb-button__link {
    background: linear-gradient(135deg, var(--accent-orange) 0%, #d96b0c 100%) !important;
    background-color: var(--accent-orange) !important;
    color: #ffffff !important;
    font-family: 'Jost', sans-serif !important;
    font-weight: 700 !important;
    border-radius: 50px !important;
    border: none !important;
    box-shadow: none !important;
    transition: all 0.25s !important;
    text-decoration: none !important;
    cursor: pointer !important;
}

.wp-block-button__link:hover,
.wp-element-button:hover,
.btn-donate:hover,
.btn-donate-mobile:hover,
.shu-inquiry-form button[type="submit"]:hover,
.shu-search-btn:hover,
.shu-search-home-btn:hover,
.shu-res-body .wpdm-download-link:hover,
.shu-res-body a.btn.btn-primary:hover,
a.wpdm-download-link:hover,
.wpdm-download-link:hover,
.shu-programs-section .shu-scheme-card__btn:hover,
.rev-btn:hover,
a.rev-btn:hover,
.tp-caption.rev-btn:hover,
.tp-button.rev-btn:hover,
rs-layer.rev-btn:hover,
.rev-btn.rev-uppercase:hover,
a.rev-btn.rev-uppercase:hover,
.uagb-button__link:hover,
.uagb-buttons-repeater .uagb-button__link:hover,
.wp-block-uagb-buttons .uagb-button__link:hover,
a.uagb-button__link:hover {
    background: linear-gradient(135deg, #d96b0c 0%, #c05e08 100%) !important;
    background-color: var(--accent-orange) !important;
    box-shadow: none !important;
    color: #ffffff !important;
    transform: translateY(-1px) !important;
}*/

/* ── Remove header lines ── */
.header,
.header-navbar {
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
}

.header::before,
.header::after,
.header-navbar::before,
.header-navbar::after,
.navbar-inner::before,
.navbar-inner::after {
    display: none !important;
    content: none !important;
}

/* ── Logo ── */
.header-logo {
    background: #ffffff !important;
    border-radius: 50% !important;
    width: 90px !important;
    height: 90px !important;
    margin-top: -20px !important;
    margin-bottom: -20px !important;
    z-index: 1001 !important;
    box-shadow: none !important;
    position: relative !important;
    overflow: visible !important;
    flex-shrink: 0 !important;
}

.header-logo .logo-img {
    height: 55px !important;
    width: auto !important;
    display: block !important;
    object-fit: contain !important;
}

/* ── Footer dark background ── */
#footer,
#footer .footer-top,
#footer .footer-first {
    background: #1a1f2e !important;
    background-color: #1a1f2e !important;
}

/* ── Slider — remove all backgrounds from text layers ── */
rs-module rs-layer,
rs-module .rs-layer,
.rs-layer {
    background: none !important;
    background-color: transparent !important;
    box-shadow: none !important;
}

/* ── SUPER AGGRESSIVE: Force ALL Revolution Slider buttons to orange ── */
rs-module .rev-btn,
rs-module a.rev-btn,
.rs-layer .rev-btn,
.rs-layer a.rev-btn,
.tp-caption.rev-btn,
a.tp-caption.rev-btn,
[class*="rev-btn"],
[class*="tp-button"] {
    background: linear-gradient(135deg, var(--accent-orange) 0%, #d96b0c 100%) !important;
    background-color: var(--accent-orange) !important;
    background-image: linear-gradient(135deg, #F77737 0%, #d96b0c 100%) !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 50px !important;
    font-family: 'Jost', sans-serif !important;
    font-weight: 700 !important;
}

rs-module .rev-btn:hover,
rs-module a.rev-btn:hover,
.rs-layer .rev-btn:hover,
.rs-layer a.rev-btn:hover,
.tp-caption.rev-btn:hover,
a.tp-caption.rev-btn:hover,
[class*="rev-btn"]:hover,
[class*="tp-button"]:hover {
    background: linear-gradient(135deg, #d96b0c 0%, #c05e08 100%) !important;
    background-color: var(--accent-orange) !important;
    background-image: linear-gradient(135deg, #d96b0c 0%, #c05e08 100%) !important;
    color: #ffffff !important;
}

/* ── NUCLEAR OPTION: Force ALL button-like elements to orange ── */
a[class*="button"],
a[class*="btn"],
button,
input[type="submit"],
input[type="button"],
.button,
[class*="button__link"],
[class*="-button"],
[class*="btn-"],
[class*="-btn"] {
    /*background: linear-gradient(135deg, #F77737 0%, #d96b0c 100%) !important;*/
    /*background-color: #F77737 !important;*/
    /*background-image: linear-gradient(135deg, #F77737 0%, #d96b0c 100%) !important;*/
    color: #ffffff !important;
    border: none !important;
    border-radius: 50px !important;
    font-weight: 700 !important;
}

a[class*="button"]:hover,
a[class*="btn"]:hover,
button:hover,
input[type="submit"]:hover,
input[type="button"]:hover,
.button:hover,
[class*="button__link"]:hover,
[class*="-button"]:hover,
[class*="btn-"]:hover,
[class*="-btn"]:hover {
    background: linear-gradient(135deg, #d96b0c 0%, #c05e08 100%) !important;
    background-color: var(--accent-orange) !important;
    background-image: linear-gradient(135deg, #d96b0c 0%, #c05e08 100%) !important;
    color: #ffffff !important;
}



/* Cache buster: 1747893888 */

/* SUPER AGGRESSIVE RESOURCE CARD OVERRIDES - MUST APPLY */
.shu-res-body .wpdm-page-link-template,
.shu-res-body .link-template-calltoaction3,
.shu-res-body .wpdm-pack-link {
    background: #ffffff !important;
    background-color: #ffffff !important;
    border-top: 4px solid #B4D6E3 !important;
    border-left: none !important;
    border-right: none !important;
    border-bottom: none !important;
}

.shu-res-body .wpdm-pack-title,
.shu-res-body .package-title,
.shu-res-body .package-title a {
    color: #000000 !important;
}

.shu-res-body .wpdm-download-link,
.shu-res-body a.btn.btn-primary {
    background: var(--accent-orange) !important;
    background-color: var(--accent-orange) !important;
    background-image: none !important;
    color: #ffffff !important;
}

/* Even more specific overrides for stubborn inline styles */
body .shu-res-body .wpdm-page-link-template,
body .shu-res-body .link-template-calltoaction3 {
    border-top-color: #B4D6E3 !important;
    border-top-width: 4px !important;
    border-top-style: solid !important;
    background: white !important;
}

body .shu-res-body .wpdm-pack-title,
body .shu-res-body .package-title {
    color: black !important;
}

body .shu-res-body .wpdm-icon,
body .shu-res-body .wpdm_icon,
body .shu-res-body i.fa-file-pdf {
    color: #B4D6E3 !important;
}



/* ===== ABSOLUTE FINAL OVERRIDE FOR PDF DOWNLOADS ===== */
html body .shu-res-body .wpdm-page-link-template,
html body .shu-res-body .link-template-calltoaction3,
html body .shu-res-body [class*="wpdm"][class*="template"] {
    border-top: 4px solid #B4D6E3 !important;
    border-left: 0 !important;
    border-right: 0 !important;
    border-bottom: 0 !important;
    background: white !important;
    background-color: white !important;
}

html body .shu-res-body .wpdm-pack-title,
html body .shu-res-body .package-title,
html body .shu-res-body .package-title a,
html body .shu-res-body h3,
html body .shu-res-body h4 {
    color: #000000 !important;
}

html body .shu-res-body .package-info,
html body .shu-res-body .wpdm-file-info,
html body .shu-res-body .meta {
    color: #444444 !important;
}

html body .shu-res-body .wpdm-icon,
html body .shu-res-body .wpdm_icon,
html body .shu-res-body i[class*="file"],
html body .shu-res-body .file-icon {
    color: #B4D6E3 !important;
    fill: #B4D6E3 !important;
}

html body .shu-res-body .wpdm-download-link,
html body .shu-res-body a.btn.btn-primary,
html body .shu-res-body button[class*="download"] {
    background: var(--accent-orange) !important;
    background-color: var(--accent-orange) !important;
    background-image: none !important;
    color: white !important;
}


/* =====================================================
   ABOUT PAGE (page-id-226) - Sky Blue Theme
   ===================================================== */

/* Reset WordPress default styling on About page */
.body.page-id-226 .entry-content {
    max-width: 100% !important;
}

/* Goal heading - Sky Blue */
.body.page-id-226 h2 {
    font-family: 'Merriweather', serif !important;
    font-size: 26px !important;
    font-weight: 700 !important;
    color: var(--bg-sky) !important;
    margin: 36px 0 12px !important;
    padding: 0 !important;
    border: none !important;
}

/* Program Principles heading - Sky Blue */
body.page-id-226 h3,
body.page-id-226 h4 {
    font-family: 'Merriweather', serif !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    color: var(--bg-sky) !important;
    margin: 28px 0 10px !important;
}

/* Paragraph text - keep original font */
body.page-id-226 p {
    font-family: 'Merriweather', serif !important;
    font-size: 15px !important;
    line-height: 1.8 !important;
    color: var(--text-dark) !important;
    margin-bottom: 16px !important;
}

/* List items */
body.page-id-226 ul,
body.page-id-226 ol {
    font-family: 'Merriweather', serif !important;
    font-size: 15px !important;
    line-height: 1.8 !important;
    color: var(--text-dark) !important;
}

/* Fix links - navy, no strikethrough appearance */
.page-id-226 .entry-content a,
.page-id-226 .site-content a,
body.page-id-226 a:not(.shu-about-page-wrap a) {
    color: var(--primary-navy) !important;
    text-decoration: none !important;
    border-bottom: 1px solid rgba(19, 75, 112, 0.25) !important;
    transition: color 0.2s, border-color 0.2s !important;
}

.page-id-226 .entry-content a:hover,
body.page-id-226 a:not(.shu-about-page-wrap a):hover {
    color: var(--accent-green) !important;
    border-bottom-color: var(--accent-green) !important;
}

/* =====================================================
   Animation classes - About page scroll animations
   ===================================================== */
body.page-id-226 .shu-anim-ready {
    opacity: 0;
    transition: opacity 0.6s cubic-bezier(0.22, 1, 0.36, 1),
        transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}

body.page-id-226 .shu-slide-up {
    transform: translateY(30px);
}

body.page-id-226 .shu-slide-right {
    transform: translateX(-30px);
}

body.page-id-226 .shu-slide-left {
    transform: translateX(30px);
}

body.page-id-226 .shu-zoom-in {
    transform: scale(0.92);
}

/* When visible */
body.page-id-226 .shu-anim-visible {
    opacity: 1 !important;
    transform: translate(0, 0) scale(1) !important;
}

/* =====================================================
/* =====================================================
  /* =====================================================
   About page - Vision/Mission/Motto section
   Sky-blue circles, black text, orange icons
   ===================================================== */

/* Kill any white background forcing itself onto this section/cover */
body.page-id-226 section.wp-block-cover,
body.page-id-226 div.wp-block-cover,
body.page-id-226 .wp-block-cover,
body.page-id-226 .wp-block-cover section,
body.page-id-226 .wp-block-cover .wp-block-group,
body.page-id-226 .wp-block-cover .content-area,
body.page-id-226 .wp-block-cover .about-content,
body.page-id-226 .wp-block-cover .wp-block-cover__inner-container,
body.page-id-226 .wp-block-cover .entry-content,
body.page-id-226 .wp-block-cover .page-inner,
body.page-id-226 .wp-block-cover .section-bg,
body.page-id-226 .shu-vmm-columns {
    background: transparent !important;
    background-color: transparent !important;
}

/* Make sure the actual photo is visible behind everything */
body.page-id-226 .wp-block-cover img.wp-block-cover__image-background,
body.page-id-226 .wp-block-cover .wp-block-cover__image-background {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    z-index: 0 !important;
}

body.page-id-226 .wp-block-cover .wp-block-cover__background,
body.page-id-226 .wp-block-cover__background {
    background: rgba(10, 20, 35, 0.25) !important;
    opacity: 1 !important;
}

body.page-id-226 .wp-block-cover {
    position: relative !important;
    overflow: hidden !important;
    min-height: 380px !important;
    padding: 60px 40px !important;
    background-attachment: fixed !important;
}

body.page-id-226 .wp-block-cover .wp-block-cover__inner-container {
    position: relative !important;
    z-index: 2 !important;
    width: 100% !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
}

/* Row of circles instead of 3 boxed columns */
.page-id-226 .shu-vmm-columns {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 60px !important;
    flex-wrap: wrap !important;
    position: relative !important;
    z-index: 2 !important;
}

.page-id-226 .shu-vmm-columns .wp-block-column {
    flex: 0 0 auto !important;
    width: auto !important;
}

/* -- The circle itself - sky blue, dashed orange border --
   High-specificity selector so this beats the transparent 
   rules above and wins the background fight */
body.page-id-226 .shu-vmm-columns .wp-block-column .vmm-box {
    border-radius: 50% !important;
    border: 2px dashed #d96b0c !important;
    background: rgba(180, 214, 227, 0.95) !important;
    background-color: rgba(180, 214, 227, 0.95) !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    flex-shrink: 0 !important;
    transition: background 0.2s !important;
    position: relative !important;
    z-index: 100 !important;
}

body.page-id-226 .shu-vmm-columns .wp-block-column .vmm-box:hover {
    background: rgba(180, 214, 227, 1) !important;
    background-color: rgba(180, 214, 227, 1) !important;
}

/* Vision & Motto - smaller circle */
body.page-id-226 .vision-box,
body.page-id-226 .motto-box {
    width: 260px !important;
    height: 260px !important;
    padding: 24px !important;
}

/* Mission - bigger circle */
body.page-id-226 .mission-box {
    width: 320px !important;
    height: 320px !important;
    padding: 30px !important;
}

/* No leftover side-border dividers from the old boxed layout */
body.page-id-226 .shu-vmm-columns .wp-block-column .vmm-box {
    border-right: none !important;
}

/* -- Headings inside the circle - black -- */
body.page-id-226 .vmm-box h4,
body.page-id-226 .vmm-box h4 strong {
    color: #000000 !important;
    font-family: 'Merriweather', serif !important;
    font-weight: 700 !important;
    text-shadow: none !important;
    border-bottom: none !important;
    margin: 0 0 10px !important;
    width: auto !important;
    letter-spacing: 0.3px !important;
}

body.page-id-226 .vision-box h4,
body.page-id-226 .motto-box h4 {
    font-size: 17px !important;
}

body.page-id-226 .mission-box h4 {
    font-size: 19px !important;
}

/* -- Body text inside the circle - black -- */
body.page-id-226 .vmm-box p {
    font-family: 'Merriweather', serif !important;
    font-size: 15px !important;
    line-height: 1.8 !important;
    color: #000000 !important;
    text-shadow: none !important;
    margin: 0 !important;
    width: auto !important;
}

/* -- Icons - orange, above the heading -- */
body.page-id-226 .vmm-box::before {
    content: '' !important;
    display: block !important;
    background-color: var(--accent-orange) !important;
    margin-bottom: 10px !important;
}

body.page-id-226 .vision-box::before,
body.page-id-226 .motto-box::before {
    width: 30px !important;
    height: 30px !important;
}

body.page-id-226 .mission-box::before {
    width: 36px !important;
    height: 36px !important;
    margin-bottom: 12px !important;
}

body.page-id-226 .vision-box::before {
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2'%3E%3Cpath d='M1 12s4-7 11-7 11 7 11 7-4 7-11 7-11-7-11-7z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") center/contain no-repeat !important;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2'%3E%3Cpath d='M1 12s4-7 11-7 11 7 11 7-4 7-11 7-11-7-11-7z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") center/contain no-repeat !important;
}

body.page-id-226 .mission-box::before {
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Ccircle cx='12' cy='12' r='6'/%3E%3Ccircle cx='12' cy='12' r='2'/%3E%3C/svg%3E") center/contain no-repeat !important;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Ccircle cx='12' cy='12' r='6'/%3E%3Ccircle cx='12' cy='12' r='2'/%3E%3C/svg%3E") center/contain no-repeat !important;
}

body.page-id-226 .motto-box::before {
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2'%3E%3Cpath d='M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M23 21v-2a4 4 0 0 0-3-3.87'/%3E%3Cpath d='M16 3.13a4 4 0 0 1 0 7.75'/%3E%3C/svg%3E") center/contain no-repeat !important;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2'%3E%3Cpath d='M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M23 21v-2a4 4 0 0 0-3-3.87'/%3E%3Cpath d='M16 3.13a4 4 0 0 1 0 7.75'/%3E%3C/svg%3E") center/contain no-repeat !important;
}

/* -- Responsive -- */
@media (max-width: 900px) {
    .page-id-226 .shu-vmm-columns {
        flex-direction: column !important;
        gap: 32px !important;
    }

    body.page-id-226 .vision-box,
    body.page-id-226 .motto-box {
        width: 230px !important;
        height: 230px !important;
    }

    body.page-id-226 .mission-box {
        width: 270px !important;
        height: 270px !important;
    }
}

@media (max-width: 768px) {
    body.page-id-226 .wp-block-cover {
        min-height: auto !important;
        padding: 40px 20px !important;
    }
}


/* =====================================================
   GLOBAL SECTION PADDING - all sections equal
   Desktop:  80px top / 80px bottom
   Tablet:   56px top / 56px bottom
   Mobile:   40px top / 40px bottom
   Side padding always 40px desktop, 24px mobile
   ===================================================== */

/* Every major section */
.shu-about-intro,
.shu-programs-section,
.home-focus,
.home-updates-main,
.home-social,
.shu-voices-section,
.shu-upcoming-events,
.conf-body,
.shu-contact-wrap,
.shu-search-section,
.shu-res-wrap,
.shu-about-page-wrap,
.page-inner,
.prog-content,
.about-content,
.section-bg {
    padding-top: 80px !important;
    padding-bottom: 80px !important;
    padding-left: 40px !important;
    padding-right: 40px !important;
}

/* Sections that use inner containers - zero out wrapper, pad the inner */
.shu-contact-wrap,
.shu-search-section {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.shu-contact-inner,
.shu-search-inner {
    padding-left: 40px !important;
    padding-right: 40px !important;
}

/* Tablet */
@media (max-width: 1024px) {

    .shu-about-intro,
    .shu-programs-section,
    .home-focus,
    .home-updates-main,
    .home-social,
    .shu-voices-section,
    .shu-upcoming-events,
    .conf-body,
    .shu-contact-wrap,
    .shu-search-section,
    .shu-res-wrap,
    .shu-about-page-wrap,
    .page-inner,
    .prog-content,
    .about-content,
    .section-bg {
        padding-top: 56px !important;
        padding-bottom: 56px !important;
        padding-left: 24px !important;
        padding-right: 24px !important;
    }
}

/* Mobile */
@media (max-width: 600px) {

    .shu-about-intro,
    .shu-programs-section,
    .home-focus,
    .home-updates-main,
    .home-social,
    .shu-voices-section,
    .shu-upcoming-events,
    .conf-body,
    .shu-contact-wrap,
    .shu-search-section,
    .shu-res-wrap,
    .shu-about-page-wrap,
    .page-inner,
    .prog-content,
    .about-content,
    .section-bg {
        padding-top: 40px !important;
        padding-bottom: 40px !important;
        padding-left: 20px !important;
        padding-right: 20px !important;
    }
}

/* =====================================================
   About page - Goal & Program Principles section
   Two-column: image left, overlapping card right
   ===================================================== */

/* Outer columns row - acts as the why-choose-wrap */
body.page-id-226 .entry-content>.wp-block-columns:last-of-type {
    display: flex !important;
    align-items: stretch !important;
    position: relative !important;
    gap: 0 !important;
    margin: 0 !important;
    padding: 60px 40px !important;
    overflow: visible !important;
}

/* Left column - image */
body.page-id-226 .entry-content>.wp-block-columns:last-of-type>.wp-block-column:first-child {
    position: relative !important;
    z-index: 1 !important;
    flex: 0 0 30% !important;
    max-width: 30% !important;
}

body.page-id-226 .entry-content>.wp-block-columns:last-of-type>.wp-block-column:first-child img {
    width: 100% !important;
    height: 100% !important;
    min-height: 420px !important;
    object-fit: cover !important;
    border-radius: 16px !important;
    display: block !important;
    box-shadow: 0 8px 32px rgba(19, 75, 112, 0.18) !important;
}

/* Right column - overlapping white card */
body.page-id-226 .entry-content>.wp-block-columns:last-of-type>.wp-block-column:last-child {
    position: relative !important;
    z-index: 2 !important;
    flex: 0 0 76% !important;
    max-width: 76% !important;
    margin-left: -60px !important;
    background: #ffffff !important;
    border-radius: 20px !important;
    box-shadow: 0 10px 36px rgba(0, 0, 0, 0.12) !important;
    padding: 44px 48px !important;
    align-self: center !important;
}

/* Headings inside the card */
body.page-id-226 .entry-content>.wp-block-columns:last-of-type>.wp-block-column:last-child h3 {
    font-family: 'Merriweather', serif !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    color: var(--primary-navy) !important;
    margin: 0 0 10px !important;
}

body.page-id-226 .entry-content>.wp-block-columns:last-of-type>.wp-block-column:last-child h3:not(:first-child) {
    margin-top: 28px !important;
}

/* First paragraph (Goal text) */
body.page-id-226 .entry-content>.wp-block-columns:last-of-type>.wp-block-column:last-child p.animated.fadeIn {
    font-family: 'Merriweather', serif !important;
    font-size: 15px !important;
    color: var(--text-dark) !important;
    margin-bottom: 20px !important;
    line-height: 1.8 !important;
}

/* Principle paragraphs - orange sparkle bullets */
body.page-id-226 .entry-content>.wp-block-columns:last-of-type>.wp-block-column:last-child p.animated.fadeInUp {
    position: relative !important;
    padding: 14px 0 14px 32px !important;
    border-bottom: 1px dotted rgba(0, 0, 0, 0.15) !important;
    font-family: 'Merriweather', serif !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;
    color: var(--text-dark) !important;
    margin: 0 !important;
}

body.page-id-226 .entry-content>.wp-block-columns:last-of-type>.wp-block-column:last-child p.animated.fadeInUp:last-child {
    border-bottom: none !important;
    padding-bottom: 0 !important;
}

body.page-id-226 .entry-content>.wp-block-columns:last-of-type>.wp-block-column:last-child p.animated.fadeInUp::before {
    content: "?" !important;
    position: absolute !important;
    left: 0 !important;
    top: 16px !important;
    color: #d96b0c !important;
    font-size: 15px !important;
    line-height: 1 !important;
}

/* Responsive - stack on tablet/mobile */
@media (max-width: 900px) {
    body.page-id-226 .entry-content>.wp-block-columns:last-of-type {
        flex-direction: column !important;
        padding: 40px 24px !important;
    }

    body.page-id-226 .entry-content>.wp-block-columns:last-of-type>.wp-block-column:first-child,
    body.page-id-226 .entry-content>.wp-block-columns:last-of-type>.wp-block-column:last-child {
        flex: 1 1 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
    }

    body.page-id-226 .entry-content>.wp-block-columns:last-of-type>.wp-block-column:last-child {
        margin-top: -30px !important;
        padding: 32px 24px !important;
    }

    body.page-id-226 .entry-content>.wp-block-columns:last-of-type>.wp-block-column:first-child img {
        min-height: 260px !important;
    }
}

@media (max-width: 600px) {
    body.page-id-226 .entry-content>.wp-block-columns:last-of-type {
        padding: 32px 18px !important;
    }

    body.page-id-226 .entry-content>.wp-block-columns:last-of-type>.wp-block-column:last-child {
        padding: 24px 18px !important;
    }
}

/* =====================================================
   About page - VMM circles responsive
   ===================================================== */

/* =====================================================
   About page - Goals & Program Principles cover block
   (.wp-block-cover.is-light) - image left, white card right
   Reference: dark bg wrap, white overlapping card
   ===================================================== */

/* Outer cover - no background, image fills naturally */
body.page-id-226 .wp-block-cover.is-light {
    background: transparent !important;
    background-color: transparent !important;
    background-attachment: scroll !important;
    min-height: unset !important;
    padding: 60px 40px !important;
    overflow: visible !important;
}

/* Image column - narrow (left side) */
body.page-id-226 .wp-block-cover.is-light .wp-block-columns {
    display: flex !important;
    align-items: center !important;
    gap: 0 !important;
    overflow: visible !important;
    position: relative !important;
}

body.page-id-226 .wp-block-cover.is-light .wp-block-columns>.wp-block-column:first-child {
    flex: 0 0 35% !important;
    max-width: 35% !important;
    position: relative !important;
    z-index: 1 !important;
}

body.page-id-226 .wp-block-cover.is-light .wp-block-columns>.wp-block-column:first-child img,
body.page-id-226 .wp-block-cover.is-light .wp-block-cover__image-background {
    width: 100% !important;
    height: 480px !important;
    object-fit: cover !important;
    border-radius: 16px !important;
    display: block !important;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2) !important;
    position: relative !important;
    inset: unset !important;
}

/* White card column - sits ON TOP of image (higher z-index, negative margin) */
body.page-id-226 .wp-block-cover.is-light .wp-block-columns>.wp-block-column:last-child {
    flex: 0 0 80% !important;
    max-width: 80% !important;
    position: relative !important;
    z-index: 3 !important;
    margin-left: -120px !important;
    background: #ffffff !important;
    background-color: #ffffff !important;
    border-radius: 20px !important;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15) !important;
    padding: 44px 48px !important;
    align-self: center !important;
}

/* Headings inside card */
body.page-id-226 .wp-block-cover.is-light .about-goals h3 {
    font-family: 'Merriweather', serif !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    color: var(--primary-navy) !important;
    margin: 0 0 10px !important;
}

body.page-id-226 .wp-block-cover.is-light .about-goals h3:not(:first-child) {
    margin-top: 28px !important;
}

/* Body text inside card */
body.page-id-226 .wp-block-cover.is-light .about-goals p {
    font-family: 'Merriweather', serif !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;
    color: #333333 !important;
    position: relative !important;
    padding: 10px 0 10px 28px !important;
    border-bottom: 1px dotted rgba(0, 0, 0, 0.12) !important;
    margin: 0 !important;
}

body.page-id-226 .wp-block-cover.is-light .about-goals p:last-child {
    border-bottom: none !important;
    padding-bottom: 0 !important;
}

body.page-id-226 .wp-block-cover.is-light .about-goals p::before {
    content: "?" !important;
    position: absolute !important;
    left: 0 !important;
    top: 12px !important;
    color: #d96b0c !important;
    font-size: 13px !important;
    line-height: 1 !important;
}

/* First paragraph (Goal text - no bullet) */
body.page-id-226 .wp-block-cover.is-light .about-goals p.animated.fadeIn {
    padding-left: 0 !important;
    border-bottom: none !important;
    margin-bottom: 8px !important;
}

body.page-id-226 .wp-block-cover.is-light .about-goals p.animated.fadeIn::before {
    display: none !important;
}

/* Card background override - beat the transparent rule */
body.page-id-226 .wp-block-cover.is-light .about-goals,
body.page-id-226 .wp-block-cover.is-light .wp-block-group.about-goals {
    background: #ffffff !important;
    background-color: #ffffff !important;
}

/* Responsive */
@media (max-width: 900px) {
    body.page-id-226 .wp-block-cover.is-light {
        padding: 40px 24px !important;
    }

    body.page-id-226 .wp-block-cover.is-light .wp-block-columns {
        flex-direction: column !important;
    }

    body.page-id-226 .wp-block-cover.is-light .wp-block-columns>.wp-block-column:first-child,
    body.page-id-226 .wp-block-cover.is-light .wp-block-columns>.wp-block-column:last-child {
        flex: 1 1 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
    }

    body.page-id-226 .wp-block-cover.is-light .wp-block-columns>.wp-block-column:last-child {
        margin-top: -30px !important;
        padding: 32px 24px !important;
    }
}

/* =====================================================
   About page - Goal & Program Principles
   why-choose-wrap pattern: card sits ON the image
   ===================================================== */
.why-choose-wrap {
    display: flex;
    align-items: stretch;
    position: relative;
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 56px 40px 64px !important;
}

.why-choose-img {
    position: relative;
    z-index: 1;
    flex-shrink: 0;
    width: 20%;
    padding-left: 0;
}

.why-choose-img img {
    width: 100%;
    height: 100%;
    min-height: 420px;
    object-fit: cover;
    border-radius: 16px;
    display: block;
    box-shadow: 0 8px 32px rgba(19, 75, 112, 0.18);
    margin-top: -30px;
    margin-bottom: -30px;
}

.why-choose-card {
    position: relative;
    z-index: 2;
    margin-left: -60px;
    background: #ffffff;
    border-radius: 20px;
    box-shadow: 0 10px 36px rgba(0, 0, 0, 0.12);
    padding: 44px 48px;
    align-self: center;
    flex: 0 0 auto;
    width: calc(80% - 40px);
}

/* Headings */
.why-choose-title {
    font-family: 'Merriweather', serif !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    color: var(--primary-navy) !important;
    margin: 0 0 10px !important;
}

.why-choose-title+p {
    margin-bottom: 20px !important;
}

.why-choose-title:not(:first-child) {
    margin-top: 28px !important;
}

/* Goal subtext */
.why-choose-sub {
    font-family: 'Merriweather', serif !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    color: #444444 !important;
    line-height: 1.75 !important;
    margin: 0 0 20px !important;
}

.shu-about-goals .why-choose-sub {
    font-size: 15px !important;
    line-height: 1.8 !important;
}

/* Orange sparkle bullets */
.why-choose-card ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.why-choose-card ul li {
    position: relative;
    padding: 12px 0 12px 30px;
    border-bottom: 1px dotted rgba(0, 0, 0, 0.15);
    font-family: 'Merriweather', serif;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.7;
    color: #333333;
}

.why-choose-card ul li:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.why-choose-card ul li::before {
    content: "?";
    position: absolute;
    left: 0;
    top: 14px;
    color: var(--accent-orange);
    font-size: 13px;
    line-height: 1;
}

.shu-about-goals .why-choose-card ul li::before {
    background: var(--accent-green);
    border-radius: 50%;
    content: '';
    height: 8px;
    top: 20px;
    width: 8px;
}

.why-choose-card ul li strong {
    color: #111111;
    font-weight: 700;
}

/* Responsive */
@media (max-width: 900px) {
    .why-choose-wrap {
        flex-direction: column;
        padding: 40px 24px !important;
    }

    .why-choose-img {
        width: 100%;
    }

    .why-choose-img img {
        min-height: 260px;
        height: 280px;
    }

    .why-choose-card {
        margin-left: 0;
        margin-top: -30px;
        padding: 32px 24px;
    }
}

@media (max-width: 600px) {
    .why-choose-wrap {
        padding: 32px 18px !important;
    }

    .why-choose-card {
        padding: 28px 18px;
    }
}

/* -- Page hero slides under navbar on all screen sizes -- */
@media (max-width: 991.98px) {
    .shu-page-hero {
        margin-top: -70px !important;
        padding-top: 70px !important;
    }
}

/* =====================================================
   Achievements page - 3-column accordion
   ===================================================== */
.shu-achieve-accordion-wrap {
    padding: 60px 40px;
    background: #ffffff;
}

.shu-achieve-accordion {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    max-width: 1200px;
    margin: 0 auto;
}

/* Each column */
.shu-acc-col {
    display: flex;
    flex-direction: column;
    background-color: #B4D6E3 !important;
    border-radius: 0 !important;
}

/* Trigger button */
.shu-acc-trigger {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
    width: 100%;
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    border-radius: 0 !important;
    border: none !important;
    padding: 20px 20px;
    cursor: pointer;
    text-align: left;
    outline: none !important;
}

.shu-acc-trigger:hover,
.shu-acc-trigger:focus {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    color: #000000 !important;
}

.shu-acc-title {
    font-family: 'Merriweather', serif;
    font-size: 15px;
    font-weight: 700;
    color: #000000 !important;
    line-height: 1.4;
    flex: 1;
}

.shu-acc-icon {
    font-size: 22px;
    font-weight: 300;
    color: #d96b0c !important;
    line-height: 1;
    flex-shrink: 0;
    transition: transform 0.25s ease;
}

.shu-acc-trigger[aria-expanded="true"] .shu-acc-icon {
    transform: rotate(45deg);
}

.shu-acc-body {
    padding: 0 20px 20px;
    overflow: hidden;
}

.shu-acc-body[hidden] {
    display: none;
}

.shu-acc-body p {
    font-family: 'Merriweather', serif !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.8 !important;
    color: #444444 !important;
    margin: 0 !important;
}

/* Responsive - stack to 1 col on mobile */
@media (max-width: 900px) {
    .shu-achieve-accordion {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .shu-achieve-accordion-wrap {
        padding: 40px 24px;
    }
}

@media (max-width: 600px) {
    .shu-achieve-accordion-wrap {
        padding: 32px 18px;
    }
}

/* =====================================================
   Program sub-pages - UAGB Spectra Tabs: sky blue style
   Matches the Achievements page accordion look
   ===================================================== */

/* Tab button list items */
.uagb-tabs__wrap ul.uagb-tabs__panel li.uagb-tab {
    background-color: #B4D6E3 !important;
    border-radius: 0 !important;
    border: none !important;
    margin: 4px 8px 4px 0 !important;
}

/* Tab button anchors */
.uagb-tabs__wrap ul.uagb-tabs__panel li.uagb-tab a {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    color: #000000 !important;
    border-radius: 0 !important;
    border: none !important;
    font-family: 'Merriweather', serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    padding: 14px 20px !important;
    display: block !important;
    text-decoration: none !important;
}

/* Hover state - orange background */
.uagb-tabs__wrap ul.uagb-tabs__panel li.uagb-tab:hover {
    background-color: var(--accent-orange) !important;
}

.uagb-tabs__wrap ul.uagb-tabs__panel li.uagb-tab a:hover,
.uagb-tabs__wrap ul.uagb-tabs__panel li.uagb-tab a:focus {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    color: #ffffff !important;
    outline: none !important;
}

/* Active/selected tab - slightly darker sky blue to indicate selection */
.uagb-tabs__wrap ul.uagb-tabs__panel li.uagb-tab.uagb-tab__active {
    background-color: #7fbfd6 !important;
}

.uagb-tabs__wrap ul.uagb-tabs__panel li.uagb-tab.uagb-tab__active a {
    color: #000000 !important;
    font-weight: 700 !important;
}

/* Content panel area */
.uagb-tabs__wrap .uagb-tabs__body-wrap {
    background-color: #ffffff !important;
    border: 1px solid #B4D6E3 !important;
    border-radius: 0 !important;
    padding: 20px 24px !important;
}

/* Body text inside panels */
.uagb-tabs__wrap .uagb-tabs__body-container p {
    font-family: 'Merriweather', serif !important;
    font-size: 13px !important;
    line-height: 1.8 !important;
    color: #444444 !important;
}

/* =====================================================
   Resources Pages - Very light sky blue background
   ===================================================== */
body.page-id-396,
body.parent-pageid-396,
body.page-id-398,
body.page-id-402,
body.page-id-403,
body.page-id-404,
body.page-id-405,
body.page-id-410,
body.page-id-411,
body.page-id-412,
body.page-id-413,
body.page-id-828,
body.page-id-830,
body.page-id-1121,
body.page-id-1122,
body.page-id-1123,
body.page-id-1124,
body.page-id-1126 {
    background-color: #e8f3f8 !important;
    /* Very light sky blue */
}

/* Ensure inner wrappers don't override the body background */
body.page-id-396 .page-inner,
body.parent-pageid-396 .page-inner,
body.page-id-396 .section-bg,
body.parent-pageid-396 .section-bg,
body.page-id-396 .site-main,
body.parent-pageid-396 .site-main,
body.page-id-398 .page-inner,
body.page-id-402 .page-inner,
body.page-id-403 .page-inner,
body.page-id-404 .page-inner,
body.page-id-405 .page-inner,
body.page-id-828 .page-inner {
    background-color: transparent !important;
}

/* =====================================================
   About SHU - Goals & Principles Animations
   ===================================================== */

/* --- Scroll-reveal setup: items start hidden --- */
.about-goals {
    transition: box-shadow 0.4s ease, transform 0.4s ease !important;
}

/* Each principle paragraph gets a subtle staggered reveal */
.about-goals p.animated {
    opacity: 0;
    transform: translateY(28px);
    transition: opacity 0.55s ease, transform 0.55s ease;
}

.about-goals p.animated.shu-visible {
    opacity: 1 !important;
    transform: translateY(0) !important;
}

/* Headings slide in from the left */
.about-goals h3.animated {
    opacity: 0;
    transform: translateX(-30px);
    transition: opacity 0.5s ease, transform 0.5s ease;
}

.about-goals h3.animated.shu-visible {
    opacity: 1 !important;
    transform: translateX(0) !important;
}

/* -- Hover on each principle paragraph -- */
.about-goals p {
    border-radius: 6px;
    padding: 10px 14px !important;
    cursor: default;
    position: relative;
    transition: background 0.25s ease, transform 0.2s ease, box-shadow 0.25s ease !important;
    margin-bottom: 8px !important;
}

.about-goals p:hover {
    background: rgba(180, 214, 227, 0.25) !important;
    transform: translateX(6px) !important;
    box-shadow: -3px 0 0 0 #d96b0c !important;
}

/* -- Click ripple on each paragraph -- */
.about-goals p .shu-ripple {
    position: absolute;
    border-radius: 50%;
    background: rgba(217, 107, 12, 0.3);
    transform: scale(0);
    animation: shuRipple 0.55s linear;
    pointer-events: none;
    width: 80px;
    height: 80px;
    margin-top: -40px;
    margin-left: -40px;
}

@keyframes shuRipple {
    to {
        transform: scale(4);
        opacity: 0;
    }
}

/* -- The whole white card: hover lift -- */
.about-goals {
    transition: box-shadow 0.35s ease, transform 0.35s ease !important;
}

.wp-block-group.about-goals:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 20px 48px rgba(19, 75, 112, 0.13) !important;
}

/* -- Heading colour pulse on scroll reveal -- */
@keyframes shuHeadingPop {
    0% {
        letter-spacing: -1px;
    }

    60% {
        letter-spacing: 1.5px;
    }

    100% {
        letter-spacing: normal;
    }
}

.about-goals h3.animated.shu-visible {
    animation: shuHeadingPop 0.5s ease forwards;
}

/* =====================================================
   About SHU Animation - Inline JS (injected via footer)
   ===================================================== */

/* =====================================================
   News / Blog Grid - Unbold titles + correct font
   ===================================================== */
/* UAGB Post Grid titles */
.uagb-post__title,
.uagb-post__title a,
.uagb-post__title h3,
.uagb-post__title h4,
.uagb-post__inner-wrap .uagb-post__title,
.uagb-post__inner-wrap .uagb-post__title a {
    font-family: 'Merriweather', serif !important;
    font-weight: 400 !important;
    /* Normal weight - no bold */
    font-size: 15px !important;
    line-height: 1.55 !important;
    color: #2d2d2d !important;
}

/* Keep the Read More button text normal too */
.uagb-post__cta a {
    font-family: 'Jost', sans-serif !important;
    font-weight: 700 !important;
}

/* =====================================================
   Contact Us Page (ID 414) - Apply site font
   ===================================================== */
body.page-id-414,
body.page-id-414 p,
body.page-id-414 input,
body.page-id-414 textarea,
body.page-id-414 select,
body.page-id-414 label,
body.page-id-414 .wpcf7-form,
body.page-id-414 .wp-block-group,
body.page-id-414 td,
body.page-id-414 th,
body.page-id-414 li {
    font-family: 'Merriweather', serif !important;
    font-weight: 400 !important;
}

body.page-id-414 h1,
body.page-id-414 h2,
body.page-id-414 h3,
body.page-id-414 h4,
body.page-id-414 h5,
body.page-id-414 h6 {
    font-family: 'Merriweather', serif !important;
    font-weight: 700 !important;
}

body.page-id-414 .wp-block-button__link,
body.page-id-414 input[type="submit"],
body.page-id-414 .wpcf7-submit {
    font-family: 'Jost', sans-serif !important;
    font-weight: 700 !important;
}

/* ----------------------------------------------------------
   FORCE REMOVE SKY BLUE LINE - FINAL OVERRIDE
   ---------------------------------------------------------- */
#header,
#header *,
.header,
.header *,
.header-navbar,
.header-navbar *,
.navbar-inner,
.navbar-inner * {
    border-bottom: none !important;
    box-shadow: none !important;
}

/* Remove any separator or divider after header */
.header+*::before,
main::before,
.shu-page-hero::before {
    display: none !important;
    content: none !important;
    border: none !important;
    background: none !important;
}

/* Force main content to slide up and cover any line */
main {
    position: relative !important;
    margin-top: -2px !important;
    z-index: 1 !important;
}

.shu-page-hero {
    position: relative !important;
    margin-top: -132px !important;
    /* Slide up to cover line */
    z-index: 1 !important;
}


/* =====================================================
   About SHU Page - Section Animations
   ===================================================== */

/* General sections fade in and slide up */
body.page-id-226 .wp-block-group.animated,
body.page-id-226 .wp-block-cover.animated,
body.page-id-226 .wp-block-columns.animated {
    opacity: 0;
    transform: translateY(40px);
    transition: opacity 0.7s ease, transform 0.7s ease;
}

body.page-id-226 .wp-block-group.animated.shu-visible,
body.page-id-226 .wp-block-cover.animated.shu-visible,
body.page-id-226 .wp-block-columns.animated.shu-visible {
    opacity: 1 !important;
    transform: translateY(0) !important;
}

/* Vision/Mission/Motto circles - ALWAYS VISIBLE, no animation hiding */
.vmm-box {
    opacity: 1 !important;
    transform: none !important;
    transition: background 0.3s ease;
}

/* Disabled animation that was hiding content
.vmm-box {
    opacity: 1 !important;
    transform: scale(1) translateY(0) !important;
    transition: opacity 0.6s ease, transform 0.6s ease, background 0.3s ease;
}

.vmm-box.animated {
    opacity: 0;
    transform: scale(0.85) translateY(30px);
}

.vmm-box.animated.shu-visible {
    opacity: 1 !important;
    transform: scale(1) translateY(0) !important;
}
*/

/* Individual columns stagger */
body.page-id-226 .wp-block-column.animated {
    opacity: 0;
    transform: translateY(30px) scale(0.97);
    transition: opacity 0.6s ease, transform 0.6s ease;
}

body.page-id-226 .wp-block-column.animated.shu-visible {
    opacity: 1 !important;
    transform: translateY(0) scale(1) !important;
}

/* Images fade + zoom in */
body.page-id-226 img.animated,
body.page-id-226 .wp-block-image.animated {
    opacity: 0;
    transform: scale(0.92);
    transition: opacity 0.8s ease, transform 0.8s ease;
}

body.page-id-226 img.animated.shu-visible,
body.page-id-226 .wp-block-image.animated.shu-visible {
    opacity: 1 !important;
    transform: scale(1) !important;
}

/* Headings slide from left */
body.page-id-226 h1.animated,
body.page-id-226 h2.animated {
    opacity: 0;
    transform: translateX(-40px);
    transition: opacity 0.6s ease, transform 0.6s ease;
}

body.page-id-226 h1.animated.shu-visible,
body.page-id-226 h2.animated.shu-visible {
    opacity: 1 !important;
    transform: translateX(0) !important;
}

/* =====================================================
   Read More Buttons - Orange Pill Style
   ===================================================== */
/* =====================================================
   Read More Buttons - Orange Pill Style (fixed width)
   ===================================================== */
.home-updates .uagb-post__cta,
.uagb-post__cta {
    display: block !important;
    padding: 14px 18px 18px !important;
    margin-top: auto !important;
}

.home-updates .uagb-post__cta a,
.uagb-post__cta a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    width: fit-content !important;
    max-width: max-content !important;
    padding: 9px 22px !important;
    background: linear-gradient(135deg, var(--accent-orange) 0%, #d96b0c 100%) !important;
    background-color: var(--accent-orange) !important;
    color: #ffffff !important;
    font-family: 'Jost', sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    border: none !important;
    border-radius: 50px !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    letter-spacing: 0.3px !important;
    box-shadow: none !important;
    transition: all 0.25s !important;
}

.home-updates .uagb-post__cta a:hover,
.uagb-post__cta a:hover {
    background: linear-gradient(135deg, #d96b0c 0%, #c05e08 100%) !important;
    box-shadow: none !important;
    transform: translateY(-1px) !important;
    color: #ffffff !important;
}

.home-updates .uagb-post__cta a::after,
.uagb-post__cta a::after {
    content: "" !important;
    display: none !important;
}

/* =====================================================
   DISABLE ALL ABOUT SHU ANIMATIONS - FINAL OVERRIDE
   Content keeps disappearing, force everything visible
   ===================================================== */
body.page-id-226 * {
    opacity: 1 !important;
    transform: none !important;
}


/* Center slider text */
.tp-caption,
.tp-caption h1,
.tp-caption h2,
.tp-caption p,
.rev_slider .tp-caption {
    text-align: center !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
}

/* Center slider text layers */
.rev_slider_wrapper .tp-caption {
    justify-content: center !important;
    align-items: center !important;
}


/* Make ALL resource page headers blue (override green gradient) */
.wp-block-cover,
.wp-block-cover .wp-block-cover__background,
.wp-block-cover .wp-block-cover__gradient-background {
    background: linear-gradient(135deg, #2c5f7f 0%, #4a7a9e 100%) !important;
    background-color: #2c5f7f !important;
}

/* Force blue on cover blocks with inline styles */
.wp-block-cover[style*="background"],
.wp-block-cover__background[style*="background"] {
    background: linear-gradient(135deg, #2c5f7f 0%, #4a7a9e 100%) !important;
    background-color: #2c5f7f !important;
}
/* Nav bar background */
.navbar-inner,
.navbar-inner::before {
    background: #2076BE !important;
    background-color: #2076BE !important;
}

/* Nav bar letters */
.header-nav-left .nav-left-menu>li>a,
.header-nav-right .nav-right-menu>li>a {
    color: #FFFFFF !important;
}

@media (min-width: 992px) {
    .shu-wordpress-page {
        font-size: 17px !important;
    }

    .shu-wordpress-page :is(p, li, a, button, label, input, textarea, select, td, th, blockquote, figcaption) {
        font-size: 17px !important;
    }

    .shu-wordpress-page .header-nav-left .nav-left-menu>li>a,
    .shu-wordpress-page .header-nav-right .nav-right-menu>li>a {
        font-size: 17px !important;
    }

    .shu-wordpress-page .shu-home-slider__content p {
        font-size: 18px !important;
    }
}

@media (max-width: 600px) {
    .shu-homepage-content .shu-programs-grid,
    .shu-homepage-content .shu-schemes-row,
    .shu-homepage-content .home-focus .wp-block-columns,
    .shu-homepage-content .uagb-block-home-news-grid,
    .shu-homepage-content .homepage-publications .row {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        gap: 16px !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        overscroll-behavior-x: contain;
        padding: 0 20px 14px !important;
        scroll-snap-type: x mandatory;
        scrollbar-width: thin;
        -webkit-overflow-scrolling: touch;
    }

    .shu-homepage-content .shu-programs-grid > .shu-scheme-card {
        flex: 0 0 min(78vw, 280px) !important;
        scroll-snap-align: start;
    }

    .shu-homepage-content .shu-schemes-row > .wp-block-column {
        flex: 0 0 min(72vw, 240px) !important;
        min-width: 0 !important;
        width: auto !important;
        scroll-snap-align: start;
    }

    .shu-homepage-content .home-focus .wp-block-columns > .wp-block-column {
        flex: 0 0 min(82vw, 330px) !important;
        width: auto !important;
        scroll-snap-align: start;
    }

    .shu-homepage-content .uagb-block-home-news-grid > .uagb-post__inner-wrap {
        flex: 0 0 min(82vw, 330px) !important;
        width: auto !important;
        scroll-snap-align: start;
    }

    .shu-homepage-content .homepage-publications .row > [class*="col-"] {
        flex: 0 0 min(88vw, 420px) !important;
        width: auto !important;
        scroll-snap-align: start;
    }
}
