/* ==========================================================
   layout.css — header, drawer, mobile bar, footer, page heads
   ========================================================== */

/* ---------- header ---------- */
.hdr{
  position:fixed;inset:0 0 auto 0;z-index:80;height:var(--header-h);
  display:flex;align-items:center;color:var(--ink);
  transition:color .3s,transform .4s var(--ease);
}
.hdr::before{
  content:"";position:absolute;inset:0;background:var(--bg);opacity:0;border-bottom:1px solid var(--line);
  transition:opacity .3s var(--ease);
}
.hdr.solid::before{opacity:.97}
.hdr.over:not(.solid){color:var(--on-night);--primary:var(--haldi);--primary-ink:#111A3C;--primary-hover:#FFC44D}
.hdr.hide{transform:translateY(-100%)}
body.menu-open .hdr{color:var(--on-night);transform:none;--primary:var(--haldi);--primary-ink:#111A3C;--primary-hover:#FFC44D}
body.menu-open .hdr::before{opacity:0}
.hdr-in{position:relative;display:flex;align-items:center;gap:clamp(12px,2vw,28px);width:100%}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;min-width:0;margin-right:auto}
.brand-mark{width:40px;height:40px;flex:none}
.brand-name{font-family:var(--f-display);font-weight:700;font-size:1.1rem;line-height:1.2;white-space:nowrap;display:block}
html[lang="en"] .brand-name{letter-spacing:-.005em;font-size:1.08rem}
.brand-tag{display:block;font-size:.72rem;opacity:.78;margin-top:1px;line-height:1.3}
html[lang="en"] .brand-tag{letter-spacing:.14em;text-transform:uppercase;font-size:.62rem}
.nav{display:none;gap:2px;align-items:center}
.nav a{
  position:relative;padding:.55em .7em;text-decoration:none;font-weight:500;font-size:.94rem;white-space:nowrap;opacity:.88;
  transition:opacity .2s;
}
.nav a::after{content:"";position:absolute;left:.7em;right:.7em;bottom:.2em;height:2px;background:var(--primary);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}
.nav a:hover{opacity:1}
.nav a:hover::after,.nav a[aria-current="page"]::after{transform:scaleX(1)}
.nav a[aria-current="page"]{opacity:1;font-weight:600}
.hdr-act{display:flex;align-items:center;gap:8px}
.ibtn{
  width:42px;height:42px;border-radius:var(--r-s);display:grid;place-items:center;
  border:1px solid color-mix(in srgb,currentColor 32%,transparent);transition:background-color .2s,border-color .2s;
}
.ibtn:hover{background:color-mix(in srgb,currentColor 10%,transparent);border-color:currentColor}
.ibtn .ico{width:20px;height:20px}
.lang{display:inline-flex;border:1px solid color-mix(in srgb,currentColor 32%,transparent);border-radius:var(--r-s);padding:2px;gap:2px}
.lang button{min-width:42px;height:36px;padding:0 10px;border-radius:1px;font-weight:600;font-size:.86rem;opacity:.78;transition:background-color .2s,color .2s,opacity .2s}
.lang button:hover{opacity:1}
.lang button[aria-pressed="true"]{background:var(--primary);color:var(--primary-ink);opacity:1}
.hdr .btn-join{display:none}
.menu-btn .bars{position:relative;width:20px;height:14px}
.menu-btn .bars i{position:absolute;left:0;right:0;height:2px;background:currentColor;transition:transform .35s var(--ease),opacity .2s,top .35s var(--ease)}
.menu-btn .bars i:nth-child(1){top:0}
.menu-btn .bars i:nth-child(2){top:6px;right:6px}
.menu-btn .bars i:nth-child(3){top:12px}
body.menu-open .menu-btn .bars i:nth-child(1){top:6px;transform:rotate(45deg)}
body.menu-open .menu-btn .bars i:nth-child(2){opacity:0}
body.menu-open .menu-btn .bars i:nth-child(3){top:6px;transform:rotate(-45deg)}
@media (min-width:1200px){
  html[lang="hi"] .nav{display:flex}
  html[lang="hi"] .menu-btn{display:none}
  html[lang="hi"] .hdr .btn-join{display:inline-flex}
}
@media (min-width:1360px){
  html[lang="en"] .nav{display:flex}
  html[lang="en"] .menu-btn{display:none}
  html[lang="en"] .hdr .btn-join{display:inline-flex}
}
.brand>span{min-width:0}
@media (max-width:520px){
  .brand-name{white-space:normal;line-height:1.15}
}
@media (max-width:420px){
  .brand-tag{display:none}
  .brand-name{font-size:.92rem}
  .brand{gap:9px}
  .brand-mark{width:34px;height:34px}
  .hdr-act{gap:6px}
  .hdr-act .ibtn.theme{display:none}
  .lang button{min-width:38px;padding:0 8px}
}

/* ---------- drawer ---------- */
.drawer{
  position:fixed;inset:0;z-index:70;background:var(--night);color:var(--on-night);
  display:flex;flex-direction:column;
  padding:calc(var(--header-h) + 16px) var(--gutter) calc(24px + env(safe-area-inset-bottom,0px));
  clip-path:inset(0 0 100% 0);visibility:hidden;overflow:auto;
  transition:clip-path .5s var(--ease),visibility 0s .5s;
  --primary:var(--haldi);--primary-ink:#111A3C;--primary-hover:#FFC44D;
}
.drawer::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,var(--gau) 0 33.33%,var(--shiksha) 0 66.66%,var(--jansewa) 0)}
body.menu-open .drawer{clip-path:inset(0);visibility:visible;transition:clip-path .55s var(--ease),visibility 0s}
body.menu-open{overflow:hidden}
.drawer-in{width:100%;max-width:var(--maxw);margin:auto;display:grid;gap:var(--s-6)}
.drawer-nav{display:grid;border-top:1px solid var(--on-night-line)}
.drawer-nav a{
  display:grid;grid-template-columns:2.4rem 1fr auto;align-items:center;gap:12px;padding:.62em 0;text-decoration:none;
  font-family:var(--f-display);font-weight:600;font-size:clamp(1.45rem,4.6vw,2.2rem);line-height:1.3;
  border-bottom:1px solid var(--on-night-line);
  opacity:0;transform:translateY(12px);
  transition:opacity .45s var(--ease),transform .45s var(--ease),color .2s,padding .25s var(--ease);
}
body.menu-open .drawer-nav a{opacity:1;transform:none;transition-delay:calc(var(--i,0)*35ms + 140ms),calc(var(--i,0)*35ms + 140ms),0s,0s}
.drawer-nav a small{font-family:var(--f-num);font-weight:500;font-size:.8rem;color:var(--haldi);font-variant-numeric:tabular-nums}
.drawer-nav a .ico{width:22px;height:22px;opacity:.5;transition:opacity .2s,transform .25s var(--ease)}
.drawer-nav a:hover{padding-left:6px}
.drawer-nav a:hover .ico{opacity:1;transform:translate(2px,-2px)}
.drawer-nav a[aria-current="page"]{color:var(--haldi)}
.drawer-foot{display:grid;gap:var(--s-4)}
.drawer-foot p{color:var(--on-night-2);font-size:.92rem}
@media (min-width:900px){
  .drawer-in{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(40px,6vw,96px);align-items:start}
  .drawer-foot{position:sticky;top:0;padding:var(--s-5);border:1px solid var(--on-night-line);background:rgba(244,241,232,.04)}
}

/* ---------- mobile action bar ---------- */
.mbar{
  position:fixed;left:0;right:0;bottom:0;z-index:60;display:none;
  padding:8px max(12px,env(safe-area-inset-left,0px)) calc(8px + env(safe-area-inset-bottom,0px));
  background:color-mix(in srgb,var(--bg) 96%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  border-top:1px solid var(--line);gap:8px;
  transition:transform .35s var(--ease);
}
.mbar .btn{flex:1;min-height:46px;padding-inline:.6em;font-size:.92rem}
.mbar .btn-join{flex:.75}
body.menu-open .mbar,body.lb-open .mbar{transform:translateY(110%)}
@media (max-width:820px){
  .mbar{display:flex}
  body{padding-bottom:calc(66px + env(safe-area-inset-bottom,0px))}
}

/* ---------- footer ---------- */
.ftr{background:var(--footer);color:var(--on-night);position:relative;--primary:var(--haldi);--primary-ink:#111A3C}
.ftr::before{content:"";display:block;height:4px;background:linear-gradient(90deg,var(--gau) 0 33.33%,var(--shiksha) 0 66.66%,var(--jansewa) 0)}
.ftr a{text-decoration:none}
.ftr-top{display:grid;gap:clamp(32px,4vw,56px);padding-block:clamp(48px,6vw,80px) clamp(40px,5vw,64px);grid-template-columns:minmax(0,1fr)}
.ftr h4{
  display:flex;align-items:center;gap:.65em;font-family:var(--f-body);font-weight:600;font-size:.82rem;color:var(--on-night);
  margin-bottom:var(--s-4);padding-bottom:var(--s-3);border-bottom:1px solid var(--on-night-line);
}
html[lang="en"] .ftr h4{text-transform:uppercase;letter-spacing:.14em;font-size:.72rem}
.ftr h4::before{content:"";width:7px;height:7px;background:var(--haldi);flex:none}
.ftr-brand .brand{margin-right:0}
.ftr-brand .brand-name{font-size:1.3rem}
.ftr-brand .brand-mark{width:48px;height:48px}
.ftr-brand p{color:var(--on-night-2);margin-top:var(--s-4);max-width:38ch;font-size:.95rem}
.ftr-col+.ftr-col{}
.ftr-col h4+ul+h4{margin-top:var(--s-6)}
.ftr ul{list-style:none;margin:0;padding:0;display:grid;gap:.15rem}
.ftr-col ul:not(.ftr-contact) a{display:inline-flex;align-items:center;padding:.3em 0;color:var(--on-night-2);font-size:.95rem;transition:color .2s}
.ftr-col ul:not(.ftr-contact) a::before{content:"";width:0;height:1px;background:var(--haldi);margin-right:0;transition:width .25s var(--ease),margin-right .25s var(--ease)}
.ftr-col ul:not(.ftr-contact) a:hover{color:var(--on-night)}
.ftr-col ul:not(.ftr-contact) a:hover::before{width:10px;margin-right:.5em}
.ftr-contact{gap:var(--s-4)!important}
.ftr-contact li{display:grid;grid-template-columns:36px minmax(0,1fr);gap:12px;align-items:start}
.ftr-ico{width:36px;height:36px;display:grid;place-items:center;border:1px solid var(--on-night-line);color:var(--haldi)}
.ftr-ico .ico{width:18px;height:18px}
.ftr-contact small{display:block;color:var(--on-night-2);font-size:.78rem;line-height:1.4;margin-bottom:2px}
.ftr-contact a,.ftr-contact span.v{display:block;color:var(--on-night);font-weight:500;overflow-wrap:anywhere;font-size:.92rem;line-height:1.5}
.ftr-contact a:hover{color:var(--haldi)}
.ftr-soc{
  display:grid;gap:var(--s-4);padding-block:var(--s-5);border-top:1px solid var(--on-night-line);
  grid-template-columns:minmax(0,1fr);align-items:center;
}
.ftr-soc-t{font-family:var(--f-display);font-weight:600;font-size:1.15rem}
.ftr-soc-t small{display:block;font-family:var(--f-body);font-weight:400;font-size:.85rem;color:var(--on-night-2);margin-top:2px}
.ftr-soc-list{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}
.ftr-soc-list a{
  display:grid;grid-template-columns:40px minmax(0,1fr);gap:12px;align-items:center;padding:8px 12px 8px 8px;
  border:1px solid var(--on-night-line);transition:border-color .2s,background-color .2s;
}
.ftr-soc-list a:hover{border-color:var(--haldi);background:rgba(244,241,232,.05)}
.ftr-soc-list .ico-tile{width:40px;height:40px;display:grid;place-items:center;background:rgba(244,241,232,.08);color:var(--on-night);transition:background-color .2s,color .2s}
.ftr-soc-list a:hover .ico-tile{background:var(--haldi);color:#111A3C}
.ftr-soc-list .ico-tile .ico{width:20px;height:20px}
.ftr-soc-list b{display:block;font-weight:600;font-size:.92rem;line-height:1.3}
.ftr-soc-list small{display:block;color:var(--on-night-2);font-size:.78rem;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ftr-base{
  display:flex;justify-content:space-between;align-items:center;gap:12px 24px;flex-wrap:wrap;
  padding-block:var(--s-5) calc(var(--s-5) + 4px);border-top:1px solid var(--on-night-line);font-size:.86rem;color:var(--on-night-2);
}
.ftr-base nav{display:flex;flex-wrap:wrap;gap:6px 20px}
.ftr-base a{color:var(--on-night-2)}
.ftr-base a:hover{color:var(--on-night)}
.ftr-top-btn{
  display:inline-flex;align-items:center;gap:.5em;min-height:40px;padding:0 14px;border:1px solid var(--on-night-line);
  color:var(--on-night);font-weight:600;font-size:.86rem;transition:border-color .2s,background-color .2s,color .2s;
}
.ftr-top-btn:hover{background:var(--haldi);border-color:var(--haldi);color:#111A3C}
.ftr-top-btn .ico{width:16px;height:16px}
@media (min-width:700px){
  .ftr-top{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ftr-brand{grid-column:1/-1}
  .ftr-soc{grid-template-columns:minmax(0,.8fr) minmax(0,2fr)}
  .ftr-soc-list{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media (min-width:1040px){
  .ftr-top{grid-template-columns:1.15fr .8fr .9fr 1.45fr}
  .ftr-brand{grid-column:auto}
}

/* ---------- page heads ---------- */
.phead{
  position:relative;
  padding-top:calc(var(--header-h) + clamp(32px,5vw,72px));
  padding-bottom:clamp(36px,5vw,64px);
  background:var(--bg-2);border-bottom:1px solid var(--line);
  overflow:hidden;
}
.phead::after{content:"";position:absolute;left:0;bottom:-1px;height:4px;width:clamp(96px,14vw,168px);background:var(--haldi)}
.phead .crumbs{display:flex;flex-wrap:wrap;gap:.3rem .5rem;font-size:.86rem;color:var(--ink-3);margin-bottom:var(--s-5);align-items:center}
.phead .crumbs a{color:var(--ink-3);text-decoration:none}
.phead .crumbs a:hover{color:var(--ink);text-decoration:underline}
.phead .crumbs span{color:var(--ink-2);font-weight:500}
.phead .crumbs .ico{width:14px;height:14px;opacity:.55}
.phead h1{max-width:20ch}
.phead .lede{margin-top:var(--s-4)}
.phead-deco{display:none}
.phead.photo{--primary:var(--haldi);--primary-ink:#111A3C;--primary-hover:#FFC44D;background:var(--night);color:var(--on-night);border:0;min-height:min(74vh,600px);display:flex;align-items:flex-end}
.phead.photo::after{display:none}
.phead.photo>.wrap{position:relative;z-index:2;width:100%}
.phead.photo h1{color:var(--on-night);max-width:22ch}
.phead.photo .lede{color:rgba(255,255,255,.88)}
.phead.photo .crumbs,.phead.photo .crumbs a,.phead.photo .crumbs span{color:rgba(255,255,255,.8)}
.phead.photo .crumbs a:hover{color:#fff}
.phead-bg{position:absolute;inset:0;z-index:0}
.phead-bg img{width:100%;height:100%;object-fit:cover}
.phead-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,18,44,.6) 0%,rgba(11,18,44,.18) 36%,rgba(11,18,44,.86) 100%)}

/* ---------- section head ---------- */
.shead{
  display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s-4) var(--s-6);flex-wrap:wrap;
  margin-bottom:clamp(28px,4vw,48px);padding-bottom:var(--s-5);border-bottom:1px solid var(--line);
}
.on-night .shead{border-bottom-color:var(--on-night-line)}
.shead .h2{max-width:20ch}
.shead .lede{margin-top:var(--s-3)}
.shead-main{min-width:0}
