:root {
    --green-950: #0c3427;
    --green-900: #104632;
    --green-800: #145b42;
    --green-700: #1c7353;
    --green-100: #eaf3ee;
    --gold: #c99843;
    --ink: #1b2c25;
    --muted: #64736b;
    --paper: #fff;
    --soft: #f5f8f6;
    --line: #dce6e0;
    --shadow: 0 16px 48px rgba(13, 52, 39, .09);
    --radius: 14px;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: var(--vaigai-font, Inter), "Segoe UI", Arial, sans-serif; font-size: 17px; line-height: 1.7; -webkit-font-smoothing: antialiased; }
img { max-width: 100%; height: auto; }
a { color: var(--green-800); text-decoration-thickness: 1px; text-underline-offset: .2em; }
a:hover { color: var(--green-700); }
button, input, textarea, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
h1, h2, h3, h4 { color: var(--green-950); font-family: Georgia, "Times New Roman", serif; font-weight: 600; line-height: 1.18; }
h1 { font-size: clamp(2.6rem, 5.5vw, 5.1rem); letter-spacing: -.035em; }
h2 { font-size: clamp(2rem, 3.2vw, 3rem); letter-spacing: -.025em; }
h3 { font-size: 1.35rem; }
p { margin: 0 0 1.2rem; }
.site-container { width: min(1160px, calc(100% - 48px)); margin-inline: auto; }
.screen-reader-text, .skip-link:not(:focus) { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link:focus { position: fixed; z-index: 1000; left: 1rem; top: 1rem; padding: .8rem 1rem; background: white; }
.utility-bar { background: var(--vaigai-header-utility-background, var(--green-950)); color: var(--vaigai-header-utility-text, #e4efe8); font-size: .78rem; }
.utility-bar__inner { display: flex; justify-content: space-between; align-items: center; min-height: 36px; gap: 20px; }
.utility-bar a { color: inherit; text-decoration: none; }
.site-header { position: relative; z-index: 20; background-color: var(--vaigai-header-background, #fff); background-repeat: no-repeat; box-shadow: 0 4px 24px rgba(12,52,39,.06); }
.header-inner { min-height: 86px; display: flex; align-items: center; justify-content: space-between; gap: 25px; }
.brand { display: flex; align-items: center; gap: 14px; min-width: 250px; }
.custom-logo { width: auto; max-width: var(--vaigai-header-logo-width, 200px); max-height: 64px; object-fit: contain; }
.brand__name { display: grid; color: var(--green-950); font-size: .96rem; line-height: 1.35; text-decoration: none; letter-spacing: .025em; }
.brand__name span { color: var(--muted); font-size: .72rem; letter-spacing: .01em; }
.primary-navigation { display: flex; align-items: center; gap: 18px; }
.menu { display: flex; list-style: none; align-items: center; gap: 19px; padding: 0; margin: 0; }
.menu li { position: relative; }
.menu a { font-size: .88rem; font-weight: 600; color: var(--vaigai-header-menu-color, #284338); text-decoration: none; }
.menu a:hover, .current-menu-item > a { color: var(--green-700); }
.menu .sub-menu { display: none; position: absolute; top: 100%; left: -15px; min-width: 210px; padding: 12px 16px; background: white; border-radius: 9px; box-shadow: var(--shadow); list-style: none; }
.menu li:hover > .sub-menu, .menu li:focus-within > .sub-menu { display: block; }
.menu .sub-menu li { padding: 7px 0; }
.button, .vaigai-button { display: inline-flex; min-height: 50px; align-items: center; justify-content: center; border: 1px solid var(--green-800); border-radius: 6px; padding: 11px 23px; color: #fff; background: var(--green-800); font-size: .91rem; font-weight: 700; text-decoration: none; cursor: pointer; transition: transform .18s ease, background-color .18s ease, box-shadow .18s ease; }
.button:hover, .vaigai-button:hover { color: white; background: var(--green-950); box-shadow: 0 9px 18px rgba(13,52,39,.16); transform: translateY(-2px); }
.button--small { min-height: 42px; padding: 8px 18px; }
.button--donate { background: var(--gold); border-color: var(--gold); color: #16251d; }
.button--donate:hover { background: #b68431; color: #10251b; }
.button--light { background: #fff; border-color: #fff; color: var(--green-950); }
.button--light:hover { color: var(--green-950); background: #f0f5f2; }
.button--outline-light { background: transparent; color: white; border-color: rgba(255,255,255,.75); }
.button--outline-light:hover { background: rgba(255,255,255,.13); color: white; }
.menu-toggle { display: none; }

.hero-slider { min-height: 590px; position: relative; overflow: hidden; background: var(--green-950); color: white; }
.hero-slider__slides { position: relative; min-height: inherit; }
.hero-slide { position: absolute; inset: 0; min-height: inherit; display: flex; align-items: center; overflow: hidden; opacity: 0; visibility: hidden; background-color: #173b2d; transition: opacity .7s ease, visibility .7s ease; }
.hero-slide.is-active { opacity: 1; visibility: visible; }
.hero-slide__media, .hero-slide__media img, .hero-slide__overlay { position: absolute; inset: 0; width: 100%; height: 100%; }
.hero-slide__media img { object-fit: cover; object-position: center; }
.hero-slide__overlay { background: linear-gradient(90deg, rgba(5,36,25,.92), rgba(5,36,25,.12)); }
.hero-slide__inner { position: relative; z-index: 1; }
.hero-copy { max-width: 715px; padding-block: 100px; color: white; }
.hero-copy h1 { max-width: 700px; color: #fff; margin: 15px 0 20px; }
.hero-copy p { max-width: 660px; color: rgba(255,255,255,.91); font-size: clamp(1.05rem, 1.7vw, 1.25rem); }
.eyebrow { color: var(--gold); font-size: .76rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.eyebrow--green { color: var(--green-700); }
.eyebrow--light { color: #f0cb7d; }
.hero-actions, .callout-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.hero-controls { position: absolute; z-index: 3; right: max(24px, calc((100% - 1160px) / 2)); bottom: 35px; display: flex; align-items: center; gap: 14px; }
.hero-arrow { width: 42px; height: 42px; border: 1px solid rgba(255,255,255,.55); border-radius: 50%; background: rgba(0,0,0,.15); color: white; cursor: pointer; }
.hero-dots { display: flex; gap: 8px; }
.hero-dots button { width: 8px; height: 8px; padding: 0; border: 0; border-radius: 9px; background: rgba(255,255,255,.55); cursor: pointer; transition: width .2s ease; }
.hero-dots button.is-active { width: 25px; background: #fff; }
.hero-toggle { padding: 7px 10px; border: 1px solid rgba(255,255,255,.55); border-radius: 4px; color: white; background: rgba(0,0,0,.15); font-size: .78rem; cursor: pointer; }
.hero-fallback { min-height: 590px; display: flex; align-items: center; background: linear-gradient(115deg, #0c3427, #267153); }
.hero-fallback { position: relative; overflow: hidden; }
.hero-fallback__image,
.hero-fallback__overlay { position: absolute; inset: 0; width: 100%; height: 100%; }
.hero-fallback__image { object-fit: cover; object-position: center; }
.hero-fallback__overlay { background: linear-gradient(90deg, rgba(3,35,26,.94), rgba(3,35,26,.4)); }
.hero-fallback .hero-copy { position: relative; z-index: 1; }
.section { padding-block: 90px; }
.section--soft { background: var(--soft); }
.section--welcome { padding-block: 78px 70px; }
.vaigai-custom-section__inner { display: grid; grid-template-columns: minmax(0, 1fr); align-items: center; gap: 32px; }
.vaigai-custom-section__image { margin: 0; }
.vaigai-custom-section__image img { display: block; width: 100%; max-height: 460px; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 6px; }
.vaigai-custom-section__content h2 { margin: 12px 0 18px; }
.vaigai-custom-section__content .entry-content { max-width: none; margin: 0; }
.vaigai-custom-section__summary { color: var(--muted); font-size: 1.1rem; font-weight: 600; }
.vaigai-custom-section__content > .button { margin-top: 20px; }
@media (min-width: 760px) { .vaigai-custom-section--with-image .vaigai-custom-section__inner { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } }
.narrow-copy { max-width: 850px; }
.center-copy { text-align: center; }
.center-copy h2 { margin: 13px auto 18px; max-width: 750px; }
.center-copy p { color: var(--muted); font-size: 1.12rem; }
.split-section { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(45px, 8vw, 110px); align-items: center; }
.split-section__visual { min-height: 410px; position: relative; overflow: hidden; border-radius: 4px 110px 4px 4px; background: linear-gradient(145deg, #c6dfd0, #eaf3ee 52%, #9cc7ad); }
.about-visual::before, .about-visual::after { content: ""; position: absolute; border-radius: 50%; border: 1px solid rgba(20,91,66,.22); }
.about-visual::before { width: 280px; height: 280px; right: -48px; bottom: -62px; }
.about-visual::after { width: 210px; height: 210px; right: -14px; bottom: -26px; }
.visual-mark { position: absolute; left: 38px; bottom: 34px; color: var(--green-800); font: 700 5.7rem Georgia,serif; letter-spacing: -.08em; }
.visual-caption { position: absolute; right: 26px; top: 26px; color: var(--green-800); font-size: .8rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; writing-mode: vertical-rl; }
.split-section__content h2 { margin: 12px 0 18px; }
.split-section__content p { color: var(--muted); }
.text-link, .vaigai-text-link { color: var(--green-800); font-weight: 750; text-decoration: none; }
.text-link:hover, .vaigai-text-link:hover { color: var(--green-700); }
.section-heading { display: flex; justify-content: space-between; align-items: end; gap: 25px; margin-bottom: 34px; }
.section-heading h2 { margin: 10px 0; }
.section-heading p { max-width: 700px; color: var(--muted); margin-bottom: 0; }
.service-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.service-card { padding: 28px; border: 1px solid var(--line); border-radius: 10px; background: white; transition: transform .2s ease, box-shadow .2s ease; }
.service-card:hover, .vaigai-card:hover { transform: translateY(-4px); box-shadow: var(--shadow); }
.service-card__image { display: block; width: calc(100% + 48px); height: 138px; margin: -24px -24px 18px; border-radius: 14px 14px 0 0; object-fit: cover; }
.service-card__icon { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; color: var(--green-800); background: var(--green-100); font-size: 1.4rem; }
.service-card h3 { margin: 18px 0 8px; }
.service-card p { margin: 0; color: var(--muted); font-size: .96rem; }
.section--green { background: var(--green-900); color: white; }
.vision-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 80px; align-items: center; }
.vision-grid h2 { max-width: 650px; color: white; margin: 14px 0; }
.vision-grid p { max-width: 620px; color: rgba(255,255,255,.82); }
.vision-list { padding: 32px 36px; border: 1px solid rgba(255,255,255,.19); border-radius: 10px; background: rgba(255,255,255,.06); }
.vision-list h3 { color: white; }
.vision-list ul { margin: 20px 0 0; padding-left: 22px; color: rgba(255,255,255,.9); }
.vision-list li { margin: 10px 0; padding-left: 4px; }
.impact-note { padding: 30px 34px; border-left: 4px solid var(--gold); border-radius: 0 9px 9px 0; background: white; box-shadow: var(--shadow); }
.impact-note h3 { margin-top: 0; }
.impact-note p { color: var(--muted); }
.vaigai-card-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 23px; }
.vaigai-card { overflow: hidden; border: 1px solid var(--line); border-radius: 9px; background: white; transition: transform .2s ease, box-shadow .2s ease; }
.vaigai-card__image { display: block; overflow: hidden; aspect-ratio: 3 / 2; background: linear-gradient(135deg, #e2eee7, #c2ddce); }
.vaigai-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.vaigai-card:hover .vaigai-card__image img { transform: scale(1.04); }
.vaigai-card__body { padding: 24px; }
.vaigai-featured-programme { display: grid; grid-template-columns: minmax(0, .9fr) 1.1fr; align-items: center; gap: 36px; margin: 0 0 26px; padding: 26px; border: 1px solid var(--line); border-radius: var(--radius); background: white; }
.vaigai-featured-programme__image { display: block; overflow: hidden; aspect-ratio: 3 / 2; border-radius: 8px; background: var(--green-100); }
.vaigai-featured-programme__image img { width: 100%; height: 100%; object-fit: cover; }
.vaigai-featured-programme__placeholder { background: linear-gradient(135deg, #e2eee7, #c2ddce); }
.vaigai-featured-programme--no-image { grid-template-columns: minmax(0, 1fr); }
.vaigai-featured-programme--no-image .vaigai-featured-programme__image { min-height: 220px; aspect-ratio: auto; }
.vaigai-featured-programme h3 { margin: 10px 0; font-size: 1.75rem; }
.vaigai-featured-programme h3 a { color: var(--green-950); text-decoration: none; }
.vaigai-featured-programme p { color: var(--muted); }
.vaigai-card__body h3, .vaigai-card__body h2 { margin: 7px 0 10px; font-size: 1.35rem; }
.vaigai-card__body h2 a, .vaigai-card__body h3 a { color: var(--green-950); text-decoration: none; }
.vaigai-card__body p { color: var(--muted); font-size: .95rem; }
.vaigai-text-link { font-size: .9rem; }
.vaigai-content-filters, .vaigai-blog-categories { display: flex; flex-wrap: wrap; gap: 9px; margin: 0 0 24px; }
.vaigai-content-filters a, .vaigai-blog-categories a { padding: 6px 11px; border: 1px solid var(--line); border-radius: 30px; color: var(--green-800); background: white; font-size: .85rem; text-decoration: none; }
.vaigai-content-filters a:hover, .vaigai-blog-categories a:hover { color: white; background: var(--green-800); }
.vaigai-card__icon { display: inline-block; margin-bottom: 8px; color: var(--green-800); font-size: 1.2rem; }
.vaigai-blog-search { display: flex; align-items: end; gap: 10px; max-width: 560px; margin: 0 0 20px; }
.vaigai-blog-search label { flex: 1; display: grid; gap: 5px; font-weight: 650; }
.vaigai-blog-search input { min-height: 46px; border: 1px solid var(--line); border-radius: 5px; padding: 8px 10px; }
.post-date { color: var(--green-700); font-size: .8rem; font-weight: 700; }
.section--callout { background: linear-gradient(110deg, var(--green-800), #267453); color: white; }
.callout-inner { display: flex; justify-content: space-between; align-items: center; gap: 40px; }
.callout-inner h2 { max-width: 740px; color: white; margin: 10px 0; }
.callout-inner p { color: rgba(255,255,255,.85); margin: 0; }
.callout-actions { margin: 0; min-width: max-content; }

.page-hero { padding: 65px 0 70px; color: white; background: linear-gradient(120deg, var(--green-950), var(--green-800)); }
.page-hero h1 { color: white; font-size: clamp(2.4rem, 4.5vw, 4rem); margin: 12px 0 0; }
.breadcrumbs { margin-bottom: 24px; color: rgba(255,255,255,.75); font-size: .85rem; }
.breadcrumbs a { color: white; }
.page-content { padding-block: 70px 95px; }
.entry-content { max-width: 850px; margin-inline: auto; }
.entry-content > :first-child { margin-top: 0; }
.entry-content h2 { margin-top: 2.1em; }
.entry-content h3 { margin-top: 1.7em; }
.entry-content p, .entry-content li { color: #405148; }
.entry-content li { margin-bottom: .6em; }
.archive-content { padding-block: 65px 100px; }
.archive-description { max-width: 730px; color: rgba(255,255,255,.85); }
.single-content { max-width: 900px; padding-block: 55px 95px; }
.single-featured-image { margin: 0 0 40px; }
.single-featured-image img { display: block; width: 100%; max-height: 560px; object-fit: cover; border-radius: var(--radius); }
.single-meta { margin: 15px 0 0; color: rgba(255,255,255,.8); }
.article-taxonomy, .article-nav, .social-share { margin-top: 30px; padding-top: 20px; border-top: 1px solid var(--line); }
.article-nav { display: flex; justify-content: space-between; gap: 20px; }
.article-nav a { max-width: 45%; text-decoration: none; }
.responsive-video { position: relative; width: 100%; padding-top: 56.25%; margin: 30px 0; }
.responsive-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; }
.album-images { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; margin-top: 30px; }
.album-image { display: block; overflow: hidden; aspect-ratio: 1; border-radius: 8px; background: var(--green-100); }
.album-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .25s ease; }
.album-image:hover img { transform: scale(1.04); }
.vaigai-photo-gallery { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; margin-top: 30px; }
.vaigai-photo-gallery__item { overflow: hidden; margin: 0; border: 1px solid var(--line); border-radius: 12px; background: white; box-shadow: 0 8px 24px rgba(6,47,37,.045); }
.vaigai-photo-gallery__item img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.vaigai-photo-gallery__item figcaption { padding: 12px 14px; color: var(--muted); font-size: .88rem; line-height: 1.45; }
.gallery-lightbox { width: min(92vw, 1100px); max-width: 92vw; max-height: 92vh; padding: 45px 15px 15px; border: 0; border-radius: 10px; background: rgba(8,24,17,.96); }
.gallery-lightbox::backdrop { background: rgba(0,0,0,.8); }
.gallery-lightbox img { display: block; max-width: 100%; max-height: 82vh; margin: auto; object-fit: contain; }
.gallery-lightbox__close { position: absolute; right: 12px; top: 6px; border: 0; color: white; background: none; font-size: 2rem; cursor: pointer; }
.pagination { margin-top: 45px; }
.nav-links { display: flex; justify-content: center; gap: 9px; }
.page-numbers { padding: 8px 13px; border: 1px solid var(--line); border-radius: 4px; text-decoration: none; }
.page-numbers.current { color: white; background: var(--green-800); }

.vaigai-form, .vaigai-payment-form, .vaigai-manual-donation-form { display: grid; gap: 15px; max-width: 650px; }
.vaigai-form label, .vaigai-payment-form label, .vaigai-manual-donation-form label { display: grid; gap: 6px; font-weight: 650; color: var(--green-950); }
.vaigai-form input, .vaigai-form textarea, .vaigai-payment-form input, .vaigai-payment-form select, .vaigai-manual-donation-form input { width: 100%; min-height: 46px; padding: 10px 12px; border: 1px solid #bacac0; border-radius: 5px; color: var(--ink); background: white; }
.vaigai-form textarea { min-height: 120px; resize: vertical; }
.vaigai-consent { display: flex !important; grid-template-columns: auto 1fr; align-items: start; font-weight: 400 !important; font-size: .9rem; }
.vaigai-consent input { width: 18px; min-height: 18px; margin-top: 6px; }
.vaigai-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.vaigai-form-message { margin: 0 0 18px; padding: 12px 16px; border-left: 4px solid var(--green-700); background: var(--green-100); }
.vaigai-form-message--error { border-color: #a33b32; background: #fff1ef; }
.vaigai-donation-methods { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 22px; }
.vaigai-donation-card { align-self: start; padding: 26px; border: 1px solid var(--line); border-radius: 10px; background: var(--soft); }
.vaigai-donation-card h2 { font-size: 1.65rem; }
.vaigai-donation-card h3 { margin-top: 25px; font-size: 1.2rem; }
.vaigai-donation-card p { overflow-wrap: anywhere; }
.vaigai-qr-image { display: block; width: min(240px, 100%); height: auto; margin: 15px 0; background: white; }
.vaigai-copy-button { margin: 3px 5px 8px 0; padding: 7px 10px; border: 1px solid var(--green-800); border-radius: 4px; color: var(--green-800); background: white; cursor: pointer; }
.vaigai-payment-status { min-height: 1.4em; font-weight: 650; }

.site-footer { background: #0a2d22; color: #d6e3db; }
.footer-main { display: grid; grid-template-columns: 1.2fr .75fr 1fr; gap: 70px; padding-block: 65px; }
.footer-main h2 { margin: 0 0 17px; color: white; font: 700 1rem/1.3 Inter, "Segoe UI", Arial, sans-serif; }
.footer-main p { color: #bacdc1; font-size: .92rem; }
.footer-main address { color: #bacdc1; font-style: normal; font-size: .92rem; }
.footer-main a { color: #ecf3ee; }
.footer-brand { display: inline-block; margin-bottom: 14px; color: white; font-size: 1rem; font-weight: 800; text-decoration: none; }
.footer-links { display: grid; gap: 7px; list-style: none; padding: 0; margin: 0; }
.footer-links a { font-size: .9rem; text-decoration: none; }
.social-links { display: flex; flex-wrap: wrap; gap: 13px; font-size: .85rem; }
.footer-bottom { border-top: 1px solid rgba(255,255,255,.13); }
.footer-bottom__inner { min-height: 58px; display: flex; justify-content: space-between; align-items: center; gap: 15px; color: #a9beb2; font-size: .78rem; }

@media (max-width: 980px) {
    .menu-toggle { display: grid; gap: 5px; width: 42px; height: 42px; place-content: center; border: 1px solid var(--line); border-radius: 5px; background: white; cursor: pointer; }
    .menu-toggle span:not(.screen-reader-text) { display: block; width: 20px; height: 2px; background: var(--green-900); }
    .primary-navigation { display: none; position: absolute; left: 0; right: 0; top: 100%; align-items: stretch; padding: 18px 24px 24px; background: white; box-shadow: var(--shadow); }
    .primary-navigation.is-open { display: grid; grid-template-columns: minmax(0, 1fr); }
    .primary-navigation .menu { display: grid; gap: 0; }
    .primary-navigation .menu > li { padding: 9px 0; border-bottom: 1px solid var(--line); }
    .primary-navigation .menu .sub-menu { display: block; position: static; padding: 5px 0 0 15px; box-shadow: none; }
    .primary-navigation .button { justify-self: start; }
    .hero-slider, .hero-fallback { min-height: 540px; }
    .hero-slide__media img { object-position: 60% center; }
    .service-grid { grid-template-columns: repeat(2, 1fr); }
    .footer-main { gap: 35px; }
}
@media (max-width: 680px) {
    body { font-size: 16px; }
    .site-container { width: min(100% - 34px, 1160px); }
    .utility-bar__inner { min-height: 34px; justify-content: center; }
    .utility-bar__inner > span { display: none; }
    .header-inner { min-height: 72px; }
    .brand { min-width: 0; gap: 9px; }
    .brand__name { font-size: .77rem; }
    .brand__name span { font-size: .65rem; }
    .custom-logo { max-height: 45px; width: auto; }
    .hero-slider, .hero-fallback, .hero-slide { min-height: 570px; }
    .hero-slide__overlay { background-image: linear-gradient(90deg,rgba(5,36,25,.92),rgba(5,36,25,.35)); }
    .hero-copy { padding-block: 80px 105px; }
    .hero-copy h1 { font-size: clamp(2.55rem, 12vw, 4.1rem); }
    .hero-copy p { font-size: 1rem; }
    .hero-controls { right: 17px; bottom: 20px; }
    .section { padding-block: 62px; }
    .section--welcome { padding-block: 58px; }
    .split-section, .vision-grid { grid-template-columns: 1fr; gap: 30px; }
    .split-section__visual { min-height: 280px; }
    .service-grid, .vaigai-card-grid { grid-template-columns: 1fr; }
    .vaigai-featured-programme { grid-template-columns: 1fr; gap: 20px; padding: 18px; }
    .section-heading { display: block; }
    .section-heading > a { display: inline-block; margin-top: 16px; }
    .vision-grid { gap: 28px; }
    .vision-list { padding: 24px; }
    .callout-inner { display: block; }
    .callout-actions { margin-top: 25px; }
    .page-hero { padding: 45px 0 50px; }
    .page-content, .single-content { padding-block: 45px 65px; }
    .vaigai-donation-methods { grid-template-columns: 1fr; }
    .album-images { grid-template-columns: repeat(2, 1fr); }
    .footer-main { grid-template-columns: 1fr; gap: 28px; padding-block: 45px; }
    .footer-bottom__inner { align-items: flex-start; flex-direction: column; justify-content: center; padding-block: 13px; }
}
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

:root {
    --green-950: #062f25;
    --green-900: #0b4533;
    --green-800: #126143;
    --green-700: #23815b;
    --green-100: #eaf4ed;
    --gold: #d9aa42;
    --ink: #18382c;
    --muted: #64776d;
    --soft: #f4f8f5;
    --line: #dbe8df;
    --shadow: 0 18px 45px rgba(6, 47, 37, .1);
    --radius: 18px;
}

html { scroll-padding-top: 96px; }
body { color: var(--ink); background: #fff; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible { outline: 3px solid #e3b54d; outline-offset: 3px; }
.site-container { width: min(1200px, calc(100% - 48px)); }
.utility-bar { background: var(--vaigai-header-utility-background, #083629); color: var(--vaigai-header-utility-text, #f3f7f4); }
.utility-bar__inner { min-height: 38px; }
.utility-bar__contacts { display: flex; align-items: center; flex-wrap: wrap; gap: 18px; }
.utility-bar__contacts a { color: inherit; text-decoration: none; }
.utility-bar__contact { display: inline-flex; align-items: center; gap: 7px; }
.utility-bar__contact > span { font-size: .95rem; line-height: 1; }
.utility-bar__social { display: inline-grid; width: 23px; height: 23px; place-items: center; border-radius: 50%; background: rgba(255,255,255,.14); font-size: .72rem; font-weight: 800; }
.site-header { position: sticky; top: 0; border-bottom: 1px solid rgba(17,73,52,.08); background-color: var(--vaigai-header-background, #fff); }
.header-inner { min-height: 82px; }
.brand__mark { display: grid; width: 48px; height: 48px; flex: 0 0 48px; place-items: center; border: 1px solid #d5e8db; border-radius: 50% 50% 50% 12px; color: white; background: linear-gradient(145deg, #2f9662, #0a4834); font: 700 1.35rem Georgia, serif; box-shadow: 0 7px 18px rgba(10,72,52,.16); }
.brand__name { font-size: .9rem; }
.menu a { color: var(--vaigai-header-menu-color, #18382c); }
.primary-navigation { gap: 13px; }
.primary-navigation .menu { gap: 13px; }
.menu a { font-size: .82rem; }
.menu .sub-menu { z-index: 10; border: 1px solid var(--line); }
.menu .sub-menu a { display: block; padding: 5px 0; }
.button, .vaigai-button { min-height: 48px; border-radius: 999px; padding: 12px 22px; box-shadow: 0 5px 13px rgba(18,97,67,.12); }
.button--donate, .button--gold { color: #193526; background: var(--gold); border-color: var(--gold); }
.button--donate:hover, .button--gold:hover { color: #142b20; background: #e4b950; }
.button--outline-light { border-width: 1px; }

.home #main-content { display: flex; flex-direction: column; }
.home #main-content > .hero-slider { order: 0; }
.home #main-content > .homepage-custom-content { order: 1; }
.home #main-content > .home-section--welcome { order: 2; }
.home #main-content > .home-section--about { order: 3; }
.home #main-content > .home-section--vision { order: 4; }
.home #main-content > .home-section--services { order: 5; }
.home #main-content > .home-section--impact { order: 6; }
.home #main-content > .home-section--objectives { order: 7; }
.home #main-content > .home-section--programmes { order: 8; }
.home #main-content > .home-section--events { order: 9; }
.home #main-content > .home-section--news { order: 10; }
.home #main-content > .home-section--blog { order: 11; }
.home #main-content > .home-section--gallery { order: 12; }
.home #main-content > .home-section--videos { order: 13; }
.home #main-content > .home-section--involved { order: 14; }
.home #main-content > .home-section--support { order: 15; }
.section { padding-block: clamp(58px, 7vw, 94px); }
.section--soft { background-color: #f5f9f6; background-image: radial-gradient(ellipse at 95% 8%, rgba(200,226,207,.28), transparent 28%); }
.section--welcome { padding-block: 58px 62px; background: linear-gradient(120deg, #fff, #f1f8f2 48%, #fff); }
.section-heading { align-items: center; margin-bottom: 30px; }
.section-heading h2 { margin: 8px 0; }
.section-heading > a { flex: 0 0 auto; }
.hero-slider, .hero-slider__slides, .hero-slide { min-height: min(690px, calc(100vh - 120px)); }
.hero-slide { background: #0b4734; }
.hero-slide__media img { object-position: 63% center; }
.hero-slide__overlay { background: linear-gradient(90deg, rgba(3,35,26,.96) 0%, rgba(4,53,38,.82) 42%, rgba(4,53,38,.14) 100%); }
.hero-copy { max-width: 720px; padding-block: clamp(80px, 12vw, 150px); }
.hero-copy h1, .hero-copy h2 { max-width: 690px; margin: 15px 0 20px; color: #fff; font-size: clamp(2.7rem, 6vw, 5.2rem); letter-spacing: -.04em; }
.hero-copy p { max-width: 590px; font-size: clamp(1rem, 1.5vw, 1.2rem); }
.hero-controls { right: max(24px, calc((100% - 1200px) / 2)); bottom: 26px; }
.hero-arrow, .hero-toggle { backdrop-filter: blur(8px); }
.hero-dots button { width: 9px; height: 9px; }
.hero-fallback { background: linear-gradient(90deg, rgba(3,35,26,.94), rgba(3,35,26,.4)), var(--green-900); }
.hero-fallback .hero-copy { max-width: 740px; }
.about-visual { min-height: 420px; border-radius: 24px 100px 24px 24px; background: #d8eadc; box-shadow: var(--shadow); }
.about-visual img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.about-visual::before, .about-visual::after { z-index: 1; }
.visual-mark, .visual-caption { z-index: 2; }
.visual-mark { padding: 0 12px; border-radius: 10px; color: white; background: rgba(6,47,37,.78); font-size: 3.5rem; }
.visual-caption { padding: 8px 12px; border-radius: 30px; color: white; background: rgba(6,47,37,.72); writing-mode: initial; }
.service-grid { grid-template-columns: repeat(4, minmax(0,1fr)); gap: 16px; }
.service-card { min-height: 195px; padding: 24px; border-radius: 14px; box-shadow: 0 8px 24px rgba(6,47,37,.045); }
.service-card:nth-child(4n+1) { background: #fdf7eb; }
.service-card:nth-child(4n+2) { background: #eff7fb; }
.service-card:nth-child(4n+3) { background: #f3f1fb; }
.service-card:nth-child(4n) { background: #fbf1f4; }
.service-card__icon { width: 52px; height: 52px; color: #176342; background: rgba(255,255,255,.78); }
.section--green { background: linear-gradient(115deg, #083d2d, #07543b); }
.vision-grid { gap: clamp(40px, 8vw, 100px); }
.vision-list { border-radius: 18px; background: rgba(255,255,255,.08); }
.section--impact { position: relative; overflow: hidden; color: white; background: linear-gradient(110deg, #052f24, #0b6343); }
.section--impact::before, .section--impact::after { position: absolute; width: 280px; height: 280px; border: 1px solid rgba(228,239,226,.14); border-radius: 50%; content: ""; }
.section--impact::before { top: -165px; right: 4%; box-shadow: 0 0 0 28px rgba(255,255,255,.025), 0 0 0 56px rgba(255,255,255,.02); }
.section--impact::after { bottom: -220px; left: -120px; box-shadow: 0 0 0 25px rgba(255,255,255,.025), 0 0 0 50px rgba(255,255,255,.02); }
.impact-layout { position: relative; z-index: 1; display: grid; grid-template-columns: 1.05fr .95fr; align-items: center; gap: 70px; }
.impact-layout__copy h2 { max-width: 650px; margin: 12px 0 18px; color: white; font-size: clamp(2.1rem, 3.8vw, 3.6rem); }
.impact-layout__copy p { max-width: 620px; color: rgba(255,255,255,.83); }
.impact-layout__image, .objectives-visual { position: relative; overflow: hidden; margin: 0; border-radius: 24px; }
.impact-layout__image { min-height: 350px; box-shadow: 0 24px 55px rgba(0,0,0,.2); }
.impact-layout__image img, .objectives-visual img { display: block; width: 100%; height: 100%; object-fit: cover; }
.impact-layout__image figcaption, .objectives-visual figcaption { position: absolute; right: 12px; bottom: 12px; padding: 5px 9px; border-radius: 30px; color: white; background: rgba(7,37,28,.72); font-size: .7rem; }
.objectives-visual { min-height: 310px; box-shadow: var(--shadow); }
.impact-note { border-radius: 16px; }
.vaigai-card { border-color: #e2ebe5; border-radius: 14px; box-shadow: 0 8px 22px rgba(6,47,37,.045); }
.vaigai-card__image { position: relative; aspect-ratio: 1.62; background: linear-gradient(140deg, #dcefe0, #c4dfcb); }
.vaigai-card__image img { object-fit: cover; }
.vaigai-card__image--placeholder { background-size: cover; background-position: center; }
.vaigai-card__body { padding: 22px; }
.vaigai-card__body h3, .vaigai-card__body h2 { line-height: 1.3; }
.vaigai-card__body p { line-height: 1.6; }
.vaigai-featured-programme { border-color: #e4ede7; border-radius: 18px; box-shadow: 0 10px 28px rgba(6,47,37,.06); }
.vaigai-featured-programme__image { border-radius: 14px; }
.vaigai-content-filters a, .vaigai-blog-categories a { border-radius: 999px; transition: .2s ease; }
.pagination .page-numbers { border-radius: 999px; }

.home-section--events { background: linear-gradient(135deg, #f3f8f4, #fff); }
.home-section--events .vaigai-card { border-top: 3px solid var(--gold); }
.section--callout { background: linear-gradient(110deg, #0a4934, #17744d); }
.callout-inner { gap: 35px; }
.callout-inner h2 { font-size: clamp(2rem, 3.4vw, 3rem); }
.section--support { color: white; background: #092f24; }
.support-callout { display: flex; align-items: center; justify-content: space-between; gap: 30px; padding: 28px 34px; border: 1px solid rgba(255,255,255,.14); border-radius: 18px; background: linear-gradient(105deg, rgba(255,255,255,.08), rgba(255,255,255,.025)); }
.support-callout h2 { margin: 9px 0; color: white; }
.support-callout p { margin: 0; color: rgba(255,255,255,.78); }

.page-hero { position: relative; overflow: hidden; padding: 78px 0; background: linear-gradient(120deg, #063527, #127248); }
.page-hero::before { position: absolute; top: -170px; right: -70px; width: 420px; height: 420px; border: 1px solid rgba(255,255,255,.12); border-radius: 50%; box-shadow: 0 0 0 35px rgba(255,255,255,.025), 0 0 0 70px rgba(255,255,255,.02); content: ""; }
.page-hero__grid { position: relative; display: grid; grid-template-columns: 1fr .74fr; align-items: center; gap: 55px; }
.page-hero__copy { max-width: 730px; }
.page-hero .breadcrumbs { margin-bottom: 30px; }
.page-hero h1 { margin: 12px 0 18px; font-size: clamp(2.6rem, 5vw, 4.8rem); }
.page-hero__copy > p:last-child { max-width: 630px; color: rgba(255,255,255,.84); font-size: 1.08rem; }
.page-hero__photo { position: relative; min-height: 300px; margin: 0; overflow: hidden; border: 5px solid rgba(255,255,255,.86); border-radius: 22px 70px 22px 22px; box-shadow: 0 24px 60px rgba(0,0,0,.22); transform: rotate(1.5deg); }
.page-hero__photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.page-hero__photo figcaption { position: absolute; right: 12px; bottom: 12px; padding: 5px 9px; border-radius: 30px; color: white; background: rgba(7,37,28,.72); font-size: .7rem; }
.page-hero--donate { background: linear-gradient(120deg, #12372e, #175b3e); }
.page-hero--objectives { background: linear-gradient(120deg, #0c4431, #38845c); }
.page-hero--gallery, .page-hero--videos { background: linear-gradient(120deg, #164338, #346c55); }
.page-hero--news, .page-hero--blog { background: linear-gradient(120deg, #0b3b31, #387957); }
.page-hero--programmes, .page-hero--events { background: linear-gradient(120deg, #10432f, #2d8055); }
.page-hero--organization-information { background: linear-gradient(120deg, #173d33, #467557); }
.page-hero--contact-us { background: linear-gradient(120deg, #07382c, #267050); }
.page-hero--get-involved { background: linear-gradient(120deg, #0b4935, #246d4b); }
.page-hero--vision-mission { background: linear-gradient(120deg, #0c3d32, #4e795b); }
.page-intro--donate { background: #fbf6e9; }
.page-layout--donate .page-hero { padding-block: 92px; background: radial-gradient(ellipse at 82% 10%, rgba(201,152,67,.23), transparent 34%), linear-gradient(125deg, #092f24, #176447); }
.page-layout--donate .page-hero__grid { grid-template-columns: 1fr .72fr; gap: clamp(36px, 7vw, 90px); }
.page-layout--donate .page-hero__photo { transform: none; border-radius: 26px; }
.page-layout--donate .page-hero__copy > p:last-child { max-width: 590px; }
.page-layout--donate .page-hero .button { margin-top: 8px; }
.page-layout--donate .page-intro--donate { padding-block: 58px; background: linear-gradient(120deg, #f8f5eb, #f4f8f5); }
.page-intro__donate { max-width: 920px; }
.page-intro__media { width: min(100%, 900px); aspect-ratio: 16 / 9; margin: 28px auto 0; overflow: hidden; border-radius: 12px; background: var(--green-100); }
.page-intro__media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.page-intro__donate > :first-child { margin-top: 0; }
.page-intro__donate h2 { margin-top: 18px; font-size: clamp(1.7rem, 3vw, 2.45rem); }
.page-details--donate { padding-block: 76px 92px; background: #fff; }
.page-details .page-details__layout--donate { display: block; }
.page-details .page-entry--donate { max-width: none; }
.page-entry--donate .vaigai-donation-methods { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin-top: 0; }
.page-entry--donate .vaigai-donation-card--qr { grid-column: 1; grid-row: 1; }
.page-entry--donate .vaigai-donation-card--bank { grid-column: 2; grid-row: 1; }
.page-entry--donate .vaigai-donation-card { padding: clamp(22px, 3vw, 34px); border-radius: 20px; background: linear-gradient(145deg, #fff, #f7faf8); box-shadow: 0 16px 44px rgba(13, 52, 39, .08); }
.page-entry--donate .vaigai-donation-card { border-top: 4px solid var(--donation-accent, var(--green-700)); }
.page-entry--donate .vaigai-donation-card h2 { margin-top: 0; }
.page-entry--donate .vaigai-donation-card h2 { display: flex; align-items: center; gap: 12px; font-size: 1.35rem; }
.page-entry--donate .vaigai-donation-card__icon { display: grid; width: 44px; height: 44px; flex: 0 0 44px; place-items: center; border-radius: 50%; color: #fff; background: var(--donation-accent, var(--green-800)); font-size: 1rem; }
.page-entry--donate .vaigai-donation-card h3 { margin-top: 26px; }
.page-entry--donate .vaigai-donation-card .vaigai-button { width: 100%; border-radius: 8px; }
.page-entry--donate .vaigai-donation-card input:not([type="checkbox"]), .page-entry--donate .vaigai-donation-card select { min-height: 50px; border-color: #d4e0d8; border-radius: 8px; background-color: #fff; }
.page-entry--donate .vaigai-donation-card input:focus, .page-entry--donate .vaigai-donation-card select:focus { outline: 3px solid rgba(28, 115, 83, .2); border-color: var(--green-700); }
.page-entry--donate .vaigai-qr-image { display: block; width: min(100%, 280px); height: auto; max-height: none; margin-block: 18px; border-radius: 12px; object-fit: contain; object-position: center; }
@media (max-width: 980px) {
    .page-entry--donate .vaigai-donation-methods { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .page-entry--donate .vaigai-donation-card--qr { grid-column: 1; grid-row: 1; }
    .page-entry--donate .vaigai-donation-card--bank { grid-column: 2; grid-row: 1; }
}
.page-discover--donate { background: #f7faf8; }
.page-discover--donate .section-heading { margin-bottom: 24px; }
.page-intro--objectives { background: #edf6ef; }
.page-intro--contact-us { background: #f2f7f8; }
.page-intro { padding: 50px 0; background: #f4f8f5; }
.page-intro__inner { display: grid; grid-template-columns: .45fr 1fr auto; align-items: center; gap: 18px 30px; }
.page-intro__inner .eyebrow { grid-column: 1; }
.page-intro__inner h2 { grid-column: 2; grid-row: 1 / span 2; margin: 0; font-size: clamp(1.6rem, 2.7vw, 2.35rem); }
.page-intro__inner p { grid-column: 2; margin: 0; color: var(--muted); }
.page-intro__inner .text-link { grid-column: 3; grid-row: 1 / span 2; white-space: nowrap; }
.page-details { background: #fff; }
.page-details__layout { display: grid; grid-template-columns: 250px minmax(0, 1fr); align-items: start; gap: 60px; }
.page-side-nav { position: sticky; top: 110px; padding: 24px; border: 1px solid var(--line); border-radius: 16px; background: #f7faf8; }
.page-side-nav h2 { margin: 8px 0 16px; font-size: 1.35rem; }
.page-side-nav nav { display: grid; gap: 4px; }
.page-side-nav nav a { display: flex; justify-content: space-between; gap: 10px; padding: 10px 0; border-bottom: 1px solid var(--line); color: var(--green-900); font-size: .9rem; font-weight: 650; text-decoration: none; }
.page-side-nav nav a:last-child { border: 0; }
.page-entry { max-width: 900px; margin: 0; }
.page-entry > :first-child { margin-top: 0; }
.page-entry .vaigai-card-grid { margin-block: 28px; }
.page-entry .vaigai-form, .page-entry .vaigai-donation-methods { margin-top: 26px; }
.page-discover { padding-block: 68px; background: #f4f8f5; }
.page-discover .section-heading { display: flex; align-items: end; }
.page-discover .section-heading p { max-width: 390px; color: var(--muted); }
.page-discover__cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.discover-card { position: relative; display: block; min-height: 190px; overflow: hidden; border-radius: 16px; background: var(--green-900); }
.discover-card::after { position: absolute; inset: 25% 0 0; background: linear-gradient(transparent, rgba(5,36,26,.86)); content: ""; }
.discover-card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.discover-card:hover img { transform: scale(1.04); }
.discover-card__label { position: absolute; z-index: 1; right: 18px; bottom: 18px; left: 18px; display: flex; justify-content: space-between; gap: 16px; color: white; font-weight: 750; }
.page-cta { padding-block: 68px; }

.archive-hero { position: relative; overflow: hidden; color: white; background: linear-gradient(110deg, #063527, #136c47); }
.archive-hero__inner { position: relative; display: grid; min-height: 390px; grid-template-columns: 1fr .65fr; align-items: center; gap: 50px; padding-block: 55px; }
.archive-hero__copy { position: relative; z-index: 1; }
.archive-hero h1 { margin: 12px 0; color: white; font-size: clamp(2.6rem, 5vw, 4.6rem); }
.archive-hero__copy > p:last-child { max-width: 650px; color: rgba(255,255,255,.84); font-size: 1.08rem; }
.archive-hero__inner > img { width: 100%; height: 280px; object-fit: cover; border: 5px solid rgba(255,255,255,.85); border-radius: 16px 64px 16px 16px; box-shadow: 0 22px 55px rgba(0,0,0,.2); }
.archive-welcome { padding: 34px 0; background: #f2f8f3; }
.archive-welcome__inner { display: flex; align-items: center; gap: 24px; }
.archive-welcome h2 { margin: 0; font-size: clamp(1.35rem, 2vw, 1.85rem); }
.archive-welcome p { max-width: 400px; margin: 0 0 0 auto; color: var(--muted); }
.archive-layout--vaigai_program .archive-hero { color: var(--ink); background: linear-gradient(115deg, #f5f8f6, #edf5ef); }
.archive-layout--vaigai_program .archive-hero__inner { min-height: 0; grid-template-columns: minmax(0, 1fr); padding-block: 78px 32px; }
.archive-layout--vaigai_program .archive-hero__copy { max-width: 960px; margin-inline: auto; }
.archive-layout--vaigai_program .archive-hero .breadcrumbs { color: var(--muted); }
.archive-layout--vaigai_program .archive-hero .breadcrumbs a { color: var(--green-800); }
.archive-layout--vaigai_program .archive-hero .eyebrow { color: var(--green-700); }
.archive-layout--vaigai_program .archive-hero h1 { margin-block: 10px; color: var(--green-950); font-size: clamp(2.4rem, 4.4vw, 3.8rem); }
.archive-layout--vaigai_program .archive-hero__copy > p:last-child { max-width: 690px; color: var(--muted); }
.archive-layout--vaigai_program .archive-hero__inner > img { display: none; }
.archive-layout--vaigai_program .archive-welcome { padding: 8px 0 28px; background: #f5f8f6; }
.archive-layout--vaigai_program .archive-welcome__inner { max-width: 960px; margin-inline: auto; gap: 18px; }
.archive-layout--vaigai_program .archive-welcome h2 { font-size: 1rem; letter-spacing: .12em; text-transform: uppercase; }
.archive-content { padding-block: 65px 90px; }
.archive-layout--vaigai_program .archive-content { padding-top: 0; background: #f5f8f6; }
.archive-featured-programme { max-width: 960px; margin: 0 auto 42px; overflow: hidden; border: 1px solid #e3ece6; border-radius: 20px; background: #fff; box-shadow: 0 18px 44px rgba(13, 52, 39, .08); }
.archive-featured-programme__image { display: block; height: clamp(210px, 25vw, 310px); margin: 18px 18px 0; overflow: hidden; border-radius: 13px; background: var(--green-100); }
.archive-featured-programme__image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.archive-featured-programme__body { padding: 30px; }
.archive-featured-programme__body h2 { margin: 10px 0; font-size: clamp(1.65rem, 2.4vw, 2.2rem); }
.archive-featured-programme__body h2 a { color: var(--green-950); text-decoration: none; }
.archive-featured-programme__body p { margin-bottom: 20px; color: var(--muted); }
.archive-layout--vaigai_program .vaigai-card-grid { max-width: 960px; margin-inline: auto; }
.archive-card .vaigai-card__image { display: block; }
.archive-card .event-date-badge { position: absolute; right: 12px; bottom: 12px; padding: 7px 11px; border-radius: 8px; color: #153729; background: #f4cc6d; font-size: .8rem; font-weight: 800; }
.event-location { color: var(--green-700) !important; font-weight: 700; }
.archive-empty { max-width: 650px; margin: 30px auto; padding: 45px; border: 1px solid var(--line); border-radius: 18px; background: #f6faf7; text-align: center; }
.archive-empty__icon { display: inline-grid; width: 54px; height: 54px; place-items: center; border-radius: 50%; color: var(--green-800); background: var(--green-100); font-size: 1.5rem; }
.archive-empty h2 { margin: 15px 0 8px; }
.archive-empty p { color: var(--muted); }
.archive-cta { padding: 54px 0; color: white; background: #0a3a2b; }
.archive-cta__inner { display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.archive-cta h2 { max-width: 730px; margin: 10px 0 0; color: white; }
.archive-related { background: #f4f8f5; }
.archive-related__links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.archive-related__link { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 76px; padding: 18px 22px; border: 1px solid var(--line); border-radius: 14px; color: var(--green-950); background: #fff; font-weight: 700; text-decoration: none; transition: transform .2s ease, box-shadow .2s ease; }
.archive-related__link:hover { transform: translateY(-3px); box-shadow: var(--shadow); }

.single-hero { position: relative; display: flex; min-height: 490px; align-items: end; overflow: hidden; color: white; background: #0b4432; }
.single-hero__image, .single-hero__shade { position: absolute; inset: 0; }
.single-hero__image img { width: 100%; height: 100%; object-fit: cover; object-position: center 42%; }
.single-hero__shade { background: linear-gradient(90deg, rgba(4,38,28,.91), rgba(4,38,28,.45) 68%, rgba(4,38,28,.2)), linear-gradient(0deg, rgba(3,35,25,.75), transparent 75%); }
.single-hero__copy { position: relative; z-index: 1; padding-block: 70px 60px; }
.single-hero h1 { max-width: 930px; margin: 12px 0 20px; color: white; font-size: clamp(2.5rem, 5vw, 4.6rem); }
.single-meta { display: flex; flex-wrap: wrap; gap: 12px 20px; color: rgba(255,255,255,.85); }
.single-summary { padding: 42px 0; border-bottom: 1px solid var(--line); background: #f3f8f4; }
.single-summary__inner { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 8px 34px; }
.single-summary__inner > .eyebrow, .single-summary__inner > h2, .single-summary__date { grid-column: 1; }
.single-summary__inner h2 { margin: 0; font-size: clamp(1.65rem, 2.8vw, 2.5rem); }
.single-summary__date { margin: 0; color: var(--muted); }
.event-details { grid-column: 2; grid-row: 1 / span 3; display: flex; flex-wrap: wrap; align-items: center; gap: 18px 28px; }
.event-details p { display: grid; gap: 3px; margin: 0; }
.event-details strong { color: var(--green-900); font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; }
.event-details span { color: var(--muted); }
.single-content { max-width: none; padding-block: 65px; }
.single-content__article { max-width: 900px; }
.single-content__article .entry-content { max-width: none; }
.single-gallery { margin-top: 45px; }
.single-gallery h2 { font-size: 1.8rem; }
.related-content { background: #f5f9f6; }
.related-grid { margin-top: 25px; }
.single-cta { color: white; }
.single-cta .callout-inner { align-items: center; }

.footer-main { grid-template-columns: 1.2fr .9fr .95fr 1fr; gap: clamp(26px, 4vw, 56px); padding-block: 66px; }
.footer-brand { display: flex; align-items: center; gap: 12px; color: white; line-height: 1.3; }
.footer-brand .custom-logo { max-height: 50px; filter: brightness(0) invert(1); }
.footer-brand .footer-logo { width: auto; max-height: 50px; filter: brightness(0) invert(1); }
.brand__mark--footer { width: 42px; height: 42px; flex-basis: 42px; }
.footer-main h2 { font-family: inherit; font-size: .95rem; letter-spacing: .04em; text-transform: uppercase; }
.footer-main a { overflow-wrap: anywhere; }
.footer-image-note { color: #91aea0 !important; font-size: .75rem !important; }
.social-links a { display: inline-grid; width: 35px; height: 35px; place-items: center; border: 1px solid rgba(255,255,255,.25); border-radius: 50%; color: white; text-decoration: none; }
.social-links a:hover { color: var(--green-950); background: white; }
.footer-legal { display: flex; flex-wrap: wrap; gap: 16px; }
.footer-bottom__inner { position: relative; min-height: 64px; padding-right: 58px; }
.footer-legal a { color: #d5e3da; text-decoration: none; }
.back-to-top { position: absolute; right: 0; display: grid; width: 40px; height: 40px; place-items: center; border-radius: 50%; color: #123c2d; background: var(--gold); font-size: 1.35rem; font-weight: 800; text-decoration: none; }
.page-entry, .single-content__article { overflow-wrap: anywhere; }
.page-entry table, .single-content__article table { display: block; max-width: 100%; overflow-x: auto; }

@media (max-width: 1100px) {
    .primary-navigation { gap: 10px; }
    .primary-navigation .menu, .menu { gap: 9px; }
    .menu a { font-size: .76rem; }
    .brand { min-width: 0; }
    .service-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
    .footer-main { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 980px) {
    .site-header { position: relative; }
    .primary-navigation { top: 100%; max-height: calc(100vh - 90px); overflow-y: auto; border-top: 1px solid var(--line); }
    .primary-navigation .menu { gap: 0; }
    .primary-navigation .menu > li { padding: 0; }
    .primary-navigation .menu a { display: block; padding: 11px 0; font-size: .95rem; }
    .primary-navigation .menu .sub-menu { padding: 4px 0 8px 15px; }
    .primary-navigation .menu .sub-menu a { padding: 8px 0; }
    .page-hero__grid, .archive-hero__inner { grid-template-columns: 1fr .65fr; gap: 28px; }
    .page-hero__photo { min-height: 250px; }
    .page-details__layout { grid-template-columns: 210px minmax(0,1fr); gap: 32px; }
}
@media (max-width: 680px) {
    html { scroll-padding-top: 20px; }
    .site-container { width: min(100% - 34px, 1200px); }
    .utility-bar__inner { min-height: 34px; justify-content: center; padding-block: 5px; }
    .utility-bar__message { display: none; }
    .utility-bar__contacts { justify-content: center; gap: 7px 12px; font-size: .7rem; }
    .utility-bar__contact { min-width: 0; }
    .utility-bar__email { display: inline-block; max-width: 58vw; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .utility-bar__social, .utility-bar__location { display: none; }
    .header-inner { min-height: 72px; }
    .brand__mark { width: 40px; height: 40px; flex-basis: 40px; }
    .custom-logo { max-width: min(var(--vaigai-header-mobile-logo-width, 125px), 42vw); max-height: 48px; }
    .brand__name { min-width: 0; overflow-wrap: anywhere; font-size: .76rem; }
    .brand__name span { font-size: .62rem; }
    .primary-navigation { left: 0; right: 0; padding: 14px 22px 22px; }
    .hero-slider, .hero-slider__slides, .hero-slide, .hero-fallback { min-height: 620px; }
    .hero-slide__media img { object-position: 57% center; }
    .hero-slide__overlay { background: linear-gradient(90deg, rgba(3,35,26,.89), rgba(4,53,38,.54)), linear-gradient(0deg, rgba(3,35,26,.5), transparent); }
    .hero-copy { padding-block: 90px 125px; }
    .hero-copy h1, .hero-copy h2 { font-size: clamp(2.55rem, 12vw, 4.15rem); }
    .hero-controls { right: 17px; bottom: 18px; gap: 8px; }
    .hero-toggle { font-size: .68rem; }
    .section { padding-block: 58px; }
    .section--welcome { padding-block: 54px; }
    .split-section, .vision-grid, .impact-layout { grid-template-columns: 1fr; gap: 28px; }
    .split-section__visual { min-height: 280px; }
    .service-grid, .vaigai-card-grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 13px; }
    .service-card { min-height: 0; padding: 19px; }
    .service-card h3 { font-size: 1.08rem; }
    .service-card p { font-size: .88rem; }
    .vaigai-card__body { padding: 17px; }
    .vaigai-card__body h3, .vaigai-card__body h2 { font-size: 1.15rem; }
    .vaigai-featured-programme { grid-template-columns: 1fr; gap: 20px; padding: 18px; }
    .section-heading { display: flex; align-items: start; flex-direction: column; gap: 8px; }
    .section-heading > a { margin-top: 4px; }
    .impact-layout__image { min-height: 265px; }
    .objectives-visual { min-height: 250px; }
    .support-callout, .archive-cta__inner { align-items: flex-start; flex-direction: column; }
    .support-callout { padding: 24px; }
    .callout-inner { align-items: flex-start; flex-direction: column; gap: 22px; }
    .callout-actions { min-width: 0; }
    .page-hero { padding: 52px 0; }
    .page-hero__grid, .archive-hero__inner { grid-template-columns: 1fr; }
    .page-layout--donate .page-hero { padding-block: 58px; }
    .page-layout--donate .page-hero__grid { grid-template-columns: minmax(0, 1fr); gap: 24px; }
    .page-layout--donate .page-entry--donate .vaigai-donation-methods { grid-template-columns: 1fr; }
    .page-entry--donate .vaigai-donation-card--qr { grid-column: 1; grid-row: 1; }
    .page-entry--donate .vaigai-donation-card--bank { grid-column: 1; grid-row: 2; }
    .page-hero__photo { min-height: 220px; max-height: 290px; }
    .page-intro__inner { grid-template-columns: 1fr; gap: 10px; }
    .page-intro__inner .eyebrow, .page-intro__inner h2, .page-intro__inner p, .page-intro__inner .text-link { grid-column: 1; grid-row: auto; }
    .page-intro__inner .text-link { margin-top: 5px; }
    .page-details__layout { grid-template-columns: 1fr; gap: 28px; }
    .page-side-nav { position: static; }
    .page-side-nav nav { grid-template-columns: repeat(2, minmax(0,1fr)); column-gap: 16px; }
    .page-discover .section-heading { align-items: start; }
    .page-discover__cards { grid-template-columns: 1fr; }
    .discover-card { min-height: 175px; }
    .archive-hero__inner { min-height: 0; padding-block: 48px; }
    .archive-hero__inner > img { height: 220px; }
    .archive-layout--vaigai_program .archive-hero__inner { padding-block: 48px 24px; }
    .archive-layout--vaigai_program .archive-welcome__inner { align-items: flex-start; }
    .archive-featured-programme__image { height: 190px; margin: 12px 12px 0; }
    .archive-featured-programme__body { padding: 22px; }
    .archive-welcome__inner { align-items: flex-start; flex-direction: column; gap: 8px; }
    .archive-welcome p { margin: 0; }
    .archive-content { padding-block: 45px 65px; }
    .archive-related__links { grid-template-columns: 1fr; }
    .archive-card .event-date-badge { right: 8px; bottom: 8px; font-size: .68rem; }
    .archive-empty { padding: 30px 20px; }
    .single-hero { min-height: 470px; }
    .single-hero__copy { padding-block: 55px 45px; }
    .single-hero h1 { font-size: clamp(2.4rem, 11vw, 3.7rem); }
    .single-summary__inner { grid-template-columns: 1fr; gap: 8px; }
    .single-summary__inner > .eyebrow, .single-summary__inner > h2, .single-summary__date { grid-column: 1; }
    .event-details { grid-column: 1; grid-row: auto; align-items: flex-start; flex-direction: column; }
    .single-content { padding-block: 45px; }
    .album-images { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .footer-main { grid-template-columns: 1fr; gap: 30px; padding-block: 48px; }
    .footer-bottom__inner { align-items: flex-start; flex-direction: column; justify-content: center; padding-block: 16px 64px; }
}
@media (max-width: 390px) {
    .site-container { width: min(100% - 28px, 1200px); }
    .brand__name { font-size: .7rem; }
    .brand__name span { font-size: .58rem; }
    .service-grid, .vaigai-card-grid { grid-template-columns: 1fr; }
    .hero-controls { left: 14px; right: 14px; justify-content: center; }
    .hero-arrow { width: 38px; height: 38px; }
    .callout-actions { align-items: stretch; flex-direction: column; }
}

.home #main-content > .home-section--about { order: 2; }
.home #main-content > .home-section--welcome { order: 3; }
.home #main-content > .home-section--services { order: 4; }
.home #main-content > .home-section--vision { order: 5; }
.home #main-content > .home-section--impact { order: 6; }

.home .home-section--welcome { padding-block: 40px 46px; }
.home .home-section--welcome h2 { font-size: clamp(1.9rem, 3.5vw, 2.75rem); }
.home .home-section--welcome p { max-width: 790px; margin-inline: auto; font-size: 1rem; }
.home .home-section--about { background: linear-gradient(110deg, #fff 0%, #f8fbf7 100%); }
.home .home-section--about .split-section__content { order: 1; }
.home .home-section--about .split-section__visual { order: 2; min-height: 350px; border-radius: 30px 74px 30px 30px; }
.home .home-section--about .split-section__content h2 { max-width: 540px; }
.home .home-section--services { background: linear-gradient(180deg, #f4f8f5, #fff); }
.home .home-section--services .section-heading h2 { max-width: 780px; }
.home .home-section--services .service-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.home .home-section--services .service-card { position: relative; min-height: 190px; overflow: hidden; border: 1px solid rgba(19,74,51,.07); transition: transform .22s ease, box-shadow .22s ease; }
.home .home-section--services .service-card__image { width: calc(100% + 48px); height: 125px; margin: -24px -24px 18px; }
.home .home-section--services .service-card:hover { transform: translateY(-4px); box-shadow: 0 16px 30px rgba(13,52,39,.1); }
.home .home-section--services .service-card__icon { border-radius: 16px; }
.home .home-section--services .service-card h3 { color: var(--green-950); }
.home .home-section--vision { position: relative; overflow: hidden; }
.home .home-section--vision::before { position: absolute; top: -180px; right: -90px; width: 370px; height: 370px; border: 1px solid rgba(255,255,255,.13); border-radius: 50%; box-shadow: 0 0 0 32px rgba(255,255,255,.025), 0 0 0 64px rgba(255,255,255,.02); content: ""; }
.home .home-section--vision .site-container { position: relative; }
.home .home-section--impact { padding-block: 68px; }
.home .home-section--impact .impact-layout { grid-template-columns: .88fr 1.12fr; gap: clamp(38px, 7vw, 88px); }
.home .home-section--impact .impact-layout__image { order: 1; min-height: 320px; }
.home .home-section--impact .impact-layout__copy { order: 2; }
.home .home-section--objectives { background: linear-gradient(110deg, #fff, #f7faf7); }
.home .home-section--objectives .objectives-visual { border-radius: 30px 68px 30px 30px; }
.home .home-section--programmes { background: #f3f8f4; }
.home .home-section--events { background: linear-gradient(130deg, #fff, #f1f7f2); }
.home .home-section--news,
.home .home-section--blog,
.home .home-section--gallery,
.home .home-section--videos { background: #fff; }
.home .home-section--news .vaigai-card,
.home .home-section--blog .vaigai-card,
.home .home-section--gallery .vaigai-card,
.home .home-section--videos .vaigai-card { overflow: hidden; border-radius: 16px; transition: transform .22s ease, box-shadow .22s ease; }
.home .home-section--news .vaigai-card:hover,
.home .home-section--blog .vaigai-card:hover,
.home .home-section--gallery .vaigai-card:hover,
.home .home-section--videos .vaigai-card:hover { transform: translateY(-3px); box-shadow: 0 16px 32px rgba(13,52,39,.1); }
.home .home-section--involved { background: linear-gradient(110deg, #0a4934, #16724c); }
.home .home-section--support { position: relative; overflow: hidden; background: linear-gradient(100deg, #082f24 0%, #0b4934 70%, #176747 100%); }
.home .home-section--support::before { position: absolute; top: -110px; left: -70px; width: 300px; height: 300px; border: 1px solid rgba(255,255,255,.12); border-radius: 50%; box-shadow: 0 0 0 30px rgba(255,255,255,.025), 0 0 0 60px rgba(255,255,255,.02); content: ""; }
.home .home-section--support .site-container { position: relative; }

@media (max-width: 900px) {
    .home .home-section--services .service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 680px) {
    .home .home-section--about .split-section__visual { order: 1; min-height: 260px; }
    .home .home-section--about .split-section__content { order: 2; }
    .home .home-section--services .service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .home .home-section--services .service-card { min-height: 165px; padding: 18px; }
    .home .home-section--services .service-card__image { width: calc(100% + 36px); height: 105px; margin: -18px -18px 14px; }
    .home .home-section--impact .impact-layout { grid-template-columns: 1fr; gap: 30px; }
    .home .home-section--impact .impact-layout__image { order: 2; min-height: 250px; }
    .home .home-section--impact .impact-layout__copy { order: 1; }
}
@media (max-width: 390px) {
    .home .home-section--services .service-grid { gap: 10px; }
    .home .home-section--services .service-card { padding: 15px; }
    .home .home-section--services .service-card__image { width: calc(100% + 30px); margin: -15px -15px 14px; }
}
@media (max-width: 900px) {
    .vaigai-photo-gallery { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 680px) {
    .vaigai-photo-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
    .vaigai-photo-gallery__item figcaption { padding: 10px; font-size: .8rem; }
}

.site-footer { position: relative; background: linear-gradient(145deg, #243b53, #172a3e); color: #e1e9f0; }
.site-footer::before { position: absolute; inset: 0 0 auto; height: 4px; background: linear-gradient(90deg, #d8b36a, #f2d99a, #d8b36a); content: ""; }
.footer-callout { background: linear-gradient(105deg, rgba(255,255,255,.08), rgba(255,255,255,.025)); border-bottom: 1px solid rgba(255,255,255,.13); }
.footer-callout__inner { display: flex; align-items: center; justify-content: space-between; gap: 30px; padding-block: 32px; }
.footer-callout h2 { margin: 6px 0; color: #fff; font-size: clamp(1.55rem, 2.7vw, 2.1rem); }
.footer-callout p { margin: 0; color: #c5d2df; font-size: .94rem; }
.footer-callout__actions { display: flex; flex: 0 0 auto; flex-wrap: wrap; gap: 12px; }
.footer-callout__actions .button { min-height: 46px; }
.footer-callout__donate { border-color: var(--gold); color: #15251c; background: var(--gold); }
.footer-callout__donate:hover { border-color: #e0b75f; color: #14241c; background: #e0b75f; }
.footer-main { grid-template-columns: minmax(0, 1.2fr) minmax(130px, .75fr) minmax(180px, 1.1fr) minmax(190px, 1.1fr); gap: clamp(22px, 3.4vw, 48px); padding-block: 54px 58px; }
.footer-main > div { min-width: 0; }
.footer-main h2 { margin-bottom: 19px; color: #f5d58e; font-size: .79rem; letter-spacing: .12em; }
.footer-about > p:not(.footer-image-note) { max-width: 350px; margin: 0 0 14px; color: #cbd6e1; line-height: 1.75; }
.footer-brand { width: fit-content; margin-bottom: 20px; }
.footer-brand > span:last-child { max-width: 240px; }
.footer-links { grid-template-columns: minmax(0, 1fr); justify-items: start; gap: 9px; }
.footer-main > div:nth-child(2) > .menu { display: grid; grid-template-columns: minmax(0, 1fr); justify-items: start; align-items: start; gap: 9px; }
.footer-main > div:nth-child(2) > .menu > li { width: 100%; min-width: 0; }
.footer-main > div:nth-child(2) > .menu > li > a { display: inline-block; color: #d5e2da; font-size: .88rem; line-height: 1.5; }
.footer-links li { min-width: 0; }
.footer-links a { display: inline-block; color: #dce5ed; font-size: .88rem; line-height: 1.5; text-decoration: none; transition: color .18s ease, transform .18s ease; }
.footer-links a:hover, .footer-main a:hover { color: #f2d38d; }
.footer-main a:focus-visible, .footer-bottom a:focus-visible { outline: 2px solid #f2d38d; outline-offset: 4px; }
.footer-main address { margin-bottom: 18px; color: #cbd6e1; line-height: 1.75; }
.footer-contact-links { display: grid; gap: 8px; margin: 0; font-size: .86rem; line-height: 1.6; }
.footer-contact-links a { width: fit-content; color: #edf2f7; text-decoration: none; }
.footer-image-note { max-width: 330px; margin: 14px 0 18px !important; }
.social-links { gap: 10px; }
.social-links a { width: 39px; height: 39px; border-color: rgba(242,211,141,.38); background: rgba(255,255,255,.04); transition: transform .18s ease, background .18s ease; }
.social-links a:hover { color: var(--green-950); background: #f2d38d; transform: translateY(-2px); }
.footer-bottom { border-top-color: rgba(255,255,255,.13); background: rgba(0,0,0,.13); }
.footer-bottom__inner { min-height: 68px; color: #c0cbd6; font-size: .8rem; }
.footer-legal a { color: #e1e9f0; text-decoration: none; }
.footer-legal a:hover { color: #f2d38d; }
.back-to-top { width: 42px; height: 42px; box-shadow: 0 5px 16px rgba(0,0,0,.2); }

@media (max-width: 1100px) {
    .footer-main { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 42px; row-gap: 36px; }
    .footer-about { grid-row: span 2; }
}
@media (max-width: 680px) {
    .footer-callout__inner { align-items: flex-start; flex-direction: column; gap: 20px; padding-block: 28px; }
    .footer-callout__actions { width: 100%; }
    .footer-callout__actions .button { flex: 1 1 auto; }
    .footer-main { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px 20px; padding-block: 38px; }
    .footer-about { grid-column: 1 / -1; grid-row: auto; }
    .footer-main > div:last-child { grid-column: 1 / -1; }
    .footer-bottom__inner { align-items: center; flex-direction: row; flex-wrap: wrap; justify-content: space-between; gap: 12px; padding-block: 15px; padding-right: 52px; }
    .footer-bottom__inner > span { flex-basis: 100%; }
    .back-to-top { top: 50%; transform: translateY(-50%); }
}
@media (max-width: 390px) {
    .footer-callout__actions { flex-direction: column; }
    .footer-main { column-gap: 16px; }
    .footer-main > div:nth-child(3) { grid-column: 1 / -1; }
}

.home .hero-slider,
.home .hero-slider__slides,
.home .hero-slide { min-height: min(620px, calc(100vh - 120px)); }
.home .hero-slide__media img { object-position: 62% center; }
.home .hero-copy { max-width: 660px; padding-block: clamp(54px, 8vw, 96px); }
.home .hero-copy h1,
.home .hero-copy h2 { max-width: 620px; font-size: clamp(2.5rem, 4.5vw, 4.25rem); line-height: 1.08; }
.home .hero-copy p { max-width: 560px; font-size: clamp(.98rem, 1.3vw, 1.12rem); }
.home .hero-copy .eyebrow { font-size: clamp(.68rem, .9vw, .76rem); }
.home .hero-actions { gap: 10px; margin-top: 22px; }
.home .hero-actions .button { min-height: 44px; padding: 10px 18px; font-size: .86rem; white-space: nowrap; }
.home .hero-controls { bottom: 22px; }

@media (max-width: 1024px) {
    .home .hero-slider,
    .home .hero-slider__slides,
    .home .hero-slide { min-height: min(560px, calc(100vh - 110px)); }
    .home .hero-copy { max-width: 58%; padding-block: 56px 86px; }
    .home .hero-copy h1,
    .home .hero-copy h2 { font-size: clamp(2.3rem, 4.2vw, 3.5rem); }
    .home .hero-slide__media img { object-position: 66% center; }
}
@media (max-width: 680px) {
    .home .hero-slider,
    .home .hero-slider__slides,
    .home .hero-slide { min-height: min(600px, calc(100svh - 100px)); }
    .home .hero-slide { align-items: center; }
    .home .hero-slide__media img { object-position: 62% center; }
    .home .hero-slide__overlay { background-image: linear-gradient(90deg, rgba(5,36,25,.88), rgba(5,36,25,.44) 72%, rgba(5,36,25,.28)); }
    .home .hero-slide__inner { width: min(100% - 36px, 1200px); }
    .home .hero-copy { max-width: min(100%, 540px); padding-block: 44px 76px; }
    .home .hero-copy h1,
    .home .hero-copy h2 { max-width: 540px; margin: 11px 0 14px; font-size: clamp(2rem, 8.5vw, 3.25rem); line-height: 1.08; }
    .home .hero-copy p { max-width: 470px; margin-bottom: 0; font-size: clamp(.9rem, 3.8vw, 1rem); line-height: 1.55; }
    .home .hero-copy .eyebrow { font-size: .66rem; letter-spacing: .13em; }
    .home .hero-actions { flex-wrap: wrap; gap: 8px; margin-top: 17px; }
    .home .hero-actions .button { min-height: 40px; padding: 8px 13px; font-size: .78rem; }
    .home .hero-controls { right: 18px; bottom: 14px; left: 18px; justify-content: center; gap: 10px; }
    .home .hero-arrow { width: 38px; height: 38px; }
    .home .hero-toggle { padding: 6px 8px; font-size: .7rem; }
    .home .hero-slide__media img { object-position: 66% center; }
}
@media (max-width: 390px) {
    .home .hero-slider,
    .home .hero-slider__slides,
    .home .hero-slide { min-height: min(570px, calc(100svh - 96px)); }
    .home .hero-copy { padding-block: 38px 70px; }
    .home .hero-copy h1,
    .home .hero-copy h2 { font-size: clamp(1.9rem, 8vw, 2.5rem); }
    .home .hero-copy p { font-size: .9rem; }
    .home .hero-actions { gap: 7px; margin-top: 14px; }
    .home .hero-actions .button { min-height: 38px; padding: 7px 11px; font-size: .74rem; }
    .home .hero-controls { gap: 7px; }
    .home .hero-slide__media img { object-position: 69% center; }
}

.vaigai-home-causes,
.vaigai-annadhanam { position: relative; overflow: hidden; background-color: #f5faf6; background-image: radial-gradient(ellipse 15px 34px at 4% 15%, transparent 46%, rgba(35,129,91,.09) 49%, transparent 53%), radial-gradient(ellipse 14px 32px at 96% 82%, transparent 46%, rgba(35,129,91,.08) 49%, transparent 53%); }
.vaigai-home-causes .site-container,
.vaigai-annadhanam .site-container { position: relative; z-index: 1; }
.vaigai-home-causes .section-heading,
.vaigai-annadhanam .section-heading { margin-bottom: 30px; }
.vaigai-home-causes .section-heading h2,
.vaigai-annadhanam .section-heading h2 { margin-bottom: 8px; }
.vaigai-cause-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.vaigai-cause-card { min-width: 0; overflow: hidden; border: 1px solid #dce9df; border-radius: 12px; background: #fff; box-shadow: 0 10px 28px rgba(10,72,52,.07); }
.vaigai-cause-card__image { height: 170px; overflow: hidden; background: #eaf4ed; }
.vaigai-cause-card__image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.vaigai-cause-card__photo-note { margin-top: -6px !important; color: #64776d !important; font-size: .72rem !important; }
.vaigai-cause-card__body { display: grid; gap: 12px; padding: 21px; }
.vaigai-cause-card h3 { margin: 0; font-family: inherit; font-size: 1.12rem; line-height: 1.35; }
.vaigai-cause-card p { margin: 0; color: var(--muted); font-size: .9rem; line-height: 1.55; }
.vaigai-cause-card .vaigai-payment-form { display: grid; gap: 11px; }
.vaigai-cause-card .vaigai-payment-form,
.vaigai-cause-card .vaigai-offline-donation-form { display: grid; gap: 11px; }
.vaigai-cause-card .vaigai-payment-form label,
.vaigai-cause-card .vaigai-offline-donation-form label,
.vaigai-campaign-panel .vaigai-payment-form label,
.vaigai-campaign-panel .vaigai-offline-donation-form label { display: grid; gap: 5px; color: var(--green-950); font-size: .86rem; font-weight: 700; }
.vaigai-cause-card .vaigai-payment-form select,
.vaigai-cause-card .vaigai-payment-form input:not([type="checkbox"]),
.vaigai-cause-card .vaigai-offline-donation-form select,
.vaigai-cause-card .vaigai-offline-donation-form input:not([type="checkbox"]),
.vaigai-campaign-panel .vaigai-payment-form select,
.vaigai-campaign-panel .vaigai-payment-form input:not([type="checkbox"]),
.vaigai-campaign-panel .vaigai-offline-donation-form select,
.vaigai-campaign-panel .vaigai-offline-donation-form input:not([type="checkbox"]) { width: 100%; min-height: 44px; padding: 8px 10px; border: 1px solid #cbdcd1; border-radius: 6px; color: var(--ink); background: #fff; }
.vaigai-cause-card .vaigai-payment-form .vaigai-button,
.vaigai-cause-card .vaigai-offline-donation-form .vaigai-button,
.vaigai-campaign-panel .vaigai-payment-form .vaigai-button,
.vaigai-campaign-panel .vaigai-offline-donation-form .vaigai-button { width: 100%; min-height: 46px; }
.vaigai-payment-form .vaigai-consent { display: flex !important; align-items: flex-start; gap: 8px !important; font-size: .78rem !important; font-weight: 500 !important; }
.vaigai-payment-form .vaigai-consent input { margin-top: 5px; flex: 0 0 auto; }
.vaigai-cause-card .vaigai-payment-form label[hidden],
.vaigai-cause-card .vaigai-offline-donation-form label[hidden],
.vaigai-campaign-panel .vaigai-payment-form label[hidden],
.vaigai-campaign-panel .vaigai-offline-donation-form label[hidden] { display: none !important; }
.vaigai-payment-status { min-height: 1.5em; margin: 0; color: var(--green-800); font-size: .83rem; }
.vaigai-campaign-panel { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); overflow: hidden; border: 1px solid #d5e6da; border-radius: 14px; background: #fff; box-shadow: 0 18px 44px rgba(10,72,52,.1); }
.vaigai-campaign-panel__visual { position: relative; min-height: 520px; margin: 0; background: #eaf4ed; }
.vaigai-campaign-panel__visual img { display: block; width: 100%; height: 100%; min-height: 520px; object-fit: cover; }
.vaigai-campaign-panel__visual figcaption { position: absolute; right: 12px; bottom: 12px; padding: 5px 9px; border-radius: 4px; color: #fff; background: rgba(8,47,36,.8); font-size: .72rem; }
.vaigai-campaign-panel__content { display: grid; align-content: center; gap: 15px; padding: clamp(25px, 4vw, 48px); }
.vaigai-campaign-panel__content h3 { margin: -8px 0 0; font-size: clamp(1.6rem, 2.5vw, 2.2rem); }
.vaigai-campaign-panel__content > p { margin: 0; color: var(--muted); }
.vaigai-campaign-meta { font-size: .9rem; font-weight: 650; }
.vaigai-campaign-totals { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.vaigai-campaign-totals > div { display: grid; gap: 4px; padding: 12px; border-radius: 7px; background: #f1f7f3; }
.vaigai-campaign-totals span { color: var(--muted); font-size: .75rem; }
.vaigai-campaign-totals strong { color: var(--green-950); font-size: 1.05rem; overflow-wrap: anywhere; }
.vaigai-progress { display: grid; gap: 8px; }
.vaigai-progress__label { display: flex; justify-content: space-between; gap: 12px; color: var(--green-950); font-size: .82rem; font-weight: 700; }
.vaigai-progress__track { height: 11px; overflow: hidden; border-radius: 12px; background: #e1ece5; }
.vaigai-progress__track span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #23815b, #67ad78); transition: width .3s ease; }
.vaigai-campaign-disclosure { padding-left: 12px; border-left: 3px solid #67ad78; font-size: .86rem; }
.vaigai-campaign-panel .vaigai-payment-form,
.vaigai-campaign-panel .vaigai-offline-donation-form { display: grid; grid-template-columns: 1fr 1fr; align-items: end; gap: 12px; }
.vaigai-campaign-panel .vaigai-payment-form .vaigai-consent,
.vaigai-campaign-panel .vaigai-payment-form .vaigai-button,
.vaigai-campaign-panel .vaigai-payment-status,
.vaigai-campaign-panel .vaigai-offline-donation-form .vaigai-button,
.vaigai-campaign-panel .vaigai-offline-donation-form .vaigai-payment-status,
.vaigai-campaign-panel .vaigai-offline-donation-form > p { grid-column: 1 / -1; }

@media (max-width: 1024px) {
    .vaigai-cause-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .vaigai-campaign-panel { grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); }
    .vaigai-campaign-panel__visual,
    .vaigai-campaign-panel__visual img { min-height: 100%; }
}
@media (max-width: 680px) {
    .vaigai-home-causes,
    .vaigai-annadhanam { padding-block: 48px; }
    .vaigai-cause-grid { grid-template-columns: 1fr; gap: 14px; }
    .vaigai-cause-card { display: block; }
    .vaigai-cause-card__image { height: 190px; }
    .vaigai-cause-card__body { gap: 9px; padding: 17px; }
    .vaigai-campaign-panel { grid-template-columns: 1fr; }
    .vaigai-campaign-panel__visual { min-height: 240px; max-height: 300px; }
    .vaigai-campaign-panel__visual img { min-height: 240px; max-height: 300px; }
    .vaigai-campaign-panel__content { padding: 22px; }
    .vaigai-campaign-panel .vaigai-payment-form,
    .vaigai-campaign-panel .vaigai-offline-donation-form { grid-template-columns: 1fr; }
    .vaigai-campaign-panel .vaigai-payment-form .vaigai-consent,
    .vaigai-campaign-panel .vaigai-payment-form .vaigai-button,
    .vaigai-campaign-panel .vaigai-payment-status,
    .vaigai-campaign-panel .vaigai-offline-donation-form .vaigai-button,
    .vaigai-campaign-panel .vaigai-offline-donation-form .vaigai-payment-status,
    .vaigai-campaign-panel .vaigai-offline-donation-form > p { grid-column: 1; }
}
@media (max-width: 390px) {
    .vaigai-cause-card__body { padding: 12px; }
    .vaigai-campaign-totals { gap: 6px; }
    .vaigai-campaign-totals > div { padding: 9px 7px; }
    .vaigai-campaign-totals strong { font-size: .92rem; }
}

.home .home-section--services .service-card { display: flex; flex-direction: column; padding: 24px; border-radius: 18px; background: #fff; }
.home .home-section--services .service-card__image-link { display: block; width: calc(100% + 48px); height: 155px; margin: -24px -24px 18px; overflow: hidden; }
.home .home-section--services .service-card__image { width: 100%; height: 100%; margin: 0; object-fit: cover; transition: transform .35s ease; }
.home .home-section--services .service-card:hover .service-card__image { transform: scale(1.04); }
.home .home-section--services .service-card h3 a { color: inherit; text-decoration: none; }
.home .home-section--services .service-card h3 a:hover { color: var(--green-700); }
.home .home-section--services .service-card p { flex: 1 1 auto; }
.service-card__link { display: inline-flex; align-items: center; gap: 8px; margin-top: 18px; color: var(--green-800); font-size: .88rem; font-weight: 750; text-decoration: none; }
.service-card__link span { transition: transform .2s ease; }
.service-card__link:hover span { transform: translateX(4px); }
.services-intro { position: relative; overflow: hidden; padding: clamp(68px, 9vw, 120px) 0; background: radial-gradient(ellipse at 88% 20%, rgba(210,178,96,.2), transparent 34%), linear-gradient(125deg, #073b2c, #126143); color: #fff; }
.services-intro::after { position: absolute; top: -170px; right: -100px; width: 430px; height: 430px; border: 1px solid rgba(255,255,255,.16); border-radius: 50%; box-shadow: 0 0 0 32px rgba(255,255,255,.035), 0 0 0 68px rgba(255,255,255,.025); content: ""; }
.services-intro__inner { position: relative; z-index: 1; max-width: 920px; }
.services-intro .eyebrow { color: #edc96d; }
.services-intro h1 { max-width: 850px; margin: 14px 0 18px; color: #fff; font-size: clamp(2.6rem, 5vw, 4.7rem); }
.services-intro p { max-width: 680px; margin: 0; color: rgba(255,255,255,.84); font-size: clamp(1.02rem, 1.7vw, 1.2rem); }
.services-directory { background: #f6f9f6; }
.services-directory__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.service-directory-card { min-width: 0; overflow: hidden; border: 1px solid #e0e9e2; border-radius: 18px; background: #fff; box-shadow: 0 8px 25px rgba(13,52,39,.045); transition: transform .22s ease, box-shadow .22s ease; }
.service-directory-card:hover { transform: translateY(-5px); box-shadow: 0 20px 40px rgba(13,52,39,.12); }
.service-directory-card__image { position: relative; display: block; height: 230px; overflow: hidden; background: #e9f1eb; }
.service-directory-card__image img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.service-directory-card:hover .service-directory-card__image img { transform: scale(1.045); }
.service-directory-card__icon { position: absolute; right: 18px; bottom: -20px; display: grid; width: 50px; height: 50px; place-items: center; border: 4px solid #fff; border-radius: 16px; color: #fff; background: var(--green-800); font-size: 1.3rem; }
.service-directory-card__body { display: flex; min-height: 230px; flex-direction: column; align-items: flex-start; padding: 26px 24px 24px; }
.service-directory-card h2 { margin: 2px 54px 10px 0; font-family: inherit; font-size: 1.13rem; font-weight: 750; line-height: 1.4; }
.service-directory-card h2 a { color: var(--green-950); text-decoration: none; }
.service-directory-card h2 a:hover { color: var(--green-700); }
.service-directory-card p { flex: 1 1 auto; margin: 0 0 18px; color: var(--muted); font-size: .92rem; line-height: 1.65; }
.service-directory-card .vaigai-text-link { display: inline-flex; gap: 7px; align-items: center; }
.services-invitation { padding: 54px 0; color: #fff; background: linear-gradient(110deg, #073b2c, #126143); }
.services-invitation__inner { display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.services-invitation .eyebrow { color: #edc96d; }
.services-invitation h2 { max-width: 720px; margin: 8px 0 0; color: #fff; font-size: clamp(1.7rem, 3vw, 2.5rem); }
.single-hero--vaigai_program .single-meta { display: none; }
.single-cta { background: linear-gradient(115deg, #0b5138, #176e4d); }

@media (max-width: 900px) {
    .services-directory__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
}
@media (max-width: 680px) {
    .home .home-section--services .service-card { padding: 18px; }
    .home .home-section--services .service-card__image-link { width: calc(100% + 36px); height: 130px; margin: -18px -18px 14px; }
    .services-directory__grid { grid-template-columns: 1fr; gap: 16px; }
    .service-directory-card { display: grid; grid-template-columns: minmax(110px, .78fr) minmax(0, 1.22fr); align-items: stretch; }
    .service-directory-card__image { height: 100%; min-height: 210px; }
    .service-directory-card__icon { right: 10px; bottom: 10px; width: 40px; height: 40px; border-width: 3px; border-radius: 13px; }
    .service-directory-card__body { min-height: 0; padding: 20px 15px 18px; }
    .service-directory-card h2 { margin-right: 0; font-size: 1rem; }
    .service-directory-card p { font-size: .84rem; }
    .services-invitation__inner { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 390px) {
    .service-directory-card { grid-template-columns: 1fr; }
    .service-directory-card__image { height: 190px; min-height: 0; }
    .service-directory-card__icon { bottom: -20px; }
}

.utility-bar { background: var(--vaigai-header-utility-background, #064a32); color: var(--vaigai-header-utility-text, #fff); }
.utility-bar__inner { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(280px, auto); align-items: stretch; gap: 22px; width: min(1500px, 100%); min-height: 42px; padding: 0 clamp(18px, 3vw, 42px); }
.utility-bar__details { display: flex; min-width: 0; align-items: center; justify-content: center; gap: clamp(12px, 2vw, 26px); }
.utility-bar__contact { flex: 0 0 auto; gap: 8px; white-space: nowrap; }
.utility-bar__contact > span { font-size: 1rem; }
.utility-bar__message { min-width: 0; overflow: hidden; font-size: .72rem; text-align: center; text-overflow: ellipsis; white-space: nowrap; }
.utility-bar__socials { display: flex; align-items: center; justify-content: center; gap: 9px; }
.utility-bar__social { width: 25px; height: 25px; color: #fff; background: rgba(255,255,255,.12); }
.utility-bar__email { display: flex; min-width: 0; align-items: center; justify-content: center; gap: 10px; padding: 0 18px 0 30px; clip-path: polygon(0 0,100% 0,100% 100%,10% 100%); color: #173526; background: #e8b51d; font-size: .78rem; font-weight: 700; text-decoration: none; white-space: nowrap; }
.utility-bar__email:hover { color: #10251b; }
.site-header { background-color: var(--vaigai-header-background, #fff); }
.header-inner { position: relative; width: min(1500px, calc(100% - 48px)); min-height: 96px; gap: clamp(14px, 2vw, 28px); }
.brand { flex: 0 1 auto; min-width: 0; gap: 15px; }
.brand .custom-logo-link { display: block; flex: 0 0 auto; line-height: 0; }
.brand .custom-logo { max-height: 66px; }
.brand__mark { flex: 0 0 62px; width: 62px; height: 62px; border-radius: 50%; }
.brand__name { font-size: clamp(.78rem, 1vw, .98rem); }
.brand__name strong { white-space: nowrap; }
.brand__name span { font-size: .75rem; }
.primary-navigation { flex: 1 1 auto; justify-content: flex-end; gap: clamp(10px, 1.4vw, 20px); }
.primary-navigation .menu { gap: clamp(9px, 1.4vw, 21px); }
.primary-navigation .menu > li > a { display: block; padding: 12px 4px; white-space: nowrap; }
.primary-navigation .menu > .current-menu-item > a,
.primary-navigation .menu > .current_page_item > a { padding-inline: 16px; color: var(--green-800); background: #edf5ef; }
.primary-navigation .button--donate { flex: 0 0 auto; gap: 10px; min-height: 50px; padding-inline: 20px; }
.primary-navigation .button--donate span:first-child { font-size: 1.15rem; }
.primary-navigation .button--donate span:last-child { font-size: 1.3rem; }
.header-search { position: relative; flex: 0 0 auto; }
.header-search__toggle { display: grid; width: 50px; height: 50px; place-items: center; padding: 0; border: 0; border-radius: 50%; color: var(--green-950); background: #f0f3f2; cursor: pointer; }
.header-search__toggle svg { width: 23px; height: 23px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-width: 2.2; }
.header-search__panel { position: absolute; z-index: 30; top: calc(100% + 12px); right: 0; width: min(360px, calc(100vw - 34px)); padding: 14px; border: 1px solid var(--line); border-radius: 10px; background: #fff; box-shadow: var(--shadow); }
.header-search__panel[hidden] { display: none; }
.header-search__panel form { display: flex; gap: 8px; }
.header-search__panel label { flex: 1 1 auto; }
.header-search__panel input[type="search"] { width: 100%; min-height: 44px; padding: 8px 12px; border: 1px solid var(--line); border-radius: 5px; }
.header-search__panel input[type="submit"] { min-height: 44px; padding: 8px 13px; border: 0; border-radius: 5px; color: #fff; background: var(--green-800); cursor: pointer; }
.menu-toggle { flex: 0 0 auto; }
.mobile-menu-close { display: none; }

@media (max-width: 1200px) and (min-width: 981px) {
    .header-inner { width: calc(100% - 36px); gap: 12px; }
    .brand { gap: 9px; }
    .brand__mark { width: 50px; height: 50px; flex-basis: 50px; }
    .primary-navigation { gap: 8px; }
    .primary-navigation .menu, .menu { gap: 7px; }
    .primary-navigation .menu > li > a { font-size: .72rem; }
    .primary-navigation .button--donate { padding-inline: 14px; }
}
@media (max-width: 980px) {
    .header-inner { width: min(100% - 36px, 1200px); min-height: 82px; justify-content: space-between; }
    .primary-navigation { position: absolute; top: 100%; left: -18px; right: -18px; z-index: 20; display: none; flex: none; align-items: stretch; justify-items: stretch; gap: 14px; padding: 16px 22px 22px; border-top: 1px solid var(--line); background: #fff; box-shadow: var(--shadow); }
    .primary-navigation.is-open { display: grid; grid-template-columns: minmax(0, 1fr); }
    .mobile-menu-close { display: grid; width: 40px; height: 40px; justify-self: end; place-items: center; border: 1px solid var(--line); border-radius: 50%; color: var(--green-950); background: #fff; font-size: 1.8rem; line-height: 1; cursor: pointer; }
    .primary-navigation .menu { display: grid; width: 100%; align-items: stretch; justify-self: stretch; gap: 0; text-align: left; }
    .primary-navigation .menu > li { width: 100%; justify-self: stretch; padding: 0; border-bottom: 1px solid var(--line); text-align: left; }
    .primary-navigation .menu > li > a { padding: 11px 5px; font-size: .95rem; }
    .primary-navigation .menu .sub-menu { display: block; position: static; padding: 4px 0 8px 15px; box-shadow: none; }
    .primary-navigation .button--donate { justify-self: start; }
    .header-search__panel { right: auto; left: 0; }
    .menu-toggle { display: grid; gap: 5px; width: 46px; height: 46px; place-content: center; border: 1px solid var(--line); border-radius: 50%; background: #fff; cursor: pointer; }
    .menu-toggle span:not(.screen-reader-text) { display: block; width: 20px; height: 2px; background: var(--green-900); }
}
@media (max-width: 680px) {
    .utility-bar__inner { grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "phone email" "message message"; gap: 2px 8px; min-height: 0; padding: 5px 12px; }
    .utility-bar__details { display: contents; }
    .utility-bar__location, .utility-bar__socials { display: none; }
    .utility-bar__contact { font-size: .7rem; }
    .utility-bar__details > .utility-bar__contact { grid-area: phone; justify-self: start; }
    .utility-bar__message { display: block; grid-area: message; text-align: center; font-size: .58rem; line-height: 1.2; white-space: normal; }
    .utility-bar__email { grid-area: email; max-width: 58vw; overflow: hidden; padding: 0 8px 0 17px; font-size: .63rem; text-overflow: ellipsis; }
    .header-inner { width: calc(100% - 28px); min-height: 72px; gap: 10px; }
    .brand { gap: 8px; }
    .brand__mark { width: 42px; height: 42px; flex-basis: 42px; font-size: 1.1rem; }
    .brand .custom-logo { max-width: min(var(--vaigai-header-mobile-logo-width, 125px), 38vw); max-height: 48px; }
    .brand__name { font-size: .68rem; }
    .brand__name strong { white-space: normal; }
    .brand__name span { font-size: .58rem; }
    .menu-toggle { width: 42px; height: 42px; }
    .primary-navigation { left: -14px; right: -14px; }
    .primary-navigation .menu > li > a { text-align: left; }
    .header-search__panel { left: auto; right: 0; }
}
@media (max-width: 380px) {
    .utility-bar__inner { grid-template-columns: minmax(0, 1fr) auto; }
    .utility-bar__email { max-width: 55vw; font-size: .58rem; }
    .brand__name { max-width: 170px; }
}

.site-header { border-bottom: 1px solid rgba(17,73,52,.08); }
.header-inner {
    min-height: 0;
    padding-block: 22px 15px;
    flex-direction: column;
    justify-content: center;
    gap: 9px;
}
.brand {
    width: 100%;
    min-width: 0;
    flex: 0 0 auto;
    flex-direction: column;
    align-items: center;
    gap: 7px;
    text-align: center;
}
.brand .custom-logo-link { line-height: 0; }
.brand .custom-logo {
    display: block;
    width: auto;
    max-width: min(var(--vaigai-header-logo-width, 200px), 56vw);
    max-height: 74px;
}
.brand__mark { width: 58px; height: 58px; flex-basis: 58px; }
.brand__name {
    display: block;
    color: inherit;
    font-family: "Arima Madurai", "Noto Serif Tamil", Latha, "Tamil MN", serif;
    letter-spacing: 0;
    text-decoration: none;
}
.brand__title {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0 .24em;
    font-size: clamp(1.55rem, 2.4vw, 2rem);
    font-weight: 800;
    font-style: italic;
    line-height: 1.3;
    text-shadow: 0 2px 3px rgba(8, 52, 33, .18);
}
.brand__title .brand__word { display: inline-block; font-size: inherit; line-height: inherit; }
.brand__title .brand__word--parampariyam span { font-size: inherit; line-height: inherit; }
.brand__title .brand__word--vaigai,
.brand__title .brand__word--iyakkam { color: #17632f; }
.brand__title .brand__word--parampariyam {
    color: #080808;
    -webkit-text-stroke: 1px #fff;
    paint-order: stroke fill;
}
.brand__title .brand__word--parampariyam .parampariyam__red { color: #FE0000; }
.brand__title .brand__word--parampariyam .parampariyam__purple { color: #630871; }
.brand__title .brand__word--parampariyam .parampariyam__black { color: #000000; }
.brand__title .brand__word--parampariyam .parampariyam__cyan { color: #26EFF9; }
.brand__title .brand__word--parampariyam .parampariyam__magenta { color: #FF00FF; }
.brand__title .brand__word--parampariyam .parampariyam__orange { color: #CB6C08; }
.brand__title .brand__word--parampariyam .parampariyam__green { color: #00B808; }
.primary-navigation {
    width: 100%;
    flex: 0 0 auto;
    justify-content: center;
    flex-wrap: wrap;
    gap: 12px 22px;
}
.primary-navigation .menu { justify-content: center; flex-wrap: wrap; }
.primary-navigation .menu > li > a { font-size: .92rem; }

@media (max-width: 980px) {
    .header-inner { position: relative; width: min(100% - 36px, 1200px); padding-block: 17px 12px; }
    .brand { padding-inline: 8px; }
    .brand .custom-logo { max-width: min(var(--vaigai-header-mobile-logo-width, 150px), 48vw); max-height: 62px; }
    .brand__title { font-size: clamp(1.55rem, 4vw, 2rem); }
    .primary-navigation {
        top: 100%;
        left: -18px;
        right: -18px;
        width: auto;
        flex: none;
        flex-wrap: nowrap;
    }
    .primary-navigation .menu { justify-content: stretch; flex-wrap: nowrap; }
    .menu-toggle { position: absolute; top: 13px; right: 0; z-index: 1; }
}
@media (max-width: 680px) {
    .header-inner { width: calc(100% - 28px); padding-block: 15px 11px; }
    .brand { gap: 5px; }
    .brand .custom-logo { max-height: 54px; }
    .brand__title { font-size: clamp(1.55rem, 6.4vw, 2.3rem); }
    .primary-navigation { left: -14px; right: -14px; }
}
@media (max-width: 380px) {
    .brand__name { max-width: 100%; }
    .brand__title { font-size: 1.5rem; }
}

.site-header {
    position: relative;
    top: auto;
    z-index: 20;
    overflow: visible;
    border-bottom: 0;
    background: linear-gradient(180deg, #f8fbf9 0%, #fff 76%, #f3f8f4 100%);
    box-shadow: none;
}
.header-inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    width: min(1160px, calc(100% - 48px));
    min-height: 0;
    padding-block: 10px 16px;
    gap: 12px;
}
.header-brand-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: clamp(18px, 3vw, 40px);
    min-height: 112px;
}
.brand {
    display: flex;
    width: auto;
    min-width: 0;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    gap: clamp(18px, 2.8vw, 42px);
    text-align: left;
}
.brand .custom-logo-link { flex: 0 0 auto; }
.brand .custom-logo {
    width: auto;
    max-width: 104px;
    max-height: 96px;
}
.brand__mark {
    display: grid;
    width: 96px;
    height: 96px;
    flex: 0 0 96px;
    place-items: center;
    border: 5px solid #e8b51d;
    border-radius: 50%;
    color: #fff;
    background: linear-gradient(145deg, #08704a, #00432f);
    box-shadow: 0 9px 24px rgba(8, 52, 33, .2);
    font: 700 3.5rem Georgia, serif;
}
.brand__name { max-width: 100%; }
.brand__tagline {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin-top: 8px;
    color: #466056;
    font-family: "Arima Madurai", "Noto Serif Tamil", Latha, "Tamil MN", serif;
    font-size: .88rem;
    font-weight: 600;
    line-height: 1.5;
    white-space: nowrap;
}
.brand__tagline > span[aria-hidden="true"] { color: #617d70; }
.brand__title {
    justify-content: flex-start;
    flex-wrap: nowrap;
    gap: 0 .2em;
    font-size: clamp(1.55rem, 2.4vw, 2rem);
}
.header-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 14px;
}
.header-actions .header-search__toggle {
    display: flex;
    width: clamp(180px, 16vw, 240px);
    height: 48px;
    align-items: center;
    justify-content: flex-start;
    gap: 16px;
    padding: 0 24px;
    border: 1px solid #edf1ee;
    border-radius: 40px;
    color: #183c2e;
    background: #fff;
    box-shadow: 0 8px 24px rgba(12, 52, 39, .1);
    cursor: pointer;
}
.header-actions .header-search__toggle span {
    color: #87918c;
    font-size: 1rem;
}
.header-actions .header-search__toggle svg { flex: 0 0 25px; }
.header-actions .button--donate {
    min-height: 48px;
    gap: 10px;
    padding-inline: 20px;
    border-radius: 40px;
    font-size: .9rem;
}
.header-actions .header-search__panel { top: calc(100% + 12px); }
.primary-navigation {
    position: relative;
    top: auto;
    left: auto;
    right: auto;
    display: flex;
    width: 100%;
    min-height: 58px;
    align-items: center;
    justify-content: center;
    gap: 0;
    padding: 6px 12px;
    border-radius: 18px;
    background: linear-gradient(110deg, #006b47, #004832 70%, #003f2c);
    box-shadow: 0 18px 30px rgba(0, 66, 43, .22);
}
.primary-navigation .mobile-menu-close { display: none; }
.primary-navigation .menu {
    display: flex;
    width: max-content;
    min-width: 100%;
    align-items: center;
    justify-content: space-between;
    flex-wrap: nowrap;
    gap: clamp(2px, .35vw, 6px);
}
.primary-navigation .menu > li { padding: 0; border: 0; }
.primary-navigation .menu > li > a {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 9px clamp(4px, .65vw, 9px);
    border-radius: 10px;
    color: #fff;
    font-size: clamp(.76rem, .85vw, .88rem);
    font-weight: 700;
    white-space: nowrap;
}
.primary-navigation .menu > li > a::before {
    content: "";
    display: block;
    width: 16px;
    height: 16px;
    flex: 0 0 16px;
    background: currentColor;
    -webkit-mask-position: center;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-position: center;
    mask-repeat: no-repeat;
    mask-size: contain;
}
.primary-navigation .menu > li:nth-child(1) > a::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 11h3v10h5v-6h4v6h5V11h3z'/%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 11h3v10h5v-6h4v6h5V11h3z'/%3E%3C/svg%3E");
}
.primary-navigation .menu > li:nth-child(2) > a::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='M9 11a4 4 0 1 0 0-8 4 4 0 0 0 0 8ZM2 21a7 7 0 0 1 14 0Zm15-17a4 4 0 0 1 0 7.7 8 8 0 0 1 5 7.3h-2a6 6 0 0 0-4-5.7A6 6 0 0 0 17 4Z'/%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='M9 11a4 4 0 1 0 0-8 4 4 0 0 0 0 8ZM2 21a7 7 0 0 1 14 0Zm15-17a4 4 0 0 1 0 7.7 8 8 0 0 1 5 7.3h-2a6 6 0 0 0-4-5.7A6 6 0 0 0 17 4Z'/%3E%3C/svg%3E");
}
.primary-navigation .menu > li:nth-child(3) > a::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='M21 3C11 3 5 7 5 14a6 6 0 0 0 6 6c7 0 10-8 10-17ZM2 22c3-7 8-11 15-14'/%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='M21 3C11 3 5 7 5 14a6 6 0 0 0 6 6c7 0 10-8 10-17ZM2 22c3-7 8-11 15-14'/%3E%3C/svg%3E");
}
.primary-navigation .menu > li:nth-child(4) > a::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 13 2-1-2-4-2 1-2-1-.3-2h-5L9 8 7 9 5 8l-2 4 2 1v2l-2 1 2 4 2-1 2 1 .3 2h5l.4-2 2-1 2 1 2-4-2-1v-2Zm-7 4a4 4 0 1 1 0-8 4 4 0 0 1 0 8Z' transform='translate(-1 -2)'/%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 13 2-1-2-4-2 1-2-1-.3-2h-5L9 8 7 9 5 8l-2 4 2 1v2l-2 1 2 4 2-1 2 1 .3 2h5l.4-2 2-1 2 1 2-4-2-1v-2Zm-7 4a4 4 0 1 1 0-8 4 4 0 0 1 0 8Z' transform='translate(-1 -2)'/%3E%3C/svg%3E");
}
.primary-navigation .menu > li:nth-child(5) > a::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='M7 2h2v3h6V2h2v3h4v18H3V5h4zm12 8H5v11h14zM7 13h3v3H7zm6 0h4v3h-4z'/%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='M7 2h2v3h6V2h2v3h4v18H3V5h4zm12 8H5v11h14zM7 13h3v3H7zm6 0h4v3h-4z'/%3E%3C/svg%3E");
}
.primary-navigation .menu > li:nth-child(6) > a::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='M6 2h9l5 5v15H4V4a2 2 0 0 1 2-2Zm8 2v5h5M8 12h8v2H8zm0 4h8v2H8z'/%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 2h9l5 5v15H4V4a2 2 0 0 1 2-2Zm8 2v5h5M8 12h8v2H8zm0 4h8v2H8z'/%3E%3C/svg%3E");
}
.primary-navigation .menu > li:nth-child(7) > a::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='M9 11a4 4 0 1 0 0-8 4 4 0 0 0 0 8ZM2 21a7 7 0 0 1 14 0Zm15-9h2v3h3v2h-3v3h-2v-3h-3v-2h3z'/%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='M9 11a4 4 0 1 0 0-8 4 4 0 0 0 0 8ZM2 21a7 7 0 0 1 14 0Zm15-9h2v3h3v2h-3v3h-2v-3h-3v-2h3z'/%3E%3C/svg%3E");
}
.primary-navigation .menu > li:nth-child(8) > a::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='M3 5h18v14H3zm2 2v1l7 5 7-5V7l-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='M3 5h18v14H3zm2 2v1l7 5 7-5V7l-7 5z'/%3E%3C/svg%3E");
}
.primary-navigation .menu > li:nth-child(9) > a::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='M3 3h7v7H3zm11 0h7v7h-7zM3 14h7v7H3zm11 0h7v7h-7z'/%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 3h7v7H3zm11 0h7v7h-7zM3 14h7v7H3zm11 0h7v7h-7z'/%3E%3C/svg%3E");
}
.primary-navigation .menu > li > a:hover,
.primary-navigation .menu > .current-menu-item > a,
.primary-navigation .menu > .current_page_item > a {
    color: #103c2d;
    background: #fff;
}
.menu-toggle { display: none; }

@media (max-width: 1200px) and (min-width: 981px) {
    .header-inner { width: min(1160px, calc(100% - 48px)); gap: 22px; }
    .header-brand-row { min-height: 100px; }
    .brand { gap: 24px; }
    .brand__mark { width: 84px; height: 84px; flex-basis: 84px; font-size: 3rem; }
    .primary-navigation { min-height: 56px; padding-inline: 10px; }
    .primary-navigation .menu { min-width: 0; width: 100%; gap: 2px; }
    .primary-navigation .menu > li > a { gap: 5px; padding-inline: 4px; font-size: .75rem; }
    .primary-navigation .menu > li > a::before { width: 14px; height: 14px; flex-basis: 14px; }
}
@media (max-width: 980px) {
    .header-inner {
        position: relative;
        width: min(100% - 36px, 1200px);
        padding-block: 12px 16px;
        gap: 16px;
    }
    .header-brand-row { min-height: 76px; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; }
    .brand { gap: 14px; }
    .brand .custom-logo { max-width: 90px; max-height: 86px; }
    .brand__mark { width: 82px; height: 82px; flex-basis: 82px; border-width: 3px; font-size: 3rem; }
    .brand__title { flex-wrap: wrap; justify-content: flex-start; font-size: clamp(1.2rem, 3.1vw, 1.8rem); }
    .brand__tagline { justify-content: flex-start; gap: 6px; margin-top: 3px; font-size: .65rem; }
    .header-actions { gap: 10px; }
    .header-actions .header-search__toggle {
        width: 48px;
        height: 48px;
        justify-content: center;
        padding: 0;
    }
    .header-actions .header-search__toggle span { display: none; }
    .header-actions .button--donate { min-height: 46px; gap: 7px; padding-inline: 14px; font-size: .84rem; }
    .primary-navigation {
        position: absolute;
        top: 100%;
        left: -18px;
        right: -18px;
        z-index: 20;
        display: none;
        width: auto;
        max-height: calc(100vh - 100px);
        align-items: stretch;
        justify-content: start;
        gap: 14px;
        overflow-y: auto;
        padding: 16px 22px 22px;
        border: 1px solid var(--line);
        border-radius: 0 0 16px 16px;
        background: #fff;
        box-shadow: var(--shadow);
    }
    .primary-navigation.is-open { display: grid; grid-template-columns: minmax(0, 1fr); }
    .primary-navigation .mobile-menu-close { display: grid; }
    .primary-navigation .menu {
        display: grid;
        width: 100%;
        min-width: 0;
        align-items: stretch;
        justify-content: stretch;
        flex-wrap: nowrap;
        gap: 0;
        text-align: left;
    }
    .primary-navigation .menu > li { width: 100%; border-bottom: 1px solid var(--line); }
    .primary-navigation .menu > li > a {
        justify-content: flex-start;
        padding: 11px 5px;
        border-radius: 0;
        color: var(--green-950);
        font-size: .95rem;
        white-space: normal;
    }
    .primary-navigation .menu > li > a:hover,
    .primary-navigation .menu > .current-menu-item > a,
    .primary-navigation .menu > .current_page_item > a { color: var(--green-800); background: #edf5ef; }
    .primary-navigation .menu .sub-menu { display: block; position: static; padding: 4px 0 8px 15px; box-shadow: none; }
    .menu-toggle {
        display: grid;
        position: static;
        width: 48px;
        height: 48px;
        flex: 0 0 48px;
        gap: 5px;
        place-content: center;
        border: 1px solid var(--line);
        border-radius: 50%;
        background: #fff;
        cursor: pointer;
    }
    .menu-toggle span:not(.screen-reader-text) { display: block; width: 20px; height: 2px; background: var(--green-900); }
}
@media (max-width: 680px) {
    .header-inner { width: min(100% - 28px, 1200px); padding-block: 14px 18px; }
    .header-brand-row { min-height: 76px; gap: 8px; }
    .brand { gap: 9px; }
    .brand .custom-logo { max-width: 58px; max-height: 58px; }
    .brand__mark { width: 56px; height: 56px; flex-basis: 56px; font-size: 2rem; }
    .brand__title { gap: 0 .15em; font-size: clamp(1rem, 4vw, 1.35rem); }
    .brand__tagline { display: none; }
    .header-actions { gap: 7px; }
    .header-actions .button--donate { display: none; }
    .header-actions .header-search__toggle,
    .menu-toggle { width: 40px; height: 40px; flex-basis: 40px; }
    .header-actions .header-search__toggle svg { width: 21px; height: 21px; }
    .primary-navigation { left: -14px; right: -14px; border-radius: 0 0 14px 14px; }
}
@media (max-width: 380px) {
    .header-inner { width: calc(100% - 24px); }
    .brand { gap: 7px; }
    .brand .custom-logo { max-width: 48px; }
    .brand__mark { width: 48px; height: 48px; flex-basis: 48px; font-size: 1.7rem; }
    .brand__title { font-size: .9rem; }
}

.page-details--donate {
    position: relative;
    overflow: hidden;
    padding-block: 54px 58px;
    background:
        radial-gradient(ellipse at 0 0, rgba(0, 105, 71, .1), transparent 34%),
        radial-gradient(ellipse at 100% 100%, rgba(218, 164, 37, .13), transparent 35%),
        #fbfaf6;
}
.page-details--donate::before,
.page-details--donate::after {
    position: absolute;
    z-index: 0;
    width: 340px;
    height: 180px;
    border-radius: 50%;
    background: #006747;
    content: "";
    opacity: .96;
}
.page-details--donate::before { top: -145px; left: -175px; transform: rotate(-15deg); }
.page-details--donate::after { right: -210px; bottom: -155px; transform: rotate(-15deg); }
.page-details .page-details__layout--donate { position: relative; z-index: 1; }
.page-entry--donate .vaigai-donation {
    width: min(100%, 1120px);
    margin-inline: auto;
}
.page-entry--donate .vaigai-donation__heading {
    margin: 0 auto 28px;
    text-align: center;
}
.page-entry--donate .vaigai-donation__heading > span {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 5px;
    color: #647084;
    font-size: .75rem;
    font-weight: 800;
    letter-spacing: .2em;
    line-height: 1.5;
    text-transform: uppercase;
}
.page-entry--donate .vaigai-donation__heading > span::before,
.page-entry--donate .vaigai-donation__heading > span::after {
    width: 34px;
    height: 1px;
    background: #d7a11f;
    content: "";
}
.page-entry--donate .vaigai-donation__heading h2 {
    margin: 0;
    color: #12392e;
    font-size: clamp(1.7rem, 3.2vw, 2.45rem);
    letter-spacing: -.025em;
}
.page-entry--donate .vaigai-donation__heading p {
    margin: 5px 0 0;
    color: #657187;
    font-size: .98rem;
}
.page-entry--donate .vaigai-donation-methods {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
    gap: 18px;
}
.page-entry--donate .vaigai-donation-card {
    min-width: 0;
    padding: 22px;
    border: 1px solid rgba(19, 62, 46, .06);
    border-top: 0;
    border-radius: 20px;
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 14px 36px rgba(24, 55, 39, .1);
}
.page-entry--donate .vaigai-donation-card--qr { border-top: 0; }
.page-entry--donate .vaigai-donation-card--bank { border-top: 0; }
.page-entry--donate .vaigai-donation-card h2 {
    min-height: 52px;
    gap: 12px;
    margin: 0 0 12px;
    padding-bottom: 12px;
    border-bottom: 1px solid #e8ece8;
    color: #145b48;
    font-size: 1.34rem;
}
.page-entry--donate .vaigai-donation-card__icon {
    width: 48px;
    height: 48px;
    flex-basis: 48px;
    background: var(--donation-accent, #14785a);
    font-size: 1.08rem;
}
.page-entry--donate .vaigai-donation-card--bank .vaigai-donation-card__icon { background: #dca323; }
.page-entry--donate .vaigai-donation-card > p {
    margin: 0 0 10px;
    color: #596878;
    font-size: .86rem;
    line-height: 1.55;
}
.page-entry--donate .vaigai-bank-details {
    display: grid;
    gap: 7px;
    margin: 13px 0 10px;
    padding: 15px 18px;
    border-radius: 14px;
    background: #fbf8f0;
}
.page-entry--donate .vaigai-bank-details > div {
    display: grid;
    grid-template-columns: minmax(104px, .75fr) minmax(0, 1.5fr);
    gap: 12px;
    color: #5a6674;
    font-size: .83rem;
    line-height: 1.45;
}
.page-entry--donate .vaigai-bank-details strong {
    min-width: 0;
    color: #153f36;
    font-weight: 750;
    overflow-wrap: anywhere;
}
.page-entry--donate .vaigai-bank-details strong[data-copy] {
    font-size: 1.02rem;
    font-weight: 800;
    letter-spacing: .015em;
}
.page-entry--donate .vaigai-upi-payment {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    margin: 0 0 12px;
}
.page-entry--donate .vaigai-upi-payment > label {
    display: grid;
    min-width: 150px;
    gap: 4px;
    color: #244b40;
    font-size: .78rem;
    font-weight: 700;
}
.page-entry--donate .vaigai-upi-payment input {
    min-height: 42px;
    border-color: #d4e0d8;
    border-radius: 8px;
    background-color: #fff;
}
.page-entry--donate .vaigai-upi-payment .vaigai-button {
    width: auto;
    min-width: 190px;
    gap: 12px;
}
.page-entry--donate .vaigai-upi-payment > span {
    color: #64736b;
    font-size: .76rem;
}
.page-entry--donate .vaigai-upi-payment__status {
    flex-basis: 100%;
    margin: 0;
    color: #a33b32;
    font-size: .8rem;
}
.page-entry--donate .vaigai-qr-preview,
.page-entry--donate .vaigai-qr-placeholder {
    display: grid;
    min-height: 145px;
    place-items: center;
    align-content: center;
    gap: 5px;
    margin: 13px 0;
    padding: 14px;
    border: 1px dashed #a8cdbb;
    border-radius: 13px;
    background: linear-gradient(120deg, #f1f9f5, #f6fbf9);
    text-align: center;
}
.page-entry--donate .vaigai-qr-image {
    width: auto;
    max-width: min(100%, 180px);
    max-height: 180px;
    margin: 0;
    border-radius: 0;
    object-fit: contain;
}
.page-entry--donate .vaigai-qr-placeholder svg {
    width: 46px;
    height: 46px;
    fill: none;
    stroke: #087457;
    stroke-width: 2.2;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.page-entry--donate .vaigai-qr-placeholder strong { color: #145b48; font-size: .9rem; }
.page-entry--donate .vaigai-qr-placeholder span { color: #6a7884; font-size: .78rem; }
.page-entry--donate .vaigai-manual-donation-form {
    width: 100%;
    max-width: none;
    gap: 9px;
    margin-top: 13px;
    padding: 13px 15px 15px;
    border-radius: 14px;
    background: #f2f8f5;
}
.page-entry--donate .vaigai-donation-card--bank .vaigai-manual-donation-form { background: #fcf8ed; }
.page-entry--donate .vaigai-donation-card h3 {
    margin: 0 0 1px;
    color: #17473b;
    font-size: 1.06rem;
}
.page-entry--donate .vaigai-manual-donation-form label {
    gap: 4px;
    color: #244b40;
    font-size: .78rem;
    font-weight: 700;
}
.page-entry--donate .vaigai-donation-card input:not([type="checkbox"]) {
    min-height: 38px;
    padding: 7px 10px;
    border: 1px solid #dfe5e2;
    border-radius: 7px;
    font-size: .83rem;
}
.page-entry--donate .vaigai-donation-card .vaigai-consent {
    display: flex !important;
    align-items: flex-start;
    gap: 8px;
    color: #596878;
    font-size: .72rem;
    font-weight: 500;
    line-height: 1.4;
}
.page-entry--donate .vaigai-donation-card .vaigai-consent input {
    width: 16px;
    min-height: 16px;
    flex: 0 0 16px;
    margin: 1px 0 0;
}
.page-entry--donate .vaigai-donation-card .vaigai-button {
    min-height: 42px;
    border: 0;
    border-radius: 9px;
    color: #fff;
    background: linear-gradient(100deg, #087252, #00583e);
    font-size: .86rem;
}
.page-entry--donate .vaigai-donation-card--bank .vaigai-button { color: #17392d; background: #dda51f; }
.page-entry--donate .vaigai-donation-card .vaigai-button:hover { filter: brightness(.95); }
.page-entry--donate .vaigai-donation-card .vaigai-copy-button {
    margin: 2px 6px 6px 0;
    padding: 8px 11px;
    border-color: #168064;
    border-radius: 8px;
    background: #fff;
    font-size: .76rem;
    font-weight: 700;
}
.page-entry--donate .vaigai-donation-card--bank .vaigai-copy-button:nth-of-type(2) { border-color: #d69a16; }
.page-entry--donate .vaigai-donation__note {
    display: flex;
    width: fit-content;
    align-items: center;
    gap: 12px;
    margin: 12px auto 0;
    padding: 9px 22px;
    border-radius: 16px;
    color: #285447;
    background: #e8f1e9;
    font-size: .82rem;
    text-align: center;
}
.page-entry--donate .vaigai-donation__note > span {
    display: grid;
    width: 25px;
    height: 25px;
    place-items: center;
    border-radius: 50%;
    color: #fff;
    background: #087252;
    font-weight: 800;
}
@media (max-width: 680px) {
    .page-details--donate { padding-block: 38px 44px; }
    .page-entry--donate .vaigai-donation__heading { margin-bottom: 20px; }
    .page-entry--donate .vaigai-donation__heading h2 { font-size: 1.65rem; }
    .page-entry--donate .vaigai-donation-methods { grid-template-columns: minmax(0, 1fr); gap: 14px; }
    .page-entry--donate .vaigai-donation-card { padding: 17px; border-radius: 16px; }
    .page-entry--donate .vaigai-donation__note { width: 100%; padding-inline: 12px; }
}
.mobile-donate-link { display: none; }
@media (max-width: 980px) {
    .primary-navigation .mobile-donate-link {
        display: flex;
        width: 100%;
        min-height: 46px;
        align-items: center;
        justify-content: center;
        gap: 10px;
        margin-top: 12px;
        padding: 10px 16px;
        border: 1px solid #d6a53a;
        border-radius: 8px;
        color: #16251d;
        background: #d6a53a;
        font-weight: 700;
        text-align: center;
        text-decoration: none;
    }
    .primary-navigation .mobile-donate-link:hover {
        border-color: #b68431;
        color: #10251b;
        background: #b68431;
    }
}
