:root {
    --vf-red: #b91c1c;
    --vf-red-dark: #7f1d1d;
    --vf-gold: #f59e0b;
    --vf-gold-soft: #fde7b1;
    --vf-cream: #fff9ef;
    --vf-paper: #fffdf8;
    --vf-white: #ffffff;
    --vf-ink: #1f2937;
    --vf-muted: #6b7280;
    --vf-border: rgba(185, 28, 28, 0.12);
    --vf-shadow: 0 24px 50px rgba(127, 29, 29, 0.12);
    --vf-radius-lg: 28px;
    --vf-radius-md: 18px;
    --vf-radius-sm: 12px;
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    font-family: "Times New Roman", Times, serif;
    color: var(--vf-ink);
    background: linear-gradient(180deg, #fff8ec 0%, #fffaf4 100%);
}

body.site-drawer-open {
    overflow: hidden;
}

.navbar,
.btn,
.form-control {
    font-family: "Times New Roman", Times, serif;
}

input,
textarea,
select,
button {
    font-family: "Times New Roman", Times, serif;
}

a {
    color: inherit;
    text-decoration: none;
}

.site-container {
    width: min(1180px, calc(100% - 32px));
    margin: 0 auto;
}

.site-header {
    position: sticky;
    top: 0;
    z-index: 80;
    background: rgba(255, 255, 255, 0.97);
    backdrop-filter: blur(12px);
    border-bottom: 1px solid rgba(185, 28, 28, 0.1);
    box-shadow: 0 8px 22px rgba(115, 28, 20, 0.05);
}

.site-main-nav {
    padding: 0;
}

.site-collapse-wrapper {
    display: flex;
    align-items: center;
    gap: 4px;
}

.site-drawer-header,
.site-drawer-brand,
.site-drawer-close {
    display: none;
}

.site-brand {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    margin-left: -10px;
}

.brand-mark {
    width: 62px;
    height: 62px;
    display: grid;
    place-items: center;
    flex: 0 0 62px;
    background: transparent;
    border: 0;
    box-shadow: none;
    overflow: visible;
}

.brand-mark img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

.brand-copy {
    display: grid;
    gap: 4px;
}

.brand-copy strong {
    font-size: 1rem;
    line-height: 1.05;
    color: #b91c1c;
}

.brand-copy small {
    color: #8a4f14;
    font-size: 0.92rem;
    max-width: 320px;
    line-height: 1.24;
}

.site-nav {
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: "Times New Roman", Times, serif;
    font-size: 0.9rem;
    font-weight: 700;
}

.site-nav .nav-link {
    color: inherit;
    padding-inline: 0;
    white-space: nowrap;
}

.site-nav a {
    position: relative;
    padding: 4px 6px 9px;
    color: #1f2937;
}

.site-nav a::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 3px;
    background: #d12d1f;
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.2s ease;
}

.site-nav a:hover::after,
.site-nav a.active::after {
    transform: scaleX(1);
}

.site-nav a.active {
    color: #d12d1f;
    font-weight: 700;
}

.header-actions {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-left: 8px;
}

.header-actions .primary-btn,
.header-actions .gold-btn {
    min-height: 40px;
    padding: 10px 18px;
    font-size: 0.92rem;
    border-radius: 999px;
}

.primary-btn,
.secondary-btn,
.ghost-btn,
.gold-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    padding: 7px 10px;
    font-family: "Times New Roman", Times, serif;
    font-weight: 700;
    font-size: 0.76rem;
    line-height: 1;
    white-space: nowrap;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.primary-btn:hover,
.secondary-btn:hover,
.ghost-btn:hover,
.gold-btn:hover {
    transform: translateY(-1px);
}

.primary-btn {
    color: var(--vf-white);
    background: linear-gradient(135deg, var(--vf-red-dark), var(--vf-red), var(--vf-gold));
    box-shadow: var(--vf-shadow);
}

.secondary-btn {
    color: var(--vf-red-dark);
    background: linear-gradient(135deg, var(--vf-gold-soft), var(--vf-white));
    border: 1px solid rgba(245, 158, 11, 0.4);
}

.ghost-btn {
    color: var(--vf-red-dark);
    background: rgba(255, 255, 255, 0.7);
    border: 1px solid rgba(185, 28, 28, 0.12);
}

.gold-btn {
    color: #8a4f14;
    background: linear-gradient(135deg, #ffe8a3, #ffd45f);
    border: 1px solid rgba(217, 119, 6, 0.24);
}

.small-btn {
    padding-inline: 14px;
    min-width: 120px;
}

.site-menu-toggle {
    display: none;
    width: 46px;
    height: 46px;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    border: 1px solid rgba(185, 28, 28, 0.14);
    border-radius: 14px;
    padding: 0;
    color: var(--vf-red-dark);
    background: linear-gradient(135deg, #fff7e6, #ffffff);
    box-shadow: 0 12px 24px rgba(127, 29, 29, 0.08);
}

.site-menu-toggle span {
    display: block;
    width: 18px;
    height: 2px;
    margin: 2px 0;
    border-radius: 999px;
    background: currentColor;
    transition: transform 0.22s ease, opacity 0.22s ease;
}

.site-menu-toggle.is-open span:nth-child(1) {
    transform: translateY(5px) rotate(45deg);
}

.site-menu-toggle.is-open span:nth-child(2) {
    opacity: 0;
}

.site-menu-toggle.is-open span:nth-child(3) {
    transform: translateY(-5px) rotate(-45deg);
}

.site-drawer-backdrop[hidden] {
    display: none;
}

.site-drawer-backdrop {
    position: fixed;
    inset: 0;
    z-index: 55;
    background: rgba(28, 13, 13, 0.56);
}

.site-page {
    overflow: clip;
}

.home-section-spacing {
    padding-top: 0;
    margin-top: 0;
}

.home-hero-shell + .content-section {
    padding-top: 0;
    margin-top: 12px;
    position: relative;
    z-index: 3;
}

.home-section-card {
    position: relative;
    border-radius: 18px;
    padding: 18px;
    background: var(--vf-white);
    border: 1px solid rgba(185, 28, 28, 0.08);
    box-shadow: 0 10px 24px rgba(123, 44, 18, 0.06);
}

.section-index-badge {
    display: none;
}

.section-kicker,
.hero-kicker {
    margin: 0 0 10px;
    color: #ffd16a;
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.home-section-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 16px;
}

.home-grid-split {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
}

.section-link-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 88px;
    padding: 10px 16px;
    border-radius: 999px;
    background: #fff3d1;
    color: #a16207;
    font-weight: 700;
}

.home-hero-shell {
    padding: 0;
}

.hero-showcase-card {
    position: relative;
    overflow: hidden;
    padding: 0;
    min-height: clamp(180px, 21vw, 255px);
    width: 100%;
    border-radius: 0;
    border: 0;
    box-shadow: none;
    display: grid;
    grid-template-columns: minmax(0, 0.82fr) minmax(500px, 1.18fr);
    align-items: stretch;
    background:
        radial-gradient(circle at 22% 28%, rgba(255, 170, 56, 0.08), transparent 18%),
        linear-gradient(90deg, rgba(120, 7, 10, 0.82) 0%, rgba(139, 12, 14, 0.78) 28%, rgba(139, 12, 14, 0.58) 48%, rgba(139, 12, 14, 0.2) 70%, rgba(139, 12, 14, 0.03) 100%);
}

.hero-showcase-media {
    grid-column: 2;
    grid-row: 1;
    min-height: inherit;
    padding: 12px 14px 18px 0;
    display: flex;
    align-items: stretch;
}

.hero-banner-image {
    width: 100%;
    height: 100%;
    min-height: clamp(180px, 21vw, 255px);
    display: block;
    object-fit: cover;
    object-position: calc(var(--editor-fit-x, 50) * 1%) calc(var(--editor-fit-y, 50) * 1%);
    transform: scale(var(--editor-fit-scale, 1));
    transform-origin: center center;
    border-radius: 18px;
    box-shadow: 0 18px 34px rgba(52, 15, 9, 0.22);
}

.hero-editable-overlay {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 22% 28%, rgba(255, 170, 56, 0.08), transparent 18%),
        linear-gradient(90deg, rgba(120, 7, 10, 0.8) 0%, rgba(139, 12, 14, 0.74) 30%, rgba(139, 12, 14, 0.54) 52%, rgba(139, 12, 14, 0.14) 76%, rgba(139, 12, 14, 0.01) 100%);
    z-index: 1;
    pointer-events: none;
}

.hero-showcase-copy {
    position: relative;
    grid-column: 1;
    grid-row: 1;
    z-index: 2;
    width: min(100%, 410px);
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 18px 22px 42px 38px;
    color: var(--vf-white);
}

.hero-kicker {
    margin: 0 0 10px;
    color: #f5c335;
    font-size: 0.82rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.hero-showcase-copy h1 {
    margin: 0 0 10px;
    line-height: 0.98;
    font-size: clamp(1.6rem, 2.8vw, 2.9rem);
}

.hero-title-main,
.hero-title-accent {
    display: block;
}

.hero-title-main {
    color: #f3bb1f;
}

.hero-title-accent {
    color: #f3bb1f;
}

.hero-showcase-copy p {
    margin: 0;
    max-width: 420px;
    font-size: 1rem;
    line-height: 1.55;
    color: rgba(255, 255, 255, 0.92);
}

.hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 18px;
}

.hero-showcase-copy .primary-btn,
.hero-showcase-copy .secondary-btn {
    min-height: 42px;
    padding: 9px 16px;
    font-size: 0.84rem;
    box-shadow: none;
}

.hero-showcase-copy .primary-btn {
    color: #542600;
    background: linear-gradient(135deg, #f9ce46, #f0a700);
}

.hero-showcase-copy .secondary-btn {
    color: var(--vf-white);
    background: rgba(108, 16, 14, 0.58);
    border: 1px solid rgba(255, 255, 255, 0.34);
}

.hero-bottom-wave {
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 60px;
    z-index: 2;
    pointer-events: none;
}

.hero-bottom-wave::before,
.hero-bottom-wave::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    background-repeat: no-repeat;
    background-position: center bottom;
    background-size: 100% 100%;
}

.hero-bottom-wave::before {
    bottom: 13px;
    height: 30px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 220' preserveAspectRatio='none'%3E%3Cpath fill='%23f6b400' d='M0 124C74 160 170 179 295 173C430 166 542 113 702 110C858 107 990 160 1127 171C1248 180 1356 170 1440 149V220H0Z'/%3E%3C/svg%3E");
}

.hero-bottom-wave::after {
    bottom: -1px;
    height: 42px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 220' preserveAspectRatio='none'%3E%3Cpath fill='%23fff8ec' d='M0 136C83 180 182 198 307 190C444 181 560 127 718 124C873 121 996 175 1134 187C1257 197 1364 186 1440 164V220H0Z'/%3E%3C/svg%3E");
}

.feature-showcase-card {
    padding: 0;
    overflow: hidden;
    border-radius: 18px;
    box-shadow: 0 10px 22px rgba(123, 44, 18, 0.08);
}

.feature-showcase-grid {
    display: grid;
    grid-template-columns: 0.85fr 1.15fr;
    background: linear-gradient(180deg, #fffdf8 0%, #fff8ef 100%);
}

.feature-intro-card {
    padding: 24px 22px;
    border-right: 1px solid rgba(185, 28, 28, 0.08);
}

.feature-intro-title {
    margin: 0 0 8px;
    color: #be1e18;
    font-weight: 700;
    font-size: 1.02rem;
}

.feature-intro-card h2 {
    margin: 0 0 12px;
    font-size: 1.4rem;
    line-height: 1.35;
    color: #2f1f12;
}

.feature-intro-card p {
    margin: 0 0 18px;
    color: #5c4d43;
    font-size: 0.84rem;
    line-height: 1.65;
}

.feature-link-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 10px 16px;
    border-radius: 10px;
    background: linear-gradient(135deg, #b91416, #d94120);
    color: var(--vf-white);
    font-size: 0.78rem;
    font-weight: 700;
}

.feature-link-btn::after {
    content: "\2192";
    font-size: 0.95rem;
    line-height: 1;
}

.feature-card-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    background: #fffdf9;
}

.feature-info-card {
    padding: 20px 16px 18px;
    border-left: 1px solid rgba(185, 28, 28, 0.08);
    background: var(--vf-white);
    text-align: center;
}

.feature-info-card h3 {
    margin: 0 0 8px;
    font-size: 0.86rem;
    color: #3a2d24;
}

.feature-info-card p {
    margin: 0;
    color: #706259;
    font-size: 0.72rem;
    line-height: 1.5;
}

.feature-icon {
    width: 48px;
    height: 48px;
    display: inline-grid;
    place-items: center;
    margin-bottom: 14px;
    border-radius: 50%;
    color: #fff;
    box-shadow: 0 12px 22px rgba(190, 30, 24, 0.14);
}

.feature-icon::before {
    content: "";
    width: 20px;
    height: 20px;
    background-color: currentColor;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    -webkit-mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center;
    mask-size: contain;
}

.feature-icon-support {
    background: linear-gradient(135deg, #b10f0f, #d2341c);
}

.feature-icon-support::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 3 2 8l10 5 8-4v6h2V8L12 3Zm-6 8.5V15c0 1.93 2.69 3.5 6 3.5s6-1.57 6-3.5v-3.5l-6 3-6-3Z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 3 2 8l10 5 8-4v6h2V8L12 3Zm-6 8.5V15c0 1.93 2.69 3.5 6 3.5s6-1.57 6-3.5v-3.5l-6 3-6-3Z'/%3E%3C/svg%3E");
}

.feature-icon-skill {
    background: linear-gradient(135deg, #f0a800, #f7b92d);
}

.feature-icon-skill::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M19.14 12.94c.04-.31.06-.63.06-.94s-.02-.63-.06-.94l2.03-1.58a.5.5 0 0 0 .12-.64l-1.92-3.32a.5.5 0 0 0-.6-.22l-2.39.96a7.03 7.03 0 0 0-1.63-.94l-.36-2.54a.5.5 0 0 0-.5-.42h-3.84a.5.5 0 0 0-.5.42l-.36 2.54c-.58.22-1.12.53-1.63.94l-2.39-.96a.5.5 0 0 0-.6.22L2.71 8.84a.5.5 0 0 0 .12.64l2.03 1.58c-.04.31-.06.63-.06.94s.02.63.06.94L2.83 14.52a.5.5 0 0 0-.12.64l1.92 3.32a.5.5 0 0 0 .6.22l2.39-.96c.5.41 1.05.72 1.63.94l.36 2.54a.5.5 0 0 0 .5.42h3.84a.5.5 0 0 0 .5-.42l.36-2.54c.58-.22 1.12-.53 1.63-.94l2.39.96a.5.5 0 0 0 .6-.22l1.92-3.32a.5.5 0 0 0-.12-.64l-2.03-1.58ZM12 15.5A3.5 3.5 0 1 1 12 8a3.5 3.5 0 0 1 0 7.5Z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M19.14 12.94c.04-.31.06-.63.06-.94s-.02-.63-.06-.94l2.03-1.58a.5.5 0 0 0 .12-.64l-1.92-3.32a.5.5 0 0 0-.6-.22l-2.39.96a7.03 7.03 0 0 0-1.63-.94l-.36-2.54a.5.5 0 0 0-.5-.42h-3.84a.5.5 0 0 0-.5.42l-.36 2.54c-.58.22-1.12.53-1.63.94l-2.39-.96a.5.5 0 0 0-.6.22L2.71 8.84a.5.5 0 0 0 .12.64l2.03 1.58c-.04.31-.06.63-.06.94s.02.63.06.94L2.83 14.52a.5.5 0 0 0-.12.64l1.92 3.32a.5.5 0 0 0 .6.22l2.39-.96c.5.41 1.05.72 1.63.94l.36 2.54a.5.5 0 0 0 .5.42h3.84a.5.5 0 0 0 .5-.42l.36-2.54c.58-.22 1.12-.53 1.63-.94l2.39.96a.5.5 0 0 0 .6-.22l1.92-3.32a.5.5 0 0 0-.12-.64l-2.03-1.58ZM12 15.5A3.5 3.5 0 1 1 12 8a3.5 3.5 0 0 1 0 7.5Z'/%3E%3C/svg%3E");
}

.feature-icon-service {
    background: linear-gradient(135deg, #ab0f1d, #cf1d2f);
}

.feature-icon-service::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M16 11c1.66 0 2.99-1.57 2.99-3.5S17.66 4 16 4s-3 1.57-3 3.5 1.34 3.5 3 3.5Zm-8 0c1.66 0 2.99-1.57 2.99-3.5S9.66 4 8 4 5 5.57 5 7.5 6.34 11 8 11Zm0 2c-2.33 0-7 1.17-7 3.5V20h14v-3.5C15 14.17 10.33 13 8 13Zm8 0c-.29 0-.62.02-.97.05 1.16.84 1.97 1.95 1.97 3.45V20h6v-3.5c0-2.33-4.67-3.5-7-3.5Z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M16 11c1.66 0 2.99-1.57 2.99-3.5S17.66 4 16 4s-3 1.57-3 3.5 1.34 3.5 3 3.5Zm-8 0c1.66 0 2.99-1.57 2.99-3.5S9.66 4 8 4 5 5.57 5 7.5 6.34 11 8 11Zm0 2c-2.33 0-7 1.17-7 3.5V20h14v-3.5C15 14.17 10.33 13 8 13Zm8 0c-.29 0-.62.02-.97.05 1.16.84 1.97 1.95 1.97 3.45V20h6v-3.5c0-2.33-4.67-3.5-7-3.5Z'/%3E%3C/svg%3E");
}

.feature-icon-trust {
    background: linear-gradient(135deg, #e39a08, #f3bc2c);
}

.feature-icon-trust::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 5c-7 0-10 7-10 7s3 7 10 7 10-7 10-7-3-7-10-7Zm0 11a4 4 0 1 1 0-8 4 4 0 0 1 0 8Zm0-2.2a1.8 1.8 0 1 0 0-3.6 1.8 1.8 0 0 0 0 3.6Z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 5c-7 0-10 7-10 7s3 7 10 7 10-7 10-7-3-7-10-7Zm0 11a4 4 0 1 1 0-8 4 4 0 0 1 0 8Zm0-2.2a1.8 1.8 0 1 0 0-3.6 1.8 1.8 0 0 0 0 3.6Z'/%3E%3C/svg%3E");
}

.impact-strip-card {
    padding: 0;
    overflow: hidden;
    border-radius: 14px;
    background: linear-gradient(135deg, #911012 0%, #b21719 62%, #cb780d 100%);
}

.impact-highlight-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.impact-highlight-box {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 18px;
    border-right: 1px solid rgba(255, 255, 255, 0.18);
    color: var(--vf-white);
}

.impact-highlight-box:last-child {
    border-right: 0;
}

.impact-highlight-icon {
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    color: #f5c33b;
}

.impact-highlight-icon::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background-color: currentColor;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    -webkit-mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center;
    mask-size: contain;
}

.impact-highlight-icon-students::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 3 1 9l11 6 9-4.91V17h2V9L12 3Zm-7 9.18V16l7 4 7-4v-3.82L12 16l-7-3.82Z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 3 1 9l11 6 9-4.91V17h2V9L12 3Zm-7 9.18V16l7 4 7-4v-3.82L12 16l-7-3.82Z'/%3E%3C/svg%3E");
}

.impact-highlight-icon-funds::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2Zm1 17h-2v-1.1c-1.96-.36-3.5-1.73-3.63-3.9h2.08c.11 1.17 1.04 2.1 2.55 2.1 1.63 0 2.4-.82 2.4-1.74 0-1.01-.54-1.65-2.69-2.17-2.39-.58-4.03-1.39-4.03-3.76 0-1.94 1.39-3.22 3.32-3.58V5h2v1.13c2.14.35 3.21 1.79 3.29 3.47h-2.08c-.06-.99-.57-1.79-2.21-1.79-1.56 0-2.4.71-2.4 1.71 0 .87.67 1.42 2.69 1.94 2.03.52 4.03 1.39 4.03 4 0 1.64-1.16 3.38-3.35 3.74V19Z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2Zm1 17h-2v-1.1c-1.96-.36-3.5-1.73-3.63-3.9h2.08c.11 1.17 1.04 2.1 2.55 2.1 1.63 0 2.4-.82 2.4-1.74 0-1.01-.54-1.65-2.69-2.17-2.39-.58-4.03-1.39-4.03-3.76 0-1.94 1.39-3.22 3.32-3.58V5h2v1.13c2.14.35 3.21 1.79 3.29 3.47h-2.08c-.06-.99-.57-1.79-2.21-1.79-1.56 0-2.4.71-2.4 1.71 0 .87.67 1.42 2.69 1.94 2.03.52 4.03 1.39 4.03 4 0 1.64-1.16 3.38-3.35 3.74V19Z'/%3E%3C/svg%3E");
}

.impact-highlight-icon-villages::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 10 12 4l8 6v10h-5v-6H9v6H4V10Zm-2 1h2v9h16v-9h2L12 2 2 11Z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 10 12 4l8 6v10h-5v-6H9v6H4V10Zm-2 1h2v9h16v-9h2L12 2 2 11Z'/%3E%3C/svg%3E");
}

.impact-highlight-icon-donors::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M16 11c1.66 0 2.99-1.57 2.99-3.5S17.66 4 16 4s-3 1.57-3 3.5S14.34 11 16 11ZM8 11c1.66 0 2.99-1.57 2.99-3.5S9.66 4 8 4 5 5.57 5 7.5 6.34 11 8 11Zm0 2c-2.33 0-7 1.17-7 3.5V20h14v-3.5C15 14.17 10.33 13 8 13Zm8 0c-.29 0-.62.02-.97.05 1.16.84 1.97 1.98 1.97 3.45V20h6v-3.5c0-2.33-4.67-3.5-7-3.5Z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M16 11c1.66 0 2.99-1.57 2.99-3.5S17.66 4 16 4s-3 1.57-3 3.5S14.34 11 16 11ZM8 11c1.66 0 2.99-1.57 2.99-3.5S9.66 4 8 4 5 5.57 5 7.5 6.34 11 8 11Zm0 2c-2.33 0-7 1.17-7 3.5V20h14v-3.5C15 14.17 10.33 13 8 13Zm8 0c-.29 0-.62.02-.97.05 1.16.84 1.97 1.98 1.97 3.45V20h6v-3.5c0-2.33-4.67-3.5-7-3.5Z'/%3E%3C/svg%3E");
}

.impact-highlight-copy {
    min-width: 0;
}

.impact-highlight-box strong {
    display: block;
    margin-bottom: 4px;
    font-size: 1.2rem;
    line-height: 1.1;
}

.impact-highlight-box span {
    display: block;
    font-size: 0.72rem;
    color: rgba(255, 255, 255, 0.86);
}

.hero-mini-stats {
    display: flex;
    gap: 14px;
    margin-top: 18px;
}

.hero-mini-stats div {
    min-width: 132px;
    padding: 12px 14px;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.14);
    backdrop-filter: blur(6px);
}

.hero-mini-stats strong,
.donate-mini-grid strong,
.support-highlight-card strong {
    display: block;
    font-size: 1.3rem;
}

.about-showcase-grid {
    display: grid;
    grid-template-columns: 0.72fr 1.28fr;
    gap: 16px;
}

.about-photo-card,
.about-photo-card img {
    border-radius: 18px;
}

.about-photo-card img {
    width: 100%;
    height: 100%;
    min-height: 290px;
    object-fit: cover;
    display: block;
}

.about-info-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.about-info-card,
.support-step-card,
.beneficiary-card,
.event-gallery-card,
.sponsor-tier-card,
.donor-chip-card,
.support-highlight-card,
.donation-qr-card {
    border-radius: 16px;
    border: 1px solid rgba(185, 28, 28, 0.08);
    background: #fffdf8;
}

.about-info-card {
    padding: 16px;
    text-align: left;
}

.about-info-card span,
.support-step-number {
    display: inline-grid;
    place-items: center;
    width: 12px;
    height: 12px;
    margin-bottom: 10px;
    border-radius: 50%;
    color: transparent;
    font-size: 0;
    background: linear-gradient(135deg, #b91c1c, #f59e0b);
}

.support-highlight-card {
    min-width: 220px;
    padding: 18px;
    display: grid;
    gap: 4px;
    background: linear-gradient(180deg, #fff8df, #fffdf6);
}

.support-step-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.support-step-card {
    padding: 16px;
}

.promo-slab {
    overflow: hidden;
}

.promo-slab-grid {
    display: grid;
    grid-template-columns: 1fr 180px;
    gap: 16px;
    align-items: center;
}

.promo-slab-grid img {
    width: 100%;
    height: 190px;
    object-fit: cover;
    border-radius: 16px;
}

.promo-student-slab {
    background: linear-gradient(135deg, #fff6df, #fffdfa);
}

.promo-donate-slab {
    background: linear-gradient(135deg, #fffaf1, #fff1df);
}

.donate-slab-grid {
    grid-template-columns: 1fr 170px;
}

.donate-mini-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 18px;
}

.donate-mini-grid div {
    padding: 14px;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.72);
}

.donation-qr-card {
    padding: 16px;
    text-align: center;
    background: var(--vf-white);
}

.donation-qr-card img,
.footer-qr-image {
    width: 100%;
    border-radius: 14px;
    display: block;
}

.donation-qr-card strong,
.donation-qr-card span {
    display: block;
    margin-top: 10px;
}

.sponsor-section-grid {
    align-items: stretch;
}

.sponsor-tier-card {
    padding: 20px;
    background: linear-gradient(135deg, #fffdfa, #fff4db);
}

.beneficiary-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.beneficiary-card,
.event-gallery-card {
    overflow: hidden;
    background: var(--vf-white);
}

.beneficiary-card img,
.event-gallery-card img {
    width: 100%;
    height: 170px;
    object-fit: cover;
    display: block;
}

.beneficiary-card h3,
.beneficiary-card p,
.beneficiary-card strong {
    margin-left: 16px;
    margin-right: 16px;
}

.beneficiary-card h3 {
    margin-top: 14px;
}

.beneficiary-card strong {
    display: block;
    margin-top: 12px;
    margin-bottom: 16px;
    color: var(--vf-red-dark);
}

.event-gallery-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.event-gallery-body {
    padding: 16px;
}

.connect-panel-card {
    background: linear-gradient(135deg, #fff7e7, #fffdfa);
}

.connect-panel-grid {
    display: grid;
    grid-template-columns: 0.9fr 1.1fr;
    gap: 20px;
}

.connect-panel-copy,
.connect-panel-donors {
    min-width: 0;
}

.connect-panel-card {
    overflow: hidden;
}

.contact-mini-list p {
    margin: 0 0 12px;
}

.connect-panel-donors h3 {
    margin: 0 0 14px;
}

.donor-chip-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.donor-chip-card {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px;
    background: rgba(255, 255, 255, 0.9);
}

.donor-chip-card img {
    width: 58px;
    height: 58px;
    border-radius: 12px;
    object-fit: cover;
}

.donor-chip-card strong,
.donor-chip-card span {
    display: block;
}

.home-donor-slider.connect-donor-slider {
    max-width: 100%;
    padding: 0 48px;
    overflow: hidden;
}

.home-donor-slider.connect-donor-slider .home-donor-slider-viewport {
    width: 100%;
}

.home-donor-slider.connect-donor-slider .home-donor-slider-track {
    gap: 14px;
}

.home-donor-slider.connect-donor-slider .home-donor-slide {
    flex: 0 0 100%;
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 16px;
    text-align: left;
    min-height: 118px;
}

.home-donor-slider.connect-donor-slider .home-donor-slide img {
    width: 88px;
    height: 88px;
    flex: 0 0 88px;
    border-radius: 18px;
}

.home-donor-slider.connect-donor-slider .home-donor-slide:hover img {
    transform: none;
}

.home-donor-slider.connect-donor-slider .home-donor-slide strong {
    padding: 0;
    margin-bottom: 6px;
    background: transparent;
    font-size: 0.98rem;
}

.home-donor-slider.connect-donor-slider .home-donor-slide span {
    color: var(--vf-muted);
    font-size: 0.92rem;
    line-height: 1.5;
}

.donor-slider-heading {
    margin-bottom: 18px;
}

.home-donors-section {
    overflow: hidden;
}

.home-donors-heading-wrap {
    margin-bottom: 8px;
}

.home-donor-slider-wrap {
    width: min(100vw, 1600px);
    max-width: none;
    margin: 0 auto 46px;
    padding: 0 26px;
}

.home-donor-slider {
    position: relative;
    padding: 0 62px;
}

.home-donor-slider-viewport {
    overflow: hidden;
}

.home-donor-slider-track {
    display: flex;
    gap: 20px;
    transition: transform 0.45s ease;
    will-change: transform;
}

.home-donor-slide {
    flex: 0 0 calc(25% - 15px);
    overflow: hidden;
    text-align: center;
    background: #fff;
    border: 1px solid rgba(190, 30, 24, 0.08);
    border-radius: 12px;
    box-shadow: 0 10px 22px rgba(122, 46, 17, 0.08);
    transition: transform 0.28s ease, box-shadow 0.28s ease, opacity 0.55s ease;
}

.home-donor-slide img {
    width: 100%;
    height: 210px;
    object-fit: cover;
    display: block;
    transition: transform 0.45s ease, filter 0.45s ease;
}

.home-donor-slide strong {
    display: block;
    padding: 16px 14px 18px;
    color: var(--vf-red-dark);
    font-size: 1.02rem;
    line-height: 1.3;
    background: #fffdf8;
}

.home-donor-slide:hover {
    transform: translateY(-6px);
    box-shadow: 0 16px 32px rgba(122, 46, 17, 0.14);
}

.home-donor-slide:hover img {
    transform: scale(1.04);
    filter: saturate(1.04);
}

.home-donor-slide[data-reveal] {
    opacity: 0;
    transform: translateY(24px);
}

.home-donor-slide.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.home-donor-slider-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 42px;
    height: 42px;
    border: 0;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #ffffff;
    color: var(--vf-red-dark);
    box-shadow: 0 10px 22px rgba(122, 46, 17, 0.18);
    z-index: 2;
}

.home-donor-slider-arrow:hover {
    background: #fff0d5;
}

.home-donor-slider-arrow span {
    font-size: 1.8rem;
    line-height: 1;
    transform: translateY(-1px);
}

.home-donor-slider-prev {
    left: 0;
}

.home-donor-slider-next {
    right: 0;
}

.home-centered-heading {
    justify-content: center;
    text-align: center;
    margin-bottom: 12px;
}

.home-centered-heading .section-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0;
}

.home-centered-heading .section-kicker::before,
.home-centered-heading .section-kicker::after {
    content: "";
    width: 24px;
    height: 2px;
    border-radius: 999px;
    background: linear-gradient(90deg, #f4af18, #be1e18);
}

.home-what-we-do-section {
    overflow: hidden;
}

.home-what-we-do-heading-wrap {
    margin-bottom: 12px;
}

.what-we-do-grid-wrap {
    width: min(100vw, 1600px);
    max-width: none;
    margin: 0 auto;
    padding: 0 26px;
}

.what-we-do-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 16px;
}

.what-we-do-card {
    position: relative;
    overflow: hidden;
    border-radius: 10px;
    border: 1px solid rgba(185, 28, 28, 0.08);
    background: #fffdf9;
    box-shadow: 0 6px 16px rgba(95, 35, 22, 0.07);
    min-height: 430px;
    transition: transform 0.3s ease, box-shadow 0.3s ease, opacity 0.6s ease;
}

.what-we-do-card img {
    width: 100%;
    height: 182px;
    object-fit: cover;
    display: block;
    transition: transform 0.45s ease, filter 0.45s ease;
}

.what-we-do-icon {
    position: absolute;
    left: 50%;
    top: 160px;
    width: 42px;
    height: 42px;
    margin-left: -21px;
    margin-bottom: 0;
    border: 3px solid #fff8ef;
    box-shadow: 0 8px 14px rgba(95, 35, 22, 0.14);
}

.what-we-do-icon::before {
    width: 16px;
    height: 16px;
}

.what-we-do-body {
    padding: 36px 16px 24px;
    text-align: center;
}

.what-we-do-body h3 {
    margin: 0 0 10px;
    font-size: 0.98rem;
    color: #3a2416;
}

.what-we-do-body p {
    margin: 0;
    font-size: 0.82rem;
    line-height: 1.7;
    color: #6f6056;
}

.what-we-do-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 18px 34px rgba(95, 35, 22, 0.14);
}

.what-we-do-card:hover img {
    transform: scale(1.05);
    filter: saturate(1.06);
}

.what-we-do-card[data-reveal] {
    opacity: 0;
    transform: translateY(24px);
}

.what-we-do-card.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.what-we-do-card:nth-child(1),
.home-donor-slide:nth-child(1) { transition-delay: 0.04s; }
.what-we-do-card:nth-child(2),
.home-donor-slide:nth-child(2) { transition-delay: 0.1s; }
.what-we-do-card:nth-child(3),
.home-donor-slide:nth-child(3) { transition-delay: 0.16s; }
.what-we-do-card:nth-child(4),
.home-donor-slide:nth-child(4) { transition-delay: 0.22s; }
.what-we-do-card:nth-child(5),
.home-donor-slide:nth-child(5) { transition-delay: 0.28s; }

@media (prefers-reduced-motion: reduce) {
    .what-we-do-card,
    .what-we-do-card img,
    .home-donor-slide,
    .home-donor-slide img {
        transition: none;
    }

    .what-we-do-card[data-reveal],
    .home-donor-slide[data-reveal] {
        opacity: 1;
        transform: none;
    }
}

.education-banner {
    display: grid;
    grid-template-columns: minmax(360px, 0.98fr) minmax(420px, 1.02fr);
    overflow: hidden;
    border-radius: 16px;
    border: 1px solid rgba(185, 28, 28, 0.1);
    box-shadow: 0 16px 34px rgba(95, 35, 22, 0.12);
}

.education-banner-donate,
.education-banner-student {
    display: grid;
    align-items: center;
}

.education-banner-donate {
    position: relative;
    grid-template-columns: 116px 1fr;
    gap: 20px;
    padding: 20px 20px;
    background: linear-gradient(135deg, #8f1013 0%, #b31619 72%, #a91212 100%);
    color: #fff;
}

.education-banner-donate::after {
    content: "";
    position: absolute;
    top: 0;
    right: -6px;
    width: 14px;
    height: 100%;
    background: linear-gradient(180deg, #7f0f10 0%, #a91517 52%, #7f0f10 100%);
    border-right: 3px solid #f4b118;
    border-radius: 12px 0 0 12px;
    z-index: 2;
}

.education-banner-donate::before {
    content: "";
    position: absolute;
    top: 0;
    right: 6px;
    width: 10px;
    height: 100%;
    background: #b31619;
    border-radius: 999px;
    transform: translateX(50%);
    z-index: 1;
}

.education-banner-qr {
    position: relative;
    z-index: 1;
    padding: 10px;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.16);
}

.education-banner-qr img {
    aspect-ratio: 1;
    object-fit: cover;
    display: block;
    border-radius: 14px;
}

.education-banner-copy h2,
.education-banner-student-copy h2 {
    margin: 0 0 10px;
    line-height: 1.2;
}

.education-banner-copy h2 {
    color: #ffffff;
    font-size: 1.45rem;
    font-weight: 800;
    white-space: nowrap;
}

.education-banner-donate .education-banner-copy h2,
.education-banner-donate .education-banner-copy p,
.education-banner-donate .education-banner-copy span {
    color: #ffffff !important;
}

.education-banner-copy p,
.education-banner-copy span {
    display: block;
    margin: 0 0 4px;
    color: #ffffff;
    font-size: 0.9rem;
}

.education-banner-copy {
    min-width: 0;
}

.education-banner-copy span {
    white-space: nowrap;
    font-size: 0.98rem;
    font-weight: 700;
}

.education-banner-actions {
    position: relative;
    z-index: 1;
    margin-top: 10px;
}

.education-banner-actions .gold-btn {
    min-height: 38px;
    padding: 8px 16px;
    font-size: 0.9rem;
}

.education-banner-payments {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 10px;
}

.education-banner-payments span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 30px;
    padding: 5px 12px;
    border-radius: 999px;
    margin: 0;
    font-size: 0.82rem;
    font-weight: 700;
    color: #fff3c8;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.education-banner-student {
    grid-template-columns: 1fr 180px;
    gap: 18px;
    align-items: stretch;
    padding: 28px 28px 28px 24px;
    background: linear-gradient(135deg, #f2ad11 0%, #ffd550 100%);
}

.education-banner-student-copy .section-kicker {
    margin-bottom: 10px;
    font-size: 1rem;
    color: #ffffff;
}

.education-banner-student-copy h2 {
    color: #ffffff;
    font-size: 1.7rem;
    line-height: 1.25;
    max-width: 360px;
}

.education-banner-student .primary-btn {
    margin-top: 14px;
    width: auto;
    min-height: 42px;
    padding: 10px 18px;
    font-size: 0.95rem;
}

.education-banner-student-media {
    height: 100%;
    min-height: 150px;
    overflow: hidden;
    border-radius: 14px;
    box-shadow: 0 14px 28px rgba(126, 78, 9, 0.2);
}

.education-banner-student img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    border-radius: 0;
    box-shadow: none;
}

.home-gallery-heading {
    position: relative;
    justify-content: center;
    text-align: center;
    min-height: 42px;
}

.home-gallery-block {
    margin-top: 42px;
}

.gallery-view-btn {
    position: absolute;
    right: 0;
    top: 0;
}

.recent-gallery-strip {
    overflow: hidden;
    position: relative;
}

.recent-gallery-strip::before,
.recent-gallery-strip::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    width: 44px;
    z-index: 1;
    pointer-events: none;
}

.recent-gallery-strip::before {
    left: 0;
    background: linear-gradient(90deg, #fff8ef 0%, rgba(255, 248, 239, 0) 100%);
}

.recent-gallery-strip::after {
    right: 0;
    background: linear-gradient(270deg, #fff8ef 0%, rgba(255, 248, 239, 0) 100%);
}

.recent-gallery-track {
    display: flex;
    align-items: stretch;
    gap: 12px;
}

.recent-gallery-strip.is-marquee .recent-gallery-track {
    width: max-content;
    animation: homeGalleryMarquee var(--gallery-marquee-duration, 24s) linear infinite;
}

.recent-gallery-strip.is-marquee:hover .recent-gallery-track {
    animation-play-state: paused;
}

.recent-gallery-card {
    flex: 0 0 290px;
    overflow: hidden;
    border-radius: 14px;
    border: 1px solid rgba(185, 28, 28, 0.08);
    background: #fff;
    box-shadow: 0 16px 30px rgba(126, 78, 9, 0.08);
}

.recent-gallery-card img {
    width: 100%;
    height: 170px;
    object-fit: cover;
    display: block;
}

@keyframes homeGalleryMarquee {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(calc(-50% - 6px));
    }
}

.about-red-section {
    background:
        radial-gradient(circle at top left, rgba(248, 214, 125, 0.12), transparent 24%),
        linear-gradient(180deg, #fffdfa 0%, #fff8ef 100%);
}

.about-intro-shell {
    width: min(1440px, calc(100% - 28px));
    margin: 0 auto 18px;
}

.about-red-hero {
    padding: 0 0 6px;
    background: linear-gradient(180deg, #fff9ef, #fffdf9);
}

.about-red-hero-card {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.02fr) minmax(420px, 1.38fr);
    overflow: hidden;
    border-radius: 0;
    height: 280px;
    min-height: 280px;
    background:
        radial-gradient(circle at 12% 24%, rgba(255, 184, 63, 0.16), transparent 18%),
        linear-gradient(135deg, #8d090b 0%, #b50f14 42%, #911013 100%);
}

.about-red-hero-media {
    grid-column: 2;
    grid-row: 1;
    min-height: inherit;
    position: relative;
    overflow: hidden;
}

.about-red-hero-copy {
    grid-column: 1;
    grid-row: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    max-width: 520px;
    padding: 10px 16px 20px 84px;
    color: #fff;
    position: relative;
    z-index: 1;
}

.about-red-hero-copy::before {
    content: "";
    position: absolute;
    left: -42px;
    top: 6px;
    width: 112px;
    height: 112px;
    opacity: 0.24;
    background:
        radial-gradient(circle, rgba(242, 183, 37, 0.85) 0 2px, transparent 2px) center/14px 14px,
        radial-gradient(circle, transparent 56%, rgba(242, 183, 37, 0.55) 57% 59%, transparent 60%) center/100% 100%;
    border-radius: 50%;
    pointer-events: none;
}

.about-red-hero-content {
    position: relative;
    z-index: 1;
}

.about-red-hero-kicker {
    margin: 0;
    font-size: 2rem;
    line-height: 1.05;
    font-weight: 800;
    color: #fff;
}

.about-red-hero-subtitle {
    margin: 4px 0 10px;
    font-size: 1.12rem;
    line-height: 1.2;
    font-weight: 700;
    color: #f3bc2f;
    letter-spacing: 0.02em;
}

.about-red-hero-summary {
    margin: 0;
    max-width: none;
    font-size: 1.08rem;
    line-height: 1.62;
    color: rgba(255, 255, 255, 0.9);
}

.about-breadcrumb {
    display: flex;
    gap: 10px;
    padding: 0;
    margin: 0;
    list-style: none;
    font-size: 0.62rem;
    font-weight: 700;
    color: rgba(255, 244, 217, 0.95);
    position: relative;
    z-index: 1;
}

.about-breadcrumb li {
    position: relative;
}

.about-breadcrumb li + li::before {
    content: ">";
    position: absolute;
    left: -7px;
    color: rgba(255, 224, 153, 0.9);
}

.about-breadcrumb a {
    color: inherit;
}

.about-red-hero-card img {
    width: 100%;
    height: 100%;
    min-height: 280px;
    object-fit: cover;
    object-position: calc(var(--editor-fit-x, 50) * 1%) calc(var(--editor-fit-y, 50) * 1%);
    transform: scale(var(--editor-fit-scale, 1));
    transform-origin: center center;
    display: block;
    opacity: 1;
}

.about-red-hero[data-editor-section="about_page"],
.about-red-hero[data-editor-section="events_page"] {
    width: 100vw;
    max-width: none;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}

.about-red-hero[data-editor-section="events_page"] .about-red-hero-media {
    background: #8d090b;
}

.about-red-hero[data-editor-section="events_page"] .about-red-hero-card img {
    position: static;
    width: 100%;
    height: 100%;
    opacity: 1;
    pointer-events: auto;
}

.about-red-hero-card::after {
    content: "";
    position: absolute;
    inset: 0;
    background: none;
    pointer-events: none;
}

.about-red-hero-curve {
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 28px;
    z-index: 2;
}

.about-red-hero-curve::before,
.about-red-hero-curve::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    background-position: center bottom;
}

.about-red-hero-curve::before {
    bottom: 7px;
    height: 9px;
    background-image: url("../image/about-hero-wave-gold.svg");
}

.about-red-hero-curve::after {
    bottom: -1px;
    height: 20px;
    background-image: url("../image/about-hero-wave-white.svg");
}

.about-intro-grid {
    display: grid;
    grid-template-columns: 1.32fr 1.08fr 0.52fr;
    gap: 18px;
    align-items: stretch;
}

.about-intro-photo {
    position: relative;
    height: 100%;
    min-height: 360px;
    overflow: hidden;
    border-radius: 16px;
    background: linear-gradient(180deg, #f7e7d8, #fff7f0);
    box-shadow: 0 14px 30px rgba(115, 43, 18, 0.12);
    padding: 0;
}

.about-intro-photo img,
.about-team-card img {
    width: 100%;
    display: block;
    object-fit: cover;
}

.about-intro-photo img {
    position: absolute;
    inset: 0;
    height: 100%;
    min-height: 100%;
    border-radius: 16px;
    object-fit: cover;
    object-position: center top;
    transform: none;
    background: transparent;
}

.about-intro-copy {
    height: 100%;
    padding-top: 4px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.about-intro-copy .section-kicker {
    padding: 0;
    background: transparent;
    border-radius: 0;
    color: #bb1f1f;
    font-size: 0.76rem;
}

.about-intro-copy h1 {
    margin: 2px 0 4px;
    font-size: 1.8rem;
    color: #3d1a10;
}

.about-intro-copy h2 {
    margin: 0 0 12px;
    font-size: 1.08rem;
    color: #c92521;
}

.about-intro-copy p {
    margin: 0 0 10px;
    font-size: 1rem;
    line-height: 1.75;
    text-align: justify;
}

.about-quote-card {
    min-height: 210px;
    display: grid;
    place-items: center;
    padding: 20px;
    border-radius: 10px;
    background: linear-gradient(180deg, #fff6df, #fffdf7);
    text-align: center;
}

.about-quote-card span {
    display: block;
    font-size: 2.8rem;
    line-height: 1;
    color: #f0b321;
}

.about-quote-card p {
    margin: 0;
    font-size: 0.92rem;
    line-height: 1.55;
    color: #be1e18;
    font-weight: 700;
}

.about-quote-line {
    width: 84px;
    height: 10px;
    margin-top: 12px;
    background:
        linear-gradient(90deg, transparent 0, transparent 10%, #f0b321 10%, #f0b321 16%, transparent 16%, transparent 84%, #f0b321 84%, #f0b321 90%, transparent 90%),
        linear-gradient(#f0b321, #f0b321) center/34px 2px no-repeat;
}

.about-section-shell {
    margin-bottom: 18px;
    padding: 16px 16px 14px;
    border: 1px solid rgba(185, 28, 28, 0.08);
    border-radius: 14px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(255, 249, 240, 0.98));
    box-shadow: 0 8px 22px rgba(95, 35, 22, 0.05);
}

.about-impact-shell {
    padding-top: 16px;
}

.about-ornament-heading {
    margin-top: 0;
    margin-bottom: 14px;
}

.about-pillars-grid,
.about-values-grid,
.about-team-grid {
    display: grid;
    gap: 10px;
}

.about-pillars-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: stretch;
}

.about-pillar-card,
.about-value-card,
.about-team-card {
    border-radius: 12px;
    border: 1px solid rgba(185, 28, 28, 0.08);
    background: #fff;
    box-shadow: 0 6px 16px rgba(95, 35, 22, 0.04);
}

.about-pillar-card {
    padding: 16px 14px 14px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    text-align: center;
    background: linear-gradient(180deg, #fffaf4, #fff);
}

.about-pillar-icon {
    width: 42px;
    height: 42px;
    display: inline-grid;
    place-items: center;
    margin-bottom: 10px;
    border-radius: 50%;
    color: #fff;
    box-shadow: 0 8px 18px rgba(185, 28, 28, 0.1);
}

.about-pillar-icon::before {
    content: "";
    width: 18px;
    height: 18px;
    background-color: currentColor;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    -webkit-mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center;
    mask-size: contain;
}

.about-pillar-icon-mission,
.about-pillar-icon-objective {
    background: linear-gradient(135deg, #bd1b1c, #d73b27);
}

.about-pillar-icon-vision {
    background: linear-gradient(135deg, #f0a911, #f7c133);
}

.about-pillar-icon-mission::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2 4 5v6c0 5.25 3.4 10.16 8 11.72C16.6 21.16 20 16.25 20 11V5l-8-3Zm3.53 8.53-4 4a1 1 0 0 1-1.41 0l-2-2 1.41-1.41 1.29 1.3 3.29-3.3 1.42 1.41Z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2 4 5v6c0 5.25 3.4 10.16 8 11.72C16.6 21.16 20 16.25 20 11V5l-8-3Zm3.53 8.53-4 4a1 1 0 0 1-1.41 0l-2-2 1.41-1.41 1.29 1.3 3.29-3.3 1.42 1.41Z'/%3E%3C/svg%3E");
}

.about-pillar-icon-vision::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 5c-7 0-10 7-10 7s3 7 10 7 10-7 10-7-3-7-10-7Zm0 11a4 4 0 1 1 0-8 4 4 0 0 1 0 8Zm0-2.2a1.8 1.8 0 1 0 0-3.6 1.8 1.8 0 0 0 0 3.6Z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 5c-7 0-10 7-10 7s3 7 10 7 10-7 10-7-3-7-10-7Zm0 11a4 4 0 1 1 0-8 4 4 0 0 1 0 8Zm0-2.2a1.8 1.8 0 1 0 0-3.6 1.8 1.8 0 0 0 0 3.6Z'/%3E%3C/svg%3E");
}

.about-pillar-icon-objective::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M19 3h-4.18C14.4 1.84 13.3 1 12 1s-2.4.84-2.82 2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2Zm-7-1c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1Zm2 14H7v-2h7v2Zm3-4H7v-2h10v2Zm0-4H7V6h10v2Z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M19 3h-4.18C14.4 1.84 13.3 1 12 1s-2.4.84-2.82 2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2Zm-7-1c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1Zm2 14H7v-2h7v2Zm3-4H7v-2h10v2Zm0-4H7V6h10v2Z'/%3E%3C/svg%3E");
}

.about-pillar-card h3,
.about-value-card h3,
.about-team-card h3 {
    margin: 0 0 6px;
    color: #be1e18;
    font-size: 0.84rem;
}

.about-pillar-card p,
.about-value-card p,
.about-team-card p,
.about-objective-list {
    margin: 0;
    font-size: 0.68rem;
    line-height: 1.55;
    color: #6c584c;
}

.about-pillar-card p {
    max-width: 42ch;
    width: 100%;
    min-height: 132px;
    margin-left: auto;
    margin-right: auto;
}

.about-objective-list {
    width: 100%;
    max-width: 42ch;
    min-height: 132px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 16px;
    text-align: left;
}

.about-objective-list li + li {
    margin-top: 5px;
}

.about-red-heading {
    margin-top: 4px;
    margin-bottom: 10px;
}

.about-red-heading .section-kicker {
    color: #5b2d18;
    font-size: 1.12rem;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: none;
}

.about-red-heading .section-kicker::before,
.about-red-heading .section-kicker::after {
    width: 30px;
    height: 10px;
    background:
        linear-gradient(#f2b126, #f2b126) center/18px 2px no-repeat,
        radial-gradient(circle, #f2b126 0 2px, transparent 3px) left center/10px 10px no-repeat,
        radial-gradient(circle, #f2b126 0 2px, transparent 3px) right center/10px 10px no-repeat;
}

.about-values-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 8px;
}

.about-values-stage {
    display: grid;
    grid-template-columns: 32px minmax(0, 1fr) 32px;
    gap: 8px;
    align-items: center;
}

.about-stage-arrow {
    width: 32px;
    height: 32px;
    display: inline-grid;
    place-items: center;
    border: 1px solid rgba(240, 177, 33, 0.35);
    border-radius: 50%;
    background: #fff;
    color: #c11d1c;
    box-shadow: 0 6px 14px rgba(95, 35, 22, 0.06);
    font-size: 1rem;
    line-height: 1;
    cursor: default;
}

.about-value-card {
    padding: 12px 8px 10px;
    text-align: center;
    background: linear-gradient(180deg, #fff, #fff8ee);
}

.about-value-icon {
    width: 36px;
    height: 36px;
    margin-bottom: 8px;
}

.about-value-icon::before {
    width: 14px;
    height: 14px;
}

.about-journey-shell {
    padding: 16px 0 20px;
}

.about-journey-fullbleed {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    border-left: 0;
    border-right: 0;
    border-radius: 0;
    box-shadow: none;
    padding-left: max(18px, calc((100vw - 1720px) / 2));
    padding-right: max(18px, calc((100vw - 1720px) / 2));
}

.about-pillars-fullbleed {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    border-left: 0;
    border-right: 0;
    border-radius: 0;
    box-shadow: none;
    padding-left: max(18px, calc((100vw - 1720px) / 2));
    padding-right: max(18px, calc((100vw - 1720px) / 2));
}

.about-journey-rail {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 8px;
    align-items: start;
}

.about-journey-tile {
    position: relative;
    padding-top: 18px;
    opacity: 0;
    transform: translateY(18px);
    animation: aboutJourneyTileReveal 0.7s ease forwards;
}

.about-journey-tile:nth-child(1) { animation-delay: 0.04s; }
.about-journey-tile:nth-child(2) { animation-delay: 0.1s; }
.about-journey-tile:nth-child(3) { animation-delay: 0.16s; }
.about-journey-tile:nth-child(4) { animation-delay: 0.22s; }
.about-journey-tile:nth-child(5) { animation-delay: 0.28s; }
.about-journey-tile:nth-child(6) { animation-delay: 0.34s; }

.about-journey-badge {
    position: absolute;
    top: 4px;
    left: 50%;
    z-index: 1;
    width: 56px;
    height: 56px;
    display: inline-grid;
    place-items: center;
    border-radius: 50%;
    border: 5px solid #fffaf2;
    box-shadow: 0 12px 24px rgba(95, 35, 22, 0.14);
    transform: translateX(-50%);
}

.about-journey-badge-red {
    background: linear-gradient(135deg, #c9181c, #e45b2b);
}

.about-journey-badge-gold {
    background: linear-gradient(135deg, #f4bb20, #f0a20b);
}

.about-journey-badge-icon {
    width: 22px;
    height: 22px;
    display: inline-block;
    background: #fff;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    -webkit-mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center;
    mask-size: contain;
}

.about-journey-badge-icon-flag {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6 2h2v20H6V2Zm3 2h8l-1.5 3L17 10H9V4Z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6 2h2v20H6V2Zm3 2h8l-1.5 3L17 10H9V4Z'/%3E%3C/svg%3E");
}

.about-journey-badge-icon-cap {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 3 2 8l10 5 8-4v6h2V8L12 3Zm-6 8.5V15c0 1.93 2.69 3.5 6 3.5s6-1.57 6-3.5v-3.5l-6 3-6-3Z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 3 2 8l10 5 8-4v6h2V8L12 3Zm-6 8.5V15c0 1.93 2.69 3.5 6 3.5s6-1.57 6-3.5v-3.5l-6 3-6-3Z'/%3E%3C/svg%3E");
}

.about-journey-badge-icon-group {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M16 11c1.66 0 2.99-1.57 2.99-3.5S17.66 4 16 4s-3 1.57-3 3.5 1.34 3.5 3 3.5Zm-8 0c1.66 0 2.99-1.57 2.99-3.5S9.66 4 8 4 5 5.57 5 7.5 6.34 11 8 11Zm0 2c-2.33 0-7 1.17-7 3.5V20h14v-3.5C15 14.17 10.33 13 8 13Zm8 0c-.29 0-.62.02-.97.05 1.16.84 1.97 1.95 1.97 3.45V20h6v-3.5c0-2.33-4.67-3.5-7-3.5Z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M16 11c1.66 0 2.99-1.57 2.99-3.5S17.66 4 16 4s-3 1.57-3 3.5 1.34 3.5 3 3.5Zm-8 0c1.66 0 2.99-1.57 2.99-3.5S9.66 4 8 4 5 5.57 5 7.5 6.34 11 8 11Zm0 2c-2.33 0-7 1.17-7 3.5V20h14v-3.5C15 14.17 10.33 13 8 13Zm8 0c-.29 0-.62.02-.97.05 1.16.84 1.97 1.95 1.97 3.45V20h6v-3.5c0-2.33-4.67-3.5-7-3.5Z'/%3E%3C/svg%3E");
}

.about-journey-badge-icon-book {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M18 2H8a4 4 0 0 0-4 4v13a1 1 0 0 0 1.45.89L9 18.12l3.55 1.77a1 1 0 0 0 .9 0L17 18.12l3.55 1.77A1 1 0 0 0 22 19V6a4 4 0 0 0-4-4Zm0 2a2 2 0 0 1 2 2v11.38l-2.55-1.27a1 1 0 0 0-.9 0L13 17.88l-3.55-1.77a1 1 0 0 0-.9 0L6 17.38V6a2 2 0 0 1 2-2h10Z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M18 2H8a4 4 0 0 0-4 4v13a1 1 0 0 0 1.45.89L9 18.12l3.55 1.77a1 1 0 0 0 .9 0L17 18.12l3.55 1.77A1 1 0 0 0 22 19V6a4 4 0 0 0-4-4Zm0 2a2 2 0 0 1 2 2v11.38l-2.55-1.27a1 1 0 0 0-.9 0L13 17.88l-3.55-1.77a1 1 0 0 0-.9 0L6 17.38V6a2 2 0 0 1 2-2h10Z'/%3E%3C/svg%3E");
}

.about-journey-badge-icon-growth {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M3 19h18v2H3v-2Zm2-2h2v-6H5v6Zm4 0h2V7H9v10Zm4 0h2v-4h-2v4Zm4 0h2V3h-2v14Zm-1.29-10.71L13 9l-3-3-5 5 1.41 1.41L10 8.83l3 3 5.71-5.7L20 7.41l-4.29 4.88Z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M3 19h18v2H3v-2Zm2-2h2v-6H5v6Zm4 0h2V7H9v10Zm4 0h2v-4h-2v4Zm4 0h2V3h-2v14Zm-1.29-10.71L13 9l-3-3-5 5 1.41 1.41L10 8.83l3 3 5.71-5.7L20 7.41l-4.29 4.88Z'/%3E%3C/svg%3E");
}

.about-journey-badge-icon-rocket {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M14 2c3.31 0 6 2.69 6 6 0 1.61-.63 3.16-1.76 4.29l-3.58 3.58c-.78.78-1.78 1.26-2.84 1.39l-2.76.34-2.09 2.09-1.41-1.41 2.09-2.09.34-2.76c.13-1.06.61-2.06 1.39-2.84l3.58-3.58A6.01 6.01 0 0 1 14 2Zm0 2c-.95 0-1.86.38-2.54 1.05L7.88 8.63a2.98 2.98 0 0 0-.84 1.72l-.14 1.11 2.68 2.68 1.11-.14c.64-.08 1.24-.38 1.72-.84l3.58-3.58A3.59 3.59 0 0 0 18 8c0-2.21-1.79-4-4-4Zm0 2.5A1.5 1.5 0 1 1 14 9.5a1.5 1.5 0 0 1 0-3Zm-8.5 10 2 2-3.5 1.5L5.5 16.5Z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M14 2c3.31 0 6 2.69 6 6 0 1.61-.63 3.16-1.76 4.29l-3.58 3.58c-.78.78-1.78 1.26-2.84 1.39l-2.76.34-2.09 2.09-1.41-1.41 2.09-2.09.34-2.76c.13-1.06.61-2.06 1.39-2.84l3.58-3.58A6.01 6.01 0 0 1 14 2Zm0 2c-.95 0-1.86.38-2.54 1.05L7.88 8.63a2.98 2.98 0 0 0-.84 1.72l-.14 1.11 2.68 2.68 1.11-.14c.64-.08 1.24-.38 1.72-.84l3.58-3.58A3.59 3.59 0 0 0 18 8c0-2.21-1.79-4-4-4Zm0 2.5A1.5 1.5 0 1 1 14 9.5a1.5 1.5 0 0 1 0-3Zm-8.5 10 2 2-3.5 1.5L5.5 16.5Z'/%3E%3C/svg%3E");
}

.about-journey-tile-body {
    padding: 40px 10px 10px;
    border-radius: 12px;
    border: 1px solid rgba(228, 212, 194, 0.9);
    background: linear-gradient(180deg, #fff, #fffbf7);
    box-shadow: 0 10px 22px rgba(95, 35, 22, 0.05);
    text-align: center;
    transition: transform 0.28s ease, box-shadow 0.28s ease;
}

.about-journey-tile:hover .about-journey-tile-body {
    transform: translateY(-5px);
    box-shadow: 0 14px 28px rgba(95, 35, 22, 0.1);
}

.about-journey-tile-year {
    margin: 0;
    color: #d31e1f !important;
    font-size: 1rem;
    font-weight: 800;
    line-height: 1;
}

.about-journey-tile-gold .about-journey-tile-year {
    color: #e5a108 !important;
}

.about-journey-tile-divider {
    width: 26px;
    height: 3px;
    display: block;
    margin: 10px auto 10px;
    border-radius: 999px;
    background: #d31e1f;
}

.about-journey-tile-gold .about-journey-tile-divider {
    background: #e5a108;
}

.about-journey-tile h3 {
    margin: 0 0 10px;
    color: #1f1b18;
    font-size: 1rem;
    line-height: 1.2;
}

.about-journey-tile-text {
    margin: 0;
    min-height: 54px;
    color: #181311;
    font-size: 0.8rem;
    line-height: 1.65;
}

.about-journey-tile-media {
    margin-top: 8px;
    overflow: hidden;
    border-radius: 10px;
    border: 2px solid #c91c1d;
    box-shadow: 0 8px 18px rgba(95, 35, 22, 0.08);
}

.about-journey-tile-gold .about-journey-tile-media {
    border-color: #efac0e;
}

.about-journey-tile-media img {
    width: 100%;
    height: 156px;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
}

.about-journey-tile:hover .about-journey-tile-media img {
    transform: scale(1.05);
}

.about-journey-track {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding-top: 10px;
}

.about-journey-track::before {
    content: "";
    position: absolute;
    top: 0;
    left: 12%;
    right: 12%;
    height: 1px;
    background: rgba(191, 177, 163, 0.8);
}

.about-journey-track-dot {
    position: relative;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    z-index: 1;
}

.about-journey-track-dot-red {
    background: linear-gradient(135deg, #c91c1d, #e14828);
}

.about-journey-track-dot-gold {
    background: linear-gradient(135deg, #efb31e, #ef9f08);
}

.about-journey-track-arrow {
    position: absolute;
    right: -12px;
    top: -10px;
    color: #aaabae;
    font-size: 2rem;
    line-height: 1;
}

@keyframes aboutJourneyTileReveal {
    from {
        opacity: 0;
        transform: translateY(18px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}


.about-team-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 10px;
}

.about-team-card {
    overflow: hidden;
    text-align: center;
}

.about-team-media {
    padding: 12px 12px 0;
    overflow: hidden;
}

.about-team-card img {
    width: 100%;
    height: 180px;
    border-radius: 12px;
    background: linear-gradient(180deg, #fff5e2, #fff);
    object-fit: cover;
    object-position: center center;
    display: block;
}

.about-team-content {
    padding: 12px 10px 14px;
}

.about-team-card h3 {
    margin-top: 0;
    margin-bottom: 4px;
    font-size: 0.78rem;
}

.about-team-card p {
    color: #8b201a;
    font-size: 0.64rem;
}

.about-bottom-impact {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
    overflow: hidden;
    border-radius: 14px;
    border: 1px solid rgba(185, 28, 28, 0.08);
    background: linear-gradient(180deg, #fff, #fff6eb);
    box-shadow: 0 8px 20px rgba(95, 35, 22, 0.05);
}

.about-bottom-impact article {
    display: grid;
    justify-items: center;
    gap: 6px;
    padding: 12px 10px;
    border-right: 1px solid rgba(185, 28, 28, 0.08);
    text-align: center;
}

.about-bottom-impact article:last-child {
    border-right: 0;
}

.about-bottom-impact .impact-highlight-icon {
    width: 26px;
    height: 26px;
}

.about-bottom-impact strong {
    color: #be1e18;
    font-size: 1.18rem;
    line-height: 1;
}

.about-bottom-impact p {
    margin: 0;
    font-size: 0.64rem;
    color: #6c584c;
}

.about-bottom-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 14px 0 0;
}

.about-bottom-cta-copy h2 {
    margin: 0 0 6px;
    font-size: 1.26rem;
    color: #b01d18;
}

.about-bottom-cta-copy p {
    margin: 0;
    max-width: 520px;
    font-size: 0.74rem;
}

.about-bottom-cta-actions {
    display: flex;
    gap: 10px;
}

.about-bottom-cta-actions .gold-btn,
.about-bottom-cta-actions .primary-btn {
    min-height: 38px;
    padding: 8px 14px;
    width: auto;
}

.donor-red-page {
    padding: 12px 0 26px;
    background:
        radial-gradient(circle at top left, rgba(248, 214, 125, 0.1), transparent 22%),
        linear-gradient(180deg, #fffdf9 0%, #fff7eb 100%);
}

.donor-hero-card {
    position: relative;
    display: grid;
    grid-template-columns: 1.02fr 0.98fr;
    overflow: hidden;
    border-radius: 6px;
    background: linear-gradient(135deg, #b11415 0%, #d8251f 58%, #f6b421 100%);
    box-shadow: 0 14px 28px rgba(95, 35, 22, 0.1);
}

.donor-hero-copy {
    padding: 16px 18px 36px;
    color: #fff;
    position: relative;
    z-index: 1;
}

.donor-hero-kicker {
    display: inline-block;
    margin: 0 0 6px;
    padding: 4px 10px;
    border-radius: 999px;
    background: #f5c533;
    color: #883309;
    font-size: 0.62rem;
    font-weight: 800;
    text-transform: uppercase;
}

.donor-hero-copy h1 {
    margin: 0 0 4px;
    font-size: 1.9rem;
    color: #fff;
}

.donor-hero-copy h2 {
    margin: 0 0 8px;
    font-size: 1.14rem;
    line-height: 1.25;
    color: #fff8da;
}

.donor-hero-copy p {
    margin: 0;
    max-width: 460px;
    color: rgba(255, 255, 255, 0.92);
    font-size: 0.74rem;
    line-height: 1.55;
}

.donor-hero-actions {
    margin-top: 12px;
}

.donor-hero-actions .primary-btn,
.donor-hero-actions .gold-btn {
    min-height: 36px;
    padding: 7px 13px;
    width: auto;
}

.donor-hero-visual {
    position: relative;
    min-height: 226px;
}

.donor-hero-visual img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    display: block;
}

.donor-hero-badge {
    position: absolute;
    top: 18px;
    right: 16px;
    max-width: 128px;
    font-size: 1.28rem;
    line-height: 0.95;
    font-style: italic;
    font-weight: 800;
    color: #c71b1e;
    text-align: right;
}

.donor-hero-curve {
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 30px;
}

.donor-hero-curve::before,
.donor-hero-curve::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    background-position: center bottom;
}

.donor-hero-curve::before {
    bottom: 8px;
    height: 14px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 160' preserveAspectRatio='none'%3E%3Cpath fill='%23f0b321' d='M0 96C112 150 246 165 396 150c148-14 256-51 386-55 144-5 250 31 378 46 108 13 190 10 280-10V160H0Z'/%3E%3C/svg%3E");
}

.donor-hero-curve::after {
    bottom: -1px;
    height: 20px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 160' preserveAspectRatio='none'%3E%3Cpath fill='%23fff8ef' d='M0 104c112 42 246 54 396 42 148-12 256-47 386-50 144-4 250 29 378 42 108 11 190 8 280-10V160H0Z'/%3E%3C/svg%3E");
}

.donor-section-grid,
.donor-support-grid,
.donor-lower-grid {
    display: grid;
    gap: 12px;
}

.donor-section-grid {
    grid-template-columns: 0.78fr 1.22fr;
    margin-top: 12px;
}

.donor-why-card,
.donor-showcase-card,
.donor-support-card,
.donor-contribution-card,
.donor-benefits-card,
.donor-testimonial-card {
    border-radius: 10px;
    border: 1px solid rgba(185, 28, 28, 0.08);
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 10px 22px rgba(95, 35, 22, 0.06);
}

.donor-why-card {
    padding: 14px;
    background: linear-gradient(180deg, #fff7ef, #fffdf9);
}

.donor-why-card h3,
.donor-type-card h3,
.donor-showcase-item h3,
.donor-support-card h3,
.donor-contribution-card h3,
.donor-benefits-card h3,
.donor-cta-card h3 {
    margin: 0 0 10px;
    color: #bf1e1d;
}

.donor-check-list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 7px;
    font-size: 0.95rem;
    color: #6e5d52;
}

.donor-check-list li {
    position: relative;
    padding-left: 16px;
}

.donor-check-list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 7px;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: linear-gradient(135deg, #f3af19, #c4201e);
}

.donor-why-book {
    width: 54px;
    height: 36px;
    margin-top: 16px;
    border-radius: 8px;
    background: linear-gradient(135deg, #e0a11a, #f7cf58);
    position: relative;
}

.donor-why-book::before,
.donor-why-book::after {
    content: "";
    position: absolute;
    top: 6px;
    bottom: 6px;
    width: 20px;
    border-radius: 4px;
    background: #fff4cd;
}

.donor-why-book::before {
    left: 6px;
}

.donor-why-book::after {
    right: 6px;
}

.donor-type-panel {
    min-width: 0;
}

.donor-heading {
    margin-bottom: 10px;
}

.donor-heading .section-kicker {
    color: #bf1e1d;
    font-size: 0.92rem;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: none;
}

.donor-heading .section-kicker::before,
.donor-heading .section-kicker::after {
    width: 30px;
    height: 10px;
    background:
        linear-gradient(#f2b126, #f2b126) center/18px 2px no-repeat,
        radial-gradient(circle, #f2b126 0 2px, transparent 3px) left center/10px 10px no-repeat,
        radial-gradient(circle, #f2b126 0 2px, transparent 3px) right center/10px 10px no-repeat;
}

.donor-type-grid,
.donor-showcase-grid,
.donor-testimonial-grid {
    display: grid;
    gap: 10px;
}

.donor-type-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.donor-type-card {
    padding: 14px 10px;
    border-radius: 10px;
    border: 1px solid rgba(185, 28, 28, 0.08);
    background: linear-gradient(180deg, #fff7ef, #fffdf8);
    text-align: center;
}

.donor-type-icon {
    width: 40px;
    height: 40px;
    margin-bottom: 8px;
}

.donor-type-icon::before {
    width: 18px;
    height: 18px;
}

.donor-type-card p {
    margin: 0;
    font-size: 0.68rem;
    line-height: 1.48;
}

.donor-showcase-card {
    margin-top: 12px;
    padding: 14px;
}

.donor-showcase-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.donor-showcase-item {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 10px;
    padding: 14px;
    border-radius: 10px;
    border: 1px solid rgba(185, 28, 28, 0.08);
    background: linear-gradient(180deg, #fff7ef, #ffffff);
    text-align: center;
    height: 100%;
}

.donor-showcase-item img {
    width: 100%;
    height: 180px;
    margin: 0;
    border-radius: 16px;
    object-fit: cover;
    object-position: center;
    display: block;
    border: 3px solid #fff0c1;
    flex-shrink: 0;
}

.donor-showcase-item h3 {
    margin: 0;
    font-size: 0.9rem;
    line-height: 1.35;
}

.donor-showcase-item p,
.donor-showcase-item strong {
    display: block;
    margin: 0;
    font-size: 0.76rem;
    line-height: 1.45;
}

.donor-showcase-item strong {
    margin-top: 5px;
    color: #bf1e1d;
    font-size: 0.84rem;
}

.donor-pagination {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    margin-top: 20px;
}

.donor-impact-strip {
    margin-top: 12px;
}

.donor-support-grid {
    grid-template-columns: 0.84fr 1.16fr;
    margin-top: 12px;
}

.donor-support-card,
.donor-contribution-card,
.donor-benefits-card {
    padding: 14px;
}

.donor-support-layout {
    display: grid;
    grid-template-columns: 108px 1fr;
    gap: 12px;
    align-items: start;
}

.donor-support-qr img {
    width: 100%;
    aspect-ratio: 1;
    object-fit: cover;
    display: block;
    border-radius: 8px;
    border: 1px solid rgba(185, 28, 28, 0.08);
}

.donor-support-copy p {
    margin: 0 0 7px;
    font-size: 0.7rem;
    line-height: 1.5;
}

.donor-support-copy .primary-btn {
    min-height: 36px;
    padding: 7px 13px;
    width: auto;
}

.donor-contribution-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 8px;
}

.donor-view-btn {
    flex: 0 0 auto;
}

.donor-table-wrap {
    overflow-x: auto;
}

.donor-contribution-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.84rem;
}

.donor-contribution-table th,
.donor-contribution-table td {
    padding: 11px 10px;
    border-bottom: 1px solid rgba(185, 28, 28, 0.08);
    text-align: left;
}

.donor-contribution-table thead th {
    color: #8d231b;
    background: #fff6e6;
}

.donor-lower-grid {
    grid-template-columns: 0.84fr 1.16fr;
    margin-top: 12px;
}

.donor-benefit-list {
    gap: 9px;
}

.donor-benefit-list li {
    color: #111;
    font-size: 0.94rem;
    line-height: 1.65;
}

.donor-why-card .donor-check-list li {
    color: #111;
    font-size: 0.94rem;
    line-height: 1.65;
}

.donor-cta-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 260px;
    gap: 16px;
    align-items: stretch;
    overflow: hidden;
    padding: 14px;
    border-radius: 10px;
    background: linear-gradient(135deg, #a81214 0%, #cf231e 56%, #f0a81a 100%);
    color: #fff;
}

.donor-cta-card h3,
.donor-cta-card p {
    color: #fff;
}

.donor-cta-card p {
    margin: 0 0 10px;
    max-width: 320px;
    font-size: 0.9rem;
    line-height: 1.48;
}

.donor-cta-card .gold-btn {
    min-height: 42px;
    padding: 9px 18px;
    width: auto;
    font-size: 0.92rem;
}

.donor-cta-card img {
    width: 100%;
    height: 100%;
    min-height: 168px;
    object-fit: cover;
    border-radius: 8px;
    display: block;
}

.donor-testimonial-card {
    margin-top: 12px;
    padding: 14px;
}

.donor-testimonial-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.donor-testimonial-item {
    padding: 12px;
    border-radius: 10px;
    background: linear-gradient(180deg, #fff7ef, #fffdf8);
    border: 1px solid rgba(185, 28, 28, 0.08);
}

.donor-testimonial-item p {
    margin: 0 0 10px;
    font-size: 0.7rem;
    line-height: 1.48;
}

.donor-testimonial-item strong,
.donor-testimonial-item span {
    display: block;
}

.donor-testimonial-item strong {
    color: #bf1e1d;
}

.donor-testimonial-item span {
    color: #7a665b;
    font-size: 0.68rem;
}

.scholar-red-page {
    padding: 10px 0 24px;
    background:
        radial-gradient(circle at top left, rgba(248, 214, 125, 0.1), transparent 22%),
        linear-gradient(180deg, #fffdf9 0%, #fff7eb 100%);
}

.scholar-hero-card {
    position: relative;
    display: grid;
    grid-template-columns: 0.88fr 1.12fr;
    overflow: hidden;
    border-radius: 4px;
    background: linear-gradient(135deg, #fffdf7 0%, #fff2dc 100%);
    box-shadow: 0 14px 28px rgba(95, 35, 22, 0.08);
}

.scholar-hero-copy {
    padding: 16px 16px 36px;
}

.scholar-hero-copy h1 {
    margin: 0 0 2px;
    color: #352015;
    font-size: 1.72rem;
}

.scholar-hero-copy h2 {
    margin: 0 0 8px;
    color: #c61f1d;
    font-size: 1.92rem;
    line-height: 1.02;
}

.scholar-hero-copy p {
    margin: 0;
    max-width: 300px;
    color: #64564d;
    font-size: 0.7rem;
    line-height: 1.5;
}

.scholar-hero-actions {
    margin-top: 12px;
}

.scholar-hero-actions .primary-btn,
.scholar-hero-actions .secondary-btn {
    min-height: 34px;
    padding: 6px 12px;
    width: auto;
}

.scholar-hero-actions .secondary-btn {
    background: rgba(255, 255, 255, 0.92);
    color: #b41d19;
    border: 1px solid rgba(185, 28, 28, 0.14);
}

.scholar-hero-visual {
    min-height: 244px;
}

.scholar-hero-visual img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    display: block;
}

.scholar-hero-curve {
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 34px;
}

.scholar-hero-curve::before,
.scholar-hero-curve::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    background-position: center bottom;
}

.scholar-hero-curve::before {
    bottom: 8px;
    height: 14px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 160' preserveAspectRatio='none'%3E%3Cpath fill='%23c71b1e' d='M0 96C112 150 246 165 396 150c148-14 256-51 386-55 144-5 250 31 378 46 108 13 190 10 280-10V160H0Z'/%3E%3C/svg%3E");
}

.scholar-hero-curve::after {
    bottom: -1px;
    height: 20px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 160' preserveAspectRatio='none'%3E%3Cpath fill='%23fff8ef' d='M0 104c112 42 246 54 396 42 148-12 256-47 386-50 144-4 250 29 378 42 108 11 190 8 280-10V160H0Z'/%3E%3C/svg%3E");
}

.scholar-section-block,
.scholar-impact-section,
.scholar-testimonial-card,
.scholar-form-wrap {
    margin-top: 12px;
}

.scholar-heading {
    margin-bottom: 10px;
}

.scholar-heading .section-kicker {
    color: #5b2d18;
    font-size: 1rem;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: none;
}

.scholar-heading .section-kicker::before,
.scholar-heading .section-kicker::after {
    width: 30px;
    height: 10px;
    background:
        linear-gradient(#f2b126, #f2b126) center/18px 2px no-repeat,
        radial-gradient(circle, #f2b126 0 2px, transparent 3px) left center/10px 10px no-repeat,
        radial-gradient(circle, #f2b126 0 2px, transparent 3px) right center/10px 10px no-repeat;
}

.scholar-program-grid,
.scholar-process-grid,
.scholar-testimonial-grid {
    display: grid;
    gap: 10px;
}

.scholar-program-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.scholar-program-card,
.scholar-info-card,
.scholar-testimonial-item {
    border-radius: 10px;
    border: 1px solid rgba(185, 28, 28, 0.08);
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 10px 22px rgba(95, 35, 22, 0.06);
}

.scholar-program-card {
    padding: 14px 12px;
    text-align: center;
}

.scholar-program-icon {
    width: 42px;
    height: 42px;
    margin-bottom: 8px;
}

.scholar-program-card h3 {
    margin: 0 0 8px;
    color: #5a301e;
    font-size: 0.82rem;
    line-height: 1.35;
}

.scholar-program-card p {
    margin: 0;
    font-size: 0.66rem;
    line-height: 1.48;
    color: #6d5f54;
}

.scholar-program-card strong {
    display: inline-block;
    margin-top: 10px;
    padding: 7px 10px;
    border-radius: 999px;
    background: #fff2df;
    color: #c21f1c;
    font-size: 0.68rem;
}

.scholar-info-grid {
    display: grid;
    grid-template-columns: 0.92fr 1.4fr 0.68fr;
    gap: 10px;
    margin-top: 12px;
}

.scholar-info-card {
    padding: 14px 12px;
}

.scholar-info-card h3 {
    margin: 0 0 10px;
    color: #5a301e;
    font-size: 0.9rem;
}

.scholar-check-list {
    gap: 9px;
    font-size: 0.95rem;
}

.scholar-process-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    align-items: start;
    gap: 8px;
}

.scholar-process-step {
    text-align: center;
    position: relative;
}

.scholar-process-step:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 20px;
    right: -10px;
    width: 18px;
    height: 2px;
    background: linear-gradient(90deg, #f0b321, #d8621a);
}

.scholar-process-icon {
    width: 36px;
    height: 36px;
    margin-bottom: 8px;
}

.scholar-process-step strong,
.scholar-testimonial-item strong,
.scholar-testimonial-item span {
    display: block;
}

.scholar-process-step strong {
    color: #bf1e1d;
    font-size: 0.72rem;
}

.scholar-process-step p {
    margin: 6px 0 0;
    color: #6e5f54;
    font-size: 0.64rem;
    line-height: 1.45;
}

.scholar-dates-card {
    text-align: center;
    background: linear-gradient(180deg, #fff6e4, #fffdf8);
}

.scholar-dates-icon {
    width: 38px;
    height: 38px;
    margin-bottom: 8px;
}

.scholar-dates-card p {
    margin: 0 0 10px;
    font-size: 0.68rem;
    line-height: 1.5;
}

.scholar-dates-card .primary-btn {
    width: auto;
    min-height: 34px;
    padding: 6px 12px;
}

.scholar-impact-strip {
    margin-top: 10px;
}

.donor-impact-strip,
.donor-impact-strip article,
.donor-impact-strip p,
.scholar-impact-strip,
.scholar-impact-strip article,
.scholar-impact-strip p {
    color: #fff !important;
}

.scholar-testimonial-card {
    padding: 14px;
    border-radius: 10px;
    border: 1px solid rgba(185, 28, 28, 0.08);
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 10px 22px rgba(95, 35, 22, 0.06);
}

.scholar-testimonial-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.scholar-testimonial-item {
    padding: 12px;
    background: linear-gradient(180deg, #fff7ef, #fffdf8);
}

.scholar-testimonial-item p {
    margin: 0 0 10px;
    font-size: 0.68rem;
    line-height: 1.5;
}

.scholar-testimonial-item strong {
    color: #bf1e1d;
}

.scholar-testimonial-item span {
    color: #7a665b;
    font-size: 0.68rem;
}

.scholar-cta-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-top: 12px;
    padding: 12px 14px;
    border-radius: 8px;
    background: linear-gradient(135deg, #981112 0%, #b91d1a 60%, #7e0e10 100%);
    color: #fff;
    box-shadow: 0 12px 24px rgba(95, 35, 22, 0.08);
}

.scholar-cta-copy {
    display: flex;
    align-items: center;
    gap: 12px;
}

.scholar-cta-copy,
.scholar-cta-copy div,
.scholar-cta-copy h3,
.scholar-cta-copy p {
    color: #fff !important;
}

.scholar-cta-icon {
    width: 44px;
    height: 44px;
    margin: 0;
    flex: 0 0 44px;
}

.scholar-cta-copy h3 {
    margin: 0 0 4px;
    color: #fff;
}

.scholar-cta-copy p {
    margin: 0;
    font-size: 0.68rem;
    color: rgba(255, 255, 255, 0.88);
}

.scholar-cta-actions {
    display: flex;
    gap: 10px;
}

.scholar-cta-actions .gold-btn,
.scholar-cta-actions .primary-btn {
    min-height: 44px;
    padding: 10px 18px;
    width: auto;
    font-size: 0.94rem;
}

.scholar-form-wrap .application-layout {
    gap: 14px;
}

.scholar-form-wrap .application-form-card,
.scholar-form-wrap .application-info-card {
    background: rgba(255, 255, 255, 0.94);
    border-radius: 12px;
}

.scholar-form-note .section-tag {
    margin-bottom: 12px;
}

.impact-highlight-icon-support::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 3 1 9l11 6 9-4.91V17h2V9L12 3Zm0 13L5 12.18V16l7 4 7-4v-3.82L12 16Z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 3 1 9l11 6 9-4.91V17h2V9L12 3Zm0 13L5 12.18V16l7 4 7-4v-3.82L12 16Z'/%3E%3C/svg%3E");
}

.gallery-red-page {
    padding: 0 0 26px;
    background:
        radial-gradient(circle at top left, rgba(248, 214, 125, 0.1), transparent 22%),
        linear-gradient(180deg, #fffdf9 0%, #fff7eb 100%);
}

.gallery-about-hero {
    margin-bottom: 10px;
}

.gallery-about-hero .about-red-hero-summary {
    max-width: 420px;
}

.uniform-page-hero {
    width: 100vw;
    max-width: none;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    margin-bottom: 10px;
}

.uniform-page-hero .about-red-hero-summary {
    max-width: 420px;
}

.uniform-page-hero .about-red-hero-kicker {
    font-size: 2rem;
}

.uniform-page-hero .about-red-hero-subtitle {
    font-size: 1.12rem;
}

.uniform-page-hero .about-red-hero-summary {
    font-size: 1.08rem;
    line-height: 1.62;
}

.scholar-red-page,
.contact-red-page,
.donor-red-page,
.fundraising-red-page {
    padding-top: 0;
}

.donor-red-page > .site-container > .uniform-page-hero {
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
}

.contact-red-page > .site-container > .uniform-page-hero {
    width: 100vw;
    max-width: none;
    margin-top: 0;
    margin-bottom: 0;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}

.contact-red-page .about-red-hero-copy > h1,
.contact-red-page .about-red-hero-copy > h2,
.contact-red-page .contact-red-heading {
    display: none;
}

.gallery-filter-strip {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    align-items: center;
    margin-top: 14px;
}

.gallery-filter-chip {
    min-height: 34px;
    padding: 7px 12px;
    border-radius: 8px;
    border: 1px solid rgba(185, 28, 28, 0.1);
    background: #fff;
    color: #6d5f54;
    font-size: 0.72rem;
    font-weight: 700;
}

.gallery-filter-chip.is-active {
    background: linear-gradient(135deg, #a81214, #cc231d);
    color: #fff;
    border-color: transparent;
}

.gallery-photo-wall {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin-top: 14px;
}

.gallery-photo-tile {
    position: relative;
    overflow: hidden;
    aspect-ratio: 1 / 1;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 10px 20px rgba(95, 35, 22, 0.08);
    cursor: pointer;
}

.gallery-photo-tile img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

.gallery-photo-tile:focus-visible {
    outline: 3px solid rgba(194, 31, 28, 0.35);
    outline-offset: 3px;
}

.gallery-photo-overlay {
    position: absolute;
    inset: auto 0 0 0;
    padding: 28px 12px 10px;
    background: linear-gradient(180deg, rgba(16, 10, 8, 0), rgba(16, 10, 8, 0.72));
    color: #fff;
}

.gallery-photo-overlay span {
    display: inline-block;
    margin-bottom: 4px;
    font-size: 0.64rem;
    color: #ffd44d;
}

.gallery-photo-overlay h3 {
    margin: 0;
    font-size: 0.8rem;
    line-height: 1.3;
    color: #fff;
}

.gallery-pagination {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    margin-top: 18px;
}

.gallery-pagination-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 42px;
    min-height: 40px;
    padding: 8px 14px;
    border-radius: 10px;
    border: 1px solid rgba(185, 28, 28, 0.16);
    background: #fff;
    color: #b31d18;
    font-size: 0.82rem;
    font-weight: 700;
    text-decoration: none;
    transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}

.gallery-pagination-link:hover {
    transform: translateY(-1px);
    box-shadow: 0 10px 20px rgba(95, 35, 22, 0.08);
}

.gallery-pagination-link.is-active {
    background: linear-gradient(135deg, #a81214, #cc231d);
    border-color: transparent;
    color: #fff;
}

.gallery-pagination-link.is-disabled {
    pointer-events: none;
    opacity: 0.45;
}

.gallery-impact-row {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin-top: 14px;
}

.gallery-impact-card {
    display: grid;
    justify-items: center;
    gap: 6px;
    padding: 16px 10px;
    border-radius: 12px;
    border: 1px solid rgba(185, 28, 28, 0.08);
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 10px 22px rgba(95, 35, 22, 0.05);
    text-align: center;
}

.gallery-impact-card .impact-highlight-icon {
    width: 30px;
    height: 30px;
    color: #c6201c;
}

.gallery-impact-card strong {
    color: #bf1e1d;
    font-size: 1.25rem;
    line-height: 1;
}

.gallery-impact-card p {
    margin: 0;
    color: #6d5f54;
    font-size: 0.7rem;
}

.gallery-bottom-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-top: 14px;
    padding: 14px 16px;
    border-radius: 8px;
    background: linear-gradient(135deg, #981112 0%, #b91d1a 60%, #7e0e10 100%);
    color: #fff;
    box-shadow: 0 12px 24px rgba(95, 35, 22, 0.08);
}

.gallery-bottom-cta-copy {
    display: flex;
    align-items: center;
    gap: 12px;
}

.gallery-bottom-icon {
    width: 46px;
    height: 46px;
    margin: 0;
    flex: 0 0 46px;
}

.gallery-bottom-cta-copy h3 {
    margin: 0 0 4px;
    color: #fff;
}

.gallery-bottom-cta-copy p {
    margin: 0;
    font-size: 0.7rem;
    color: rgba(255, 255, 255, 0.9);
}

.gallery-bottom-cta-copy,
.gallery-bottom-cta-copy div,
.gallery-bottom-cta-copy h3,
.gallery-bottom-cta-copy p {
    color: #fff !important;
}

.gallery-bottom-cta-actions {
    display: flex;
    gap: 10px;
}

.gallery-bottom-cta-actions .gold-btn,
.gallery-bottom-cta-actions .primary-btn {
    min-height: 44px;
    padding: 10px 18px;
    width: auto;
    font-size: 0.94rem;
}

.contact-red-page {
    padding: 0 0 22px;
    background:
        radial-gradient(circle at top left, rgba(248, 214, 125, 0.1), transparent 22%),
        linear-gradient(180deg, #fffdf9 0%, #fff7eb 100%);
}

.contact-red-hero {
    position: relative;
    display: grid;
    grid-template-columns: 0.82fr 1.18fr;
    overflow: hidden;
    border-radius: 4px;
    background: linear-gradient(135deg, #fffdf7 0%, #fff2dc 100%);
    box-shadow: 0 14px 28px rgba(95, 35, 22, 0.08);
}

.contact-red-hero-copy {
    padding: 16px 16px 34px;
}

.contact-red-kicker {
    margin: 0 0 4px;
    color: #c61f1d;
    font-size: 0.72rem;
    font-weight: 800;
    text-transform: uppercase;
}

.contact-red-hero-copy h1 {
    margin: 0;
    color: #352015;
    font-size: 1.7rem;
}

.contact-red-hero-copy h2 {
    margin: 0 0 6px;
    color: #c61f1d;
    font-size: 1.88rem;
    line-height: 1.02;
}

.contact-red-heading {
    justify-content: flex-start;
    text-align: left;
    margin-bottom: 6px;
}

.contact-red-heading .section-kicker {
    color: #c61f1d;
    font-size: 0.84rem;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: none;
}

.contact-red-heading .section-kicker::before,
.contact-red-heading .section-kicker::after {
    width: 28px;
    height: 10px;
    background:
        linear-gradient(#f2b126, #f2b126) center/18px 2px no-repeat,
        radial-gradient(circle, #f2b126 0 2px, transparent 3px) left center/10px 10px no-repeat,
        radial-gradient(circle, #f2b126 0 2px, transparent 3px) right center/10px 10px no-repeat;
}

.contact-red-hero-copy p:last-child {
    margin: 0;
    max-width: 300px;
    color: #64564d;
    font-size: 0.7rem;
    line-height: 1.5;
}

.contact-red-hero-visual {
    min-height: 226px;
}

.contact-red-hero-visual img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    display: block;
}

.contact-red-hero-curve {
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 34px;
}

.contact-red-hero-curve::before,
.contact-red-hero-curve::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    background-position: center bottom;
}

.contact-red-hero-curve::before {
    bottom: 8px;
    height: 14px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 160' preserveAspectRatio='none'%3E%3Cpath fill='%23b41718' d='M0 96C112 150 246 165 396 150c148-14 256-51 386-55 144-5 250 31 378 46 108 13 190 10 280-10V160H0Z'/%3E%3C/svg%3E");
}

.contact-red-hero-curve::after {
    bottom: -1px;
    height: 20px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 160' preserveAspectRatio='none'%3E%3Cpath fill='%23fff8ef' d='M0 104c112 42 246 54 396 42 148-12 256-47 386-50 144-4 250 29 378 42 108 11 190 8 280-10V160H0Z'/%3E%3C/svg%3E");
}

.contact-info-grid,
.contact-content-grid {
    display: grid;
    gap: 12px;
}

.contact-info-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-top: 12px;
}

.contact-info-card,
.contact-form-card,
.contact-map-card {
    border-radius: 12px;
    border: 1px solid rgba(185, 28, 28, 0.08);
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 10px 22px rgba(95, 35, 22, 0.06);
}

.contact-info-card {
    padding: 16px 12px;
    text-align: center;
}

.contact-info-icon {
    width: 38px;
    height: 38px;
    margin-bottom: 8px;
}

.contact-info-card h3 {
    margin: 0 0 8px;
    color: #5a301e;
    font-size: 0.84rem;
}

.contact-info-card p {
    margin: 0;
    font-size: 0.68rem;
    line-height: 1.48;
    color: #6d5f54;
}

.contact-card-line {
    width: 28px;
    height: 2px;
    margin: 12px auto 0;
    border-radius: 999px;
    background: linear-gradient(90deg, #f2b126, #d6251e);
}

.contact-content-grid {
    grid-template-columns: 1fr 1fr;
    margin-top: 12px;
}

.contact-form-card,
.contact-map-card {
    padding: 14px;
}

.contact-form-card h3,
.contact-map-card h3,
.contact-direction-card h4,
.contact-bottom-copy h3 {
    margin: 0 0 8px;
    color: #5a301e;
}

.contact-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.contact-form-message {
    grid-column: 1 / -1;
}

.contact-form-input {
    min-height: 40px;
    border-radius: 8px;
    border: 1px solid rgba(185, 28, 28, 0.12);
    background: #fffdf9;
    font-size: 0.72rem;
}

.contact-form-input.form-textarea {
    min-height: 108px;
}

.contact-submit-btn {
    grid-column: 1 / -1;
    justify-self: center;
    width: min(220px, 100%);
    min-height: 38px;
    padding: 7px 13px;
    justify-content: center;
}

.contact-map-frame {
    display: block;
    overflow: hidden;
    border-radius: 10px;
}

.contact-map-frame img {
    width: 100%;
    height: 228px;
    object-fit: cover;
    display: block;
}

.contact-map-embed {
    display: block;
    width: 100%;
    height: 300px;
    border: 0;
    background: #f5efe5;
}

.contact-direction-card {
    display: grid;
    grid-template-columns: 42px 1fr;
    gap: 12px;
    align-items: start;
    margin-top: 12px;
    padding: 12px;
    border-radius: 12px;
    background: linear-gradient(180deg, #fff7ef, #fffdf8);
}

.contact-direction-icon {
    width: 42px;
    height: 42px;
    margin: 0;
}

.contact-direction-card p {
    margin: 0;
    font-size: 0.7rem;
    color: #6d5f54;
}

.contact-direction-btn {
    grid-column: 2;
    width: auto;
    min-height: 34px;
    padding: 6px 12px;
    margin-top: 10px;
}

.contact-bottom-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-top: 12px;
    padding: 12px 14px;
    border-radius: 8px;
    background: linear-gradient(135deg, #981112 0%, #b91d1a 60%, #7e0e10 100%);
    color: #fff;
    box-shadow: 0 12px 24px rgba(95, 35, 22, 0.08);
}

.contact-bottom-copy {
    display: flex;
    align-items: center;
    gap: 12px;
}

.contact-bottom-icon {
    width: 42px;
    height: 42px;
    margin: 0;
    flex: 0 0 42px;
}

.contact-bottom-copy h3 {
    color: #fff;
    font-size: 2rem;
}

.contact-bottom-copy p {
    margin: 0;
    font-size: 0.96rem;
    color: rgba(255, 255, 255, 0.9);
}

.contact-bottom-copy,
.contact-bottom-copy div,
.contact-bottom-copy h3,
.contact-bottom-copy p {
    color: #fff !important;
}

.contact-bottom-actions {
    display: flex;
    gap: 10px;
}

.contact-bottom-actions .secondary-btn,
.contact-bottom-actions .gold-btn {
    min-height: 44px;
    padding: 10px 18px;
    width: auto;
    font-size: 0.94rem;
}

.fundraising-red-page {
    padding: 0 0 22px;
    background:
        radial-gradient(circle at top left, rgba(248, 214, 125, 0.1), transparent 22%),
        linear-gradient(180deg, #fffdf9 0%, #fff7eb 100%);
}

.fundraising-red-page > .uniform-page-hero {
    margin-top: 0;
    margin-bottom: 0;
}

.fundraising-hero-card {
    position: relative;
    display: grid;
    grid-template-columns: 0.78fr 1.22fr;
    overflow: hidden;
    border-radius: 4px;
    background: linear-gradient(135deg, #fffdf7 0%, #fff2dc 100%);
    box-shadow: 0 14px 28px rgba(95, 35, 22, 0.08);
}

.fundraising-hero-copy {
    padding: 16px 16px 32px;
}

.fundraising-hero-kicker {
    margin: 0 0 4px;
    color: #c61f1d;
    font-size: 0.7rem;
    font-weight: 800;
    text-transform: uppercase;
}

.fundraising-hero-copy h1 {
    margin: 0;
    color: #352015;
    font-size: 1.7rem;
}

.fundraising-hero-copy h2 {
    margin: 0 0 6px;
    color: #c61f1d;
    font-size: 1.86rem;
    line-height: 1.02;
}

.fundraising-hero-copy p {
    margin: 0;
    max-width: 300px;
    color: #64564d;
    font-size: 0.68rem;
    line-height: 1.46;
}

.fundraising-hero-visual {
    min-height: 214px;
}

.fundraising-hero-visual img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    display: block;
}

.fundraising-hero-curve {
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 34px;
}

.fundraising-hero-curve::before,
.fundraising-hero-curve::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    background-position: center bottom;
}

.fundraising-hero-curve::before {
    bottom: 8px;
    height: 14px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 160' preserveAspectRatio='none'%3E%3Cpath fill='%23b41718' d='M0 96C112 150 246 165 396 150c148-14 256-51 386-55 144-5 250 31 378 46 108 13 190 10 280-10V160H0Z'/%3E%3C/svg%3E");
}

.fundraising-hero-curve::after {
    bottom: -1px;
    height: 20px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 160' preserveAspectRatio='none'%3E%3Cpath fill='%23fff8ef' d='M0 104c112 42 246 54 396 42 148-12 256-47 386-50 144-4 250 29 378 42 108 11 190 8 280-10V160H0Z'/%3E%3C/svg%3E");
}

.fundraising-main-grid,
.fundraising-benefits-grid,
.fundraising-meta-grid {
    display: grid;
    gap: 10px;
}

.fundraising-main-grid {
    grid-template-columns: 0.72fr 1.28fr;
    margin-top: 12px;
}

.fundraising-qr-card,
.fundraising-form-card,
.fundraising-benefit-card,
.fundraising-meta-card {
    border-radius: 12px;
    border: 1px solid rgba(185, 28, 28, 0.08);
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 10px 22px rgba(95, 35, 22, 0.06);
}

.fundraising-qr-card,
.fundraising-form-card,
.fundraising-meta-card {
    padding: 14px;
}

.fundraising-qr-card h3,
.fundraising-form-card h2,
.fundraising-benefit-card h3,
.fundraising-meta-card h3,
.fundraising-bottom-copy h3 {
    color: #5a301e;
}

.fundraising-qr-card h3 {
    margin: 0 0 4px;
}

.fundraising-qr-card p {
    margin: 0 0 8px;
    font-size: 0.68rem;
    line-height: 1.5;
    color: #6d5f54;
}

.fundraising-qr-image {
    width: min(100%, 196px);
    margin: 0 auto 10px;
    display: block;
    border-radius: 8px;
    border: 1px solid rgba(185, 28, 28, 0.1);
}

.fundraising-upi-id {
    font-weight: 700;
    text-align: center;
}

.fundraising-upi-apps {
    display: flex;
    justify-content: center;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 10px;
    color: #5f534b;
    font-size: 0.68rem;
    font-weight: 700;
}

.fundraising-note-box {
    padding: 8px;
    border-radius: 10px;
    background: #fff5db;
}

.fundraising-note-box p {
    margin: 0;
}

.fundraising-form-card .section-heading {
    margin-bottom: 12px;
}

.fundraising-form-card .section-tag {
    margin-bottom: 8px;
}

.fundraising-form-card h2 {
    margin: 0;
    font-size: 0.94rem;
}

.fundraising-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.fundraising-submit-btn {
    grid-column: 1 / -1;
    min-height: 36px;
    padding: 6px 12px;
    justify-content: center;
}

.fundraising-form-footnote {
    margin: 8px 0 0;
    font-size: 0.68rem;
    color: #7b675d;
}

.fundraising-benefits-row {
    margin-top: 12px;
}

.fundraising-benefits-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.fundraising-benefit-card {
    padding: 14px 12px;
    text-align: center;
}

.fundraising-benefit-icon {
    width: 38px;
    height: 38px;
    margin-bottom: 8px;
}

.fundraising-benefit-card h3 {
    margin: 0 0 8px;
    font-size: 0.8rem;
}

.fundraising-benefit-card p {
    margin: 0;
    color: #6d5f54;
    font-size: 0.66rem;
    line-height: 1.48;
}

.fundraising-meta-grid {
    grid-template-columns: 1.12fr 0.88fr;
    margin-top: 12px;
}

.fundraising-meta-card .donor-contribution-table {
    margin-bottom: 12px;
}

.fundraising-meta-card .donor-view-btn {
    width: auto;
}

.fundraising-bottom-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-top: 12px;
    padding: 12px 14px;
    border-radius: 8px;
    background: linear-gradient(135deg, #981112 0%, #b91d1a 60%, #7e0e10 100%);
    color: #fff;
    box-shadow: 0 12px 24px rgba(95, 35, 22, 0.08);
}

.fundraising-bottom-copy {
    display: flex;
    align-items: center;
    gap: 12px;
}

.fundraising-bottom-copy h3 {
    margin: 0 0 4px;
    color: #fff;
}

.fundraising-bottom-copy p {
    margin: 0;
    font-size: 0.66rem;
    color: #fff;
}

.fundraising-bottom-actions {
    display: flex;
    gap: 10px;
}

.fundraising-bottom-actions .gold-btn,
.fundraising-bottom-actions .secondary-btn {
    min-height: 42px;
    padding: 10px 20px;
    width: auto;
    color: #9a5511;
    background: linear-gradient(180deg, #ffe8a3 0%, #ffd365 100%);
    border: 1px solid rgba(231, 168, 49, 0.52);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.45);
    font-size: 0.84rem;
}

.gallery-modal[hidden] {
    display: none;
}

.gallery-modal {
    position: fixed;
    inset: 0;
    z-index: 400;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: rgba(16, 10, 8, 0.9);
    backdrop-filter: blur(6px);
}

.gallery-modal-dialog {
    position: relative;
    width: min(100%, 960px);
}

.gallery-modal-content {
    margin: 0 auto;
}

.gallery-modal-content img {
    width: 100%;
    max-height: 78vh;
    object-fit: contain;
    display: block;
    border-radius: 10px;
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.32);
    background: #fff;
}

.gallery-modal-caption {
    padding-top: 10px;
    text-align: center;
}

.gallery-modal-caption span {
    display: inline-block;
    margin-bottom: 4px;
    color: #ffd44d;
    font-size: 0.74rem;
    font-weight: 700;
}

.gallery-modal-caption h3 {
    margin: 0;
    color: #fff;
    font-size: 1rem;
}

.gallery-modal-close,
.gallery-modal-nav {
    border: 0;
    color: #fff;
    background: linear-gradient(135deg, #9f1618, #d62f22);
    box-shadow: 0 14px 28px rgba(0, 0, 0, 0.28);
    cursor: pointer;
    z-index: 2;
    transition: transform 0.18s ease, box-shadow 0.18s ease, opacity 0.18s ease;
}

.gallery-modal-close {
    position: absolute;
    top: 16px;
    right: 16px;
    min-width: 96px;
    min-height: 42px;
    padding: 0 18px;
    border-radius: 999px;
    font-size: 0.92rem;
    font-weight: 700;
}

.gallery-modal-actions {
    display: flex;
    justify-content: center;
    gap: 12px;
    margin-top: 16px;
}

.gallery-modal-nav {
    min-width: 110px;
    min-height: 44px;
    padding: 0 18px;
    border-radius: 999px;
    font-size: 0.92rem;
    font-weight: 700;
}

.gallery-modal-close:hover,
.gallery-modal-nav:hover {
    transform: translateY(-1px);
    box-shadow: 0 18px 32px rgba(0, 0, 0, 0.34);
}

.gallery-modal-close:focus-visible,
.gallery-modal-nav:focus-visible {
    outline: 3px solid rgba(255, 212, 77, 0.9);
    outline-offset: 2px;
}

.gallery-modal-nav[disabled] {
    opacity: 0.45;
    cursor: not-allowed;
}

.donor-chip-card span {
    color: var(--vf-muted);
    font-size: 0.86rem;
}

.hero-section {
    padding: 42px 0 30px;
}

.homepage-hero {
    padding: 0;
    width: 100%;
}

.hero-slider {
    position: relative;
    width: 100%;
    min-height: 72vh;
    overflow: hidden;
    background: #2f1616;
}

.hero-slider::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(20, 12, 8, 0.16), rgba(20, 12, 8, 0.34));
    pointer-events: none;
}

.hero-slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.7s ease, visibility 0.7s ease;
}

.hero-slide.is-active {
    opacity: 1;
    visibility: visible;
}

.hero-slide img {
    width: 100%;
    height: 100%;
    min-height: 72vh;
    object-fit: cover;
    display: block;
}

.hero-slider-control {
    position: absolute;
    top: 50%;
    z-index: 2;
    transform: translateY(-50%);
    width: 56px;
    height: 56px;
    display: grid;
    place-items: center;
    border: 0;
    border-radius: 999px;
    color: var(--vf-white);
    background: rgba(255, 255, 255, 0.18);
    backdrop-filter: blur(8px);
    transition: background 0.2s ease, transform 0.2s ease;
}

.hero-slider-control:hover {
    background: rgba(255, 255, 255, 0.3);
    transform: translateY(-50%) scale(1.04);
}

.hero-slider-control span {
    font-size: 2.2rem;
    line-height: 1;
}

.hero-slider-prev {
    left: 24px;
}

.hero-slider-next {
    right: 24px;
}

.hero-slider-dots {
    position: absolute;
    left: 50%;
    bottom: 28px;
    z-index: 2;
    display: flex;
    align-items: center;
    gap: 12px;
    transform: translateX(-50%);
}

.hero-slider-dot {
    width: 12px;
    height: 12px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.52);
    transition: width 0.2s ease, background 0.2s ease;
}

.hero-slider-dot.is-active {
    width: 42px;
    background: var(--vf-white);
}

.hero-copy-rich {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(255, 248, 233, 0.94)),
        linear-gradient(135deg, rgba(245, 158, 11, 0.08), rgba(185, 28, 28, 0.06));
}

.hero-photo-panel {
    position: relative;
    min-height: 100%;
    border-radius: var(--vf-radius-lg);
    overflow: hidden;
    box-shadow: var(--vf-shadow);
}

.hero-photo-panel img {
    width: 100%;
    height: 100%;
    min-height: 560px;
    object-fit: cover;
    display: block;
}

.hero-floating-card {
    position: absolute;
    left: 22px;
    right: 22px;
    bottom: 22px;
    padding: 24px;
    border-radius: 22px;
    background: rgba(122, 20, 20, 0.84);
    backdrop-filter: blur(10px);
    color: var(--vf-white);
}

.hero-floating-card h2,
.hero-floating-card p {
    color: var(--vf-white);
}

.hero-highlight-card {
    height: 100%;
    display: grid;
    grid-template-columns: 112px 1fr;
    gap: 16px;
    align-items: center;
    padding: 18px;
    border-radius: var(--vf-radius-md);
    background: rgba(255, 255, 255, 0.88);
    border: 1px solid var(--vf-border);
    box-shadow: var(--vf-shadow);
}

.hero-highlight-card img {
    width: 112px;
    height: 112px;
    border-radius: 18px;
    object-fit: cover;
}

.hero-highlight-card h3 {
    margin: 0 0 8px;
    color: var(--vf-red-dark);
}

.hero-grid {
    display: grid;
    grid-template-columns: 1.2fr 0.8fr;
    gap: 26px;
    align-items: stretch;
}

.hero-copy,
.hero-card-panel,
.info-card,
.module-card,
.split-banner {
    background: rgba(255, 255, 255, 0.78);
    border: 1px solid rgba(185, 28, 28, 0.08);
    box-shadow: var(--vf-shadow);
}

.hero-copy {
    padding: 42px;
    border-radius: var(--vf-radius-lg);
    position: relative;
}

.section-tag {
    display: inline-flex;
    padding: 8px 14px;
    border-radius: 999px;
    background: rgba(245, 158, 11, 0.14);
    color: var(--vf-red-dark);
    font-family: "Times New Roman", Times, serif;
    font-size: 0.82rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.hero-copy h1,
.content-section h2,
.split-banner h2 {
    margin: 18px 0 14px;
    line-height: 1.08;
    color: #741616;
}

.hero-copy h1 {
    font-size: clamp(2.35rem, 5vw, 4.5rem);
}

.hero-copy p,
.content-section p,
.split-banner p,
.footer-grid p {
    font-family: "Times New Roman", Times, serif;
    color: var(--vf-muted);
    line-height: 1.7;
}

.hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 16px;
}

.hero-showcase-copy .primary-btn,
.hero-showcase-copy .secondary-btn {
    min-height: 48px;
    padding: 11px 20px;
    font-size: 0.95rem;
    box-shadow: none;
}

.hero-showcase-copy .primary-btn {
    color: #4f2500;
    background: linear-gradient(135deg, #f9ca4d, #ec9800);
}

.hero-showcase-copy .secondary-btn {
    color: var(--vf-white);
    background: rgba(122, 15, 12, 0.65);
    border: 1px solid rgba(255, 255, 255, 0.18);
}

.hero-metrics {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin-top: 30px;
}

.hero-metrics div {
    padding: 16px;
    border-radius: var(--vf-radius-md);
    background: linear-gradient(180deg, rgba(255, 249, 239, 0.95), rgba(255, 255, 255, 0.85));
    border: 1px solid rgba(245, 158, 11, 0.22);
}

.hero-metrics strong,
.mini-label,
.module-card h3,
.info-card h3 {
    display: block;
}

.hero-metrics strong {
    font-size: 1.65rem;
    color: var(--vf-red-dark);
    margin-bottom: 6px;
}

.hero-card {
    display: flex;
}

.hero-card-panel {
    width: 100%;
    border-radius: var(--vf-radius-lg);
    padding: 34px;
    background:
        linear-gradient(180deg, rgba(127, 29, 29, 0.95), rgba(185, 28, 28, 0.92)),
        linear-gradient(180deg, rgba(245, 158, 11, 0.18), rgba(255, 255, 255, 0));
    color: var(--vf-white);
}

.hero-card-panel h2,
.hero-card-panel p,
.hero-card-panel li,
.mini-label {
    color: var(--vf-white);
}

.mini-label {
    margin: 0 0 10px;
    font-family: "Times New Roman", Times, serif;
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    opacity: 0.8;
}

.feature-list {
    margin: 24px 0 0;
    padding-left: 20px;
    display: grid;
    gap: 12px;
    font-family: "Times New Roman", Times, serif;
}

.content-section {
    padding: 26px 0 34px;
}

.warm-section {
    background: linear-gradient(180deg, rgba(255, 246, 227, 0.85), rgba(255, 255, 255, 0));
}

.two-column-section {
    display: grid;
    grid-template-columns: 0.95fr 1.05fr;
    gap: 26px;
    align-items: start;
}

.info-card-grid,
.home-module-grid {
    display: grid;
    gap: 18px;
}

.info-card-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.info-card,
.module-card {
    border-radius: var(--vf-radius-md);
    padding: 24px;
}

.section-heading {
    margin-bottom: 22px;
    max-width: 720px;
}

.home-module-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.module-card {
    min-height: 190px;
}

.enhanced-card {
    overflow: hidden;
    padding: 0;
}

.enhanced-card h3,
.enhanced-card p,
.enhanced-card .amount-text {
    margin-left: 24px;
    margin-right: 24px;
}

.enhanced-card h3 {
    margin-top: 18px;
}

.enhanced-card .amount-text {
    margin-bottom: 24px;
}

.image-card-grid .module-card {
    min-height: auto;
}

.record-photo-wrap {
    position: relative;
    overflow: hidden;
}

.record-photo {
    width: 100%;
    height: 240px;
    object-fit: cover;
    display: block;
}

.step-grid,
.dual-promo-grid,
.impact-band,
.timeline-list,
.application-layout,
.form-grid {
    display: grid;
    gap: 18px;
}

.step-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.step-card,
.promo-card,
.impact-card,
.timeline-card,
.application-form-card,
.application-info-card {
    border-radius: var(--vf-radius-md);
    background: rgba(255, 255, 255, 0.82);
    border: 1px solid var(--vf-border);
    box-shadow: var(--vf-shadow);
}

.step-card {
    padding: 24px;
}

.step-card span,
.timeline-card span {
    display: inline-grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    margin-bottom: 14px;
    font-family: "Times New Roman", Times, serif;
    font-weight: 700;
    color: var(--vf-white);
    background: linear-gradient(135deg, var(--vf-red-dark), var(--vf-red), var(--vf-gold));
}

.dual-promo-grid {
    grid-template-columns: 1fr 1fr;
}

.promo-card,
.impact-card,
.application-form-card,
.application-info-card {
    padding: 28px;
}

.promo-student {
    background: linear-gradient(180deg, rgba(255, 251, 240, 0.95), rgba(255, 255, 255, 0.9));
}

.promo-donor {
    background: linear-gradient(180deg, rgba(255, 245, 229, 0.95), rgba(255, 255, 255, 0.9));
}

.impact-band {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.impact-card h3,
.promo-card h3,
.application-info-card h3,
.timeline-card h3 {
    margin: 0 0 12px;
    color: var(--vf-red-dark);
}

.amount-text {
    display: inline-block;
    margin-top: 12px;
    font-family: "Times New Roman", Times, serif;
    font-size: 1.1rem;
    color: var(--vf-red-dark);
}

.student-card p,
.event-card p {
    margin-bottom: 10px;
}

.mini-date {
    margin: 0 0 12px;
    color: var(--vf-red);
    font-family: "Times New Roman", Times, serif;
    font-weight: 700;
}

.inner-hero .hero-copy {
    max-width: 900px;
}

.timeline-list {
    align-content: start;
}

.timeline-card {
    padding: 22px;
    display: flex;
    gap: 16px;
    align-items: flex-start;
}

.application-layout {
    grid-template-columns: 1.3fr 0.7fr;
    align-items: start;
}

.compact-heading {
    margin-bottom: 16px;
}

.application-form,
.application-info-card {
    font-family: "Times New Roman", Times, serif;
}

.bootstrap-form-card {
    padding: 34px;
}

.bootstrap-control {
    border-radius: 14px;
    border: 1px solid rgba(185, 28, 28, 0.16);
    padding: 0.9rem 1rem;
    background: rgba(255, 255, 255, 0.92);
}

.bootstrap-control:focus {
    box-shadow: 0 0 0 0.2rem rgba(185, 28, 28, 0.14);
    border-color: rgba(185, 28, 28, 0.4);
}

.bootstrap-submit-btn {
    background: linear-gradient(135deg, var(--vf-red-dark), var(--vf-red), var(--vf-gold));
    color: var(--vf-white);
    border: 0;
    border-radius: 999px;
    padding: 14px 28px;
    font-weight: 700;
}

.bootstrap-submit-btn:hover {
    color: var(--vf-white);
    transform: translateY(-1px);
}

.form-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.form-block {
    display: grid;
    gap: 8px;
    margin-bottom: 16px;
}

.form-textarea {
    min-height: 120px;
    resize: vertical;
}

.file-input {
    padding-block: 10px;
    background: var(--vf-white);
}

.form-submit-btn {
    border: 0;
    cursor: pointer;
    font-size: 1rem;
}

.success-alert {
    background: #dcfce7;
    color: #166534;
    border: 1px solid #bbf7d0;
    padding: 14px 16px;
    border-radius: 14px;
    margin-bottom: 18px;
    font-family: "Times New Roman", Times, serif;
}

.field-error {
    color: #b91c1c;
    font-family: "Times New Roman", Times, serif;
    font-size: 0.86rem;
}

.dark-list li {
    color: var(--vf-ink);
}

.gallery-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.gallery-card {
    border-radius: var(--vf-radius-md);
    overflow: hidden;
    background: rgba(255, 255, 255, 0.9);
    border: 1px solid var(--vf-border);
    box-shadow: var(--vf-shadow);
}

.gallery-card img {
    width: 100%;
    height: 230px;
    object-fit: cover;
    display: block;
}

.admin-image-preview {
    margin-top: 12px;
}

.admin-image-preview img,
.table-thumb {
    width: 72px;
    height: 72px;
    object-fit: cover;
    border-radius: 12px;
    border: 1px solid rgba(185, 28, 28, 0.12);
}

.muted-inline {
    color: var(--vf-muted);
    font-size: 0.9rem;
}

.gallery-card-body {
    padding: 18px;
}

.gallery-thumb-row {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 14px;
}

.gallery-mini-thumb {
    width: 58px;
    height: 58px;
    object-fit: cover;
    border-radius: 10px;
    border: 1px solid rgba(185, 28, 28, 0.12);
}

.qr-image {
    width: min(100%, 260px);
    border-radius: var(--vf-radius-md);
    display: block;
    margin: 18px 0;
    border: 1px solid var(--vf-border);
    box-shadow: var(--vf-shadow);
}

.module-card h3,
.info-card h3,
.site-footer h3,
.site-footer h4 {
    margin: 0 0 12px;
    color: var(--vf-red-dark);
}

.accent-section {
    padding-bottom: 52px;
}

.split-banner {
    border-radius: var(--vf-radius-lg);
    padding: 28px 30px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    background: linear-gradient(135deg, rgba(255, 247, 227, 0.92), rgba(255, 255, 255, 0.92));
}

.site-footer {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.08), transparent 28%),
        linear-gradient(180deg, #9f1010, #841313 48%, #6f1111);
    color: rgba(255, 255, 255, 0.9);
    margin-top: 20px;
}

.footer-layout {
    display: grid;
    grid-template-columns: 1.15fr 0.8fr 0.9fr 1fr 1.1fr;
    gap: 22px;
    padding: 28px 0 20px;
}

.footer-brand-column,
.footer-link-column,
.footer-scholarship-column,
.footer-contact-column,
.footer-donate-column {
    border-right: 1px solid rgba(255, 255, 255, 0.14);
    padding-right: 20px;
}

.footer-brand-head {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 12px;
}

.footer-brand-mark {
    width: 62px;
    height: 62px;
    display: grid;
    place-items: center;
    flex: 0 0 62px;
    background: #ffffff;
    border: 2px solid rgba(255, 255, 255, 0.18);
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.16);
    overflow: hidden;
    flex-shrink: 0;
    border-radius: 50%;
    padding: 6px;
}

.footer-brand-mark img {
    width: 92%;
    height: 92%;
    object-fit: contain;
    display: block;
}

.hero-banner-image,
.donation-qr-card img,
.footer-qr-image,
.fundraising-qr-image,
.what-we-do-card img,
.recent-gallery-card img,
.about-red-hero-card img,
.about-intro-photo img,
.about-team-card img,
.donor-hero-visual img,
.donor-support-qr img,
.donor-cta-card img,
.scholar-hero-visual img,
.contact-red-hero-visual img,
.contact-map-frame img,
.fundraising-hero-visual img,
.hero-photo-panel img,
.hero-highlight-card img,
.events-page-card-image-wrap img,
.events-page-sidebar-event img,
.event-detail-related-item img {
    object-fit: contain;
    object-position: center;
    background: #fff8ef;
}

.hero-banner-image {
    object-fit: cover;
    object-position: calc(var(--editor-fit-x, 50) * 1%) calc(var(--editor-fit-y, 50) * 1%);
    transform: scale(var(--editor-fit-scale, 1));
    transform-origin: center center;
    background: transparent;
}

@media (min-width: 768px) {
    .home-hero-shell .hero-showcase-card {
        height: 400px !important;
        min-height: 400px !important;
    }

    .home-hero-shell .hero-showcase-media {
        padding: 0 !important;
        display: flex;
        align-items: stretch;
    }

    .home-hero-shell .hero-banner-image {
        height: 100% !important;
        min-height: 100% !important;
        border-radius: 0;
        box-shadow: none;
    }

    .home-hero-shell .hero-showcase-copy {
        padding: 18px 22px 36px 38px !important;
    }
}

.about-red-hero-card img {
    object-fit: cover;
    object-position: calc(var(--editor-fit-x, 50) * 1%) calc(var(--editor-fit-y, 50) * 1%);
    background: transparent;
}

.about-intro-photo img {
    object-fit: cover;
    object-position: calc(var(--editor-fit-x, 50) * 1%) calc(var(--editor-fit-y, 50) * 1%);
    transform: scale(var(--editor-fit-scale, 1));
    transform-origin: center center;
    background: transparent;
}

.donor-showcase-item img {
    object-fit: contain;
    object-position: center;
    border-radius: 16px;
    background: #fff8ef;
}

.site-footer h3,
.site-footer h4,
.footer-links a,
.footer-bottom a {
    color: var(--vf-white);
}

.site-footer h3 {
    font-size: 1.2rem;
    margin-bottom: 6px;
}

.site-footer h4 {
    font-size: 1.05rem;
    margin-bottom: 12px;
    position: relative;
    padding-bottom: 8px;
    text-transform: none;
}

.site-footer h4::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 46px;
    height: 2px;
    background: rgba(255, 223, 126, 0.9);
}

.footer-brand-copy,
.footer-donate-copy p {
    margin: 0;
    line-height: 1.55;
    font-family: "Times New Roman", Times, serif;
    font-size: 0.96rem;
}

.footer-links {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    gap: 6px;
    font-family: "Times New Roman", Times, serif;
}

.footer-links li {
    position: relative;
    padding-left: 12px;
}

.footer-links li::before {
    content: "»";
    position: absolute;
    left: 0;
    top: 0;
    color: #ffd966;
    font-size: 0.82rem;
}

.footer-links a,
.footer-bottom a {
    text-decoration: none;
    font-size: 0.95rem;
}

.footer-links a:hover,
.footer-bottom a:hover {
    color: #ffe7a3;
}

.footer-contact-column {
    display: grid;
    align-content: start;
    gap: 10px;
}

.footer-contact-social-links {
    margin-top: 8px;
}

.footer-contact-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 8px;
    font-family: "Times New Roman", Times, serif;
    font-size: 0.96rem;
}

.footer-contact-list li {
    display: grid;
    grid-template-columns: 16px 1fr;
    gap: 8px;
    align-items: start;
    line-height: 1.55;
}

.footer-contact-icon,
.footer-donate-copy strong {
    color: #ffe7a3;
}

.footer-contact-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    transform: translateY(2px);
}

.footer-contact-icon svg {
    width: 16px;
    height: 16px;
    display: block;
}

.footer-donate-column {
    display: grid;
    align-content: start;
}

.footer-donate-panel {
    display: grid;
    grid-template-columns: 108px 1fr;
    gap: 12px;
    align-items: start;
}

.footer-donate-copy {
    display: grid;
    gap: 8px;
    align-content: start;
}

.footer-payment-title {
    margin: 2px 0 4px;
    color: #ffffff;
    font-size: 0.96rem;
    font-weight: 700;
    font-family: "Times New Roman", Times, serif;
}

.footer-bottom {
    border-top: 1px solid rgba(255, 255, 255, 0.12);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 14px 0 18px;
    font-family: "Times New Roman", Times, serif;
    font-size: 0.9rem;
    color: rgba(255, 255, 255, 0.72);
    text-align: center;
}

.footer-bottom p {
    margin: 0;
}

.footer-scholarship-column {
    display: grid;
    align-content: start;
    gap: 12px;
}

.footer-scholarship-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 10px;
}

.footer-scholarship-head h4 {
    margin: 0;
}

.footer-scholarship-head h4::after {
    display: block;
}

.footer-scholarship-count {
    margin: 0;
    color: rgba(255, 255, 255, 0.82);
    font-size: 0.95rem;
    line-height: 1.65;
}

.footer-scholarship-count strong {
    color: #f8c85c;
    font-size: 1.15rem;
}

.footer-scholarship-marquee {
    position: relative;
    padding: 4px 0;
}

.footer-scholarship-marquee.is-marquee {
    overflow: hidden;
    height: var(--footer-student-marquee-height, 248px);
}

.footer-scholarship-marquee::before,
.footer-scholarship-marquee::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    height: 18px;
    z-index: 1;
    pointer-events: none;
}

.footer-scholarship-marquee::before {
    top: 0;
    background: linear-gradient(180deg, rgba(123, 16, 16, 0.96), rgba(123, 16, 16, 0));
}

.footer-scholarship-marquee::after {
    bottom: 0;
    background: linear-gradient(0deg, rgba(123, 16, 16, 0.96), rgba(123, 16, 16, 0));
}

.footer-scholarship-track {
    display: grid;
    gap: 10px;
}

.footer-scholarship-marquee.is-marquee .footer-scholarship-track {
    animation: footerScholarshipMarquee var(--footer-student-marquee-duration, 10s) linear infinite;
}

.footer-scholarship-marquee.is-marquee:hover .footer-scholarship-track {
    animation-play-state: paused;
}

.footer-scholarship-pill {
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 40px;
    padding: 10px 14px;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.94);
    color: #8b1515;
    font-size: 0.92rem;
    font-weight: 700;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.14);
}

@keyframes footerScholarshipMarquee {
    from {
        transform: translateY(0);
    }
    to {
        transform: translateY(calc(-50% - 5px));
    }
}

/* Improve readability for frontend paragraph content on light sections. */
.feature-intro-card p,
.feature-info-card p,
.what-we-do-body p,
.about-pillar-card p,
.about-value-card p,
.about-intro-copy p,
.about-team-card p,
.about-bottom-impact p,
.about-bottom-cta-copy p,
.donor-hero-copy p,
.donor-type-card p,
.donor-support-copy p,
.donor-testimonial-item p,
.scholar-hero-copy p,
.scholar-program-card p,
.scholar-process-step p,
.scholar-dates-card p,
.scholar-testimonial-item p,
.scholar-cta-copy p,
.gallery-impact-card p,
.gallery-bottom-cta-copy p,
.contact-info-card p,
.contact-direction-card p,
.contact-bottom-copy p,
.fundraising-hero-copy p,
.fundraising-qr-card p,
.fundraising-note-box p,
.fundraising-benefit-card p,
.fundraising-bottom-copy p,
.events-page-hero-copy p,
.events-page-card p,
.events-page-cta-copy p,
.event-detail-content p,
.about-objective-list,
.about-objective-list li {
    color: #000000;
    font-size: 1.04rem;
    line-height: 1.8;
}

.fundraising-hero-copy p,
.fundraising-bottom-copy p {
    color: #ffffff;
}

.about-intro-copy p {
    font-size: 1.04rem;
    line-height: 1.8;
}

.site-page p,
.site-footer p {
    font-size: 1.04rem;
}

.feature-info-card h3,
.what-we-do-body h3,
.about-pillar-card h3,
.about-value-card h3,
.about-team-card h3,
.donor-why-card h3,
.donor-type-card h3,
.donor-showcase-item h3,
.donor-support-card h3,
.donor-contribution-card h3,
.donor-benefits-card h3,
.scholar-program-card h3,
.scholar-info-card h3,
.contact-info-card h3,
.contact-form-card h3,
.contact-map-card h3,
.fundraising-qr-card h3,
.fundraising-benefit-card h3,
.fundraising-meta-card h3,
.events-page-card-copy h3,
.events-page-empty h3,
.events-page-sidebar-card h3 {
    font-size: 1.2rem;
    line-height: 1.4;
}

.impact-highlight-box span,
.education-banner-copy span,
.donor-chip-card span,
.donor-testimonial-item span,
.scholar-testimonial-item span,
.events-page-breadcrumb span,
.events-page-hero-stat span,
.events-page-card-date span,
.events-page-sidebar-date span,
.event-detail-summary-list span {
    font-size: 0.95rem;
    line-height: 1.6;
}

.footer-bottom-links {
    display: flex;
    align-items: center;
    gap: 14px;
}

.footer-social-links {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
    margin-top: 16px;
}

.footer-social-icon {
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 13px;
    color: #ffffff;
    background: #c81e1e;
    border: 0;
    box-shadow: 0 10px 20px rgba(15, 23, 42, 0.22);
    transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
}

.footer-qr-image {
    width: 96px;
    height: 96px;
    aspect-ratio: 1;
    object-fit: contain;
    background: #ffffff;
    border-radius: 6px;
    border: 4px solid rgba(255, 255, 255, 0.16);
    padding: 5px;
}

.footer-payment-row {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin-top: 0;
}

.footer-payment-badge {
    min-width: 50px;
    padding: 5px 7px;
    border-radius: 6px;
    background: rgba(255, 255, 255, 0.92);
    color: #841313;
    font-size: 0.82rem;
    font-weight: 800;
    text-align: center;
}

.footer-social-icon:hover {
    transform: translateY(-3px);
    box-shadow: 0 14px 26px rgba(15, 23, 42, 0.28);
    filter: saturate(1.08);
}

.footer-social-icon svg {
    width: 19px;
    height: 19px;
}

.social-facebook {
    background: linear-gradient(180deg, #2f88ff 0%, #1660d8 100%);
    color: #ffffff;
}

.social-instagram {
    background: linear-gradient(135deg, #feda75 0%, #fa7e1e 22%, #d62976 52%, #962fbf 78%, #4f5bd5 100%);
    color: #ffffff;
}

.social-youtube {
    background: linear-gradient(180deg, #ff2d2d 0%, #e10606 100%);
    color: #ffffff;
}

.social-twitter {
    background: linear-gradient(180deg, #2f2f34 0%, #111111 100%);
    color: #ffffff;
}

.floating-instagram,
.floating-whatsapp {
    position: fixed;
    right: 22px;
    width: 62px;
    height: 62px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    overflow: hidden;
    background: #25d366;
    color: #ffffff;
    box-shadow: 0 18px 32px rgba(37, 211, 102, 0.35);
    z-index: 999;
}

.floating-instagram {
    bottom: 96px;
    background: linear-gradient(180deg, #fdcc5c 0%, #d62976 45%, #962fbf 78%, #4f5bd5 100%);
    color: #ffffff;
    box-shadow: 0 18px 32px rgba(214, 41, 118, 0.32);
}

.floating-whatsapp {
    bottom: 22px;
    background: #25d366;
    color: #ffffff;
    box-shadow: 0 18px 32px rgba(37, 211, 102, 0.35);
}

.floating-instagram svg,
.floating-whatsapp svg {
    display: block;
    flex: none;
    width: 32px;
    height: 32px;
}

.contact-social-links {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 16px;
}

.contact-social-links a {
    font-weight: 700;
    color: var(--vf-red-dark);
}

.events-page-hero {
    position: relative;
    overflow: hidden;
    color: var(--vf-white);
    background:
        linear-gradient(90deg, rgba(125, 10, 10, 0.94), rgba(149, 14, 14, 0.9)),
        url("https://images.unsplash.com/photo-1492684223066-81342ee5ff30?auto=format&fit=crop&w=1600&q=80") center/cover;
    border-bottom: 3px solid #f2b705;
}

.events-page-hero::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 26px;
    background: var(--vf-white);
    clip-path: ellipse(58% 100% at 50% 100%);
}

.events-page-hero-inner {
    position: relative;
    z-index: 1;
    min-height: 300px;
    display: grid;
    grid-template-columns: 1fr 270px;
    gap: 28px;
    align-items: center;
    padding: 38px 0 52px;
}

.events-page-eyebrow {
    margin: 0 0 10px;
    font-size: 2.2rem;
    font-weight: 700;
    font-family: Georgia, "Times New Roman", serif;
}

.events-page-hero-copy h1 {
    max-width: 660px;
    margin-bottom: 12px;
    font-size: 1rem;
}

.events-page-hero-copy p {
    max-width: 580px;
    margin: 0;
    color: rgba(255, 255, 255, 0.84);
    font-family: "Times New Roman", Times, serif;
}

.events-page-breadcrumb {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 18px;
    font-size: 0.78rem;
    font-weight: 700;
}

.events-page-breadcrumb a,
.events-page-breadcrumb span {
    color: #ffe4a8;
    text-decoration: none;
}

.events-page-hero-stat {
    display: grid;
    grid-template-columns: 52px 1fr;
    gap: 12px;
    align-items: center;
    padding: 18px 20px;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.96);
    color: var(--vf-red-dark);
    box-shadow: 0 18px 34px rgba(0, 0, 0, 0.18);
}

.events-page-stat-icon {
    width: 52px;
    height: 52px;
    display: grid;
    place-items: center;
    border-radius: 14px;
    background: rgba(185, 28, 28, 0.08);
    font-size: 1.4rem;
}

.events-page-hero-stat small,
.events-page-hero-stat span {
    display: block;
    font-family: "Times New Roman", Times, serif;
}

.events-page-hero-stat strong {
    display: block;
    color: #dc2626;
    font-size: 2rem;
    line-height: 1;
}

.events-page-section {
    padding: 24px 0 54px;
}

.events-page-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 28px;
    align-items: start;
}

.events-page-toolbar {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 18px;
}

.events-page-toolbar h2 {
    margin: 8px 0 0;
    font-size: 1.15rem;
}

.events-page-sort-chip {
    padding: 10px 14px;
    border-radius: 12px;
    border: 1px solid rgba(185, 28, 28, 0.12);
    background: rgba(255, 255, 255, 0.94);
    font-size: 0.78rem;
    font-weight: 700;
    color: var(--vf-muted);
}

.events-page-list {
    display: grid;
    gap: 18px;
}

.events-page-card {
    display: grid;
    grid-template-columns: 176px 82px minmax(0, 1fr);
    gap: 16px;
    padding: 14px;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.96);
    border: 1px solid rgba(185, 28, 28, 0.12);
    box-shadow: 0 16px 36px rgba(127, 29, 29, 0.08);
}

.events-page-card-image-wrap {
    overflow: hidden;
    border-radius: 14px;
}

.events-page-card-image-wrap img {
    width: 100%;
    height: 100%;
    min-height: 168px;
    object-fit: cover;
    display: block;
}

.events-page-card-date {
    display: grid;
    align-content: start;
    justify-items: center;
    padding-top: 6px;
    color: var(--vf-red-dark);
    text-align: center;
    font-family: Georgia, "Times New Roman", serif;
}

.events-page-card-date strong {
    font-size: 2rem;
    line-height: 1;
}

.events-page-card-date span {
    font-size: 0.9rem;
    color: #dc2626;
}

.events-page-card-date small {
    font-size: 0.72rem;
    color: var(--vf-muted);
}

.events-page-card-copy {
    display: grid;
    align-content: start;
    gap: 10px;
}

.events-page-category-pill {
    display: inline-flex;
    justify-self: start;
    align-items: center;
    padding: 5px 10px;
    border-radius: 999px;
    background: rgba(251, 191, 36, 0.16);
    color: #9a3412;
    font-size: 0.7rem;
    font-weight: 700;
}

.events-page-card-copy h3,
.events-page-empty h3,
.events-page-sidebar-card h3,
.events-page-sidebar-event h4,
.events-page-cta-copy h3 {
    margin: 0;
}

.events-page-card-copy p,
.events-page-empty p,
.events-page-sidebar-card p,
.events-page-sidebar-event p,
.events-page-cta-copy p {
    margin: 0;
    color: var(--vf-muted);
    line-height: 1.65;
    font-family: "Times New Roman", Times, serif;
}

.events-page-meta,
.events-page-sidebar-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 16px;
    color: var(--vf-muted);
    font-size: 0.76rem;
    font-weight: 700;
}

.events-page-link {
    color: #c81e1e;
    font-size: 0.82rem;
    font-weight: 700;
    text-decoration: none;
}

.events-page-link:hover {
    color: #7f1d1d;
}

.events-page-empty {
    padding: 28px;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.96);
    border: 1px solid rgba(185, 28, 28, 0.12);
}

.events-page-pagination {
    display: flex;
    gap: 8px;
    margin-top: 22px;
}

.events-page-page-number,
.events-page-page-arrow {
    min-width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    border: 1px solid rgba(185, 28, 28, 0.12);
    background: rgba(255, 255, 255, 0.96);
    color: var(--vf-ink);
    font-weight: 700;
    text-decoration: none;
}

.events-page-page-number.is-active {
    background: linear-gradient(135deg, #b91c1c, #7f1d1d);
    color: var(--vf-white);
}

.events-page-sidebar {
    display: grid;
    gap: 18px;
}

.events-page-sidebar-card {
    padding: 20px;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.96);
    border: 1px solid rgba(185, 28, 28, 0.12);
    box-shadow: 0 16px 36px rgba(127, 29, 29, 0.08);
}

.events-page-category-list {
    display: grid;
    gap: 10px;
    margin-top: 14px;
}

.events-page-category-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 12px;
    border-radius: 12px;
    background: #fff7f5;
    color: var(--vf-ink);
    text-decoration: none;
    font-size: 0.82rem;
    font-weight: 700;
}

.events-page-category-item strong {
    min-width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: rgba(185, 28, 28, 0.1);
    color: #b91c1c;
    font-size: 0.72rem;
}

.events-page-category-item.is-active {
    background: linear-gradient(135deg, rgba(185, 28, 28, 0.1), rgba(245, 158, 11, 0.14));
}

.events-page-sidebar-event {
    display: grid;
    gap: 12px;
    margin-top: 14px;
}

.events-page-sidebar-event img {
    width: 100%;
    height: 188px;
    border-radius: 14px;
    object-fit: cover;
}

.events-page-sidebar-date {
    width: 64px;
    padding: 8px 6px;
    border-radius: 12px;
    background: #fff7f5;
    color: var(--vf-red-dark);
    text-align: center;
    font-family: Georgia, "Times New Roman", serif;
}

.events-page-sidebar-date strong,
.events-page-sidebar-date span,
.events-page-sidebar-date small {
    display: block;
}

.events-page-sidebar-date strong {
    font-size: 1.55rem;
    line-height: 1;
}

.events-page-sidebar-button,
.events-page-subscribe-form button,
.events-page-cta-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    justify-self: start;
    align-self: start;
    border: 0;
    border-radius: 10px;
    padding: 8px 14px;
    background: linear-gradient(135deg, #b91c1c, #7f1d1d);
    color: var(--vf-white);
    text-decoration: none;
    font-size: 0.78rem;
    font-weight: 700;
    line-height: 1.1;
    cursor: pointer;
}

.events-page-subscribe-form {
    display: grid;
    gap: 10px;
    margin-top: 14px;
}

.events-page-subscribe-form input {
    border-radius: 12px;
    border: 1px solid rgba(185, 28, 28, 0.12);
    padding: 12px 14px;
    background: #fff7f5;
}

.events-page-cta-band {
    padding: 0 0 54px;
}

.events-page-cta-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 24px 28px;
    border-radius: 18px;
    color: var(--vf-white);
    background:
        radial-gradient(circle at right, rgba(255, 196, 0, 0.16), transparent 24%),
        linear-gradient(135deg, #b91c1c, #871414);
}

.events-page-cta-copy {
    display: flex;
    align-items: center;
    gap: 14px;
}

.events-page-cta-copy,
.events-page-cta-copy div,
.events-page-cta-copy h3,
.events-page-cta-copy p {
    color: #fff;
}

.events-page-cta-icon {
    width: 62px;
    height: 62px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.14);
    font-size: 1.5rem;
}

.events-page-cta-button {
    background: linear-gradient(135deg, #fbbf24, #f59e0b);
    color: #7c2d12;
}

.event-detail-card {
    overflow: hidden;
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.97);
    border: 1px solid rgba(185, 28, 28, 0.12);
    box-shadow: 0 16px 36px rgba(127, 29, 29, 0.08);
}

.event-detail-hero-image {
    width: 100%;
    height: 380px;
    object-fit: cover;
    display: block;
}

.event-detail-content {
    display: grid;
    gap: 18px;
    padding: 24px;
}

.event-detail-chip-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}

.event-detail-date-label {
    color: var(--vf-muted);
    font-size: 0.82rem;
    font-weight: 700;
}

.event-detail-content h2 {
    margin: 0;
}

.event-detail-content p {
    margin: 0;
    color: var(--vf-muted);
    line-height: 1.8;
    font-family: "Times New Roman", Times, serif;
}

.event-detail-info-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.event-detail-info-card {
    padding: 16px;
    border-radius: 14px;
    background: #fff7f5;
    border: 1px solid rgba(185, 28, 28, 0.08);
}

.event-detail-info-card small,
.event-detail-summary-list span,
.event-detail-related-item small {
    display: block;
    color: var(--vf-muted);
    font-size: 0.78rem;
}

.event-detail-info-card strong,
.event-detail-summary-list strong,
.event-detail-related-item strong {
    display: block;
    color: var(--vf-ink);
}

.event-detail-actions {
    display: flex;
    gap: 12px;
}

.event-detail-summary-list {
    display: grid;
    gap: 14px;
    margin-top: 14px;
}

.event-detail-related-list {
    display: grid;
    gap: 12px;
    margin-top: 14px;
}

.event-detail-related-item {
    display: grid;
    grid-template-columns: 84px 1fr;
    gap: 12px;
    text-decoration: none;
    color: inherit;
}

.event-detail-related-item img {
    width: 84px;
    height: 84px;
    border-radius: 12px;
    object-fit: cover;
}

.event-detail-related-item div {
    display: grid;
    align-content: start;
    gap: 6px;
}

@media (max-width: 1199px) {
    .hero-grid,
    .two-column-section,
    .split-banner {
        grid-template-columns: 1fr;
    }

    .hero-showcase-grid,
    .about-showcase-grid,
    .connect-panel-grid,
    .footer-layout,
    .feature-showcase-grid,
    .events-page-layout,
    .events-page-hero-inner {
        grid-template-columns: 1fr;
    }

    .footer-brand-column,
    .footer-link-column,
    .footer-scholarship-column,
    .footer-contact-column {
        border-right: 0;
        padding-right: 0;
    }

    .home-module-grid,
    .info-card-grid,
    .step-grid,
    .impact-band,
    .form-grid,
    .gallery-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .application-layout,
    .dual-promo-grid {
        grid-template-columns: 1fr;
    }

    .about-info-grid,
    .support-step-grid,
    .beneficiary-grid,
    .event-gallery-grid,
    .feature-card-grid,
    .impact-highlight-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .what-we-do-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .what-we-do-grid-wrap {
        padding: 0 20px;
    }

    .education-banner {
        grid-template-columns: 1fr;
    }

    .donor-type-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .scholar-program-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .home-donor-slide {
        flex-basis: calc(50% - 8px);
    }

    .gallery-photo-wall {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .gallery-impact-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .contact-info-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .contact-content-grid {
        grid-template-columns: 1fr;
    }

    .fundraising-main-grid,
    .fundraising-meta-grid {
        grid-template-columns: 1fr;
    }

    .fundraising-benefits-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .scholar-info-grid {
        grid-template-columns: 1fr;
    }

    .scholar-process-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .scholar-testimonial-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .donor-showcase-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .donor-support-grid,
    .donor-lower-grid,
    .donor-section-grid {
        grid-template-columns: 1fr;
    }

    .donor-testimonial-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .about-intro-grid,
    .about-pillars-grid {
        grid-template-columns: 1fr;
    }

    .about-values-grid,
    .about-team-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .about-journey-rail {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        row-gap: 22px;
        gap: 10px;
    }

    .about-journey-fullbleed,
    .about-pillars-fullbleed {
        padding-left: 18px;
        padding-right: 18px;
    }

    .hero-highlight-card {
        grid-template-columns: 96px 1fr;
    }
}

@media (max-width: 991px) {
    .site-menu-toggle {
        display: inline-flex;
        margin-left: auto;
    }

    .site-collapse-wrapper {
        position: fixed;
        top: 0;
        left: 0;
        z-index: 60;
        width: min(312px, 88vw);
        height: 100vh;
        padding: 18px 18px 22px;
        flex-direction: column;
        align-items: stretch;
        gap: 18px;
        overflow-y: auto;
        background: #fffdf8;
        opacity: 1;
        border-right: 1px solid rgba(185, 28, 28, 0.14);
        box-shadow: 0 30px 60px rgba(43, 17, 17, 0.28);
        transform: translateX(-100%);
        transition: transform 0.28s ease;
    }

    .site-collapse-wrapper.is-open {
        transform: translateX(0);
    }

    .site-drawer-header {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 16px;
        padding-bottom: 14px;
        border-bottom: 1px solid rgba(185, 28, 28, 0.08);
    }

    .site-drawer-brand {
        display: grid;
        gap: 4px;
    }

    .site-drawer-brand strong {
        color: #243047;
        font-size: 1rem;
        line-height: 1.15;
    }

    .site-drawer-brand small {
        color: #7a7f8f;
        font-size: 0.88rem;
        line-height: 1.25;
        max-width: 250px;
    }

    .site-drawer-close {
        position: relative;
        display: inline-flex;
        width: 38px;
        height: 38px;
        flex: 0 0 38px;
        align-items: center;
        justify-content: center;
        border: 0;
        border-radius: 12px;
        background: transparent;
        color: #7f7b77;
        cursor: pointer;
    }

    .site-drawer-close span {
        position: absolute;
        width: 18px;
        height: 2px;
        border-radius: 999px;
        background: currentColor;
    }

    .site-drawer-close span:first-child {
        transform: rotate(45deg);
    }

    .site-drawer-close span:last-child {
        transform: rotate(-45deg);
    }

    .site-nav,
    .header-actions {
        width: 100%;
        display: grid;
        gap: 10px;
    }

    .site-nav {
        align-items: stretch;
    }

    .site-nav a {
        padding: 14px 12px;
        border-radius: 0;
        background: transparent;
        border: 0;
        border-bottom: 1px solid rgba(36, 48, 71, 0.08);
        color: #243047;
        font-size: 1rem;
        font-weight: 700;
        line-height: 1.25;
    }

    .site-nav a::after {
        display: none;
    }

    .site-nav a.active {
        color: #9e6113;
        background: transparent;
        border-bottom-color: rgba(158, 97, 19, 0.25);
    }

    .header-actions {
        margin-left: 0;
        padding-top: 12px;
        border-top: 1px solid rgba(185, 28, 28, 0.08);
    }

    .hero-copy,
    .hero-card-panel,
    .split-banner {
        padding: 26px;
    }

    .home-section-heading,
    .promo-slab-grid,
    .home-grid-split,
    .donor-chip-grid {
        grid-template-columns: 1fr;
    }

    .home-section-heading {
        display: grid;
        gap: 10px;
    }

    .what-we-do-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .what-we-do-card {
        min-height: 0;
    }

    .education-banner-student {
        grid-template-columns: 1fr 150px;
    }

    .donor-hero-card {
        grid-template-columns: 1fr;
    }

    .scholar-hero-card {
        grid-template-columns: 1fr;
    }

    .gallery-red-hero {
        grid-template-columns: 1fr;
    }

    .contact-red-hero {
        grid-template-columns: 1fr;
    }

    .fundraising-hero-card {
        grid-template-columns: 1fr;
    }

    .fundraising-bottom-cta {
        flex-direction: column;
        align-items: flex-start;
    }

    .contact-bottom-cta {
        flex-direction: column;
        align-items: flex-start;
    }

    .gallery-bottom-cta {
        flex-direction: column;
        align-items: flex-start;
    }

    .scholar-cta-card {
        flex-direction: column;
        align-items: flex-start;
    }

    .donor-showcase-grid,
    .donor-testimonial-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .donor-cta-card {
        grid-template-columns: 1fr;
    }

    .about-red-hero-card {
        grid-template-columns: minmax(0, 1.1fr) 220px;
        min-height: 132px;
    }

    .about-values-grid,
    .about-team-grid,
    .about-bottom-impact {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .about-journey-rail {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 18px 10px;
    }

    .about-journey-fullbleed,
    .about-pillars-fullbleed {
        padding-left: 16px;
        padding-right: 16px;
    }

    .about-journey-track-arrow {
        display: none;
    }

    .about-values-stage {
        grid-template-columns: 1fr;
    }

    .about-stage-arrow {
        display: none;
    }

    .about-bottom-cta {
        flex-direction: column;
        align-items: flex-start;
    }

    .home-grid-split,
    .promo-slab-grid,
    .donate-slab-grid {
        grid-template-columns: 1fr;
    }

    .hero-metrics,
    .home-module-grid,
    .info-card-grid,
    .step-grid,
    .impact-band,
    .form-grid,
    .gallery-grid {
        grid-template-columns: 1fr;
    }

    .events-page-card {
        grid-template-columns: 1fr;
    }

    .events-page-card-image-wrap img {
        min-height: 220px;
    }

    .event-detail-info-grid {
        grid-template-columns: 1fr;
    }

    .events-page-card-date {
        justify-items: start;
        grid-auto-flow: column;
        gap: 12px;
        align-items: end;
    }

    .hero-photo-panel img {
        min-height: 380px;
    }

    .hero-highlight-card {
        grid-template-columns: 1fr;
    }

    .hero-highlight-card img {
        width: 100%;
        height: 220px;
    }

    .hero-slider,
    .hero-slide img {
        min-height: 56vh;
    }

    .hero-slider-control {
        width: 48px;
        height: 48px;
    }

    .hero-showcase-card {
        grid-template-columns: minmax(0, 1fr);
        min-height: auto;
    }

    .brand-mark {
        width: 72px;
        height: 72px;
        flex-basis: 72px;
    }

    .brand-copy strong {
        font-size: 1.18rem;
    }

    .hero-editable-overlay {
        inset: 0;
        background: linear-gradient(180deg, rgba(124, 8, 11, 0.92) 0%, rgba(142, 15, 15, 0.78) 42%, rgba(142, 15, 15, 0.18) 100%);
    }

    .hero-showcase-media {
        grid-column: 1;
        grid-row: 1;
    }

    .hero-showcase-copy {
        grid-column: 1;
        grid-row: 1;
        width: min(100% - 32px, 520px);
        padding: 24px 20px 28px;
    }

    .hero-bottom-wave {
        height: 68px;
    }

    .hero-bottom-wave::before {
        bottom: 16px;
        height: 34px;
    }

    .hero-bottom-wave::after {
        height: 46px;
    }

    .hero-showcase-copy h1 {
        font-size: 2rem;
    }

    .hero-showcase-copy p {
        font-size: 0.86rem;
    }

    .hero-banner-image {
        height: 300px;
        min-height: 300px;
        object-position: center;
    }

    .hero-bottom-wave {
        height: 68px;
    }

    .hero-bottom-wave::before {
        bottom: 16px;
        height: 34px;
    }

    .hero-bottom-wave::after {
        height: 46px;
    }

    .hero-showcase-image {
        position: relative;
        right: auto;
        bottom: auto;
        width: 100%;
        height: 100%;
        min-height: 280px;
        object-position: center top;
    }

    .hero-visual-badge {
        right: 16px;
        width: 130px;
        height: 130px;
        bottom: 24px;
        padding: 14px;
    }

    .hero-bottom-wave {
        height: 68px;
    }

    .hero-bottom-wave::before {
        bottom: 16px;
        height: 34px;
    }

    .hero-bottom-wave::after {
        bottom: -4px;
        height: 46px;
    }

    .feature-intro-card {
        border-right: 0;
        border-bottom: 1px solid rgba(185, 28, 28, 0.08);
    }

    .feature-info-card {
        border-left: 0;
        border-top: 1px solid rgba(185, 28, 28, 0.08);
    }

    .support-step-grid,
    .beneficiary-grid,
    .event-gallery-grid,
    .about-info-grid {
        grid-template-columns: 1fr;
        padding-left: 0;
    }

    .promo-slab-grid,
    .connect-panel-grid,
    .home-section-heading {
        padding-left: 0;
    }

    .home-donor-slider {
        padding: 0 44px;
    }

    .home-donor-slider-wrap {
        padding: 0 20px;
        margin-bottom: 34px;
    }
}

@media (max-width: 767px) {
    .site-container {
        width: min(100% - 22px, 1180px);
    }

    .footer-donate-panel {
        grid-template-columns: 96px 1fr;
    }

    .hero-section {
        padding-top: 24px;
    }

    .homepage-hero {
        padding-top: 0;
    }

    .hero-copy h1 {
        font-size: 2.2rem;
    }

    .hero-actions,
    .footer-bottom,
    .events-page-cta-inner,
    .events-page-toolbar,
    .events-page-cta-copy {
        flex-direction: column;
        align-items: stretch;
    }

    .events-page-pagination {
        flex-wrap: wrap;
    }

    .events-page-hero-stat {
        grid-template-columns: 44px 1fr;
    }

    .floating-instagram,
    .floating-whatsapp {
        width: 56px;
        height: 56px;
        right: 16px;
    }

    .floating-instagram {
        bottom: 84px;
    }

    .floating-whatsapp {
        bottom: 16px;
    }

    .footer-scholarship-pill {
        min-width: 0;
    }

    .footer-scholarship-column,
    .footer-donate-column {
        border-right: 0;
        padding-right: 0;
    }

    .footer-scholarship-head {
        align-items: flex-start;
        flex-direction: column;
    }

    .home-gallery-heading {
        align-items: center;
        gap: 12px;
        min-height: 0;
    }

    .home-gallery-block {
        margin-top: 30px;
    }

    .gallery-view-btn {
        position: static;
    }

    .primary-btn,
    .secondary-btn,
    .ghost-btn,
    .gold-btn {
        width: 100%;
    }

    .header-actions {
        grid-template-columns: 1fr;
    }

    .hero-slider,
    .hero-slide img {
        min-height: 42vh;
    }

    .home-donor-slide {
        flex-basis: 100%;
    }

    .home-donor-slider {
        padding: 0 36px;
    }

    .home-donor-slider.connect-donor-slider {
        padding: 0 36px;
    }

    .home-donor-slider.connect-donor-slider .home-donor-slide {
        gap: 10px;
        min-height: 96px;
        padding: 12px;
    }

    .home-donor-slider.connect-donor-slider .home-donor-slide img {
        width: 68px;
        height: 68px;
        flex-basis: 68px;
        border-radius: 14px;
    }

    .home-donor-slider-wrap {
        padding: 0 14px;
    }

    .home-donor-slider-arrow {
        width: 36px;
        height: 36px;
    }

    .hero-showcase-card {
        min-height: auto;
    }

    .hero-showcase-media {
        grid-column: 1;
        grid-row: 1;
    }

    .hero-banner-image {
        height: 240px;
        min-height: 240px;
    }

    .hero-slider-prev {
        left: 14px;
    }

    .hero-slider-next {
        right: 14px;
    }

    .hero-slider-control {
        width: 42px;
        height: 42px;
    }

    .hero-slider-control span {
        font-size: 1.85rem;
    }

    .hero-slider-dots {
        bottom: 18px;
        gap: 10px;
    }

    .hero-slider-dot.is-active {
        width: 34px;
    }

    .home-section-card {
        padding: 18px 16px;
    }

    .hero-showcase-copy {
        padding: 34px 18px 24px;
    }

    .brand-mark {
        width: 60px;
        height: 60px;
        flex-basis: 60px;
    }

    .brand-copy strong {
        font-size: 1rem;
    }

    .brand-copy small {
        font-size: 0.84rem;
        max-width: 270px;
    }

    .hero-showcase-copy {
        width: calc(100% - 24px);
        padding: 20px 12px 24px;
    }

    .hero-bottom-wave {
        height: 40px;
    }

    .hero-bottom-wave::before {
        bottom: 8px;
        height: 16px;
    }

    .hero-bottom-wave::after {
        height: 22px;
    }

    .hero-showcase-copy h1 {
        font-size: 1.55rem;
    }

    .hero-showcase-copy p {
        font-size: 0.76rem;
        max-width: 250px;
    }

    .hero-actions {
        flex-direction: row;
        align-items: stretch;
        justify-content: space-between;
        gap: 10px;
        margin-top: 16px;
    }

    .hero-showcase-copy .primary-btn,
    .hero-showcase-copy .secondary-btn {
        width: calc(50% - 5px);
        min-width: 0;
        min-height: 38px;
        padding: 8px 14px;
        font-size: 0.76rem;
    }

    .hero-showcase-copy h1 {
        font-size: 2.2rem;
    }

    .hero-showcase-copy p {
        max-width: none;
        font-size: 0.95rem;
    }

    .hero-bottom-wave {
        height: 52px;
    }

    .hero-bottom-wave::before {
        bottom: 10px;
        height: 24px;
    }

    .hero-bottom-wave::after {
        height: 32px;
    }

    .hero-showcase-image {
        object-position: center top;
    }

    .hero-visual-badge {
        width: 110px;
        height: 110px;
        bottom: 16px;
        right: 14px;
        padding: 12px;
    }

    .hero-visual-badge span {
        font-size: 0.78rem;
    }

    .hero-bottom-wave {
        height: 52px;
    }

    .hero-bottom-wave::before {
        bottom: 10px;
        height: 24px;
    }

    .hero-bottom-wave::after {
        bottom: -4px;
        height: 32px;
    }

    .hero-mini-stats {
        display: grid;
    }

    .feature-card-grid,
    .impact-highlight-grid {
        grid-template-columns: 1fr;
    }

    .what-we-do-grid {
        grid-template-columns: 1fr;
    }

    .what-we-do-grid-wrap {
        padding: 0 14px;
    }

    .what-we-do-card img {
        height: 210px;
    }

    .recent-gallery-card {
        flex-basis: 250px;
    }

    .scholar-program-grid,
    .scholar-testimonial-grid,
    .scholar-process-grid {
        grid-template-columns: 1fr;
    }

    .gallery-photo-wall,
    .gallery-impact-row {
        grid-template-columns: 1fr;
    }

    .contact-info-grid,
    .contact-form-grid {
        grid-template-columns: 1fr;
    }

    .fundraising-form-grid,
    .fundraising-benefits-grid {
        grid-template-columns: 1fr;
    }

    .fundraising-bottom-actions {
        width: 100%;
        flex-direction: column;
    }

    .contact-bottom-actions {
        width: 100%;
        flex-direction: column;
    }

    .gallery-modal {
        padding: 18px 12px;
    }

    .gallery-modal-dialog {
        width: 100%;
    }

    .gallery-modal-nav {
        min-width: 96px;
    }

    .gallery-modal-content img {
        max-height: 64vh;
    }

    .gallery-modal-actions {
        flex-wrap: wrap;
    }

    .gallery-bottom-cta-actions {
        width: 100%;
        flex-direction: column;
    }

    .scholar-process-step:not(:last-child)::after {
        display: none;
    }

    .scholar-cta-actions {
        width: 100%;
        flex-direction: column;
    }

    .donor-type-grid,
    .donor-showcase-grid,
    .donor-testimonial-grid {
        grid-template-columns: 1fr;
    }

    .donor-support-layout {
        grid-template-columns: 1fr;
    }

    .donor-contribution-head {
        flex-direction: column;
        align-items: flex-start;
    }

    .education-banner-donate,
    .education-banner-student {
        grid-template-columns: 1fr;
    }

    .education-banner-student {
        padding: 18px;
    }

    .education-banner-student-media {
        min-height: 220px;
        border-radius: 12px;
    }

    .education-banner-student img {
        height: 100%;
    }

    .home-gallery-heading {
        justify-content: center;
        text-align: center;
    }

    .recent-gallery-strip::before,
    .recent-gallery-strip::after {
        width: 24px;
    }

    .about-red-hero-card,
    .about-values-grid,
    .about-team-grid,
    .about-bottom-impact {
        grid-template-columns: 1fr;
    }

    .about-journey-rail {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .about-red-hero-card {
        height: auto;
        min-height: 0;
    }

    .about-red-hero-copy {
        grid-column: 1;
        grid-row: 1;
        max-width: 100%;
        padding: 22px 28px 18px;
    }

    .about-red-hero-media {
        grid-column: 1;
        grid-row: 2;
        min-height: 0;
    }

    .about-red-hero-card img {
        min-height: 240px;
        height: 240px;
        object-position: calc(var(--editor-fit-x, 50) * 1%) calc(var(--editor-fit-y, 50) * 1%);
    }

    .about-red-hero-kicker {
        font-size: 1.7rem;
    }

    .about-red-hero-subtitle {
        margin-bottom: 8px;
        font-size: 1rem;
    }

    .about-red-hero-summary {
        font-size: 1rem;
        line-height: 1.6;
    }

    .about-intro-grid,
    .about-pillars-grid,
    .about-values-grid,
    .about-team-grid,
    .about-bottom-cta {
        grid-template-columns: 1fr;
    }

    .about-journey-tile {
        max-width: 320px;
        margin: 0 auto;
    }

    .about-journey-fullbleed,
    .about-pillars-fullbleed {
        padding-left: 14px;
        padding-right: 14px;
    }

    .about-section-shell {
        padding: 16px 14px 14px;
        border-radius: 16px;
    }

    .about-team-card img {
        height: 200px;
    }

    .about-intro-grid {
        gap: 18px;
        margin-bottom: 22px;
    }

    .about-intro-shell {
        width: min(100%, calc(100% - 20px));
    }

    .about-intro-photo {
        min-height: 220px;
    }

    .about-intro-photo img {
        position: absolute;
        inset: 0;
        height: 220px;
        min-height: 220px;
        border-radius: 14px;
        object-fit: cover;
        object-position: center top;
        transform: none;
    }

    .about-intro-copy {
        padding-top: 0;
    }

    .about-intro-copy h1 {
        font-size: 1.55rem;
    }

    .about-intro-copy h2 {
        margin-bottom: 10px;
        font-size: 0.96rem;
        line-height: 1.45;
    }

    .about-intro-copy p {
        font-size: 1.04rem;
        line-height: 1.8;
        text-align: left;
    }

    .about-quote-card {
        min-height: 0;
        padding: 18px 16px;
        border-radius: 14px;
    }

    .about-quote-card p {
        font-size: 0.88rem;
    }

    .about-pillar-card,
    .about-value-card,
    .about-team-card {
        border-radius: 14px;
    }

    .about-pillar-card {
        padding: 20px 18px;
    }

    .about-pillar-card p,
    .about-value-card p,
    .about-team-card p,
    .about-objective-list {
        font-size: 0.84rem;
        line-height: 1.65;
    }

    .about-value-card,
    .about-value-card {
        padding: 18px 16px;
    }

    .about-team-card img {
        height: 180px;
    }

    .about-team-card h3 {
        font-size: 0.96rem;
    }

    .about-team-card p {
        padding: 0 14px 14px;
        font-size: 0.84rem;
    }

    .about-bottom-impact article {
        border-right: 0;
        border-bottom: 1px solid rgba(255, 255, 255, 0.16);
        padding: 14px 16px;
    }

    .about-bottom-impact article:last-child {
        border-bottom: 0;
    }

    .about-bottom-impact strong {
        font-size: 1.5rem;
    }

    .about-bottom-impact p {
        font-size: 0.8rem;
        line-height: 1.5;
    }

    .about-bottom-cta {
        gap: 16px;
        padding: 18px;
    }

    .about-bottom-cta-actions {
        width: 100%;
        flex-direction: column;
    }

    .impact-highlight-box {
        border-right: 0;
        border-bottom: 1px solid rgba(255, 255, 255, 0.16);
    }

    .impact-highlight-box:last-child {
        border-bottom: 0;
    }

    .footer-highlight-box {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .footer-qr-image {
        margin: 0 auto;
    }
}

.farmer-program-card {
    overflow: hidden;
    background:
        radial-gradient(circle at top right, rgba(245, 158, 11, 0.2), transparent 30%),
        linear-gradient(135deg, #fff7e6, #ffffff 50%, #fff1f1);
}

.farmer-program-grid {
    display: grid;
    grid-template-columns: 1.4fr 0.9fr;
    gap: 22px;
    align-items: stretch;
}

.farmer-program-copy h2,
.farmer-register-hero h1,
.farmer-step-intro h2 {
    margin: 0 0 12px;
    color: var(--vf-red-dark);
}

.farmer-program-copy p,
.farmer-register-hero p,
.farmer-step-intro p {
    color: var(--vf-muted);
    line-height: 1.7;
}

.farmer-program-points {
    margin: 18px 0 0;
    padding-left: 18px;
    color: var(--vf-ink);
    line-height: 1.8;
    font-size: 1.06rem;
}

.farmer-program-points li + li {
    margin-top: 8px;
}

.farmer-program-actions {
    margin-top: 20px;
}

.farmer-program-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 56px;
    padding: 16px 30px;
    border-radius: 18px;
    font-size: 1.05rem;
    font-weight: 700;
}

.farmer-program-panel {
    display: grid;
    align-content: start;
    gap: 14px;
    padding: 22px;
    border-radius: 22px;
    background: linear-gradient(180deg, rgba(185, 28, 28, 0.94), rgba(127, 29, 29, 0.96));
    color: var(--vf-white);
    box-shadow: var(--vf-shadow);
}

.farmer-program-image-card {
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    min-height: 430px;
    padding: 0;
    border-radius: 18px;
    border: 1px solid rgba(255, 255, 255, 0.16);
    background: transparent;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.farmer-program-image-card img {
    display: block;
    width: 122%;
    max-width: none;
    height: 410px;
    object-fit: contain;
    object-position: calc(var(--editor-fit-x, 50) * 1%) calc(var(--editor-fit-y, 50) * 1%);
    transform: scale(var(--editor-fit-scale, 1));
    transform-origin: center center;
    background: transparent;
}

.farmer-program-panel p {
    margin: 6px 0 0;
    color: rgba(255, 248, 240, 0.92);
    line-height: 1.75;
    font-size: 1.04rem;
}

.farmer-program-badge {
    display: inline-flex;
    width: fit-content;
    padding: 8px 14px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.16);
    font-weight: 700;
}

.farmer-program-mini-steps {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.farmer-program-mini-steps span {
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.12);
    font-size: 0.88rem;
    color: #fff8f1;
    font-weight: 700;
}

.farmer-register-shell {
    padding: 28px 0 44px;
}

.farmer-register-hero {
    margin-bottom: 22px;
}

.farmer-form-alert {
    margin-bottom: 18px;
    padding: 14px 16px;
    border-radius: 14px;
    font-weight: 700;
}

.farmer-form-alert.success {
    background: #ecfdf5;
    color: #166534;
    border: 1px solid #bbf7d0;
}

.farmer-form-alert.error {
    background: #fef2f2;
    color: #991b1b;
    border: 1px solid #fecaca;
}

.farmer-form-card {
    padding: 22px;
    border-radius: 24px;
    background: var(--vf-white);
    border: 1px solid rgba(185, 28, 28, 0.1);
    box-shadow: 0 18px 40px rgba(127, 29, 29, 0.08);
}

.farmer-stepper-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 18px;
}

.farmer-stepper-head strong {
    color: var(--vf-red-dark);
    font-size: 1rem;
}

.farmer-stepper-head p {
    margin: 6px 0 0;
    color: var(--vf-muted);
}

.farmer-stepper-note {
    padding: 8px 14px;
    border-radius: 999px;
    background: #fff4dc;
    color: #9a6700;
    font-size: 0.84rem;
    font-weight: 700;
}

.farmer-step-tabs {
    display: grid;
    grid-template-columns: repeat(11, minmax(120px, 1fr));
    gap: 10px;
    margin-bottom: 22px;
    overflow-x: auto;
    padding-bottom: 6px;
}

.farmer-step-tab {
    display: grid;
    gap: 8px;
    min-width: 132px;
    padding: 14px 12px;
    border: 1px solid rgba(185, 28, 28, 0.12);
    border-radius: 18px;
    background: #fffaf4;
    color: var(--vf-red-dark);
    text-align: left;
}

.farmer-step-tab span {
    display: grid;
    place-items: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: rgba(185, 28, 28, 0.1);
    font-weight: 700;
}

.farmer-step-tab strong {
    font-size: 0.82rem;
    line-height: 1.4;
}

.farmer-step-tab.is-active {
    background: linear-gradient(180deg, #fff1d6, #ffffff);
    border-color: rgba(245, 158, 11, 0.55);
    box-shadow: 0 12px 22px rgba(245, 158, 11, 0.12);
}

.farmer-step-panel {
    display: none;
}

.farmer-step-panel.is-active {
    display: block;
}

.farmer-step-intro {
    margin-bottom: 18px;
}

.farmer-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.farmer-field {
    display: grid;
    gap: 8px;
    min-width: 0;
}

.farmer-field span {
    color: var(--vf-ink);
    font-weight: 700;
}

.farmer-benefit-dropdown {
    position: relative;
    width: 100%;
    min-width: 0;
}

.farmer-benefit-dropdown summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    min-height: 48px;
    padding: 13px 42px 13px 14px;
    border: 1px solid rgba(185, 28, 28, 0.16);
    border-radius: 14px;
    background: #fffdfa;
    color: var(--vf-ink);
    cursor: pointer;
    list-style: none;
    box-sizing: border-box;
}

.farmer-benefit-dropdown summary::-webkit-details-marker {
    display: none;
}

.farmer-benefit-dropdown summary::after {
    content: "";
    position: absolute;
    right: 18px;
    top: 20px;
    width: 9px;
    height: 9px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg);
    transition: transform 0.18s ease;
}

.farmer-benefit-dropdown[open] summary::after {
    transform: rotate(225deg);
}

.farmer-benefit-dropdown summary span {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-weight: 400;
}

.farmer-benefit-menu {
    position: absolute;
    z-index: 20;
    top: calc(100% + 6px);
    left: 0;
    right: 0;
    width: 100%;
    min-width: 0;
    display: grid;
    gap: 6px;
    max-height: 280px;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 8px;
    border: 1px solid rgba(185, 28, 28, 0.16);
    border-radius: 14px;
    background: #fffdfa;
    box-shadow: 0 18px 40px rgba(88, 24, 24, 0.14);
    box-sizing: border-box;
}

.farmer-benefit-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.farmer-checkbox {
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr);
    align-items: center;
    justify-items: start;
    width: 100%;
    min-width: 0;
    gap: 10px;
    padding: 12px 14px;
    border: 1px solid rgba(185, 28, 28, 0.14);
    border-radius: 14px;
    background: #fffdfa;
}

.farmer-checkbox input {
    width: 16px;
    height: 16px;
    margin: 0;
}

.farmer-checkbox span {
    display: block;
    min-width: 0;
    max-width: 100%;
    color: var(--vf-ink);
    font-weight: 400;
    line-height: 1.3;
    text-align: left;
    white-space: normal;
    overflow-wrap: break-word;
    word-break: normal;
}

.farmer-field input,
.farmer-field select,
.farmer-field textarea {
    width: 100%;
    padding: 13px 14px;
    border: 1px solid rgba(185, 28, 28, 0.16);
    border-radius: 14px;
    background: #fffdfa;
    color: var(--vf-ink);
}

.farmer-field input:focus,
.farmer-field select:focus,
.farmer-field textarea:focus {
    outline: none;
    border-color: rgba(185, 28, 28, 0.45);
    box-shadow: 0 0 0 4px rgba(185, 28, 28, 0.08);
}

.farmer-field small {
    color: #b91c1c;
    font-weight: 700;
}

.farmer-field-full {
    grid-column: 1 / -1;
}
.farmer-land-row {
    display: grid;
    grid-template-columns: minmax(180px, 1.2fr) minmax(120px, 0.8fr) minmax(120px, 0.8fr);
    align-items: end;
    gap: 12px;
    width: 100%;
    min-width: 0;
}

.farmer-land-title {
    align-self: center;
    color: var(--vf-ink);
    font-weight: 700;
}

.farmer-land-unit {
    display: grid;
    gap: 6px;
    min-width: 0;
}

.farmer-land-unit span {
    color: var(--vf-muted);
    font-size: 0.82rem;
    font-weight: 700;
}

.farmer-land-unit input {
    width: 100%;
    padding: 13px 14px;
    border: 1px solid rgba(185, 28, 28, 0.16);
    border-radius: 14px;
    background: #fffdfa;
    color: var(--vf-ink);
}

.farmer-land-unit input:focus {
    outline: none;
    border-color: rgba(185, 28, 28, 0.45);
    box-shadow: 0 0 0 4px rgba(185, 28, 28, 0.08);
}

.farmer-land-unit input::-webkit-outer-spin-button,
.farmer-land-unit input::-webkit-inner-spin-button {
    margin: 0;
    appearance: none;
}

.farmer-land-unit input[type="number"] {
    appearance: textfield;
}

.farmer-step-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 24px;
}

.farmer-step-actions .primary-btn,
.farmer-step-actions .ghost-btn,
.farmer-step-actions .gold-btn {
    min-height: 44px;
    padding: 12px 22px;
    border: 0;
    font-size: 0.95rem;
    box-shadow: 0 10px 22px rgba(127, 29, 29, 0.12);
}

.farmer-step-actions .ghost-btn {
    background: #fff5f5;
    box-shadow: none;
}

.farmer-step-actions .ghost-btn[disabled] {
    opacity: 0.5;
    cursor: not-allowed;
}

.farmer-review-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.farmer-review-card {
    display: grid;
    gap: 6px;
    padding: 16px;
    border-radius: 18px;
    background: linear-gradient(180deg, #fffaf1, #ffffff);
    border: 1px solid rgba(245, 158, 11, 0.18);
}

.farmer-review-card span {
    color: var(--vf-muted);
    font-size: 0.84rem;
}

.farmer-review-card strong {
    color: var(--vf-red-dark);
}

.farmer-submit-note {
    margin-top: 18px;
    padding: 16px 18px;
    border-radius: 16px;
    background: #fff7e4;
    color: #8a4f14;
    line-height: 1.7;
}

.farmer-card-benefits {
    margin-top: 28px;
    padding: 28px;
    border: 1px solid rgba(185, 28, 28, 0.14);
    border-radius: 24px;
    background:
        radial-gradient(circle at top right, rgba(245, 158, 11, 0.13), transparent 30%),
        linear-gradient(145deg, #fff7ed, #ffffff 58%, #fff5f5);
    box-shadow: 0 18px 40px rgba(127, 29, 29, 0.08);
}

.farmer-card-benefits-head {
    max-width: 780px;
    margin-bottom: 22px;
}

.farmer-card-benefits-head .section-kicker {
    color: var(--vf-red);
}

.farmer-card-benefits-head h2 {
    margin: 6px 0 8px;
    color: var(--vf-red-dark);
}

.farmer-card-benefits-head > p:last-child {
    margin: 0;
    color: var(--vf-muted);
    font-size: 1.05rem;
    line-height: 1.7;
}

.farmer-card-benefit-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.farmer-card-benefit-item {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 14px;
    padding: 18px;
    border: 1px solid rgba(185, 28, 28, 0.12);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.88);
}

.farmer-card-benefit-number {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: linear-gradient(145deg, var(--vf-red), var(--vf-red-dark));
    color: #fff;
    font-weight: 800;
}

.farmer-card-benefit-item p {
    margin: 0;
    line-height: 1.65;
}

.farmer-card-benefit-en {
    color: var(--vf-ink);
    font-weight: 700;
}

.farmer-card-benefit-kn {
    margin-top: 8px !important;
    padding-top: 8px;
    border-top: 1px dashed rgba(185, 28, 28, 0.18);
    color: var(--vf-muted);
}

.coupon-public-preview {
    margin-top: 22px;
}

.coupon-public-card {
    display: grid;
    grid-template-columns: 1.2fr 0.8fr;
    gap: 20px;
    padding: 22px;
    border-radius: 22px;
    background: linear-gradient(180deg, #fff7eb, #ffffff);
    border: 1px solid rgba(245, 158, 11, 0.22);
}

.coupon-public-card h2 {
    margin: 12px 0 10px;
    color: var(--vf-red-dark);
}

.coupon-public-card p {
    margin: 6px 0;
    color: var(--vf-muted);
}

.coupon-public-qr {
    display: grid;
    place-items: center;
}

.coupon-public-qr img {
    max-width: 180px;
    width: 100%;
}

@media (max-width: 991px) {
    .farmer-land-row {
        grid-template-columns: 1fr 1fr;
        align-items: stretch;
    }

    .farmer-land-title {
        grid-column: 1 / -1;
    }

    .farmer-program-grid,
    .farmer-form-grid,
    .farmer-review-grid,
    .coupon-public-card,
    .farmer-card-benefit-list {
        grid-template-columns: 1fr;
    }

    .farmer-form-card {
        padding: 18px;
    }

    .farmer-card-benefits {
        padding: 20px;
    }

    .farmer-stepper-head,
    .farmer-step-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .farmer-step-actions .primary-btn,
    .farmer-step-actions .ghost-btn,
    .farmer-step-actions .gold-btn {
        width: 100%;
    }
}

.footer-links li::before {
    content: ">";
}

.site-header .brand-copy small,
.site-drawer-brand small {
    display: none !important;
}

@media (max-width: 991px) {
    .site-main-nav .container-fluid {
        display: flex;
        align-items: center;
        gap: 10px;
        flex-wrap: nowrap;
    }

    .site-brand {
        min-width: 0;
        flex: 1 1 auto;
        margin-left: 0;
        gap: 10px;
    }

    .brand-copy {
        min-width: 0;
    }

    .brand-copy strong {
        display: block;
        font-size: 0.98rem;
        line-height: 1.15;
        word-break: break-word;
    }

    .site-menu-toggle {
        flex: 0 0 auto;
    }

    .site-collapse-wrapper {
        width: min(320px, 88vw);
    }

    .site-drawer-brand {
        min-width: 0;
    }

    .site-drawer-brand strong {
        display: block;
        word-break: break-word;
    }

    .footer-layout {
        gap: 18px;
    }

    .footer-brand-column,
    .footer-link-column,
    .footer-scholarship-column,
    .footer-contact-column,
    .footer-donate-column {
        border-right: 0;
        padding-right: 0;
        padding-bottom: 16px;
        border-bottom: 1px solid rgba(255, 255, 255, 0.12);
    }

    .footer-donate-column {
        padding-bottom: 0;
        border-bottom: 0;
    }

    .footer-brand-head {
        align-items: center;
    }

    .footer-brand-head h3,
    .footer-brand-head p,
    .footer-brand-copy,
    .footer-contact-list li span:last-child,
    .footer-links a,
    .footer-scholarship-pill,
    .footer-donate-copy strong {
        overflow-wrap: anywhere;
        word-break: break-word;
    }

    .farmer-program-card {
        padding: 18px 16px;
    }

    .farmer-program-grid {
        gap: 18px;
    }

    .farmer-program-panel {
        padding: 18px;
        border-radius: 18px;
    }

    .farmer-program-image-card {
        min-height: 380px;
    }

    .farmer-program-image-card img {
        width: 118%;
        height: 360px;
    }

    .farmer-program-mini-steps {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }

    .farmer-program-mini-steps span {
        text-align: center;
    }
}

@media (max-width: 767px) {
    .site-main-nav {
        min-height: 78px;
    }

    .brand-mark {
        width: 54px;
        height: 54px;
        flex-basis: 54px;
    }

    .brand-copy strong {
        font-size: 0.92rem;
    }

    .site-collapse-wrapper {
        padding: 16px;
    }

    .header-actions {
        gap: 8px;
    }

    .header-actions .primary-btn,
    .header-actions .gold-btn {
        min-height: 42px;
        padding: 10px 14px;
        font-size: 0.88rem;
    }

    .footer-brand-head {
        align-items: flex-start;
        gap: 10px;
    }

    .footer-brand-mark {
        width: 54px;
        height: 54px;
        flex-basis: 54px;
    }

    .footer-donate-panel {
        grid-template-columns: 96px minmax(0, 1fr);
        align-items: center;
        justify-items: start;
        text-align: left;
    }

    .footer-donate-copy {
        justify-items: start;
    }

    .footer-payment-row {
        justify-content: flex-start;
    }

    .footer-contact-list li {
        grid-template-columns: 18px 1fr;
    }

    .footer-scholarship-head {
        flex-direction: row;
        align-items: baseline;
        justify-content: flex-start;
        gap: 10px;
    }

    .footer-scholarship-count {
        margin-left: 0;
        text-align: left;
        line-height: 1;
        white-space: nowrap;
    }

    .footer-social-links {
        gap: 10px;
    }

    .footer-social-icon {
        width: 40px;
        height: 40px;
    }

    .home-section-card.farmer-program-card {
        padding: 16px 14px;
    }

    .farmer-program-copy h2 {
        font-size: 1.45rem;
        line-height: 1.25;
    }

    .farmer-program-copy p,
    .farmer-program-points {
        font-size: 0.96rem;
        line-height: 1.65;
    }

    .farmer-program-btn {
        width: 100%;
        min-height: 48px;
        padding: 14px 16px;
        font-size: 0.96rem;
    }

    .farmer-program-panel {
        padding: 14px;
        gap: 12px;
    }

    .farmer-program-image-card,
    .farmer-program-image-card img {
        min-height: 330px;
        height: 330px;
    }

    .farmer-program-badge {
        width: 100%;
        justify-content: center;
        text-align: center;
    }
}

@media (max-width: 767px) {
    /* Keep paired actions compact and aligned on mobile. */
    .farmer-step-actions {
        flex-direction: row;
        flex-wrap: nowrap;
        align-items: stretch;
        gap: 8px;
    }

    .farmer-step-actions .primary-btn,
    .farmer-step-actions .ghost-btn,
    .farmer-step-actions .gold-btn {
        flex: 1 1 0;
        width: auto;
        min-width: 0;
        padding-left: 10px;
        padding-right: 10px;
        font-size: 0.86rem;
    }

    .about-bottom-cta-actions,
    .scholar-cta-actions,
    .gallery-bottom-cta-actions,
    .gallery-modal-actions,
    .contact-bottom-actions,
    .fundraising-bottom-actions {
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        align-items: stretch;
        gap: 8px;
    }

    .about-bottom-cta-actions > *,
    .scholar-cta-actions > *,
    .gallery-bottom-cta-actions > *,
    .gallery-modal-actions > *,
    .contact-bottom-actions > *,
    .fundraising-bottom-actions > * {
        flex: 1 1 0;
        width: auto;
        min-width: 0;
        padding-left: 10px;
        padding-right: 10px;
        text-align: center;
        font-size: 0.84rem;
    }

    /* Keep the home donation scanner compact beside its text. */
    .education-banner {
        grid-template-columns: 1fr;
    }

    .education-banner-donate {
        grid-template-columns: 104px minmax(0, 1fr);
        gap: 12px;
        padding: 16px;
    }

    .education-banner-qr {
        width: 104px;
        max-width: 100%;
        padding: 7px;
        justify-self: center;
        align-self: center;
    }

    .education-banner-qr img {
        width: 100%;
        height: auto;
        border-radius: 10px;
    }

    .education-banner-copy h2 {
        font-size: 1.15rem;
    }

    .education-banner-copy p,
    .education-banner-copy span {
        font-size: 0.82rem;
        overflow-wrap: anywhere;
    }

    .education-banner-actions .gold-btn {
        width: auto;
        min-height: 36px;
        padding: 7px 12px;
    }

    .education-banner-student {
        grid-template-columns: minmax(0, 1fr);
        gap: 14px;
        width: 100%;
        min-width: 0;
        padding: 16px;
        align-items: start;
    }

    .education-banner-student-copy {
        min-width: 0;
    }

    .education-banner-student-copy .section-kicker {
        margin-bottom: 8px;
        font-size: 0.88rem;
    }

    .education-banner-student-copy h2 {
        max-width: 100%;
        margin-bottom: 8px;
        font-size: 1.3rem;
        overflow-wrap: anywhere;
    }

    .education-banner-student .primary-btn {
        width: auto;
        min-height: 38px;
        margin-top: 8px;
        padding: 8px 14px;
        font-size: 0.84rem;
    }

    .education-banner-student-media {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        height: 220px;
        min-height: 0;
        border-radius: 12px;
    }

    .education-banner-student-media img,
    .education-banner-student img {
        width: 100%;
        max-width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
    }

    .feature-showcase-grid > *,
    .feature-intro-card,
    .farmer-register-hero,
    .farmer-form-card,
    .farmer-step-panel,
    .farmer-card-benefit-item > div {
        min-width: 0;
    }

    .feature-intro-card h2,
    .feature-intro-card p,
    .farmer-register-hero h1,
    .farmer-register-hero p,
    .farmer-card-benefit-item p {
        overflow-wrap: anywhere;
    }
}

@media (max-width: 575px) {
    .education-banner-donate {
        grid-template-columns: minmax(0, 1fr);
        justify-items: center;
        gap: 12px;
        padding: 18px 16px;
        text-align: center;
    }

    .education-banner-donate::before,
    .education-banner-donate::after {
        display: none;
    }

    .education-banner-qr {
        width: 110px;
        margin: 0 auto;
    }

    .education-banner-copy {
        width: 100%;
        text-align: center;
    }

    .education-banner-copy h2 {
        margin-bottom: 8px;
    }

    .education-banner-actions {
        display: flex;
        justify-content: center;
    }

    .education-banner-payments {
        justify-content: center;
    }

    .education-banner-student {
        padding: 16px;
    }

    .education-banner-student-media {
        height: auto;
        aspect-ratio: 16 / 10;
    }

    .education-banner-student-media img,
    .education-banner-student img {
        object-fit: cover;
        object-position: center center;
    }
}

.home-trending-panel {
    position: relative;
    z-index: 5;
    overflow: hidden;
    padding: 14px 0 16px;
    border-bottom: 1px solid rgba(185, 28, 28, 0.14);
    background:
        radial-gradient(circle at 8% 18%, rgba(245, 158, 11, 0.22), transparent 22%),
        radial-gradient(circle at 96% 12%, rgba(185, 28, 28, 0.14), transparent 24%),
        linear-gradient(135deg, #fff7e7 0%, #ffffff 46%, #fff2f2 100%);
    box-shadow: 0 16px 34px rgba(127, 29, 29, 0.1);
}

.home-trending-panel::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: linear-gradient(115deg, transparent 0%, rgba(255, 214, 102, 0.14) 42%, transparent 55%);
    animation: homeTrendingSweep 5.6s ease-in-out infinite;
    pointer-events: none;
}

.home-trending-title {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 12px;
    width: min(1180px, calc(100% - 32px));
    margin: 0 auto 10px;
    color: #7f1d1d;
    text-align: center;
}

.home-trending-title span {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 7px 13px;
    border-radius: 999px;
    color: #fff;
    background: linear-gradient(135deg, #8a4f14, #d97706 58%, #b91c1c);
    font-size: 0.84rem;
    font-weight: 800;
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    box-shadow: 0 10px 20px rgba(127, 29, 29, 0.16);
}

.home-trending-title strong {
    font-size: clamp(1.12rem, 2vw, 1.62rem);
    line-height: 1.12;
}

.home-trending-row {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 190px minmax(0, 1fr);
    align-items: stretch;
    width: min(1180px, calc(100% - 32px));
    margin: 0 auto;
    overflow: hidden;
    border: 1px solid rgba(185, 28, 28, 0.12);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.78);
    box-shadow: 0 14px 28px rgba(127, 29, 29, 0.08);
}

.home-trending-label {
    position: relative;
    display: grid;
    align-content: center;
    gap: 6px;
    padding: 16px 18px;
    color: #fff;
    background: linear-gradient(135deg, #8a4f14, #d97706 58%, #b91c1c);
}

.home-trending-label::after {
    content: "";
    position: absolute;
    top: 50%;
    right: -13px;
    width: 26px;
    height: 26px;
    background: #d97706;
    transform: translateY(-50%) rotate(45deg);
}

.home-trending-label span {
    color: #ffe08a;
    font-size: 0.76rem;
    font-weight: 800;
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: 0.07em;
}

.home-trending-label strong {
    font-size: 1.18rem;
    line-height: 1.12;
}

.home-trending-viewport {
    min-width: 0;
    overflow: hidden;
    padding: 13px 0 13px 28px;
    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 34px, #000 calc(100% - 54px), transparent 100%);
    mask-image: linear-gradient(90deg, transparent 0, #000 34px, #000 calc(100% - 54px), transparent 100%);
}

.home-trending-track {
    display: flex;
    width: max-content;
    gap: 14px;
    animation: homeTrendingMove 24s linear infinite;
    will-change: transform;
}

.home-trending-row:hover .home-trending-track,
.home-trending-row:focus-within .home-trending-track {
    animation-play-state: paused;
}

.home-trending-card {
    position: relative;
    display: grid;
    grid-template-rows: auto auto 1fr;
    gap: 5px;
    width: clamp(270px, 27vw, 360px);
    min-height: 108px;
    padding: 15px 18px 16px;
    overflow: hidden;
    border: 1px solid rgba(185, 28, 28, 0.14);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.97);
    box-shadow: 0 12px 24px rgba(127, 29, 29, 0.09);
    animation: homeTrendingFloat 3.8s ease-in-out infinite;
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.home-trending-card:nth-child(2n) {
    animation-delay: -1.2s;
}

.home-trending-card:nth-child(3n) {
    animation-delay: -2.4s;
}

.home-trending-card::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 -45%;
    width: 36%;
    background: linear-gradient(90deg, transparent, rgba(255, 217, 113, 0.32), transparent);
    transform: skewX(-18deg);
    animation: homeTrendingShine 4.4s ease-in-out infinite;
    pointer-events: none;
}

.home-trending-card:hover,
.home-trending-card:focus-visible {
    border-color: rgba(185, 28, 28, 0.34);
    box-shadow: 0 18px 34px rgba(127, 29, 29, 0.15);
    transform: translateY(-3px);
    outline: none;
}

.home-trending-card span {
    width: fit-content;
    padding: 5px 10px;
    border-radius: 999px;
    color: #7f1d1d;
    background: #ffe2d8;
    font-size: 0.78rem;
    font-weight: 800;
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.home-trending-card strong {
    color: #7f1d1d;
    font-size: 1.14rem;
    line-height: 1.15;
}

.home-trending-card small {
    color: #5f5046;
    font-size: 0.9rem;
    line-height: 1.38;
}

@keyframes homeTrendingMove {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(calc(-33.333% - 5px));
    }
}

@keyframes homeTrendingFloat {
    0%,
    100% {
        translate: 0 0;
    }

    50% {
        translate: 0 -4px;
    }
}

@keyframes homeTrendingShine {
    0%,
    55% {
        left: -45%;
    }

    78%,
    100% {
        left: 116%;
    }
}

@keyframes homeTrendingSweep {
    0%,
    100% {
        transform: translateX(-26%);
        opacity: 0.45;
    }

    50% {
        transform: translateX(26%);
        opacity: 1;
    }
}

@media (max-width: 767px) {
    .home-trending-panel {
        padding: 12px 0 14px;
    }

    .home-trending-title {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
        text-align: left;
    }

    .home-trending-row {
        grid-template-columns: 1fr;
        border-radius: 14px;
    }

    .home-trending-label {
        grid-template-columns: auto 1fr;
        align-items: baseline;
        gap: 10px;
        padding: 12px 15px;
    }

    .home-trending-label::after {
        display: none;
    }

    .home-trending-label strong {
        font-size: 1rem;
    }

    .home-trending-viewport {
        padding: 11px 0 12px 12px;
        -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 14px, #000 calc(100% - 34px), transparent 100%);
        mask-image: linear-gradient(90deg, transparent 0, #000 14px, #000 calc(100% - 34px), transparent 100%);
    }

    .home-trending-track {
        gap: 10px;
        animation-duration: 20s;
    }

    .home-trending-card {
        width: min(82vw, 315px);
        min-height: 106px;
        padding: 13px 14px 14px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .home-trending-panel::before,
    .home-trending-track,
    .home-trending-card,
    .home-trending-card::before {
        animation: none;
    }

    .home-trending-viewport {
        overflow-x: auto;
        -webkit-mask-image: none;
        mask-image: none;
    }
}
/* Full-width paired home updates ticker */
.home-trending-panel {
    width: 100%;
    padding: 12px 0 14px;
}

.home-trending-title {
    width: min(1180px, calc(100% - 32px));
    margin-bottom: 8px;
}

.home-trending-row {
    display: block;
    width: 100%;
    margin: 0;
    border-left: 0;
    border-right: 0;
    border-radius: 0;
    background: rgba(255, 255, 255, 0.72);
}

.home-trending-viewport {
    width: 100%;
    padding: 12px 0;
    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 26px, #000 calc(100% - 26px), transparent 100%);
    mask-image: linear-gradient(90deg, transparent 0, #000 26px, #000 calc(100% - 26px), transparent 100%);
}

.home-trending-track {
    align-items: stretch;
    gap: 14px;
    padding-left: 14px;
}

.home-trending-pair {
    display: flex;
    align-items: stretch;
    gap: 10px;
    flex: 0 0 auto;
    animation: homeTrendingFloat 3.8s ease-in-out infinite;
}

.home-trending-pair:nth-child(2n) {
    animation-delay: -1.2s;
}

.home-trending-pair:nth-child(3n) {
    animation-delay: -2.4s;
}

.home-trending-category {
    position: relative;
    display: grid;
    align-content: center;
    gap: 6px;
    width: clamp(150px, 15vw, 190px);
    min-height: 112px;
    padding: 16px 18px;
    color: #fff;
    overflow: hidden;
    background: linear-gradient(135deg, #8a4f14, #d97706 58%, #b91c1c);
    box-shadow: 0 12px 24px rgba(127, 29, 29, 0.14);
}

.home-trending-category::after {
    content: "";
    position: absolute;
    top: 50%;
    right: -12px;
    width: 24px;
    height: 24px;
    background: #d97706;
    transform: translateY(-50%) rotate(45deg);
    z-index: 2;
}

.home-trending-category span {
    color: #ffe08a;
    font-size: 0.74rem;
    font-weight: 800;
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: 0.07em;
}

.home-trending-category strong {
    font-size: 1.14rem;
    line-height: 1.12;
}

.home-trending-card {
    width: clamp(290px, 31vw, 390px);
    min-height: 112px;
    grid-template-rows: auto 1fr;
    align-content: center;
    animation: none;
}

.home-trending-card strong {
    font-size: 1.1rem;
}

.home-trending-card small {
    display: block;
}

.home-trending-pair:hover .home-trending-card,
.home-trending-pair:focus-within .home-trending-card {
    border-color: rgba(185, 28, 28, 0.34);
    box-shadow: 0 18px 34px rgba(127, 29, 29, 0.15);
}

@media (max-width: 767px) {
    .home-trending-title {
        width: calc(100% - 28px);
    }

    .home-trending-viewport {
        padding: 10px 0;
        -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 12px, #000 calc(100% - 12px), transparent 100%);
        mask-image: linear-gradient(90deg, transparent 0, #000 12px, #000 calc(100% - 12px), transparent 100%);
    }

    .home-trending-track {
        gap: 10px;
        padding-left: 10px;
    }

    .home-trending-pair {
        gap: 8px;
    }

    .home-trending-category {
        width: 128px;
        min-height: 104px;
        padding: 13px 14px;
    }

    .home-trending-category::after {
        right: -9px;
        width: 18px;
        height: 18px;
    }

    .home-trending-category strong {
        font-size: 1rem;
    }

    .home-trending-card {
        width: min(66vw, 300px);
        min-height: 104px;
        padding: 13px 14px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .home-trending-pair {
        animation: none;
    }
}

/* One-by-one home updates ticker */
.home-trending-row {
    display: grid;
    grid-template-columns: clamp(170px, 18vw, 230px) minmax(0, 1fr);
    width: 100%;
    min-height: 136px;
    margin: 0;
    border-left: 0;
    border-right: 0;
    border-radius: 0;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.72);
}

.home-trending-label {
    position: relative;
    display: grid;
    align-content: center;
    gap: 6px;
    min-height: 136px;
    padding: 18px 24px 18px 38px;
    color: #fff;
    background: linear-gradient(135deg, #8a4f14, #d97706 58%, #b91c1c);
}

.home-trending-label::after {
    content: "";
    position: absolute;
    top: 50%;
    right: -13px;
    width: 26px;
    height: 26px;
    background: #d97706;
    transform: translateY(-50%) rotate(45deg);
    z-index: 2;
}

.home-trending-label span {
    color: #ffe08a;
    font-size: 0.76rem;
    font-weight: 800;
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: 0.07em;
}

.home-trending-label strong {
    font-size: 1.22rem;
    line-height: 1.12;
}

.home-trending-viewport {
    position: relative;
    min-width: 0;
    min-height: 136px;
    padding: 0;
    overflow: hidden;
    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 34px, #000 calc(100% - 34px), transparent 100%);
    mask-image: linear-gradient(90deg, transparent 0, #000 34px, #000 calc(100% - 34px), transparent 100%);
}

.home-trending-stage {
    position: relative;
    width: 100%;
    height: 100%;
    min-height: 136px;
}

.home-trending-slide {
    position: absolute;
    top: 50%;
    left: 34px;
    display: grid;
    grid-template-rows: auto auto 1fr;
    gap: 5px;
    width: clamp(290px, 36vw, 430px);
    min-height: 108px;
    opacity: 0;
    pointer-events: none;
    transform: translate(105vw, -50%);
    animation: none;
}

.home-trending-slide.is-active {
    opacity: 1;
    pointer-events: auto;
    animation: homeTrendingSingleAd 5.2s ease-in-out both;
}

.home-trending-slide span {
    width: fit-content;
    padding: 5px 10px;
    border-radius: 999px;
    color: #7f1d1d;
    background: #ffe2d8;
    font-size: 0.78rem;
    font-weight: 800;
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.home-trending-pair,
.home-trending-category {
    display: none;
}

@keyframes homeTrendingSingleAd {
    0% {
        opacity: 0;
        transform: translate(105vw, -50%);
    }

    16%,
    78% {
        opacity: 1;
        transform: translate(0, -50%);
    }

    100% {
        opacity: 0;
        transform: translate(-115%, -50%);
    }
}

@media (max-width: 767px) {
    .home-trending-row {
        grid-template-columns: 132px minmax(0, 1fr);
        min-height: 126px;
    }

    .home-trending-label {
        min-height: 126px;
        padding: 14px 16px;
    }

    .home-trending-label::after {
        right: -9px;
        width: 18px;
        height: 18px;
    }

    .home-trending-label span {
        font-size: 0.66rem;
    }

    .home-trending-label strong {
        font-size: 0.98rem;
    }

    .home-trending-viewport,
    .home-trending-stage {
        min-height: 126px;
    }

    .home-trending-slide {
        left: 18px;
        width: min(62vw, 300px);
        min-height: 102px;
        padding: 13px 14px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .home-trending-slide.is-active {
        animation: none;
        transform: translate(0, -50%);
    }
}

/* Single-line advertisement style movement for home updates */
.home-trending-row {
    min-height: 92px;
}

.home-trending-label {
    min-height: 92px;
}

.home-trending-viewport,
.home-trending-stage {
    min-height: 92px;
}

.home-trending-slide {
    top: 50%;
    left: 0;
    display: flex;
    align-items: center;
    gap: 14px;
    width: max-content;
    max-width: none;
    min-width: max-content;
    min-height: 54px;
    padding: 12px 22px;
    white-space: nowrap;
    transform: translate(105vw, -50%);
}

.home-trending-slide strong,
.home-trending-slide small {
    white-space: nowrap;
}

.home-trending-slide small {
    font-size: 0.98rem;
}

.home-trending-slide.is-active {
    animation: homeTrendingSingleLineAd 5.2s linear both;
}

@keyframes homeTrendingSingleLineAd {
    0% {
        opacity: 1;
        transform: translate(105vw, -50%);
    }

    100% {
        opacity: 1;
        transform: translate(-120%, -50%);
    }
}

@media (max-width: 767px) {
    .home-trending-row {
        min-height: 86px;
    }

    .home-trending-label {
        min-height: 86px;
    }

    .home-trending-viewport,
    .home-trending-stage {
        min-height: 86px;
    }

    .home-trending-slide {
        left: 0;
        width: max-content;
        min-width: max-content;
        min-height: 50px;
        padding: 11px 16px;
        gap: 10px;
    }

    .home-trending-slide strong {
        font-size: 0.98rem;
    }

    .home-trending-slide small {
        font-size: 0.88rem;
    }
}

/* Slower home update advertisement line */
.home-trending-slide.is-active {
    animation-duration: 8.4s;
}

.home-trending-label:hover,
.home-trending-label:focus-visible {
    color: #fff;
    outline: none;
    filter: brightness(1.04);
}

/* Final slower edge-to-edge home ticker movement */
.home-trending-slide {
    left: 100%;
    transform: translate(0, -50%);
}

.home-trending-slide.is-active {
    animation: homeTrendingSingleLineAd 26s linear both;
}

@keyframes homeTrendingSingleLineAd {
    0% {
        left: 100%;
        opacity: 1;
        transform: translate(0, -50%);
    }

    100% {
        left: 0;
        opacity: 1;
        transform: translate(-100%, -50%);
    }
}

@media (max-width: 767px) {
    .home-trending-slide {
        left: 100%;
    }
}

/* Continuous full-width home ticker without left category block */
.home-trending-row.home-trending-row-full {
    display: block;
    width: 100%;
    min-height: 78px;
    border-left: 0;
    border-right: 0;
    border-radius: 0;
    overflow: hidden;
}

.home-trending-row-full .home-trending-viewport {
    min-height: 78px;
    padding: 10px 0;
    overflow: hidden;
    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 24px, #000 calc(100% - 24px), transparent 100%);
    mask-image: linear-gradient(90deg, transparent 0, #000 24px, #000 calc(100% - 24px), transparent 100%);
}

.home-trending-continuous-track {
    display: flex;
    align-items: center;
    gap: 14px;
    width: max-content;
    padding-left: 14px;
    animation: homeTrendingContinuousMove 70s linear infinite;
    will-change: transform;
}

.home-trending-row-full:hover .home-trending-continuous-track,
.home-trending-row-full:focus-within .home-trending-continuous-track {
    animation-play-state: paused;
}

.home-trending-marquee-card {
    position: relative;
    top: auto;
    left: auto;
    display: flex;
    align-items: center;
    gap: 14px;
    width: max-content;
    min-width: max-content;
    min-height: 48px;
    padding: 11px 20px;
    opacity: 1;
    pointer-events: auto;
    transform: none;
    animation: none;
    white-space: nowrap;
}

.home-trending-marquee-card strong,
.home-trending-marquee-card small {
    min-width: 0;
    white-space: nowrap;
}

.home-trending-marquee-card small {
    font-size: 0.95rem;
}

@keyframes homeTrendingContinuousMove {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(calc(-33.333% - 5px));
    }
}

@media (max-width: 767px) {
    .home-trending-row.home-trending-row-full,
    .home-trending-row-full .home-trending-viewport {
        min-height: 72px;
    }

    .home-trending-continuous-track {
        gap: 10px;
        padding-left: 10px;
        animation-duration: 60s;
    }

    .home-trending-marquee-card {
        min-height: 46px;
        padding: 10px 14px;
        gap: 10px;
    }

    .home-trending-marquee-card strong {
        font-size: 0.95rem;
    }

    .home-trending-marquee-card small {
        font-size: 0.84rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .home-trending-continuous-track {
        animation: none;
    }

    .home-trending-row-full .home-trending-viewport {
        overflow-x: auto;
        -webkit-mask-image: none;
        mask-image: none;
    }
}

/* Hide ticker scrollbar and keep slow continuous movement */
.home-trending-panel,
.home-trending-row.home-trending-row-full,
.home-trending-row-full .home-trending-viewport {
    overflow: hidden !important;
}

.home-trending-row-full .home-trending-viewport {
    scrollbar-width: none;
}

.home-trending-row-full .home-trending-viewport::-webkit-scrollbar {
    display: none;
}

.home-trending-continuous-track {
    animation: homeTrendingContinuousMove 100s linear infinite !important;
}

@media (max-width: 767px) {
    .home-trending-continuous-track {
        animation-duration: 85s !important;
    }
}

/* Center home ticker heading on mobile */
@media (max-width: 767px) {
    .home-trending-title {
        align-items: center;
        justify-content: center;
        text-align: center;
    }
}

/* Footer scholarship names as plain text on footer background */
.footer-scholarship-pill {
    display: block;
    width: 100%;
    min-height: auto;
    padding: 0 0 9px;
    border: 0;
    border-radius: 0;
    color: #ffffff;
    background: transparent !important;
    box-shadow: none !important;
    font-weight: 700;
    line-height: 1.35;
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
    overflow-wrap: anywhere;
}

.footer-scholarship-pill + .footer-scholarship-pill {
    padding-top: 9px;
    border-top: 1px solid rgba(255, 255, 255, 0.2);
}

.footer-scholarship-marquee {
    background: transparent !important;
    box-shadow: none !important;
}

@media (max-width: 767px) {
    .footer-scholarship-pill {
        padding-bottom: 8px;
        font-size: 0.9rem;
    }

    .footer-scholarship-pill + .footer-scholarship-pill {
        padding-top: 8px;
    }
}

/* CMS-managed hero text slider */
.hero-copy-slides {
    position: relative;
    min-height: clamp(188px, 19vw, 252px);
}

.hero-copy-slide {
    width: 100%;
    opacity: 0;
    pointer-events: none;
    transform: translateY(10px);
    transition: opacity 0.38s ease, transform 0.38s ease;
}

.hero-copy-slide:not(.is-active) {
    position: absolute;
    inset: 0;
}

.hero-copy-slide.is-active {
    position: relative;
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
}

.hero-slider-controls {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 10px;
}

.hero-slider-arrow,
.hero-slider-dot {
    border: 1px solid rgba(255, 255, 255, 0.38);
    color: #fff;
    background: rgba(108, 16, 14, 0.5);
    cursor: pointer;
    transition: background 0.2s ease, transform 0.2s ease;
}

.hero-slider-arrow {
    width: 28px;
    height: 28px;
    display: inline-grid;
    place-items: center;
    border-radius: 50%;
    padding: 0;
    font-size: 1.1rem;
    line-height: 1;
}

.hero-slider-dots {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.hero-slider-dot {
    width: 8px;
    height: 8px;
    border-radius: 999px;
    padding: 0;
}

.hero-slider-arrow:hover,
.hero-slider-arrow:focus-visible,
.hero-slider-dot:hover,
.hero-slider-dot:focus-visible,
.hero-slider-dot.is-active {
    background: #f0a700;
    color: #542600;
    transform: translateY(-1px);
    outline: none;
}

@media (max-width: 767px) {
    .hero-copy-slides {
        min-height: 258px;
    }

    .hero-slider-controls {
        justify-content: center;
    }
}

/* Keep the first hero title phrase on one line */
.hero-showcase-copy {
    width: min(100%, 500px);
}

.hero-title-main {
    white-space: nowrap;
}

@media (max-width: 767px) {
    .hero-title-main {
        white-space: normal;
    }
}

/* English + Kannada content inside home ticker */
.home-trending-label-pair {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    width: fit-content;
    padding: 5px 10px;
    border-radius: 999px;
    color: #7f1d1d;
    background: #ffe2d8;
    font-size: 0.78rem;
    font-weight: 800;
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

.home-trending-label-pair b,
.home-trending-marquee-card strong b,
.home-trending-marquee-card small b {
    font: inherit;
}

.home-trending-label-pair b + b::before,
.home-trending-marquee-card strong b + b::before,
.home-trending-marquee-card small b + b::before {
    content: " / ";
    color: #b45309;
    font-weight: 700;
}

.home-trending-marquee-card strong,
.home-trending-marquee-card small {
    display: inline-flex;
    align-items: center;
    gap: 0;
}

.home-trending-marquee-card small b {
    white-space: nowrap;
}

@media (max-width: 767px) {
    .home-trending-marquee-card {
        gap: 8px;
    }

    .home-trending-label-pair {
        font-size: 0.7rem;
        padding: 5px 8px;
    }
}

.farmer-student-block {
    border: 1px solid rgba(29, 57, 47, 0.16);
    border-radius: 8px;
    padding: 18px;
    margin-bottom: 18px;
    background: rgba(255, 255, 255, 0.72);
}

.farmer-student-block .farmer-step-intro {
    margin-bottom: 14px;
}

.farmer-student-block .farmer-step-intro h3 {
    margin: 0 0 4px;
    font-size: 1rem;
}

.site-language-control {
    display: inline-flex;
    align-items: center;
}

.site-language-select {
    min-height: 40px;
    border: 1px solid rgba(113, 63, 18, 0.22);
    border-radius: 999px;
    background: #fffaf0;
    color: #5f2316;
    font-weight: 700;
    font-size: 0.86rem;
    padding: 9px 32px 9px 14px;
    outline: none;
    cursor: pointer;
}

.site-language-select:focus {
    border-color: #d97706;
    box-shadow: 0 0 0 3px rgba(217, 119, 6, 0.16);
}

/* kannada-overflow-fix */
html,
body {
    max-width: 100%;
    overflow-x: hidden;
}

.farmer-register-shell,
.farmer-register-shell,
.farmer-form-card,
.farmer-step-panel,
.farmer-form-grid {
    min-width: 0;
}


.farmer-step-tabs {
    max-width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-inline: contain;
}

.farmer-step-tab {
    flex: 0 0 clamp(116px, 13vw, 150px);
    min-width: 0;
}

.farmer-step-tab strong {
    white-space: normal;
    overflow-wrap: anywhere;
}


/* kannada-font-size-adjust */
html[lang="kn"] body {
    font-size: 0.94rem;
}

html[lang="kn"] .site-nav,
html[lang="kn"] .header-actions .primary-btn,
html[lang="kn"] .header-actions .gold-btn,
html[lang="kn"] .site-language-select {
    font-size: 0.78rem;
}

html[lang="kn"] .brand-copy strong {
    font-size: 0.9rem;
}

html[lang="kn"] .farmer-register-hero h1 {
    font-size: clamp(1.8rem, 3.5vw, 3.05rem);
    line-height: 1.18;
}

html[lang="kn"] .farmer-step-intro h2 {
    font-size: clamp(1.45rem, 2.5vw, 2.35rem);
    line-height: 1.18;
}

html[lang="kn"] .farmer-step-tab strong,
html[lang="kn"] .farmer-field span,
html[lang="kn"] .farmer-checkbox span,
html[lang="kn"] .farmer-stepper-head p,
html[lang="kn"] .farmer-stepper-note {
    font-size: 0.88em;
    line-height: 1.25;
}

html[lang="kn"] .farmer-register-hero p,
html[lang="kn"] .farmer-step-intro p,
html[lang="kn"] .helper-text,
html[lang="kn"] .farmer-field small {
    font-size: 0.9em;
    line-height: 1.45;
}

html[lang="kn"] .farmer-step-actions .primary-btn,
html[lang="kn"] .farmer-step-actions .ghost-btn,
html[lang="kn"] .farmer-step-actions .gold-btn {
    font-size: 0.86rem;
}
/* stable-old-header */
@media (min-width: 992px) {
    .site-header {
        min-height: 78px !important;
        overflow: visible !important;
    }

    .site-main-nav,
    .site-main-nav > .container-fluid,
    .site-collapse-wrapper {
        min-height: 78px !important;
        overflow: visible !important;
    }

    .site-main-nav > .container-fluid {
        display: flex !important;
        align-items: center !important;
        flex-wrap: nowrap !important;
        gap: 12px !important;
    }

    .site-brand,
    .navbar .site-brand.navbar-brand {
        display: inline-flex !important;
        align-items: center !important;
        gap: 8px !important;
        min-height: 74px !important;
        margin: 0 12px 0 0 !important;
        padding: 0 !important;
        overflow: visible !important;
        flex: 0 0 auto !important;
    }

    .site-header .brand-mark {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 62px !important;
        height: 62px !important;
        min-width: 62px !important;
        flex: 0 0 62px !important;
        overflow: visible !important;
        opacity: 1 !important;
        visibility: visible !important;
    }

    .site-header .brand-mark img {
        display: block !important;
        width: 62px !important;
        height: 62px !important;
        max-width: 62px !important;
        max-height: 62px !important;
        object-fit: contain !important;
        opacity: 1 !important;
        visibility: visible !important;
    }

    .site-header .brand-copy {
        display: block !important;
        min-width: 0 !important;
    }

    .site-header .brand-copy strong {
        display: block !important;
        color: #b91c1c !important;
        font-size: 1rem !important;
        font-weight: 700 !important;
        line-height: 1.05 !important;
        white-space: nowrap !important;
    }
}
/* target-header-final */
@media (min-width: 992px) {
    .site-header {
        min-height: 78px !important;
        background: #fff !important;
        border-bottom: 1px solid rgba(185, 28, 28, 0.12) !important;
        box-shadow: none !important;
        overflow: visible !important;
    }

    .site-header .site-container {
        width: min(1200px, calc(100% - 48px)) !important;
        margin: 0 auto !important;
    }

    .site-main-nav,
    .site-main-nav > .container-fluid {
        min-height: 78px !important;
        padding: 0 !important;
    }

    .site-main-nav > .container-fluid {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        flex-wrap: nowrap !important;
        gap: 18px !important;
        overflow: visible !important;
    }

    .site-brand,
    .navbar .site-brand.navbar-brand {
        display: inline-flex !important;
        align-items: center !important;
        gap: 8px !important;
        min-height: 78px !important;
        margin: 0 8px 0 0 !important;
        padding: 0 !important;
        overflow: visible !important;
        flex: 0 0 auto !important;
    }

    .site-header .brand-mark {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 62px !important;
        height: 62px !important;
        min-width: 62px !important;
        flex: 0 0 62px !important;
        overflow: visible !important;
    }

    .site-header .brand-mark img {
        display: block !important;
        width: 62px !important;
        height: 62px !important;
        max-width: 62px !important;
        max-height: 62px !important;
        object-fit: contain !important;
    }

    .site-header .brand-copy strong {
        display: block !important;
        color: #b91c1c !important;
        font-size: 1rem !important;
        font-weight: 700 !important;
        line-height: 1.05 !important;
        white-space: nowrap !important;
    }

    .site-collapse-wrapper {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        gap: 18px !important;
        flex: 1 1 auto !important;
        min-width: 0 !important;
        overflow: visible !important;
    }

    .site-nav {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 18px !important;
        flex: 0 1 auto !important;
        min-width: 0 !important;
        font-size: 0.9rem !important;
        font-weight: 700 !important;
    }

    .site-nav a,
    .site-nav .nav-link {
        padding: 6px 0 10px !important;
        white-space: nowrap !important;
    }

    .header-actions {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        gap: 8px !important;
        flex: 0 0 auto !important;
        min-width: 0 !important;
        overflow: visible !important;
    }

    .site-language-select,
    .header-actions .small-btn,
    .header-actions .header-cta-link {
        min-height: 42px !important;
        padding: 11px 17px !important;
        border-radius: 999px !important;
        font-size: 0.9rem !important;
        line-height: 1 !important;
        white-space: nowrap !important;
    }

    .site-language-select {
        width: 124px !important;
    }

    .header-actions .primary-btn,
    .header-actions .gold-btn {
        box-shadow: none !important;
    }
}

@media (min-width: 992px) and (max-width: 1240px) {
    .site-header .site-container {
        width: min(100%, calc(100% - 28px)) !important;
    }

    .site-main-nav > .container-fluid,
    .site-collapse-wrapper {
        gap: 12px !important;
    }

    .site-nav {
        gap: 12px !important;
        font-size: 0.84rem !important;
    }

    .site-language-select,
    .header-actions .small-btn,
    .header-actions .header-cta-link {
        padding-left: 14px !important;
        padding-right: 14px !important;
        font-size: 0.84rem !important;
    }
}
/* target-header-grid-fix */
@media (min-width: 992px) {
    .site-main-nav > .container-fluid {
        display: grid !important;
        grid-template-columns: 232px minmax(0, 1fr) !important;
        align-items: center !important;
        column-gap: 18px !important;
        min-height: 78px !important;
    }

    .site-brand,
    .navbar .site-brand.navbar-brand {
        width: 232px !important;
        min-width: 232px !important;
        max-width: 232px !important;
        display: flex !important;
        align-items: center !important;
        gap: 8px !important;
        margin: 0 !important;
        overflow: visible !important;
    }

    .site-header .brand-mark {
        display: block !important;
        width: 62px !important;
        height: 62px !important;
        min-width: 62px !important;
        flex: 0 0 62px !important;
        background: transparent url('../image/logo.png') center / contain no-repeat !important;
        overflow: visible !important;
        opacity: 1 !important;
        visibility: visible !important;
    }

    .site-header .brand-mark img {
        display: block !important;
        width: 62px !important;
        height: 62px !important;
        object-fit: contain !important;
        opacity: 1 !important;
        visibility: visible !important;
    }

    .site-header .brand-copy {
        display: block !important;
        flex: 0 1 auto !important;
        min-width: 0 !important;
        overflow: visible !important;
    }

    .site-header .brand-copy strong {
        display: block !important;
        color: #b91c1c !important;
        font-size: 1rem !important;
        font-weight: 700 !important;
        line-height: 1.05 !important;
        white-space: nowrap !important;
    }

    .site-collapse-wrapper {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        align-items: center !important;
        column-gap: 18px !important;
        min-width: 0 !important;
        width: 100% !important;
    }

    .site-nav {
        justify-content: start !important;
        gap: 18px !important;
        min-width: 0 !important;
    }

    .header-actions {
        justify-content: end !important;
        gap: 8px !important;
    }
}

@media (min-width: 992px) and (max-width: 1240px) {
    .site-main-nav > .container-fluid {
        grid-template-columns: 220px minmax(0, 1fr) !important;
        column-gap: 14px !important;
    }

    .site-brand,
    .navbar .site-brand.navbar-brand {
        width: 220px !important;
        min-width: 220px !important;
        max-width: 220px !important;
    }

    .site-collapse-wrapper {
        column-gap: 14px !important;
    }

    .site-nav {
        gap: 14px !important;
        font-size: 0.86rem !important;
    }
}
/* desktop-header-match-reference */
@media (min-width: 992px) {
    .site-header {
        min-height: 76px !important;
        background: #fff !important;
        box-shadow: none !important;
    }

    .site-header .site-container {
        width: min(1200px, calc(100% - 48px)) !important;
    }

    .site-main-nav,
    .site-main-nav > .container-fluid {
        min-height: 76px !important;
        padding: 0 !important;
    }

    .site-main-nav > .container-fluid {
        display: grid !important;
        grid-template-columns: 236px minmax(0, 1fr) !important;
        align-items: center !important;
        column-gap: 16px !important;
    }

    .site-brand,
    .navbar .site-brand.navbar-brand {
        width: 236px !important;
        min-width: 236px !important;
        max-width: 236px !important;
        min-height: 76px !important;
        margin: 0 !important;
        gap: 8px !important;
    }

    .site-header .brand-mark,
    .site-header .brand-mark img {
        width: 66px !important;
        height: 66px !important;
        min-width: 66px !important;
    }

    .site-header .brand-copy strong {
        font-size: 1rem !important;
        line-height: 1.05 !important;
        color: #b91c1c !important;
        white-space: nowrap !important;
    }

    .site-collapse-wrapper {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        align-items: center !important;
        column-gap: 16px !important;
        width: 100% !important;
        min-width: 0 !important;
    }

    .site-nav {
        justify-content: start !important;
        gap: 18px !important;
        min-width: 0 !important;
        font-size: 0.88rem !important;
        line-height: 1 !important;
    }

    .site-nav a,
    .site-nav .nav-link {
        padding: 6px 0 10px !important;
        white-space: nowrap !important;
    }

    .header-actions {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        gap: 8px !important;
        min-width: 0 !important;
    }

    .header-actions .site-language-control {
        display: none !important;
    }

    .header-actions .small-btn,
    .header-actions .header-cta-link {
        min-height: 40px !important;
        min-width: 0 !important;
        padding: 10px 18px !important;
        font-size: 0.9rem !important;
        line-height: 1 !important;
        box-shadow: none !important;
    }
}

@media (min-width: 992px) and (max-width: 1240px) {
    .site-header .site-container {
        width: min(100%, calc(100% - 28px)) !important;
    }

    .site-main-nav > .container-fluid {
        grid-template-columns: 230px minmax(0, 1fr) !important;
        column-gap: 14px !important;
    }

    .site-brand,
    .navbar .site-brand.navbar-brand {
        width: 230px !important;
        min-width: 230px !important;
        max-width: 230px !important;
    }

    .site-collapse-wrapper {
        column-gap: 14px !important;
    }

    .site-nav {
        gap: 14px !important;
        font-size: 0.84rem !important;
    }

    .header-actions .small-btn,
    .header-actions .header-cta-link {
        padding-left: 15px !important;
        padding-right: 15px !important;
        font-size: 0.84rem !important;
    }
}

/* hard-coded-reference-header */
@media (min-width: 992px) {
    .site-header {
        min-height: 78px !important;
        height: 78px !important;
        background: #fff !important;
        border-bottom: 1px solid rgba(185, 28, 28, 0.12) !important;
        box-shadow: none !important;
        overflow: visible !important;
    }

    .site-header .site-container {
        width: min(1236px, calc(100% - 112px)) !important;
        height: 78px !important;
        margin: 0 auto !important;
        padding: 0 !important;
    }

    .site-main-nav,
    .site-main-nav > .container-fluid {
        height: 78px !important;
        min-height: 78px !important;
        padding: 0 !important;
        margin: 0 !important;
        overflow: visible !important;
    }

    .site-main-nav > .container-fluid {
        display: grid !important;
        grid-template-columns: 236px minmax(0, 1fr) !important;
        column-gap: 16px !important;
        align-items: center !important;
    }

    .site-brand,
    .navbar .site-brand.navbar-brand {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        width: 236px !important;
        min-width: 236px !important;
        max-width: 236px !important;
        height: 78px !important;
        min-height: 78px !important;
        gap: 8px !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
        text-decoration: none !important;
    }

    .site-header .brand-mark {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 66px !important;
        height: 66px !important;
        min-width: 66px !important;
        flex: 0 0 66px !important;
        margin: 0 !important;
        padding: 0 !important;
        opacity: 1 !important;
        visibility: visible !important;
        background: transparent url('../image/logo.png') center / contain no-repeat !important;
    }

    .site-header .brand-mark img {
        display: block !important;
        width: 66px !important;
        height: 66px !important;
        min-width: 66px !important;
        max-width: 66px !important;
        object-fit: contain !important;
        opacity: 1 !important;
        visibility: visible !important;
    }

    .site-header .brand-copy {
        display: block !important;
        min-width: 0 !important;
        overflow: visible !important;
    }

    .site-header .brand-copy strong {
        display: block !important;
        color: #b91c1c !important;
        font-family: "Times New Roman", Times, serif !important;
        font-size: 1rem !important;
        font-weight: 700 !important;
        line-height: 1.05 !important;
        white-space: nowrap !important;
    }

    .site-collapse-wrapper {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        column-gap: 16px !important;
        align-items: center !important;
        width: 100% !important;
        min-width: 0 !important;
        height: 78px !important;
        min-height: 78px !important;
        margin: 0 !important;
    }

    .site-nav {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 18px !important;
        min-width: 0 !important;
        height: 78px !important;
        margin: 0 !important;
        padding: 0 !important;
        font-family: "Times New Roman", Times, serif !important;
        font-size: 0.88rem !important;
        font-weight: 700 !important;
        line-height: 1 !important;
    }

    .site-nav a,
    .site-nav .nav-link {
        color: #111827 !important;
        padding: 6px 0 10px !important;
        white-space: nowrap !important;
    }

    .site-nav a.active,
    .site-nav .nav-link.active {
        color: #111827 !important;
    }

    .site-nav a::after,
    .site-nav .nav-link::after {
        height: 3px !important;
        background: #ef3b2d !important;
    }

    .header-actions {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        gap: 8px !important;
        height: 78px !important;
        min-width: max-content !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .header-actions .site-language-control {
        display: none !important;
    }

    .header-actions .small-btn,
    .header-actions .header-cta-link {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-height: 40px !important;
        height: 40px !important;
        padding: 10px 18px !important;
        border-radius: 999px !important;
        font-family: "Times New Roman", Times, serif !important;
        font-size: 0.9rem !important;
        font-weight: 700 !important;
        line-height: 1 !important;
        white-space: nowrap !important;
        box-shadow: none !important;
    }
}

@media (min-width: 992px) and (max-width: 1240px) {
    .site-header .site-container {
        width: min(100%, calc(100% - 40px)) !important;
    }

    .site-main-nav > .container-fluid {
        grid-template-columns: 236px minmax(0, 1fr) !important;
        column-gap: 14px !important;
    }

    .site-collapse-wrapper {
        column-gap: 14px !important;
    }

    .site-nav {
        gap: 14px !important;
        font-size: 0.84rem !important;
    }

    .header-actions .small-btn,
    .header-actions .header-cta-link {
        padding-left: 15px !important;
        padding-right: 15px !important;
        font-size: 0.84rem !important;
    }
}

/* reference-logo-size-fix */
@media (min-width: 992px) {
    .site-brand,
    .navbar .site-brand.navbar-brand {
        gap: 14px !important;
    }

    .site-header .brand-mark {
        width: 62px !important;
        height: 67px !important;
        min-width: 62px !important;
        flex: 0 0 62px !important;
        background: transparent url('../image/logo.png') center / contain no-repeat !important;
    }

    .site-header .brand-mark img {
        width: 62px !important;
        height: 67px !important;
        min-width: 62px !important;
        max-width: 62px !important;
        object-fit: contain !important;
    }
}

/* exact-logo-text-reference-lock */
@media (min-width: 992px) {
    .site-header .site-container,
    .site-main-nav,
    .site-main-nav > .container-fluid,
    .site-collapse-wrapper {
        height: 78px !important;
        min-height: 78px !important;
    }

    .site-brand,
    .navbar .site-brand.navbar-brand {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        width: 250px !important;
        min-width: 250px !important;
        max-width: 250px !important;
        height: 78px !important;
        gap: 10px !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
    }

    .site-header .brand-mark {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 62px !important;
        height: 67px !important;
        min-width: 62px !important;
        flex: 0 0 62px !important;
        margin: 0 !important;
        padding: 0 !important;
        background: transparent url('../image/logo.png') center / contain no-repeat !important;
    }

    .site-header .brand-mark img {
        display: block !important;
        width: 62px !important;
        height: 67px !important;
        min-width: 62px !important;
        max-width: 62px !important;
        object-fit: contain !important;
    }

    .site-header .brand-copy {
        display: block !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
    }

    .site-header .brand-copy strong {
        display: block !important;
        color: #b91c1c !important;
        font-family: "Times New Roman", Times, serif !important;
        font-size: 16px !important;
        font-weight: 700 !important;
        line-height: 1.05 !important;
        white-space: nowrap !important;
    }
}

/* header-language-dropdown-visible */
.site-header .site-language-control {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
}

.site-header .site-language-select {
    display: inline-flex !important;
    width: 96px !important;
    min-width: 96px !important;
    height: 38px !important;
    padding: 7px 26px 7px 12px !important;
    border: 1px solid #f2c14e !important;
    border-radius: 999px !important;
    background-color: #fff7df !important;
    color: #7c3f08 !important;
    font-family: "Times New Roman", Times, serif !important;
    font-size: 0.84rem !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    cursor: pointer !important;
}

@media (min-width: 992px) {
    .header-actions {
        gap: 7px !important;
    }

    .header-actions .site-language-control {
        display: inline-flex !important;
    }

    .header-actions .small-btn,
    .header-actions .header-cta-link {
        min-height: 38px !important;
        height: 38px !important;
        padding: 9px 14px !important;
        font-size: 0.84rem !important;
    }
}

@media (min-width: 992px) and (max-width: 1240px) {
    .site-main-nav > .container-fluid {
        grid-template-columns: 240px minmax(0, 1fr) !important;
        column-gap: 12px !important;
    }

    .site-brand,
    .navbar .site-brand.navbar-brand {
        width: 240px !important;
        min-width: 240px !important;
        max-width: 240px !important;
    }

    .site-nav {
        gap: 12px !important;
        font-size: 0.82rem !important;
    }

    .site-header .site-language-select {
        width: 92px !important;
        min-width: 92px !important;
        font-size: 0.8rem !important;
    }

    .header-actions .small-btn,
    .header-actions .header-cta-link {
        padding-left: 12px !important;
        padding-right: 12px !important;
        font-size: 0.8rem !important;
    }
}

/* final-logo-match-reference */
@media (min-width: 992px) {
    .site-brand,
    .navbar .site-brand.navbar-brand {
        gap: 6px !important;
        width: 224px !important;
        min-width: 224px !important;
        max-width: 224px !important;
        height: 78px !important;
        min-height: 78px !important;
        align-items: center !important;
    }

    .site-header .brand-mark {
        width: 62px !important;
        height: 62px !important;
        min-width: 62px !important;
        flex: 0 0 62px !important;
        align-self: center !important;
        margin: 0 !important;
        background: transparent url('../image/logo.png') center / contain no-repeat !important;
    }

    .site-header .brand-mark img {
        width: 62px !important;
        height: 62px !important;
        min-width: 62px !important;
        max-width: 62px !important;
        object-fit: contain !important;
        display: block !important;
    }

    .site-header .brand-copy strong {
        color: #b91c1c !important;
        font-size: 15px !important;
        font-weight: 700 !important;
        line-height: 1.05 !important;
        white-space: nowrap !important;
    }
}

/* kannada-header-cta-dropdown */
.header-cta-menu {
    display: flex;
    align-items: center;
    position: relative;
}

.header-cta-menu-panel {
    display: flex;
    align-items: center;
    gap: 8px;
}

.header-cta-menu-toggle {
    display: none !important;
}

@media (min-width: 992px) {
    html[lang="kn"] .header-actions {
        position: relative !important;
        min-width: auto !important;
        overflow: visible !important;
    }

    html[lang="kn"] .header-cta-menu {
        display: flex !important;
        position: relative !important;
    }

    html[lang="kn"] .header-cta-menu-toggle {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-height: 40px !important;
        height: 40px !important;
        padding: 10px 18px !important;
        font-size: 0.9rem !important;
        white-space: nowrap !important;
    }

    html[lang="kn"] .header-cta-menu-panel {
        display: none !important;
        position: absolute !important;
        top: calc(100% + 10px) !important;
        right: 0 !important;
        z-index: 120 !important;
        width: max-content !important;
        min-width: 220px !important;
        padding: 10px !important;
        border: 1px solid rgba(245, 158, 11, 0.35) !important;
        border-radius: 14px !important;
        background: #fff !important;
        box-shadow: 0 16px 36px rgba(88, 28, 25, 0.16) !important;
    }

    html[lang="kn"] .header-cta-menu.is-open .header-cta-menu-panel {
        display: grid !important;
        gap: 8px !important;
    }

    html[lang="kn"] .header-cta-menu-panel .header-cta-link {
        width: 100% !important;
        min-width: 200px !important;
        justify-content: center !important;
        font-size: 0.88rem !important;
    }
}

/* force-kannada-only-cta-menu-toggle */
@media (min-width: 992px) {
    .header-actions .header-cta-menu-toggle,
    html[lang="en"] .header-actions .header-cta-menu-toggle {
        display: none !important;
    }

    html[lang="kn"] .header-actions .header-cta-menu-toggle {
        display: inline-flex !important;
    }
}

.header-cta-menu-toggle::after {
    content: "";
    display: inline-block;
    width: 0;
    height: 0;
    margin-left: 8px;
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-top: 5px solid currentColor;
    vertical-align: middle;
}

.header-cta-menu.is-open .header-cta-menu-toggle::after {
    transform: rotate(180deg);
}

/* scholarship-impact-readable-labels */
.scholar-impact-strip,
.scholar-impact-strip article,
.scholar-impact-strip p,
html[lang="kn"] .scholar-impact-strip,
html[lang="kn"] .scholar-impact-strip article,
html[lang="kn"] .scholar-impact-strip p {
    color: #6c584c !important;
}

.scholar-impact-strip strong,
html[lang="kn"] .scholar-impact-strip strong {
    color: #be1e18 !important;
}

.scholar-impact-strip .impact-highlight-icon,
html[lang="kn"] .scholar-impact-strip .impact-highlight-icon {
    color: #f5b82e !important;
}

.site-header .header-actions .site-language-control,
.site-header .header-actions .site-language-select {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: auto !important;
    height: auto !important;
    max-width: none !important;
    max-height: none !important;
    overflow: visible !important;
    pointer-events: auto !important;
}

.site-header .header-actions .site-language-select {
    min-width: 96px !important;
    min-height: 42px !important;
}
/* header-overlap-spacing-fix-final */
.site-header .site-container,
.site-header .navbar-container {
    display: flex !important;
    align-items: center !important;
}

.site-header .site-nav {
    flex: 0 1 auto !important;
    min-width: 0 !important;
    gap: 18px !important;
}

.site-header .site-nav .nav-link {
    white-space: nowrap !important;
    flex: 0 0 auto !important;
}

.site-header .header-actions {
    flex: 0 0 auto !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin-left: 18px !important;
    white-space: nowrap !important;
}

.site-header .header-actions .site-language-control {
    flex: 0 0 auto !important;
    margin-left: 8px !important;
}

.site-header .header-actions .site-language-select {
    min-width: 112px !important;
    max-width: 112px !important;
    padding-left: 16px !important;
    padding-right: 28px !important;
}

.site-header .header-actions .small-btn,
.site-header .header-actions .header-cta-link {
    flex: 0 0 auto !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
}

@media (max-width: 1240px) {
    .site-header .site-nav {
        gap: 14px !important;
    }

    .site-header .site-nav .nav-link {
        font-size: 0.92rem !important;
    }

    .site-header .header-actions {
        gap: 7px !important;
        margin-left: 14px !important;
    }

    .site-header .header-actions .small-btn,
    .site-header .header-actions .header-cta-link {
        padding-left: 14px !important;
        padding-right: 14px !important;
    }
}
/* header-three-column-no-overlap-final */
@media (min-width: 992px) {
    .site-header .site-main-nav > .container-fluid {
        display: grid !important;
        grid-template-columns: 224px minmax(0, 1fr) auto !important;
        align-items: center !important;
        column-gap: 18px !important;
        width: 100% !important;
    }

    .site-header .site-brand,
    .site-header .navbar .site-brand.navbar-brand {
        grid-column: 1 !important;
        margin-right: 0 !important;
    }

    .site-header .site-menu-toggle {
        display: none !important;
    }

    .site-header .site-collapse-wrapper {
        grid-column: 2 / 4 !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        align-items: center !important;
        column-gap: 20px !important;
        min-width: 0 !important;
        width: 100% !important;
    }

    .site-header .site-nav,
    .site-header #siteNav {
        grid-column: 1 !important;
        display: flex !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: flex-end !important;
        gap: 15px !important;
        min-width: 0 !important;
        overflow: visible !important;
    }

    .site-header .site-nav .nav-link,
    .site-header .site-nav a {
        flex: 0 1 auto !important;
        min-width: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        font-size: 0.92rem !important;
        white-space: nowrap !important;
    }

    .site-header .header-actions,
    .site-header #headerActions {
        grid-column: 2 !important;
        display: flex !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: flex-end !important;
        gap: 8px !important;
        margin-left: 0 !important;
        min-width: max-content !important;
        white-space: nowrap !important;
    }

    .site-header .header-actions .site-language-control {
        order: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .site-header .header-actions .site-language-select {
        min-width: 112px !important;
        max-width: 112px !important;
        height: 42px !important;
        font-size: 0.86rem !important;
    }

    .site-header .header-actions .header-cta-link,
    .site-header .header-actions .small-btn {
        min-height: 42px !important;
        padding: 0 16px !important;
        font-size: 0.86rem !important;
    }
}

@media (min-width: 992px) and (max-width: 1260px) {
    .site-header .site-main-nav > .container-fluid {
        grid-template-columns: 218px minmax(0, 1fr) auto !important;
        column-gap: 12px !important;
    }

    .site-header .site-collapse-wrapper {
        column-gap: 14px !important;
    }

    .site-header .site-nav,
    .site-header #siteNav {
        gap: 12px !important;
    }

    .site-header .site-nav .nav-link,
    .site-header .site-nav a {
        font-size: 0.86rem !important;
    }

    .site-header .header-actions .site-language-select {
        min-width: 104px !important;
        max-width: 104px !important;
        font-size: 0.82rem !important;
    }

    .site-header .header-actions .header-cta-link,
    .site-header .header-actions .small-btn {
        padding-left: 12px !important;
        padding-right: 12px !important;
        font-size: 0.82rem !important;
    }
}
.admin-stepper {
    display: flex;
    gap: 10px;
    overflow-x: auto;
    padding: 4px 0 10px;
}

.admin-step-tab {
    border: 1px solid rgba(128, 28, 28, 0.18);
    background: #fff;
    color: #7a1b1b;
    border-radius: 8px;
    padding: 10px 14px;
    font-weight: 700;
    cursor: pointer;
    white-space: nowrap;
}

.admin-step-tab.active {
    border-color: #f3a738;
    background: #fff7e6;
    box-shadow: 0 0 0 3px rgba(243, 167, 56, 0.16);
}

.admin-step-actions {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: center;
}

.admin-step-actions [hidden] {
    display: none !important;
}

@media (max-width: 640px) {
    .admin-step-actions {
        flex-direction: column;
        align-items: stretch;
    }
}

.farmer-livestock-counts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 4px;
}

.farmer-livestock-count {
    display: grid;
    gap: 7px;
    min-width: 0;
    padding: 12px;
    border: 1px solid rgba(185, 28, 28, 0.12);
    border-radius: 12px;
    background: #fffdf9;
}

.farmer-livestock-count span {
    font-size: 0.9rem;
    font-weight: 700;
}

@media (max-width: 640px) {
    .farmer-livestock-counts {
        grid-template-columns: 1fr;
    }
}

.events-page-hero-stat-copy {
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
}

.events-page-hero-stat-copy small,
.events-page-hero-stat-copy strong,
.events-page-hero-stat-copy span {
    grid-column: auto;
    line-height: 1.15;
}

.events-page-hero-stat-copy small {
    margin-bottom: 4px;
}

.events-page-hero-stat-copy strong {
    margin-bottom: 2px;
}