/*
Theme Name: Gyan Charity Foundation
Theme URI: https://cyberwavesolution.com/
Author: CyberWave Solution
Description: Drag-and-drop block theme for Gyan Charity Foundation. Edit every page, the header, the footer, colours and fonts visually in the WordPress editor.
Version: 15.9.2
Requires at least: 6.5
Tested up to: 7.0
Requires PHP: 7.4
Text Domain: gyan-charity-foundation
*/

/* Base spacing. WordPress zeroes margins inside block layouts with :root :where(.is-layout-flow) > *.
   The original design relied on normal paragraph / heading / list spacing, so it is restored here, at the same
   priority and BEFORE every component rule, so any component that sets its own margin still wins. */
:root :where(p,h1,h2,h3,h4,h5,h6,ul,ol){margin-block:revert}
:root{--forest:#111111;--forest-2:#000000;--sage:#fff6b0;--gold:#ffea00;--gold-soft:#fff6b0;--cream:#f7f5ef;--paper:#fff;--ink:#1d1d1d;--muted:#6e6e6e;--line:#e3e3e3;--max:1180px;--shadow:0 24px 70px rgba(0,0,0,.10)}
html.gyan-loading,html.gyan-loading body{overflow:hidden}
#gyan-page-loader{position:fixed;z-index:999999;opacity:1;transition:opacity .4s ease}
#gyan-page-loader.is-done{opacity:0;pointer-events:none}
#gyan-page-loader.is-splash{inset:0;background:#0a0a0a;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px}
#gyan-page-loader.is-splash img{width:64px;height:auto;animation:gyan-loader-pulse 1.3s ease-in-out infinite}
.page-loader-bar-track{width:150px;height:3px;background:rgba(255,255,255,.14);border-radius:2px;overflow:hidden}
#gyan-page-loader.is-splash .page-loader-bar-fill{display:block;height:100%;width:0;background:var(--gold);border-radius:2px;transition:width .35s ease}
#gyan-page-loader.is-bar{top:0;left:0;width:100%;height:3px;background:none}
#gyan-page-loader.is-bar .page-loader-bar-fill{display:block;height:100%;width:0;background:var(--gold);box-shadow:0 0 8px rgba(255,234,0,.6);transition:width .3s ease}
@keyframes gyan-loader-pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.92)}}
@media (prefers-reduced-motion:reduce){#gyan-page-loader.is-splash img{animation:none}}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:"DM Sans",Arial,sans-serif;font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}.site-shell{width:min(var(--max),calc(100% - 48px));margin-inline:auto}.skip-link{position:absolute;left:16px;top:-100px;background:#fff;color:#111;padding:10px 14px;z-index:100}.skip-link:focus{top:10px}.button-gold,.button-dark{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-weight:800;border-radius:3px;transition:transform .2s ease,background .2s ease,box-shadow .2s ease}.button-gold:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(255,234,0,.22)}

/* Gutenberg reset */
.wp-site-blocks{padding:0!important}.wp-block-cover,.wp-block-group{margin:0}.wp-block-button__link{border-radius:3px}.wp-block-columns{margin-bottom:0}.wp-block-image{margin:0}.wp-block-separator{border-color:var(--line)}

.eyebrow{font-family:"Manrope",sans-serif;text-transform:uppercase;letter-spacing:.20em;font-size:11px;font-weight:800;color:#111111;margin:0 0 15px}.eyebrow.light{color:#ffea00}.button-gold .wp-block-button__link,.button-gold{background:var(--gold)!important;color:#1b180f!important;border:1px solid var(--gold)!important}.button-ghost .wp-block-button__link{background:transparent!important;color:#fff!important;border:1px solid rgba(255,255,255,.55)!important}
/* Sections */
.intro-band{background:var(--forest);color:#fff}.intro-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:90px;padding:64px 0;align-items:center}.intro-grid h2{font-family:"Playfair Display",serif;font-size:clamp(32px,4vw,48px);line-height:1.12;letter-spacing:-.025em;margin:0}.intro-grid>div:last-child{border-left:1px solid rgba(255,255,255,.16);padding-left:60px}.intro-grid p:not(.eyebrow){color:#dbdbdb;margin:0 0 18px;max-width:600px}.section{padding:108px 0}.white-section{background:#fff}.light-section{background:var(--cream)}.section-heading{display:grid;grid-template-columns:1.05fr .8fr;gap:80px;align-items:end;margin-bottom:48px}.section-heading h2{font-family:"Playfair Display",serif;font-size:clamp(38px,4.5vw,58px);line-height:1.08;letter-spacing:-.03em;color:var(--forest);margin:0}.section-heading>p{color:var(--muted);font-size:16px;margin:0}.centered{align-items:center}.centered>p{max-width:520px}
/* Focus cards */
.focus-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:18px}.focus-card{position:relative;min-height:350px;padding:32px;background:#fff;border:1px solid var(--line);display:flex;flex-direction:column;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.focus-card:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:rgba(0,0,0,.18)}.focus-feature{background:var(--forest);color:#fff;border-color:var(--forest)}.focus-number{position:absolute;right:26px;top:24px;font-family:"Manrope",sans-serif;font-size:11px;letter-spacing:.16em;opacity:.45}.focus-icon{width:50px;height:50px;display:grid;place-items:center;background:var(--sage);color:var(--forest);font-size:23px;margin-bottom:55px}.focus-feature .focus-icon{background:rgba(255,255,255,.10);color:#ffea00}.focus-card h3{font-family:"Manrope",sans-serif;font-size:24px;line-height:1.18;margin:0 0 13px;color:var(--forest)}.focus-feature h3{color:#fff}.focus-card p{color:var(--muted);font-size:15px;margin:0 0 24px}.focus-feature p{color:#d7d7d7}.focus-card a{margin-top:auto;font-weight:800;font-size:13px;color:var(--forest)}.focus-feature a{color:#ffea00}
/* Story */
.story-section{background:#f1eee6;padding:0}.story-grid{display:grid;grid-template-columns:1.05fr .95fr;min-height:640px}.story-image{overflow:hidden}.story-image img{width:100%;height:100%;min-height:640px;object-fit:cover;display:block}.story-copy{padding:100px 8% 90px;display:flex;flex-direction:column;justify-content:center}.story-copy h2{font-family:"Playfair Display",serif;color:var(--forest);font-size:clamp(38px,4.3vw,56px);line-height:1.08;letter-spacing:-.03em;margin:0 0 22px}.story-copy p:not(.eyebrow){color:var(--muted);font-size:16px;max-width:530px}.button-dark{align-self:flex-start;background:var(--forest);color:#fff;padding:14px 20px;margin-top:14px;font-size:13px}.button-dark:hover{transform:translateY(-2px)}
/* Impact strip */
.impact-strip{background:var(--gold);color:#201b0f}.impact-strip-grid{display:grid;grid-template-columns:1fr 1fr 1fr auto;align-items:center;gap:35px;padding:38px 0}.impact-strip strong{display:block;font-family:"Playfair Display",serif;font-size:31px;line-height:1.1}.impact-strip p{font-size:12px;margin:5px 0 0;opacity:.75}.strip-label{font-size:10px;text-transform:uppercase;letter-spacing:.16em;font-weight:800;opacity:.6}
/* Story cards */
.story-cards{display:grid;grid-template-columns:1fr 1fr;gap:22px}.story-cards article{background:#fff;border:1px solid var(--line);display:grid;grid-template-columns:.9fr 1.1fr;min-height:260px}.mini-image{overflow:hidden}.mini-image img{width:100%;height:100%;object-fit:cover;display:block}.mini-copy{padding:30px;display:flex;flex-direction:column}.mini-copy>span{font-size:10px;text-transform:uppercase;letter-spacing:.16em;color:#111111;font-weight:800}.mini-copy h3{font-family:"Playfair Display",serif;color:var(--forest);font-size:25px;line-height:1.15;margin:12px 0 20px}.mini-copy a{margin-top:auto;font-weight:800;font-size:13px;color:var(--forest)}
/* CTA */
.cta-section{background:var(--forest-2);color:#fff}.cta-inner{display:grid;grid-template-columns:1fr auto;gap:60px;align-items:center;padding:90px 0}.cta-inner h2{font-family:"Playfair Display",serif;font-size:clamp(40px,4.5vw,62px);line-height:1.06;letter-spacing:-.03em;margin:0 0 16px;max-width:760px}.cta-inner>div:first-child>p:not(.eyebrow){color:#d2d2d2;max-width:650px}.cta-actions{display:flex;flex-direction:column;gap:12px;min-width:185px}.cta-actions>a{padding:14px 20px;text-align:center}.cta-actions .button-ghost{border:1px solid rgba(255,255,255,.5);color:#fff;border-radius:3px;font-weight:800}
/* Inner pages */
.page-intro{background:var(--forest);color:#fff;padding:100px 0 92px}.page-intro h1{font-family:"Playfair Display",serif;font-size:clamp(46px,6vw,76px);line-height:1.03;letter-spacing:-.035em;max-width:900px;margin:0 0 22px}.page-intro p:not(.eyebrow){font-size:18px;color:#dbdbdb;max-width:680px}.prose{max-width:850px}.prose h2{font-family:"Playfair Display",serif;color:var(--forest);font-size:38px;line-height:1.1;margin:0 0 18px}.prose p{color:var(--muted);font-size:17px}.prose h2:not(:first-child){margin-top:65px}.impact-page{display:flex;flex-direction:column;gap:90px}.impact-feature{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:70px}.impact-feature.reverse{grid-template-columns:.95fr 1.05fr}.impact-feature.reverse img{order:2}.impact-feature img{width:100%;aspect-ratio:1.25/1;object-fit:cover}.impact-feature h2{font-family:"Playfair Display",serif;color:var(--forest);font-size:48px;line-height:1.08;margin:0 0 18px}.impact-feature p:not(.eyebrow){color:var(--muted);font-size:17px}.impact-placeholder{background:var(--sage);aspect-ratio:1.25/1;display:grid;place-items:center;color:var(--forest);font-family:"Playfair Display",serif;font-size:70px}.donation-layout,.contact-layout{display:grid;grid-template-columns:1fr .75fr;gap:80px;align-items:start}.donation-layout h2,.contact-layout h2{font-family:"Playfair Display",serif;color:var(--forest);font-size:50px;line-height:1.08;margin:0 0 18px}.donation-layout>div:first-child>p,.contact-layout>div:first-child>p:not(.eyebrow){color:var(--muted);font-size:17px}.donation-points{margin-top:35px}.donation-points>div{display:flex;gap:18px;padding:17px 0;border-top:1px solid var(--line)}.donation-points span{font-weight:800;color:#111111}.donation-points p{margin:0;color:var(--ink)}.donation-card,.contact-card{background:var(--cream);padding:38px;border:1px solid var(--line)}.donation-card h3,.contact-card h3{font-family:"Manrope",sans-serif;color:var(--forest);font-size:24px}.donation-card p,.contact-card p{color:var(--muted)}.contact-list{margin-top:30px}.contact-list>div{padding:18px 0;border-top:1px solid var(--line)}.contact-list span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.16em;color:#111111;font-weight:800}.contact-list strong{display:block;margin-top:4px;color:var(--forest)}.contact-map-shell{margin-top:60px}.contact-map-wrap{border:1px solid var(--line);box-shadow:var(--shadow);line-height:0;overflow:hidden}.contact-map-wrap iframe{display:block;width:100%}
/* Footer */

/* WordPress blocks in editor/front */
.alignwide{max-width:var(--max)!important;margin-left:auto!important;margin-right:auto!important}
/* Global page-content alignment: keep all Gutenberg/page content comfortably centered */

/* Protect readable measure on ordinary text blocks that are not inside a layout component */

/* Keep all major page content comfortably inside the reading width */
.section>.site-shell,.intro-grid,.story-grid,.impact-strip-grid,.cta-inner,.page-intro>.site-shell,.donation-layout,.contact-layout,.impact-page{width:min(var(--max),calc(100% - 48px));margin-left:auto;margin-right:auto}

@media (max-width:1000px){.focus-grid{grid-template-columns:1fr 1fr}.focus-feature{grid-column:1/-1;min-height:310px}.section-heading{grid-template-columns:1fr;gap:20px}.impact-strip-grid{grid-template-columns:1fr 1fr}.story-grid{grid-template-columns:1fr}.story-image img{min-height:500px;max-height:600px}.story-copy{padding:70px 8%}.cta-inner{grid-template-columns:1fr}.cta-actions{flex-direction:row}.donation-layout,.contact-layout{grid-template-columns:1fr 1fr;gap:45px}.impact-feature,.impact-feature.reverse{grid-template-columns:1fr;gap:35px}.impact-feature.reverse img{order:0}}
@media (max-width:860px){.intro-grid{grid-template-columns:1fr;gap:30px;padding:50px 0}.intro-grid>div:last-child{border-left:0;border-top:1px solid rgba(255,255,255,.16);padding:25px 0 0}.section{padding:75px 0}.story-cards{grid-template-columns:1fr}.donation-layout,.contact-layout{grid-template-columns:1fr}.page-intro{padding:75px 0 68px}}
@media (max-width:600px){.site-shell{width:min(var(--max),calc(100% - 34px))}.section-heading h2,.story-copy h2,.cta-inner h2{font-size:38px}.focus-grid{grid-template-columns:1fr}.focus-feature{grid-column:auto}.focus-card{min-height:290px}.story-image img{min-height:380px}.story-copy{padding:55px 0}.impact-strip-grid{grid-template-columns:1fr;gap:22px}.impact-strip{padding:32px 0}.story-cards article{grid-template-columns:1fr}.mini-image{height:220px}.cta-inner{padding:70px 0}.cta-actions{flex-direction:column}.page-intro h1{font-size:44px}.impact-feature h2,.donation-layout h2,.contact-layout h2{font-size:39px}.impact-feature img{aspect-ratio:1/0.82}.donation-card,.contact-card{padding:26px}.prose h2{font-size:33px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.focus-card,.button-gold,.button-dark{transition:none}}

/* =========================================================
   Gyan v7 — functional platform UI
   ========================================================= */
:root{--radius:14px;--max:1200px}
body{overflow-x:hidden}.site-main{min-height:40vh}.button-ghost{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid rgba(255,255,255,.65);color:#fff;padding:14px 20px;font-weight:800;border-radius:3px;background:transparent}.button-ghost:hover{background:#fff;color:var(--forest)}

.support-section{background:#f7f5ef;padding:100px 0}.support-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;align-items:start}.support-grid h2{font-family:"Playfair Display",serif;color:var(--forest);font-size:clamp(40px,4.8vw,60px);line-height:1.05;margin:0 0 18px}.support-grid>div>p:not(.eyebrow){color:var(--muted);font-size:17px;max-width:540px}.support-cards{display:grid;grid-template-columns:1fr 1fr;gap:16px}.support-cards>div{background:#fff;border:1px solid var(--line);padding:30px;min-height:210px;transition:.25s ease}.support-cards>div:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.support-cards span{font-size:11px;letter-spacing:.18em;color:#111111;font-weight:800}.support-cards h3{font-family:"Manrope",sans-serif;color:var(--forest);font-size:20px;margin:30px 0 10px}.support-cards p{color:var(--muted);font-size:14px;margin:0}
.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:55px}.values-grid>div{padding:28px;border:1px solid var(--line);background:#fff}.values-grid span{color:#111111;font-weight:800;font-size:11px;letter-spacing:.16em}.values-grid h3{font-family:"Manrope",sans-serif;color:var(--forest);font-size:22px;margin:28px 0 8px}.values-grid p{color:var(--muted);margin:0}.leadership-section{margin-top:70px}.leadership-section>.eyebrow{margin:0 0 14px}.leadership-section>h2{font-family:"Playfair Display",serif;color:var(--forest);font-size:38px;margin:0 0 30px}.team-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:24px}.team-card{text-align:center}.team-card .wp-block-image{margin:0 0 18px}.team-card .wp-block-image img{width:180px;height:180px;object-fit:cover;border-radius:50%;border:3px solid var(--gold)}.team-name{font-family:"Manrope",sans-serif;color:var(--forest);font-size:19px;margin:0 0 4px!important}.team-title{color:var(--muted);font-size:14px;margin:0!important}
.section-mini{margin-top:100px}.section-mini>h2{font-family:"Playfair Display",serif;color:var(--forest);font-size:48px;margin:0 0 35px}.dynamic-stories article{min-height:300px}.dynamic-stories .mini-copy p{font-size:14px;color:var(--muted);margin:0 0 18px}.empty-content-card{padding:35px;border:1px dashed #cfcfcf;background:#fff;color:var(--muted)}
.form-shell{max-width:1000px}.form-intro{max-width:700px;margin:0 auto 45px;text-align:center}.form-intro h2{font-family:"Playfair Display",serif;color:var(--forest);font-size:50px;line-height:1.05;margin:0 0 18px}.form-intro>p:not(.eyebrow){color:var(--muted);font-size:17px}.gyan-form{background:#fff;border:1px solid var(--line);padding:38px;box-shadow:0 18px 50px rgba(0,0,0,.06)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.gyan-form label{display:block;color:var(--forest);font-size:12px;font-weight:800;margin:0 0 20px}.gyan-form input,.gyan-form select,.gyan-form textarea{display:block;width:100%;margin-top:8px;border:1px solid #dadada;background:#fbfbfb;border-radius:5px;padding:13px 14px;color:var(--ink);font:inherit;outline:none;transition:border-color .2s,box-shadow .2s}.gyan-form input:focus,.gyan-form select:focus,.gyan-form textarea:focus{border-color:var(--forest);box-shadow:0 0 0 3px rgba(0,0,0,.08)}.form-section-title{font-family:"Manrope",sans-serif;color:var(--forest);font-size:17px;font-weight:800;border-top:1px solid var(--line);padding-top:24px;margin:5px 0 22px}.form-note{font-size:13px;color:var(--muted);background:#f5f5f5;border-left:3px solid var(--gold);padding:13px 15px}.form-submit{border:0;cursor:pointer;margin-top:8px}.gyan-form-notice{padding:15px 18px;margin:0 0 22px;border-radius:5px;font-weight:700;scroll-margin-top:120px}.gyan-form-notice:focus{outline:none}.gyan-form-notice.success{background:#e8f5ed;color:#175f37;border:1px solid #b9ddc5}.gyan-form-notice.error{background:#fff0ef;color:#8c2f29;border:1px solid #efc2be}.donation-config-notice{background:#f7f5ef;border:1px dashed #cdcdcd;padding:18px;color:var(--muted);margin:18px 0}
.faq-list{max-width:900px}.faq-list details{border-top:1px solid var(--line);padding:24px 0}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{cursor:pointer;font-family:"Manrope",sans-serif;color:var(--forest);font-size:19px;font-weight:800;list-style:none;display:flex;justify-content:space-between;gap:20px}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:"+";color:#111111;font-size:25px;line-height:1}.faq-list details[open] summary:after{content:"−"}.faq-list details p{color:var(--muted);max-width:760px;margin:15px 0 0}
.archive-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.archive-card{background:#fff;border:1px solid var(--line);overflow:hidden}.archive-image{height:250px;overflow:hidden}.archive-image img{width:100%;height:100%;object-fit:cover}.archive-copy{padding:28px}.archive-copy h2{font-family:"Playfair Display",serif;color:var(--forest);font-size:30px;line-height:1.1;margin:0 0 12px}.archive-copy h2 a{color:inherit}.archive-copy p:not(.eyebrow){color:var(--muted)}.single-featured{margin:0 0 45px}.single-featured img{width:100%;max-height:680px;object-fit:cover}.prose{max-width:900px}.prose>p,.prose>ul,.prose>ol{max-width:820px}.prose h2{font-family:"Playfair Display",serif;color:var(--forest);font-size:42px;line-height:1.1;margin-top:50px}.prose h3{font-family:"Manrope",sans-serif;color:var(--forest);font-size:25px;margin-top:35px}.prose p,.prose li{color:var(--muted);font-size:17px}.prose a{color:var(--forest);font-weight:800;text-decoration:underline;text-decoration-color:var(--gold)}
/* Better alignment for all WordPress content, including pages created by Elementor/Gutenberg */

/* Form/card links */
.gyan-form a{color:var(--forest)}
@media(max-width:900px){.support-grid{grid-template-columns:1fr;gap:45px}.values-grid{grid-template-columns:1fr 1fr}.archive-grid{grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:1fr}.form-shell{width:min(var(--max),calc(100% - 34px))}}
@media(max-width:600px){.support-section{padding:70px 0}.support-cards{grid-template-columns:1fr}.values-grid{grid-template-columns:1fr}.gyan-form{padding:24px}.form-intro h2{font-size:39px}.archive-grid{grid-template-columns:1fr}.archive-image{height:220px}.single-featured{margin-bottom:30px}.prose h2{font-size:34px}.prose p,.prose li{font-size:16px}}
@media(prefers-reduced-motion:reduce){.support-cards>div,.focus-card,.button-gold,.button-dark{transition:none!important}}

/* =========================================================
   Gyan v8 — Frontend admin login + content manager + galleries
   ========================================================= */
.frontend-manager-shell{max-width:1120px;margin:0 auto}.frontend-manager-intro{text-align:center;max-width:760px;margin:0 auto 42px}.frontend-manager-intro h1,.manager-topbar h1{font-family:"Playfair Display",serif;color:var(--forest);font-size:clamp(42px,5vw,64px);line-height:1.05;margin:0 0 15px}.frontend-manager-intro>p:not(.eyebrow),.manager-topbar>div>p:not(.eyebrow){color:var(--muted);font-size:17px}.manager-card{background:#fff;border:1px solid var(--line);box-shadow:0 18px 55px rgba(0,0,0,.06);padding:34px}.manager-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.manager-card-heading{display:flex;align-items:center;gap:16px;margin-bottom:12px}
.manager-export-link{margin-left:auto;display:inline-flex;align-items:center;gap:6px;border:1px solid #dadada;padding:9px 13px;font-size:12px;font-weight:800;color:var(--forest);background:#fff;white-space:nowrap}
.manager-export-link:hover{background:var(--forest);color:#fff;border-color:var(--forest)}.manager-card-heading span{color:#111111;font-size:12px;font-weight:900;letter-spacing:.14em}.manager-card-heading h2{margin:0;font-family:"Manrope",sans-serif;color:var(--forest);font-size:24px}.manager-card>p{color:var(--muted);margin-top:0}.manager-form{padding:0;border:0;box-shadow:none;margin-top:26px}.manager-help{font-size:12px;color:var(--muted);margin:-8px 0 18px}.manager-topbar{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:35px}.manager-topbar p{margin-bottom:0}.manager-logout{display:inline-flex;align-items:center;border:1px solid #dadada;padding:11px 16px;font-weight:800;color:var(--forest);white-space:nowrap}.manager-links{display:flex;justify-content:center;gap:28px;margin-top:30px}.manager-links a{color:var(--forest);font-weight:800;text-decoration:underline;text-decoration-color:var(--gold)}.manager-login-note{text-align:center;color:var(--muted);font-size:13px;margin-top:18px}.frontend-manager-shell .login-form{max-width:520px;margin:0 auto;background:#fff;border:1px solid var(--line);padding:34px;box-shadow:0 18px 55px rgba(0,0,0,.06)}.frontend-manager-shell .login-form p{margin:0 0 18px}.frontend-manager-shell .login-form label{display:block;color:var(--forest);font-size:12px;font-weight:800}.frontend-manager-shell .login-form input[type=text],.frontend-manager-shell .login-form input[type=password]{display:block;width:100%;margin-top:8px;border:1px solid #dadada;background:#fbfbfb;border-radius:5px;padding:13px 14px;color:var(--ink);font:inherit}.frontend-manager-shell .login-form .login-remember label{display:flex;align-items:center;gap:8px;font-weight:600}.frontend-manager-shell .login-form .login-submit input{width:100%;border:0;background:var(--gold);color:#1d1a12;padding:14px 18px;font-weight:900;border-radius:3px;cursor:pointer}.frontend-manager-shell .login-form .login-submit input:hover{transform:translateY(-2px)}.frontend-manager-shell .manager-card h2{font-family:"Manrope",sans-serif;color:var(--forest);margin-top:0}.media-gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:40px}.media-gallery-card{background:#fff;border:1px solid var(--line);overflow:hidden}.media-gallery-cover{height:260px;position:relative;overflow:hidden;background:#ebebeb}.media-gallery-cover img{width:100%;height:100%;object-fit:cover;display:block}.media-gallery-empty{display:grid;place-items:center;color:var(--forest);font-weight:800}.media-count{position:absolute;left:14px;bottom:14px;background:rgba(0,0,0,.92);color:#fff;padding:7px 10px;font-size:11px;font-weight:800}.media-gallery-copy{padding:25px}.media-gallery-copy h3{font-family:"Playfair Display",serif;color:var(--forest);font-size:29px;line-height:1.1;margin:0 0 10px}.media-gallery-copy>p:not(.eyebrow){color:var(--muted);font-size:14px}.media-video-label{display:inline-block;background:#f3ead7;color:#7e5d1c;font-size:11px;font-weight:900;padding:6px 8px;margin:4px 0 12px}.gallery-open{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:0;background:var(--forest);color:#fff!important;font-weight:800;padding:13px 18px;margin-top:6px;border-radius:3px;cursor:pointer;font:700 13px "DM Sans",sans-serif;transition:transform .2s ease}.gallery-open:hover{transform:translateY(-2px)}.gallery-open span{color:#fff}.media-gallery-hidden{display:none!important}.gyan-gallery-modal{position:fixed;inset:0;z-index:9999;display:none}.gyan-gallery-modal.is-open{display:block}.gyan-gallery-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.86)}.gyan-gallery-dialog{position:relative;width:min(1100px,calc(100% - 32px));max-height:90vh;overflow:auto;margin:5vh auto;background:#fff;padding:34px}.gyan-gallery-close{position:absolute;right:14px;top:10px;width:42px;height:42px;border:0;background:var(--forest);color:#fff;border-radius:50%;font-size:28px;cursor:pointer;line-height:1}.gyan-gallery-heading{padding-right:55px;margin-bottom:25px}.gyan-gallery-heading h2{font-family:"Playfair Display",serif;color:var(--forest);font-size:42px;line-height:1.05;margin:0}.gyan-gallery-view-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.gyan-gallery-view-image{display:block;aspect-ratio:1/1;overflow:hidden;background:#eee}.gyan-gallery-view-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s ease}.gyan-gallery-view-image:hover img{transform:scale(1.04)}.gyan-gallery-video{margin-top:30px}.gyan-gallery-video video{display:block;width:100%;max-height:600px;background:#000}.gallery-open:focus-visible,.manager-logout:focus-visible{outline:3px solid rgba(255,234,0,.55);outline-offset:3px}body.gallery-open{overflow:hidden}
@media(max-width:900px){.media-gallery-grid{grid-template-columns:1fr 1fr}.manager-grid{grid-template-columns:1fr}.manager-topbar{align-items:flex-start;flex-direction:column}.manager-links{flex-direction:column;align-items:center}.gyan-gallery-view-grid{grid-template-columns:repeat(2,1fr)}}

@media(max-width:600px){.media-gallery-grid{grid-template-columns:1fr}.manager-card{padding:24px}.frontend-manager-shell .login-form{padding:24px}.manager-topbar h1,.frontend-manager-intro h1{font-size:42px}.gyan-gallery-dialog{padding:24px 18px;margin:3vh auto;max-height:94vh}.gyan-gallery-heading h2{font-size:34px}.gyan-gallery-view-grid{grid-template-columns:1fr 1fr}.gyan-gallery-close{right:8px;top:7px}.manager-links{gap:16px}}

.impact-text-only{grid-template-columns:1fr!important;max-width:850px}.impact-text-only h2{max-width:700px}.gallery-page .section-mini{padding-top:10px}

/* =========================================================
   Gyan v13 — design controls
   (Stripe donation interface styling now ships with the Stripe Donations plugin's own stylesheet.)
   ========================================================= */

/* opacity:1 — WordPress dims this layer with .has-background-dim-NN; the gradient below already carries the intended strength */

/* ==========================================================================
   v15 — Block theme layer
   Everything above is unchanged design CSS (sections, cards, forms, galleries, dashboard).
   Everything below styles the parts that used to be hard-coded PHP and are now editable blocks.
   Colors read from the Site Editor palette (Styles > Colors), so changing them there restyles the whole site.
   ========================================================================== */
:root{
  --forest:var(--wp--preset--color--forest,#111111);
  --forest-2:var(--wp--preset--color--forest-deep,#000000);
  --sage:var(--wp--preset--color--sage,#fff6b0);
  --gold:var(--wp--preset--color--gold,#ffea00);
  --gold-soft:var(--wp--preset--color--gold-soft,#fff6b0);
  --cream:var(--wp--preset--color--cream,#f7f5ef);
  --paper:var(--wp--preset--color--paper,#fff);
  --ink:var(--wp--preset--color--ink,#1d1d1d);
  --muted:var(--wp--preset--color--muted,#6e6e6e);
}
.wp-site-blocks>*{margin-block-start:0}

main.site-main{min-height:40vh}
/* every "shell" (header, footer, page sections) is a centred column: 1200px, or the screen minus 24px on each side */
.site-shell{width:min(var(--max),calc(100% - 48px));margin-left:auto;margin-right:auto}
.wp-block-image{margin:0}
.wp-block-image img{max-width:100%;height:auto}

/* ---- free-form content dropped straight into a page ---- */
/* Only loose text-like blocks get side padding and edge spacing. Section wrappers (.section, .site-shell, the dashboard and login pages) span the page like every other section. */
.wp-block-post-content.is-layout-constrained>:where(:not(.alignfull):not(.section):not(.site-shell)){padding-inline:24px;box-sizing:border-box}
.wp-block-post-content.is-layout-constrained>.section{max-width:none;width:100%}
.wp-block-post-content>p,.wp-block-post-content>ul,.wp-block-post-content>ol{max-width:850px}
.wp-block-post-content>:where(p,ul,ol,h2,h3,h4,figure,.wp-block-buttons){margin-top:0;margin-bottom:1.2em}
.wp-block-post-content>:where(p,h1,h2,h3,h4,ul,ol,figure,.wp-block-buttons):first-child{margin-top:60px}
.wp-block-post-content>:where(p,h1,h2,h3,h4,ul,ol,figure,.wp-block-buttons):last-child{margin-bottom:80px}
.wp-block-post-content>h2{font-size:clamp(30px,4vw,44px);line-height:1.1;color:var(--forest)}

/* ---- buttons (Styles: Gold / Ghost / Forest) ---- */
.wp-block-button .wp-block-button__link{background:var(--forest);color:#fff;border:1px solid var(--forest);border-radius:3px;font-weight:800;font-size:13px;line-height:1.2;padding:14px 20px;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}
.wp-block-button.is-style-gold .wp-block-button__link{background:var(--gold);color:#1b180f;border-color:var(--gold)}
.wp-block-button.is-style-ghost .wp-block-button__link{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.6)}
.wp-block-button.is-style-dark .wp-block-button__link{background:var(--forest);color:#fff;border-color:var(--forest)}
.wp-block-button.is-style-gold .wp-block-button__link::after,
.wp-block-button.is-style-ghost .wp-block-button__link::after,
.wp-block-button.is-style-dark .wp-block-button__link::after{content:"\2197";margin-left:10px;font-weight:700}
.wp-block-button.is-style-gold .wp-block-button__link:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(255,234,0,.22)}
.wp-block-button.is-style-dark .wp-block-button__link:hover{transform:translateY(-2px)}
.wp-block-button.is-style-ghost .wp-block-button__link:hover{background:#fff;color:var(--forest)}
.wp-block-buttons{gap:12px}

/* ---- text links inside cards / bands ---- */
p.text-link{margin:0}
.text-link a{font-weight:800;color:#ffea00}
.text-link a::after{content:" \2192"}
.focus-card .focus-link{margin:auto 0 0}
.focus-link a::after{content:" \2197"}
.impact-strip-grid .strip-link{margin:0;white-space:nowrap;font-weight:800;font-size:13px;opacity:1}
.strip-link a::after{content:" \2197"}

/* ---- focus cards / strip / numbered cards: paragraphs styled as the old <span>/<strong> ---- */
.focus-card .focus-number{position:absolute;right:26px;top:24px;margin:0;font-family:"Manrope",sans-serif;font-size:11px;letter-spacing:.16em;opacity:.45;color:inherit}
.focus-card .focus-icon{width:50px;height:50px;display:grid;place-items:center;background:var(--sage);color:var(--forest);font-size:23px;margin:0 0 55px}
.focus-feature .focus-icon{background:rgba(255,255,255,.10);color:#ffea00}
.focus-card h3{margin-top:0}
.impact-strip-grid .strip-label{display:block;margin:0;font-size:10px;text-transform:uppercase;letter-spacing:.16em;font-weight:800;opacity:.6}
.impact-strip-grid .strip-title{display:block;margin:0;font-family:"Playfair Display",serif;font-size:31px;line-height:1.1;font-weight:700;opacity:1}
.support-cards .card-number,.values-grid .card-number{margin:0;font-size:11px;letter-spacing:.18em;color:#111111;font-weight:800}
.support-cards h3,.values-grid h3{font-family:"Manrope",sans-serif;color:var(--forest)}
.support-cards h3{font-size:20px;margin:30px 0 10px}
.values-grid h3{font-size:22px;margin:28px 0 8px}
.donation-points .point-number{margin:0;font-weight:800;color:#111111}
.contact-list .contact-label{display:block;margin:0;font-size:10px;text-transform:uppercase;letter-spacing:.16em;color:#111111;font-weight:800}
.contact-list .contact-value{display:block;margin:4px 0 0;color:var(--forest);font-weight:700}
.story-image .wp-block-image{height:100%;margin:0}
.impact-feature .wp-block-image{margin:0}
.story-copy .wp-block-buttons{margin-top:14px}
.story-copy .wp-block-button{align-self:flex-start}

/* headings on dark backgrounds inherit the section's light text (theme.json no longer forces a heading colour) */
.intro-band h2,.cta-section h2,.page-intro h1,.focus-feature h3{color:#fff}
.page-intro .eyebrow,.eyebrow{margin-top:0}
.impact-feature h2,.donation-layout h2,.contact-layout h2,.section-heading h2,.story-copy h2,.support-grid h2,.prose h2,.form-intro h2{color:var(--forest)}

/* CTA buttons stack, full width */
.cta-actions{display:flex;flex-direction:column;align-items:stretch;gap:12px;min-width:185px}
.cta-actions .wp-block-button,.cta-actions .wp-block-button__link{width:100%;text-align:center;display:block}
.cta-actions .wp-block-button__link{padding:14px 20px}

/* ---- header ---- */
.wp-site-blocks>header.wp-block-template-part{position:sticky;top:-36px;z-index:80}
.admin-bar .wp-site-blocks>header.wp-block-template-part{top:-4px}
.utility-bar{background:var(--forest-2);color:#d2d2d2;font-size:12px;letter-spacing:.02em}
.utility-inner{height:36px;display:flex;align-items:center;justify-content:space-between}
.utility-inner p{margin:0}
.utility-right{display:flex;gap:10px;align-items:center}
.utility-right a{color:#fff}
.utility-dot{opacity:.45}
.site-header{background:rgba(255,255,255,.96);backdrop-filter:blur(16px);border-bottom:1px solid rgba(0,0,0,.08)}
.nav-inner{min-height:82px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:30px}
.brand{display:flex;align-items:center;gap:12px;min-width:max-content}
.brand p,.footer-logo p{margin:0}
.brand-mark{width:43px;height:43px;border-radius:50%;display:grid;place-items:center;background:var(--forest);box-shadow:inset 0 0 0 5px rgba(255,255,255,.08);overflow:hidden;flex-shrink:0}.brand-mark img{width:62%;height:62%;object-fit:contain;display:block}
.brand-copy{display:flex;flex-direction:column;color:var(--forest);line-height:1.02}
.brand-copy .brand-name{font-family:"Manrope",sans-serif;font-size:17px;font-weight:800;letter-spacing:.15em}
.brand-copy .brand-sub{font-family:"Manrope",sans-serif;font-size:10px;font-weight:800;letter-spacing:.14em}
.brand-copy .brand-tag{font-size:8px;letter-spacing:.1em;text-transform:uppercase;color:#7a7a7a;margin-top:6px}
.nav-actions{display:flex;align-items:center;gap:14px}
.gyan-login-link{display:inline-block;min-width:72px;text-align:center;font-size:12px;font-weight:800;color:var(--forest);border:1px solid rgba(0,0,0,.25);padding:9px 13px;border-radius:3px;white-space:nowrap}
.gyan-login-link:hover{background:var(--forest);color:#fff}
.nav-donate{margin:0}
.nav-donate .wp-block-button__link{padding:12px 18px;font-size:13px}
.main-nav{justify-self:end}
.main-nav .wp-block-navigation__container{gap:28px}
.main-nav .wp-block-navigation-item__content{font-size:13px;font-weight:700;color:#3c3c3c;padding:0;transition:color .2s ease}
.main-nav .wp-block-navigation-item__content:hover,.main-nav .current-menu-item>.wp-block-navigation-item__content{color:var(--forest)}
.main-nav .wp-block-navigation__responsive-container-open{color:var(--forest)}
.main-nav .wp-block-navigation__responsive-container.is-menu-open{background:#fff;color:var(--forest);padding:0;display:flex;flex-direction:column}
.main-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog{display:flex;flex-direction:column;height:100%;padding:24px 24px calc(20px + env(safe-area-inset-bottom,0px))}
.main-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close{align-self:flex-end;color:var(--forest);width:44px;height:44px}
.main-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{flex:1;display:flex;align-items:center;justify-content:center;overflow-y:auto}
.main-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{flex-direction:column;gap:28px;align-items:center}
.main-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{font-size:22px;color:var(--forest)}

/* ---- footer ---- */
.site-footer{background:#0a0a0a;color:#cfcfcf}
.site-footer p{margin:0}
.footer-main{display:grid;grid-template-columns:1.55fr .8fr .95fr 1fr;gap:50px;padding:75px 0 55px}
.footer-brand>p{max-width:390px;color:#b7b7b7;font-size:14px;margin-top:16px}
.footer-logo{display:flex;align-items:center;gap:11px;color:#fff}
.footer-logo .brand-mark{background:#fff}
.footer-logo .brand-name{display:block;font-family:"Manrope",sans-serif;font-weight:800;letter-spacing:.14em;font-size:15px;color:#fff;line-height:1.1}
.footer-logo .brand-sub{display:block;font-size:9px;letter-spacing:.16em;margin-top:3px;color:#cfcfcf}
.site-footer h3{color:#fff;font-family:"Manrope",sans-serif;font-size:12px;text-transform:uppercase;letter-spacing:.15em;margin:0 0 20px}
.site-footer .footer-link{margin:9px 0;font-size:13px}
.site-footer .footer-link a{color:#c1c1c1}
.site-footer .footer-link a:hover{color:#fff}
.footer-donate{margin-top:16px}
.footer-donate .wp-block-button__link{padding:11px 15px}
.footer-social{display:flex;gap:10px;margin-top:22px}
.footer-social-link{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.22);color:#fff;transition:background .2s ease,border-color .2s ease,color .2s ease}
.footer-social-link:hover{background:var(--gold);border-color:var(--gold);color:#111111}
.site-footer .footer-note{font-size:13px;color:#a9a9a9;line-height:1.7;margin-bottom:10px}.footer-contact-item{margin-bottom:14px}.footer-contact-label{display:block;margin:0 0 3px;font-size:10px;text-transform:uppercase;letter-spacing:.16em;color:var(--gold);font-weight:800}
.footer-bottom{border-top:1px solid rgba(255,255,255,.10);padding:18px 0 22px;display:flex;justify-content:space-between;gap:20px;font-size:11px;color:#8f8f8f}
.footer-bottom p{margin:0}

/* ---- dynamic blocks ---- */
.gyan-block{margin:0}
/* Donate page: when the Stripe Donations plugin is active, its donation box sits in this narrow
   column with its own card frame. Rules that shape that box now ship with that plugin's CSS
   (gyan-stripe-donations/assets/donation.css), since the box itself no longer lives in this theme. */

/* ---- FAQ (core Details block) ---- */
.faq-list .wp-block-details{margin:0}
.faq-list .wp-block-details summary{cursor:pointer}

/* ---- archive / single ---- */
.archive-grid{list-style:none;padding:0;margin:0}
.archive-image{height:auto;margin:0}
.archive-image img{width:100%;height:100%;object-fit:cover}
.archive-copy h2,.archive-copy .wp-block-post-title{font-family:"Playfair Display",serif;font-size:30px;line-height:1.1;margin:0 0 12px}
.wp-block-post-featured-image.single-featured{margin:0 0 45px}
.wp-block-query-pagination{margin-top:40px;gap:16px}
.page-intro .wp-block-post-title,.page-intro .wp-block-query-title{font-family:"Playfair Display",serif;font-size:clamp(46px,6vw,76px);line-height:1.03;letter-spacing:-.035em;color:#fff;margin:0 0 22px;max-width:900px}
.page-intro .wp-block-post-date{font-family:"Manrope",sans-serif;text-transform:uppercase;letter-spacing:.2em;font-size:11px;font-weight:800;color:#ffea00;margin:0 0 15px}
.page-intro .wp-block-post-excerpt{font-size:18px;color:#dbdbdb;max-width:680px}

/* ==========================================================================
   Hero (home page cover block) — one block, editable in the editor.
   The overlay slider in the block toolbar still works: 100% = the designed gradient.
   Overlay rule: the top of the photo gets a LIGHT, even tint (.22) and the overlay only ever gets
   darker going down, so the top is never heavier than the bottom (which carries the text).
   ========================================================================== */
.gyan-hero{
  /* ONE light tint for the top of the photo, used by every screen size (desktop, tablet, phone).
     Change it here and it changes everywhere. Keep it well below the bottom values (.92 / .94). */
  --hero-tint:.22;
  --hero-scrim:linear-gradient(180deg,rgba(5,28,23,var(--hero-tint)) 0%,rgba(5,28,23,var(--hero-tint)) 28%,rgba(0,0,0,.38) 48%,rgba(0,0,0,.78) 66%,rgba(0,0,0,.92) 100%);
  position:relative;overflow:hidden;padding:0;background:#0a0a0a;
}
.gyan-hero .wp-block-cover__image-background{object-position:center center;filter:none}
.gyan-hero .wp-block-cover__background{background:var(--hero-scrim)!important}
.gyan-hero .wp-block-cover__inner-container{
  position:relative;z-index:2;width:100%;min-height:inherit;
  display:flex;align-items:flex-end;justify-content:center;padding:0 24px 104px;
}
.gyan-hero .hero-content{width:min(1180px,100%);margin:0 auto;padding:0;display:flex;flex-direction:column;align-items:center;text-align:center}
.gyan-hero .eyebrow{margin:0 0 14px;color:#ffea00;text-shadow:0 1px 8px rgba(0,0,0,.45)}
.gyan-hero .hero-title{
  width:100%;max-width:none;margin:0 0 22px;
  font-family:'Playfair Display',serif;color:#fff;
  font-size:clamp(40px,27.4px + 3.24vw,74px);line-height:1.02;letter-spacing:-.045em;
  text-wrap:balance;text-shadow:0 3px 18px rgba(0,0,0,.35);
}
.gyan-hero .hero-text{max-width:700px;margin:0 auto;font-size:18px;line-height:1.55;color:#f3f3f3;text-wrap:balance;text-shadow:0 2px 12px rgba(0,0,0,.45)}
.gyan-hero .hero-actions{gap:16px;margin:30px 0 0}
.gyan-hero .hero-actions .wp-block-button__link{min-height:62px;padding:17px 30px;border-radius:12px;font-size:14px;display:inline-flex;align-items:center}
.gyan-hero .hero-actions .is-style-gold .wp-block-button__link{box-shadow:0 12px 30px rgba(255,234,0,.20)}
.gyan-hero .hero-actions .is-style-ghost .wp-block-button__link{background:rgba(0,0,0,.20);backdrop-filter:blur(4px)}
.gyan-hero .hero-actions .is-style-ghost .wp-block-button__link:hover{background:#fff;color:var(--forest)}
@media(max-width:1100px){.gyan-hero .wp-block-cover__inner-container{padding-bottom:88px}}

/* ---- tablet & phone ---- */
@media(max-width:1000px){
  .footer-main{grid-template-columns:1.4fr 1fr 1fr}
  .footer-main>div:last-child{display:none}
  .main-nav .wp-block-navigation__container{gap:16px}
  .nav-inner{gap:16px}
  .brand-copy .brand-tag{display:none}
}
/* WordPress switches the menu to a hamburger at 600px; the original design did it at 860px. Keep that. */
@media(min-width:601px) and (max-width:860px){
  header .main-nav.wp-block-navigation .wp-block-navigation__responsive-container:not(.is-menu-open){display:none}
  header .main-nav.wp-block-navigation .wp-block-navigation__responsive-container-open:not(.always-shown){display:flex}
}
@media(max-width:860px){
  .wp-site-blocks>header.wp-block-template-part{top:0}
  .admin-bar .wp-site-blocks>header.wp-block-template-part{top:0}
  .utility-bar{display:none}
  .nav-inner{min-height:72px}
  .gyan-hero{
    min-height:680px!important;
    /* Phones/tablets: the hero is short and the text starts about a third of the way down, so the light
       tint is held down to 30% (was 22%) — the whole visible upper photo — before the same dark bottom. */
    --hero-scrim:linear-gradient(180deg,rgba(5,28,23,var(--hero-tint)) 0%,rgba(5,28,23,var(--hero-tint)) 30%,rgba(0,0,0,.45) 42%,rgba(0,0,0,.82) 60%,rgba(0,0,0,.94) 100%);
  }
  .gyan-hero .wp-block-cover__inner-container{padding:0 28px 72px}
  .gyan-hero .hero-text{font-size:17px}
  .footer-main{grid-template-columns:1fr 1fr;gap:35px}
  .footer-main>div:last-child{display:block}
}
@media(max-width:600px){
  .nav-actions .gyan-login-link{display:none}
  /* Shorter than the 860px tier above, not taller (this used to be 760px — as tall as
     desktop). object-fit:cover has to enlarge this landscape photo to fill a portrait box,
     and the taller the box, the more it has to be blown up before it's cropped — which is
     what was making it look soft on phones. A shorter box needs less enlargement. */
  .gyan-hero{min-height:560px!important}
  .gyan-hero .wp-block-cover__image-background{object-position:58% center}
  .gyan-hero .wp-block-cover__inner-container{padding:0 20px 58px}
  .gyan-hero .eyebrow{font-size:10px;letter-spacing:.16em}
  .gyan-hero .hero-text{font-size:16px}
  .gyan-hero .hero-actions{width:100%;flex-direction:column;align-items:center;gap:11px;margin-top:25px}
  .gyan-hero .hero-actions .wp-block-button,.gyan-hero .hero-actions .wp-block-button__link{width:min(360px,100%);justify-content:center}
  .gyan-hero .hero-actions .wp-block-button__link{min-height:56px;padding:15px 18px}
  .footer-main{grid-template-columns:1fr;padding-top:60px}
  .footer-bottom{display:block}
  .footer-bottom p+p{margin-top:5px}
  .brand-copy .brand-sub{font-size:9px}
  .brand-copy .brand-name{font-size:15px}
  .brand-mark{width:39px;height:39px}
}
@media(prefers-reduced-motion:reduce){.wp-block-button .wp-block-button__link{transition:none}}

/* ---- mobile menu overlay ----
   The Navigation block's overlay is position:fixed; inset:0. Two header rules broke it:
   1. .site-header has backdrop-filter, and a non-none backdrop-filter makes that element the
      containing block for fixed descendants, so the overlay was sized to the header strip
      instead of the viewport.
   2. The sticky header sets z-index:80, creating a stacking context that caps the overlay's
      own z-index:100000.
   Core adds .has-modal-open to <html> (not <body>) while the overlay is open, so both are
   neutralised only for as long as the menu is showing.
   Belt-and-suspenders: the overlay itself is also pinned directly to the viewport with its
   own explicit fixed/inset/size/z-index. That way it covers the full screen even if some
   other rule (a caching/optimisation plugin, a future header edit) reintroduces a containing
   block or a lower stacking context up the tree — it no longer depends on nothing else on the
   page ever regressing the two causes above. html.has-modal-open{overflow:hidden} is a second,
   redundant scroll-lock alongside core's own, kept for the same reason. */
html.has-modal-open{overflow:hidden}
html.has-modal-open .site-header{backdrop-filter:none;-webkit-backdrop-filter:none}
html.has-modal-open .wp-site-blocks>header.wp-block-template-part{position:static;top:auto;z-index:auto}
.main-nav .wp-block-navigation__responsive-container.is-menu-open{
  position:fixed!important;inset:0!important;width:100vw!important;height:100vh!important;
  height:100dvh!important;margin:0!important;z-index:100000!important;
}
/* Login link inside the mobile menu — assets/mobile-menu.js moves this element to the
   end of the nav's own item list on load, so it appears as a normal row in the open
   overlay menu (same list, same spacing) on every device, not just desktop widths where
   .gyan-login-link in .nav-actions is shown normally. Hidden until JS moves it in, so it
   never shows up stray somewhere else in the header if JS is unavailable. */
.gyan-mobile-login{display:none}
.main-nav .wp-block-navigation__container .gyan-mobile-login{
  display:block;margin-top:6px;
}
.main-nav .wp-block-navigation__container .gyan-mobile-login .gyan-login-link{
  background:var(--forest);color:#fff;border-color:var(--forest);padding:14px 32px;font-size:16px;
}
