:root{--orange:#e96824;--orange-deep:#b83f22;--blue:#123f68;--blue-deep:#092a48;--gold:#dfaa35;--cream:#fff8ee;--ink:#17212b;--muted:#65707a;--white:#fff;--shadow:0 20px 60px rgba(16,45,70,.14)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:"DM Sans",sans-serif;font-size:16px;line-height:1.65;background:#fff}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}.wrap{width:min(1180px,calc(100% - 40px));margin:auto}.skip-link{position:fixed;z-index:100;top:8px;left:8px;background:#fff;padding:10px 14px;transform:translateY(-150%)}.skip-link:focus{transform:none}.welcome-bar{display:none!important}
.site-header{background:rgba(255,251,246,.98);position:sticky;top:0;z-index:100;border-bottom:1px solid rgba(185,81,30,.12);backdrop-filter:blur(14px);box-shadow:0 4px 20px rgba(18,63,104,.04)}.header-brand-row{padding:16px 0 10px;text-align:center;border-bottom:1px solid rgba(185,81,30,.08)}.header-brand-wrap{display:flex;justify-content:center;align-items:center}.site-title{font-family:"Libre Caslon Display",serif;font-size:clamp(1.45rem,2.7vw,2.2rem);color:var(--blue-deep);letter-spacing:.035em;text-decoration:none;line-height:1.2;transition:color .2s ease;display:inline-block}.site-title:hover{color:var(--orange-deep)}.site-title-acronym{color:var(--orange-deep);font-family:"DM Sans",sans-serif;font-weight:700;letter-spacing:.06em;font-size:.86em;margin-left:5px}.header-nav-row{padding:8px 0;position:relative}.header-nav-wrap{display:flex;align-items:center;justify-content:space-between;gap:20px}.site-nav{display:flex;align-items:center;justify-content:center;gap:18px;flex:1}.site-nav a{font-size:.9rem;font-weight:600;white-space:nowrap;color:var(--ink);transition:color .2s ease;padding:6px 2px}.site-nav a:hover,.site-nav a[aria-current=page]{color:var(--orange-deep)}.header-actions{display:flex;gap:8px;align-items:center}.header-actions .button{padding:8px 18px;font-size:.85rem}.brand img,.footer-brand img{width:58px;height:58px;object-fit:cover;border-radius:50%;border:2px solid #ef9a55}.button{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:11px 20px;font-weight:700;font-size:.91rem;line-height:1.2;transition:.2s ease;border:1px solid transparent}.button:hover{transform:translateY(-2px)}.button-light{border-color:#ddcab9}.button-blue{background:var(--blue);color:#fff}.button-orange{background:var(--orange);color:#fff;box-shadow:0 8px 20px rgba(233,104,36,.28)}.menu-button{display:none;background:var(--blue);color:#fff;border:0;border-radius:999px;padding:8px 15px;font-weight:700;font-size:.85rem}
.hero{position:relative;color:#fff;overflow:hidden;display:flex;align-items:center;justify-content:center}
.hero-horizontal-banner{position:relative;width:100%;background:#180603;overflow:hidden;display:flex;justify-content:center;align-items:center;padding:0}
.banner-media{width:100%;position:relative;display:flex;justify-content:center;align-items:center;line-height:0}
.banner-media img{width:100%;max-width:100%;height:auto;aspect-ratio:1672/941;display:block}
.hero-scroll{position:absolute;z-index:4;left:50%;bottom:18px;transform:translateX(-50%);font-size:.78rem;font-weight:700;color:#fff;background:rgba(18,5,2,.68);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:6px 18px;border-radius:999px;border:1px solid rgba(255,255,255,.28);box-shadow:0 4px 15px rgba(0,0,0,.45);white-space:nowrap;transition:all .2s ease}
.hero-scroll:hover{background:rgba(233,104,36,.92);border-color:rgba(255,255,255,.6);color:#fff;transform:translateX(-50%) translateY(-2px)}
.hero-scroll span{padding-left:6px}
.eyebrow,.kicker{text-transform:uppercase;letter-spacing:.18em;font-size:.78rem;font-weight:700;color:var(--orange);margin:0 0 18px}.kicker.light{color:#ffb77d}.section h2{font-family:"Libre Caslon Display",serif;font-weight:400;line-height:1.02;margin:0}.text-link{font-weight:700;border-bottom:1px solid rgba(255,255,255,.5);padding-bottom:4px}
.section{padding:100px 0}.intro{background:var(--cream)}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:end}.section h2{font-size:clamp(2.45rem,4vw,4rem);letter-spacing:-.025em;color:var(--blue-deep)}.intro-copy p{font-size:1.12rem;color:#495863;margin:0 0 22px}.arrow-link{font-weight:700;color:var(--orange-deep);border-bottom:1px solid #eabfa4;padding-bottom:5px}.values{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:70px;background:#eadfd3;border:1px solid #eadfd3}.values article{background:#fff;padding:34px}.values span{color:var(--orange);font-size:.76rem;font-weight:700;letter-spacing:.12em}.values h3{font:400 1.55rem "Libre Caslon Display",serif;color:var(--blue-deep);margin:16px 0 8px}.values p{color:var(--muted);margin:0}
.heading-row{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:44px}.programs{background:#fff}.program-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.program-card{min-height:330px;padding:30px;display:flex;flex-direction:column;border-radius:4px}.program-card.orange{background:#fbe5d4}.program-card.blue{background:#dceaf3}.program-card.gold{background:#f7e8bd}.program-card.cream{background:#f2eee7}.program-icon{font:400 2.5rem "Libre Caslon Display",serif;color:var(--orange-deep)}.program-card h3{font:400 1.55rem/1.2 "Libre Caslon Display",serif;color:var(--blue-deep);margin:42px 0 12px}.program-card p{color:#53616b;margin:0 0 20px}.program-card a{margin-top:auto;color:var(--orange-deep);font-weight:700;font-size:.9rem}
.events{background:var(--blue-deep);color:#fff}.events-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:75px;align-items:center}.event-photo{position:relative}.event-photo img{width:100%;height:520px;object-fit:cover;box-shadow:20px 20px 0 #e66c2f}.event-photo span{position:absolute;bottom:24px;left:24px;background:rgba(7,32,54,.86);padding:8px 13px;font-size:.8rem;text-transform:uppercase;letter-spacing:.12em}.kicker.light{color:#ffb77d}.event-copy h2,.newsletter h2,.join h2{color:#fff}.event-copy>p:not(.kicker){color:#cbd9e3;font-size:1.08rem}.event-list{list-style:none;padding:0;margin:28px 0 34px;border-top:1px solid rgba(255,255,255,.18)}.event-list li{display:grid;grid-template-columns:90px 1fr;gap:12px;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.18)}.event-list span{color:#ffb77d;font-size:.8rem;text-transform:uppercase;letter-spacing:.1em}.event-list strong{font-weight:500}
.gallery{background:#fff}.photo-grid{display:grid;grid-template-columns:1.3fr .7fr .7fr;grid-template-rows:260px 260px;gap:12px}.photo-grid figure{margin:0;position:relative;overflow:hidden;background:#ddd}.photo-grid .photo-main{grid-row:1/3}.photo-grid figure:nth-child(4){grid-column:2/4}.photo-grid img{height:100%;width:100%;object-fit:cover;transition:.45s ease}.photo-grid figure:hover img{transform:scale(1.025)}.photo-grid figcaption{position:absolute;inset:auto 0 0;padding:40px 20px 17px;color:#fff;background:linear-gradient(transparent,rgba(5,28,45,.88));display:flex;justify-content:space-between;align-items:end}.photo-grid figcaption span{font-size:.8rem}.year-strip{display:flex;align-items:center;gap:23px;margin-top:30px;padding:17px 22px;background:var(--cream);overflow-x:auto}.year-strip span{font-weight:700;color:var(--blue);white-space:nowrap}.year-strip a{color:var(--orange-deep);font-weight:700}.year-strip .all-years{margin-left:auto;white-space:nowrap}
.newsletter{padding-top:20px}.newsletter-card{background:linear-gradient(120deg,#174e79,#0a2e4d);display:grid;grid-template-columns:310px 1fr;align-items:center;gap:65px;padding:54px 70px;color:#fff;position:relative;overflow:hidden}.newsletter-card:after{content:"";position:absolute;width:300px;height:300px;border:50px solid rgba(255,255,255,.04);border-radius:50%;right:-80px;top:-100px}.newsletter-mark{height:310px;background:#fff7ed;color:var(--blue-deep);padding:28px;box-shadow:var(--shadow);transform:rotate(-2deg);display:flex;flex-direction:column}.newsletter-mark span{color:var(--orange-deep);font-weight:700;letter-spacing:.13em}.newsletter-mark strong{font:400 4rem/1 "Libre Caslon Display",serif;margin:auto 0 12px}.newsletter-mark small{border-top:4px solid var(--orange);padding-top:13px;font-weight:700;font-size:1rem}.newsletter-copy{position:relative;z-index:2}.newsletter-copy p:not(.kicker){font-size:1.1rem;color:#dbe7ef;max-width:570px}.newsletter-copy>div{display:flex;gap:25px;align-items:center;margin-top:26px}.light-link{color:#fff}
.service{background:var(--cream)}.service-grid{display:grid;grid-template-columns:1fr .9fr;gap:95px;align-items:center}.service-grid>div>p:not(.kicker){color:#56646e;font-size:1.1rem;margin:24px 0 30px}.service blockquote{margin:0;background:#fff;padding:44px;border-left:5px solid var(--orange);box-shadow:var(--shadow)}.service blockquote span{font:400 4.5rem/1 "Libre Caslon Display",serif;color:var(--orange)}.service blockquote p{font:400 1.65rem/1.45 "Libre Caslon Display",serif;color:var(--blue-deep);margin:-20px 0 20px}.service cite{font-style:normal;color:var(--muted);font-size:.86rem;font-weight:700}
.join{background:#fff;padding-top:0}.join-card{background:linear-gradient(115deg,#d95424,#ed7b2d);padding:54px 64px;display:flex;align-items:center;justify-content:space-between;gap:40px;color:#fff}.join h2{font-size:clamp(2.2rem,4vw,3.7rem);max-width:660px}.join-actions{display:flex;gap:10px;flex-shrink:0}.button-white{background:#fff;color:var(--orange-deep)}.button-outline{border-color:rgba(255,255,255,.7);color:#fff}
.footer{background:#071f34;color:#d4e0e8;padding:72px 0 26px}.footer-grid{display:grid;grid-template-columns:1.6fr repeat(3,1fr);gap:60px}.footer-brand img{margin-bottom:17px}.footer-brand strong{display:block;color:#fff;letter-spacing:.12em;font-size:1.25rem}.footer-brand p,.footer p{color:#a9bbc8}.footer h2{font-family:"DM Sans",sans-serif;font-size:.8rem;text-transform:uppercase;letter-spacing:.15em;color:#ffad70;margin:0 0 18px}.footer-grid>div:not(:first-child) a{display:block;margin:7px 0}.footer a:hover{color:#fff}.footer-bottom{margin-top:52px;padding-top:22px;border-top:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between;font-size:.8rem;color:#8fa5b5}
@media(max-width:1080px){.header-nav-wrap{justify-content:space-between}.site-nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fffaf4;padding:18px 24px;box-shadow:0 20px 30px rgba(10,35,55,.15);flex-direction:column;align-items:stretch;border-top:1px solid rgba(185,81,30,.1)}.site-nav.open{display:flex}.site-nav a{font-size:1rem;padding:8px 0}.menu-button{display:block}.program-grid{grid-template-columns:repeat(2,1fr)}.program-card{min-height:280px}.footer-grid{grid-template-columns:1.3fr repeat(3,1fr);gap:28px}}
@media(max-width:760px){.wrap{width:min(100% - 28px,1180px)}.header-brand-row{padding:12px 0 8px}.site-title{font-size:1.22rem;text-align:center}.site-title-acronym{font-size:.8em}.header-actions .button{padding:6px 14px;font-size:.8rem}.brand{min-width:0}.brand img{width:48px;height:48px}.brand strong{font-size:1.15rem}.brand small{font-size:.65rem}.hero-horizontal-banner{width:100%;padding:0}.banner-media img{aspect-ratio:1672/941;max-height:none;height:auto}.section{padding:72px 0}.intro-grid,.events-grid,.service-grid{grid-template-columns:1fr;gap:38px}.values,.program-grid{grid-template-columns:1fr}.values{gap:1px;margin-top:45px}.heading-row{display:block}.heading-row .arrow-link{display:inline-block;margin-top:20px}.events-grid{display:flex;flex-direction:column}.event-photo{width:calc(100% - 16px)}.event-photo img{height:330px;box-shadow:12px 12px 0 #e66c2f}.photo-grid{grid-template-columns:1fr 1fr;grid-template-rows:310px 210px 210px}.photo-grid .photo-main{grid-column:1/3;grid-row:auto}.photo-grid figure:nth-child(4){grid-column:1/3}.newsletter-card{grid-template-columns:1fr;padding:38px 28px;gap:38px}.newsletter-mark{height:220px;max-width:260px}.newsletter-mark strong{font-size:3rem}.newsletter-copy>div{align-items:flex-start;flex-direction:column}.join-card{padding:42px 28px;align-items:flex-start;flex-direction:column}.join-actions{width:100%;flex-direction:column}.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/3}.footer-bottom{align-items:flex-start;gap:14px;flex-direction:column}.year-strip{gap:18px}.year-strip .all-years{margin-left:0}}
@media(max-width:420px){.brand small{display:none}.hero-heading{font-size:1.85rem}.hero-buttons{flex-direction:column;width:100%}.hero-buttons .button{width:100%}.photo-grid{display:block}.photo-grid figure{height:240px;margin-bottom:10px}.program-card{min-height:260px}.footer-grid{grid-template-columns:1fr}.footer-brand{grid-column:auto}}
.inner-main{background:#fff}.inner-hero{position:relative;overflow:hidden;background:linear-gradient(125deg,#9f301b,#e26724 58%,#f59a3b);color:#fff;padding:88px 0 78px}.inner-hero:after{content:"";position:absolute;width:460px;height:460px;border:1px solid rgba(255,255,255,.16);border-radius:50%;right:-90px;top:-210px;box-shadow:0 0 0 65px rgba(255,255,255,.035),0 0 0 130px rgba(255,255,255,.025)}.inner-hero .wrap{position:relative;z-index:2}.inner-hero .kicker{color:#ffe4c5}.inner-hero h1{font:400 clamp(3.2rem,6vw,5.5rem)/1 "Libre Caslon Display",serif;letter-spacing:-.025em;margin:0 0 18px}.inner-hero p:last-child{font-size:1.13rem;max-width:700px;margin:0;color:#fff1e4}.breadcrumbs{font-size:.78rem;text-transform:uppercase;letter-spacing:.14em;margin-bottom:25px;color:#ffe8d1}.breadcrumbs a{border-bottom:1px solid rgba(255,255,255,.5)}.content-section{padding:82px 0}.content-section.tint{background:var(--cream)}.content-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:85px}.content-grid h2,.page-heading{font:400 clamp(2.35rem,4vw,3.8rem)/1.08 "Libre Caslon Display",serif;color:var(--blue-deep);margin:0}.content-grid p,.lead{color:#53616b;font-size:1.06rem}.statement-grid,.info-card-grid,.year-grid,.publication-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.statement-card,.info-card,.year-card,.publication-card{background:#fff;border:1px solid #eadfd3;padding:30px;min-height:220px}.statement-card span,.info-card span{display:block;color:var(--orange);font-weight:700;font-size:.76rem;letter-spacing:.12em;text-transform:uppercase}.statement-card h3,.info-card h3,.year-card h3,.publication-card h3{font:400 1.55rem/1.25 "Libre Caslon Display",serif;color:var(--blue-deep);margin:15px 0 10px}.statement-card p,.info-card p,.publication-card p{margin:0;color:var(--muted)}.history-band{background:var(--blue-deep);color:#fff;padding:65px 0}.history-band .wrap{display:grid;grid-template-columns:220px 1fr;gap:70px;align-items:center}.history-band strong{font:400 5rem/1 "Libre Caslon Display",serif;color:#ffad6f}.history-band h2{font:400 2.5rem/1.15 "Libre Caslon Display",serif;margin:0 0 12px}.history-band p{margin:0;color:#cbdbe5}.page-tabs{display:flex;gap:10px;overflow-x:auto;padding:22px 0}.page-tabs a{white-space:nowrap;border:1px solid #dfcbb8;border-radius:999px;padding:8px 15px;font-weight:700;color:var(--blue);font-size:.86rem}.page-tabs a.active{background:var(--orange);border-color:var(--orange);color:#fff}.schedule-list{border-top:1px solid #e6d7ca}.schedule-item{display:grid;grid-template-columns:145px 1fr auto;gap:28px;align-items:center;padding:25px 0;border-bottom:1px solid #e6d7ca}.schedule-date{color:var(--orange-deep);font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:.84rem}.schedule-item h3{font:400 1.55rem "Libre Caslon Display",serif;color:var(--blue-deep);margin:0 0 3px}.schedule-item p{margin:0;color:var(--muted)}.status-pill{border-radius:99px;background:#edf2f5;color:var(--blue);padding:5px 11px;font-size:.75rem;font-weight:700;white-space:nowrap}.status-pill.upcoming{background:#ffe2c8;color:#99351e}.gallery-feature{display:grid;grid-template-columns:1.35fr .65fr;gap:14px}.gallery-feature img{width:100%;height:510px;object-fit:cover}.gallery-side{display:grid;gap:14px}.gallery-side img{height:248px;width:100%;object-fit:cover}.year-grid{margin-top:36px;grid-template-columns:repeat(5,1fr)}.year-card{min-height:145px;padding:22px;display:flex;flex-direction:column;justify-content:space-between;transition:.2s}.year-card:hover{transform:translateY(-3px);border-color:var(--orange)}.year-card strong{font:400 2rem "Libre Caslon Display",serif;color:var(--blue-deep)}.year-card small{color:var(--muted)}.year-card.current{background:var(--orange);border-color:var(--orange)}.year-card.current strong,.year-card.current small{color:#fff}.publication-card{min-height:290px;display:flex;flex-direction:column}.publication-card .issue{color:var(--orange-deep);font-weight:700;font-size:.8rem;text-transform:uppercase;letter-spacing:.09em}.publication-card .button{margin-top:auto;align-self:flex-start}.service-feature{display:grid;grid-template-columns:1fr 1fr;gap:0;background:var(--blue-deep);color:#fff}.service-feature img{width:100%;height:470px;object-fit:cover}.service-feature>div{padding:58px}.service-feature h2{font:400 3rem/1.08 "Libre Caslon Display",serif;margin:0 0 20px}.service-feature p{color:#d1e0e9}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:55px}.contact-card{background:var(--cream);padding:34px}.contact-card h2,.contact-form h2{font:400 2rem "Libre Caslon Display",serif;color:var(--blue-deep);margin:0 0 18px}.contact-card a{color:var(--orange-deep);font-weight:700}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:15px}.field label{font-weight:700;font-size:.86rem;color:var(--blue-deep)}.field input,.field textarea{font:inherit;border:1px solid #d9c8ba;background:#fff;padding:12px;border-radius:2px}.field textarea{min-height:140px;resize:vertical}.note{font-size:.84rem;color:var(--muted)}
@media(max-width:900px){.statement-grid,.info-card-grid,.publication-grid{grid-template-columns:1fr 1fr}.year-grid{grid-template-columns:repeat(3,1fr)}.content-grid,.contact-grid{grid-template-columns:1fr;gap:35px}.service-feature{grid-template-columns:1fr}.history-band .wrap{grid-template-columns:150px 1fr}}
@media(max-width:620px){.inner-hero{padding:62px 0 55px}.statement-grid,.info-card-grid,.publication-grid{grid-template-columns:1fr}.year-grid{grid-template-columns:repeat(2,1fr)}.history-band .wrap{grid-template-columns:1fr;gap:15px}.history-band strong{font-size:4rem}.schedule-item{grid-template-columns:1fr;gap:5px}.status-pill{justify-self:start;margin-top:7px}.gallery-feature{grid-template-columns:1fr}.gallery-feature img{height:300px}.gallery-side{grid-template-columns:1fr 1fr}.gallery-side img{height:175px}.service-feature img{height:300px}.service-feature>div{padding:36px 27px}.field-grid{grid-template-columns:1fr}}
.site-nav a[aria-current=page]{color:var(--orange-deep)}
.roots-feature{padding:24px 0 90px;background:#fff}.roots-heading{display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:end;margin-bottom:34px}.roots-heading h2{font:400 clamp(2.7rem,5vw,4.8rem)/1.02 "Libre Caslon Display",serif;color:var(--blue-deep);margin:0;max-width:760px}.roots-heading>p{color:#53616b;font-size:1.08rem;margin:0 0 6px}.roots-feature figure{max-width:900px;margin:0 auto;position:relative;padding:12px;background:linear-gradient(135deg,#f28a37,#d6a337 44%,#174b75);box-shadow:var(--shadow)}.roots-feature img{width:100%;height:auto;object-fit:contain;background:#f5e4c7}.roots-feature figcaption{position:absolute;left:12px;right:12px;bottom:12px;padding:44px 24px 18px;color:#fff;background:linear-gradient(transparent,rgba(6,31,52,.88));display:flex;justify-content:space-between;align-items:end;gap:24px}.roots-feature figcaption strong{font:400 1.45rem "Libre Caslon Display",serif}.roots-feature figcaption span{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}
@media(max-width:760px){.roots-feature{padding:10px 0 70px}.roots-heading{grid-template-columns:1fr;gap:20px}.roots-feature figure{padding:7px}.roots-feature figcaption{left:7px;right:7px;bottom:7px;padding:38px 15px 13px;flex-direction:column;align-items:flex-start;gap:2px}.roots-feature figcaption span{font-size:.7rem}}
.leadership-group{margin-top:42px}.leadership-title{display:flex;align-items:baseline;justify-content:space-between;gap:20px;border-bottom:2px solid #eadfd3;padding-bottom:12px;margin-bottom:18px}.leadership-title span{color:var(--orange-deep);font-weight:700;text-transform:uppercase;letter-spacing:.12em;font-size:.76rem}.leadership-title h3{font:400 2rem "Libre Caslon Display",serif;color:var(--blue-deep);margin:0}.leader-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.leader-card{border:1px solid #eadfd3;background:var(--cream);padding:23px;min-height:150px}.leader-card span{display:block;color:var(--orange-deep);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.09em}.leader-card h4{font:400 1.35rem/1.2 "Libre Caslon Display",serif;color:var(--blue-deep);margin:12px 0 7px}.leader-card a,.leader-list a,.trustee-grid a,.invitees a{color:var(--orange-deep);font-weight:700;font-size:.88rem}.leadership-columns{display:grid;grid-template-columns:1fr 1fr;gap:28px}.leader-list,.trustee-grid{list-style:none;padding:0;margin:0;border-top:1px solid #eadfd3}.leader-list li,.trustee-grid li{display:grid;grid-template-columns:1fr auto;gap:6px 18px;padding:12px 2px;border-bottom:1px solid #eadfd3;align-items:center}.leader-list small{grid-column:1;color:var(--muted)}.names-only li{grid-template-columns:1fr}.auditors-title{margin-top:38px}.bot-group{background:var(--blue-deep);padding:34px;color:#fff}.bot-group .leadership-title{border-color:rgba(255,255,255,.2)}.bot-group .leadership-title span{color:#ffad70}.bot-group .leadership-title h3{color:#fff}.bot-group .leader-card{background:#fff;border:0}.trustee-grid{display:grid;grid-template-columns:1fr 1fr;border-color:rgba(255,255,255,.18)}.trustee-grid li{border-color:rgba(255,255,255,.18);padding:15px 10px}.trustee-grid a,.invitees a{color:#ffb57f}.invitees{margin-top:28px;border-top:1px solid rgba(255,255,255,.18);padding-top:24px}.invitees>span{color:#ffad70;text-transform:uppercase;letter-spacing:.11em;font-size:.76rem;font-weight:700}.invitees p{display:inline-block;margin:12px 30px 0 0;color:#fff}
@media(max-width:800px){.leader-grid{grid-template-columns:1fr 1fr}.leadership-columns{grid-template-columns:1fr}.trustee-grid{grid-template-columns:1fr}}
@media(max-width:520px){.leader-grid{grid-template-columns:1fr}.leadership-title{align-items:flex-start;flex-direction:column;gap:3px}.bot-group{padding:25px 18px}.leader-list li,.trustee-grid li{grid-template-columns:1fr}.leader-list a,.trustee-grid a{justify-self:start}}
.purpose-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:36px 0}.purpose-grid article{background:#fff;border:1px solid #eadfd3;padding:24px}.purpose-grid span{color:var(--orange);font-weight:700;letter-spacing:.1em}.purpose-grid p{margin:10px 0 0;color:#53616b}.mission-summary{margin-top:44px}.verified-publication{border-top:5px solid var(--orange)}
.service-timeline{margin-top:35px;border-top:1px solid #dfcdbf}.service-timeline article{display:grid;grid-template-columns:180px 1fr;gap:35px;padding:28px 0;border-bottom:1px solid #dfcdbf}.service-timeline time{color:var(--orange-deep);font-weight:700}.service-timeline h3{font:400 1.55rem "Libre Caslon Display",serif;color:var(--blue-deep);margin:0 0 7px}.service-timeline p{margin:0;color:var(--muted)}
.prayer-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:38px}.prayer-card{border:1px solid #eadfd3;background:var(--cream);padding:26px}.prayer-card span{color:var(--orange-deep);font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700}.prayer-card h2{font:400 1.5rem/1.2 "Libre Caslon Display",serif;color:var(--blue-deep);margin:12px 0 8px}.prayer-card p{color:var(--muted);min-height:52px}.prayer-card audio{width:100%;margin-top:8px}.prayer-note{margin-top:28px;padding:20px;border-left:4px solid var(--orange);background:#fff3e5;color:#53616b}
@media(max-width:800px){.purpose-grid{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.prayer-grid{grid-template-columns:1fr}.prayer-card p{min-height:0}}
@media(max-width:520px){.purpose-grid{grid-template-columns:1fr}.service-timeline article{grid-template-columns:1fr;gap:5px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.impact-section{background:#fff;border-top:1px solid rgba(185,81,30,.12);border-bottom:1px solid rgba(185,81,30,.12);padding:70px 0}
.impact-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:0}
.impact-card{background:var(--cream);border:1px solid #ebd9c8;border-top:4px solid var(--orange);padding:28px 24px;border-radius:4px;box-shadow:0 10px 30px rgba(18,63,104,.05);transition:transform .2s ease,box-shadow .2s ease}
.impact-card:hover{transform:translateY(-3px);box-shadow:0 15px 35px rgba(18,63,104,.1)}
.impact-card .impact-num{display:inline-block;font-size:.82rem;font-weight:700;letter-spacing:.14em;color:var(--orange-deep);margin-bottom:14px}
.impact-card h3{font:400 1.5rem/1.2 "Libre Caslon Display",serif;color:var(--blue-deep);margin:0 0 12px}
.impact-card p{color:#53616b;margin:0;font-size:.96rem;line-height:1.6}
@media(max-width:1024px){.impact-grid{grid-template-columns:repeat(2,1fr);gap:18px}}
@media(max-width:640px){.impact-section{padding:50px 0}.impact-grid{grid-template-columns:1fr;gap:16px}}

/* Scrolling Gallery Images Section */
.gallery-scroll-section{padding:80px 0 90px;background:var(--cream);overflow:hidden;border-bottom:1px solid rgba(185,81,30,.12)}
.gallery-scroll-container{position:relative;width:100%;overflow:hidden;margin-top:28px;mask-image:linear-gradient(to right,transparent 0%,black 5%,black 95%,transparent 100%);-webkit-mask-image:linear-gradient(to right,transparent 0%,black 5%,black 95%,transparent 100%)}
.gallery-track{display:flex;gap:20px;width:max-content;animation:marqueeScroll 32s linear infinite}
.gallery-scroll-container:hover .gallery-track{animation-play-state:paused}
.gallery-slide{flex:0 0 320px;position:relative;border-radius:12px;overflow:hidden;box-shadow:0 12px 30px rgba(18,63,104,.12);background:#1a0e08;transition:transform .3s ease,box-shadow .3s ease}
.gallery-slide:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(18,63,104,.2)}
.gallery-slide img{width:100%;height:230px;object-fit:cover;display:block;transition:transform .4s ease}
.gallery-slide:hover img{transform:scale(1.05)}
.gallery-caption{position:absolute;left:0;right:0;bottom:0;padding:32px 16px 14px;background:linear-gradient(transparent,rgba(9,42,72,.92));color:#fff;display:flex;justify-content:space-between;align-items:end}
.gallery-caption strong{font:400 1.15rem "Libre Caslon Display",serif;color:#fff}
.gallery-caption span{font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:#ffb77d;font-weight:600}
@keyframes marqueeScroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
@media(max-width:760px){.gallery-scroll-section{padding:54px 0}.gallery-slide{flex:0 0 260px}.gallery-slide img{height:190px}}

/* Full-Width Orange Strip Section with Enhanced Centered Look & Feel */
.join{
  background: linear-gradient(135deg, #a73418 0%, #db5b24 38%, #e9702a 70%, #d8521d 100%) !important;
  padding: 90px 0 !important;
  width: 100% !important;
  position: relative !important;
  overflow: hidden !important;
  box-shadow: inset 0 6px 20px rgba(0,0,0,.15), inset 0 -6px 20px rgba(0,0,0,.15);
}
.join::before {
  content: "";
  position: absolute;
  top: -120px;
  right: -80px;
  width: 440px;
  height: 440px;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,.16);
  box-shadow: 0 0 0 45px rgba(255,255,255,.04), 0 0 0 95px rgba(255,255,255,.02);
  pointer-events: none;
}
.join::after {
  content: "";
  position: absolute;
  bottom: -90px;
  left: 8%;
  width: 280px;
  height: 280px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,225,170,.18) 0%, rgba(255,255,255,0) 70%);
  pointer-events: none;
}
.join-card{
  background: transparent !important;
  padding: 0 !important;
  box-shadow: none !important;
  position: relative;
  z-index: 2;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  max-width: 820px !important;
  margin: 0 auto !important;
}
.join-copy{
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.join h2{
  font: 400 clamp(2.4rem, 4.4vw, 3.8rem)/1.12 "Libre Caslon Display", serif !important;
  color: #fff !important;
  margin: 0 auto !important;
  text-shadow: 0 2px 14px rgba(70,16,5,.35);
  max-width: 780px !important;
  text-align: center !important;
}
.join-copy p.kicker{
  color: #ffe3ca !important;
  letter-spacing: .22em !important;
  font-size: .84rem !important;
  font-weight: 700 !important;
  margin-bottom: 14px !important;
  text-align: center !important;
}
.join-copy p.join-subtext{
  color: #ffeada;
  font-size: 1.14rem;
  margin: 16px auto 0;
  max-width: 660px;
  line-height: 1.6;
  text-align: center;
  text-shadow: 0 1px 6px rgba(50,10,0,.2);
}
.join-actions{
  display: flex !important;
  gap: 18px !important;
  align-items: center !important;
  justify-content: center !important;
  margin-top: 32px !important;
  flex-wrap: wrap !important;
}
.join-actions .button{
  padding: 15px 36px !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  border-radius: 999px !important;
  transition: all .25s ease !important;
  letter-spacing: .02em !important;
}
.join-actions .button-white{
  background: #ffffff !important;
  color: #b83f22 !important;
  box-shadow: 0 10px 25px rgba(0,0,0,.22) !important;
  border: 2px solid #ffffff !important;
}
.join-actions .button-white:hover{
  transform: translateY(-3px) scale(1.02) !important;
  box-shadow: 0 16px 32px rgba(0,0,0,.3) !important;
  background: #fff8f3 !important;
}
.join-actions .button-outline{
  background: rgba(255,255,255,.08) !important;
  backdrop-filter: blur(6px) !important;
  -webkit-backdrop-filter: blur(6px) !important;
  color: #ffffff !important;
  border: 2px solid rgba(255,255,255,.85) !important;
  box-shadow: 0 6px 18px rgba(0,0,0,.15) !important;
}
.join-actions .button-outline:hover{
  background: #ffffff !important;
  color: #b83f22 !important;
  transform: translateY(-3px) scale(1.02) !important;
  box-shadow: 0 16px 32px rgba(0,0,0,.28) !important;
}

@media(max-width: 760px){
  .join{padding: 64px 0 !important;}
  .join-actions{flex-direction: column !important; width: 100% !important; gap: 12px !important;}
  .join-actions .button{width: 100% !important; max-width: 320px !important; text-align: center !important;}
}

/* Global Sans-Serif Typography */
body,
h1, h2, h3, h4, h5, h6,
.section h2,
.page-heading,
.inner-hero h1,
.roots-heading h2,
.roots-feature figcaption strong,
.statement-card h3,
.info-card h3,
.year-card h3,
.publication-card h3,
.history-band strong,
.history-band h2,
.schedule-item h3,
.values h3,
.program-card h3,
.program-icon,
.impact-card h3,
.gallery-caption strong,
.photo-grid figcaption strong,
.service blockquote span,
.service blockquote p,
.service-timeline h3,
.prayer-card h2,
.contact-card h2,
.contact-form h2,
.join h2,
.newsletter-mark strong {
  font-family: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
}

/* Refined Sans-Serif Heading Weights & Letter Spacings */
h1, .inner-hero h1 {
  font-weight: 700 !important;
  letter-spacing: -0.02em !important;
}
h2, .section h2, .page-heading, .roots-heading h2, .history-band h2 {
  font-weight: 700 !important;
  letter-spacing: -0.015em !important;
}
h3, .values h3, .statement-card h3, .impact-card h3 {
  font-weight: 700 !important;
  letter-spacing: -0.01em !important;
}
.join h2 {
  font-weight: 700 !important;
  letter-spacing: -0.02em !important;
}

/* Home Page Leadership Section */
.home-leadership{
  background: var(--cream);
  padding: 90px 0 95px;
  position: relative;
  border-top: 1px solid rgba(185,81,30,.12);
}
.home-leadership .section-heading{
  margin-bottom: 28px;
}
.home-leadership .section-heading h2{
  font-size: clamp(2.2rem, 3.8vw, 3.4rem);
  color: var(--blue-deep);
  margin-top: 6px;
}
.home-leadership .leadership-title{
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 20px;
  border-bottom: 2px solid #eadfd3;
  padding-bottom: 12px;
  margin-bottom: 22px;
}
.home-leadership .leadership-title span{
  color: var(--orange-deep);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .12em;
  font-size: .8rem;
}
.home-leadership .leader-grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
.home-leadership .leader-card{
  border: 1px solid #ebd9c8;
  background: #ffffff;
  padding: 26px 24px;
  min-height: 155px;
  border-radius: 4px;
  box-shadow: 0 4px 16px rgba(18,63,104,.03);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
  display: flex;
  flex-direction: column;
}
.home-leadership .leader-card:hover{
  transform: translateY(-3px);
  box-shadow: 0 12px 28px rgba(18,63,104,.08);
  border-color: #dfaa35;
}
.home-leadership .leader-card span{
  display: block;
  color: var(--orange-deep);
  font-size: .75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .11em;
  margin-bottom: 8px;
}
.home-leadership .leader-card h4{
  font-size: 1.38rem;
  font-weight: 700;
  color: var(--blue-deep);
  margin: 0 0 10px;
  line-height: 1.25;
}
.home-leadership .leader-card a{
  color: var(--orange-deep);
  font-weight: 700;
  font-size: .9rem;
  margin-top: auto;
  display: inline-block;
  transition: color .2s ease;
}
.home-leadership .leader-card a:hover{
  color: var(--blue-deep);
}
.home-leadership-footer{
  margin-top: 36px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  background: #ffffff;
  border: 1px solid #ebd9c8;
  border-radius: 4px;
  padding: 20px 28px;
  box-shadow: 0 4px 16px rgba(18,63,104,.03);
}
.home-leadership-footer p{
  margin: 0;
  color: var(--muted);
  font-size: .95rem;
}
.home-leadership-footer p strong{
  color: var(--blue-deep);
}
.home-leadership-footer .button{
  padding: 10px 22px;
  font-size: .88rem;
  white-space: nowrap;
}

@media(max-width: 900px){
  .home-leadership .leader-grid{
    grid-template-columns: repeat(2, 1fr);
  }
}
@media(max-width: 680px){
  .home-leadership{padding: 60px 0;}
  .home-leadership .leader-grid{grid-template-columns: 1fr;}
  .home-leadership-footer{
    flex-direction: column;
    align-items: flex-start;
    padding: 22px;
    gap: 16px;
  }
  .home-leadership-footer .button{width: 100%; text-align: center;}
}

/* Purpose Statement & Founding Principles */
.purpose-statement-box{
  background: #ffffff;
  border: 1px solid #eadfd3;
  border-left: 5px solid var(--orange);
  border-radius: 6px;
  padding: 44px 50px;
  box-shadow: 0 10px 30px rgba(18,63,104,.05);
}
.purpose-lead-text{
  font-size: 1.2rem;
  line-height: 1.7;
  color: var(--blue-deep);
  font-weight: 600;
  margin: 0 0 24px;
}
.purpose-quote-card{
  background: var(--cream);
  border: 1px solid #ebd9c8;
  border-radius: 4px;
  padding: 28px 32px;
  position: relative;
}
.purpose-quote-card p{
  font-size: 1.06rem;
  line-height: 1.8;
  color: #43525e;
  margin: 0;
  font-style: italic;
}
@media(max-width: 760px){
  .purpose-statement-box{padding: 30px 22px; border-left-width: 4px;}
  .purpose-lead-text{font-size: 1.08rem;}
  .purpose-quote-card{padding: 20px;}
  .purpose-quote-card p{font-size: 1rem; line-height: 1.68;}
}

/* Nav Item Dropdown */
.nav-item-dropdown{
  position: relative;
  display: inline-flex;
  align-items: center;
}
.dropdown-toggle,
button.dropdown-toggle{
  display: inline-flex;
  align-items: center;
  gap: 5px;
  cursor: pointer;
  background: transparent;
  border: 0;
  padding: 6px 2px;
  margin: 0;
  font-family: inherit;
  font-size: .9rem;
  font-weight: 600;
  white-space: nowrap;
  color: var(--ink);
  transition: color .2s ease;
  line-height: inherit;
  -webkit-appearance: none;
  appearance: none;
}
.dropdown-toggle:hover,
.dropdown-toggle:focus-visible,
.nav-item-dropdown:hover .dropdown-toggle,
.nav-item-dropdown.open .dropdown-toggle{
  color: var(--orange-deep);
  outline: none;
}
.dropdown-chevron{
  font-size: 0.72rem;
  transition: transform .2s ease;
  display: inline-block;
  line-height: 1;
}
.nav-item-dropdown:hover .dropdown-chevron,
.nav-item-dropdown.open .dropdown-chevron{
  transform: rotate(180deg);
}
.dropdown-menu{
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 210px;
  background: #ffffff;
  border: 1px solid rgba(185,81,30,.18);
  box-shadow: 0 12px 28px rgba(18,63,104,.12);
  border-radius: 8px;
  padding: 8px 0;
  display: none;
  flex-direction: column;
  z-index: 150;
  animation: navDropdownFade .18s ease-out;
}
@keyframes navDropdownFade{
  from{opacity: 0; transform: translateY(6px);}
  to{opacity: 1; transform: translateY(0);}
}
.nav-item-dropdown:hover .dropdown-menu,
.nav-item-dropdown:focus-within .dropdown-menu,
.nav-item-dropdown.open .dropdown-menu{
  display: flex;
}
.dropdown-menu a{
  padding: 10px 18px !important;
  font-size: .88rem !important;
  font-weight: 500 !important;
  color: var(--ink) !important;
  display: block !important;
  text-align: left !important;
  white-space: nowrap;
  transition: all .15s ease;
}
.dropdown-menu a:hover,
.dropdown-menu a:focus{
  background: rgba(233,104,36,.08);
  color: var(--orange-deep) !important;
  padding-left: 22px !important;
}

@media(max-width:1080px){
  .nav-item-dropdown{
    display: flex;
    flex-direction: column;
    align-items: stretch;
    width: 100%;
  }
  .dropdown-toggle{
    justify-content: space-between;
    width: 100%;
    padding: 8px 0 !important;
  }
  .dropdown-menu{
    position: static;
    display: none;
    box-shadow: none;
    border: none;
    background: rgba(233,104,36,.04);
    border-left: 3px solid var(--orange);
    border-radius: 4px;
    padding: 4px 0 6px 12px;
    margin: 4px 0 10px 0;
    min-width: 0;
  }
  .nav-item-dropdown.open .dropdown-menu{
    display: flex;
  }
  .dropdown-menu a{
    padding: 7px 12px !important;
    font-size: .92rem !important;
  }
}

/* Comprehensive Responsiveness Enhancements */
@media (max-width: 1080px) {
  .site-header {
    position: sticky;
    top: 0;
    z-index: 1000;
  }
  .header-brand-row {
    padding: 10px 0;
  }
  .header-nav-wrap {
    gap: 12px;
  }
  .site-nav {
    max-height: calc(100vh - 120px);
    overflow-y: auto;
  }
}

@media (max-width: 760px) {
  .wrap {
    width: calc(100% - 32px);
    max-width: 100%;
  }
  .header-actions {
    gap: 6px;
  }
  .header-actions .button {
    padding: 6px 12px !important;
    font-size: 0.78rem !important;
  }
  .hero-banner-title {
    font-size: 1.05rem;
  }
  .hero-banner-motto {
    font-size: 0.88rem;
  }
  .purpose-statement-box {
    padding: 24px 18px;
    border-left-width: 4px;
  }
  .purpose-lead-text {
    font-size: 1rem;
    line-height: 1.6;
    margin-bottom: 16px;
  }
  .purpose-quote-card {
    padding: 18px 16px;
  }
  .purpose-quote-card p {
    font-size: 0.95rem;
    line-height: 1.6;
  }
  .join-card {
    padding: 30px 16px !important;
  }
  .join h2 {
    font-size: 1.85rem !important;
  }
  .join-copy p.join-subtext {
    font-size: 0.98rem;
  }
  .join-actions {
    width: 100%;
    flex-direction: column;
    gap: 10px !important;
  }
  .join-actions .button {
    width: 100%;
    padding: 13px 20px !important;
    text-align: center;
  }
}

@media (max-width: 480px) {
  .wrap {
    width: calc(100% - 24px);
  }
  .site-title {
    font-size: 1.15rem;
    line-height: 1.25;
  }
  .site-title-acronym {
    font-size: 0.78em;
  }
  .header-actions .button-light {
    display: none;
  }
  .header-actions .button-blue {
    padding: 6px 14px !important;
    font-size: 0.8rem !important;
  }
}

/* Leadership Page Enhancements */
.leadership-year-bar {
  background: rgba(255, 248, 238, 0.96);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-bottom: 1px solid #ebd9c8;
  padding: 16px 0;
  position: relative;
  z-index: 50;
  overflow: visible !important;
}
.leadership-year-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
  overflow: visible !important;
}
.leadership-year-pills {
  display: flex;
  align-items: center;
  gap: 10px;
  overflow: visible !important;
  padding-bottom: 0;
  flex-wrap: wrap;
}
.year-pill-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 18px;
  border-radius: 999px;
  font-size: 0.92rem;
  font-weight: 700;
  text-decoration: none;
  background: #ffffff;
  border: 1.5px solid #dfcbb8;
  color: var(--blue-deep);
  transition: all 0.2s ease;
  white-space: nowrap;
}
.year-pill-btn:hover {
  border-color: var(--orange);
  color: var(--orange-deep);
  transform: translateY(-1px);
}
.year-pill-btn.active {
  background: var(--orange);
  border-color: var(--orange);
  color: #ffffff;
  box-shadow: 0 4px 14px rgba(233,104,36,0.3);
}
.year-pill-btn .current-badge {
  font-size: 0.72rem;
  background: rgba(255,255,255,0.25);
  padding: 2px 7px;
  border-radius: 999px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.more-years-dropdown {
  position: relative;
  display: inline-flex;
  align-items: center;
}
.more-years-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
  padding: 8px 16px;
  font-family: inherit;
  line-height: 1.2;
}
.more-years-btn .more-chevron {
  transition: transform 0.2s ease;
  color: var(--orange-deep);
  stroke-width: 2.6;
}
.more-years-dropdown.open .more-years-btn .more-chevron {
  transform: rotate(180deg);
}
.more-years-menu {
  display: none;
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  min-width: 175px;
  max-height: 250px;
  overflow-y: auto;
  overflow-x: hidden;
  background: #ffffff;
  border: 1px solid #ebd9c8;
  border-radius: 10px;
  padding: 6px;
  box-shadow: 0 10px 30px rgba(18,63,104,0.12);
  z-index: 100;
  scrollbar-width: thin;
  scrollbar-color: #dfcbb8 transparent;
}
.more-years-menu::-webkit-scrollbar {
  width: 6px;
}
.more-years-menu::-webkit-scrollbar-track {
  background: transparent;
}
.more-years-menu::-webkit-scrollbar-thumb {
  background: #dfcbb8;
  border-radius: 10px;
}
.more-years-menu::-webkit-scrollbar-thumb:hover {
  background: var(--orange);
}
.more-years-dropdown.open .more-years-menu {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.more-year-item {
  padding: 8px 14px;
  border-radius: 6px;
  font-size: 0.88rem;
  font-weight: 600;
  color: var(--blue-deep);
  text-decoration: none;
  transition: all 0.15s ease;
  white-space: nowrap;
}
.more-year-item:hover {
  background: var(--cream);
  color: var(--orange-deep);
}
.more-year-item.active {
  background: var(--orange);
  color: #ffffff;
}
.leadership-archive-notice {
  background: #fff8eb;
  border-left: 4px solid var(--orange);
  padding: 14px 20px;
  border-radius: 4px;
  margin-bottom: 28px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}
.leadership-archive-notice p {
  margin: 0;
  font-size: 0.92rem;
  color: #78350f;
}
.leadership-archive-notice a {
  font-weight: 700;
  color: var(--orange-deep);
  text-decoration: underline;
  white-space: nowrap;
}
@media (max-width: 760px) {
  .leadership-year-bar {
    padding: 12px 0;
  }
  .leadership-year-nav {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }
}

/* Premium Warm Styling for Board of Trustees (replacing heavy solid dark blue box) */
.leadership-group.bot-group {
  background: #ffffff !important;
  color: var(--ink) !important;
  padding: 38px 36px !important;
  border-radius: 12px !important;
  border: 1px solid #ebd9c8 !important;
  box-shadow: 0 10px 30px rgba(18,63,104,0.04) !important;
  position: relative !important;
}
.leadership-group.bot-group::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, var(--orange) 0%, #dfaa35 100%);
  border-radius: 12px 12px 0 0;
}
.bot-group .leadership-title {
  border-color: #eadfd3 !important;
}
.bot-group .leadership-title span {
  color: var(--orange-deep) !important;
}
.bot-group .leadership-title h3 {
  color: var(--blue-deep) !important;
}
.bot-group .leader-card.featured {
  background: var(--cream) !important;
  border: 1.5px solid #ebd9c8 !important;
  border-top: 3px solid var(--orange) !important;
  border-radius: 8px !important;
  box-shadow: 0 4px 16px rgba(18,63,104,0.03) !important;
  padding: 24px 26px !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease !important;
}
.bot-group .leader-card.featured:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 12px 26px rgba(18,63,104,0.08) !important;
  border-color: #dfaa35 !important;
}
.bot-group .leader-card.featured span {
  color: var(--orange-deep) !important;
  font-weight: 700 !important;
}
.bot-group .leader-card.featured h4 {
  color: var(--blue-deep) !important;
  font-size: 1.35rem !important;
  margin: 10px 0 8px !important;
}
.bot-group .leader-card.featured a {
  color: var(--orange-deep) !important;
  font-weight: 700 !important;
}
.bot-group .trustee-grid {
  border: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 12px 16px !important;
  list-style: none !important;
  padding: 0 !important;
}
.bot-group .trustee-grid li {
  background: #ffffff !important;
  border: 1px solid #eadfd3 !important;
  border-radius: 8px !important;
  padding: 16px 20px !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  color: var(--ink) !important;
  transition: transform 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease !important;
}
.bot-group .trustee-grid li:hover {
  transform: translateY(-2px) !important;
  border-color: #dfaa35 !important;
  box-shadow: 0 6px 18px rgba(18,63,104,0.06) !important;
}
.bot-group .trustee-grid li strong {
  color: var(--blue-deep) !important;
  font-size: 1.05rem !important;
  font-weight: 700 !important;
}
.bot-group .trustee-grid a {
  color: var(--orange-deep) !important;
  font-weight: 700 !important;
  font-size: 0.9rem !important;
  white-space: nowrap !important;
}
.bot-group .trustee-grid a:hover {
  color: var(--blue-deep) !important;
}
.bot-group .invitees {
  margin-top: 30px !important;
  border-top: 1px dashed #eadfd3 !important;
  padding-top: 22px !important;
  background: var(--cream) !important;
  padding: 20px 24px !important;
  border-radius: 8px !important;
  border: 1px solid #ebd9c8 !important;
}
.bot-group .invitees > span {
  color: var(--orange-deep) !important;
  font-weight: 700 !important;
  font-size: 0.78rem !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  display: block !important;
  margin-bottom: 8px !important;
}
.bot-group .invitees p {
  color: #334155 !important;
  font-size: 0.95rem !important;
}
.bot-group .invitees p strong {
  color: var(--blue-deep) !important;
}
.bot-group .invitees a {
  color: var(--orange-deep) !important;
  font-weight: 700 !important;
}
.bot-group .invitees a:hover {
  color: var(--blue-deep) !important;
}
@media (max-width: 760px) {
  .leadership-group.bot-group {
    padding: 24px 18px !important;
  }
  .bot-group .trustee-grid {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }
  .bot-group .trustee-grid li {
    padding: 14px 16px !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
  }
}

/* ========================================================
   GALLERY PAGE STYLES (Year Filter, Events & Responsive Grids)
   ======================================================== */
.gallery-year-filter-bar {
  background: rgba(255, 248, 238, 0.96);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-bottom: 1px solid #ebd9c8;
  padding: 16px 0;
  position: relative;
  z-index: 50;
  overflow: visible !important;
}
.gallery-year-filter-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
  overflow: visible !important;
}
.gallery-year-pills {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.gallery-pill-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 18px;
  border-radius: 999px;
  font-size: 0.92rem;
  font-weight: 700;
  text-decoration: none;
  background: #ffffff;
  border: 1.5px solid #dfcbb8;
  color: var(--blue-deep);
  transition: all 0.2s ease;
  white-space: nowrap;
}
.gallery-pill-btn:hover {
  border-color: var(--orange);
  color: var(--orange-deep);
  transform: translateY(-1px);
}
.gallery-pill-btn.active {
  background: var(--orange);
  border-color: var(--orange);
  color: #ffffff;
  box-shadow: 0 4px 14px rgba(233,104,36,0.3);
}
.gallery-pill-btn .count-badge {
  font-size: 0.72rem;
  background: rgba(18,63,104,0.08);
  padding: 2px 7px;
  border-radius: 999px;
  font-weight: 700;
}
.gallery-pill-btn.active .count-badge {
  background: rgba(255,255,255,0.25);
  color: #ffffff;
}

/* Year Section Block */
.gallery-year-section {
  padding: 60px 0 20px;
  border-bottom: 1px solid #ebd9c8;
}
.gallery-year-section:last-of-type {
  border-bottom: 0;
}
.gallery-year-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 34px;
  flex-wrap: wrap;
}
.gallery-year-title-wrap {
  display: flex;
  align-items: baseline;
  gap: 16px;
}
.gallery-year-number {
  font-family: "Libre Caslon Display", serif;
  font-size: clamp(2.4rem, 4vw, 3.6rem);
  color: var(--blue-deep);
  line-height: 1;
}
.gallery-year-tag {
  font-size: 0.82rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--orange-deep);
}

/* Event Group Card */
.gallery-event-block {
  background: #ffffff;
  border: 1px solid #ebd9c8;
  border-radius: 12px;
  padding: 32px 32px 36px;
  margin-bottom: 36px;
  box-shadow: 0 8px 24px rgba(18,63,104,0.03);
  position: relative;
  transition: box-shadow 0.25s ease, border-color 0.25s ease;
}
.gallery-event-block:hover {
  box-shadow: 0 14px 34px rgba(18,63,104,0.07);
  border-color: #dfaa35;
}
.gallery-event-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 20px;
  margin-bottom: 24px;
  border-bottom: 1.5px solid #f2e9df;
  padding-bottom: 16px;
  flex-wrap: wrap;
}
.gallery-event-info h3 {
  font-family: "Libre Caslon Display", serif;
  font-size: clamp(1.45rem, 2.2vw, 1.85rem);
  color: var(--blue-deep);
  margin: 0 0 6px;
}
.gallery-event-info p {
  color: #556977;
  margin: 0;
  font-size: 0.98rem;
  max-width: 780px;
}
.gallery-event-date-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: var(--cream);
  border: 1px solid #ebd9c8;
  padding: 6px 14px;
  border-radius: 999px;
  font-size: 0.8rem;
  font-weight: 700;
  color: var(--orange-deep);
  white-space: nowrap;
}

/* Image Grid for Event */
.gallery-images-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}
.gallery-photo-card {
  position: relative;
  border-radius: 8px;
  overflow: hidden;
  background: #111e29;
  box-shadow: 0 4px 14px rgba(18,63,104,0.08);
  aspect-ratio: 4 / 3;
  cursor: pointer;
}
.gallery-photo-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease, filter 0.4s ease;
  display: block;
}
.gallery-photo-card:hover img {
  transform: scale(1.05);
}
.gallery-photo-overlay {
  position: absolute;
  inset: auto 0 0 0;
  padding: 40px 16px 14px;
  background: linear-gradient(transparent, rgba(10,32,53,0.92));
  color: #ffffff;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  pointer-events: none;
  opacity: 0.95;
  transition: opacity 0.25s ease;
}
.gallery-photo-card:hover .gallery-photo-overlay {
  opacity: 1;
}
.gallery-photo-caption {
  font-size: 0.86rem;
  font-weight: 600;
  color: #ffffff;
  line-height: 1.3;
}
.gallery-photo-tag {
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #ffad70;
  white-space: nowrap;
  margin-left: 10px;
}

/* Lightbox Modal */
.gallery-lightbox {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(7, 24, 40, 0.94);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  z-index: 9999;
  align-items: center;
  justify-content: center;
  padding: 24px;
}
.gallery-lightbox.active {
  display: flex;
}
.lightbox-content-box {
  position: relative;
  max-width: 95vw;
  max-height: 90vh;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.lightbox-content-box img {
  max-width: 100%;
  max-height: 78vh;
  object-fit: contain;
  border-radius: 8px;
  box-shadow: 0 20px 60px rgba(0,0,0,0.6);
}
.lightbox-caption-bar {
  margin-top: 14px;
  color: #ffffff;
  font-size: 1rem;
  font-weight: 600;
  text-align: center;
}
.lightbox-close-btn {
  position: absolute;
  top: -46px;
  right: 0;
  background: rgba(255,255,255,0.15);
  border: 1px solid rgba(255,255,255,0.3);
  color: #ffffff;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  font-size: 1.2rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
}
.lightbox-close-btn:hover {
  background: var(--orange);
  border-color: var(--orange);
}

@media (max-width: 900px) {
  .gallery-images-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 640px) {
  .gallery-event-block {
    padding: 20px 18px 24px;
  }
  .gallery-images-grid {
    grid-template-columns: 1fr;
  }
  .gallery-photo-card {
    aspect-ratio: 16 / 10;
  }
  .gallery-year-filter-nav {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* ========================================================
   HEADER & FOOTER SOCIAL MEDIA LINKS (Facebook & YouTube)
   ======================================================== */
.header-social-links {
  display: flex;
  align-items: center;
  gap: 8px;
}
.header-social-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  border: 1px solid rgba(185, 81, 30, 0.22);
  background: #ffffff;
  color: var(--blue-deep);
  transition: all 0.2s ease;
  box-shadow: 0 2px 6px rgba(18, 63, 104, 0.05);
}
.header-social-btn.facebook {
  color: #1877f2;
}
.header-social-btn.youtube {
  color: #ff0000;
}
.header-social-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(18, 63, 104, 0.12);
  border-color: currentColor;
}
.header-social-btn svg {
  width: 17px;
  height: 17px;
  fill: currentColor;
}

/* Footer Social Links */
.footer-social-links {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 14px;
}
.footer-social-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.16);
  color: #cbdbe5;
  transition: all 0.2s ease;
}
.footer-social-btn:hover {
  background: #ffffff;
  transform: translateY(-2px);
}
.footer-social-btn.facebook:hover {
  color: #1877f2;
  border-color: #1877f2;
}
.footer-social-btn.youtube:hover {
  color: #ff0000;
  border-color: #ff0000;
}
.footer-social-btn svg {
  width: 18px;
  height: 18px;
  fill: currentColor;
}

/* ==========================================================================
   ABOUT US PAGE STYLES - MODERN IMMERSIVE HERO
   ========================================================================== */
.about-hero-showcase {
  position: relative;
  min-height: 540px;
  display: flex;
  align-items: center;
  overflow: hidden;
  color: #ffffff;
  padding: 55px 0 75px;
}

.about-hero-backdrop {
  position: absolute;
  inset: 0;
  z-index: 1;
}

.about-hero-bg-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 30%;
  filter: saturate(1.1) brightness(0.85);
  transform: scale(1.03);
  transition: transform 8s ease;
}

.about-hero-showcase:hover .about-hero-bg-img {
  transform: scale(1.08);
}

.about-hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    135deg,
    rgba(14, 5, 2, 0.94) 0%,
    rgba(18, 63, 104, 0.88) 45%,
    rgba(185, 81, 30, 0.72) 100%
  );
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
}

.about-hero-container {
  position: relative;
  z-index: 2;
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto;
  padding: 0;
}

.breadcrumbs-white {
  color: #ffecd9;
  margin-bottom: 22px;
}

.breadcrumbs-white a {
  color: #ffffff;
  border-bottom: 1px solid rgba(255, 255, 255, 0.4);
}

.about-hero-grid {
  display: grid;
  grid-template-columns: 1.25fr 0.75fr;
  gap: 50px;
  align-items: center;
}

.hero-tag-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 14px;
  background: rgba(255, 255, 255, 0.14);
  border: 1px solid rgba(255, 255, 255, 0.28);
  backdrop-filter: blur(10px);
  border-radius: 999px;
  font-size: 0.8rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: #ffb77d;
  margin-bottom: 16px;
}

.pulse-dot {
  width: 8px;
  height: 8px;
  background: #ff7f32;
  border-radius: 50%;
  box-shadow: 0 0 10px #ff7f32;
  animation: pulseLight 2s infinite ease-in-out;
}

@keyframes pulseLight {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.4; transform: scale(1.4); }
}

.about-hero-headline {
  font: 400 clamp(3.2rem, 5.5vw, 4.8rem)/1.02 "Libre Caslon Display", serif;
  color: #ffffff;
  letter-spacing: -0.02em;
  margin: 0 0 8px;
  text-shadow: 0 4px 20px rgba(0, 0, 0, 0.35);
}

.about-hero-sub {
  font-size: 1.15rem;
  font-weight: 600;
  color: #ffd6b0;
  margin: 0 0 16px;
  letter-spacing: 0.02em;
}

.about-hero-desc {
  font-size: 1.08rem;
  line-height: 1.65;
  color: #f1f6f9;
  max-width: 620px;
  margin: 0 0 28px;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
}

.about-hero-actions {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}

.button-outline-glass {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.35);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  color: #ffffff;
  border-radius: 999px;
  padding: 11px 22px;
  font-weight: 700;
  font-size: 0.91rem;
  transition: all 0.2s ease;
}

.button-outline-glass:hover {
  background: rgba(255, 255, 255, 0.25);
  border-color: #ffffff;
  transform: translateY(-2px);
}

/* Glassmorphism Stat Card */
.stat-card-glass {
  background: rgba(14, 30, 48, 0.65);
  border: 1px solid rgba(255, 255, 255, 0.18);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-radius: 16px;
  padding: 34px 30px;
  box-shadow: 0 25px 60px rgba(0, 0, 0, 0.35);
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.stat-item {
  display: flex;
  flex-direction: column;
}

.stat-number {
  font: 400 2.4rem/1 "Libre Caslon Display", serif;
  color: #ffaa6b;
  letter-spacing: 0.02em;
}

.stat-label {
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #c9dae5;
  font-weight: 600;
  margin-top: 4px;
}

.stat-divider {
  height: 1px;
  background: rgba(255, 255, 255, 0.12);
  width: 100%;
}

.stat-footer-text {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #e4edf3;
  font-size: 0.85rem;
  line-height: 1.45;
  padding-top: 6px;
}

.stat-footer-text svg {
  color: #ffaa6b;
  flex-shrink: 0;
}

@media (max-width: 900px) {
  .about-hero-grid {
    grid-template-columns: 1fr;
    gap: 36px;
  }
  .stat-card-glass {
    padding: 26px 22px;
  }
}


.about-purpose-section {
  background: var(--cream);
  padding: 85px 0 95px;
  border-bottom: 1px solid rgba(185, 81, 30, 0.12);
}

.about-heading-center {
  text-align: center;
  max-width: 800px;
  margin: 0 auto 40px;
}

.about-heading-center .kicker {
  margin-bottom: 10px;
}

#vision-mission-purpose h2,
#vision-mission-purpose .home-vision-title,
.about-purpose-section h2.about-main-title,
.about-main-title {
  font-family: "DM Sans", -apple-system, sans-serif !important;
  font-size: clamp(1.15rem, 1.55vw, 1.4rem) !important;
  font-weight: 600 !important;
  letter-spacing: -0.005em !important;
  color: #1e3a58 !important;
  line-height: 1.35 !important;
  max-width: 680px !important;
  margin: 0 !important;
  text-transform: none !important;
}

.about-purpose-section h2.about-main-title,
.about-main-title {
  margin: 0 auto !important;
}

.about-card-wrapper {
  max-width: 960px;
  margin: 0 auto;
  background: #ffffff;
  border-radius: 12px;
  padding: 48px 52px;
  box-shadow: 0 16px 50px rgba(18, 63, 104, 0.07);
  border: 1px solid #ebd9c8;
  position: relative;
}

.about-lead-statement {
  font-size: 1.22rem;
  line-height: 1.7;
  color: #2c3e50;
  margin-bottom: 30px;
  font-weight: 500;
}

.about-lead-statement p {
  margin: 0;
}

.about-quote-box {
  position: relative;
  background: #fff8f0;
  border-left: 5px solid var(--orange);
  border-radius: 0 8px 8px 0;
  padding: 34px 38px;
  margin: 28px 0;
  box-shadow: 0 6px 20px rgba(233, 104, 36, 0.05);
}

.quote-decorative-mark {
  position: absolute;
  top: 6px;
  left: 18px;
  font-family: "Libre Caslon Display", serif;
  font-size: 4.8rem;
  color: rgba(233, 104, 36, 0.2);
  line-height: 1;
  pointer-events: none;
  user-select: none;
}

.about-quote-text {
  font: 400 1.28rem/1.68 "Libre Caslon Display", serif;
  color: var(--blue-deep);
  position: relative;
  z-index: 2;
  font-style: italic;
  letter-spacing: 0.01em;
}

.about-video-action {
  margin-top: 36px;
  padding-top: 24px;
  border-top: 1px solid #ebdcd0;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

.about-fb-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 13px 26px;
  font-size: 0.95rem;
}

/* Tenets Grid */
.about-tenets-section {
  padding: 95px 0;
  background: #ffffff;
}

.about-tenets-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 20px;
}

.tenet-card {
  background: var(--cream);
  border: 1px solid #eadfd3;
  border-top: 4px solid var(--orange);
  border-radius: 8px;
  padding: 32px 28px;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
  display: flex;
  flex-direction: column;
}

.tenet-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 36px rgba(18, 63, 104, 0.1);
  border-top-color: var(--orange-deep);
}

.tenet-icon-num {
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  color: var(--orange-deep);
  margin-bottom: 12px;
}

.tenet-card h3 {
  font: 400 1.55rem/1.25 "Libre Caslon Display", serif;
  color: var(--blue-deep);
  margin: 0 0 12px;
}

.tenet-card p {
  margin: 0;
  color: #556573;
  font-size: 0.98rem;
  line-height: 1.6;
}

/* About CTA */
.about-nav-cta {
  padding: 20px 0 90px;
  background: #ffffff;
}

.about-cta-card {
  background: linear-gradient(120deg, #123f68, #071f34);
  padding: 54px 60px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  color: #ffffff;
  box-shadow: 0 20px 50px rgba(7, 31, 52, 0.18);
  border: 1px solid rgba(255, 255, 255, 0.12);
}

.about-cta-copy h2 {
  font: 400 clamp(2rem, 3.5vw, 3.2rem)/1.15 "Libre Caslon Display", serif;
  margin: 0 0 12px;
  color: #ffffff;
}

.about-cta-copy p:not(.kicker) {
  margin: 0;
  font-size: 1.05rem;
  color: #cbdbe5;
  max-width: 600px;
}

.about-cta-buttons {
  display: flex;
  gap: 12px;
  flex-shrink: 0;
}

@media (max-width: 900px) {
  .about-hero-showcase {
    min-height: auto;
    padding: 40px 0 55px;
  }
  .about-card-wrapper {
    padding: 34px 26px;
  }
  .about-tenets-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .about-cta-card {
    flex-direction: column;
    align-items: flex-start;
    padding: 38px 28px;
    gap: 26px;
  }
  .about-cta-buttons {
    width: 100%;
    flex-direction: column;
  }
}

@media (max-width: 600px) {
  .about-hero-container {
    width: min(100% - 32px, 1180px);
  }
  .about-hero-headline {
    font-size: 2.5rem;
  }
  .about-hero-actions {
    flex-direction: column;
    align-items: stretch;
  }
  .about-hero-actions .button {
    width: 100%;
    justify-content: center;
  }
  .about-lead-statement {
    font-size: 1.05rem;
  }
  .about-quote-box {
    padding: 24px 20px;
  }
  .about-quote-text {
    font-size: 1.12rem;
  }
  .about-tenets-grid {
    grid-template-columns: 1fr;
  }
}

/* ==========================================================================
   PROGRAMS & CLASSES PAGE STYLES
   ========================================================================== */
.programs-hero-showcase {
  position: relative;
  min-height: 520px;
  display: flex;
  align-items: center;
  overflow: hidden;
  color: #ffffff;
  padding: 55px 0 75px;
}

.programs-hero-backdrop {
  position: absolute;
  inset: 0;
  z-index: 1;
}

.programs-hero-bg-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 35%;
  filter: saturate(1.1) brightness(0.85);
  transform: scale(1.02);
  transition: transform 8s ease;
}

.programs-hero-showcase:hover .programs-hero-bg-img {
  transform: scale(1.06);
}

.programs-hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    135deg,
    rgba(14, 5, 2, 0.94) 0%,
    rgba(18, 63, 104, 0.88) 48%,
    rgba(185, 81, 30, 0.72) 100%
  );
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
}

.programs-hero-container {
  position: relative;
  z-index: 2;
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto;
  padding: 0;
}

.programs-hero-grid {
  display: grid;
  grid-template-columns: 1.25fr 0.75fr;
  gap: 50px;
  align-items: center;
}

.programs-hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 14px;
  background: rgba(255, 255, 255, 0.14);
  border: 1px solid rgba(255, 255, 255, 0.28);
  backdrop-filter: blur(10px);
  border-radius: 999px;
  font-size: 0.8rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: #ffb77d;
  margin-bottom: 16px;
}

.programs-hero-headline {
  font: 700 clamp(3.2rem, 5.5vw, 4.6rem)/1.02 "DM Sans", sans-serif;
  color: #ffffff;
  letter-spacing: -0.02em;
  margin: 0 0 8px;
  text-shadow: 0 4px 20px rgba(0, 0, 0, 0.35);
}

.programs-hero-sub {
  font-size: 1.15rem;
  font-weight: 600;
  color: #ffd6b0;
  margin: 0 0 16px;
  letter-spacing: 0.02em;
}

.programs-hero-desc {
  font-size: 1.08rem;
  line-height: 1.65;
  color: #f1f6f9;
  max-width: 620px;
  margin: 0 0 28px;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
}

.programs-hero-actions {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}

/* Glass Card in Programs Hero */
.programs-glass-card {
  background: rgba(14, 30, 48, 0.65);
  border: 1px solid rgba(255, 255, 255, 0.18);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-radius: 16px;
  padding: 32px 28px;
  box-shadow: 0 25px 60px rgba(0, 0, 0, 0.35);
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.pgh-item {
  display: flex;
  flex-direction: column;
}

.pgh-number {
  font: 700 2.2rem/1 "DM Sans", sans-serif;
  color: #ffaa6b;
  letter-spacing: 0.02em;
}

.pgh-label {
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #c9dae5;
  font-weight: 600;
  margin-top: 4px;
}

.pgh-divider {
  height: 1px;
  background: rgba(255, 255, 255, 0.12);
  width: 100%;
}

.pgh-footer {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #e4edf3;
  font-size: 0.84rem;
  line-height: 1.4;
  padding-top: 4px;
}

.pgh-footer svg {
  color: #ffaa6b;
  flex-shrink: 0;
}

/* Sticky Jump Tabs Bar */
.programs-nav-bar {
  background: #ffffff;
  border-bottom: 1px solid rgba(185, 81, 30, 0.12);
  position: sticky;
  top: 72px;
  z-index: 30;
  box-shadow: 0 4px 14px rgba(18, 63, 104, 0.04);
}

.programs-tabs-wrap {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 12px 0;
  overflow-x: auto;
  scrollbar-width: none;
}
.programs-tabs-wrap::-webkit-scrollbar { display: none; }

.programs-tabs-label {
  font-size: 0.82rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--muted);
  white-space: nowrap;
}

.programs-tabs-list {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: nowrap;
}

.programs-tab-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 18px;
  border-radius: 999px;
  font-family: inherit;
  font-size: 0.86rem;
  font-weight: 600;
  color: var(--blue-deep);
  background: var(--cream);
  border: 1px solid #ebd9c8;
  white-space: nowrap;
  cursor: pointer;
  outline: none;
  transition: all 0.2s ease;
}

.programs-tab-btn:hover {
  background: #ffe8d1;
  border-color: var(--orange);
  color: var(--orange-deep);
  transform: translateY(-1px);
}

.programs-tab-btn.active {
  background: var(--orange);
  border-color: var(--orange);
  color: #ffffff;
  box-shadow: 0 4px 12px rgba(233, 104, 36, 0.28);
}

.program-panel-hidden {
  display: none !important;
}

.program-panel-active {
  display: block;
  animation: programPanelFadeIn 0.35s ease forwards;
}

@keyframes programPanelFadeIn {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Sections & Cards */
.programs-section {
  padding: 85px 0 95px;
}

.programs-section-header {
  text-align: center;
  max-width: 760px;
  margin: 0 auto 48px;
}

.programs-section-title {
  font-size: clamp(2.2rem, 3.8vw, 3.2rem);
  letter-spacing: -0.02em;
  color: var(--blue-deep);
  margin: 6px 0 12px;
}

.programs-section-desc {
  font-size: 1.08rem;
  color: #556573;
  margin: 0;
  line-height: 1.65;
}

.programs-cards-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}

.program-feature-card {
  border-radius: 12px;
  padding: 36px 32px;
  border: 1px solid #eadfd3;
  display: flex;
  flex-direction: column;
  box-shadow: 0 10px 30px rgba(18, 63, 104, 0.05);
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.program-feature-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 45px rgba(18, 63, 104, 0.1);
  border-color: var(--orange);
}

.program-feature-card.orange-tint { background: #fffaf5; border-top: 4px solid var(--orange); }
.program-feature-card.blue-tint   { background: #f5f9fc; border-top: 4px solid var(--blue); }
.program-feature-card.gold-tint   { background: #fffcf2; border-top: 4px solid var(--gold); }
.program-feature-card.cream-tint  { background: var(--cream); border-top: 4px solid var(--orange-deep); }
.program-feature-card.white-bg    { background: #ffffff; border-top: 4px solid var(--blue-deep); }

.pcard-icon-wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 22px;
}

.pcard-icon {
  font-size: 2.2rem;
  line-height: 1;
}

.pcard-badge {
  font-size: 0.74rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-weight: 700;
  padding: 4px 10px;
  border-radius: 999px;
  background: rgba(18, 63, 104, 0.08);
  color: var(--blue-deep);
}

.program-feature-card h3 {
  font-size: 1.55rem;
  color: var(--blue-deep);
  margin: 0 0 12px;
}

.program-feature-card p {
  color: #556573;
  font-size: 0.98rem;
  line-height: 1.6;
  margin: 0 0 20px;
}

.pcard-highlights {
  list-style: none;
  padding: 0;
  margin: auto 0 0;
  border-top: 1px dashed rgba(0, 0, 0, 0.08);
  padding-top: 16px;
}

.pcard-highlights li {
  position: relative;
  padding-left: 20px;
  font-size: 0.88rem;
  color: #495863;
  margin-bottom: 8px;
  line-height: 1.45;
}

.pcard-highlights li:last-child { margin-bottom: 0; }

.pcard-highlights li::before {
  content: "✔";
  position: absolute;
  left: 0;
  color: var(--orange-deep);
  font-weight: 700;
  font-size: 0.8rem;
}

/* Featured Devotion / Prayer Showcase Box */
.programs-devotion-banner {
  background: linear-gradient(135deg, #230d06 0%, #3e1708 45%, #180803 100%);
  color: #ffffff;
  padding: 85px 0 95px;
  position: relative;
  overflow: hidden;
  border-top: 1px solid rgba(233, 104, 36, 0.25);
  border-bottom: 1px solid rgba(233, 104, 36, 0.25);
}

.programs-devotion-banner::before {
  content: "";
  position: absolute;
  width: 560px;
  height: 560px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(233, 104, 36, 0.28) 0%, rgba(223, 170, 53, 0.12) 40%, transparent 70%);
  top: -150px;
  right: -100px;
  pointer-events: none;
}

.programs-devotion-banner::after {
  content: "";
  position: absolute;
  width: 400px;
  height: 400px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(223, 170, 53, 0.15) 0%, transparent 70%);
  bottom: -100px;
  left: -80px;
  pointer-events: none;
}

.devotion-showcase-box {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 60px;
  align-items: center;
}

.devotion-title {
  font-size: clamp(2.2rem, 3.8vw, 3.4rem);
  color: #ffffff;
  line-height: 1.15;
  margin: 6px 0 18px;
}

.devotion-body {
  color: #f2dfd0;
  font-size: 1.08rem;
  line-height: 1.68;
}

.devotion-body p {
  margin: 0 0 16px;
}

.devotion-actions {
  margin-top: 26px;
}

/* Prayer Cassette Style Card */
.prayer-cassette-card {
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 200, 150, 0.2);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-radius: 16px;
  padding: 28px;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(233, 104, 36, 0.15);
}

.pcc-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(255, 200, 150, 0.16);
}

.pcc-tag {
  font-size: 0.74rem;
  letter-spacing: 0.14em;
  font-weight: 700;
  color: #ffb77d;
}

.pcc-badge {
  font-size: 0.72rem;
  padding: 3px 8px;
  border-radius: 999px;
  background: rgba(233, 104, 36, 0.25);
  border: 1px solid rgba(255, 183, 125, 0.35);
  color: #ffffff;
}

.pcc-tracks-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.pcc-track-item {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 12px 14px;
  background: rgba(255, 255, 255, 0.07);
  border: 1px solid rgba(255, 200, 150, 0.12);
  border-radius: 8px;
  transition: all 0.2s ease;
}

.pcc-track-item:hover {
  background: rgba(255, 255, 255, 0.14);
  border-color: rgba(255, 183, 125, 0.4);
  transform: translateX(3px);
}

.pcc-track-num {
  font-size: 0.84rem;
  font-weight: 700;
  color: #ffb77d;
  width: 22px;
}

.pcc-track-info {
  flex: 1;
  min-width: 0;
}

.pcc-track-info strong {
  display: block;
  font-size: 0.94rem;
  color: #ffffff;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.pcc-track-info span {
  display: block;
  font-size: 0.76rem;
  color: #e2cbb8;
  margin-top: 2px;
}

.pcc-play-btn {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--orange);
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.75rem;
  padding-left: 2px;
  flex-shrink: 0;
  transition: transform 0.2s ease, background 0.2s ease;
}

.pcc-play-btn:hover {
  background: #ff7f32;
  transform: scale(1.1);
}

.pcc-footer {
  margin-top: 18px;
  padding-top: 12px;
  border-top: 1px solid rgba(255, 200, 150, 0.14);
  text-align: center;
  font-size: 0.78rem;
  color: #dfc3aa;
}

/* Bottom CTA */
.programs-bottom-cta {
  padding: 40px 0 90px;
  background: #ffffff;
}

.programs-cta-card {
  background: linear-gradient(120deg, #123f68, #071f34);
  padding: 50px 56px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 36px;
  color: #ffffff;
  box-shadow: 0 20px 50px rgba(7, 31, 52, 0.16);
  border: 1px solid rgba(255, 255, 255, 0.12);
}

.programs-cta-copy h2 {
  font-size: clamp(1.8rem, 3.2vw, 2.6rem);
  margin: 6px 0 10px;
  color: #ffffff;
}

.programs-cta-copy p {
  margin: 0;
  color: #cbdbe5;
  font-size: 1.02rem;
  max-width: 600px;
}

.programs-cta-buttons {
  display: flex;
  gap: 12px;
  flex-shrink: 0;
}

/* Interactive Prayer Library Page Grid & Track Cards */
.prayer-cards-interactive-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
  gap: 20px;
}

.prayer-track-card {
  background: #ffffff;
  border: 1px solid #ebd9c8;
  border-radius: 10px;
  padding: 24px;
  box-shadow: 0 8px 24px rgba(18, 63, 104, 0.05);
  display: flex;
  flex-direction: column;
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.prayer-track-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 34px rgba(18, 63, 104, 0.1);
  border-color: var(--orange);
}

.ptc-header {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}

.ptc-num {
  font-size: 0.8rem;
  font-weight: 700;
  color: #ffffff;
  background: var(--blue-deep);
  width: 26px;
  height: 26px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.ptc-category {
  font-size: 0.74rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-weight: 700;
  color: var(--orange-deep);
}

.ptc-title {
  font-size: 1.25rem;
  color: var(--blue-deep);
  margin: 0 0 8px;
}

.ptc-meaning {
  font-size: 0.9rem;
  color: #556573;
  line-height: 1.55;
  margin: 0 0 16px;
  flex: 1;
}

.ptc-player-wrap {
  margin-top: auto;
  padding-top: 12px;
  border-top: 1px solid #f1ece4;
}

.ptc-player-wrap audio {
  width: 100%;
  height: 38px;
  outline: none;
}

/* Responsive adjustments for programs */
@media (max-width: 960px) {
  .programs-hero-grid {
    grid-template-columns: 1fr;
    gap: 36px;
  }
  .programs-cards-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .devotion-showcase-box {
    grid-template-columns: 1fr;
    gap: 36px;
  }
  .programs-cta-card {
    flex-direction: column;
    align-items: flex-start;
    padding: 36px 28px;
    gap: 22px;
  }
  .programs-cta-buttons {
    width: 100%;
    flex-direction: column;
  }
}

@media (max-width: 640px) {
  .programs-hero-showcase {
    min-height: auto;
    padding: 40px 0 50px;
  }
  .programs-cards-grid {
    grid-template-columns: 1fr;
  }
  .prayer-cards-interactive-grid {
    grid-template-columns: 1fr;
  }
  .programs-hero-headline {
    font-size: 2.5rem;
  }
  .programs-hero-actions {
    flex-direction: column;
    align-items: stretch;
  }
  .programs-hero-actions .button {
    width: 100%;
    justify-content: center;
  }
  .programs-nav-bar {
    top: 60px;
  }
}

/* ==========================================================================
   EVENTS & CELEBRATIONS PAGE STYLES
   ========================================================================== */
.events-hero-showcase {
  position: relative;
  min-height: 520px;
  display: flex;
  align-items: center;
  overflow: hidden;
  color: #ffffff;
  padding: 55px 0 75px;
}

.events-hero-backdrop {
  position: absolute;
  inset: 0;
  z-index: 1;
}

.events-hero-bg-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 30%;
  filter: saturate(1.15) brightness(0.85);
  transform: scale(1.02);
  transition: transform 8s ease;
}

.events-hero-showcase:hover .events-hero-bg-img {
  transform: scale(1.06);
}

.events-hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    135deg,
    rgba(14, 5, 2, 0.94) 0%,
    rgba(18, 63, 104, 0.88) 48%,
    rgba(185, 81, 30, 0.72) 100%
  );
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
}

.events-hero-container {
  position: relative;
  z-index: 2;
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto;
  padding: 0;
}

.events-hero-grid {
  display: grid;
  grid-template-columns: 1.25fr 0.75fr;
  gap: 50px;
  align-items: center;
}

.events-hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 14px;
  background: rgba(255, 255, 255, 0.14);
  border: 1px solid rgba(255, 255, 255, 0.28);
  backdrop-filter: blur(10px);
  border-radius: 999px;
  font-size: 0.8rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: #ffb77d;
  margin-bottom: 16px;
}

.events-hero-headline {
  font: 700 clamp(3.2rem, 5.5vw, 4.6rem)/1.02 "DM Sans", sans-serif;
  color: #ffffff;
  letter-spacing: -0.02em;
  margin: 0 0 8px;
  text-shadow: 0 4px 20px rgba(0, 0, 0, 0.35);
}

.events-hero-sub {
  font-size: 1.15rem;
  font-weight: 600;
  color: #ffd6b0;
  margin: 0 0 16px;
  letter-spacing: 0.02em;
}

.events-hero-desc {
  font-size: 1.08rem;
  line-height: 1.65;
  color: #f1f6f9;
  max-width: 620px;
  margin: 0 0 28px;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
}

.events-hero-actions {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}

/* Glass Card in Events Hero */
.events-glass-card {
  background: rgba(14, 30, 48, 0.65);
  border: 1px solid rgba(255, 255, 255, 0.18);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-radius: 16px;
  padding: 30px 26px;
  box-shadow: 0 25px 60px rgba(0, 0, 0, 0.35);
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.egh-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.egh-pill {
  font-size: 0.74rem;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-weight: 700;
  padding: 4px 10px;
  border-radius: 999px;
  background: rgba(233, 104, 36, 0.25);
  border: 1px solid rgba(255, 170, 107, 0.35);
  color: #ffb77d;
}

.egh-year {
  font-size: 0.85rem;
  font-weight: 700;
  color: #cbdbe5;
}

.egh-next-event .egh-date {
  font-size: 0.85rem;
  font-weight: 700;
  color: #ffaa6b;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  display: block;
  margin-bottom: 6px;
}

.egh-next-event h3 {
  font-size: 1.35rem;
  color: #ffffff;
  margin: 0 0 8px;
  line-height: 1.25;
}

.egh-next-event p {
  font-size: 0.88rem;
  color: #c9dae5;
  line-height: 1.5;
  margin: 0;
}

.egh-divider {
  height: 1px;
  background: rgba(255, 255, 255, 0.12);
  width: 100%;
}

.egh-stats-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  text-align: center;
}

.egh-stats-row strong {
  display: block;
  font-size: 1.25rem;
  color: #ffaa6b;
}

.egh-stats-row small {
  display: block;
  font-size: 0.72rem;
  color: #cbdbe5;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-top: 2px;
}

/* Sticky Jump Tabs Bar for Events */
.events-nav-bar {
  background: #ffffff;
  border-bottom: 1px solid rgba(185, 81, 30, 0.12);
  position: sticky;
  top: 72px;
  z-index: 30;
  box-shadow: 0 4px 14px rgba(18, 63, 104, 0.04);
}

.events-tabs-wrap {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 12px 0;
  overflow-x: auto;
  scrollbar-width: none;
}
.events-tabs-wrap::-webkit-scrollbar { display: none; }

.events-tabs-label {
  font-size: 0.82rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--muted);
  white-space: nowrap;
}

.events-tabs-list {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: nowrap;
}

.events-tab-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 18px;
  border-radius: 999px;
  font-size: 0.86rem;
  font-weight: 600;
  color: var(--blue-deep);
  background: var(--cream);
  border: 1px solid #ebd9c8;
  white-space: nowrap;
  transition: all 0.2s ease;
}

.events-tab-btn:hover {
  background: #ffe8d1;
  border-color: var(--orange);
  color: var(--orange-deep);
  transform: translateY(-1px);
}

.events-tab-btn.active {
  background: var(--orange);
  border-color: var(--orange);
  color: #ffffff;
  box-shadow: 0 4px 12px rgba(233, 104, 36, 0.28);
}

/* General Events Section */
.events-section {
  padding: 85px 0 95px;
}

.events-section-header {
  text-align: center;
  max-width: 760px;
  margin: 0 auto 48px;
}

.events-section-title {
  font-size: clamp(2.2rem, 3.8vw, 3.2rem);
  letter-spacing: -0.02em;
  color: var(--blue-deep);
  margin: 6px 0 12px;
}

.events-section-desc {
  font-size: 1.08rem;
  color: #556573;
  margin: 0;
  line-height: 1.65;
}

/* Timeline Cards Container */
.events-timeline-container {
  display: flex;
  flex-direction: column;
  gap: 20px;
  max-width: 980px;
  margin: 0 auto;
}

.timeline-event-card {
  display: grid;
  grid-template-columns: 140px 1fr;
  background: #ffffff;
  border: 1px solid #ebd9c8;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(18, 63, 104, 0.05);
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.timeline-event-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 18px 45px rgba(18, 63, 104, 0.1);
  border-color: var(--orange);
}

.timeline-event-card.featured {
  border-left: 5px solid var(--orange);
}

.timeline-event-card.jubilee-highlight {
  border-left: 5px solid #dfaa35;
  background: #fffdf9;
}

.tec-date-badge {
  background: #f8fafc;
  border-right: 1px solid #ebd9c8;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 24px 16px;
  text-align: center;
}

.tec-date-badge.orange {
  background: #fff7ed;
  border-color: #ffd8be;
}

.tec-month {
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  color: var(--orange-deep);
}

.tec-day {
  font: 700 2.6rem/1 "DM Sans", sans-serif;
  color: var(--blue-deep);
  margin: 4px 0;
}

.tec-day-name {
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: var(--muted);
}

.tec-content {
  padding: 28px 32px;
  display: flex;
  flex-direction: column;
}

.tec-meta {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 10px;
}

.tec-status {
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  padding: 3px 10px;
  border-radius: 999px;
}

.tec-status.upcoming {
  background: #ffe8d6;
  color: #b83f22;
}

.tec-status.jubilee {
  background: #fef3c7;
  color: #92400e;
  border: 1px solid #fde68a;
}

.tec-category {
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--muted);
}

.tec-content h3 {
  font-size: 1.55rem;
  color: var(--blue-deep);
  margin: 0 0 10px;
  line-height: 1.25;
}

.tec-content p {
  color: #556573;
  font-size: 0.98rem;
  line-height: 1.6;
  margin: 0 0 18px;
}

.tec-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: auto;
  padding-top: 14px;
  border-top: 1px solid #f1ece4;
}

.tec-location {
  font-size: 0.85rem;
  color: #64748b;
  font-weight: 500;
}

.tec-link {
  font-size: 0.88rem;
  font-weight: 700;
  color: var(--orange-deep);
  transition: color 0.2s ease;
}

.tec-link:hover {
  color: var(--blue-deep);
}

/* Silver Jubilee Spotlight Banner */
.jubilee-milestone-banner {
  background: linear-gradient(135deg, #092a48 0%, #051624 100%);
  color: #ffffff;
  padding: 85px 0 95px;
  position: relative;
  overflow: hidden;
}

.jubilee-milestone-banner::before {
  content: "";
  position: absolute;
  width: 600px;
  height: 600px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(223, 170, 53, 0.16) 0%, transparent 70%);
  top: -150px;
  right: -100px;
  pointer-events: none;
}

.jubilee-spotlight-box {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 55px;
  align-items: center;
}

.jubilee-heading {
  font-size: clamp(2.3rem, 4vw, 3.6rem);
  color: #ffffff;
  line-height: 1.12;
  margin: 6px 0 16px;
}

.jubilee-date-tag {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(223, 170, 53, 0.18);
  border: 1px solid rgba(223, 170, 53, 0.45);
  color: #fed7aa;
  padding: 6px 16px;
  border-radius: 999px;
  font-size: 0.88rem;
  font-weight: 600;
  margin-bottom: 20px;
}

.jubilee-body {
  color: #cbdbe5;
  font-size: 1.08rem;
  line-height: 1.68;
  margin: 0 0 26px;
}

.jubilee-pillars-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-bottom: 30px;
  padding: 18px 0;
  border-top: 1px solid rgba(255, 255, 255, 0.14);
  border-bottom: 1px solid rgba(255, 255, 255, 0.14);
}

.jpr-item strong {
  display: block;
  font-size: 1.1rem;
  color: #ffc977;
}

.jpr-item span {
  display: block;
  font-size: 0.76rem;
  color: #cbdbe5;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-top: 3px;
}

.jubilee-actions {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}

.jubilee-photo-frame {
  position: relative;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 25px 60px rgba(0, 0, 0, 0.45);
  border: 2px solid rgba(223, 170, 53, 0.35);
}

.jubilee-photo-frame img {
  width: 100%;
  height: 380px;
  object-fit: cover;
  display: block;
}

.jubilee-photo-badge {
  position: absolute;
  bottom: 16px;
  left: 16px;
  background: rgba(9, 42, 72, 0.88);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  padding: 8px 16px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  color: #ffffff;
  font-size: 0.82rem;
  font-weight: 700;
}

/* Past Events Grid */
.events-past-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(290px, 1fr));
  gap: 20px;
  max-width: 1140px;
  margin: 0 auto;
}

.past-event-card {
  background: #ffffff;
  border: 1px solid #ebd9c8;
  border-radius: 10px;
  padding: 26px 24px;
  display: flex;
  flex-direction: column;
  box-shadow: 0 8px 24px rgba(18, 63, 104, 0.04);
}

.pec-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
}

.pec-date {
  font-size: 0.82rem;
  font-weight: 700;
  color: var(--blue);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.past-event-card h3 {
  font-size: 1.3rem;
  color: var(--blue-deep);
  margin: 0 0 10px;
  line-height: 1.28;
}

.past-event-card p {
  color: #556573;
  font-size: 0.94rem;
  line-height: 1.55;
  margin: 0 0 16px;
  flex: 1;
}

.pec-tag {
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--muted);
  border-top: 1px dashed rgba(0, 0, 0, 0.08);
  padding-top: 10px;
  display: block;
}

/* Annual Traditions Grid */
.annual-traditions-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.tradition-card {
  background: #ffffff;
  border: 1px solid #ebd9c8;
  border-radius: 12px;
  padding: 32px 28px;
  box-shadow: 0 10px 30px rgba(18, 63, 104, 0.04);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.tradition-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 16px 40px rgba(18, 63, 104, 0.1);
  border-color: var(--orange);
}

.tradition-card.spring   { border-top: 4px solid #22c55e; }
.tradition-card.summer   { border-top: 4px solid var(--orange); }
.tradition-card.fall     { border-top: 4px solid #f59e0b; }
.tradition-card.devotion { border-top: 4px solid var(--blue); }
.tradition-card.festival { border-top: 4px solid #ec4899; }
.tradition-card.family   { border-top: 4px solid #06b6d4; }

.tradition-icon-wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 18px;
}

.tradition-icon {
  font-size: 2rem;
  line-height: 1;
}

.tradition-season {
  font-size: 0.74rem;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-weight: 700;
  padding: 3px 10px;
  border-radius: 999px;
  background: var(--cream);
  color: var(--blue-deep);
  border: 1px solid #ebd9c8;
}

.tradition-card h3 {
  font-size: 1.45rem;
  color: var(--blue-deep);
  margin: 0 0 10px;
}

.tradition-card p {
  color: #556573;
  font-size: 0.96rem;
  line-height: 1.6;
  margin: 0;
}

/* Events Bottom CTA */
.events-bottom-cta {
  padding: 40px 0 90px;
  background: #ffffff;
}

.events-cta-card {
  background: linear-gradient(120deg, #123f68, #071f34);
  padding: 50px 56px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 36px;
  color: #ffffff;
  box-shadow: 0 20px 50px rgba(7, 31, 52, 0.16);
  border: 1px solid rgba(255, 255, 255, 0.12);
}

.events-cta-copy h2 {
  font-size: clamp(1.8rem, 3.2vw, 2.6rem);
  margin: 6px 0 10px;
  color: #ffffff;
}

.events-cta-copy p {
  margin: 0;
  color: #cbdbe5;
  font-size: 1.02rem;
  max-width: 600px;
}

.events-cta-actions {
  display: flex;
  gap: 12px;
  flex-shrink: 0;
}

/* Responsive Rules for Events */
@media (max-width: 960px) {
  .events-hero-grid {
    grid-template-columns: 1fr;
    gap: 36px;
  }
  .jubilee-spotlight-box {
    grid-template-columns: 1fr;
    gap: 36px;
  }
  .annual-traditions-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .events-cta-card {
    flex-direction: column;
    align-items: flex-start;
    padding: 36px 28px;
    gap: 22px;
  }
  .events-cta-actions {
    width: 100%;
    flex-direction: column;
  }
}

@media (max-width: 640px) {
  .events-hero-showcase {
    min-height: auto;
    padding: 40px 0 50px;
  }
  .timeline-event-card {
    grid-template-columns: 1fr;
  }
  .tec-date-badge {
    border-right: none;
    border-bottom: 1px solid #ebd9c8;
    padding: 16px;
    flex-direction: row;
    gap: 12px;
  }
  .tec-day {
    font-size: 1.8rem;
    margin: 0;
  }
  .tec-content {
    padding: 22px 20px;
  }
  .events-hero-headline {
    font-size: 2.5rem;
  }
  .events-hero-actions {
    flex-direction: column;
    align-items: stretch;
  }
  .events-hero-actions .button {
    width: 100%;
    justify-content: center;
  }
  .annual-traditions-grid {
    grid-template-columns: 1fr;
  }
  .jubilee-pillars-row {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .events-nav-bar {
    top: 60px;
  }
}

/* ========================================================
   NEWSLETTERS & PUBLICATIONS PAGE STYLING
   ======================================================== */

.newsletters-page {
  background: #fdfaf6;
}

/* 1. Hero Showcase */
.news-hero-showcase {
  background: var(--blue-deep);
  padding: 40px 0 30px;
  position: relative;
  overflow: hidden;
}

.news-hero-container {
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto;
}

.news-hero-banner {
  background-size: cover;
  background-position: center center;
  border-radius: 18px;
  padding: 60px 54px;
  position: relative;
  box-shadow: 0 20px 50px rgba(7, 28, 48, 0.28);
  border: 1px solid rgba(255, 255, 255, 0.14);
}

.news-hero-content {
  position: relative;
  z-index: 2;
  max-width: 780px;
}

.news-hero-badge {
  display: inline-flex;
  align-items: center;
  background: rgba(233, 104, 36, 0.25);
  border: 1px solid rgba(233, 104, 36, 0.55);
  color: #ffbc85;
  padding: 6px 16px;
  border-radius: 999px;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 18px;
}

.news-hero-title {
  font-family: 'Libre Caslon Display', serif;
  font-size: clamp(2.3rem, 4.4vw, 3.4rem);
  color: #ffffff;
  line-height: 1.15;
  margin: 0 0 16px;
  text-shadow: 0 2px 14px rgba(0,0,0,0.3);
}

.news-hero-desc {
  font-size: 1.12rem;
  color: #dbe7ef;
  line-height: 1.7;
  margin: 0 0 28px;
  max-width: 700px;
}

.news-hero-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.news-hero-tag {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(255, 255, 255, 0.12);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(255, 255, 255, 0.2);
  color: #ffffff;
  font-size: 0.85rem;
  font-weight: 600;
  padding: 8px 16px;
  border-radius: 999px;
}

.news-hero-tag svg {
  color: #ffbc85;
}

/* 2. Sticky Quick Navigation Tabs */
.news-tabs-bar {
  position: sticky;
  top: 72px;
  z-index: 90;
  background: rgba(255, 251, 246, 0.98);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(185, 81, 30, 0.15);
  box-shadow: 0 4px 18px rgba(18, 63, 104, 0.06);
}

.news-tabs-container {
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto;
}

.news-tabs-track {
  display: flex;
  gap: 8px;
  padding: 10px 0;
  overflow-x: auto;
  scrollbar-width: none;
}

.news-tabs-track::-webkit-scrollbar {
  display: none;
}

.news-tab-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 20px;
  border-radius: 999px;
  font-size: 0.88rem;
  font-weight: 700;
  color: var(--ink);
  background: transparent;
  border: 1px solid transparent;
  transition: all 0.2s ease;
  white-space: nowrap;
  text-decoration: none;
}

.news-tab-btn:hover {
  background: rgba(233, 104, 36, 0.08);
  color: var(--orange-deep);
}

.news-tab-btn.active {
  background: var(--blue-deep);
  color: #ffffff;
  box-shadow: 0 4px 14px rgba(7, 28, 48, 0.18);
}

.news-tab-btn.active svg {
  color: #ffbc85;
}

/* 3. Featured Newsletter Showcase */
.featured-newsletter-showcase {
  background: #ffffff;
  border: 1px solid #ebd9c8;
  border-radius: 16px;
  box-shadow: 0 16px 40px rgba(18, 63, 104, 0.08);
  padding: 44px 48px;
  margin-bottom: 48px;
  position: relative;
  overflow: hidden;
}

.featured-newsletter-showcase::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 5px;
  background: linear-gradient(90deg, var(--orange) 0%, #dfaa35 100%);
}

.featured-news-layout {
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 48px;
  align-items: center;
}

/* Visual Issue Card */
.news-cover-card {
  background: linear-gradient(135deg, #0d385f 0%, #071f36 100%);
  border-radius: 12px;
  padding: 28px 24px;
  color: #ffffff;
  display: flex;
  flex-direction: column;
  box-shadow: 12px 16px 36px rgba(7, 28, 48, 0.26);
  border: 1px solid rgba(255, 255, 255, 0.15);
  position: relative;
  overflow: hidden;
  min-height: 380px;
}

.news-cover-card::after {
  content: "";
  position: absolute;
  top: -30px;
  right: -30px;
  width: 120px;
  height: 120px;
  background: radial-gradient(circle, rgba(233, 104, 36, 0.3) 0%, transparent 70%);
  border-radius: 50%;
}

.news-cover-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #ffbc85;
  font-weight: 700;
  margin-bottom: 24px;
}

.news-cover-emblem {
  text-align: center;
  margin-bottom: 20px;
}

.news-cover-emblem img {
  width: 68px;
  height: 68px;
  border-radius: 50%;
  border: 3px solid #ffbc85;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3);
}

.news-cover-body {
  text-align: center;
  margin: auto 0;
}

.news-cover-body h3 {
  font-family: 'Libre Caslon Display', serif;
  font-size: 1.6rem;
  letter-spacing: 0.05em;
  color: #ffffff;
  margin: 0 0 8px;
  line-height: 1.15;
}

.cover-period {
  font-size: 0.94rem;
  color: #ffbc85;
  font-weight: 700;
  margin: 0 0 14px;
}

.cover-decor-line {
  width: 50px;
  height: 2px;
  background: #ffbc85;
  margin: 0 auto 12px;
}

.cover-tagline {
  font-size: 0.76rem;
  color: #cbd9e3;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin: 0;
}

.news-cover-footer {
  display: flex;
  justify-content: space-between;
  border-top: 1px solid rgba(255, 255, 255, 0.16);
  padding-top: 14px;
  font-size: 0.75rem;
  color: #a0aec0;
}

/* Information Column */
.news-meta-pill-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 16px;
}

.news-pill-status {
  background: #ecfdf5;
  border: 1px solid #a7f3d0;
  color: #047857;
  font-size: 0.78rem;
  font-weight: 700;
  padding: 4px 12px;
  border-radius: 999px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.news-pill-date {
  background: #fff7ed;
  border: 1px solid #fed7aa;
  color: #c2410c;
  font-size: 0.78rem;
  font-weight: 700;
  padding: 4px 12px;
  border-radius: 999px;
}

.news-pill-size {
  background: #f1f5f9;
  border: 1px solid #cbd5e1;
  color: #475569;
  font-size: 0.78rem;
  font-weight: 600;
  padding: 4px 12px;
  border-radius: 999px;
}

.featured-news-heading {
  font-family: 'Libre Caslon Display', serif;
  font-size: clamp(1.8rem, 3vw, 2.3rem);
  color: var(--blue-deep);
  margin: 0 0 14px;
  line-height: 1.2;
}

.featured-news-lead {
  font-size: 1.05rem;
  line-height: 1.7;
  color: #43525e;
  margin: 0 0 24px;
}

.news-highlights-box {
  background: var(--cream);
  border: 1px solid #ebd9c8;
  border-left: 4px solid var(--orange);
  border-radius: 8px;
  padding: 22px 24px;
  margin-bottom: 28px;
}

.highlights-title {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.96rem;
  font-weight: 700;
  color: var(--blue-deep);
  margin: 0 0 14px;
}

.highlights-title svg {
  color: var(--orange);
}

.highlights-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.highlights-list li {
  font-size: 0.92rem;
  line-height: 1.5;
  color: #334155;
  display: flex;
  flex-direction: column;
}

.highlights-list li strong {
  color: var(--blue-deep);
}

.featured-news-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  align-items: center;
}

.news-download-btn {
  gap: 10px;
  box-shadow: 0 8px 24px rgba(233, 104, 36, 0.35);
}

/* Secondary Newsletter Cards Grid */
.news-cards-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}

.news-interactive-card {
  background: #ffffff;
  border: 1px solid #ebd9c8;
  border-radius: 14px;
  padding: 34px 28px;
  display: flex;
  flex-direction: column;
  box-shadow: 0 10px 28px rgba(18, 63, 104, 0.05);
  transition: all 0.25s ease;
  position: relative;
}

.news-interactive-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 36px rgba(18, 63, 104, 0.1);
  border-color: #dfc1aa;
}

.news-interactive-card.highlight-card {
  border-top: 4px solid var(--orange);
}

.card-icon-bubble {
  width: 52px;
  height: 52px;
  border-radius: 12px;
  background: #fff7ed;
  border: 1px solid #fed7aa;
  color: var(--orange-deep);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 20px;
}

.card-icon-bubble.gold {
  background: #fefce8;
  border-color: #fef08a;
  color: #ca8a04;
}

.card-kicker {
  font-size: 0.76rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--orange-deep);
  margin-bottom: 6px;
}

.news-interactive-card h3 {
  font-family: 'Libre Caslon Display', serif;
  font-size: 1.35rem;
  color: var(--blue-deep);
  margin: 0 0 12px;
  line-height: 1.25;
}

.news-interactive-card p {
  font-size: 0.94rem;
  line-height: 1.65;
  color: #43525e;
  margin: 0 0 24px;
  flex: 1;
}

.card-status-badge span {
  display: inline-block;
  background: #fef3c7;
  color: #92400e;
  border: 1px solid #fde68a;
  padding: 6px 14px;
  border-radius: 999px;
  font-size: 0.8rem;
  font-weight: 700;
}

/* 4. Publications & Souvenir Books */
.publications-grid {
  display: flex;
  flex-direction: column;
  gap: 32px;
}

.publication-book-card {
  background: #ffffff;
  border: 1px solid #ebd9c8;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 12px 32px rgba(18, 63, 104, 0.06);
  position: relative;
  transition: all 0.25s ease;
}

.publication-book-card:hover {
  box-shadow: 0 20px 45px rgba(18, 63, 104, 0.12);
}

.book-badge-ribbon {
  position: absolute;
  top: 20px;
  right: 24px;
  background: #eff6ff;
  border: 1px solid #bfdbfe;
  color: #1e40af;
  font-size: 0.78rem;
  font-weight: 700;
  padding: 4px 14px;
  border-radius: 999px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  z-index: 5;
}

.book-badge-ribbon.jubilee {
  background: #fef3c7;
  border-color: #fde68a;
  color: #92400e;
}

.book-badge-ribbon.neutral {
  background: #f1f5f9;
  border-color: #cbd5e1;
  color: #475569;
}

.book-card-layout {
  display: grid;
  grid-template-columns: 80px 1fr;
}

.book-visual-spine {
  background: linear-gradient(180deg, #1e3a5f 0%, #0d2137 100%);
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px 0;
  border-right: 3px solid rgba(0, 0, 0, 0.2);
  position: relative;
}

.book-visual-spine.jubilee {
  background: linear-gradient(180deg, #b45309 0%, #78350f 100%);
}

.book-visual-spine.neutral {
  background: linear-gradient(180deg, #475569 0%, #1e293b 100%);
}

.spine-texture {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  height: 100%;
}

.spine-title {
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  color: #ffbc85;
  text-transform: uppercase;
}

.spine-logo {
  font-size: 1.4rem;
  color: #dfaa35;
  margin-top: 16px;
}

.book-content-body {
  padding: 38px 44px;
}

.book-category {
  display: inline-block;
  font-size: 0.8rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--orange-deep);
  margin-bottom: 8px;
}

.book-title {
  font-family: 'Libre Caslon Display', serif;
  font-size: clamp(1.6rem, 2.5vw, 2.1rem);
  color: var(--blue-deep);
  margin: 0 0 14px;
  line-height: 1.2;
}

.book-desc {
  font-size: 1.04rem;
  line-height: 1.7;
  color: #43525e;
  margin: 0 0 20px;
}

.book-features-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 24px;
}

.book-features-pills span {
  background: var(--cream);
  border: 1px solid #ebd9c8;
  color: var(--blue-deep);
  font-size: 0.82rem;
  font-weight: 600;
  padding: 5px 14px;
  border-radius: 999px;
}

.book-request-box {
  background: #faf7f2;
  border: 1px solid #ebd9c8;
  border-radius: 8px;
  padding: 20px 24px;
}

.book-request-box p {
  font-size: 0.92rem;
  color: #475569;
  margin: 0 0 16px;
}

.book-request-box p strong {
  color: var(--blue-deep);
}

.book-action-row {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}

/* 5. Heritage Articles Grid */
.articles-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}

.article-card {
  background: #ffffff;
  border: 1px solid #ebd9c8;
  border-radius: 14px;
  padding: 30px 28px;
  display: flex;
  flex-direction: column;
  box-shadow: 0 8px 24px rgba(18, 63, 104, 0.05);
  transition: all 0.25s ease;
}

.article-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 36px rgba(18, 63, 104, 0.1);
  border-color: #dfc1aa;
}

.article-card-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 14px;
}

.article-tag {
  background: #fff7ed;
  border: 1px solid #fed7aa;
  color: var(--orange-deep);
  font-size: 0.75rem;
  font-weight: 700;
  padding: 3px 10px;
  border-radius: 999px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.article-read-time {
  font-size: 0.78rem;
  color: #64748b;
  font-weight: 500;
}

.article-title {
  font-family: 'Libre Caslon Display', serif;
  font-size: 1.35rem;
  color: var(--blue-deep);
  margin: 0 0 12px;
  line-height: 1.3;
}

.article-excerpt {
  font-size: 0.94rem;
  line-height: 1.65;
  color: #475569;
  margin: 0 0 24px;
  flex: 1;
}

.article-card-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-top: 1px solid #f1e6dc;
  padding-top: 14px;
}

.article-author {
  font-size: 0.8rem;
  color: #64748b;
  font-weight: 600;
}

.article-link {
  font-size: 0.85rem;
  font-weight: 700;
  color: var(--orange-deep);
  text-decoration: none;
  transition: color 0.2s ease;
}

.article-link:hover {
  color: var(--blue-deep);
}

/* 6. Historical Archive Band */
.news-archive-band {
  background: var(--blue-deep);
  color: #ffffff;
  padding: 70px 0;
  position: relative;
  overflow: hidden;
}

.news-archive-band::after {
  content: "";
  position: absolute;
  right: -50px;
  bottom: -50px;
  width: 320px;
  height: 320px;
  border: 50px solid rgba(255, 255, 255, 0.03);
  border-radius: 50%;
  pointer-events: none;
}

.news-archive-container {
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto;
  display: grid;
  grid-template-columns: 200px 1fr;
  gap: 50px;
  align-items: center;
}

.archive-milestone-marker {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 14px;
  padding: 30px 20px;
  text-align: center;
}

.marker-year {
  display: block;
  font-family: 'Libre Caslon Display', serif;
  font-size: 3.5rem;
  color: #ffbc85;
  line-height: 1;
  margin-bottom: 8px;
}

.marker-label {
  font-size: 0.82rem;
  color: #cbd9e3;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-weight: 600;
}

.archive-kicker {
  display: inline-block;
  font-size: 0.82rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #ffbc85;
  margin-bottom: 8px;
}

.archive-heading {
  font-family: 'Libre Caslon Display', serif;
  font-size: clamp(1.8rem, 3.2vw, 2.5rem);
  color: #ffffff;
  margin: 0 0 14px;
  line-height: 1.2;
}

.archive-lead {
  font-size: 1.08rem;
  color: #dbe7ef;
  line-height: 1.7;
  margin: 0 0 12px;
}

.archive-note {
  font-size: 0.94rem;
  color: #94a3b8;
  line-height: 1.6;
  margin: 0 0 24px;
}

.archive-action-row {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  align-items: center;
}

/* Responsive adjustments */
@media (max-width: 960px) {
  .featured-news-layout {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .news-cover-card {
    max-width: 320px;
    margin: 0 auto;
  }
  .news-cards-grid,
  .articles-grid {
    grid-template-columns: 1fr;
  }
  .book-card-layout {
    grid-template-columns: 1fr;
  }
  .book-visual-spine {
    display: none;
  }
  .news-archive-container {
    grid-template-columns: 1fr;
    gap: 28px;
  }
}

@media (max-width: 640px) {
  .news-hero-banner {
    padding: 36px 24px;
  }
  .featured-newsletter-showcase {
    padding: 28px 20px;
  }
  .book-content-body {
    padding: 26px 20px;
  }
  .news-tabs-bar {
    top: 60px;
  }
}

/* ========================================================
   CONTACT, DONATE & JOIN PAGES STYLING
   ======================================================== */

/* General Shared Form Styles */
.form-alert-banner {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 20px 24px;
  border-radius: 12px;
  margin-bottom: 28px;
}

.form-alert-banner.success {
  background: #ecfdf5;
  border: 1px solid #a7f3d0;
  color: #065f46;
}

.form-alert-banner.error {
  background: #fef2f2;
  border: 1px solid #fecaca;
  color: #991b1b;
}

.form-alert-banner h4 {
  margin: 0 0 4px;
  font-size: 1.05rem;
  font-weight: 700;
}

.form-alert-banner p {
  margin: 0;
  font-size: 0.94rem;
  line-height: 1.5;
}

.alert-icon {
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.7);
}

.mahima-form {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.form-row {
  display: grid;
  gap: 20px;
}

.form-row.two-col {
  grid-template-columns: 1fr 1fr;
}

.form-row.three-col {
  grid-template-columns: 2fr 1fr 1fr;
}

.form-group {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.form-label {
  font-size: 0.88rem;
  font-weight: 700;
  color: var(--blue-deep);
}

.form-label .req {
  color: var(--orange-deep);
}

.form-input,
.form-select,
.form-textarea {
  width: 100%;
  padding: 12px 16px;
  border: 1px solid #d4c5b5;
  border-radius: 8px;
  font-family: inherit;
  font-size: 0.95rem;
  color: var(--ink);
  background: #ffffff;
  transition: all 0.2s ease;
  box-sizing: border-box;
}

.form-input:focus,
.form-select:focus,
.form-textarea:focus {
  outline: none;
  border-color: var(--orange);
  box-shadow: 0 0 0 3px rgba(233, 104, 36, 0.15);
}

.form-textarea {
  resize: vertical;
  line-height: 1.6;
}

.form-submit-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-top: 10px;
  flex-wrap: wrap;
}

.form-submit-btn {
  gap: 10px;
  padding: 13px 28px;
  font-size: 0.98rem;
  box-shadow: 0 8px 24px rgba(233, 104, 36, 0.32);
}

/* ========================================================
   1. CONTACT US PAGE SPECIFIC
   ======================================================== */
.contact-hero-showcase {
  background: var(--blue-deep);
  padding: 40px 0 30px;
}

.contact-hero-container {
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto;
}

.contact-hero-banner {
  background-size: cover;
  background-position: center center;
  border-radius: 18px;
  padding: 60px 54px;
  box-shadow: 0 20px 50px rgba(7, 28, 48, 0.28);
  border: 1px solid rgba(255, 255, 255, 0.14);
}

.contact-hero-content {
  max-width: 780px;
}

.contact-hero-badge {
  display: inline-flex;
  align-items: center;
  background: rgba(233, 104, 36, 0.25);
  border: 1px solid rgba(233, 104, 36, 0.55);
  color: #ffbc85;
  padding: 6px 16px;
  border-radius: 999px;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 18px;
}

.contact-hero-title {
  font-family: 'Libre Caslon Display', serif;
  font-size: clamp(2.3rem, 4.4vw, 3.4rem);
  color: #ffffff;
  line-height: 1.15;
  margin: 0 0 16px;
}

.contact-hero-desc {
  font-size: 1.12rem;
  color: #f1f6fa;
  line-height: 1.75;
  margin: 0 0 28px;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
}

.contact-hero-desc p {
  margin: 0 0 10px;
  color: inherit;
  font-size: inherit;
  line-height: inherit;
}

.contact-hero-desc p:last-child {
  margin-bottom: 0;
}

.contact-hero-desc a {
  color: #ffbc85;
  text-decoration: underline;
  text-underline-offset: 3px;
  font-weight: 600;
  transition: color 0.2s ease;
}

.contact-hero-desc a:hover {
  color: #ffffff;
}

.contact-hero-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.contact-hero-tag {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(255, 255, 255, 0.12);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(255, 255, 255, 0.2);
  color: #ffffff;
  font-size: 0.85rem;
  font-weight: 600;
  padding: 8px 16px;
  border-radius: 999px;
}

.contact-hero-tag svg {
  color: #ffbc85;
}

.contact-page-grid {
  display: grid;
  grid-template-columns: 420px 1fr;
  gap: 44px;
}

.contact-card-box {
  background: #ffffff;
  border: 1px solid #ebd9c8;
  border-radius: 16px;
  padding: 38px 34px;
  box-shadow: 0 12px 32px rgba(18, 63, 104, 0.06);
}

.card-heading {
  font-family: 'Libre Caslon Display', serif;
  font-size: 1.6rem;
  color: var(--blue-deep);
  margin: 0 0 6px;
}

.org-status {
  font-size: 0.85rem;
  color: #64748b;
  margin: 0 0 24px;
}

.contact-detail-list {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.contact-detail-item {
  display: flex;
  gap: 14px;
  align-items: flex-start;
}

.detail-icon {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  background: var(--cream);
  border: 1px solid #ebd9c8;
  color: var(--orange-deep);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.contact-detail-item strong {
  display: block;
  font-size: 0.86rem;
  color: var(--blue-deep);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 3px;
}

.contact-detail-item p {
  margin: 0;
  font-size: 0.94rem;
  color: #334155;
  line-height: 1.5;
}

.contact-detail-item a {
  color: var(--orange-deep);
  font-weight: 600;
  text-decoration: none;
}

.contact-divider {
  border: none;
  height: 1px;
  background: #ebd9c8;
  margin: 26px 0;
}

.committee-contacts-title {
  font-size: 0.92rem;
  font-weight: 700;
  color: var(--blue-deep);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin: 0 0 16px;
}

.key-contacts-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.key-contact-item {
  background: var(--cream);
  border: 1px solid #ebd9c8;
  border-radius: 8px;
  padding: 10px 14px;
  display: flex;
  flex-direction: column;
}

.key-contact-item strong {
  font-size: 0.88rem;
  color: var(--blue-deep);
}

.key-contact-item span {
  font-size: 0.74rem;
  color: #64748b;
  margin-bottom: 4px;
}

.key-contact-item a {
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--orange-deep);
  text-decoration: none;
}

.quick-action-cards {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.quick-action-card {
  background: #faf7f2;
  border: 1px solid #ebd9c8;
  border-radius: 10px;
  padding: 16px 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.quick-action-card h4 {
  margin: 0 0 4px;
  font-size: 0.95rem;
  color: var(--blue-deep);
}

.quick-action-card p {
  margin: 0;
  font-size: 0.82rem;
  color: #64748b;
}

.quick-action-card .button {
  padding: 8px 16px;
  font-size: 0.84rem;
  white-space: nowrap;
}

/* Contact Form Box */
.contact-form-box {
  background: #ffffff;
  border: 1px solid #ebd9c8;
  border-radius: 16px;
  padding: 44px 48px;
  box-shadow: 0 12px 32px rgba(18, 63, 104, 0.06);
}

.form-main-heading {
  font-family: 'Libre Caslon Display', serif;
  font-size: clamp(1.8rem, 3vw, 2.4rem);
  color: var(--blue-deep);
  margin: 0 0 12px;
}

.form-intro-text {
  font-size: 1.04rem;
  color: #475569;
  line-height: 1.65;
  margin: 0 0 30px;
}

.direct-email-prompt {
  font-size: 0.88rem;
  color: #64748b;
}

.direct-email-prompt a {
  color: var(--orange-deep);
  font-weight: 600;
  text-decoration: none;
}

/* ========================================================
   2. DONATE & SUPPORT PAGE SPECIFIC
   ======================================================== */
.donate-hero-showcase {
  background: var(--blue-deep);
  padding: 40px 0 30px;
}

.donate-hero-container {
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto;
}

.donate-hero-banner {
  background-size: cover;
  background-position: center center;
  border-radius: 18px;
  padding: 60px 54px;
  box-shadow: 0 20px 50px rgba(7, 28, 48, 0.28);
  border: 1px solid rgba(255, 255, 255, 0.14);
}

.donate-hero-content {
  max-width: 780px;
}

.donate-hero-badge {
  display: inline-flex;
  align-items: center;
  background: rgba(233, 104, 36, 0.25);
  border: 1px solid rgba(233, 104, 36, 0.55);
  color: #ffbc85;
  padding: 6px 16px;
  border-radius: 999px;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 18px;
}

.donate-hero-title {
  font-family: 'Libre Caslon Display', serif;
  font-size: clamp(2.3rem, 4.4vw, 3.4rem);
  color: #ffffff;
  line-height: 1.15;
  margin: 0 0 16px;
}

.donate-hero-desc {
  font-size: 1.12rem;
  color: #dbe7ef;
  line-height: 1.7;
  margin: 0 0 28px;
}

.donate-hero-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.donate-hero-tag {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(255, 255, 255, 0.12);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(255, 255, 255, 0.2);
  color: #ffffff;
  font-size: 0.85rem;
  font-weight: 600;
  padding: 8px 16px;
  border-radius: 999px;
}

.donate-hero-tag svg {
  color: #ffbc85;
}

/* Tax Status Strip */
.tax-status-strip {
  background: #ffffff;
  border-bottom: 1px solid #ebd9c8;
  padding: 20px 0;
  box-shadow: 0 4px 18px rgba(18, 63, 104, 0.04);
}

.tax-status-wrap {
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.tax-badge-item {
  display: flex;
  align-items: center;
  gap: 14px;
}

.tax-icon {
  width: 44px;
  height: 44px;
  border-radius: 10px;
  background: #ecfdf5;
  border: 1px solid #a7f3d0;
  color: #047857;
  font-size: 1.3rem;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.tax-badge-item strong {
  display: block;
  font-size: 0.94rem;
  color: var(--blue-deep);
  margin-bottom: 2px;
}

.tax-badge-item span {
  font-size: 0.82rem;
  color: #64748b;
  line-height: 1.4;
  display: block;
}

.giving-grid-layout {
  display: grid;
  grid-template-columns: 1fr 440px;
  gap: 44px;
}

.giving-action-card {
  background: #ffffff;
  border: 1px solid #ebd9c8;
  border-radius: 16px;
  padding: 44px 48px;
  box-shadow: 0 12px 32px rgba(18, 63, 104, 0.06);
}

.giving-intro {
  font-size: 1.04rem;
  color: #475569;
  line-height: 1.6;
  margin: 0 0 28px;
}

/* Zeffy Highlight Card (Primary Fee-Free Option) */
.zeffy-highlight-card {
  background: linear-gradient(135deg, #f0fdf4 0%, #eaf8ee 100%);
  border: 2px solid #86efac;
  border-radius: 14px;
  padding: 28px;
  margin-bottom: 24px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  box-shadow: 0 8px 24px rgba(22, 101, 52, 0.08);
  position: relative;
  overflow: hidden;
}

.zeffy-highlight-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 6px;
  height: 100%;
  background: linear-gradient(180deg, #16a34a 0%, #22c55e 100%);
}

.zeffy-badge-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px;
}

.zeffy-logo-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #ffffff;
  padding: 6px 14px;
  border-radius: 999px;
  border: 1px solid #bbf7d0;
  font-size: 0.84rem;
  font-weight: 700;
  color: #15803d;
}

.zeffy-pill-tag {
  display: inline-block;
  background: #16a34a;
  color: #ffffff;
  font-size: 0.76rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding: 4px 12px;
  border-radius: 999px;
  box-shadow: 0 2px 6px rgba(22, 163, 74, 0.25);
}

.zeffy-callout-text h3 {
  font-size: 1.32rem;
  color: #14532d;
  margin: 0 0 6px;
  font-weight: 700;
}

.zeffy-callout-text p {
  margin: 0;
  font-size: 0.96rem;
  color: #1f2937;
  line-height: 1.55;
}

.zeffy-main-action-btn {
  padding: 16px 32px;
  font-size: 1.08rem;
  font-weight: 700;
  gap: 12px;
  width: 100%;
  justify-content: center;
  background: linear-gradient(135deg, #16a34a 0%, #15803d 100%);
  color: #ffffff !important;
  border: none;
  box-shadow: 0 10px 24px rgba(22, 163, 74, 0.32);
  transition: all 0.25s ease;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  text-decoration: none;
}

.zeffy-main-action-btn:hover {
  background: linear-gradient(135deg, #15803d 0%, #166534 100%);
  transform: translateY(-2px);
  box-shadow: 0 14px 28px rgba(22, 163, 74, 0.42);
  color: #ffffff !important;
}

.zeffy-main-action-btn .btn-arrow {
  font-size: 1.25rem;
  transition: transform 0.2s ease;
}

.zeffy-main-action-btn:hover .btn-arrow {
  transform: translateX(4px);
}

.paypal-highlight-card {
  background: linear-gradient(135deg, #f0f7ff 0%, #e6f0fa 100%);
  border: 2px solid #b9d7f5;
  border-radius: 14px;
  padding: 28px;
  margin-bottom: 32px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  box-shadow: 0 8px 24px rgba(0, 48, 135, 0.08);
}

.paypal-logo-badge {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: #ffffff;
  padding: 6px 14px;
  border-radius: 999px;
  border: 1px solid #c7dff7;
  font-size: 0.84rem;
  font-weight: 700;
  color: #003087;
  align-self: flex-start;
}

.paypal-callout-text h3 {
  font-size: 1.25rem;
  color: var(--blue-deep);
  margin: 0 0 6px;
}

.paypal-callout-text p {
  margin: 0;
  font-size: 0.94rem;
  color: #334155;
  line-height: 1.5;
}

.paypal-main-action-btn {
  padding: 16px 32px;
  font-size: 1.08rem;
  font-weight: 700;
  gap: 12px;
  width: 100%;
  justify-content: center;
  box-shadow: 0 10px 24px rgba(233, 104, 36, 0.35);
  transition: all 0.25s ease;
}

.paypal-main-action-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 30px rgba(233, 104, 36, 0.45);
}

.any-amount-section {
  background: #fff8f2;
  border: 1px solid #fed7aa;
  border-radius: 14px;
  padding: 26px;
  margin-bottom: 28px;
}

.any-amount-heading {
  color: var(--orange-deep);
  font-size: 1.15rem;
  line-height: 1.35;
  margin: 0 0 10px;
}

.any-amount-section p {
  margin: 0 0 18px;
  font-size: 0.92rem;
  color: #475569;
  line-height: 1.5;
}

.direct-link-pill {
  display: flex;
  align-items: center;
  gap: 14px;
  background: #ffffff;
  border: 2px solid var(--orange);
  padding: 14px 20px;
  border-radius: 10px;
  color: var(--blue-deep);
  text-decoration: none;
  font-size: 0.98rem;
  transition: all 0.2s ease;
}

.direct-link-pill:hover {
  background: #fff4eb;
  transform: translateX(4px);
  border-color: var(--orange-deep);
}

.link-arrow {
  color: var(--orange);
  font-size: 1.3rem;
  font-weight: bold;
}

.direct-link-pill strong {
  flex: 1;
}

.pill-badge {
  background: var(--blue-deep);
  color: #ffffff;
  font-size: 0.76rem;
  font-weight: 700;
  padding: 4px 10px;
  border-radius: 999px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.charity-sub-link-card {
  display: flex;
  gap: 16px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  padding: 20px;
  margin-bottom: 28px;
  align-items: flex-start;
}

.charity-icon {
  font-size: 1.6rem;
  flex-shrink: 0;
}

.charity-content strong {
  display: block;
  font-size: 0.92rem;
  color: var(--blue-deep);
  margin-bottom: 4px;
}

.break-all-link {
  color: var(--orange-deep);
  font-size: 0.92rem;
  word-break: break-all;
  font-weight: 600;
  text-decoration: underline;
}

.charity-note {
  margin: 6px 0 0;
  font-size: 0.8rem;
  color: #64748b;
}

/* Donor Inquiries / Suggestion Form */
.donate-inquiry-box {
  background: #faf7f2;
  border: 1px solid #ebd9c8;
  border-radius: 14px;
  padding: 34px 30px;
  margin-top: 36px;
}

.donate-inquiry-box .form-header-row h3 {
  font-size: 1.25rem;
  color: var(--blue-deep);
  margin: 4px 0 8px;
}

.donate-inquiry-box .form-header-row p {
  font-size: 0.92rem;
  color: #64748b;
  margin: 0 0 24px;
  line-height: 1.55;
}

.donate-inquiry-form {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.form-action-row {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-top: 10px;
}

.submit-inquiry-btn {
  padding: 12px 28px;
  font-size: 0.96rem;
  font-weight: 700;
}

.thank-you-tag {
  font-style: italic;
  color: var(--orange-deep);
  font-weight: 600;
  font-size: 0.95rem;
}

/* Authentic Archive Right Column */
.archive-story-card {
  background: #ffffff;
  border: 1px solid #ebd9c8;
  border-radius: 12px;
  padding: 22px;
  margin-bottom: 24px;
}

.archive-meta-strip {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
  border-bottom: 1px solid #f1e5d8;
  padding-bottom: 8px;
}

.archive-date-badge {
  font-size: 0.78rem;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--orange-deep);
  letter-spacing: 0.06em;
}

.archive-topic {
  font-size: 0.8rem;
  font-weight: 600;
  color: #64748b;
}

.archive-caption-lead {
  font-size: 0.88rem;
  color: #334155;
  line-height: 1.5;
  margin: 0 0 16px;
}

.relief-photo-gallery {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.relief-photo-item,
.relief-letter-item {
  margin: 0;
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid #ebd9c8;
  background: #faf7f2;
}

.relief-photo-item img,
.relief-letter-item img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  display: block;
  transition: transform 0.3s ease;
}

.relief-letter-item img {
  height: auto;
  max-height: 380px;
  object-fit: contain;
  background: #ffffff;
}

.relief-photo-item:hover img,
.relief-letter-item:hover img {
  transform: scale(1.03);
}

.relief-photo-item figcaption,
.relief-letter-item figcaption {
  font-size: 0.75rem;
  color: #64748b;
  padding: 8px 10px;
  line-height: 1.35;
  border-top: 1px solid #ebd9c8;
  background: #ffffff;
}

.committee-pic img {
  height: 240px;
  object-fit: cover;
}

.impact-header-badge {
  margin-bottom: 22px;
  border-bottom: 2px solid var(--cream);
  padding-bottom: 14px;
}

.impact-header-badge .card-kicker {
  display: inline-block;
  margin-bottom: 4px;
}

/* ========================================================
   3. JOIN & MEMBERSHIP PAGE SPECIFIC
   ======================================================== */
.join-hero-showcase {
  background: var(--blue-deep);
  padding: 40px 0 30px;
}

.join-hero-container {
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto;
}

.join-hero-banner {
  background-size: cover;
  background-position: center center;
  border-radius: 18px;
  padding: 60px 54px;
  box-shadow: 0 20px 50px rgba(7, 28, 48, 0.28);
  border: 1px solid rgba(255, 255, 255, 0.14);
}

.join-hero-content {
  max-width: 780px;
}

.join-hero-badge {
  display: inline-flex;
  align-items: center;
  background: rgba(233, 104, 36, 0.25);
  border: 1px solid rgba(233, 104, 36, 0.55);
  color: #ffbc85;
  padding: 6px 16px;
  border-radius: 999px;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 18px;
}

.join-hero-title {
  font-family: 'Libre Caslon Display', serif;
  font-size: clamp(2.3rem, 4.4vw, 3.4rem);
  color: #ffffff;
  line-height: 1.15;
  margin: 0 0 16px;
}

.join-hero-desc {
  font-size: 1.12rem;
  color: #dbe7ef;
  line-height: 1.7;
  margin: 0 0 28px;
}

.join-hero-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.join-hero-tag {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(255, 255, 255, 0.12);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(255, 255, 255, 0.2);
  color: #ffffff;
  font-size: 0.85rem;
  font-weight: 600;
  padding: 8px 16px;
  border-radius: 999px;
}

.join-hero-tag svg {
  color: #ffbc85;
}

.benefits-four-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}

.benefit-card {
  background: #ffffff;
  border: 1px solid #ebd9c8;
  border-radius: 14px;
  padding: 30px 24px;
  box-shadow: 0 8px 24px rgba(18, 63, 104, 0.05);
  transition: all 0.25s ease;
}

.benefit-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 36px rgba(18, 63, 104, 0.1);
  border-color: #dfc1aa;
}

.benefit-icon-box {
  width: 50px;
  height: 50px;
  border-radius: 12px;
  background: var(--cream);
  border: 1px solid #ebd9c8;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  margin-bottom: 20px;
}

.benefit-card h3 {
  font-family: 'Libre Caslon Display', serif;
  font-size: 1.28rem;
  color: var(--blue-deep);
  margin: 0 0 10px;
}

.benefit-card p {
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.6;
  color: #475569;
}

.join-layout-grid {
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: 44px;
}

.join-form-card {
  background: #ffffff;
  border: 1px solid #ebd9c8;
  border-radius: 16px;
  padding: 44px 48px;
  box-shadow: 0 12px 32px rgba(18, 63, 104, 0.06);
}

.form-title {
  font-family: 'Libre Caslon Display', serif;
  font-size: clamp(1.8rem, 3vw, 2.3rem);
  color: var(--blue-deep);
  margin: 0 0 8px;
}

.form-subtitle {
  font-size: 1.02rem;
  color: #475569;
  line-height: 1.6;
  margin: 0 0 32px;
}

.form-section-heading {
  font-size: 0.94rem;
  font-weight: 700;
  color: var(--orange-deep);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin: 0 0 16px;
  padding-bottom: 8px;
  border-bottom: 1px solid #f1e6dc;
}

/* Membership Selection Cards Grid */
.membership-plans-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-top: 8px;
}

.membership-plan-card {
  position: relative;
  display: block;
  cursor: pointer;
}

.membership-plan-card input[type="radio"] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.plan-card-body {
  background: #ffffff;
  border: 2px solid #ebd9c8;
  border-radius: 12px;
  padding: 18px 20px;
  transition: all 0.25s ease;
  height: 100%;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
}

.membership-plan-card:hover .plan-card-body {
  border-color: #dfaa35;
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(18, 63, 104, 0.08);
}

.membership-plan-card input[type="radio"]:checked + .plan-card-body {
  border-color: var(--orange);
  background: #fffbf7;
  box-shadow: 0 8px 24px rgba(233, 104, 36, 0.16);
}

/* Header strip inside plan card holding tags and radio indicator */
.plan-header-strip {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 12px;
}

.plan-meta-tags {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}

.plan-check-pill {
  display: none;
  font-size: 0.72rem;
  font-weight: 700;
  color: #ffffff;
  background: var(--orange-deep);
  padding: 3px 9px;
  border-radius: 99px;
  box-shadow: 0 2px 6px rgba(184, 63, 34, 0.3);
  letter-spacing: 0.02em;
}

.membership-plan-card input[type="radio"]:checked + .plan-card-body .plan-check-pill {
  display: inline-flex;
}

.plan-radio-circle {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  border: 2px solid #d4c5b5;
  background: #ffffff;
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
}

.plan-radio-circle::after {
  content: "";
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: transparent;
  transition: background 0.2s ease;
}

.membership-plan-card input[type="radio"]:checked + .plan-card-body .plan-radio-circle {
  border-color: var(--orange);
}

.membership-plan-card input[type="radio"]:checked + .plan-card-body .plan-radio-circle::after {
  background: var(--orange);
}

.plan-name {
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--blue-deep);
  margin: 0 0 6px;
  line-height: 1.3;
}

.plan-badge {
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding: 3px 9px;
  border-radius: 99px;
  display: inline-flex;
  align-items: center;
}

.plan-badge.yearly {
  background: #e0f2fe;
  color: #0369a1;
  border: 1px solid #bae6fd;
}

.plan-badge.lifelong {
  background: linear-gradient(135deg, #fef3c7 0%, #fed7aa 100%);
  color: #92400e;
  border: 1px solid #fde68a;
  font-weight: 800;
}

.plan-price-row {
  display: flex;
  align-items: baseline;
  gap: 6px;
  margin-bottom: 12px;
}

.plan-amount {
  font-size: 1.55rem;
  font-weight: 800;
  color: var(--orange-deep);
  font-family: "Cinzel", Georgia, serif;
}

.plan-period {
  font-size: 0.82rem;
  color: #64748b;
  font-weight: 600;
}

.plan-desc {
  margin: 0;
  font-size: 0.84rem;
  color: #475569;
  line-height: 1.55;
  margin-top: auto;
}

.plan-desc strong {
  color: var(--blue-deep);
}

/* Gold border accent for Life Patron / Benefactor */
.featured-patron .plan-card-body {
  border-color: #e5c386;
  background: linear-gradient(180deg, #ffffff 0%, #fffdf8 100%);
}

.checkbox-options-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-top: 6px;
}

.checkbox-label {
  display: flex;
  align-items: center;
  gap: 10px;
  background: var(--cream);
  border: 1px solid #ebd9c8;
  padding: 10px 14px;
  border-radius: 8px;
  font-size: 0.88rem;
  color: var(--ink);
  cursor: pointer;
  transition: all 0.2s ease;
}

.checkbox-label:hover {
  border-color: var(--orange);
}

.checkbox-label input[type="checkbox"] {
  accent-color: var(--orange);
  width: 16px;
  height: 16px;
}

.sidebar-info-card {
  background: #ffffff;
  border: 1px solid #ebd9c8;
  border-radius: 16px;
  padding: 34px 28px;
  box-shadow: 0 12px 32px rgba(18, 63, 104, 0.06);
}

.sidebar-info-card h3 {
  font-size: 1.15rem;
  color: var(--blue-deep);
  margin: 0 0 8px;
}

.sidebar-info-card p {
  margin: 0 0 18px;
  font-size: 0.9rem;
  color: #475569;
  line-height: 1.5;
}

.coordinator-pills {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.coord-pill {
  background: var(--cream);
  border: 1px solid #ebd9c8;
  border-radius: 8px;
  padding: 12px 16px;
  display: flex;
  flex-direction: column;
}

.coord-pill strong {
  font-size: 0.92rem;
  color: var(--blue-deep);
}

.coord-pill span {
  font-size: 0.78rem;
  color: #64748b;
  margin-bottom: 4px;
}

.coord-pill a {
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--orange-deep);
  text-decoration: none;
}

.process-steps-list {
  list-style: none;
  padding: 0;
  margin: 0 0 24px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.process-steps-list li {
  display: flex;
  gap: 14px;
  align-items: flex-start;
}

.step-num {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--blue-deep);
  color: #ffffff;
  font-size: 0.82rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.process-steps-list strong {
  display: block;
  font-size: 0.9rem;
  color: var(--blue-deep);
  margin-bottom: 2px;
}

.process-steps-list p {
  margin: 0;
  font-size: 0.84rem;
  color: #64748b;
  line-height: 1.45;
}

.direct-contact-help {
  background: #faf7f2;
  border: 1px solid #ebd9c8;
  border-radius: 8px;
  padding: 14px 18px;
}

.direct-contact-help p {
  margin: 0;
  font-size: 0.84rem;
}

.direct-contact-help a {
  color: var(--orange-deep);
  font-weight: 600;
  text-decoration: none;
}

/* Membership FAQ Guide in Sidebar */
.membership-faq-snippet {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin: 12px 0 6px;
}

.faq-item-sm {
  background: var(--cream);
  border: 1px solid #ebd9c8;
  border-radius: 10px;
  padding: 12px 14px;
}

.faq-item-sm strong {
  display: block;
  font-size: 0.88rem;
  color: var(--blue-deep);
  margin-bottom: 4px;
}

.faq-item-sm p {
  margin: 0 !important;
  font-size: 0.82rem !important;
  color: #475569 !important;
  line-height: 1.5 !important;
}

.faq-item-sm p strong {
  display: inline;
  color: var(--orange-deep);
}

/* Responsive Styles for Contact, Donate, and Join */
@media (max-width: 960px) {
  .contact-page-grid,
  .giving-grid-layout,
  .join-layout-grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .tax-status-wrap {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .benefits-four-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .giving-tiers-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .contact-hero-banner,
  .donate-hero-banner,
  .join-hero-banner {
    padding: 36px 24px;
  }
  .contact-form-box,
  .giving-action-card,
  .join-form-card {
    padding: 28px 20px;
  }
  .form-row.two-col,
  .form-row.three-col,
  .membership-plans-grid,
  .checkbox-options-grid,
  .key-contacts-list,
  .benefits-four-grid {
    grid-template-columns: 1fr;
  }
  .form-submit-row {
    flex-direction: column;
    align-items: stretch;
  }
  .form-submit-btn {
    width: 100%;
    justify-content: center;
  }
}

/* ========================================================
   GLOBAL TYPOGRAPHY HIERARCHY: HEADER LOGO REIGNS SUPREME
   ======================================================== */
/* ========================================================
   GLOBAL TYPOGRAPHY HIERARCHY: HEADER BRAND BANNER (NAVY/GOLD)
   ======================================================== */
.header-brand-row {
  padding: 22px 0 16px !important;
  background: #0d2847 !important; /* Midnight Navy Blue background matching design */
  border-bottom: 3.5px solid #d4a034 !important; /* Warm gold accent line */
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.18) !important;
}

/* Site Brand Container with Logo on Left & Title Column on Right */
.site-brand-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 22px !important;
  text-decoration: none !important;
  transition: transform 0.3s ease !important;
}

.site-brand-link:hover {
  transform: translateY(-2px) scale(1.01) !important;
}

/* Emblem Logo sized generously to balance the larger header text and subtitle */
.site-header-logo {
  width: 96px !important;
  height: 96px !important;
  border-radius: 50% !important;
  border: 3px solid #dfaa35 !important;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.35), 0 3px 10px rgba(223, 170, 53, 0.3) !important;
  object-fit: cover !important;
  flex-shrink: 0 !important;
  display: block !important;
  margin: 0 !important;
  transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease !important;
}

.site-brand-link:hover .site-header-logo {
  transform: rotate(6deg) scale(1.05) !important;
  box-shadow: 0 10px 26px rgba(223, 170, 53, 0.5) !important;
  border-color: #ffd466 !important;
}

/* Column holding main title text, decorative line, and non-profit subtitle */
.site-title-column {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
}

.site-title {
  font-family: "Montserrat", "Outfit", "DM Sans", -apple-system, BlinkMacSystemFont, sans-serif !important;
  font-size: clamp(1.85rem, 3.7vw, 2.9rem) !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.055em !important;
  color: #ffffff !important; /* Crisp white title on dark navy */
  text-decoration: none !important;
  line-height: 1.15 !important;
  display: block !important;
  text-align: center !important;
  position: relative !important;
  padding: 0 !important;
  margin: 0 !important;
  text-shadow: 0 2px 6px rgba(0, 0, 0, 0.35) !important;
  transition: color 0.3s ease, letter-spacing 0.3s ease !important;
}

.site-brand-link:hover .site-title {
  color: #ffffff !important;
  letter-spacing: 0.065em !important;
}

/* Gold decorative divider limited directly beneath the text */
.site-title-divider {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  max-width: 520px !important;
  margin-top: 6px !important;
  margin-bottom: 5px !important;
  color: #dfaa35 !important;
  gap: 6px !important;
  position: relative !important;
}

.site-title-divider .divider-line {
  flex: 1 1 auto !important;
  height: 2.5px !important;
  background: linear-gradient(90deg, transparent 0%, #dfaa35 25%, #ffd466 50%, #dfaa35 75%, transparent 100%) !important;
  border-radius: 99px !important;
  box-shadow: 0 1px 4px rgba(223, 170, 53, 0.45) !important;
  transition: opacity 0.3s ease !important;
}

.site-title-divider .divider-flourish {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #ffd466 !important;
  flex-shrink: 0 !important;
  transition: color 0.3s ease, transform 0.3s ease !important;
}

.site-title-divider .divider-flourish svg {
  display: block !important;
  width: 36px !important;
  height: 12px !important;
  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.3)) !important;
}

.site-title-divider .divider-gem {
  font-size: 0.95rem !important;
  line-height: 1 !important;
  color: #ffd466 !important;
  text-shadow: 0 0 6px rgba(223, 170, 53, 0.8) !important;
  transform: translateY(-0.5px) !important;
  flex-shrink: 0 !important;
  transition: transform 0.3s ease, color 0.3s ease !important;
}

.site-brand-link:hover .site-title-divider .divider-gem {
  color: #ffffff !important;
  transform: scale(1.2) rotate(45deg) !important;
}

.site-brand-link:hover .site-title-divider .divider-flourish {
  color: #ffffff !important;
}

/* Subtitle under header: A US non-profit organization under 501(c)(3) */
.site-subtitle {
  display: block !important;
  font-family: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  font-size: clamp(0.82rem, 1.25vw, 0.95rem) !important;
  font-weight: 600 !important;
  letter-spacing: 0.05em !important;
  color: rgba(255, 255, 255, 0.88) !important;
  text-align: center !important;
  margin: 0 !important;
  line-height: 1.3 !important;
  transition: color 0.3s ease !important;
}

.site-brand-link:hover .site-subtitle {
  color: #ffffff !important;
}

/* Globally restrain content headings on all pages so header brand title is always noticeably bigger */
.section h2,
.content-grid h2,
.page-heading,
.home-leadership .section-heading h2,
.events-hero-headline,
.about-hero-headline,
.programs-hero-headline,
.service-feature h2,
.inner-hero h1 {
  font-size: clamp(1.4rem, 2.4vw, 1.95rem) !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
}

/* Intro / Vision / Purpose section headings on both Home and About */
#vision-mission-purpose h2,
#vision-mission-purpose .home-vision-title,
.about-purpose-section h2,
.about-purpose-section h2.about-main-title,
.about-main-title {
  font-family: "DM Sans", -apple-system, sans-serif !important;
  font-size: clamp(1.2rem, 1.8vw, 1.55rem) !important;
  font-weight: 700 !important;
  color: #1e3a58 !important;
  line-height: 1.35 !important;
}

@media (max-width: 760px) {
  .header-brand-row {
    padding: 16px 0 12px !important;
  }
  .site-brand-link {
    flex-direction: column !important;
    align-items: center !important;
    gap: 12px !important;
    text-align: center !important;
  }
  .site-header-logo {
    width: 76px !important;
    height: 76px !important;
  }
  .site-title {
    font-size: clamp(1.35rem, 5vw, 1.85rem) !important;
    letter-spacing: 0.06em !important;
  }
  .site-subtitle {
    font-size: 0.8rem !important;
    letter-spacing: 0.03em !important;
  }
  .site-title-divider {
    width: 100% !important;
    margin-top: 5px !important;
    margin-bottom: 4px !important;
  }
  .site-title-divider .divider-flourish svg {
    width: 26px !important;
    height: 9px !important;
  }
}

@media (max-width: 480px) {
  .header-brand-row {
    padding: 14px 0 10px !important;
  }
  .site-brand-link {
    gap: 10px !important;
  }
  .site-header-logo {
    width: 68px !important;
    height: 68px !important;
  }
  .site-title {
    font-size: 1.25rem !important;
    letter-spacing: 0.04em !important;
    line-height: 1.22 !important;
  }
  .site-subtitle {
    font-size: 0.74rem !important;
  }
  .site-title-divider {
    gap: 4px !important;
  }
  .site-title-divider .divider-flourish svg {
    width: 22px !important;
    height: 8px !important;
  }
  .site-title-divider .divider-gem {
    font-size: 0.8rem !important;
  }
}

/* ==========================================
   HOMEPAGE SCROLLING NEWS TICKER SECTION
   ========================================== */
.news-ticker-section {
  padding: 48px 0 60px;
  background: linear-gradient(135deg, #092a48 0%, #123f68 60%, #1b4b7a 100%);
  border-top: 3px solid #dfaa35;
  border-bottom: 3px solid #dfaa35;
  position: relative;
  overflow: hidden;
  color: #ffffff;
}

.news-ticker-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background: 
    radial-gradient(circle at 10% 20%, rgba(233, 104, 36, 0.15) 0%, transparent 45%),
    radial-gradient(circle at 90% 80%, rgba(223, 170, 53, 0.12) 0%, transparent 50%);
  pointer-events: none;
}

.news-ticker-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 26px;
  position: relative;
  z-index: 2;
}

.news-ticker-title-group {
  position: relative;
}

.news-live-pulse {
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #ff7733;
  margin-right: 8px;
  box-shadow: 0 0 0 0 rgba(255, 119, 51, 0.7);
  animation: newsPulse 1.8s infinite;
  vertical-align: middle;
}

@keyframes newsPulse {
  0% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(255, 119, 51, 0.7); }
  70% { transform: scale(1); box-shadow: 0 0 0 9px rgba(255, 119, 51, 0); }
  100% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(255, 119, 51, 0); }
}

.news-ticker-kicker {
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  color: #f7a261;
  text-transform: uppercase;
}

.news-ticker-heading {
  font-size: clamp(1.45rem, 2.3vw, 1.95rem) !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  margin: 5px 0 0 !important;
  text-shadow: 0 2px 6px rgba(0, 0, 0, 0.25);
}

.news-view-all-link {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 0.88rem;
  font-weight: 700;
  color: #092a48;
  background: #ffffff;
  padding: 9px 20px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.9);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.2);
  transition: all 0.22s ease;
  white-space: nowrap;
}

.news-view-all-link:hover {
  background: #e96824;
  color: #ffffff;
  border-color: #e96824;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(233, 104, 36, 0.4);
}

.news-marquee-container {
  position: relative;
  width: 100%;
  overflow: hidden;
  padding: 10px 0 18px;
  mask-image: linear-gradient(to right, transparent 0%, black 3%, black 97%, transparent 100%);
  -webkit-mask-image: linear-gradient(to right, transparent 0%, black 3%, black 97%, transparent 100%);
  z-index: 2;
}

.news-marquee-track {
  display: flex;
  gap: 26px;
  width: max-content;
  animation: newsMarqueeScroll 44s linear infinite;
}

.news-marquee-container:hover .news-marquee-track {
  animation-play-state: paused;
}

@keyframes newsMarqueeScroll {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

.news-ticker-card {
  flex: 0 0 360px;
  background: #ffffff;
  border: 1px solid rgba(255, 255, 255, 0.85);
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 12px 30px rgba(4, 18, 31, 0.35);
  display: flex;
  flex-direction: column;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
  color: var(--ink);
}

.news-ticker-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 20px 42px rgba(0, 0, 0, 0.45);
}

.news-ticker-media {
  position: relative;
  width: 100%;
  height: 165px;
  overflow: hidden;
  background: #092a48;
  display: block;
}

.news-ticker-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}

.news-ticker-card:hover .news-ticker-media img {
  transform: scale(1.05);
}

.news-ticker-cat-tag {
  position: absolute;
  top: 10px;
  left: 10px;
  background: rgba(9, 42, 72, 0.9);
  color: #ffecd9;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: 999px;
  backdrop-filter: blur(4px);
  border: 1px solid rgba(255, 255, 255, 0.2);
}

.news-ticker-body {
  padding: 16px 20px 18px;
  display: flex;
  flex-direction: column;
  flex: 1;
}

.news-card-meta {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  margin-bottom: 8px;
}

.news-card-date {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 0.76rem;
  color: #718096;
  font-weight: 600;
}

.news-card-title {
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  margin: 0 0 8px !important;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.news-card-title a {
  color: #092a48;
  transition: color 0.18s ease;
  text-decoration: none;
}

.news-card-title a:hover {
  color: #e96824;
}

.news-card-summary {
  font-size: 0.86rem;
  color: #4a5568;
  line-height: 1.5;
  margin: 0 0 14px;
  flex: 1;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.news-card-footer {
  margin-top: auto;
  padding-top: 10px;
  border-top: 1px solid #edf2f7;
}

.news-card-readmore {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 0.82rem;
  font-weight: 700;
  color: #b83f22;
  transition: gap 0.2s ease, color 0.2s ease;
  text-decoration: none;
}

.news-card-readmore:hover {
  color: #092a48;
  gap: 8px;
}

@media (max-width: 760px) {
  .news-ticker-section { padding: 36px 0 48px; }
  .news-ticker-header { flex-direction: column; align-items: flex-start; gap: 14px; }
  .news-ticker-card { flex: 0 0 300px; }
  .news-ticker-media { height: 140px; }
  .news-card-title { font-size: 0.98rem !important; }
}

/* ==========================================
   NEWS LISTING PAGE STYLES
   ========================================== */
.news-list-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 32px;
}

.news-listing-card {
  background: #ffffff;
  border: 1px solid #ebd9c8;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 12px 30px rgba(18, 63, 104, 0.06);
  display: flex;
  flex-direction: column;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.news-listing-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 40px rgba(18, 63, 104, 0.12);
}

.news-listing-media-wrap {
  position: relative;
  width: 100%;
  height: 250px;
  overflow: hidden;
  background: linear-gradient(135deg, #180903 0%, #2e1005 50%, #0d2137 100%);
  display: flex;
  align-items: center;
  justify-content: center;
}

.news-listing-media-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  transition: transform 0.4s ease;
}

.news-listing-card:hover .news-listing-media-wrap img {
  transform: scale(1.03);
}

.news-listing-badge {
  position: absolute;
  top: 14px;
  left: 14px;
  background: rgba(18, 63, 104, 0.92);
  color: #ffffff;
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  padding: 5px 12px;
  border-radius: 999px;
  backdrop-filter: blur(4px);
}

.news-listing-body {
  padding: 24px 26px;
  display: flex;
  flex-direction: column;
  flex: 1;
}

.news-listing-meta {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 10px;
}

.news-listing-date {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.82rem;
  color: var(--muted);
  font-weight: 500;
}

.news-listing-title {
  font-size: clamp(1.2rem, 1.8vw, 1.45rem) !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  color: var(--blue-deep) !important;
  margin: 0 0 8px !important;
}

.news-listing-title a {
  color: var(--blue-deep);
  transition: color 0.18s ease;
}

.news-listing-title a:hover {
  color: var(--orange-deep);
}

.news-listing-subtitle {
  font-size: 0.92rem;
  font-weight: 600;
  color: var(--orange-deep);
  margin: 0 0 10px;
  line-height: 1.4;
}

.news-listing-excerpt {
  color: #556575;
  font-size: 0.94rem;
  line-height: 1.6;
  margin: 0 0 20px;
  flex: 1;
}

.news-listing-action {
  margin-top: auto;
  padding-top: 14px;
  border-top: 1px solid #ebd9c8;
}

@media (max-width: 860px) {
  .news-list-grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .news-listing-media-wrap {
    height: 190px;
  }
}

/* ==========================================
   NEWS DETAIL PAGE STYLES
   ========================================== */
.news-detail-hero {
  background: linear-gradient(135deg, #180903 0%, #3a1508 50%, #10263c 100%);
  color: #ffffff;
  padding: 85px 0 75px;
  position: relative;
  overflow: hidden;
  border-bottom: 2px solid rgba(233, 104, 36, 0.25);
}

.news-detail-hero::before {
  content: "";
  position: absolute;
  width: 500px;
  height: 500px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(233, 104, 36, 0.2) 0%, transparent 70%);
  top: -120px;
  right: -80px;
  pointer-events: none;
}

.news-detail-header-meta {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 18px 0 14px;
  flex-wrap: wrap;
}

.news-detail-badge {
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #ffffff;
  background: var(--orange);
  padding: 4px 12px;
  border-radius: 999px;
}

.news-detail-date-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.86rem;
  color: #f0dac8;
  font-weight: 500;
}

.news-detail-headline {
  font-size: clamp(2rem, 3.8vw, 3.2rem) !important;
  color: #ffffff !important;
  line-height: 1.2 !important;
  max-width: 960px;
  margin: 6px 0 14px !important;
}

.news-detail-subheadline {
  font-size: clamp(1.05rem, 1.7vw, 1.28rem);
  color: #ffd8b8;
  max-width: 850px;
  line-height: 1.6;
  margin: 0;
}

.news-detail-container {
  display: grid;
  grid-template-columns: 1.65fr 0.85fr;
  gap: 55px;
  align-items: flex-start;
}

.news-detail-story {
  background: #ffffff;
}

.news-detail-featured-figure {
  width: 100%;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 16px 36px rgba(18, 63, 104, 0.12);
  margin-bottom: 32px;
  background: #f8fafc;
  text-align: center;
}

.news-detail-featured-figure img {
  width: 100%;
  max-height: 600px;
  object-fit: contain;
  background: #0f172a08;
  display: block;
  margin: 0 auto;
}

.news-detail-lead-summary {
  font-size: 1.15rem;
  line-height: 1.75;
  color: var(--blue-deep);
  font-weight: 600;
  padding: 22px 24px;
  background: var(--cream);
  border-left: 4px solid var(--orange);
  border-radius: 6px;
  margin-bottom: 28px;
}

.news-detail-content-body {
  font-size: 1.05rem;
  line-height: 1.8;
  color: #334155;
}

.news-detail-content-body p {
  margin: 0 0 20px;
}

.news-detail-content-body ul,
.news-detail-content-body ol {
  margin: 0 0 24px 24px;
  padding: 0;
}

.news-detail-content-body li {
  margin-bottom: 10px;
  line-height: 1.65;
}

.news-detail-content-body strong {
  color: var(--blue-deep);
}

.news-detail-footer-sharing {
  margin-top: 40px;
  padding: 24px 0;
  border-top: 1px solid #ebd9c8;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
}

.news-share-buttons {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.news-share-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 16px;
  border-radius: 999px;
  font-size: 0.84rem;
  font-weight: 600;
  text-decoration: none;
  border: 1px solid transparent;
  transition: all 0.2s ease;
}

.news-share-btn.fb {
  background: #1877f2;
  color: #ffffff;
}

.news-share-btn.fb:hover {
  background: #0d6efd;
  transform: translateY(-2px);
}

.news-share-btn.wa {
  background: #25d366;
  color: #ffffff;
}

.news-share-btn.wa:hover {
  background: #1ebe57;
  transform: translateY(-2px);
}

.news-share-btn.all {
  background: var(--cream);
  color: var(--blue-deep);
  border-color: #ebd9c8;
}

.news-share-btn.all:hover {
  background: var(--blue-deep);
  color: #ffffff;
  border-color: var(--blue-deep);
}

.news-detail-sidebar {
  position: sticky;
  top: 100px;
  display: flex;
  flex-direction: column;
  gap: 28px;
}

.news-sidebar-box {
  background: #ffffff;
  border: 1px solid #ebd9c8;
  border-radius: 12px;
  padding: 26px 24px;
  box-shadow: 0 10px 25px rgba(18, 63, 104, 0.05);
}

.news-sidebar-box.highlight {
  background: var(--cream);
  border-top: 3px solid var(--orange);
}

.news-sidebar-box h3 {
  font-size: 1.25rem !important;
  color: var(--blue-deep) !important;
  margin: 0 0 12px !important;
  font-weight: 700 !important;
}

.news-sidebar-box p {
  font-size: 0.92rem;
  color: #556575;
  line-height: 1.55;
  margin: 0;
}

.recent-news-mini-list {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.recent-news-mini-item {
  padding-bottom: 12px;
  border-bottom: 1px solid #f1e4d7;
}

.recent-news-mini-item:last-child {
  padding-bottom: 0;
  border-bottom: none;
}

.r-mini-date {
  font-size: 0.74rem;
  color: var(--orange-deep);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  display: block;
  margin-bottom: 4px;
}

.recent-news-mini-item h4 {
  font-size: 0.94rem !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  margin: 0 !important;
}

.recent-news-mini-item h4 a {
  color: var(--blue-deep);
  transition: color 0.18s ease;
}

.recent-news-mini-item h4 a:hover {
  color: var(--orange-deep);
}

@media (max-width: 960px) {
  .news-detail-container {
    grid-template-columns: 1fr;
    gap: 36px;
  }
  .news-detail-sidebar {
    position: static;
  }
}

/* ==========================================================================
   SIMPLE NEWSLETTERS PAGE (Matching mahimausa.org/newsletter/ with site theme)
   ========================================================================== */
.newsletter-simple-page {
  background: var(--cream);
  min-height: calc(100vh - 180px);
}

.newsletter-simple-hero {
  background: linear-gradient(135deg, #092a48 0%, #123f68 60%, #1a4f7e 100%);
  color: #ffffff;
  padding: 55px 0 45px;
  position: relative;
  border-bottom: 3px solid var(--orange);
}

.newsletter-simple-hero .breadcrumbs.light {
  font-size: 0.82rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #ffbc85;
  margin-bottom: 14px;
}

.newsletter-simple-hero .breadcrumbs.light a {
  color: #ffe6cf;
  text-decoration: none;
  transition: color 0.18s ease;
}

.newsletter-simple-hero .breadcrumbs.light a:hover {
  color: #ffffff;
  text-decoration: underline;
}

.newsletter-simple-hero .breadcrumbs.light .sep {
  margin: 0 8px;
  opacity: 0.6;
}

.newsletter-hero-badge {
  display: inline-block;
  background: rgba(233, 104, 36, 0.22);
  border: 1px solid rgba(233, 104, 36, 0.6);
  color: #ffbc85;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 4px 14px;
  border-radius: 999px;
  margin-bottom: 12px;
}

.newsletter-hero-title {
  font-family: 'DM Sans', -apple-system, sans-serif !important;
  font-size: clamp(2rem, 3.8vw, 2.8rem) !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  margin: 0 0 10px !important;
  line-height: 1.2 !important;
  letter-spacing: -0.02em !important;
}

.newsletter-hero-desc {
  font-size: 1.05rem;
  color: #e2ecf3;
  margin: 0;
  max-width: 650px;
  line-height: 1.55;
}

.newsletter-list-section {
  padding: 48px 0 80px;
}

.newsletter-container-card {
  max-width: 920px;
  margin: 0 auto;
  background: #ffffff;
  border: 1px solid #ebd9c8;
  border-radius: 14px;
  box-shadow: 0 10px 30px rgba(18, 63, 104, 0.05);
  overflow: hidden;
}

.newsletter-items-list {
  display: flex;
  flex-direction: column;
}

.newsletter-file-row {
  display: flex;
  align-items: center;
  gap: 22px;
  padding: 24px 30px;
  border-bottom: 1px solid #f1e4d7;
  transition: background-color 0.2s ease, transform 0.2s ease;
}

.newsletter-file-row:last-child {
  border-bottom: none;
}

.newsletter-file-row:hover {
  background: #fffcf8;
}

.nfile-icon {
  width: 50px;
  height: 50px;
  border-radius: 12px;
  background: #fff3e7;
  border: 1px solid #fed7aa;
  color: var(--orange-deep);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: transform 0.2s ease, background 0.2s ease;
}

.newsletter-file-row:hover .nfile-icon {
  transform: translateY(-2px);
  background: #ffe6cf;
}

.nfile-info {
  flex: 1;
  min-width: 0;
}

.nfile-meta {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 6px;
  flex-wrap: wrap;
}

.nfile-badge {
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  background: #ffedd5;
  color: #c2410c;
  padding: 3px 10px;
  border-radius: 999px;
  border: 1px solid #fed7aa;
}

.nfile-period {
  font-size: 0.8rem;
  font-weight: 600;
  color: #64748b;
}

.nfile-title {
  margin: 0 !important;
  font-size: 1.15rem !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
}

.nfile-title a {
  color: var(--blue-deep);
  text-decoration: none;
  transition: color 0.18s ease;
}

.nfile-title a:hover {
  color: var(--orange-deep);
  text-decoration: underline;
}

.nfile-editor {
  display: inline-block;
  font-size: 0.95rem;
  font-weight: 500;
  color: #718096;
  margin-left: 6px;
}

.nfile-action {
  flex-shrink: 0;
}

.nfile-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 20px !important;
  font-size: 0.88rem !important;
  font-weight: 700 !important;
  white-space: nowrap;
}

/* Footer note linking to publications */
.newsletter-footer-note {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 24px 30px;
  background: #fdfaf6;
  border-top: 1px solid #ebd9c8;
  flex-wrap: wrap;
}

.nfn-copy h4 {
  font-size: 1rem !important;
  font-weight: 700 !important;
  color: var(--blue-deep) !important;
  margin: 0 0 4px !important;
}

.nfn-copy p {
  font-size: 0.9rem;
  color: #64748b;
  margin: 0;
}

@media (max-width: 680px) {
  .newsletter-file-row {
    flex-direction: column;
    align-items: flex-start;
    padding: 20px 20px;
    gap: 16px;
  }
  .nfile-action {
    width: 100%;
  }
  .nfile-btn {
    width: 100%;
    justify-content: center;
  }
  .newsletter-footer-note {
    padding: 20px;
    flex-direction: column;
    align-items: flex-start;
  }
}

/* Sacred Suktams & Vedic Chants Collection */
.sacred-docs-card {
  background: #ffffff;
  border: 1px solid #ebd9c8;
  border-radius: 16px;
  box-shadow: 0 10px 30px rgba(18, 63, 104, 0.05);
  overflow: hidden;
  margin-top: 36px;
}

.sacred-docs-header {
  padding: 24px 32px;
  background: linear-gradient(135deg, #fff7ed 0%, #ffedd5 100%);
  border-bottom: 1px solid #fed7aa;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
}

.sacred-docs-header h3 {
  margin: 0 0 4px;
  font-family: 'Libre Caslon Display', serif;
  font-size: 1.45rem;
  color: var(--blue-deep);
}

.sacred-docs-header p {
  margin: 0;
  font-size: 0.92rem;
  color: #7c2d12;
}

.sacred-docs-count {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #ffffff;
  border: 1px solid #fdba74;
  color: #c2410c;
  font-size: 0.8rem;
  font-weight: 700;
  padding: 6px 14px;
  border-radius: 999px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.sdoc-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  padding: 22px 32px;
  border-bottom: 1px solid #f1e4d7;
  background: #ffffff;
  transition: all 0.2s ease;
}

.sdoc-row:last-child {
  border-bottom: none;
}

.sdoc-row:hover {
  background: #fffcf8;
}

.sdoc-left {
  display: flex;
  align-items: center;
  gap: 20px;
  flex: 1;
  min-width: 0;
}

.sdoc-icon {
  width: 50px;
  height: 50px;
  min-width: 50px;
  border-radius: 12px;
  background: #fef2f2;
  border: 1px solid #fecaca;
  color: #dc2626;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  font-size: 0.82rem;
  letter-spacing: 0.04em;
  flex-shrink: 0;
  transition: all 0.2s ease;
}

.sdoc-row:hover .sdoc-icon {
  transform: translateY(-2px);
  background: #fee2e2;
  box-shadow: 0 4px 12px rgba(220, 38, 38, 0.15);
}

.sdoc-meta {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 5px;
  flex-wrap: wrap;
}

.sdoc-tag {
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  background: #fff7ed;
  color: #c2410c;
  padding: 2px 9px;
  border-radius: 999px;
  border: 1px solid #fed7aa;
}

.sdoc-meta-info {
  font-size: 0.8rem;
  font-weight: 600;
  color: #64748b;
}

.sdoc-title {
  margin: 0 0 4px;
  font-size: 1.18rem;
  font-weight: 700;
  line-height: 1.35;
  color: var(--blue-deep);
}

.sdoc-malayalam {
  font-size: 1.05rem;
  font-weight: 600;
  color: #b45309;
  margin-left: 8px;
}

.sdoc-desc {
  margin: 0;
  font-size: 0.92rem;
  color: #475569;
  line-height: 1.5;
}

.sdoc-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
}

.sdoc-btn {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 9px 18px;
  font-size: 0.86rem;
  font-weight: 700;
  white-space: nowrap;
  border-radius: 999px;
  text-decoration: none;
  transition: all 0.2s ease;
}

.sdoc-btn-view {
  background: #e96824;
  color: #ffffff;
  box-shadow: 0 4px 12px rgba(233, 104, 36, 0.25);
}

.sdoc-btn-view:hover {
  background: #b83f22;
  color: #ffffff;
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(233, 104, 36, 0.35);
}

.sdoc-btn-download {
  background: #ffffff;
  color: var(--blue-deep);
  border: 1px solid #cbd5e1;
}

.sdoc-btn-download:hover {
  background: #f8fafc;
  border-color: #94a3b8;
  color: #0f172a;
  transform: translateY(-2px);
}

@media (max-width: 768px) {
  .sdoc-row {
    flex-direction: column;
    align-items: flex-start;
    padding: 20px 20px;
    gap: 16px;
  }
  .sdoc-left {
    width: 100%;
  }
  .sdoc-actions {
    width: 100%;
    justify-content: flex-start;
  }
  .sdoc-btn {
    flex: 1;
    justify-content: center;
  }
  .sacred-docs-header {
    padding: 20px;
  }
}




