/* Seva Nonprofit – main stylesheet */
:root{--primary:#0b5c8e;--accent:#e8792b;--dark:#0d2b40;--ink:#1f2937;--muted:#6b7280;--line:#e5e7eb;--bg:#fff;--alt:#f4f8fb;--radius:14px;--shadow:0 10px 30px rgba(13,43,64,.10);--font:'Poppins','Noto Sans Devanagari',system-ui,-apple-system,'Segoe UI',sans-serif;--serif:'Source Serif 4','Noto Sans Devanagari',Georgia,serif}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;font-family:var(--font);color:var(--ink);background:var(--bg);line-height:1.65;font-size:16px;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--primary);text-decoration:none}a:hover{color:var(--accent)}
h1,h2,h3,h4{font-family:var(--serif);color:var(--dark);line-height:1.25;margin:0 0 .5em}
h1{font-size:clamp(2rem,4.5vw,3.4rem)}h2{font-size:clamp(1.6rem,3vw,2.3rem)}h3{font-size:1.25rem}
p{margin:0 0 1em}ul{padding-left:1.1em}
.container{width:min(1180px,92%);margin-inline:auto}.narrow{width:min(820px,92%)}.center{text-align:center}.mt{margin-top:2.2rem}
.skip-link{position:absolute;left:-999px;top:0;background:#000;color:#fff;padding:.6rem 1rem;z-index:999}.skip-link:focus{left:0}
.section{padding:clamp(3rem,7vw,5.5rem) 0}.section-alt{background:var(--alt)}
.eyebrow{display:inline-block;text-transform:uppercase;letter-spacing:.14em;font-size:.75rem;font-weight:600;color:var(--accent);margin-bottom:.6rem}.eyebrow.light{color:#ffd2ae}
.section-head{text-align:center;max-width:680px;margin:0 auto 2.5rem}.section-head.left{text-align:left;margin:3rem 0 1rem;max-width:none}.section-head p{color:var(--muted)}
.lead{font-size:1.2rem;color:#374151}.empty{color:var(--muted);padding:1.5rem;background:var(--alt);border-radius:var(--radius)}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.7rem 1.4rem;border-radius:999px;font-weight:600;font-size:.95rem;border:2px solid transparent;cursor:pointer;transition:.2s;font-family:var(--font);line-height:1.2}
.btn-lg{padding:.95rem 1.9rem;font-size:1rem}
.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--dark);color:#fff}
.btn-accent{background:var(--accent);color:#fff;box-shadow:0 8px 20px rgba(232,121,43,.35)}.btn-accent:hover{filter:brightness(.92);color:#fff;transform:translateY(-2px)}
.btn-outline{border-color:var(--primary);color:var(--primary);background:transparent}.btn-outline:hover{background:var(--primary);color:#fff}
.btn-ghost{border-color:rgba(255,255,255,.7);color:#fff}.btn-ghost:hover{background:#fff;color:var(--dark)}
.pulse{animation:pulse 2.4s infinite}@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(232,121,43,.55)}70%{box-shadow:0 0 0 16px rgba(232,121,43,0)}100%{box-shadow:0 0 0 0 rgba(232,121,43,0)}}

/* Top bar & header */
.topbar{background:var(--dark);color:#cfe0ec;font-size:.82rem}.topbar a{color:#cfe0ec}.topbar a:hover{color:#fff}
.topbar-in{display:flex;justify-content:space-between;align-items:center;padding:.45rem 0;gap:1rem;flex-wrap:wrap}.topbar-info{display:flex;gap:1.4rem;flex-wrap:wrap}
.social{display:flex;gap:.5rem}.social a{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.12);color:#fff}.social a:hover{background:var(--accent);color:#fff}
.site-footer .social a{background:rgba(255,255,255,.12)}.contact-info .social a{background:var(--primary)}
.site-header{position:sticky;top:0;z-index:100;background:#fff;box-shadow:0 2px 14px rgba(0,0,0,.06)}
.header-in{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:76px}
.brand{display:flex;align-items:center;gap:.7rem;color:var(--dark)}.brand img{max-height:56px;width:auto}
.brand-mark{width:42px;height:42px;border-radius:12px;background:var(--accent);color:#fff;display:grid;place-items:center;font-size:1.3rem}
.brand-text{display:flex;flex-direction:column;line-height:1.15}.brand-text strong{font-family:var(--serif);font-size:1.15rem}.brand-text small{color:var(--muted);font-size:.72rem}
.primary-nav{display:flex;align-items:center;gap:1.4rem}
.primary-nav .menu,.primary-nav .sub-menu{list-style:none;margin:0;padding:0}
.primary-nav .menu{display:flex;align-items:center;gap:.2rem}
.primary-nav .menu>li{position:relative}
.primary-nav a{display:block;padding:.7rem .85rem;color:var(--ink);font-weight:500;font-size:.95rem;border-radius:8px}
.primary-nav .menu>li>a:hover,.primary-nav .current-menu-item>a,.primary-nav .current_page_item>a,.primary-nav .current-menu-ancestor>a{color:var(--primary);background:var(--alt)}
.primary-nav .nav-cta{color:#fff;padding:.7rem 1.3rem;margin-left:.4rem}.primary-nav .nav-cta:hover{color:#fff}
.primary-nav .sub-menu{position:absolute;left:0;top:100%;min-width:230px;background:#fff;border-radius:12px;box-shadow:var(--shadow);padding:.5rem;opacity:0;visibility:hidden;transform:translateY(8px);transition:.18s;border:1px solid var(--line)}
.primary-nav .sub-menu .sub-menu{left:100%;top:0}
.primary-nav li:hover>.sub-menu,.primary-nav li:focus-within>.sub-menu{opacity:1;visibility:visible;transform:none}
.primary-nav .menu-item-has-children>a::after{content:'▾';margin-left:.35rem;font-size:.75rem;opacity:.6}
.sub-toggle{display:none}
.nav-burger{display:none;width:44px;height:44px;border:0;background:var(--alt);border-radius:10px;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:5px}
.nav-burger span{width:22px;height:2px;background:var(--dark);transition:.2s}
.nav-burger[aria-expanded=true] span:nth-child(1){transform:translateY(7px) rotate(45deg)}.nav-burger[aria-expanded=true] span:nth-child(2){opacity:0}.nav-burger[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* Hero */
.hero{position:relative;background:linear-gradient(120deg,var(--dark),var(--primary));color:#fff;overflow:hidden}
.hero-static{padding:clamp(4rem,10vw,8rem) 0}
.hero-static::after{content:'';position:absolute;right:-120px;top:-120px;width:420px;height:420px;border-radius:50%;background:rgba(232,121,43,.18)}
.hero h1{color:#fff;max-width:760px}.hero p{font-size:1.15rem;max-width:620px;color:#e3eef6}
.hero-copy{position:relative;z-index:2}.hero-btns{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:1.6rem}
.hero-slides{position:relative;min-height:clamp(440px,68vh,640px)}
.hero-slide{position:absolute;inset:0;background-size:cover;background-position:center;background-color:var(--dark);opacity:0;visibility:hidden;transition:opacity .9s;display:flex;align-items:center}
.hero-slide::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,43,64,.85),rgba(13,43,64,.25))}
.hero-slide.is-active{opacity:1;visibility:visible}
.hero-dots{position:absolute;bottom:18px;left:0;right:0;display:flex;justify-content:center;gap:8px;z-index:3}
.hero-dots button{width:11px;height:11px;border-radius:50%;border:0;background:rgba(255,255,255,.5);cursor:pointer;padding:0}.hero-dots button.is-active{background:var(--accent);width:28px;border-radius:8px}

/* Stats */
.stats{background:var(--primary);color:#fff}.stats-in{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;padding:2rem 0;text-align:center}
.stat strong{display:block;font-family:var(--serif);font-size:2.3rem;line-height:1.1}.stat span{font-size:.9rem;opacity:.85}

/* Cards */
.grid{display:grid;gap:1.6rem}.grid-3{grid-template-columns:repeat(auto-fill,minmax(290px,1fr))}
@media(min-width:992px){.grid-3{grid-template-columns:repeat(3,1fr)}}
.card{background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column;transition:.25s;border:1px solid #edf1f5}
.card:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(13,43,64,.16)}
.card-media{position:relative;display:block;aspect-ratio:10/7;background:var(--alt);overflow:hidden}
.card-media img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.card:hover .card-media img{transform:scale(1.07)}
.card-media .ph{display:grid;place-items:center;height:100%;font-size:3rem;color:var(--primary);opacity:.4}
.chip{position:absolute;left:14px;top:14px;background:var(--accent);color:#fff;font-size:.72rem;font-weight:600;padding:.28rem .8rem;border-radius:999px;letter-spacing:.03em}.chip.inline{position:static}
.card-body{padding:1.3rem 1.4rem 1.5rem;display:flex;flex-direction:column;flex:1}
.card-body .meta{font-size:.78rem;color:var(--muted);margin-bottom:.4rem}
.card-body h3{margin-bottom:.5rem}.card-body h3 a{color:var(--dark)}.card-body h3 a:hover{color:var(--primary)}
.card-body p{color:var(--muted);font-size:.93rem;flex:1}
.more{font-weight:600;font-size:.9rem}

/* Filter pills */
.filter-pills{display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem;margin-bottom:2.2rem}
.pill{border:1px solid var(--line);background:#fff;color:var(--ink);padding:.5rem 1.1rem;border-radius:999px;font-size:.9rem;font-weight:500;cursor:pointer;font-family:var(--font);transition:.2s}
.pill small{opacity:.6;margin-left:.2rem}.pill:hover{border-color:var(--primary);color:var(--primary)}.pill.is-active{background:var(--primary);border-color:var(--primary);color:#fff}

/* Tabs */
.tab-list{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin-bottom:2rem;border-bottom:1px solid var(--line);padding-bottom:1rem}
.tab{border:0;background:var(--alt);padding:.55rem 1.1rem;border-radius:999px;cursor:pointer;font-family:var(--font);font-weight:500;font-size:.9rem;color:var(--ink)}
.tab.is-active{background:var(--primary);color:#fff}.tab-more{background:transparent;color:var(--accent);font-weight:600}
.tab-panel{display:none}.tab-panel.is-active{display:block;animation:fade .35s}
@keyframes fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* Team */
.team-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1.6rem}
.team-grid.small{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}
.team-card{text-align:center}
.team-photo{display:block;aspect-ratio:5/6;border-radius:var(--radius);overflow:hidden;background:linear-gradient(135deg,var(--alt),#dbe8f1);box-shadow:var(--shadow);margin-bottom:.9rem;position:relative}
.team-photo img{width:100%;height:100%;object-fit:cover;transition:.4s}.team-card:hover .team-photo img{transform:scale(1.06)}
.initial{display:grid;place-items:center;width:100%;height:100%;font-family:var(--serif);font-size:3.5rem;color:var(--primary);opacity:.55}
.team-card h3{font-size:1.02rem;margin:0}.team-card h3 a{color:var(--dark)}.team-card h3 a:hover{color:var(--primary)}
.role{color:var(--accent);font-weight:600;font-size:.86rem;display:block}.term{display:block;color:var(--muted);font-size:.78rem}
.year-block{background:#fff;border:1px solid var(--line);border-radius:var(--radius);margin-bottom:1rem;padding:0 1.4rem}
.year-block summary{cursor:pointer;padding:1.1rem 0;display:flex;align-items:center;gap:1rem;list-style:none;font-weight:600}
.year-block summary::-webkit-details-marker{display:none}.year-block summary::after{content:'+';margin-left:auto;font-size:1.4rem;color:var(--primary)}
.year-block[open] summary::after{content:'–'}.year-block .team-grid{padding-bottom:1.6rem}
.year-badge{background:var(--primary);color:#fff;padding:.25rem .9rem;border-radius:8px;font-family:var(--serif);font-size:1.05rem}.year-block em{font-style:normal;color:var(--muted);font-weight:400;font-size:.85rem}

/* President strip / profile */
.president-strip{background:linear-gradient(120deg,var(--dark),var(--primary));color:#e3eef6}
.pres-in,.profile{display:grid;grid-template-columns:minmax(220px,340px) 1fr;gap:clamp(1.5rem,4vw,3.5rem);align-items:center}
.pres-photo,.profile-photo{aspect-ratio:5/6;border-radius:20px;overflow:hidden;box-shadow:0 20px 50px rgba(0,0,0,.25);background:var(--alt)}
.pres-photo img,.profile-photo img{width:100%;height:100%;object-fit:cover}
.president-strip h2{color:#fff}.president-strip .role{color:#ffd2ae;font-size:1rem}
.profile{align-items:start}.profile-photo{box-shadow:var(--shadow)}

/* Gallery */
.gallery-grid{columns:3 260px;column-gap:1rem}
.gallery-grid .g-item{break-inside:avoid;margin:0 0 1rem;border-radius:12px;overflow:hidden;position:relative;background:var(--alt)}
.gallery-grid .g-item.hide{display:none}
.g-item img{width:100%;transition:.4s}.g-item:hover img{transform:scale(1.05)}
.g-item a{display:block;overflow:hidden}
.g-item figcaption{position:absolute;inset:auto 0 0 0;padding:1.6rem .9rem .7rem;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.75));display:flex;flex-direction:column;opacity:0;transition:.25s;font-size:.85rem}
.g-item figcaption small{opacity:.8}.g-item:hover figcaption{opacity:1}
.gallery-teaser{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:.8rem}
.gallery-teaser .g-item{border-radius:12px;overflow:hidden;aspect-ratio:1}.gallery-teaser .g-item img{height:100%;object-fit:cover}
.lightbox{position:fixed;inset:0;background:rgba(5,15,25,.94);z-index:1000;display:none;align-items:center;justify-content:center;flex-direction:column;padding:2rem}
.lightbox.open{display:flex}.lightbox img{max-height:80vh;max-width:92vw;border-radius:8px}
.lightbox p{color:#dbe7f0;margin-top:1rem;text-align:center}
.lightbox button{position:absolute;background:rgba(255,255,255,.15);color:#fff;border:0;width:46px;height:46px;border-radius:50%;font-size:1.5rem;cursor:pointer}
.lightbox .lb-close{top:20px;right:20px}.lightbox .lb-prev{left:20px;top:50%}.lightbox .lb-next{right:20px;top:50%}

/* Banner */
.page-banner{background:linear-gradient(120deg,var(--dark),var(--primary));background-size:cover;background-position:center;color:#fff;padding:clamp(2.6rem,7vw,4.6rem) 0;text-align:center}
.page-banner h1{color:#fff;margin-bottom:.3rem}.page-banner p{color:#dbe9f3;margin:0 0 .6rem}
.crumbs{font-size:.85rem;color:#b9d0e0;display:flex;gap:.5rem;justify-content:center}.crumbs a{color:#fff}

/* Content */
.entry{font-size:1.04rem}.entry img{border-radius:12px}.entry h2,.entry h3{margin-top:1.6em}.entry blockquote{border-left:4px solid var(--accent);margin:1.5rem 0;padding:.3rem 1.2rem;background:var(--alt);border-radius:0 10px 10px 0}
.post-meta{display:flex;flex-wrap:wrap;gap:1.2rem;align-items:center;color:var(--muted);font-size:.9rem;margin-bottom:1.5rem}
.post-nav{display:flex;justify-content:space-between;gap:1rem;margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--line);font-size:.9rem}
.seva-pagination{margin-top:2.5rem}.seva-pagination .nav-links{display:flex;justify-content:center;gap:.4rem;flex-wrap:wrap}
.seva-pagination .page-numbers{padding:.5rem .95rem;border:1px solid var(--line);border-radius:8px;color:var(--ink)}.seva-pagination .current{background:var(--primary);border-color:var(--primary);color:#fff}
.contact-inline{display:flex;gap:1.4rem;flex-wrap:wrap;margin:1rem 0 1.4rem}

/* CTA */
.cta-band{background:linear-gradient(120deg,var(--accent),#f2a25f);color:#fff;padding:clamp(2.6rem,6vw,4rem) 0;position:relative;overflow:hidden}
.cta-band::before{content:'';position:absolute;left:-80px;bottom:-120px;width:340px;height:340px;border-radius:50%;background:rgba(255,255,255,.14)}
.cta-in{display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap;position:relative}
.cta-band h2{color:#fff;margin-bottom:.3rem}.cta-band p{margin:0;max-width:560px;font-size:1.05rem}
.cta-actions{display:flex;gap:.9rem;flex-wrap:wrap}
.cta-band .btn-accent{background:var(--dark);box-shadow:0 8px 24px rgba(0,0,0,.25)}.cta-band .btn-accent.pulse{animation:pulseD 2.4s infinite}
@keyframes pulseD{0%{box-shadow:0 0 0 0 rgba(13,43,64,.55)}70%{box-shadow:0 0 0 16px rgba(13,43,64,0)}100%{box-shadow:0 0 0 0 rgba(13,43,64,0)}}

/* Contact */
.contact-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(1.5rem,4vw,3.5rem);align-items:start}
.contact-cards{list-style:none;padding:0;margin:1.5rem 0;display:grid;gap:.8rem}
.contact-cards li{background:var(--alt);border-radius:12px;padding:.9rem 1.1rem;display:flex;flex-direction:column;font-size:.95rem}.contact-cards b{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--accent)}
.contact-form{background:#fff;border-radius:20px;padding:clamp(1.4rem,3vw,2.4rem);box-shadow:var(--shadow);border:1px solid #edf1f5}
.contact-form label{display:block;font-weight:500;font-size:.88rem;margin-bottom:1rem}
.contact-form input,.contact-form select,.contact-form textarea{display:block;width:100%;margin-top:.3rem;padding:.75rem .9rem;border:1px solid #d1d9e0;border-radius:10px;font:inherit;background:#fbfdff}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{outline:2px solid var(--primary);border-color:transparent}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.hp{position:absolute;left:-9999px}
.notice{padding:.9rem 1.1rem;border-radius:10px;margin-bottom:1.2rem;font-size:.92rem}.notice.ok{background:#e7f6ec;color:#146c2e}.notice.bad{background:#fdeaea;color:#a02020}
.map iframe{width:100%;height:380px;border:0;display:block}

/* Footer */
.site-footer{background:var(--dark);color:#b8cbd9;font-size:.93rem}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:2rem;padding:3.5rem 0 2.5rem}
.site-footer h3,.site-footer h4{color:#fff;font-family:var(--font);font-size:1rem;margin-bottom:1rem}.site-footer h3{font-family:var(--serif);font-size:1.3rem}
.site-footer a{color:#b8cbd9}.site-footer a:hover{color:#fff}
.site-footer ul{list-style:none;padding:0;margin:0}.site-footer li{margin-bottom:.55rem}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding:1.1rem 0;text-align:center;font-size:.85rem}
.mobile-cta{display:none}
.to-top{position:fixed;right:18px;bottom:18px;width:44px;height:44px;border-radius:50%;border:0;background:var(--primary);color:#fff;font-size:1.2rem;cursor:pointer;box-shadow:var(--shadow);z-index:90}.to-top[hidden]{display:none}

/* Responsive */
@media(max-width:991px){
	.nav-burger{display:flex}
	.primary-nav{position:fixed;inset:0 0 0 auto;width:min(360px,88vw);background:#fff;flex-direction:column;align-items:stretch;padding:5rem 1.2rem 2rem;gap:1rem;transform:translateX(100%);transition:.3s;box-shadow:-10px 0 40px rgba(0,0,0,.2);overflow-y:auto;z-index:150}
	.primary-nav.open{transform:none}.nav-burger{position:relative;z-index:200}
	.primary-nav .menu{flex-direction:column;align-items:stretch}
	.primary-nav .menu>li{border-bottom:1px solid var(--line)}
	.primary-nav .menu-item-has-children{position:relative}
	.primary-nav .menu-item-has-children>a::after{display:none}
	.primary-nav .sub-menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;padding:0 0 .5rem .8rem;display:none;min-width:0}
	.primary-nav li.expanded>.sub-menu{display:block}
	.sub-toggle{display:grid;place-items:center;position:absolute;right:0;top:6px;width:38px;height:38px;border:0;background:var(--alt);border-radius:8px}
	.sub-toggle svg{transition:.2s}li.expanded>.sub-toggle svg{transform:rotate(180deg)}
	.primary-nav .nav-cta{text-align:center;justify-content:center;margin:0}
	.pres-in,.profile,.contact-grid{grid-template-columns:1fr}.pres-photo,.profile-photo{max-width:320px}
	.footer-grid{grid-template-columns:1fr 1fr}
	.topbar-info a:nth-child(2){display:none}
}
@media(max-width:640px){
	.footer-grid{grid-template-columns:1fr}.row2{grid-template-columns:1fr}.topbar{display:none}
	.mobile-cta{display:flex;position:fixed;left:0;right:0;bottom:0;background:var(--accent);color:#fff;justify-content:center;align-items:center;padding:.9rem;font-weight:600;z-index:80;box-shadow:0 -6px 20px rgba(0,0,0,.18)}.mobile-cta:hover{color:#fff}
	.to-top{bottom:70px}body{padding-bottom:52px}
	.g-item figcaption{opacity:1}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
@media print{.topbar,.site-header,.cta-band,.mobile-cta,.to-top,.site-footer{display:none}}

/* =====================================================================
   v3.1 additions
   ===================================================================== */
.muted{color:var(--muted);font-size:.9rem}
.narrow-block{max-width:820px;margin:0 auto 3rem}
.badge-now{display:inline-block;background:var(--accent);color:#fff;font-size:.66rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:.15rem .55rem;border-radius:999px;margin-left:.4rem;vertical-align:middle}
.quote-block{border-left:4px solid var(--accent);padding:.2rem 1.2rem;background:var(--alt);border-radius:0 12px 12px 0;margin-bottom:1.2rem}

/* ---- Adaptive activity cards ---- */
.grid.n1{grid-template-columns:minmax(0,1040px);justify-content:center}
.grid.n1 .card{flex-direction:row;align-items:stretch}
.grid.n1 .card-media{flex:0 0 52%;aspect-ratio:auto;min-height:340px}
.grid.n1 .card-body{justify-content:center;padding:2.2rem 2.4rem}
.grid.n1 .card-body h3{font-size:1.7rem}.grid.n1 .card-body p{font-size:1.02rem;flex:0 0 auto;margin-bottom:1.2rem}
.grid.n2{grid-template-columns:repeat(2,minmax(0,1fr));max-width:980px;margin-inline:auto}
.grid.n2 .card-body h3{font-size:1.4rem}
@media(max-width:767px){
	.grid.n1 .card{flex-direction:column}.grid.n1 .card-media{flex:none;min-height:0;aspect-ratio:10/7}.grid.n1 .card-body{padding:1.3rem 1.4rem 1.5rem}
	.grid.n2{grid-template-columns:1fr}
}

/* ---- Team / committee ---- */
.team-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:1.8rem 1.6rem;margin-bottom:.5rem}
.team-grid .team-card{flex:0 1 220px}
.team-grid.t1 .team-card{flex-basis:290px}.team-grid.t2 .team-card{flex-basis:260px}
.team-grid.small{gap:1.4rem 1.2rem}.team-grid.small .team-card{flex:0 1 158px}
.team-card.sm h3{font-size:.92rem}.team-card.sm .role{font-size:.78rem;color:var(--primary)}
.team-card.lg h3{font-size:1.08rem}
.group-title{display:flex;align-items:center;gap:1rem;margin:2.2rem 0 1.4rem;font-family:var(--font);font-size:.8rem;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);font-weight:600}
.group-title::before,.group-title::after{content:'';flex:1;height:1px;background:var(--line)}
.group-title:first-child{margin-top:0}
.committee-view{margin-bottom:3rem}
.committee-head{display:flex;align-items:center;flex-wrap:wrap;gap:.7rem 1rem;margin-bottom:1.6rem;padding-bottom:1rem;border-bottom:2px solid var(--alt)}
.committee-head h3{margin:0;font-size:1.5rem}.committee-head h3 a{color:var(--dark)}.committee-head h3 a:hover{color:var(--primary)}
.committee-head .badge-now{margin:0}
.committee-head.center-head{justify-content:center;border:0;padding:0;margin-bottom:1.4rem}
.year-block summary{gap:1rem}.year-block .ys-title{display:flex;flex-direction:column;line-height:1.35}.year-block .ys-title strong{font-weight:600;color:var(--dark)}
.year-body{padding:0 0 1.6rem}
.committee-pills{margin-bottom:2.6rem}
.team-card .team-photo{cursor:zoom-in}

/* ---- About page ---- */
.about-intro{display:block}
.about-intro.has-aside{display:grid;grid-template-columns:1fr 340px;gap:clamp(1.5rem,4vw,3.5rem);align-items:start}
.venue-card{background:var(--alt);border-radius:18px;padding:1.6rem;border:1px solid #dfe9f1}
.venue-card b{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;color:var(--accent);margin-bottom:.5rem}
.venue-card p{font-weight:600;color:var(--dark)}
.info-grid{display:grid;gap:1.6rem;margin:0 auto}
.info-grid.i1{grid-template-columns:minmax(0,900px);justify-content:center}
.info-grid.i2{grid-template-columns:repeat(2,minmax(0,1fr));max-width:1000px}
.info-grid.i3{grid-template-columns:repeat(3,minmax(0,1fr))}
.info-grid.i4{grid-template-columns:repeat(2,minmax(0,1fr));max-width:1000px}
.info-card{background:#fff;border-radius:18px;padding:1.8rem;box-shadow:var(--shadow);border:1px solid #edf1f5;display:flex;flex-direction:column;gap:1.1rem;transition:.25s}
.info-card:hover{transform:translateY(-4px)}
.info-icon{width:92px;height:92px;flex:none;border-radius:20px;background:var(--alt);overflow:hidden;display:grid;place-items:center}
.info-icon img{width:100%;height:100%;object-fit:contain}
.info-card h3{margin-bottom:.4rem;font-size:1.4rem;position:relative;padding-bottom:.6rem}
.info-card h3::after{content:'';position:absolute;left:0;bottom:0;width:44px;height:3px;background:var(--accent);border-radius:3px}
.info-card .entry{font-size:.98rem;color:#4b5563}.info-card .entry p:last-child{margin:0}
.info-grid.i1 .info-card,.info-grid.i2 .info-card{flex-direction:row;align-items:flex-start}
.info-grid.i2 .info-icon{width:80px;height:80px}
.info-grid.i1 .info-icon{width:130px;height:130px}
.milestones{background:linear-gradient(120deg,var(--dark),var(--primary)) center/cover;background-attachment:fixed;color:#fff;padding:clamp(3rem,7vw,5rem) 0}
.ms-grid{display:grid;grid-template-columns:repeat(var(--cols,4),1fr);gap:2rem 1rem;text-align:center}
.ms{padding:0 .5rem;position:relative}
.ms+.ms::before{content:'';position:absolute;left:-.5rem;top:12%;height:76%;width:1px;background:rgba(255,255,255,.25)}
.ms strong{display:block;font-family:var(--serif);font-size:clamp(2.4rem,5vw,3.6rem);line-height:1.1;color:#fff}
.ms span{display:block;margin-top:.4rem;font-size:.95rem;letter-spacing:.04em;color:#dbe9f3;text-transform:uppercase}
@media(max-width:991px){
	.about-intro.has-aside{grid-template-columns:1fr}
	.info-grid.i3{grid-template-columns:repeat(2,minmax(0,1fr))}
	.milestones{background-attachment:scroll}
}
@media(max-width:640px){
	.info-grid.i2,.info-grid.i3,.info-grid.i4{grid-template-columns:1fr}
	.info-grid.i1 .info-card,.info-grid.i2 .info-card{flex-direction:column}
	.ms-grid{grid-template-columns:repeat(2,1fr)}.ms+.ms::before{display:none}
	.ms-grid[style*="--cols:1"]{grid-template-columns:1fr}
}

/* ---- Adaptive gallery ---- */
.gal{display:grid;gap:.9rem;grid-template-columns:repeat(auto-fill,minmax(235px,1fr))}
.gal .g-item{position:relative;overflow:hidden;border-radius:14px;background:var(--alt);aspect-ratio:1;margin:0;display:block}
.gal .g-item>a{display:block;height:100%}
.gal .g-item img{width:100%;height:100%;object-fit:cover}
.gal .g-item.hide{display:none}
.gal[data-n="1"]{grid-template-columns:minmax(0,880px);justify-content:center}.gal[data-n="1"] .g-item{aspect-ratio:16/10}
.gal[data-n="2"]{grid-template-columns:repeat(2,minmax(0,1fr));max-width:1000px;margin-inline:auto}.gal[data-n="2"] .g-item{aspect-ratio:4/3}
.gal[data-n="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}.gal[data-n="3"] .g-item{aspect-ratio:4/3}
.gal[data-n="4"]{grid-template-columns:repeat(4,minmax(0,1fr))}
.gal.teaser[data-n="5"],.gal.teaser[data-n="6"]{grid-template-columns:repeat(3,minmax(0,1fr))}
.gal.teaser[data-n="7"],.gal.teaser[data-n="8"]{grid-template-columns:repeat(4,minmax(0,1fr))}
.gal.teaser .g-item:first-child:not(:only-child){}
@media(min-width:992px){.gal.teaser[data-n="5"] .g-item:first-child{grid-column:span 2;grid-row:span 2;aspect-ratio:auto}}
@media(max-width:767px){
	.gal[data-n="3"],.gal[data-n="4"],.gal.teaser[data-n="5"],.gal.teaser[data-n="6"],.gal.teaser[data-n="7"],.gal.teaser[data-n="8"]{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:480px){.gal[data-n="2"]{grid-template-columns:1fr}.gal[data-n="1"] .g-item{aspect-ratio:4/3}}
.load-more[hidden],[hidden]{display:none!important}

/* ---- Navigation: nested / committee dropdown ---- */
.primary-nav .sub-menu .sub-menu{max-height:70vh;overflow-y:auto}
.primary-nav .sub-menu .menu-item-has-children>a::after{content:'▸';float:right;margin-left:.8rem}
.primary-nav .sub-menu a{font-size:.9rem;white-space:normal}
.primary-nav .sub-menu li>a:hover,.primary-nav .sub-menu .current-menu-item>a{background:var(--alt);color:var(--primary)}
@media(max-width:991px){
	.primary-nav .sub-menu .sub-menu{max-height:none;overflow:visible}
	.primary-nav .sub-menu .menu-item-has-children>a::after{display:none}
}

/* =====================================================================
   v3.2 additions
   ===================================================================== */
.site-main{overflow-x:clip}
html:not(.js) [data-aos],html.no-aos [data-aos]{opacity:1!important;transform:none!important;pointer-events:auto!important}

/* Logo */
.brand img.custom-logo{height:var(--logo-h,56px);width:auto;max-height:none;max-width:min(300px,60vw);object-fit:contain}
@media(max-width:640px){.brand img.custom-logo{height:min(var(--logo-h,56px),46px)}}
.f-logo{display:inline-block;margin-bottom:1rem}.f-logo img{max-height:64px;width:auto}
.f-logo.chip-bg{background:#fff;padding:.5rem .8rem;border-radius:12px}

/* Section variants */
.section-dark{background:linear-gradient(160deg,#0a2234,var(--dark) 55%,#12405f);color:#cfe0ec}
.section-dark h2,.section-dark h3{color:#fff}.section-dark .section-head p{color:#a9c1d3}.section-dark .empty{background:rgba(255,255,255,.06);color:#a9c1d3}

/* About brief (home) */
.about-brief{background:#fff}
.ab-grid{display:grid;grid-template-columns:1fr;gap:clamp(1.5rem,4vw,4rem);align-items:center}
.ab-grid.has-img{grid-template-columns:minmax(0,5fr) minmax(0,6fr)}
.ab-grid:not(.has-img) .ab-copy{max-width:860px;margin-inline:auto;text-align:center}
.ab-media{position:relative}
.ab-media::before{content:'';position:absolute;inset:18px -18px -18px 18px;border-radius:22px;border:3px solid var(--accent);opacity:.35;z-index:0}
.ab-media img{position:relative;z-index:1;width:100%;aspect-ratio:4/3.4;object-fit:cover;border-radius:22px;box-shadow:var(--shadow)}
.ab-copy .lead{font-size:1.1rem;color:#4b5563}
.pillars{display:grid;gap:1rem;margin:1.6rem 0 1.8rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));text-align:left}
.pillar{display:flex;gap:.8rem;align-items:flex-start;background:var(--alt);border-radius:14px;padding:1rem;border:1px solid #e3edf4}
.pillar img{width:46px;height:46px;object-fit:contain;flex:none;border-radius:10px;background:#fff;padding:4px}
.pillar strong{display:block;color:var(--dark);font-size:.98rem;line-height:1.3}.pillar span{display:block;color:var(--muted);font-size:.84rem;margin-top:.25rem;line-height:1.5}
@media(max-width:900px){.ab-grid.has-img{grid-template-columns:1fr}.ab-media::before{display:none}}

/* Stats: columns follow the number of items */
.stats-in{grid-template-columns:repeat(var(--cols,4),1fr)}
@media(max-width:640px){.stats-in{grid-template-columns:repeat(2,1fr)}.stats-in[style*="--cols:1"]{grid-template-columns:1fr}}

/* Videos – layout changes with the number of videos */
.vid-grid{display:grid;gap:1.4rem}
.vid{margin:0}
.vid figcaption{margin-top:.7rem;font-weight:500;color:#e6eff6;font-size:.98rem;line-height:1.4}
.yt{all:unset;box-sizing:border-box;display:block;position:relative;width:100%;aspect-ratio:16/9;border-radius:16px;overflow:hidden;cursor:pointer;background:#000;box-shadow:0 14px 34px rgba(0,0,0,.35)}
.yt:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.yt img{width:100%;height:100%;object-fit:cover;transition:transform .5s,opacity .3s;opacity:.92}
.yt:hover img{transform:scale(1.05);opacity:1}
.yt-play{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}
.yt-play svg{width:68px;height:48px;filter:drop-shadow(0 4px 12px rgba(0,0,0,.5));transition:transform .25s}.yt:hover .yt-play svg{transform:scale(1.15)}
.yt iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.vid-grid[data-n="1"]{grid-template-columns:minmax(0,900px);justify-content:center}
.vid-grid[data-n="1"] .vid figcaption{text-align:center;font-size:1.15rem}
.vid-grid[data-n="2"]{grid-template-columns:repeat(2,minmax(0,1fr));max-width:1040px;margin-inline:auto}
.vid-grid[data-n="3"]{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);grid-template-rows:auto auto}
.vid-grid[data-n="3"] .vid:first-child{grid-row:span 2}.vid-grid[data-n="3"] .vid:first-child figcaption{font-size:1.15rem}
.vid-grid[data-n="4"]{grid-template-columns:repeat(2,minmax(0,1fr))}
.vid-grid[data-n="5"]{display:flex;flex-wrap:wrap;justify-content:center}
.vid-grid[data-n="5"] .vid{flex:0 1 calc((100% - 2.8rem)/3)}
.vid-actions{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap}
.player{aspect-ratio:16/9;border-radius:16px;overflow:hidden;box-shadow:var(--shadow);background:#000}.player iframe{width:100%;height:100%;border:0}
@media(max-width:900px){.vid-grid[data-n="5"] .vid{flex-basis:calc((100% - 1.4rem)/2)}}
@media(max-width:700px){
	.vid-grid[data-n="2"],.vid-grid[data-n="3"],.vid-grid[data-n="4"]{grid-template-columns:1fr}.vid-grid[data-n="3"] .vid:first-child{grid-row:auto}
	.vid-grid[data-n="5"] .vid{flex-basis:100%}
}

/* Committees showcase (home) */
.cm-section{background:radial-gradient(circle at 12% 8%,#e7f1f8,transparent 45%),radial-gradient(circle at 92% 92%,#fdeee0,transparent 40%),var(--alt)}
.cm-layout{display:grid;grid-template-columns:290px minmax(0,1fr);gap:2rem;align-items:start}
.cm-layout.single{grid-template-columns:minmax(0,1fr)}
.cm-years{display:flex;flex-direction:column;gap:.55rem;max-height:760px;overflow-y:auto;padding:.3rem;position:sticky;top:96px;scrollbar-width:thin}
.cm-year{all:unset;box-sizing:border-box;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.8rem;padding:.8rem 1rem;border-radius:14px;background:#fff;border:1px solid #e1eaf1;cursor:pointer;transition:.2s}
.cm-year:hover{border-color:var(--primary);transform:translateX(3px)}.cm-year:focus-visible{outline:3px solid var(--accent)}
.cm-year .y{font-family:var(--serif);font-weight:700;font-size:1.05rem;color:var(--primary);min-width:3.1ch}
.cm-year .t{font-size:.8rem;color:var(--muted);line-height:1.35}.cm-year .t em{font-style:normal;margin:0 0 0 .3rem}
.cm-year .n{font-size:.75rem;background:var(--alt);color:var(--muted);border-radius:999px;padding:.15rem .6rem;font-weight:600}
.cm-year.is-active{background:linear-gradient(135deg,var(--primary),var(--dark));border-color:transparent;box-shadow:var(--shadow)}
.cm-year.is-active .y,.cm-year.is-active .t{color:#fff}.cm-year.is-active .n{background:rgba(255,255,255,.2);color:#fff}
.cm-panels{background:#fff;border-radius:24px;padding:clamp(1.2rem,3vw,2.4rem);box-shadow:var(--shadow);border:1px solid #e8eff5;min-width:0}
.cm-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;flex-wrap:wrap;margin-bottom:1.8rem;padding-bottom:1.1rem;border-bottom:1px solid var(--line)}
.cm-head h3{display:inline;margin:0;font-size:clamp(1.3rem,2.4vw,1.8rem)}.cm-head .muted{display:block;margin-top:.2rem}
.cm-head .badge-now{margin:0 .5rem 0 0}

.spot{display:grid;grid-template-columns:200px 1fr;gap:1.8rem;align-items:center;background:linear-gradient(120deg,var(--dark),var(--primary));border-radius:20px;padding:1.4rem;color:#e3eef6;margin-bottom:1.6rem;position:relative;overflow:hidden}
.spot::after{content:'';position:absolute;right:-60px;top:-60px;width:220px;height:220px;border-radius:50%;background:rgba(232,121,43,.2)}
.spot-photo{display:block;aspect-ratio:1;border-radius:50%;overflow:hidden;border:5px solid rgba(255,255,255,.85);box-shadow:0 12px 30px rgba(0,0,0,.35);position:relative;z-index:1;cursor:zoom-in}
.spot-photo img{width:100%;height:100%;object-fit:cover}
.spot-copy{position:relative;z-index:1}.spot-role{display:inline-block;background:var(--accent);color:#fff;font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:.25rem .8rem;border-radius:999px;margin-bottom:.5rem}
.spot-copy h4{color:#fff;font-size:clamp(1.4rem,3vw,2rem);margin:0 0 .4rem}.spot-copy p{margin:0;font-size:.95rem;color:#d3e3ee}
.officers{display:flex;flex-wrap:wrap;justify-content:center;gap:1.2rem;margin-bottom:.5rem}
.officer{position:relative;display:block;flex:0 1 220px;aspect-ratio:4/5;border-radius:18px;overflow:hidden;box-shadow:var(--shadow);cursor:zoom-in;background:var(--alt)}
.officers.o1 .officer{flex-basis:260px}.officers.o2 .officer{flex-basis:240px}
.officer img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.officer:hover img{transform:scale(1.07)}
.officer-txt{position:absolute;inset:auto 0 0 0;padding:2.6rem 1rem .9rem;background:linear-gradient(transparent,rgba(8,26,40,.92));color:#fff;display:flex;flex-direction:column;gap:.1rem}
.officer-txt strong{font-size:1rem;line-height:1.25}.officer-txt small{color:#ffd2ae;font-weight:600;font-size:.78rem;letter-spacing:.03em}
.avatars{display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:1.4rem 1rem;justify-items:center}
.avatar{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.15rem;color:var(--ink);width:100%;cursor:zoom-in}
.avatar img{width:96px;height:96px;border-radius:50%;object-fit:cover;border:3px solid #fff;box-shadow:0 0 0 2px var(--primary),0 8px 18px rgba(13,43,64,.18);margin-bottom:.55rem;transition:.3s}
.avatar:hover img{box-shadow:0 0 0 3px var(--accent),0 12px 22px rgba(13,43,64,.25);transform:translateY(-3px)}
.avatar strong{font-size:.86rem;color:var(--dark);line-height:1.3}.avatar small{font-size:.74rem;color:var(--muted)}
@media(max-width:991px){
	.cm-layout{grid-template-columns:1fr}
	.cm-years{flex-direction:row;overflow-x:auto;overflow-y:hidden;position:static;max-height:none;padding:.2rem .1rem .7rem;gap:.6rem;scroll-snap-type:x proximity}
	.cm-year{flex:0 0 auto;min-width:200px;scroll-snap-align:start}.cm-year:hover{transform:none}
}
@media(max-width:640px){
	.spot{grid-template-columns:1fr;text-align:center;justify-items:center}.spot-photo{width:150px}
	.avatars{grid-template-columns:repeat(auto-fill,minmax(104px,1fr))}.avatar img{width:80px;height:80px}
	.officer{flex-basis:calc(50% - .6rem)}.officers.o1 .officer{flex-basis:240px}
}

/* Contact form note */
.form-note{margin:.9rem 0 0;font-size:.8rem}
.contact-form button[disabled]{opacity:.65;cursor:wait}
.cf-turnstile{margin:0 0 1rem}

/* =====================================================================
   v3.3 – people photos: show the TOP of the photo (faces) clearly
   ===================================================================== */
:root{--face-pos:50% 8%}
.avatar img,.spot-photo img,.officer img,.team-photo img,.pres-photo img,.profile-photo img{object-fit:cover;object-position:var(--face-pos)}
.avatar img{width:108px;height:108px;image-rendering:auto}
.avatars{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}
.spot{grid-template-columns:220px 1fr}
@media(max-width:640px){
	.avatar img{width:92px;height:92px}
	.avatars{grid-template-columns:repeat(auto-fill,minmax(112px,1fr))}
	.spot-photo{width:170px}
}
