/* ==========================================================================
   Gulzarilal Nanda Foundation — static site stylesheet
   Loads after Bootstrap 5.3 + Font Awesome. Sections:
   1  Fonts            7  Hero + ticker       13 Team
   2  Tokens           8  Page banner         14 Gallery / press / lightbox
   3  Base             9  Sections & titles   15 Donate + contact
   4  Buttons          10 Cards & features    16 Legal pages
   5  Top bar          11 Projects/programmes 17 Footer
   6  Header + nav     12 Mission / timeline  18 Motion + utilities
   ========================================================================== */

/* 1. Fonts (self-hosted, latin + devanagari subsets) ----------------------- */
@font-face{font-family:'Noto Sans Devanagari';font-style:normal;font-weight:400 700;font-display:swap;src:url(../fonts/noto-sans-devanagari-devanagari.woff2) format('woff2');unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}
@font-face{font-family:'Noto Sans Devanagari';font-style:normal;font-weight:400 700;font-display:swap;src:url(../fonts/noto-sans-devanagari-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Noto Serif Devanagari';font-style:normal;font-weight:600 800;font-display:swap;src:url(../fonts/noto-serif-devanagari-devanagari.woff2) format('woff2');unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}
@font-face{font-family:'Noto Serif Devanagari';font-style:normal;font-weight:600 800;font-display:swap;src:url(../fonts/noto-serif-devanagari-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* 2. Design tokens --------------------------------------------------------- */
:root{
  --navy-950:#050f26;
  --navy-900:#081c42;
  --navy-800:#0d2b62;
  --navy-700:#143a80;
  --navy-600:#1d4c9c;
  --saffron:#f28a1e;
  --saffron-600:#dc7408;
  --saffron-100:#fff1de;
  --green:#138808;
  --green-700:#0e6a06;
  --green-100:#e8f5e5;
  --gold:#c9a24a;
  --ink:#1b2236;
  --muted:#586178;
  --line:#e4e8f0;
  --bg:#ffffff;
  --bg-soft:#f5f7fc;
  --cream:#fdf8ee;
  --radius:16px;
  --radius-sm:10px;
  --shadow-sm:0 2px 10px rgba(13,43,98,.07);
  --shadow:0 10px 30px rgba(13,43,98,.11);
  --shadow-lg:0 22px 55px rgba(8,28,66,.22);
  --font-body:'Noto Sans Devanagari','Segoe UI',system-ui,-apple-system,Roboto,'Helvetica Neue',Arial,sans-serif;
  --font-head:'Noto Serif Devanagari','Noto Sans Devanagari',Georgia,'Times New Roman',serif;
  --header-h:78px;
  --ease:cubic-bezier(.22,.7,.25,1);
}

/* 3. Base ------------------------------------------------------------------ */
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--font-body);font-size:1.02rem;line-height:1.8;color:var(--ink);background:var(--bg);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:var(--font-head);font-weight:700;line-height:1.4;color:var(--navy-900);letter-spacing:0}
p{margin-bottom:1rem}
a{color:var(--navy-700);text-decoration-thickness:1px;text-underline-offset:3px;transition:color .2s}
a:hover{color:var(--saffron-600)}
img{max-width:100%;height:auto}
::selection{background:var(--saffron);color:#fff}
:focus-visible{outline:3px solid var(--saffron);outline-offset:2px;border-radius:4px}
[id]{scroll-margin-top:calc(var(--header-h) + 16px)}
.skip-link{position:absolute;left:1rem;top:-100px;z-index:2000;background:var(--navy-900);color:#fff;padding:.6rem 1rem;border-radius:0 0 var(--radius-sm) var(--radius-sm);transition:top .2s}
.skip-link:focus{top:0;color:#fff}
.tricolor-bar{height:5px;background:linear-gradient(90deg,var(--saffron) 0 33.34%,#fff 33.34% 66.66%,var(--green) 66.66% 100%)}
.tricolor-bar.on-light{background:linear-gradient(90deg,var(--saffron) 0 33.34%,var(--line) 33.34% 66.66%,var(--green) 66.66% 100%)}

/* 4. Buttons --------------------------------------------------------------- */
.btn{font-weight:600;border-radius:999px;padding:.7rem 1.6rem;line-height:1.5;transition:transform .25s var(--ease),box-shadow .25s var(--ease),background-color .25s,color .25s,border-color .25s}
.btn i{transition:transform .25s var(--ease)}
.btn:hover i.fa-arrow-right,.btn:hover i.fa-arrow-up-right-from-square{transform:translateX(4px)}
.btn-gnf{--bs-btn-color:#fff;--bs-btn-bg:var(--saffron);--bs-btn-border-color:var(--saffron);--bs-btn-hover-color:#fff;--bs-btn-hover-bg:var(--saffron-600);--bs-btn-hover-border-color:var(--saffron-600);--bs-btn-active-bg:var(--saffron-600);--bs-btn-active-border-color:var(--saffron-600);--bs-btn-focus-shadow-rgb:242,138,30;box-shadow:0 8px 20px rgba(242,138,30,.32)}
.btn-gnf:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(242,138,30,.42)}
.btn-navy{--bs-btn-color:#fff;--bs-btn-bg:var(--navy-800);--bs-btn-border-color:var(--navy-800);--bs-btn-hover-color:#fff;--bs-btn-hover-bg:var(--navy-700);--bs-btn-hover-border-color:var(--navy-700);--bs-btn-active-bg:var(--navy-900);--bs-btn-active-border-color:var(--navy-900);--bs-btn-focus-shadow-rgb:13,43,98}
.btn-navy:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(13,43,98,.28)}
.btn-outline-navy{--bs-btn-color:var(--navy-800);--bs-btn-border-color:var(--navy-800);--bs-btn-hover-color:#fff;--bs-btn-hover-bg:var(--navy-800);--bs-btn-hover-border-color:var(--navy-800);--bs-btn-active-bg:var(--navy-900);--bs-btn-active-color:#fff;--bs-btn-focus-shadow-rgb:13,43,98}
.btn-outline-navy:hover{transform:translateY(-2px)}
.btn-light-gnf{--bs-btn-color:var(--navy-900);--bs-btn-bg:#fff;--bs-btn-border-color:#fff;--bs-btn-hover-color:var(--navy-900);--bs-btn-hover-bg:var(--saffron-100);--bs-btn-hover-border-color:var(--saffron-100)}
.btn-light-gnf:hover{transform:translateY(-2px)}
.btn-ghost-light{--bs-btn-color:#fff;--bs-btn-border-color:rgba(255,255,255,.55);--bs-btn-hover-color:var(--navy-900);--bs-btn-hover-bg:#fff;--bs-btn-hover-border-color:#fff}
.btn-ghost-light:hover{transform:translateY(-2px)}
.btn-lg{padding:.85rem 2rem;font-size:1.05rem}
.link-arrow{font-weight:600;text-decoration:none;display:inline-flex;align-items:center;gap:.45rem}
.link-arrow i{font-size:.8em;transition:transform .25s var(--ease)}
.link-arrow:hover i{transform:translateX(5px)}

/* 5. Top bar --------------------------------------------------------------- */
.topbar{background:var(--navy-950);color:#c8d3ea;font-size:.86rem;line-height:1}
.topbar .container{min-height:40px}
.topbar a{color:#dbe4f7;text-decoration:none;display:inline-flex;align-items:center;gap:.45rem;padding:.6rem 0}
.topbar a:hover{color:var(--saffron)}
.topbar i{color:var(--saffron);font-size:.85em}
.topbar-contact{display:flex;gap:1.6rem;flex-wrap:wrap}
.topbar-reg{opacity:.85}
.topbar-social{display:flex;gap:.35rem}
.topbar-social a{width:30px;height:30px;justify-content:center;border-radius:50%;background:rgba(255,255,255,.08);padding:0;transition:background .25s,transform .25s}
.topbar-social a:hover{background:var(--saffron);transform:translateY(-2px)}
.topbar-social a:hover i{color:#fff}

/* 6. Header + navigation --------------------------------------------------- */
.site-header{position:sticky;top:0;z-index:1030;background:#fff;transition:box-shadow .3s}
@media (min-width:768px){.site-header{top:-40px}} /* the 40px top bar scrolls away, the navbar stays */
.site-header .navbar{padding:.55rem 0;transition:padding .3s var(--ease);background:#fff}
.site-header.is-stuck{box-shadow:0 6px 24px rgba(8,28,66,.13)}
.site-header.is-stuck .navbar{padding:.25rem 0}
.navbar-brand{display:flex;align-items:center;gap:.8rem;padding:0;margin-right:1.2rem;text-decoration:none}
.navbar-brand img{width:58px;height:58px;transition:width .3s var(--ease),height .3s var(--ease);flex:none}
.site-header.is-stuck .navbar-brand img{width:46px;height:46px}
.brand-text{display:flex;flex-direction:column;line-height:1.25}
.brand-text strong{font-family:var(--font-head);font-size:1.12rem;color:var(--navy-900);font-weight:800}
.brand-text small{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--saffron-600);font-weight:600}
.navbar-nav{--bs-nav-link-padding-x:.85rem;gap:.1rem}
.navbar .nav-link{font-weight:600;font-size:.96rem;color:var(--navy-900);position:relative;padding:.6rem .85rem;white-space:nowrap}
.navbar .nav-link::before{content:"";position:absolute;left:.85rem;right:.85rem;bottom:.2rem;height:2px;background:var(--saffron);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}
.navbar .nav-link:hover,.navbar .nav-link:focus{color:var(--saffron-600)}
.navbar .nav-link:hover::before,.navbar .nav-link.active::before,.navbar .show>.nav-link::before{transform:scaleX(1)}
.navbar .nav-link.active{color:var(--saffron-600)}
.navbar .dropdown-toggle::after{display:inline-block;border:0;margin-left:.4em;vertical-align:.05em;content:"\f078";font-family:"Font Awesome 6 Free";font-weight:900;font-size:.62em}
.dropdown-menu{border:0;border-radius:14px;box-shadow:var(--shadow);padding:.55rem;min-width:230px;border-top:3px solid var(--saffron)}
.dropdown-item{border-radius:9px;padding:.55rem .85rem;font-weight:500;color:var(--navy-900);display:flex;align-items:center;gap:.65rem}
.dropdown-item i{width:1.2rem;text-align:center;color:var(--saffron-600)}
.dropdown-item:hover,.dropdown-item:focus,.dropdown-item.active{background:var(--saffron-100);color:var(--navy-900)}
.navbar-toggler{border:0;padding:.5rem;color:var(--navy-900);font-size:1.5rem;line-height:1}
.navbar-toggler:focus{box-shadow:none;outline:3px solid var(--saffron)}
.offcanvas{max-width:88vw;height:100vh;height:100dvh} /* top:0;bottom:0 alone can collapse to content height on some mobile browsers — pin an explicit height */
.offcanvas-body{overflow-y:auto}
.offcanvas-header{border-bottom:1px solid var(--line)}
.offcanvas-title{display:flex;align-items:center;gap:.6rem;font-size:1.05rem}
.offcanvas-title img{width:42px;height:42px}
@media (min-width:992px){
  .navbar .dropdown-menu{display:block;visibility:hidden;opacity:0;transform:translateY(10px);transition:opacity .22s var(--ease),transform .22s var(--ease),visibility .22s;margin-top:0}
  .navbar .dropdown:hover>.dropdown-menu,.navbar .dropdown:focus-within>.dropdown-menu,.navbar .dropdown-menu.show{visibility:visible;opacity:1;transform:none}
  .navbar .dropdown:hover>.nav-link::before{transform:scaleX(1)}
}
@media (max-width:991.98px){
  :root{--header-h:66px}
  .navbar .nav-link{padding:.8rem .2rem;border-bottom:1px solid var(--line);font-size:1.02rem}
  .navbar .nav-link::before{display:none}
  .navbar .dropdown-menu{box-shadow:none;border-top:0;border-left:3px solid var(--saffron);border-radius:0;margin:.2rem 0 .6rem .4rem;padding:.2rem .4rem}
  .navbar-brand img{width:48px;height:48px}
  .brand-text strong{font-size:1rem}
  .brand-text small{font-size:.62rem}
  .offcanvas-body .btn{width:100%;margin-top:1.2rem}
}
@media (max-width:399.98px){.brand-text small{display:none}}

/* 7. Hero + ticker --------------------------------------------------------- */
.hero{position:relative;background:linear-gradient(135deg,var(--navy-950) 0%,var(--navy-800) 58%,var(--navy-700) 100%);color:#fff;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background:url(../images/chakra.svg) no-repeat right -160px center/700px;opacity:.07;pointer-events:none}
.hero::after{content:"";position:absolute;inset:auto 0 0 0;height:5px;background:linear-gradient(90deg,var(--saffron) 0 33.34%,#fff 33.34% 66.66%,var(--green) 66.66% 100%)}
.hero .hero-brand{min-height:clamp(540px,76vh,690px)}
.hero-slide{display:grid;grid-template-columns:1.08fr .92fr;gap:3.5rem;align-items:center;padding:4rem 0 5.2rem;min-height:inherit}
.hero-kicker{display:inline-flex;align-items:center;gap:.6rem;background:rgba(242,138,30,.16);color:#ffc98f;border:1px solid rgba(242,138,30,.4);padding:.35rem 1rem;border-radius:999px;font-size:.86rem;font-weight:600;margin-bottom:1.3rem}
.hero h1,.hero h2.hero-title{font-size:clamp(1.9rem,3.6vw,3.05rem);color:#fff;font-weight:800;line-height:1.35;margin-bottom:1.1rem}
.hero h1 span,.hero h2.hero-title span{color:var(--saffron)}
.hero p.hero-lead{font-size:1.1rem;color:#d3ddf2;max-width:34rem;margin-bottom:1.9rem}
.hero-actions{display:flex;gap:.9rem;flex-wrap:wrap}
.hero-media{position:relative;justify-self:center;width:100%;max-width:520px}
.hero-media::before{content:"";position:absolute;inset:-14px 14px 14px -14px;border:2px solid var(--saffron);border-radius:28px;opacity:.7}
.hero-media img{position:relative;width:100%;aspect-ratio:1/.92;object-fit:cover;border-radius:24px;box-shadow:var(--shadow-lg);background:#0b2a5b}
.hero-media img.contain{object-fit:contain;background:#fff;padding:.5rem}
.hero-media img.top{object-position:top}
@keyframes heroIn{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@keyframes heroMedia{from{opacity:0;transform:scale(.94) translateX(20px)}to{opacity:1;transform:none}}
@media (max-width:991.98px){
  .hero .hero-brand{min-height:0}
  .hero-slide{grid-template-columns:1fr;gap:2rem;padding:2.2rem 0 4.6rem;text-align:center}
  .hero-media{order:-1;max-width:380px}
  .hero-media::before{inset:-9px 9px 9px -9px}
  .hero p.hero-lead{margin-inline:auto}
  .hero-actions{justify-content:center}
  .hero .carousel-control-prev,.hero .carousel-control-next{display:none}
}
@media (max-width:575.98px){.hero-media{max-width:300px}.hero h1,.hero h2.hero-title{font-size:1.65rem}.hero p.hero-lead{font-size:1rem}}

.ticker{background:var(--saffron);color:#fff;position:relative;z-index:2}
.ticker .container{display:flex;align-items:center;gap:1rem;min-height:46px}
.ticker-label{flex:none;background:var(--navy-900);color:#fff;font-weight:700;font-size:.82rem;padding:.4rem .95rem;border-radius:999px;display:flex;align-items:center;gap:.5rem;letter-spacing:.03em}
.ticker-label i{color:var(--saffron)}
.ticker-track{overflow:hidden;flex:1;mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent)}
.ticker-inner{display:inline-flex;white-space:nowrap;padding:.55rem 0;animation:ticker 55s linear infinite;will-change:transform}
.ticker:hover .ticker-inner,.ticker-inner:focus-within{animation-play-state:paused}
.ticker-inner span{font-weight:500;font-size:.95rem;padding-right:3.5rem}
.ticker-inner span::before{content:"◆";margin-right:.8rem;font-size:.7em;opacity:.85}
@keyframes ticker{to{transform:translateX(-50%)}}

/* 8. Inner page banner ----------------------------------------------------- */
.page-banner{position:relative;background:linear-gradient(120deg,var(--navy-950),var(--navy-800) 70%,var(--navy-700));color:#fff;padding:3.6rem 0 3.3rem;overflow:hidden;isolation:isolate}
.page-banner::before{content:"";position:absolute;inset:0;background:url(../images/chakra.svg) no-repeat right -110px center/430px;opacity:.08;z-index:-1}
.page-banner::after{content:"";position:absolute;inset:auto 0 0 0;height:5px;background:linear-gradient(90deg,var(--saffron) 0 33.34%,#fff 33.34% 66.66%,var(--green) 66.66% 100%)}
.page-banner h1{color:#fff;font-size:clamp(1.8rem,3.4vw,2.8rem);font-weight:800;margin:0 0 .5rem}
.page-banner .sub{color:#c9d5ee;font-size:1.1rem;margin:0;max-width:44rem}
.breadcrumb{--bs-breadcrumb-divider-color:#8fa3cf;--bs-breadcrumb-item-active-color:#ffc98f;font-size:.9rem;margin-bottom:1rem}
.breadcrumb a{color:#dbe4f7;text-decoration:none}
.breadcrumb a:hover{color:var(--saffron)}

/* 9. Sections & titles ----------------------------------------------------- */
.section{padding:5rem 0}
.section-sm{padding:3.2rem 0}
.bg-soft{background:var(--bg-soft)}
.bg-cream{background:var(--cream)}
.bg-navy{background:linear-gradient(135deg,var(--navy-950),var(--navy-800));color:#e3eafa}
.bg-navy h2,.bg-navy h3,.bg-navy h4,.bg-navy h5{color:#fff}
.eyebrow{display:inline-flex;align-items:center;gap:.6rem;text-transform:uppercase;letter-spacing:.14em;font-size:.8rem;font-weight:700;color:var(--saffron-600);margin-bottom:.7rem}
.eyebrow::before{content:"";width:28px;height:2px;background:currentColor;border-radius:2px}
.bg-navy .eyebrow{color:#ffc98f}
.section-head{max-width:46rem;margin:0 auto 3rem;text-align:center}
.section-head .eyebrow{justify-content:center}
.section-title{font-size:clamp(1.55rem,2.6vw,2.2rem);font-weight:800;margin-bottom:.9rem;position:relative;padding-bottom:1rem}
.section-title::after{content:"";position:absolute;left:0;bottom:0;width:66px;height:4px;border-radius:4px;background:linear-gradient(90deg,var(--saffron) 0 50%,var(--green) 50% 100%)}
.section-head .section-title::after,.text-center .section-title::after{left:50%;transform:translateX(-50%)}
.section-sub{color:var(--muted);font-size:1.06rem}
.bg-navy .section-sub{color:#b9c7e6}
.prose p{color:#333c52}
.prose h3{font-size:1.4rem;margin:2rem 0 .8rem}
.lead-hi{font-size:1.14rem;color:#2b3550}
.divider{height:1px;background:var(--line);margin:2.2rem 0;border:0}
@media (max-width:767.98px){.section{padding:3.4rem 0}.section-sm{padding:2.4rem 0}.section-head{margin-bottom:2rem}}

/* 10. Cards & features ----------------------------------------------------- */
.card-gnf{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s;height:100%}
.card-gnf:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:transparent}
.icon-box{flex:none;width:62px;height:62px;border-radius:18px;display:grid;place-items:center;font-size:1.6rem;background:var(--saffron-100);color:var(--saffron-600);margin-bottom:1.1rem;transition:transform .35s var(--ease),background .3s,color .3s}
.card-gnf:hover .icon-box{transform:rotate(-6deg) scale(1.06);background:var(--saffron);color:#fff}
.icon-box.green{background:var(--green-100);color:var(--green)}
.card-gnf:hover .icon-box.green{background:var(--green);color:#fff}
.icon-box.navy{background:#e4ebfa;color:var(--navy-700)}
.card-gnf:hover .icon-box.navy{background:var(--navy-700);color:#fff}
.feature-card{padding:1.8rem 1.6rem}
.feature-card h3,.feature-card h4{font-size:1.16rem;margin-bottom:.6rem}
.feature-card p{color:var(--muted);margin:0;font-size:.98rem}
.feature-card .link-arrow{margin-top:1rem;font-size:.92rem}

.cta-trio{position:relative;z-index:3}
.cta-tile{display:flex;align-items:center;gap:1.1rem;padding:1.5rem 1.6rem;border-radius:var(--radius);color:#fff;text-decoration:none;height:100%;box-shadow:var(--shadow);transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.cta-tile:hover{transform:translateY(-6px);color:#fff;box-shadow:var(--shadow-lg)}
.cta-tile .ic{width:54px;height:54px;flex:none;border-radius:16px;background:rgba(255,255,255,.18);display:grid;place-items:center;font-size:1.4rem}
.cta-tile h3{color:#fff;font-size:1.12rem;margin:0 0 .15rem}
.cta-tile p{margin:0;font-size:.9rem;opacity:.92;line-height:1.55}
.cta-tile.t1{background:linear-gradient(135deg,var(--saffron),var(--saffron-600))}
.cta-tile.t2{background:linear-gradient(135deg,var(--navy-700),var(--navy-900))}
.cta-tile.t3{background:linear-gradient(135deg,#1a9a0d,var(--green-700))}

.img-frame{position:relative}
.img-frame img{border-radius:var(--radius);box-shadow:var(--shadow);width:100%}
.img-frame.offset::before{content:"";position:absolute;inset:16px -16px -16px 16px;border-radius:var(--radius);background:repeating-linear-gradient(135deg,var(--saffron-100) 0 8px,transparent 8px 16px);z-index:-1}
.badge-float{position:absolute;right:-12px;bottom:26px;background:#fff;border-radius:14px;padding:.8rem 1.1rem;box-shadow:var(--shadow);display:flex;align-items:center;gap:.75rem;max-width:230px;line-height:1.35}
.badge-float i{font-size:1.5rem;color:var(--saffron)}
.badge-float span{font-size:.8rem;color:var(--muted)}
.badge-float strong{display:block;font-size:.9rem;color:var(--navy-900)}
@media (max-width:575.98px){.badge-float{right:8px}.img-frame.offset::before{inset:10px -8px -10px 10px}}

.check-list{list-style:none;padding:0;margin:0 0 1.2rem}
.check-list li{position:relative;padding-left:2rem;margin-bottom:.6rem}
.check-list li::before{content:"\f00c";font-family:"Font Awesome 6 Free";font-weight:900;position:absolute;left:0;top:.15rem;width:1.35rem;height:1.35rem;border-radius:50%;background:var(--green-100);color:var(--green);font-size:.7rem;display:grid;place-items:center}
.pill-list{display:flex;flex-wrap:wrap;gap:.6rem;list-style:none;padding:0;margin:0 0 1.4rem}
.pill-list li{background:var(--saffron-100);color:var(--navy-900);font-weight:600;font-size:.92rem;padding:.4rem 1rem;border-radius:999px;display:inline-flex;align-items:center;gap:.5rem}
.pill-list i{color:var(--saffron-600)}

.vm-card{border-radius:var(--radius);padding:2.4rem 2.2rem;height:100%;position:relative;overflow:hidden}
.vm-card.mission{background:linear-gradient(140deg,var(--navy-900),var(--navy-700));color:#dbe5fa}
.vm-card.mission h3{color:#fff}
.vm-card.vision{background:var(--saffron-100)}
.vm-card .big-icon{position:absolute;right:-16px;top:-16px;font-size:8.5rem;opacity:.07;transform:rotate(12deg)}
.vm-card h3{font-size:1.5rem;margin-bottom:1rem;display:flex;align-items:center;gap:.7rem}
.vm-card h3 i{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;font-size:1.2rem;background:var(--saffron);color:#fff}

.notice-list{list-style:none;padding:0;margin:0}
.notice-list li{display:flex;gap:1rem;padding:1.1rem 0;border-bottom:1px dashed var(--line)}
.notice-list li:last-child{border:0}
.notice-list .dot{flex:none;width:42px;height:42px;border-radius:50%;background:var(--green-100);color:var(--green);display:grid;place-items:center;font-size:1rem}
.notice-list p{margin:0;font-weight:500}

.sdg-tile{display:block;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.sdg-tile:hover{transform:translateY(-6px) scale(1.02);box-shadow:var(--shadow)}
.sdg-tile img{display:block;width:100%}

.accordion{--bs-accordion-border-color:var(--line);--bs-accordion-btn-focus-box-shadow:0 0 0 .2rem rgba(242,138,30,.25);--bs-accordion-active-bg:var(--saffron-100);--bs-accordion-active-color:var(--navy-900);--bs-accordion-btn-icon-width:1.1rem}
.accordion-item{border-radius:var(--radius-sm)!important;overflow:hidden;margin-bottom:.8rem;border:1px solid var(--line)!important}
.accordion-button{font-family:var(--font-head);font-weight:700;color:var(--navy-900);padding:1.05rem 1.3rem;gap:.8rem;line-height:1.5}
.accordion-button .num{flex:none;width:34px;height:34px;border-radius:50%;background:var(--navy-800);color:#fff;display:grid;place-items:center;font-size:.9rem;font-family:var(--font-body)}
.accordion-button:not(.collapsed) .num{background:var(--saffron)}
.accordion-body{padding:1.1rem 1.4rem 1.4rem;color:#333c52}
.accordion-body p:last-child{margin:0}
.bg-navy .accordion{--bs-accordion-bg:rgba(255,255,255,.06);--bs-accordion-color:#dbe5fa;--bs-accordion-border-color:rgba(255,255,255,.14);--bs-accordion-active-bg:rgba(242,138,30,.16);--bs-accordion-active-color:#fff;--bs-accordion-btn-bg:transparent}
.bg-navy .accordion-button{color:#fff;background:transparent}
.bg-navy .accordion-button:not(.collapsed){background:rgba(242,138,30,.16);color:#fff;box-shadow:none}
.bg-navy .accordion-button::after{filter:invert(1) brightness(2)}
.bg-navy .accordion-item{border-color:rgba(255,255,255,.14)!important;background:rgba(255,255,255,.05)}
.bg-navy .accordion-body{color:#d3ddf2}

/* 11. Projects & programmes ------------------------------------------------ */
.project-card{overflow:hidden;display:flex;flex-direction:column}
.project-card .thumb{overflow:hidden;background:var(--bg-soft);aspect-ratio:16/10}
.project-card .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.project-card:hover .thumb img{transform:scale(1.07)}
.project-card .body{padding:1.5rem 1.5rem 1.7rem;display:flex;flex-direction:column;flex:1}
.project-card h3{font-size:1.14rem;margin-bottom:.6rem}
.project-card p{color:var(--muted);font-size:.97rem}
.project-tag{display:inline-block;align-self:flex-start;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--saffron-600);background:var(--saffron-100);border-radius:999px;padding:.3rem .75rem;margin-bottom:.7rem}
.project-tag.green{color:var(--green-700);background:var(--green-100)}
.project-tag.navy{color:var(--navy-700);background:#e4ebfa}
.mini-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.mini-gallery a{display:block;border-radius:var(--radius-sm);overflow:hidden;box-shadow:var(--shadow-sm);aspect-ratio:1/1}
.mini-gallery img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.mini-gallery a:hover img{transform:scale(1.08)}
@media (max-width:767.98px){.mini-gallery{grid-template-columns:repeat(2,1fr)}}
.programme-row{display:grid;grid-template-columns:.9fr 1.1fr;gap:3rem;align-items:center;padding:2.2rem 0}
.programme-row:nth-child(even) .programme-media{order:2}
.programme-media{position:relative}
.programme-media img{width:100%;border-radius:var(--radius);box-shadow:var(--shadow);aspect-ratio:4/3;object-fit:cover;transition:transform .5s var(--ease)}
.programme-media:hover img{transform:scale(1.02)}
.programme-num{position:absolute;left:-14px;top:-14px;width:58px;height:58px;border-radius:18px;background:var(--saffron);color:#fff;font-family:var(--font-head);font-weight:800;font-size:1.5rem;display:grid;place-items:center;box-shadow:0 10px 22px rgba(242,138,30,.4)}
.programme-body h2{font-size:1.5rem;margin-bottom:1rem}
@media (max-width:991.98px){.programme-row{grid-template-columns:1fr;gap:1.6rem;padding:1.6rem 0}.programme-row:nth-child(even) .programme-media{order:0}.programme-num{left:10px;top:10px}}
.banner-strip img{width:100%;border-radius:var(--radius);box-shadow:var(--shadow)}
.collage{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.collage img{width:100%;height:100%;object-fit:cover;border-radius:var(--radius);box-shadow:var(--shadow-sm);aspect-ratio:4/3.4}
.collage img:first-child{grid-column:1/-1;aspect-ratio:16/8}

/* 12. Mission list, values, timeline, tabs --------------------------------- */
.mission-item{display:flex;gap:1.1rem;padding:1.5rem;height:100%}
.mission-item .no{flex:none;width:46px;height:46px;border-radius:14px;background:linear-gradient(135deg,var(--saffron),var(--saffron-600));color:#fff;font-family:var(--font-head);font-weight:800;display:grid;place-items:center;font-size:1.1rem}
.mission-item h3{font-size:1.06rem;margin-bottom:.4rem}
.mission-item p{color:var(--muted);margin:0;font-size:.95rem;line-height:1.75}
.value-chip{text-align:center;padding:1.4rem 1rem}
.value-chip i{font-size:1.7rem;color:var(--saffron-600);margin-bottom:.6rem;display:block}
.value-chip h3{font-size:1.02rem;margin:0}
.quote-box{position:relative;background:var(--cream);border-left:5px solid var(--saffron);border-radius:0 var(--radius) var(--radius) 0;padding:1.6rem 1.8rem 1.6rem 2rem;font-family:var(--font-head);font-size:1.12rem;color:var(--navy-900)}
.quote-box::before{content:"\201C";position:absolute;left:.6rem;top:-.2rem;font-size:3.6rem;line-height:1;color:var(--saffron);opacity:.45}
.nav-pills-gnf{gap:.5rem;flex-wrap:wrap;margin-bottom:1.6rem}
.nav-pills-gnf .nav-link{border-radius:999px;font-weight:600;color:var(--navy-800);background:#fff;border:1px solid var(--line);padding:.5rem 1.15rem;font-size:.94rem}
.nav-pills-gnf .nav-link:hover{border-color:var(--saffron);color:var(--saffron-600)}
.nav-pills-gnf .nav-link.active{background:var(--navy-800);border-color:var(--navy-800);color:#fff}
.tab-pane{animation:fadeUp .5s var(--ease)}
@keyframes fadeUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.bio-portrait{position:relative}
.bio-portrait img{border-radius:var(--radius);box-shadow:var(--shadow);width:100%}
.bio-facts{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin-top:1.2rem}
.bio-facts div{background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);padding:.75rem 1rem;font-size:.9rem;line-height:1.5}
.bio-facts b{display:block;color:var(--saffron-600);font-size:.72rem;text-transform:uppercase;letter-spacing:.1em}

/* 13. Team ----------------------------------------------------------------- */
.person-card{padding:1.8rem 1.4rem;text-align:center}
.avatar{width:84px;height:84px;border-radius:50%;margin:0 auto 1.1rem;display:grid;place-items:center;font-family:var(--font-head);font-weight:800;font-size:1.7rem;color:#fff;background:linear-gradient(135deg,var(--navy-700),var(--navy-900));position:relative;box-shadow:0 8px 18px rgba(13,43,98,.25)}
.avatar::after{content:"";position:absolute;inset:-5px;border-radius:50%;border:2px dashed var(--saffron);opacity:.7;transition:transform .8s var(--ease)}
.person-card:hover .avatar::after{transform:rotate(90deg)}
.avatar.a2{background:linear-gradient(135deg,var(--saffron),var(--saffron-600))}
.avatar.a3{background:linear-gradient(135deg,#1a9a0d,var(--green-700))}
.person-card h3{font-size:1.08rem;margin-bottom:.25rem}
.person-card .role{display:inline-block;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--saffron-600);margin-bottom:.5rem}
.person-card p{color:var(--muted);font-size:.9rem;margin:0;line-height:1.6}
.person-card.compact{padding:1.4rem 1.2rem}
.person-card.compact .avatar{width:68px;height:68px;font-size:1.35rem}

/* 14. Gallery, press, lightbox --------------------------------------------- */
.filter-bar{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center;margin-bottom:2.2rem}
.filter-btn{border:1px solid var(--line);background:#fff;color:var(--navy-800);font-weight:600;padding:.5rem 1.2rem;border-radius:999px;font-size:.93rem;transition:all .25s var(--ease)}
.filter-btn:hover{border-color:var(--saffron);color:var(--saffron-600)}
.filter-btn.active{background:var(--navy-800);border-color:var(--navy-800);color:#fff;box-shadow:0 8px 18px rgba(13,43,98,.25)}
.masonry{column-count:1;column-gap:1.1rem}
@media (min-width:480px){.masonry{column-count:2}}
@media (min-width:992px){.masonry{column-count:3}}
@media (min-width:1200px){.masonry.cols-4{column-count:4}}
.masonry-item{break-inside:avoid;margin:0 0 1.1rem;display:block;position:relative;border-radius:var(--radius-sm);overflow:hidden;background:var(--bg-soft);box-shadow:var(--shadow-sm);cursor:zoom-in;transition:box-shadow .35s,transform .35s var(--ease)}
.masonry-item img{display:block;width:100%;height:auto;transition:transform .6s var(--ease),filter .4s}
.masonry-item::after{content:"\f00e";font-family:"Font Awesome 6 Free";font-weight:900;position:absolute;right:.8rem;bottom:.8rem;width:42px;height:42px;border-radius:50%;background:var(--saffron);color:#fff;display:grid;place-items:center;transform:scale(0);transition:transform .3s var(--ease)}
.masonry-item::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(8,28,66,.55));opacity:0;transition:opacity .35s;z-index:1;pointer-events:none}
.masonry-item:hover{box-shadow:var(--shadow);transform:translateY(-3px)}
.masonry-item:hover img{transform:scale(1.05)}
.masonry-item:hover::after{transform:scale(1);z-index:2}
.masonry-item:hover::before{opacity:1}
.masonry-item.is-hidden{display:none}
.masonry-item.filtered-out{display:none}
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;grid-auto-flow:dense}
.gallery-grid .masonry-item{margin:0;aspect-ratio:1/1}
.gallery-grid .masonry-item img{height:100%;object-fit:cover}
.gallery-grid .masonry-item:nth-child(1),.gallery-grid .masonry-item:nth-child(6){grid-column:span 2;grid-row:span 2;aspect-ratio:auto}
@media (max-width:991.98px){.gallery-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:575.98px){.gallery-grid{grid-template-columns:repeat(2,1fr);gap:.7rem}}
.count-note{color:var(--muted);font-size:.92rem;text-align:center;margin-top:1.4rem}

.lightbox .modal-content{background:rgba(5,15,38,.98);border:0;border-radius:0}
.lightbox .modal-body{display:flex;align-items:center;justify-content:center;padding:1rem 4.5rem}
.lb-figure{margin:0;text-align:center;max-width:100%}
.lb-img{max-height:calc(100vh - 150px);max-width:100%;width:auto;border-radius:8px;box-shadow:0 20px 60px rgba(0,0,0,.55);background:#0b1a3a;animation:lbIn .35s var(--ease)}
@keyframes lbIn{from{opacity:0;transform:scale(.97)}to{opacity:1;transform:none}}
.lb-cap{color:#cdd8f0;margin-top:1rem;font-size:.95rem;line-height:1.6}
.lb-count{position:absolute;left:1.2rem;top:1.1rem;color:#cdd8f0;font-size:.9rem;background:rgba(255,255,255,.1);border-radius:999px;padding:.25rem .85rem}
.lb-close{position:absolute;right:1.1rem;top:.9rem;z-index:5;width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.12);border:0;color:#fff;font-size:1.1rem;transition:background .25s}
.lb-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:50px;height:50px;border-radius:50%;background:rgba(255,255,255,.12);border:0;color:#fff;font-size:1.1rem;transition:background .25s,transform .25s}
.lb-close:hover,.lb-nav:hover{background:var(--saffron)}
.lb-prev{left:1rem}.lb-next{right:1rem}
@media (max-width:575.98px){.lightbox .modal-body{padding:3.6rem .5rem 1rem}.lb-nav{top:auto;bottom:1rem;transform:none;width:44px;height:44px}.lb-prev{left:calc(50% - 56px)}.lb-next{right:calc(50% - 56px)}.lb-img{max-height:calc(100vh - 200px)}}

/* 15. Donate + contact ----------------------------------------------------- */
.donate-card{background:#fff;border-radius:24px;box-shadow:var(--shadow);padding:2.2rem;text-align:center;border:1px solid var(--line);position:relative;overflow:hidden}
.donate-card::before{content:"";position:absolute;inset:0 0 auto 0;height:6px;background:linear-gradient(90deg,var(--saffron) 0 33.34%,var(--line) 33.34% 66.66%,var(--green) 66.66% 100%)}
.qr-wrap{display:inline-block;padding:14px;background:#fff;border:2px dashed var(--saffron);border-radius:20px;margin:1rem 0 1.2rem}
.qr-wrap img{width:min(260px,64vw);height:auto;display:block;cursor:zoom-in}
.impact-item{display:flex;align-items:center;gap:1rem;padding:1rem 1.2rem;border-radius:var(--radius-sm);background:var(--saffron-100);margin-bottom:.9rem;font-weight:600;color:var(--navy-900)}
.impact-item i{font-size:1.4rem;color:var(--saffron-600);width:2rem;text-align:center}
.impact-item:nth-child(2){background:#e4ebfa}.impact-item:nth-child(2) i{color:var(--navy-700)}
.impact-item:nth-child(3){background:var(--green-100)}.impact-item:nth-child(3) i{color:var(--green)}
.contact-card{padding:1.5rem;display:flex;gap:1.1rem;align-items:flex-start}
.contact-card .icon-box{margin:0;flex:none;width:54px;height:54px;font-size:1.3rem}
.contact-card h3{font-size:1.05rem;margin-bottom:.3rem}
.contact-card p,.contact-card address{margin:0;color:var(--muted);font-size:.96rem;line-height:1.7}
.contact-card a{color:var(--navy-800);text-decoration:none;font-weight:500}
.contact-card a:hover{color:var(--saffron-600)}
.form-panel{background:#fff;border-radius:22px;padding:2.2rem;box-shadow:var(--shadow);border:1px solid var(--line)}
.form-label{font-weight:600;color:var(--navy-900);font-size:.94rem}
.form-control,.form-select{border-radius:12px;border:1.5px solid #d5dbe8;padding:.72rem 1rem;background-color:#fbfcff;font-size:1rem}
.form-control:focus,.form-select:focus{border-color:var(--saffron);box-shadow:0 0 0 .22rem rgba(242,138,30,.18);background:#fff}
.form-text{font-size:.84rem}
.form-status{border-radius:12px;padding:1rem 1.2rem;display:none;margin-top:1.2rem;font-weight:500}
.form-status.show{display:block;animation:fadeUp .4s var(--ease)}
.form-status.ok{background:var(--green-100);color:var(--green-700)}
.form-status.err{background:#fdecec;color:#a62a2a}
.leader-card{padding:1.6rem 1.5rem;text-align:center}
.leader-card .role{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--saffron-600)}
.leader-card h3{font-size:1.12rem;margin:.2rem 0}
.leader-card p{margin:0;color:var(--muted);font-size:.92rem}
.step-card{padding:1.8rem 1.6rem;position:relative}
.step-card .step-no{position:absolute;right:1.2rem;top:.6rem;font-family:var(--font-head);font-size:3.2rem;font-weight:800;color:var(--saffron);opacity:.16;line-height:1}
.step-card h3{font-size:1.12rem;margin-bottom:.55rem}
.step-card p{color:var(--muted);margin:0;font-size:.96rem}

/* 16. Legal pages ---------------------------------------------------------- */
.legal-toc{position:sticky;top:calc(var(--header-h) + 20px);background:var(--bg-soft);border-radius:var(--radius);padding:1.4rem 1.3rem}
.legal-toc h2{font-size:1rem;margin-bottom:.8rem}
.legal-toc ol{list-style:none;padding:0;margin:0;counter-reset:toc}
.legal-toc a{display:block;padding:.4rem .7rem;border-radius:8px;text-decoration:none;color:var(--muted);font-size:.9rem;line-height:1.5;border-left:3px solid transparent}
.legal-toc a:hover,.legal-toc a.active{background:#fff;color:var(--navy-900);border-left-color:var(--saffron)}
.legal-section{padding:1.6rem 1.8rem;border-radius:var(--radius);background:#fff;border:1px solid var(--line);margin-bottom:1.1rem;box-shadow:var(--shadow-sm)}
.legal-section h2{font-size:1.2rem;margin-bottom:.6rem;display:flex;gap:.8rem;align-items:baseline}
.legal-section h2 .n{color:var(--saffron-600)}
.legal-section p:last-child,.legal-section ul:last-child{margin-bottom:0}
.updated{display:inline-flex;gap:.5rem;align-items:center;color:var(--muted);font-size:.9rem;background:var(--bg-soft);padding:.35rem .9rem;border-radius:999px}

/* 17. Footer --------------------------------------------------------------- */
.cta-band{background:linear-gradient(120deg,var(--saffron),var(--saffron-600));color:#fff;position:relative;overflow:hidden}
.cta-band::before{content:"";position:absolute;inset:0;background:url(../images/chakra.svg) no-repeat left -140px center/520px;opacity:.12}
.cta-band h2{color:#fff;font-size:clamp(1.5rem,2.6vw,2.1rem);font-weight:800}
.cta-band p{color:#fff3e4;margin:0;font-size:1.06rem}
.site-footer{background:var(--navy-950);color:#aab8d8;font-size:.96rem;position:relative}
.site-footer .footer-main{padding:4.2rem 0 2.6rem}
.site-footer h2.fh{font-family:var(--font-head);font-size:1.12rem;color:#fff;margin-bottom:1.3rem;position:relative;padding-bottom:.8rem}
.site-footer h2.fh::after{content:"";position:absolute;left:0;bottom:0;width:42px;height:3px;border-radius:3px;background:linear-gradient(90deg,var(--saffron) 0 50%,var(--green) 50% 100%)}
.site-footer a{color:#aab8d8;text-decoration:none;transition:color .2s,padding .25s var(--ease)}
.site-footer a:hover{color:var(--saffron)}
.footer-brand{display:flex;gap:.9rem;align-items:center;margin-bottom:1.1rem}
.footer-brand img{width:64px;height:64px}
.footer-brand strong{font-family:var(--font-head);font-size:1.15rem;color:#fff;display:block;line-height:1.3}
.footer-brand small{color:var(--saffron);letter-spacing:.12em;text-transform:uppercase;font-size:.68rem;font-weight:600}
.footer-links{list-style:none;padding:0;margin:0}
.footer-links li{margin-bottom:.55rem}
.footer-links a::before{content:"\f105";font-family:"Font Awesome 6 Free";font-weight:900;margin-right:.6rem;color:var(--saffron);font-size:.8em}
.footer-links a:hover{padding-left:.3rem}
.footer-contact{list-style:none;padding:0;margin:0}
.footer-contact li{display:flex;gap:.9rem;margin-bottom:1rem;line-height:1.65}
.footer-contact i{color:var(--saffron);margin-top:.3rem;width:1.1rem;text-align:center;flex:none}
.social-links{display:flex;gap:.6rem;margin-top:1.3rem}
.social-links a{width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.08);display:grid;place-items:center;color:#fff;font-size:1.1rem;transition:background .25s,transform .25s var(--ease)}
.social-links a:hover{background:var(--saffron);color:#fff;transform:translateY(-4px)}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding:1.2rem 0;font-size:.88rem}
.footer-bottom ul{list-style:none;display:flex;gap:1.4rem;margin:0;padding:0;flex-wrap:wrap}
.reg-note{background:rgba(255,255,255,.06);border-radius:12px;padding:.8rem 1rem;font-size:.85rem;line-height:1.6;margin-top:1rem}
.to-top{position:fixed;right:1.2rem;bottom:1.2rem;z-index:1040;width:48px;height:48px;border:0;border-radius:50%;background:var(--saffron);color:#fff;font-size:1.1rem;box-shadow:0 10px 24px rgba(242,138,30,.45);opacity:0;visibility:hidden;transform:translateY(20px);transition:all .35s var(--ease)}
.to-top.show{opacity:1;visibility:visible;transform:none}
.to-top:hover{background:var(--navy-800);transform:translateY(-4px)}
.wa-float{position:fixed;left:1.2rem;bottom:1.2rem;z-index:1040;width:52px;height:52px;border-radius:50%;background:#25d366;color:#fff;font-size:1.6rem;display:grid;place-items:center;box-shadow:0 10px 24px rgba(37,211,102,.45);text-decoration:none;transition:transform .3s var(--ease)}
.wa-float:hover{color:#fff;transform:scale(1.1)}

/* 18. Motion + utilities --------------------------------------------------- */
.js [data-animate]{opacity:0;transition:opacity .8s var(--ease),transform .8s var(--ease);transition-delay:var(--d,0s);will-change:opacity,transform}
.js [data-animate="fade-up"]{transform:translateY(34px)}
.js [data-animate="fade-down"]{transform:translateY(-34px)}
.js [data-animate="fade-left"]{transform:translateX(44px)}
.js [data-animate="fade-right"]{transform:translateX(-44px)}
.js [data-animate="zoom-in"]{transform:scale(.92)}
.js [data-animate].in-view{opacity:1;transform:none}
main{overflow-x:clip} /* off-screen reveal transforms must never create a horizontal scrollbar */
h1,h2,h3,h4,h5,h6,p,.org-roles li,.footer-links a,.footer-contact span{overflow-wrap:break-word;word-break:break-word} /* CMS text (member names/descriptions) has no spaces guaranteed — never let it force horizontal scroll */
@media (max-width:991.98px){.g-5,.gx-5{--bs-gutter-x:1.5rem}} /* keep wide row gutters inside the container padding */
@media (max-width:575.98px){.container{--bs-gutter-x:2rem}}
@media (max-width:991.98px){.js [data-animate="fade-left"],.js [data-animate="fade-right"]{transform:translateY(30px)}}
.text-saffron{color:var(--saffron-600)!important}
.text-navy{color:var(--navy-900)!important}
.rounded-gnf{border-radius:var(--radius)!important}
.shadow-gnf{box-shadow:var(--shadow)!important}
noscript .hero-slide{display:block}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .js [data-animate]{opacity:1;transform:none}
  .ticker-inner{animation:none}
}
@media print{.topbar,.site-header,.site-footer,.to-top,.wa-float,.cta-band,.ticker{display:none!important}}

/* Small helpers */
.emblem-sm{width:120px;height:120px;flex:none}
.acc-sub{display:block;font-weight:400;font-family:var(--font-body);font-size:.85rem;opacity:.75}
.emblem-panel{background:linear-gradient(135deg,var(--navy-950),var(--navy-800));border-radius:var(--radius);padding:2.2rem;text-align:center;box-shadow:var(--shadow)}
.emblem-panel::before{display:none!important}
.emblem-panel img{max-width:340px;box-shadow:none;border-radius:0;margin:0 auto;display:block}

/* Central Working Committee (home, right below the hero) ------------------- */
.committee{background:linear-gradient(180deg,var(--bg-soft) 0%,#fff 82%);position:relative;overflow:hidden;isolation:isolate}
.committee::before{content:"";position:absolute;inset:0;background:url(../images/chakra.svg) no-repeat left -200px top 30px/620px;opacity:.035;filter:invert(1);z-index:-1;pointer-events:none}
.org-chair{position:relative;max-width:680px;margin:0 auto;text-align:center;padding:3.6rem 2rem 2.2rem;border-radius:24px;background:linear-gradient(140deg,var(--navy-950),var(--navy-800) 62%,var(--navy-700));color:#d3ddf2;box-shadow:var(--shadow-lg);overflow:hidden}
.org-chair::before{content:"";position:absolute;inset:0;background:url(../images/chakra.svg) no-repeat right -90px bottom -110px/340px;opacity:.07;pointer-events:none}
.org-chair::after{content:"";position:absolute;inset:auto 0 0 0;height:5px;background:linear-gradient(90deg,var(--saffron) 0 33.34%,#fff 33.34% 66.66%,var(--green) 66.66% 100%)}
.org-chair h3{color:#fff;font-size:clamp(1.4rem,2.4vw,1.75rem);margin:1rem 0 .7rem}
.org-ribbon{position:absolute;top:0;left:50%;transform:translateX(-50%);background:linear-gradient(135deg,var(--gold),#e6c877);color:#3a2905;font-weight:800;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;padding:.45rem 1.4rem;border-radius:0 0 14px 14px;display:inline-flex;gap:.55rem;align-items:center;box-shadow:0 6px 16px rgba(0,0,0,.25)}
.avatar-xl{width:112px;height:112px;font-size:2.3rem;background:linear-gradient(135deg,var(--saffron),var(--saffron-600));box-shadow:0 0 0 4px rgba(201,162,74,.95),0 14px 32px rgba(0,0,0,.35)}
.org-chair .avatar::after{border-color:var(--gold);inset:-12px}
.org-roles{list-style:none;padding:0;margin:0}
.org-roles li{line-height:1.6;font-size:.94rem;color:var(--muted)}
.org-roles li:first-child{font-weight:600;color:var(--navy-900)}
.org-chair .org-roles li{color:#c3d0ea}
.org-chair .org-roles li:first-child{color:#fff;font-size:1.02rem}
.org-row{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem;padding-top:0;margin-top:2.2rem}
.org-node{position:relative}
.org-card{padding:1.7rem 1.3rem 1.5rem;text-align:center;border-top:4px solid var(--navy-700)}
.org-node:nth-child(2) .org-card{border-top-color:var(--saffron)}
.org-node:nth-child(3) .org-card{border-top-color:var(--green)}
.org-node:nth-child(4) .org-card{border-top-color:var(--gold)}
.org-card h3{font-size:1.08rem;margin-bottom:.5rem}
.org-role{display:inline-flex;gap:.45rem;align-items:center;background:var(--saffron-100);color:var(--saffron-600);font-weight:700;font-size:.72rem;letter-spacing:.09em;text-transform:uppercase;padding:.3rem .85rem;border-radius:999px;margin-bottom:1.1rem}
.org-subhead{display:flex;align-items:center;gap:1.2rem;margin:3.4rem 0 1.7rem;font-size:1.2rem;color:var(--navy-900)}
.org-subhead::before,.org-subhead::after{content:"";flex:1;height:1px;background:var(--line)}
.org-subhead span{display:inline-flex;align-items:center;gap:.7rem;text-align:center}
.org-subhead i{color:var(--saffron-600)}
.member-card{display:flex;gap:1rem;align-items:center;padding:1.15rem 1.25rem;height:100%}
.member-card .avatar{width:60px;height:60px;font-size:1.12rem;margin:0;flex:none;box-shadow:none}
.member-card .avatar::after{inset:-4px}
.member-card h4{font-size:1rem;margin:0 0 .15rem;line-height:1.4}
.member-card p{margin:0;font-size:.86rem;color:var(--muted);line-height:1.5}
.member-tag{display:inline-block;font-size:.66rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;background:var(--green-100);color:var(--green-700);padding:.12rem .6rem;border-radius:8px;margin-bottom:.3rem;line-height:1.5}
.member-tag.gold{background:var(--saffron-100);color:var(--saffron-600)}
.org-minor{margin:2rem 0 1rem;font-size:.85rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:.9rem}
.org-minor::after{content:"";flex:1;height:1px;background:var(--line)}
@media (max-width:991.98px){
  .org-row{grid-template-columns:repeat(2,1fr);padding-top:0;margin-top:1.6rem}
}
@media (max-width:575.98px){.org-row{grid-template-columns:1fr}.org-chair{padding:3.4rem 1.2rem 1.8rem}.org-subhead{margin-top:2.6rem;font-size:1.05rem}}

/* Volunteer call — scrolling red strip under the header ------------------- */
.notice-bar{position:relative;overflow:hidden;background:linear-gradient(180deg,#ff1a1a 0%,#f20000 55%,#e00000 100%);color:#fff;border-top:2px solid #fff;border-bottom:4px solid var(--saffron)}
.notice-inner{display:flex;align-items:center;gap:1rem;padding:.5rem 1rem .5rem 0}
.notice-marquee{flex:1;min-width:0;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 2.5%,#000 97%,transparent)}
.notice-move{display:inline-flex;white-space:nowrap;animation:noticeScroll var(--dur,70s) linear infinite;will-change:transform}
.notice-bar:hover .notice-move{animation-play-state:paused}
.notice-move span{font-weight:700;font-size:clamp(.95rem,1.1vw,1.1rem);line-height:1.7;padding-right:6rem;text-shadow:0 1px 2px rgba(0,0,0,.25)}
.notice-cta{flex:none;position:relative;z-index:1;display:inline-flex;align-items:center;gap:.5rem;background:#fff;color:#d40000;font-weight:800;font-size:.9rem;text-decoration:none;padding:.4rem 1.1rem;border-radius:999px;box-shadow:0 4px 12px rgba(0,0,0,.25);transition:transform .25s var(--ease),background .25s,color .25s}
.notice-cta:hover{background:var(--navy-900);color:#fff;transform:translateY(-2px)}
.notice-cta i{font-size:.75em;transition:transform .25s var(--ease)}
.notice-cta:hover i{transform:translateX(4px)}
@keyframes noticeScroll{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){
  .notice-marquee{mask-image:none}
  .notice-move{animation:none;display:block;white-space:normal;text-align:center}
  .notice-move span{padding:0}
  .notice-move span:not(:first-child){display:none}
  .notice-inner{padding-left:1rem}
}

/* Press showcase (home) --------------------------------------------------- */
.press-showcase{position:relative;isolation:isolate;overflow:hidden}
.press-showcase::before{content:"";position:absolute;inset:0;background:url(../images/chakra.svg) no-repeat left -220px bottom -260px/700px;opacity:.06;z-index:-1;pointer-events:none}
.press-showcase .lead-hi{color:#fff}
.press-stat{display:flex;align-items:center;gap:1rem;margin:1.6rem 0}
.press-stat strong{font-family:var(--font-head);font-size:3.2rem;line-height:1;color:var(--saffron);font-weight:800}
.press-stat span{display:block;font-weight:700;color:#fff;line-height:1.35}
.press-stat small{display:block;font-weight:400;color:#9fb1d6;font-size:.82rem}
.press-controls{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}
.press-arrow{width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.06);color:#fff;transition:background .25s,border-color .25s,transform .25s var(--ease)}
.press-arrow:hover{background:var(--saffron);border-color:var(--saffron);transform:translateY(-2px)}
.press-controls .btn{margin-left:.6rem}
.stage-frame{position:relative;height:clamp(340px,42vw,500px);border-radius:22px;overflow:hidden;background:radial-gradient(circle at 30% 20%,#f7f1e3,#e8dfc9);box-shadow:var(--shadow-lg),inset 0 0 0 1px rgba(255,255,255,.4);padding:1.1rem}
.stage-slide{position:absolute;inset:1.1rem 1.1rem 1.5rem;display:flex;align-items:center;justify-content:center;min-height:0;opacity:0;visibility:hidden;transform:scale(.97) translateY(8px);transition:opacity .6s var(--ease),transform .6s var(--ease),visibility .6s;cursor:zoom-in}
.stage-slide.active{opacity:1;visibility:visible;transform:none}
.stage-slide img{max-width:100%;max-height:100%;width:auto;height:auto;min-height:0;background:#fff;border:1px solid #d9cfb7;box-shadow:0 14px 34px rgba(60,40,10,.3);border-radius:3px;transition:transform .5s var(--ease)}
.stage-slide:hover img{transform:scale(1.02)}
.stage-count,.stage-hint{position:absolute;top:.9rem;z-index:3;font-size:.8rem;font-weight:700;border-radius:999px;padding:.25rem .85rem;background:rgba(8,28,66,.88);color:#fff;letter-spacing:.04em}
.stage-count{left:.9rem}
.stage-hint{right:.9rem;display:inline-flex;gap:.45rem;align-items:center;background:rgba(242,138,30,.95)}
.stage-progress{position:absolute;left:0;right:0;bottom:0;height:5px;background:rgba(8,28,66,.15);z-index:3}
.stage-progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--saffron),var(--green))}
.press-showcase:not(.is-paused) .stage-progress span{animation:pressProgress var(--press-dur,5.5s) linear forwards}
@keyframes pressProgress{from{width:0}to{width:100%}}
.press-thumbs{display:flex;gap:.7rem;overflow-x:auto;scroll-snap-type:x proximity;padding:1.1rem .25rem .6rem;scrollbar-width:none}
.press-thumbs::-webkit-scrollbar{display:none}
.pthumb{flex:0 0 92px;height:74px;padding:0;border:2px solid transparent;border-radius:10px;overflow:hidden;background:#fff;opacity:.55;scroll-snap-align:center;transition:opacity .3s,border-color .3s,transform .3s var(--ease)}
.pthumb img{width:100%;height:100%;object-fit:cover;object-position:top;display:block}
.pthumb:hover{opacity:.9}
.pthumb.active{opacity:1;border-color:var(--saffron);transform:translateY(-4px);box-shadow:0 10px 20px rgba(0,0,0,.35)}
@media (max-width:991.98px){.press-controls .btn{margin-left:0}}
@media (max-width:575.98px){.stage-frame{height:360px;padding:.8rem}.stage-slide{inset:.8rem .8rem 1.2rem}.stage-hint{display:none}.pthumb{flex-basis:78px;height:64px}}

/* About poster (home) */
.about-poster{max-width:520px;margin-inline:auto}
.badge-float.left{left:-14px;right:auto;bottom:34px}
@media (max-width:575.98px){.badge-float.left{left:8px}}

/* Chairman card — photo poster on the right */
.org-chair.split{max-width:1060px;display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);align-items:stretch;text-align:left;padding:0}
.org-chair.split::before{background-position:left -70px bottom -120px;background-size:320px}
.org-chair.split .org-ribbon{left:2rem;transform:none}
.chair-info{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:center;padding:4.2rem 1.5rem 2.6rem 2.6rem}
.chair-info .avatar{margin:0 0 1.2rem}
.chair-info h3{margin:.2rem 0 .8rem}
.chair-photo{position:relative;margin:0;display:flex;align-items:flex-end;justify-content:center;padding:1.6rem 1rem 0 0;background:radial-gradient(circle at 70% 25%,#fff 0%,#fff6e8 55%,#ffe9c9 100%);border-radius:0 24px 24px 0;overflow:hidden}
.chair-photo::before{content:"";position:absolute;inset:0;background:url(../images/chakra.svg) no-repeat right -80px top -80px/300px;filter:invert(1);opacity:.05;pointer-events:none}
.chair-photo img{position:relative;display:block;width:100%;height:auto;max-height:420px;object-fit:contain;object-position:bottom right;transition:transform .6s var(--ease)}
.org-chair.split:hover .chair-photo img{transform:scale(1.03)}
@media (max-width:991.98px){
  .org-chair.split{grid-template-columns:1fr;max-width:680px;text-align:center}
  .org-chair.split .org-ribbon{left:50%;transform:translateX(-50%)}
  .chair-info{align-items:center;padding:3.6rem 1.5rem 1.6rem}
  .chair-photo{border-radius:0;padding:0 .8rem}
  .chair-photo img{max-height:none}
}
@media (max-width:575.98px){
  .org-chair.split .avatar-xl{width:84px;height:84px;font-size:1.7rem}
  .org-chair.split .chair-info{padding:2.6rem 1.1rem 1.1rem}
  .org-chair.split .chair-info h3{font-size:1.28rem;margin:.5rem 0 .55rem}
  .org-chair.split .org-roles li{font-size:.86rem;line-height:1.5}
  .org-chair.split .org-roles li:first-child{font-size:.92rem}
  .org-chair.split .chair-photo img{max-height:260px}
}


/* ==========================================================================
   Hero brand slide — tricolor backdrop, cut-out portrait, typewriter kicker,
   word-by-word title and a real 3D-extruded spinning GNF
   ========================================================================== */
.hero-brand .brand-bg{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.brand-bg .blob{position:absolute;border-radius:50%;filter:blur(72px);will-change:transform}
.b-white{width:400px;height:400px;left:24%;bottom:-230px;background:#fff;opacity:.15;animation:blobB 20s ease-in-out infinite alternate}
.b-green{width:580px;height:580px;right:-170px;bottom:-240px;background:#138808;opacity:.55;animation:blobC 18s ease-in-out infinite alternate}
.brand-chakra{position:absolute;width:600px;height:600px;left:-150px;top:50%;margin-top:-300px;background:url(../images/chakra.svg) center/contain no-repeat;opacity:.09;animation:brandSpin 90s linear infinite}
@keyframes brandSpin{to{transform:rotate(360deg)}}
@keyframes blobA{to{transform:translate(120px,90px) scale(1.15)}}
@keyframes blobB{to{transform:translate(-160px,-40px) scale(1.25)}}
@keyframes blobC{to{transform:translate(-110px,-80px) scale(1.12)}}

.brand-slide{position:relative;display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:2.6rem;align-items:end;min-height:inherit;padding-top:2.4rem}
.brand-portrait{position:relative;justify-self:center;align-self:end;width:100%;max-width:470px}
.portrait-img{position:relative;z-index:2;display:block;width:100%;height:auto;filter:drop-shadow(0 26px 34px rgba(0,0,0,.5))}
.portrait-ring{position:absolute;z-index:1;width:94%;aspect-ratio:1;left:3%;top:1%;border-radius:50%;background:conic-gradient(from 0deg,#ff9933,#fff,#138808,#ff9933);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 7px),#000 calc(100% - 6px));mask:radial-gradient(farthest-side,transparent calc(100% - 7px),#000 calc(100% - 6px));animation:brandSpin 16s linear infinite;opacity:.92}
.portrait-glow{position:absolute;z-index:0;inset:-4% -12% 6% -12%;background:radial-gradient(closest-side,rgba(255,153,51,.4),rgba(19,136,8,.18) 55%,transparent 76%);animation:glowPulse 5s ease-in-out infinite}
@keyframes glowPulse{50%{transform:scale(1.08);opacity:.75}}
.rat-plate i{color:var(--gold);font-size:1.15rem}

.brand-copy{align-self:center;padding:1.2rem 0 3.8rem}
.typewrite{display:inline-flex;align-items:center;gap:.55rem;background:rgba(242,138,30,.16);border:1px solid rgba(242,138,30,.5);color:#ffd39a;padding:.4rem 1.15rem;border-radius:999px;font-weight:700;font-size:.98rem}
.typewrite::after{content:"";width:2px;height:1.15em;background:var(--saffron);animation:caret .8s steps(1) infinite}
.tw-text{display:inline-block;white-space:nowrap}
.brand-kicker{margin:0 0 1.1rem}
@keyframes caret{50%{opacity:0}}
@keyframes twReveal{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}

.brand-title{display:flex;flex-wrap:wrap;gap:0 .32em;margin:0 0 .35rem;font-size:clamp(2.3rem,5.3vw,4.5rem);font-weight:800;line-height:1.25;color:#fff}
.brand-title .w{display:inline-block;overflow:hidden;padding:.2em 0 .16em;margin:-.2em 0 -.16em}
.brand-title .w>span{display:inline-block;color:#fff;filter:drop-shadow(0 4px 14px rgba(0,0,0,.4))}
.brand-title .w:nth-child(1)>span{background:linear-gradient(180deg,#ffc27a,#ff9933);-webkit-background-clip:text;background-clip:text;color:transparent}
.brand-title .w:nth-child(3)>span{background:linear-gradient(180deg,#b6f5a0,#4fd13d);-webkit-background-clip:text;background-clip:text;color:transparent}
@keyframes wordUp{from{transform:translateY(115%) rotate(4deg);opacity:0}to{transform:none;opacity:1}}

.brand-en{position:relative;display:inline-block;margin:0 0 1.2rem;font-weight:800;font-size:clamp(.95rem,1.85vw,1.5rem);letter-spacing:.2em;color:#fff;line-height:1.5}
.brand-en::after{content:"";position:absolute;left:0;right:0;bottom:-.3rem;height:3px;border-radius:3px;background:linear-gradient(90deg,var(--saffron),#fff,var(--green));transform-origin:left}
@keyframes enSpread{from{letter-spacing:.7em;opacity:0}to{letter-spacing:.2em;opacity:1}}
@keyframes lineGrow{from{transform:scaleX(0)}to{transform:scaleX(1)}}

.brand-reg{display:inline-flex;align-items:center;gap:.6rem;margin:0 0 .9rem;font-weight:600;font-size:.95rem;color:#e8efff;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);padding:.35rem 1rem;border-radius:10px}
.brand-reg i{color:#ffc98f;animation:certPulse 2.4s ease-in-out infinite}
@keyframes certPulse{50%{transform:scale(1.25) rotate(8deg)}}
.brand-tag{max-width:36rem;margin:0 0 1.1rem;font-size:clamp(1rem,1.5vw,1.2rem);line-height:1.75;color:#dbe6fb;font-weight:500}
.brand-strap{margin:0 0 .4rem}
.brand-strap span{display:inline-block;position:relative;overflow:hidden;background:linear-gradient(90deg,var(--saffron),#ffb45c);color:#3a1d00;font-weight:800;font-size:.95rem;letter-spacing:.02em;padding:.35rem 1.6rem .35rem 1.1rem;clip-path:polygon(0 0,100% 0,calc(100% - 14px) 50%,100% 100%,0 100%)}
.brand-strap span::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.65) 50%,transparent 70%);transform:translateX(-120%);animation:strapShine 4.5s ease-in-out 3.4s infinite}
@keyframes strapShine{55%,100%{transform:translateX(120%)}}
@keyframes strapIn{from{transform:translateX(-40px);opacity:0}to{transform:none;opacity:1}}
@keyframes fadeUpIn{from{transform:translateY(22px);opacity:0}to{transform:none;opacity:1}}

.brand-foot{display:flex;align-items:center;justify-content:space-between;gap:1.6rem;flex-wrap:wrap;margin-top:1.5rem}

/* GNF — genuine 3D: 18 stacked copies give the letters real depth, then the block turns */

/* entrance choreography — restarts every time the slide becomes active */
.hero-brand .brand-portrait{animation:heroMedia 1.1s var(--ease) .1s both}
.hero-brand .portrait-img{animation:portraitFloat 6s ease-in-out 1.3s infinite}
@keyframes portraitFloat{50%{transform:translateY(-8px)}}
.hero-brand .rat-plate{animation:ratPop .7s cubic-bezier(.2,1.5,.4,1) 1.3s both}
@keyframes ratPop{from{transform:scale(.2) rotate(-12deg);opacity:0}to{transform:none;opacity:1}}
.hero-brand .brand-kicker{animation:fadeUpIn .6s var(--ease) .2s both}
.hero-brand .tw-text{animation:twReveal 2.1s steps(26,end) .6s both}
.hero-brand .brand-title .w>span{animation:wordUp .95s cubic-bezier(.2,.8,.2,1) both}
.hero-brand .brand-title .w:nth-child(1)>span{animation-delay:.9s}
.hero-brand .brand-title .w:nth-child(2)>span{animation-delay:1.1s}
.hero-brand .brand-title .w:nth-child(3)>span{animation-delay:1.3s}
.hero-brand .brand-en{animation:enSpread 1.3s var(--ease) 1.7s both}
.hero-brand .brand-en::after{animation:lineGrow .8s var(--ease) 2.8s both}
.hero-brand .brand-reg{animation:fadeUpIn .7s var(--ease) 2.2s both}
.hero-brand .brand-tag{animation:fadeUpIn .7s var(--ease) 2.5s both}
.hero-brand .brand-strap span{animation:strapIn .8s var(--ease) 2.8s both}
.hero-brand .brand-foot .hero-actions{animation:fadeUpIn .7s var(--ease) 3.1s both}

@media (max-width:991.98px){
  .brand-slide{grid-template-columns:1fr;gap:0;text-align:center;padding-top:1.6rem}
  .brand-portrait{max-width:300px;margin-bottom:-2.2rem}
  .brand-copy{padding:0 0 4.2rem}
  .brand-title{justify-content:center}
  .brand-reg{text-align:left}
  .brand-tag{margin-inline:auto}
  .brand-foot{justify-content:center;flex-direction:column;gap:.8rem}
}
@media (max-width:575.98px){.brand-portrait{max-width:250px}.brand-en{letter-spacing:.12em}.tw-text{white-space:normal}.typewrite{font-size:.86rem}}
@media (prefers-reduced-motion:reduce){
  .brand-bg .blob,.brand-chakra,.portrait-ring,.portrait-glow{animation:none}
}

/* Floating animated icons behind the Central Working Committee */
.bg-icons{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.bgi{position:absolute;line-height:1;will-change:transform}
.bgi.c0{color:rgba(13,43,98,.06)}.bgi.c1{color:rgba(242,138,30,.12)}.bgi.c2{color:rgba(19,136,8,.09)}
.bgd{position:absolute;width:6px;height:6px;border-radius:50%;background:var(--saffron);opacity:.14;animation:bgPulse 4s ease-in-out infinite}
.bgd:nth-of-type(3n){background:var(--green)}.bgd:nth-of-type(3n+1){background:var(--navy-700);opacity:.1}
.bgr{position:absolute;width:90px;height:90px;margin:-45px 0 0 -45px;border-radius:50%;border:1.5px solid rgba(242,138,30,.16);animation:bgRipple 6s ease-out infinite}
.bgr:nth-of-type(2){border-color:rgba(19,136,8,.14);animation-delay:-2s}.bgr:nth-of-type(3){border-color:rgba(13,43,98,.12);animation-delay:-4s}
@keyframes bgFloat{0%,100%{transform:translateY(0) rotate(-7deg)}50%{transform:translateY(-14px) rotate(6deg)}}
@keyframes bgDrift{0%,100%{transform:translate(0,0) rotate(0)}33%{transform:translate(14px,-10px) rotate(7deg)}66%{transform:translate(-10px,-18px) rotate(-6deg)}}
@keyframes bgSpin{to{transform:rotate(360deg)}}
@keyframes bgPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.7)}}
@keyframes bgRipple{0%{transform:scale(.3);opacity:.9}100%{transform:scale(2.4);opacity:0}}
.bgi:nth-child(1){left:4%;top:4%;font-size:35px;animation:bgFloat 9s ease-in-out 0s infinite}
.bgi:nth-child(2){left:88%;top:6%;font-size:30px;animation:bgDrift 14s ease-in-out -2s infinite}
.bgi:nth-child(3){left:14%;top:12%;font-size:26px;animation:bgFloat 11s ease-in-out -4s infinite}
.bgi:nth-child(4){left:78%;top:14%;font-size:32px;animation:bgFloat 10s ease-in-out -1s infinite}
.bgi:nth-child(5){left:6%;top:3%;font-size:17px;animation:bgSpin 30s linear 0s infinite}
.bgi:nth-child(6){left:3%;top:24%;font-size:33px;animation:bgDrift 15s ease-in-out -6s infinite}
.bgi:nth-child(7){left:93%;top:27%;font-size:29px;animation:bgFloat 12s ease-in-out -3s infinite}
.bgi:nth-child(8){left:9%;top:36%;font-size:28px;animation:bgFloat 9s ease-in-out -5s infinite}
.bgi:nth-child(9){left:85%;top:40%;font-size:36px;animation:bgDrift 16s ease-in-out -8s infinite}
.bgi:nth-child(10){left:5%;top:48%;font-size:30px;animation:bgFloat 10s ease-in-out -2s infinite}
.bgi:nth-child(11){left:92%;top:52%;font-size:25px;animation:bgDrift 13s ease-in-out -7s infinite}
.bgi:nth-child(12){left:12%;top:60%;font-size:22px;animation:bgPulse 5s ease-in-out -1s infinite}
.bgi:nth-child(13){left:80%;top:62%;font-size:29px;animation:bgFloat 11s ease-in-out -9s infinite}
.bgi:nth-child(14){left:3%;top:70%;font-size:32px;animation:bgFloat 12s ease-in-out -4s infinite}
.bgi:nth-child(15){left:90%;top:74%;font-size:28px;animation:bgDrift 14s ease-in-out -3s infinite}
.bgi:nth-child(16){left:10%;top:82%;font-size:29px;animation:bgFloat 10s ease-in-out -6s infinite}
.bgi:nth-child(17){left:82%;top:84%;font-size:33px;animation:bgDrift 17s ease-in-out -10s infinite}
.bgi:nth-child(18){left:12%;top:93%;font-size:31px;animation:bgSpin 40s linear 0s infinite}
.bgi:nth-child(19){left:22%;top:91%;font-size:24px;animation:bgFloat 9s ease-in-out -2s infinite}
.bgi:nth-child(20){left:88%;top:8%;font-size:16px;animation:bgSpin 24s linear -5s infinite}
.bgi:nth-child(21){left:8%;top:56%;font-size:16px;animation:bgPulse 4s ease-in-out -2s infinite}
.bgi:nth-child(22){left:84%;top:95%;font-size:25px;animation:bgFloat 13s ease-in-out -6s infinite}
.bgi:nth-child(23){left:82%;top:24%;font-size:20px;animation:bgDrift 15s ease-in-out -11s infinite}
.bgi:nth-child(24){left:25%;top:27%;font-size:19px;animation:bgFloat 11s ease-in-out -7s infinite}
.bgd:nth-child(25){left:8%;top:18%;animation-delay:0s}
.bgd:nth-child(26){left:95%;top:15%;animation-delay:-0.7s}
.bgd:nth-child(27){left:20%;top:44%;animation-delay:-1.4s}
.bgd:nth-child(28){left:76%;top:30%;animation-delay:-2.1s}
.bgd:nth-child(29){left:96%;top:62%;animation-delay:-2.8s}
.bgd:nth-child(30){left:6%;top:90%;animation-delay:-3.5s}
.bgd:nth-child(31){left:88%;top:92%;animation-delay:-4.2s}
.bgd:nth-child(32){left:50%;top:50%;animation-delay:-4.9s}
.bgd:nth-child(33){left:33%;top:78%;animation-delay:-5.6s}
.bgd:nth-child(34){left:64%;top:70%;animation-delay:-6.3s}
.bgd:nth-child(35){left:15%;top:68%;animation-delay:-7s}
.bgd:nth-child(36){left:72%;top:48%;animation-delay:-7.7s}
.bgr:nth-child(37){left:8%;top:30%}
.bgr:nth-child(38){left:90%;top:46%}
.bgr:nth-child(39){left:14%;top:78%}

/* brand slide — responsive refinements */
@media (max-width:991.98px){
  .brand-portrait{margin-bottom:0}
  .brand-copy{padding-top:1.6rem}
}

/* brand slide (desktop): big portrait on the right, copy on the left */
@media (min-width:992px){
  .hero .hero-brand{min-height:clamp(640px,86vh,800px)}
  .hero-brand .brand-slide{grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);gap:1.5rem}
  .hero-brand .brand-copy{order:1}
  .hero-brand .brand-portrait{order:2;justify-self:end;max-width:660px;margin-right:-1rem}
  .hero-brand .rat-plate{left:6%;bottom:9%;font-size:1.1rem}
  .hero-brand .brand-en{letter-spacing:.14em}
  .hero-brand .brand-title{font-size:clamp(2.6rem,4.6vw,4.4rem)}
}

/* brand slide — laptop fit (992–1500px): keep the whole hero inside one screen */
@media (min-width:992px) and (max-width:1499.98px){
  .hero .hero-brand{min-height:clamp(600px,80vh,720px)}
  .hero-brand .brand-title{font-size:clamp(2.4rem,3.9vw,3.5rem)}
  .hero-brand .brand-en{font-size:clamp(.9rem,1.5vw,1.2rem);letter-spacing:.1em;margin-bottom:.9rem}
  .hero-brand .brand-portrait{max-width:540px}
  .hero-brand .brand-copy{padding:.6rem 0 3.4rem}
  .hero-brand .brand-tag{font-size:1rem;margin-bottom:.9rem}
  .hero-brand .brand-foot{margin-top:1.1rem}
}

@font-face{font-family:'Poppins';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/poppins-700-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Poppins';font-style:normal;font-weight:800;font-display:swap;src:url(../fonts/poppins-800-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}

/* ==========================================================================
   Hero premium pass — blue left glow, glass details, GNF seal
   ========================================================================== */
.hero-single{box-shadow:inset 170px 0 180px -70px rgba(37,99,235,.62)}
.b-blue{width:640px;height:640px;left:-240px;top:6%;background:#2563eb;opacity:.5;animation:blobA 16s ease-in-out infinite alternate}
.edge-blue{position:absolute;left:0;top:0;bottom:0;width:46%;background:linear-gradient(90deg,rgba(37,99,235,.5),rgba(37,99,235,.16) 55%,transparent)}
.brand-bg::after{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.1) 1px,transparent 1.3px);background-size:28px 28px;-webkit-mask-image:linear-gradient(90deg,#000,transparent 72%);mask-image:linear-gradient(90deg,#000,transparent 72%)}
.spark{position:absolute;bottom:-12px;border-radius:50%;opacity:0;box-shadow:0 0 8px currentColor;animation:sparkUp linear infinite}
@keyframes sparkUp{0%{transform:translateY(0) scale(.6);opacity:0}15%{opacity:.85}100%{transform:translateY(-780px) scale(1.1);opacity:0}}
.spark:nth-of-type(1){left:6%;width:2px;height:2px;background:#fff;animation-duration:7s;animation-delay:0s}
.spark:nth-of-type(2){left:14%;width:3px;height:3px;background:#ffb45c;animation-duration:12s;animation-delay:-1.7s}
.spark:nth-of-type(3){left:21%;width:4px;height:4px;background:#8ee27a;animation-duration:10s;animation-delay:-3.4s}
.spark:nth-of-type(4){left:29%;width:2px;height:2px;background:#fff;animation-duration:8s;animation-delay:-5.1s}
.spark:nth-of-type(5){left:36%;width:3px;height:3px;background:#ffb45c;animation-duration:13s;animation-delay:-6.8s}
.spark:nth-of-type(6){left:44%;width:4px;height:4px;background:#8ee27a;animation-duration:11s;animation-delay:-8.5s}
.spark:nth-of-type(7){left:51%;width:2px;height:2px;background:#fff;animation-duration:9s;animation-delay:-1.2s}
.spark:nth-of-type(8){left:59%;width:3px;height:3px;background:#ffb45c;animation-duration:7s;animation-delay:-2.9s}
.spark:nth-of-type(9){left:66%;width:4px;height:4px;background:#8ee27a;animation-duration:12s;animation-delay:-4.6s}
.spark:nth-of-type(10){left:74%;width:2px;height:2px;background:#fff;animation-duration:10s;animation-delay:-6.3s}
.spark:nth-of-type(11){left:81%;width:3px;height:3px;background:#ffb45c;animation-duration:8s;animation-delay:-8s}
.spark:nth-of-type(12){left:89%;width:4px;height:4px;background:#8ee27a;animation-duration:13s;animation-delay:-0.7s}

.typewrite{background:rgba(255,255,255,.07);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.22);color:#ffe3bd;box-shadow:0 8px 24px rgba(0,0,0,.2)}
.brand-reg{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.hero-brand .btn-gnf{background-image:linear-gradient(135deg,#ffb04a,#f28a1e 55%,#dc7408);border:0;box-shadow:0 14px 32px rgba(242,138,30,.45),inset 0 1px 0 rgba(255,255,255,.4)}
.hero-brand .btn-ghost-light{background:rgba(255,255,255,.07);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-color:rgba(255,255,255,.35)}
.hero-brand .btn-ghost-light:hover{background:#fff}
.portrait-ring2{position:absolute;z-index:1;width:106%;aspect-ratio:1;left:-3%;top:-4%;border-radius:50%;border:1.5px dashed rgba(255,255,255,.3);animation:brandSpin 55s linear infinite reverse}
.portrait-floor{position:absolute;z-index:1;left:6%;right:6%;bottom:-3%;height:70px;background:radial-gradient(closest-side,rgba(60,120,255,.6),transparent);filter:blur(12px)}
.rat-plate{position:absolute;z-index:3;right:2%;left:auto;bottom:7%;display:inline-flex;align-items:center;gap:.6rem;background:linear-gradient(135deg,rgba(8,28,66,.9),rgba(13,43,98,.86));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;font-weight:800;font-size:1.05rem;letter-spacing:.02em;padding:.55rem 1.2rem .55rem .9rem;border-radius:12px;border:1px solid rgba(246,215,122,.55);border-left:5px solid #f6d77a;box-shadow:0 14px 30px rgba(0,0,0,.4)}
.rat-plate i{color:#f6d77a;font-size:1.2rem;filter:drop-shadow(0 0 6px rgba(246,215,122,.75))}

/* GNF seal: rotating inscription ring + glass disc + gold 3D monogram */
.gnf-seal{--s:190px;position:absolute;z-index:4;width:var(--s);aspect-ratio:1;left:-9%;bottom:15%;filter:drop-shadow(0 20px 30px rgba(0,0,0,.5))}
.gnf-seal::before{content:"";position:absolute;inset:0;border-radius:50%;border:1px solid rgba(246,215,122,.5);background:radial-gradient(circle,rgba(37,99,235,.3),rgba(8,28,66,.6) 70%);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.seal-glow{position:absolute;inset:-20%;border-radius:50%;background:radial-gradient(closest-side,rgba(60,120,255,.5),transparent 70%);animation:glowPulse 4s ease-in-out infinite}
.seal-text{position:absolute;inset:0;width:100%;height:100%;overflow:visible;animation:brandSpin 40s linear infinite}
.seal-text text{font-family:'Poppins',sans-serif;font-weight:700;font-size:10.6px;letter-spacing:.05em;fill:#f6d77a}
.seal-disc{position:absolute;inset:17%;border-radius:50%;background:radial-gradient(circle at 30% 22%,#4a7dff,#0b2a7a 55%,#06153d);border:1.5px solid rgba(246,215,122,.8);box-shadow:inset 0 0 22px rgba(0,0,0,.6),0 0 0 5px rgba(246,215,122,.12)}
.gnf-seal .gnf3d{position:absolute;inset:0;display:grid;place-items:center;perspective:620px;margin:0;padding:0}
.gnf-seal .gnf-spin{position:relative;width:2.3em;height:1.2em;font-family:'Poppins',sans-serif;font-weight:800;font-size:calc(var(--s) * .215);line-height:1;transform-style:preserve-3d;transform:rotateX(-6deg) rotateY(-20deg);animation:gnfSpin 12s ease-in-out infinite}
.gnf-seal .gl{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;letter-spacing:-.02em;color:var(--c);transform:translateZ(var(--z))}
.gnf-seal .gl.gf{--z:0px;color:transparent;background:linear-gradient(115deg,#fff6d6 0 28%,#ffe08a 40%,#e0a92a 55%,#fff1b8 70%,#c58b14 100%) 0 0/240% 100%;-webkit-background-clip:text;background-clip:text;filter:drop-shadow(0 0 5px rgba(246,201,87,.5));animation:gnfShine 4s ease-in-out infinite}
.gnf-seal .gl:nth-child(1){--z:-21.6px;--c:rgb(6,21,61)}
.gnf-seal .gl:nth-child(2){--z:-20.4px;--c:rgb(10,27,72)}
.gnf-seal .gl:nth-child(3){--z:-19.2px;--c:rgb(14,33,82)}
.gnf-seal .gl:nth-child(4){--z:-18.0px;--c:rgb(18,38,93)}
.gnf-seal .gl:nth-child(5){--z:-16.8px;--c:rgb(22,44,103)}
.gnf-seal .gl:nth-child(6){--z:-15.6px;--c:rgb(25,50,114)}
.gnf-seal .gl:nth-child(7){--z:-14.4px;--c:rgb(29,56,124)}
.gnf-seal .gl:nth-child(8){--z:-13.2px;--c:rgb(33,62,135)}
.gnf-seal .gl:nth-child(9){--z:-12.0px;--c:rgb(37,68,145)}
.gnf-seal .gl:nth-child(10){--z:-10.8px;--c:rgb(41,73,156)}
.gnf-seal .gl:nth-child(11){--z:-9.6px;--c:rgb(45,79,166)}
.gnf-seal .gl:nth-child(12){--z:-8.4px;--c:rgb(49,85,177)}
.gnf-seal .gl:nth-child(13){--z:-7.2px;--c:rgb(53,91,187)}
.gnf-seal .gl:nth-child(14){--z:-6.0px;--c:rgb(56,97,198)}
.gnf-seal .gl:nth-child(15){--z:-4.8px;--c:rgb(60,103,208)}
.gnf-seal .gl:nth-child(16){--z:-3.6px;--c:rgb(64,108,219)}
.gnf-seal .gl:nth-child(17){--z:-2.4px;--c:rgb(68,114,229)}
.gnf-seal .gl:nth-child(18){--z:-1.2px;--c:rgb(72,120,240)}
@keyframes gnfSpin{0%{transform:rotateX(-6deg) rotateY(-28deg)}25%{transform:rotateX(-6deg) rotateY(28deg)}50%,66%{transform:rotateX(-6deg) rotateY(-28deg)}100%{transform:rotateX(-6deg) rotateY(332deg)}}
@keyframes gnfShine{0%{background-position:110% 0}60%,100%{background-position:-60% 0}}
@keyframes sealIn{from{transform:scale(.2) rotate(-40deg);opacity:0}to{transform:none;opacity:1}}
@keyframes sealFloat{50%{transform:translateY(-10px)}}
.hero-brand .gnf-seal{animation:sealIn 1.1s cubic-bezier(.2,1.3,.4,1) 3s both,sealFloat 5s ease-in-out 4.2s infinite}

@media (max-width:991.98px){
  .gnf-seal{--s:120px;left:auto;right:-5%;bottom:3%}
  .rat-plate{right:auto;left:-3%;bottom:5%}
}
@media (max-width:575.98px){.gnf-seal{--s:104px}}
@media (prefers-reduced-motion:reduce){
  .gnf-seal .gnf-spin{animation:none;transform:rotateX(-6deg) rotateY(-14deg)}
  .gnf-seal .gl.gf{animation:none;background-position:50% 0}
  .seal-text,.seal-glow,.portrait-ring2,.spark{animation:none}
}

@media (min-width:992px){.hero-brand .rat-plate{left:auto;right:3%;bottom:8%}}

/* Sticky footer: short pages still push the footer to the bottom of the screen, no white space under it */
html{height:100%}
body{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}
body>main{flex:1 0 auto;width:100%}
.contact-card{height:auto} /* .card-gnf is height:100%; contact cards must not stretch to the column */

/* dark-blue hero + Ashoka Chakra wheel turning behind the portrait */
.hero.hero-single{background:linear-gradient(135deg,#030a1c 0%,#061638 45%,#0a2358 100%);box-shadow:inset 130px 0 150px -80px rgba(37,99,235,.38)}
.hero-single .b-blue{background:#1d4ed8;opacity:.3}
.hero-single .edge-blue{background:linear-gradient(90deg,rgba(37,99,235,.28),rgba(37,99,235,.08) 55%,transparent)}
.hero-single .b-green,.hero-single .b-white{display:none}
.hero-single::before{opacity:.05}
.hero-brand .portrait-ring{width:118%;left:-9%;top:-7%;aspect-ratio:1;border-radius:0;background:url(../images/chakra.svg) center/contain no-repeat;-webkit-mask:none;mask:none;opacity:.9;filter:drop-shadow(0 0 16px rgba(96,150,255,.75)) drop-shadow(0 0 40px rgba(37,99,235,.5));animation:brandSpin 28s linear infinite}
.hero-brand .portrait-glow{background:radial-gradient(closest-side,rgba(60,120,255,.42),rgba(37,99,235,.14) 58%,transparent 76%)}
@media (min-width:992px){.hero-brand .brand-portrait{margin-right:-4rem}}

@font-face{font-family:'Mrs Saint Delafield';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/mrs-saint-delafield-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}

/* ==========================================================================
   Hero v2 — royal-blue scene: Sansad-style backdrop, spinning blue Ashoka Chakra,
   silk tricolor wave, feature row, quote, signature and Bharat Ratna medal
   ========================================================================== */
.hero.hero-single{background:linear-gradient(100deg,#04123a 0%,#07246a 42%,#0a3a9c 100%);box-shadow:none}
.hero-brand.v2{position:relative}
.v2 .v2-sky{position:absolute;inset:0;background:radial-gradient(720px 540px at 76% 34%,rgba(51,120,255,.55),transparent 70%),radial-gradient(520px 420px at 18% 0%,rgba(24,66,170,.5),transparent 70%)}
.v2 .trees{position:absolute;left:-6%;top:-12%;width:40%;height:64%;background:radial-gradient(closest-side at 30% 40%,rgba(2,8,28,.92),transparent 72%),radial-gradient(closest-side at 66% 22%,rgba(2,10,34,.88),transparent 72%),radial-gradient(closest-side at 14% 76%,rgba(3,12,40,.8),transparent 72%);filter:blur(9px)}
.v2 .v2-scene{position:absolute;left:22%;bottom:12%;width:58%;height:auto;opacity:.55;-webkit-mask-image:linear-gradient(90deg,transparent,#000 24%,#000 76%,transparent);mask-image:linear-gradient(90deg,transparent,#000 24%,#000 76%,transparent)}
.v2 .b-blue{opacity:.22}
.v2 .edge-blue{display:none}
.v2 .sparks{position:absolute;inset:0}
.v2 .brand-bg::after{opacity:.6}
.v2-wave{position:absolute;left:0;bottom:0;width:100%;height:40%;z-index:1;pointer-events:none;-webkit-mask-image:linear-gradient(90deg,transparent 0,rgba(0,0,0,.4) 18%,#000 46%);mask-image:linear-gradient(90deg,transparent 0,rgba(0,0,0,.4) 18%,#000 46%);transform-origin:50% 100%;animation:waveFloat 9s ease-in-out infinite alternate}
@keyframes waveFloat{to{transform:translateY(-7px) scaleY(1.05)}}
.v2-wrap{position:relative;z-index:2;padding:0 clamp(1rem,4.5vw,5rem)}
.v2 .brand-slide{grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:1rem;align-items:end;padding-top:1.6rem}
.v2 .brand-copy{align-self:center;padding:1rem 0 3.2rem;max-width:44rem}

.v2 .brand-kicker{display:flex;align-items:center;gap:.8rem;margin:0 0 1.1rem}
.kick-line{flex:0 0 46px;height:1px;background:linear-gradient(90deg,transparent,#f6d77a)}
.kick-line.r{background:linear-gradient(90deg,#f6d77a,transparent)}
.v2 .brand-title{font-size:clamp(2.7rem,5.2vw,5.6rem);line-height:1.18;gap:0 .3em}
.v2 .brand-title .w:nth-child(3){flex-basis:100%}
.v2 .brand-en{font-size:clamp(.95rem,1.55vw,1.4rem);letter-spacing:.16em;margin-bottom:1rem}
.brand-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1rem;margin:0 0 1rem}
.brand-meta .brand-reg,.brand-meta .brand-strap{margin:0}
.brand-meta .brand-reg{font-size:.86rem}
.brand-meta .brand-strap span{font-size:.86rem}
.v2 .brand-tag{max-width:38rem;font-size:clamp(1rem,1.5vw,1.28rem);margin-bottom:1.1rem}
.v2 .brand-tag strong{color:#fff;font-weight:800}
.brand-features{list-style:none;display:flex;flex-wrap:wrap;margin:0 0 1.5rem;padding:0}
.brand-features li{display:flex;align-items:center;gap:.65rem;padding:.2rem 1.1rem;border-left:1px solid rgba(255,255,255,.2);color:#e7eeff;font-size:.86rem;line-height:1.3;font-weight:500}
.brand-features li:first-child{padding-left:0;border-left:0}
.brand-features i{font-size:1.65rem;color:#f6d77a;filter:drop-shadow(0 0 8px rgba(246,215,122,.4))}
.v2 .hero-actions{display:flex;gap:.9rem;flex-wrap:wrap}
.brand-quote{display:flex;gap:.8rem;align-items:flex-start;margin:1.6rem 0 0;color:#c9d7f7}
.brand-quote>i{font-size:1.9rem;color:var(--saffron);line-height:1;margin-top:.2rem}
.brand-quote p{margin:0;font-size:1rem;line-height:1.6}
.brand-quote cite{display:block;font-style:normal;font-size:.86rem;color:#8fa9de;margin-top:.15rem}

/* right: portrait stage */
.v2 .brand-portrait{position:relative;justify-self:end;align-self:end;width:100%;max-width:740px;margin:0}
.v2 .portrait-glow{inset:-6% -4% 10% -4%;background:radial-gradient(closest-side,rgba(60,130,255,.5),rgba(37,99,235,.15) 60%,transparent 78%)}
.v2 .v2-chakra{position:absolute;z-index:1;width:94%;height:auto;left:2%;top:-9%;filter:drop-shadow(0 0 26px rgba(80,140,255,.75)) drop-shadow(0 0 60px rgba(37,99,235,.5));animation:brandSpin 34s linear infinite}
.v2 .portrait-img{position:relative;z-index:2;width:76%;margin-left:8%;filter:drop-shadow(0 26px 34px rgba(0,0,0,.5))}
.v2-vert{position:absolute;z-index:3;right:0;top:3%;margin:0;padding-left:1rem;border-left:1px solid #f6d77a;font-size:.92rem;letter-spacing:.32em;line-height:1.6;font-weight:600;color:rgba(190,210,255,.72)}
.v2-sig{position:absolute;z-index:3;right:-1%;top:36%;text-align:left}
.v2-sig .sig{display:block;font-family:'Mrs Saint Delafield','Segoe Script',cursive;font-size:3.6rem;line-height:1;color:#eaf0ff;transform:rotate(-8deg);margin-bottom:.5rem}
.v2-sig .vals{display:block;font-size:.74rem;letter-spacing:.24em;text-transform:uppercase;line-height:1.85;color:#9db6ec}
.v2-medal{position:absolute;z-index:3;right:3%;bottom:17%;width:clamp(70px,7vw,118px);height:auto;transform-origin:50% 0;filter:drop-shadow(0 12px 16px rgba(0,0,0,.5));animation:medalSwing 5s ease-in-out infinite}
@keyframes medalSwing{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}
.v2 .rat-plate{right:1%;left:auto;bottom:7%;z-index:4}
.v2 .gnf-seal{left:-3%;bottom:9%;z-index:4}

/* entrance choreography (v2 extras) */
.hero-brand .brand-features{animation:fadeUpIn .7s var(--ease) 2.9s both}
.hero-brand .v2 .hero-actions,.v2.hero-brand .hero-actions{animation:fadeUpIn .7s var(--ease) 3.1s both}
.hero-brand .brand-quote{animation:fadeUpIn .8s var(--ease) 3.4s both}
.hero-brand .brand-meta{animation:none}
.hero-brand .v2-vert{animation:fadeUpIn 1s var(--ease) 2.4s both}
.hero-brand .v2-sig .sig{animation:sigWrite 1.8s steps(28,end) 3s both}
.hero-brand .v2-sig .vals{animation:fadeUpIn .8s var(--ease) 4.3s both}
@keyframes sigWrite{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
.hero-brand .v2-chakra{animation:chakraIn 1.6s var(--ease) .2s both,brandSpin 34s linear 1.8s infinite}
@keyframes chakraIn{from{transform:scale(.6) rotate(-90deg);opacity:0}to{transform:none;opacity:1}}
.hero-brand .v2-wave{animation:waveIn 1.8s var(--ease) .1s both,waveFloat 9s ease-in-out 2s infinite alternate}
@keyframes waveIn{from{transform:translateY(60px);opacity:0}to{transform:none;opacity:1}}
.hero-brand .v2-medal{animation:medalIn 1.2s cubic-bezier(.2,1.2,.4,1) 2.6s both,medalSwing 5s ease-in-out 3.8s infinite}
@keyframes medalIn{from{transform:translateY(-70px) rotate(-14deg);opacity:0}to{transform:none;opacity:1}}

@media (max-width:1399.98px){.v2-sig{display:none}}
@media (max-width:1199.98px){.v2-vert{display:none}}
@media (min-width:992px) and (max-width:1499.98px){
  .v2 .brand-title{font-size:clamp(2.6rem,4.6vw,4.4rem)}
  .brand-features li{padding:.2rem .8rem;font-size:.8rem}
  .brand-features i{font-size:1.4rem}
}
@media (max-width:991.98px){
  .v2 .brand-slide{grid-template-columns:1fr;gap:0;padding-top:1rem}
  .v2 .brand-portrait{order:-1;max-width:360px;justify-self:center;margin-bottom:-.5rem}
  .v2 .brand-copy{text-align:center;padding:1rem 0 3.6rem;margin-inline:auto}
  .v2 .brand-kicker,.brand-meta,.brand-features,.v2 .hero-actions{justify-content:center}
  .brand-quote{justify-content:center;text-align:left}
  .v2 .brand-title{justify-content:center}
  .v2 .v2-scene{left:0;width:110%;bottom:26%;opacity:.35}
  .v2-medal{width:64px;right:0}
  .v2 .gnf-seal{--s:112px;left:-2%}
  .v2 .rat-plate{right:0;bottom:3%}
  .brand-features li{border-left:0;padding:.3rem .8rem}
}
@media (max-width:575.98px){.v2 .brand-title{font-size:2.5rem}.brand-features li{flex:0 0 50%;justify-content:flex-start}.v2 .brand-portrait{max-width:280px}}
@media (prefers-reduced-motion:reduce){.v2-wave,.v2 .v2-chakra,.v2-medal{animation:none}}

/* v2 refinements */
.hero-brand .brand-title .w{padding:.36em .14em .22em;margin:-.36em -.14em -.22em}
.hero-brand .brand-title .w>span{padding:.32em .1em .2em;margin:-.32em -.1em -.2em}
.v2 .v2-chakra{width:76%;left:6%;top:-3%}
.v2 .v2-scene{opacity:.38;filter:blur(1.1px)}
.v2-vert{right:-6%;top:2%}
.v2-sig{right:-10%;top:40%}
.v2-sig .sig{font-size:3.1rem}
.v2-medal{right:2%;bottom:25%}
.v2-medal text{font-size:13px}
@media (min-width:1600px){.v2 .brand-portrait{max-width:820px}}
@media (max-width:1399.98px){.v2-vert{right:0}}

/* ==========================================================================
   Hero v3 — clean white NGO hero: one Ashoka Chakra, subtle service icons
   ========================================================================== */
.hero.hero-single{background:linear-gradient(180deg,#ffffff 0%,#f4f8ff 100%)}
.hero-single::before{display:none}
.hero-brand.v3{position:relative}
.v3-icons{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.v3i{position:absolute;line-height:1;will-change:transform}
.v3i.c0{color:rgba(13,43,98,.07)}.v3i.c1{color:rgba(242,138,30,.17)}.v3i.c2{color:rgba(19,136,8,.12)}
.v3i:nth-child(1){left:4%;top:8%;font-size:46px;animation:bgFloat 10s ease-in-out 0s infinite}
.v3i:nth-child(2){left:16%;top:24%;font-size:40px;animation:bgDrift 14s ease-in-out -3s infinite}
.v3i:nth-child(3){left:6%;top:44%;font-size:50px;animation:bgFloat 12s ease-in-out -5s infinite}
.v3i:nth-child(4){left:20%;top:6%;font-size:34px;animation:bgFloat 9s ease-in-out -2s infinite}
.v3i:nth-child(5){left:30%;top:12%;font-size:38px;animation:bgDrift 15s ease-in-out -6s infinite}
.v3i:nth-child(6){left:3%;top:68%;font-size:42px;animation:bgFloat 11s ease-in-out -4s infinite}
.v3i:nth-child(7){left:14%;top:84%;font-size:40px;animation:bgDrift 13s ease-in-out -7s infinite}
.v3i:nth-child(8){left:26%;top:74%;font-size:36px;animation:bgFloat 10s ease-in-out -1s infinite}
.v3i:nth-child(9){left:44%;top:5%;font-size:30px;animation:bgFloat 12s ease-in-out -8s infinite}
.v3i:nth-child(10){left:46%;top:90%;font-size:38px;animation:bgDrift 16s ease-in-out -2s infinite}
.v3i:nth-child(11){left:58%;top:8%;font-size:32px;animation:bgFloat 9s ease-in-out -6s infinite}
.v3i:nth-child(12){left:66%;top:88%;font-size:42px;animation:bgFloat 12s ease-in-out -3s infinite}
.v3i:nth-child(13){left:90%;top:12%;font-size:40px;animation:bgDrift 14s ease-in-out -9s infinite}
.v3i:nth-child(14){left:94%;top:40%;font-size:30px;animation:bgPulse 5s ease-in-out -1s infinite}
.v3i:nth-child(15){left:88%;top:70%;font-size:44px;animation:bgFloat 11s ease-in-out -5s infinite}
.v3i:nth-child(16){left:76%;top:6%;font-size:34px;animation:bgFloat 10s ease-in-out -4s infinite}
.v3i:nth-child(17){left:96%;top:88%;font-size:34px;animation:bgFloat 9s ease-in-out -7s infinite}
.v3i:nth-child(18){left:34%;top:90%;font-size:38px;animation:bgDrift 15s ease-in-out -10s infinite}
.v3i:nth-child(19){left:82%;top:92%;font-size:36px;animation:bgFloat 13s ease-in-out -2s infinite}
.v3i:nth-child(20){left:54%;top:78%;font-size:28px;animation:bgFloat 8s ease-in-out -3s infinite}

/* text on white */
.hero-brand.v3 .typewrite{background:#fff4e6;border:1px solid #f3cf9f;color:#9a4d00;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:0 6px 16px rgba(242,138,30,.14)}
.hero-brand.v3 .kick-line{background:linear-gradient(90deg,transparent,#f28a1e)}
.hero-brand.v3 .kick-line.r{background:linear-gradient(90deg,#f28a1e,transparent)}
.hero-brand.v3 .brand-title{color:var(--navy-900)}
.hero-brand.v3 .brand-title .w>span{filter:drop-shadow(0 6px 12px rgba(13,43,98,.12))}
.hero-brand.v3 .brand-title .w:nth-child(1)>span{background:linear-gradient(180deg,#f8a743,#dc7408);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-brand.v3 .brand-title .w:nth-child(2)>span{background:none;color:#0d2b62;-webkit-text-fill-color:#0d2b62}
.hero-brand.v3 .brand-title .w:nth-child(3)>span{background:linear-gradient(180deg,#1f9d14,#0e6a06);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-brand.v3 .brand-en{color:var(--navy-800)}
.hero-brand.v3 .brand-reg{color:#1d2c55;background:#eef3ff;border:1px solid #d9e3fb;-webkit-backdrop-filter:none;backdrop-filter:none}
.hero-brand.v3 .brand-reg i{color:var(--saffron-600)}
.hero-brand.v3 .brand-tag{color:#3a4967}
.hero-brand.v3 .brand-tag strong{color:var(--navy-900)}
.hero-brand.v3 .brand-features li{color:#22315a;border-left-color:#dfe7f6}
.hero-brand.v3 .brand-features i{color:var(--saffron-600);filter:none}
.hero-brand.v3 .btn-ghost-light{--bs-btn-color:var(--navy-800);--bs-btn-border-color:var(--navy-800);--bs-btn-hover-color:#fff;--bs-btn-hover-bg:var(--navy-800);--bs-btn-hover-border-color:var(--navy-800);background:transparent;border-color:var(--navy-800);color:var(--navy-800);-webkit-backdrop-filter:none;backdrop-filter:none}
.hero-brand.v3 .btn-ghost-light:hover{background:var(--navy-800);color:#fff}
.hero-brand.v3 .brand-quote{color:#41506f}
.hero-brand.v3 .brand-quote cite{color:#6a7a9c}
/* portrait: one soft chakra, man nudged right */
.hero-brand.v3 .portrait-glow{background:radial-gradient(closest-side,rgba(37,99,235,.14),transparent 72%)}
.hero-brand.v3 .v2-chakra{width:82%;left:14%;top:0;opacity:.2;filter:none}
.hero-brand.v3 .portrait-img{width:82%;margin-left:auto;margin-right:0;filter:drop-shadow(0 24px 30px rgba(13,43,98,.25))}
@media (min-width:992px){.hero-brand.v3 .brand-portrait{max-width:640px;margin-right:-2.5rem}}
.hero-brand.v3 .gnf-seal{left:6%;bottom:12%;filter:drop-shadow(0 16px 24px rgba(13,43,98,.35))}
.hero-brand.v3 .rat-plate{right:0;bottom:9%}
@media (max-width:991.98px){.hero-brand.v3 .portrait-img{width:78%;margin-inline:auto}.hero-brand.v3 .v2-chakra{left:11%}.hero-brand.v3 .gnf-seal{left:4%}}

/* v3 polish */
.hero-brand.v3 .v2-wrap{max-width:1600px;margin-inline:auto}
.hero-brand.v3 .v2-chakra{animation:chakraIn3 1.6s var(--ease) .2s both,brandSpin 22s linear 1.8s infinite}
@keyframes chakraIn3{from{transform:scale(.6) rotate(-90deg);opacity:0}to{transform:none;opacity:.94}}

/* real Ashoka Chakra */
.hero-brand.v3 .v2-chakra{width:90%;left:8%;top:-4%;filter:drop-shadow(0 10px 26px rgba(0,0,128,.22))}
/* chakra: entrance uses the individual scale property so the rotate animation is never overridden */
@keyframes chakraIn4{from{scale:.6;opacity:0}to{scale:1;opacity:.94}}
.hero-brand.v3 .v2-chakra{animation:chakraIn4 1.6s var(--ease) .2s both,brandSpin 22s linear infinite}

/* flag backdrop: a large waving tricolor sits behind the portrait, the original chakra turns on its white band */
.hero-brand.v3 .v3-emblem{position:absolute;z-index:1;left:52%;top:50%;width:min(560px,92%);aspect-ratio:1;transform:translate(-50%,-50%);translate:calc(var(--px,0) * -12px) calc(var(--py,0) * -8px)}
.hero-brand.v3 .v3-flag{position:absolute;left:50%;top:50%;width:430%;max-width:none;height:auto;aspect-ratio:3/2;transform:translate(-50%,-50%);opacity:.32;translate:calc(var(--px,0) * 22px) calc(var(--py,0) * 12px);-webkit-mask-image:linear-gradient(90deg,transparent 30%,#000 44%),linear-gradient(180deg,transparent 0,#000 14%,#000 86%,transparent 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,transparent 30%,#000 44%),linear-gradient(180deg,transparent 0,#000 14%,#000 86%,transparent 100%);mask-composite:intersect}
.hero-brand.v3 .v2-chakra{position:absolute;inset:0;left:0;top:0;width:100%;height:100%;filter:drop-shadow(0 10px 26px rgba(0,0,128,.25))}
.hero-brand.v3 .portrait-img{translate:calc(var(--px,0) * 8px) calc(var(--py,0) * 4px)}
.hero-brand.v3 .v3-icons{translate:calc(var(--px,0) * -16px) calc(var(--py,0) * -10px)}
.hero-single{transition:none}
@media (max-width:991.98px){.hero-brand.v3 .v3-emblem{width:min(330px,92%)}.hero-brand.v3 .v3-flag{width:560%}}
@media (prefers-reduced-motion:reduce){.hero-brand.v3 .v3-emblem,.hero-brand.v3 .v3-flag,.hero-brand.v3 .portrait-img,.hero-brand.v3 .v3-icons{translate:none}}

/* notice bar compact on phones/tablets */
@media (max-width:767.98px){
  .notice-bar{border-top-width:1px;border-bottom-width:3px}
  .notice-inner{gap:.5rem;padding:.2rem .5rem .2rem 0}
  .notice-move span{font-size:.84rem;line-height:1.45;padding-right:3.5rem}
  .notice-cta{padding:.18rem .75rem;font-size:.76rem;gap:.35rem;box-shadow:0 2px 6px rgba(0,0,0,.2)}
}
/* emblem placement: chakra ring wraps the head and shoulder */
.hero-brand.v3 .v3-emblem{left:44%;top:46%;width:min(640px,104%)}
@media (max-width:991.98px){.hero-brand.v3 .v3-emblem{left:50%;top:46%;width:min(340px,96%)}}

/* 3D title: dark, deep extrusion (chained drop-shadows work with gradient text) */
.hero-brand.v3 .brand-title .w{padding:.36em .24em .34em;margin:-.36em -.24em -.34em}
.hero-brand.v3 .brand-title .w:nth-child(1)>span{background:linear-gradient(180deg,#ff9b2e 0%,#e2700a 50%,#b34d00 100%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;filter: drop-shadow(0 8px 7px rgba(3,10,40,.35))}
.hero-brand.v3 .brand-title .w:nth-child(2)>span{background:linear-gradient(180deg,#2a4fb8 0%,#0f2a78 55%,#061a4d 100%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;filter: drop-shadow(0 8px 7px rgba(3,10,40,.35))}
.hero-brand.v3 .brand-title .w:nth-child(3)>span{background:linear-gradient(180deg,#23b514 0%,#0e7a06 55%,#075004 100%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;filter: drop-shadow(0 8px 7px rgba(3,10,40,.35))}
@media (max-width:575.98px){
  .hero-brand.v3 .brand-title .w:nth-child(1)>span{filter: drop-shadow(0 5px 5px rgba(3,10,40,.35))}
  .hero-brand.v3 .brand-title .w:nth-child(2)>span{filter: drop-shadow(0 5px 5px rgba(3,10,40,.35))}
  .hero-brand.v3 .brand-title .w:nth-child(3)>span{filter: drop-shadow(0 5px 5px rgba(3,10,40,.35))}
}

/* 3D title tuned: 6px depth, crisper letters */
.hero-brand.v3 .brand-title .w:nth-child(1)>span{filter: drop-shadow(0 7px 6px rgba(3,10,40,.32))}
.hero-brand.v3 .brand-title .w:nth-child(2)>span{filter: drop-shadow(0 7px 6px rgba(3,10,40,.32))}
.hero-brand.v3 .brand-title .w:nth-child(3)>span{filter: drop-shadow(0 7px 6px rgba(3,10,40,.32))}
@media (max-width:575.98px){
  .hero-brand.v3 .brand-title .w:nth-child(1)>span{filter: drop-shadow(0 4px 4px rgba(3,10,40,.32))}
  .hero-brand.v3 .brand-title .w:nth-child(2)>span{filter: drop-shadow(0 4px 4px rgba(3,10,40,.32))}
  .hero-brand.v3 .brand-title .w:nth-child(3)>span{filter: drop-shadow(0 4px 4px rgba(3,10,40,.32))}
}

/* notice bar slim (all sizes) */
.notice-bar{border-top-width:1px;border-bottom-width:3px}
.notice-inner{padding:.2rem 1rem .2rem 0;gap:.8rem}
.notice-move span{font-size:.93rem;line-height:1.5}
.notice-cta{padding:.2rem .95rem;font-size:.8rem;gap:.4rem;box-shadow:0 3px 8px rgba(0,0,0,.2)}

/* portrait static: no bobbing/jumping, photo shown in full */
.hero-brand.v3 .portrait-img{animation:none;translate:none}
.hero-brand.v3 .brand-portrait{animation:portraitFade 1s var(--ease) .1s both}
@keyframes portraitFade{from{opacity:0}to{opacity:1}}
@media (max-width:991.98px){
  .hero-brand.v3 .brand-portrait,.v2 .brand-portrait{margin-bottom:0;padding-bottom:.4rem}
  .hero-brand.v3 .portrait-img{-webkit-mask-image:linear-gradient(180deg,#000 84%,transparent 100%);mask-image:linear-gradient(180deg,#000 84%,transparent 100%)}
}
/* mobile badges compact: keep the portrait clear */
@media (max-width:991.98px){
  .hero-brand.v3 .rat-plate{font-size:.78rem;padding:.3rem .7rem .3rem .55rem;gap:.4rem;right:-1%;left:auto;bottom:2%;border-left-width:4px;border-radius:9px}
  .hero-brand.v3 .rat-plate i{font-size:.95rem}
  .hero-brand.v3 .gnf-seal{--s:88px;left:-3%;right:auto;bottom:3%}
}

/* mobile clean text: crisp title, calm background, nothing clipped */
.banner-link{display:block}
.banner-link img{width:100%;height:auto;display:block;border-radius:var(--radius);box-shadow:var(--shadow)}
@media (max-width:575.98px){
  .hero-brand.v3 .v3-flag{opacity:.13}
  .hero-brand.v3 .brand-title{font-size:2.35rem;line-height:1.22}
  .hero-brand.v3 .brand-title .w:nth-child(1)>span{filter: drop-shadow(0 3px 3px rgba(3,10,40,.22))}
  .hero-brand.v3 .brand-title .w:nth-child(2)>span{filter: drop-shadow(0 3px 3px rgba(3,10,40,.22))}
  .hero-brand.v3 .brand-title .w:nth-child(3)>span{filter: drop-shadow(0 3px 3px rgba(3,10,40,.22))}
  .hero-brand.v3 .brand-en{display:block;max-width:100%;font-size:clamp(.72rem,3.5vw,.92rem);letter-spacing:.07em;white-space:nowrap;text-align:center}
  .hero-brand.v3 .brand-en::after{left:15%;right:15%}
  .hero-brand.v3 .brand-copy{padding-inline:0}
}

/* ==========================================================================
   Nainik Jyoti Mission — premium navy/gold section
   ========================================================================== */
.jyoti-section{position:relative;overflow:hidden;isolation:isolate;background:linear-gradient(160deg,#040d2b 0%,#0a2158 55%,#0e2f78 100%)}
.jy-bg{position:absolute;inset:0;z-index:-1;pointer-events:none}
.jy-rays{position:absolute;left:-260px;top:-300px;width:980px;height:980px;background:repeating-conic-gradient(from 0deg,rgba(246,215,122,.13) 0 4deg,transparent 4deg 14deg);-webkit-mask-image:radial-gradient(closest-side,#000,transparent 72%);mask-image:radial-gradient(closest-side,#000,transparent 72%);animation:brandSpin 120s linear infinite}
.jy-glow{position:absolute;right:-200px;bottom:-260px;width:720px;height:720px;border-radius:50%;background:radial-gradient(closest-side,rgba(60,120,255,.38),transparent 70%)}
.jyoti-section .section-title{font-size:clamp(1.9rem,3.4vw,2.9rem)}
.gold-glow{background:linear-gradient(180deg,#fff2c2,#f6c957 55%,#d9962b);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 14px rgba(246,201,87,.45))}
.jy-left{position:relative}
@media (min-width:992px){.jy-left{position:sticky;top:calc(var(--header-h) + 24px)}}
.jy-brand{display:flex;align-items:center;gap:1.2rem;margin:1.3rem 0 1.5rem}
.jy-medal{position:relative;flex:none;width:150px;height:150px;display:grid;place-items:center}
.jy-medal::before{content:"";position:absolute;inset:0;border-radius:50%;border:1.5px dashed rgba(246,215,122,.55);animation:brandSpin 40s linear infinite}
.jy-medal::after{content:"";position:absolute;inset:-14px;border-radius:50%;background:radial-gradient(closest-side,rgba(246,201,87,.32),transparent 72%);animation:glowPulse 4s ease-in-out infinite}
.jy-emblem{position:relative;z-index:1;width:118px;height:118px;object-fit:contain;filter:drop-shadow(0 8px 16px rgba(0,0,0,.5))}
.jy-flame{position:absolute;z-index:2;top:-20px;left:50%;transform:translateX(-50%);font-size:1.9rem;line-height:1;color:#ffb347;filter:drop-shadow(0 0 10px rgba(255,160,50,.9)) drop-shadow(0 0 22px rgba(255,120,20,.55));animation:flameFlicker 1.6s ease-in-out infinite;transform-origin:50% 100%}
@keyframes flameFlicker{0%,100%{transform:translateX(-50%) scale(1,1) rotate(-2deg)}25%{transform:translateX(-50%) scale(.94,1.1) rotate(2deg)}50%{transform:translateX(-50%) scale(1.06,.96) rotate(-1deg)}75%{transform:translateX(-50%) scale(.97,1.07) rotate(3deg)}}
.jy-lead{font-size:1.06rem;color:#eaf0ff}
.jy-lead strong{color:#f6d77a}
.jy-pills-label{margin:1.4rem 0 .7rem;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:#9fb6ea}
.jy-pills{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.55rem}
.jy-pill{display:inline-flex;align-items:center;gap:.5rem;border-radius:999px;padding:.42rem 1rem;font-size:.9rem;font-weight:600;color:#dbe6ff;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.18);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:all .3s var(--ease)}
.jy-pill i{color:#f6d77a;font-size:.85rem}
.jy-pill:hover{background:rgba(255,255,255,.14);transform:translateY(-2px)}
.jy-pill:not(.collapsed){background:linear-gradient(135deg,rgba(246,215,122,.28),rgba(246,215,122,.1));border-color:#f6d77a;color:#fff;box-shadow:0 8px 20px rgba(246,201,87,.2)}
/* accordion as a glass timeline */
.jy-acc{position:relative}
.jy-acc::before{content:"";position:absolute;left:41px;top:34px;bottom:34px;width:2px;background:linear-gradient(#f6d77a,rgba(246,215,122,.08));z-index:0}
.jy-acc .accordion-item{position:relative;z-index:1;background:linear-gradient(135deg,rgba(255,255,255,.09),rgba(255,255,255,.03));border:1px solid rgba(255,255,255,.15)!important;border-radius:18px!important;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);margin-bottom:.9rem;transition:border-color .3s,box-shadow .3s,transform .3s var(--ease)}
.jy-acc .accordion-item:hover{transform:translateX(4px)}
.jy-acc .accordion-item:has(.accordion-button:not(.collapsed)){border-color:rgba(246,215,122,.6)!important;box-shadow:0 18px 40px rgba(0,0,0,.3),0 0 0 1px rgba(246,215,122,.15)}
.jy-acc .accordion-button{gap:1rem;padding:1rem 1.2rem;background:transparent!important;box-shadow:none!important;color:#fff;align-items:center}
.jy-acc .accordion-button::after{filter:invert(1) brightness(2)}
.jy-acc .ic{flex:none;width:48px;height:48px;border-radius:15px;display:grid;place-items:center;font-size:1.15rem;color:#fff;background:linear-gradient(135deg,#2f66e8,#123a9c);box-shadow:0 8px 18px rgba(0,0,0,.3);transition:all .35s var(--ease)}
.jy-acc .accordion-button:not(.collapsed) .ic{background:linear-gradient(135deg,#ffd978,#e0a02b);color:#3a2905;transform:scale(1.06) rotate(-4deg);box-shadow:0 0 0 5px rgba(246,215,122,.18),0 10px 22px rgba(0,0,0,.35)}
.jy-acc .ttl{display:block;line-height:1.4}
.jy-acc .pno{display:block;font-family:var(--font-body);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:#f6d77a;margin-bottom:.1rem}
.jy-acc .acc-sub{margin-top:.15rem;color:#b4c6ee;opacity:1}
.jy-acc .accordion-body{padding:.2rem 1.4rem 1.5rem 5.1rem;color:#dbe6fb;font-size:1rem;line-height:1.85}
.jy-quote{display:flex;gap:1rem;align-items:flex-start;margin-top:1.3rem;padding:1.4rem 1.5rem;border-radius:18px;background:linear-gradient(135deg,rgba(246,215,122,.16),rgba(255,255,255,.05));border:1px solid rgba(246,215,122,.42);color:#f4ead0}
.jy-quote>i{flex:none;font-size:1.9rem;color:#ffb347;filter:drop-shadow(0 0 10px rgba(255,160,50,.7));animation:flameFlicker 1.8s ease-in-out infinite;transform-origin:50% 100%}
.jy-quote p{margin:0;line-height:1.85}
.jy-quote strong{color:#f6d77a}
@media (max-width:575.98px){
  .jy-brand{flex-direction:column;align-items:flex-start}
  .jy-acc::before{left:33px}
  .jy-acc .ic{width:42px;height:42px}
  .jy-acc .accordion-body{padding:.2rem 1rem 1.3rem 1rem}
  .jy-medal{width:130px;height:130px}.jy-emblem{width:100px;height:100px}
}
@media (prefers-reduced-motion:reduce){.jy-rays,.jy-medal::before,.jy-medal::after,.jy-flame,.jy-quote>i{animation:none}}

/* ==========================================================================
   Title 3D pro: white outline + dark extrusion + glossy shine + float + mouse tilt
   ========================================================================== */
.hero-brand.v3 .brand-title{transform:perspective(1000px) rotateY(calc(var(--px,0) * 9deg)) rotateX(calc(var(--py,0) * -6deg));transform-origin:20% 60%;transition:transform .25s ease-out}
.hero-brand.v3 .brand-title .w>span{-webkit-text-stroke:.055em #fff;paint-order:stroke fill;letter-spacing:.005em}

.hero-brand.v3 .brand-title .w:nth-child(1)>span{background:linear-gradient(105deg,transparent 42%,rgba(255,255,255,.9) 50%,transparent 58%) 130% 0/260% 100% no-repeat,linear-gradient(180deg,#ff9b2e 0%,#e2700a 50%,#b34d00 100%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;filter: drop-shadow(0 9px 8px rgba(3,10,40,.3))}
.hero-brand.v3 .brand-title .w:nth-child(2)>span{background:linear-gradient(105deg,transparent 42%,rgba(255,255,255,.9) 50%,transparent 58%) 130% 0/260% 100% no-repeat,linear-gradient(180deg,#2a4fb8 0%,#0f2a78 55%,#061a4d 100%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;filter: drop-shadow(0 9px 8px rgba(3,10,40,.3))}
.hero-brand.v3 .brand-title .w:nth-child(3)>span{background:linear-gradient(105deg,transparent 42%,rgba(255,255,255,.9) 50%,transparent 58%) 130% 0/260% 100% no-repeat,linear-gradient(180deg,#23b514 0%,#0e7a06 55%,#075004 100%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;filter: drop-shadow(0 9px 8px rgba(3,10,40,.3))}

@keyframes titleShine{0%{background-position:130% 0,0 0}45%,100%{background-position:-60% 0,0 0}}
@keyframes wordBob{50%{translate:0 -3px}}
.hero-brand .brand-title .w:nth-child(1)>span{animation:wordUp .95s cubic-bezier(.2,.8,.2,1) .9s both,titleShine 5.6s ease-in-out 3s infinite,wordBob 4.4s ease-in-out 2.2s infinite}
.hero-brand .brand-title .w:nth-child(2)>span{animation:wordUp .95s cubic-bezier(.2,.8,.2,1) 1.1s both,titleShine 5.6s ease-in-out 3.35s infinite,wordBob 4.4s ease-in-out 2.5s infinite}
.hero-brand .brand-title .w:nth-child(3)>span{animation:wordUp .95s cubic-bezier(.2,.8,.2,1) 1.3s both,titleShine 5.6s ease-in-out 3.7s infinite,wordBob 4.4s ease-in-out 2.8s infinite}

@media (max-width:991.98px){.hero-brand.v3 .brand-title{transform:none}}
@media (max-width:575.98px){
  .hero-brand.v3 .brand-title .w>span{-webkit-text-stroke:.05em #fff}
  .hero-brand.v3 .brand-title .w:nth-child(1)>span{filter: drop-shadow(0 5px 5px rgba(3,10,40,.28))}
  .hero-brand.v3 .brand-title .w:nth-child(2)>span{filter: drop-shadow(0 5px 5px rgba(3,10,40,.28))}
  .hero-brand.v3 .brand-title .w:nth-child(3)>span{filter: drop-shadow(0 5px 5px rgba(3,10,40,.28))}
}
@media (prefers-reduced-motion:reduce){.hero-brand.v3 .brand-title{transform:none}.hero-brand .brand-title .w>span{animation:none!important}}

/* outline outside the glyphs: white ring first, then dark extrusion, so the coloured fill stays full-bodied */
.hero-brand.v3 .brand-title .w>span{-webkit-text-stroke:0}
.hero-brand.v3 .brand-title .w:nth-child(1)>span{-webkit-text-stroke:0;filter:drop-shadow(2.5px 0 0 #fff) drop-shadow(-2.5px 0 0 #fff) drop-shadow(0 2.5px 0 #fff) drop-shadow(0 -2.5px 0 #fff) drop-shadow(0 9px 8px rgba(3,10,40,.3))}
.hero-brand.v3 .brand-title .w:nth-child(2)>span{-webkit-text-stroke:0;filter:drop-shadow(2.5px 0 0 #fff) drop-shadow(-2.5px 0 0 #fff) drop-shadow(0 2.5px 0 #fff) drop-shadow(0 -2.5px 0 #fff) drop-shadow(0 9px 8px rgba(3,10,40,.3))}
.hero-brand.v3 .brand-title .w:nth-child(3)>span{-webkit-text-stroke:0;filter:drop-shadow(2.5px 0 0 #fff) drop-shadow(-2.5px 0 0 #fff) drop-shadow(0 2.5px 0 #fff) drop-shadow(0 -2.5px 0 #fff) drop-shadow(0 9px 8px rgba(3,10,40,.3))}
@media (max-width:575.98px){
  .hero-brand.v3 .brand-title .w:nth-child(1)>span{filter:drop-shadow(1.4px 0 0 #fff) drop-shadow(-1.4px 0 0 #fff) drop-shadow(0 1.4px 0 #fff) drop-shadow(0 -1.4px 0 #fff) drop-shadow(0 5px 5px rgba(3,10,40,.28))}
  .hero-brand.v3 .brand-title .w:nth-child(2)>span{filter:drop-shadow(1.4px 0 0 #fff) drop-shadow(-1.4px 0 0 #fff) drop-shadow(0 1.4px 0 #fff) drop-shadow(0 -1.4px 0 #fff) drop-shadow(0 5px 5px rgba(3,10,40,.28))}
  .hero-brand.v3 .brand-title .w:nth-child(3)>span{filter:drop-shadow(1.4px 0 0 #fff) drop-shadow(-1.4px 0 0 #fff) drop-shadow(0 1.4px 0 #fff) drop-shadow(0 -1.4px 0 #fff) drop-shadow(0 5px 5px rgba(3,10,40,.28))}
}

/* ==========================================================================
   Header pro: gradient top bar, tricolour hairline, refined brand + nav
   ========================================================================== */
.topbar{background:linear-gradient(90deg,#050f2b 0%,#0a1f4d 55%,#0d2b62 100%);border-bottom:1px solid rgba(201,162,74,.35);color:#cdd8f0;position:relative}
.topbar i{color:#e0b85a}
.topbar a:hover{color:#f6d77a}
.topbar-contact a+a{position:relative;padding-left:1.6rem}
.topbar-contact a+a::before{content:"";position:absolute;left:0;top:50%;height:14px;width:1px;background:rgba(255,255,255,.22);transform:translateY(-50%)}
.topbar-reg{letter-spacing:.03em;color:#e8d9a8;opacity:1}
.topbar-social a{background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px rgba(255,255,255,.14)}
.topbar-social a:hover{background:linear-gradient(135deg,#f6d77a,#c9a24a)}
.topbar-social a:hover i{color:#0a1f4d}

.site-header{background:rgba(255,255,255,.97)} /* no backdrop-filter here: it creates a containing block for position:fixed descendants (the offcanvas menu lives inside the header), which broke the mobile menu's positioning */
.site-header .navbar{background:transparent;position:relative}
.site-header .navbar::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,#ff9933 0 33.3%,#e9edf7 33.3% 66.6%,#138808 66.6% 100%);opacity:.85}
.site-header.is-stuck{box-shadow:0 8px 26px rgba(8,28,66,.16)}

.navbar-brand img{border-radius:50%;box-shadow:0 0 0 2px #fff,0 0 0 3.5px #c9a24a,0 6px 14px rgba(10,31,77,.25)}
.brand-text strong{background:linear-gradient(90deg,#0a1f4d,#17409a);-webkit-background-clip:text;background-clip:text;color:transparent;letter-spacing:.005em}
.brand-text small{color:#a8791c;letter-spacing:.2em;font-size:.66rem}

.navbar .nav-link{color:#0a1f4d;border-radius:10px;letter-spacing:.005em;transition:color .25s,background .25s}
.navbar .nav-link::before{background:linear-gradient(90deg,#c9a24a,#f6d77a);height:3px;border-radius:3px;bottom:.1rem}
.navbar .nav-link:hover,.navbar .nav-link:focus,.navbar .nav-link.active{color:#0d2b62;background:rgba(10,31,77,.05)}
.navbar .nav-link.active{color:#a8791c}
.navbar .dropdown-menu{border:0;border-top:3px solid #c9a24a;border-radius:0 0 14px 14px;box-shadow:0 22px 44px rgba(8,28,66,.18);padding:.5rem}
.navbar .dropdown-item{border-radius:9px;font-weight:600;color:#0a1f4d;padding:.55rem .9rem}
.navbar .dropdown-item:hover,.navbar .dropdown-item.active{background:rgba(201,162,74,.14);color:#0a1f4d}

/* language switch */
.lang-switch{display:inline-flex;align-items:center;gap:.4rem;padding:.42rem .85rem;border-radius:999px;font-weight:700;font-size:.86rem;color:#0a1f4d;text-decoration:none;border:1.5px solid #c9a24a;background:#fffaf0;transition:all .25s;white-space:nowrap}
.lang-switch i{color:#a8791c}
.lang-switch:hover{background:#0d2b62;color:#f6d77a;border-color:#0d2b62}
.lang-switch:hover i{color:#f6d77a}
@media (min-width:992px){.lang-switch{margin-left:.8rem}}
@media (max-width:991.98px){.lang-switch{margin:1rem 0 .4rem;align-self:flex-start}}
.navbar .btn-gnf-nav{white-space:nowrap}
.mobile-actions{display:flex;align-items:center;gap:.55rem}
.mobile-actions .lang-switch-mobile,
.mobile-actions .navbar-toggler{
  height:38px;box-sizing:border-box;border-radius:10px;background:var(--bg-soft);
  border:1.5px solid var(--line);color:var(--navy-900);
  align-items:center;justify-content:center;
  transition:border-color .2s,background .2s
}
.mobile-actions .lang-switch-mobile:hover,
.mobile-actions .navbar-toggler:hover{border-color:var(--saffron);background:#fff}
.mobile-actions .lang-switch-mobile{order:1;margin:0;align-self:center;padding:0 .7rem;font-size:.74rem;font-weight:700;gap:.32rem}
.mobile-actions .lang-switch-mobile i{color:var(--saffron-600)}
.mobile-actions .navbar-toggler{order:2;width:38px;padding:0;font-size:1.15rem}
.lang-switch-mobile{display:none}
@media (max-width:991.98px){
  .mobile-actions .lang-switch-mobile{display:inline-flex}
  .mobile-actions .navbar-toggler{display:inline-flex}
}
@media (max-width:991.98px){.lang-switch-mobile{display:inline-flex}}
@media (max-width:359.98px){.lang-switch-mobile span{display:none}}
@media (min-width:992px) and (max-width:1250px){.navbar .nav-link{padding:.6rem .55rem;font-size:.9rem}.lang-switch{margin-left:.3rem;padding:.38rem .7rem}}

/* Committee: highlighted name + designation */
.org-card h3,.member-card h4{color:#0a1f4d;font-weight:800;letter-spacing:.005em;position:relative}
.org-card h3{font-size:1.18rem;margin-bottom:.6rem;padding-bottom:.55rem}
.org-card h3::after{content:"";position:absolute;left:50%;bottom:0;width:38px;height:3px;border-radius:3px;translate:-50% 0;background:linear-gradient(90deg,#ff9933,#c9a24a,#138808)}
.member-card h4{font-size:1.06rem;margin-bottom:.3rem}
.org-card .org-roles li:first-child{display:inline-block;font-weight:700;font-size:.92rem;color:#7a5410;background:linear-gradient(135deg,#fff4d6,#fde7ae);border:1px solid rgba(201,162,74,.55);border-radius:999px;padding:.18rem .8rem;margin-bottom:.35rem}
.member-card p:first-of-type{display:inline-block;font-weight:700;font-size:.84rem;color:#7a5410;background:#fff6dc;border-left:3px solid #c9a24a;border-radius:0 8px 8px 0;padding:.12rem .55rem;margin-bottom:.15rem}
.member-card p+p{margin-top:.15rem}
.member-card:hover h4,.org-card:hover h3{color:#0d2b62}
.chair-info h3{color:#0a1f4d;font-weight:800}

/* Announcement ticker: green gradient */
.ticker{background:linear-gradient(90deg,#075004 0%,#0e7a06 45%,#23a012 100%);border-top:1px solid rgba(255,255,255,.18);border-bottom:1px solid rgba(0,0,0,.12)}
.ticker-label i{color:#7be36b}
.ticker-inner span::before{color:#b9f5a8}
.ticker{border:0}
.ticker .container{min-height:34px}
.ticker-label{padding:.2rem .8rem;font-size:.78rem}
.ticker-inner{padding:.3rem 0}
.ticker-inner span{font-size:.9rem}
/* designation: no yellow background */
.org-card .org-roles li:first-child,.member-card p:first-of-type{background:none;border:0;border-radius:0;padding:0;color:#a8791c;font-weight:700}
.org-card .org-roles li:first-child{display:block;font-size:.95rem}
.member-card p:first-of-type{font-size:.86rem}
/* designations: gray */
.org-card .org-roles li:first-child,.member-card p:first-of-type{color:var(--muted,#5b6577)}
/* site-wide font size +~8% (all rem-based text scales) */
html{font-size:106.25%}
@media (min-width:992px){html{font-size:109%}}
/* designations: normal weight */
.org-card .org-roles li:first-child,.member-card p:first-of-type{font-weight:400}
/* final professional type scale */
html{font-size:107%}
@media (min-width:992px){html{font-size:112%}}
@media (min-width:1600px){html{font-size:115%}}
@media (min-width:992px) and (max-width:1399.98px){
  html{font-size:104%}
  .navbar .nav-link{padding:.6rem .5rem;font-size:.92rem}
  .brand-text small{letter-spacing:.12em}
  .navbar-brand{margin-right:.4rem}
  .navbar-brand img{width:50px;height:50px}
}
/* committee sub-headings: bordered pill with background */
.org-subhead span{padding:.55rem 1.5rem;border-radius:999px;background:linear-gradient(135deg,#ffffff,#eef3ff);border:1.5px solid #c9a24a;box-shadow:0 8px 20px rgba(13,43,98,.09),inset 0 0 0 3px #fff;font-weight:800;color:#0a1f4d}
.org-subhead::before,.org-subhead::after{background:linear-gradient(90deg,transparent,rgba(201,162,74,.6))}
.org-subhead::after{background:linear-gradient(90deg,rgba(201,162,74,.6),transparent)}
.org-subhead i{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:#fff4d6;color:#a8791c;font-size:.9rem}
/* hero portrait larger */
.hero-brand.v3 .portrait-img{width:94%}
@media (min-width:992px){.hero-brand.v3 .brand-portrait{max-width:780px;margin-right:-3rem}}
@media (min-width:1600px){.hero-brand.v3 .brand-portrait{max-width:900px}}
@media (max-width:991.98px){.hero-brand.v3 .brand-portrait{max-width:none}.hero-brand.v3 .portrait-img{width:92%}}
@media (max-width:575.98px){.hero-brand.v3 .portrait-img{width:100%}}
@media (max-width:991.98px){.hero-brand.v3 .brand-portrait{max-width:470px;margin-inline:auto}.hero-brand.v3 .portrait-img{width:90%}}
@media (max-width:575.98px){.hero-brand.v3 .brand-portrait{max-width:340px}.hero-brand.v3 .portrait-img{width:92%}}
/* English hero title: smaller so it sits on two lines */
html[lang="en"] .hero-brand.v3 .brand-title{font-size:clamp(2rem,3.5vw,3.5rem);line-height:1.2;gap:0 .3em;max-width:100%}
html[lang="en"] .hero-brand.v3 .brand-title .w{white-space:nowrap}
@media (max-width:575.98px){html[lang="en"] .hero-brand.v3 .brand-title{font-size:clamp(1.9rem,9vw,2.6rem)}}
@media (max-width:991.98px){.site-header .navbar>.container{flex-wrap:nowrap;gap:.5rem}.navbar-brand{min-width:0}.brand-text{min-width:0}.navbar-toggler{flex:none}}
@media (max-width:575.98px){.brand-text strong{font-size:.86rem;white-space:normal;letter-spacing:0;line-height:1.15}.brand-text small{font-size:.58rem;letter-spacing:.1em}.navbar-brand{gap:.5rem}.navbar-brand img{width:42px;height:42px}}
/* role tags smaller */
.member-tag,.member-tag.gold{font-size:.56rem;letter-spacing:.05em;padding:.1rem .45rem;line-height:1.35;margin-bottom:.25rem}
.org-role{font-size:.62rem;padding:.2rem .6rem}
/* chairman name on dark card: gold */
.org-chair .chair-info h3{color:#f6d77a;font-weight:800;font-size:clamp(1.5rem,2.4vw,2rem);text-shadow:0 2px 12px rgba(0,0,0,.35)}

/* ---- dynamic members (members.js) ---- */
.avatar.has-photo{padding:0;overflow:visible;background:#fff}
.avatar.has-photo img{position:absolute;inset:0;width:100%;height:100%;border-radius:50%;object-fit:cover;display:block}
.cm-dyn>.cm-cat{animation:cmIn .55s var(--ease) both}
@keyframes cmIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.cm-cat.cm-officers{margin-bottom:0}
.org-subhead.t-left::before{display:none}
.org-subhead.t-right::after{display:none}
.org-subhead.t-left{justify-content:flex-start}.org-subhead.t-right{justify-content:flex-end}
@media (prefers-reduced-motion:reduce){.cm-dyn>.cm-cat{animation:none}}
