/* NRF editorial redesign (October 2026): navy, white and warm neutrals with a restrained red accent.
   Loaded after posh.css and wab.css, so it only adds and refines. */
:root{--ed-red:#c8102e;--ed-red-h:#a50d26;--ed-navy:#0b0f39;--ed-sand:#f6f3ee;--ed-sand-2:#efe9de}
:root:not([data-theme="dark"]){--bg:#f6f3ee;--line:#e6dfd2;--surface-2:#faf8f4}
:root[data-theme="dark"]{--ed-red:#ff5a6e;--ed-red-h:#ff8091}
.eyebrow{color:var(--ed-red)}
.eyebrow::before{background:var(--ed-red)}
.sec-h h2{letter-spacing:-.012em}
.ed-kicker{display:inline-flex;align-items:center;gap:10px;font:700 12px var(--sans);letter-spacing:.16em;text-transform:uppercase;color:#ff8a98}
.ed-kicker::before{content:"";width:26px;height:2px;background:currentColor}
body.lang-bn .ed-kicker{letter-spacing:0;text-transform:none;font-size:14px}
.ed-btn{background:var(--ed-red);color:#fff;box-shadow:0 10px 24px -10px rgba(200,16,46,.7)}
.ed-btn:hover{background:var(--ed-red-h);transform:translateY(-1px)}
.ed-btn-line{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.55)}
.ed-btn-line:hover{background:rgba(255,255,255,.12);color:#fff}
.ed-chips{display:flex;flex-wrap:wrap;gap:8px}
.ed-chips a,.ed-chips i{font:600 13px/1 var(--sans);font-style:normal;padding:8px 13px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink);transition:background .15s,border-color .15s,color .15s}
.ed-chips a:hover{border-color:var(--ed-red);color:var(--ed-red)}
.ed-chips-sm a,.ed-chips-sm i{font-size:12px;padding:6px 10px}

/* ---------- home: hero ---------- */
.ed-hero{position:relative;background:radial-gradient(1100px 520px at 85% -10%,rgba(200,16,46,.22),transparent 60%),radial-gradient(900px 480px at 0% 110%,rgba(79,107,237,.28),transparent 55%),var(--ed-navy);color:#fff;overflow:hidden}
.ed-hero::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(115deg,rgba(255,255,255,.035) 0 1px,transparent 1px 46px);pointer-events:none}
.ed-hero-in{position:relative;z-index:1;display:grid;grid-template-columns:.92fr 1.08fr;gap:48px;align-items:center;padding-top:64px;padding-bottom:72px}
.ed-hero h1{margin:16px 0 16px;font:800 clamp(34px,4.6vw,58px)/1.06 var(--serif);letter-spacing:-.02em;color:#fff;text-wrap:balance}
body.lang-bn .ed-hero h1{line-height:1.25;letter-spacing:0;font-size:clamp(30px,4vw,48px)}
.ed-hero p{margin:0;max-width:560px;font-size:18px;line-height:1.6;color:#d6daf5}
.ed-ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.ed-ctas .btn{padding:13px 24px;font-size:15px}
.ed-facts{display:flex;flex-wrap:wrap;gap:12px 34px;list-style:none;margin:34px 0 0;padding:26px 0 0;border-top:1px solid rgba(255,255,255,.16)}
.ed-facts li{display:flex;flex-direction:column}
.ed-facts b{font:800 30px/1 var(--serif);color:#fff}
.ed-facts span{margin-top:6px;font-size:13px;color:#aeb4e6}
.ed-hero-art{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:196px;gap:12px}
.ed-tile{position:relative;display:flex;align-items:flex-end;border-radius:18px;overflow:hidden;background:var(--sb);box-shadow:0 22px 44px -20px rgba(0,0,0,.7);transform:perspective(800px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s;animation:edTileIn .7s cubic-bezier(.2,.8,.2,1) backwards;animation-delay:calc(var(--i) * 90ms);-webkit-tap-highlight-color:transparent}
.ed-tile-bg{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform .9s cubic-bezier(.2,.8,.2,1),filter .5s;filter:saturate(.92)}
.ed-tile::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(5,7,26,0) 35%,rgba(5,7,26,.88) 100%)}
.ed-tile::after{content:"";position:absolute;z-index:2;left:0;right:0;bottom:0;height:4px;background:var(--sb);transform:scaleX(.28);transform-origin:left;transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.ed-tile:hover{transform:perspective(800px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(-8px) scale(1.035);box-shadow:0 34px 60px -18px rgba(0,0,0,.85);z-index:2}
.ed-tile:hover .ed-tile-bg{transform:scale(1.14);filter:saturate(1.12)}
.ed-tile:hover::after{transform:scaleX(1)}
.ed-tile:active{transform:perspective(800px) translateY(-2px) scale(.965);transition-duration:.12s}
.ed-tile .ed-tile-in::before{content:"";position:absolute;inset:-200px;background:radial-gradient(260px circle at var(--mx,50%) var(--my,50%),rgba(255,255,255,.22),transparent 60%);opacity:0;transition:opacity .3s;pointer-events:none}
.ed-tile:hover .ed-tile-in::before{opacity:1}
.ed-go{position:absolute;right:14px;bottom:16px;display:inline-flex;width:30px;height:30px;border-radius:50%;align-items:center;justify-content:center;background:#fff;color:var(--ed-navy);font:700 15px/1 var(--sans);font-style:normal;opacity:0;transform:translateX(-8px) scale(.8);transition:opacity .3s,transform .4s cubic-bezier(.2,.8,.2,1)}
.ed-tile:hover .ed-go,.ed-tile:focus-visible .ed-go{opacity:1;transform:none}
.ed-tile:hover .ed-tile-in b{transform:translateY(-3px)}
.ed-tile-in b{transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.ed-tile-in{position:relative;display:flex;flex-direction:column;padding:14px 16px 18px;color:#fff;z-index:3;width:100%}
.ed-tile-in b{font:700 17px/1.2 var(--serif);text-shadow:0 2px 12px rgba(0,0,0,.55)}
@keyframes edTileIn{from{opacity:0;transform:translateY(22px) scale(.97)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.ed-tile{animation:none}}

/* ---------- home: migration spotlight ---------- */
.ed-spot{background:linear-gradient(180deg,#0f1550,#0b0f39);color:#fff;margin:56px 0;padding:56px 0 64px;position:relative;overflow:hidden;border-radius:26px}
#homeWab{margin-top:30px}
.ed-spot::before{content:"";position:absolute;inset:0;background:radial-gradient(700px 300px at 100% 0,rgba(200,16,46,.2),transparent 65%);pointer-events:none}
.ed-spot .wrap{position:relative}
.ed-spot-head{display:flex;justify-content:space-between;gap:28px;align-items:flex-end;flex-wrap:wrap;margin-bottom:26px}
.ed-spot h2{margin:10px 0 8px;font:800 clamp(28px,3.4vw,42px)/1.12 var(--serif);color:#fff}
.ed-spot p{margin:0;max-width:620px;color:#c9cdf0;font-size:16px}
.ed-spot-act{display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.ed-spot .ed-chips a{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.2);color:#fff}
.ed-spot .ed-chips a:hover{background:#fff;color:var(--ed-navy);border-color:#fff}

/* ---------- home: category grid ---------- */
.ed-cats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.ed-cat{position:relative;display:flex;flex-direction:column;border-radius:20px;overflow:hidden;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s}
.ed-cat{transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));-webkit-tap-highlight-color:transparent}
.ed-cat:hover{transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(-7px);box-shadow:var(--shadow-h)}
.ed-cat:active{transform:perspective(900px) translateY(-2px) scale(.975);transition-duration:.12s}
.ed-cat-body b{transition:color .2s}
.ed-cat:hover .ed-cat-body b{color:var(--ed-red)}
.ed-cat-img{display:block;height:150px;position:relative;overflow:hidden}
.ed-cat-img i{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform .9s cubic-bezier(.2,.8,.2,1)}
.ed-cat:hover .ed-cat-img i{transform:scale(1.12)}
.ed-cat-img::after{content:"";position:absolute;z-index:1;left:0;right:0;bottom:0;height:4px;background:var(--sb);transform:scaleX(.3);transform-origin:left;transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.ed-cat:hover .ed-cat-img::after{transform:scaleX(1)}
.ed-cat-body{display:flex;flex-direction:column;gap:6px;padding:16px 18px 18px;flex:1}
.ed-cat-body small{font:700 11px var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
body.lang-bn .ed-cat-body small{letter-spacing:0;text-transform:none;font-size:12.5px}
.ed-cat-body b{font:700 19px/1.25 var(--serif);color:var(--heading)}
.ed-cat-txt{font-size:13.5px;color:var(--muted);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.ed-cat-body .ed-chips{margin-top:auto;padding-top:8px}
.ed-cat-all{background:linear-gradient(150deg,#c8102e,#7a0a1c 70%);border-color:transparent;justify-content:flex-end}
.ed-cat-all .ed-cat-body{justify-content:flex-end;color:#fff}
.ed-cat-all b{color:#fff;font-size:22px}
.ed-cat-all .ed-cat-txt{color:#ffd9de}
.ed-cat-all .ed-all-ic{display:inline-flex;width:44px;height:44px;border-radius:12px;background:rgba(255,255,255,.18);align-items:center;justify-content:center;color:#fff;margin-bottom:8px}

/* ---------- home: discover ---------- */
.ed-disc{display:grid;grid-template-columns:1.6fr 1fr;gap:22px;align-items:start}
.ed-topics{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.ed-topic{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--sb);border-radius:14px;padding:14px 16px}
.ed-topic-h{display:block;margin-bottom:10px;font:700 15px var(--serif);color:var(--heading)}
.ed-topic-h:hover{color:var(--ed-red)}
.ed-recent{padding:20px 22px}
.ed-recent h3{margin:0 0 10px;font:700 18px var(--serif);color:var(--heading)}
.ed-recent ul{list-style:none;margin:0;padding:0}
.ed-recent li{padding:12px 0;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:3px}
.ed-recent li:first-child{border-top:0}
.ed-recent a{font-weight:700;color:var(--heading)}
.ed-recent a:hover{color:var(--ed-red)}

/* featured story: calmer, more editorial */
.feat-main{border-radius:20px}
.feat-main h3{font-size:28px}

/* ---------- migration hub ---------- */
.ed-hub{padding-top:30px}
.ed-hubsearch{display:flex;align-items:center;gap:10px;background:var(--surface);border:1.5px solid var(--line);border-radius:999px;padding:6px 6px 6px 18px;box-shadow:var(--shadow);max-width:760px;margin:0 auto 6px}
.ed-hubsearch:focus-within{border-color:var(--ed-red)}
.ed-hubsearch svg{color:var(--muted)}
.ed-hubsearch input{flex:1;min-width:0;border:0;outline:0;background:transparent;padding:10px 4px;font-size:16px}
.ed-pgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.ed-path{position:relative;display:flex;flex-direction:column;gap:8px;padding:20px 20px 24px;background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);transition:transform .25s,box-shadow .25s,border-color .25s}
.ed-path:hover{transform:translateY(-4px);box-shadow:var(--shadow-h);border-color:var(--ed-red)}
.ed-path-ic{display:inline-flex;width:44px;height:44px;border-radius:12px;align-items:center;justify-content:center;background:rgba(200,16,46,.1);color:var(--ed-red)}
.ed-path b{font:700 17px/1.25 var(--serif);color:var(--heading)}
.ed-path>span:not(.ed-path-ic){font-size:13.5px;color:var(--muted)}
.ed-path em{position:absolute;right:18px;bottom:14px;font-style:normal;font-weight:700;color:var(--ed-red);transition:transform .2s}
.ed-path:hover em{transform:translateX(4px)}
.ed-ctabs{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}
.ed-ctab{padding:10px 18px;border-radius:999px;border:1.5px solid var(--line);background:var(--surface);font-weight:600;cursor:pointer;transition:all .15s}
.ed-ctab:hover{border-color:var(--ed-red)}
.ed-ctab.on{background:var(--ed-navy);color:#fff;border-color:var(--ed-navy)}
:root[data-theme="dark"] .ed-ctab.on{background:#fff;color:var(--ed-navy);border-color:#fff}
.ed-cpanel{padding:22px 24px}
.ed-cpanel h3{margin:0 0 10px;font:700 24px var(--serif);color:var(--heading)}
.ed-ccols{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.ed-clist{list-style:none;margin:6px 0 0;padding:0}
.ed-clist li{padding:9px 0;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:2px}
.ed-clist li:first-child{border-top:0}
.ed-clist a{font-weight:600;color:var(--accent)}
.ed-clist a:hover{text-decoration:underline}
.ed-disc-note{margin:16px 0 0;font-size:12.5px;color:var(--muted);border-left:3px solid var(--ed-red);padding-left:12px}
.ed-faq{display:grid;gap:10px;max-width:860px}
.ed-faq details{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:0 18px;box-shadow:var(--shadow)}
.ed-faq summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:14px;padding:16px 0;font:700 16px var(--serif);color:var(--heading)}
.ed-faq summary::-webkit-details-marker{display:none}
.ed-faq summary span{flex:none;width:28px;height:28px;border-radius:50%;background:var(--ed-red);color:#fff;font:700 13px/28px var(--sans);text-align:center}
.ed-faq summary::after{content:"+";margin-left:auto;font-size:22px;color:var(--ed-red);transition:transform .2s}
.ed-faq details[open] summary::after{transform:rotate(45deg)}
.ed-faq p{margin:0 0 18px 42px;color:var(--ink);max-width:68ch}
.ed-ogrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.ed-o{display:flex;flex-direction:column;gap:6px;padding:18px 20px}
.ed-o b{font:700 15.5px/1.3 var(--serif);color:var(--heading)}
.ed-o span{font-size:13.5px;color:var(--muted)}
.ed-o em{margin-top:auto;padding-top:8px;font-style:normal;font-weight:700;font-size:13px;color:var(--ed-red)}
.ed-o:hover{border-color:var(--ed-red);transform:translateY(-3px)}
[id^="hub-"],#pubs{scroll-margin-top:90px}

/* ---------- article reading aids ---------- */
.ed-progress{position:fixed;left:0;right:0;top:0;height:4px;z-index:400;background:transparent;pointer-events:none}
.ed-progress i{display:block;height:100%;background:var(--ed-red);transform-origin:left;transform:scaleX(0)}
.ed-toc{margin:22px 0;padding:16px 20px;background:var(--surface-2);border:1px solid var(--line);border-left:4px solid var(--ed-red);border-radius:12px}
.ed-toc b{display:block;margin-bottom:8px;font:700 13px var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
body.lang-bn .ed-toc b{letter-spacing:0;text-transform:none;font-size:14px}
.ed-toc ol{margin:0;padding-left:20px}
.ed-toc li{margin:5px 0}
.ed-toc li.h3{margin-left:16px;font-size:.94em}
.ed-toc a{color:var(--accent);font-weight:600}
.ed-toc a:hover{text-decoration:underline}
.ed-back{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 0}
.prose .body h2,.prose .body h3{scroll-margin-top:90px}
.prose .body{max-width:70ch}

/* ---------- accessibility and motion ---------- */
:focus-visible{outline:3px solid var(--ed-red);outline-offset:3px}
.nav :focus-visible,.ed-hero :focus-visible,.ed-spot :focus-visible{outline-color:#fff}
@media(prefers-reduced-motion:reduce){.ed-tile,.ed-cat,.ed-path,.ed-o,.ed-tile-bg,.ed-cat-img i{transition:none}.ed-tile:hover,.ed-cat:hover,.ed-path:hover,.ed-o:hover{transform:none}.ed-tile:hover .ed-tile-bg,.ed-cat:hover .ed-cat-img i{transform:none}html{scroll-behavior:auto}}

/* ---------- tablets and phones ---------- */
@media(max-width:1100px){
  .ed-cats{grid-template-columns:repeat(2,1fr)}
  .ed-pgrid{grid-template-columns:repeat(2,1fr)}
  .ed-disc{grid-template-columns:1fr}
  .ed-ogrid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:640px){
  .ed-hero p{font-size:16px}
  .ed-hero-art{grid-template-columns:1fr 1fr;grid-auto-rows:124px}
  .ed-cats,.ed-topics,.ed-ccols,.ed-ogrid{grid-template-columns:1fr}
  .ed-pgrid{grid-template-columns:1fr 1fr;gap:12px}
  .ed-path{padding:16px 14px 22px}.ed-path b{font-size:15px}
  .ed-facts{gap:12px 24px}
  .ed-spot{padding:40px 0 46px}
  .ed-faq p{margin-left:0}
  .ed-hubsearch{border-radius:18px;flex-wrap:wrap;padding:10px}.ed-hubsearch input{flex-basis:70%}
}

/* home hero (the original write-up) with the sector mosaic on the right */
@media(max-width:1100px){.ed-hero-art{max-width:680px}}
.ed-tile-all{background:linear-gradient(150deg,#c8102e,#7a0a1c 70%);box-shadow:0 22px 44px -20px rgba(200,16,46,.55)}
.ed-tile-all::before{background:radial-gradient(circle at 80% 15%,rgba(255,255,255,.2),transparent 55%)}
.ed-tile-all .ed-tile-in{gap:10px}
.ed-all-ic{display:inline-flex;width:40px;height:40px;border-radius:12px;background:rgba(255,255,255,.18);align-items:center;justify-content:center}
.ed-tile-all::after{background:#fff}

/* the data card inside the home spotlight: no extra offsets from its own page layout */
.ed-spot .wab{margin:0}
.ed-spot .wab>.wrap{padding:0;max-width:none}

/* About: the mission card keeps its navy look in both themes */
html.has-bgv .card.ab-mis,
.card.ab-mis{background:linear-gradient(135deg,#0b0f39,#14246b);color:#e9ecff;border:0}
html.has-bgv .card.ab-mis h3,
.card.ab-mis h3{color:#fff}
html.has-bgv .card.ab-mis p,
.card.ab-mis p{color:#d8defa}
html.has-bgv .card.ab-mis .eyebrow,
.card.ab-mis .eyebrow{color:#ff9aa7}

/* pages ease in instead of snapping */
#app>*{animation:edFade .5s cubic-bezier(.2,.7,.2,1) both}
html.adm-on #app>*{animation:none}
@keyframes edFade{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){#app>*{animation:none}}

/* long Bangla headings never run off a phone screen */
@media(max-width:600px){.banner h1,body.lang-bn .banner h1{font-size:clamp(26px,8vw,34px);line-height:1.25;overflow-wrap:anywhere}}

/* no rainbow gradient decorations: plain, solid details instead */
.w-stats>div::before{display:none}
.w-stats>div{transition:background .25s}
.w-stats>div:hover{background:color-mix(in srgb,var(--ed-red) 5%,var(--surface))}
.w-stats b{font-family:var(--serif);letter-spacing:0;font-weight:700}
.nav::after{background:var(--tab,var(--ed-red))}
.motto::before,.foot::before{height:3px;background:var(--ed-red)}
.top li::before{background:none;-webkit-background-clip:border-box;background-clip:border-box;color:var(--ed-red)}

/* ---------- calm: nothing loops on the page ---------- */
.wab-aurora{animation:none!important}
.wab-live i{animation:none!important;box-shadow:0 0 0 3px rgba(34,197,94,.25)}
.credit-name{animation:none!important;background-size:100% 100%}

/* ---------- text never smaller than 12px ---------- */
.ptype,.wab-eyebrow,.wab-k,.wab-sl span,.wab-sl em,.ed-cat-body small,.ed-tile-in small{font-size:12.5px}
.wab-badge{font-size:11.5px}

/* ---------- the page does not jump while it loads ---------- */
#app{min-height:80vh}
#wabSnap:empty,#homeWab:empty{min-height:430px}
#wabSnap.wab-none,#homeWab.wab-none{min-height:0}
.prose .cover{width:100%;aspect-ratio:16/9;object-fit:cover;background:var(--surface-2)}

/* ---------- fingers: header controls are at least 44 px ---------- */
@media(pointer:coarse),(max-width:760px){
  .tbl-pill,.themebtn,.burger{min-width:44px;min-height:44px}
  .langsw button{min-height:40px;min-width:54px}
}

/* ---------- topics block ---------- */
.ed-tw>summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 18px;margin-bottom:14px;background:var(--surface);border:1px solid var(--line);border-radius:14px;font:700 16px var(--serif);color:var(--heading)}
.ed-tw>summary::-webkit-details-marker{display:none}
.ed-tw>summary::after{content:"+";font-size:22px;color:var(--ed-red);transition:transform .2s}
.ed-tw[open]>summary::after{transform:rotate(45deg)}

/* ---------- phones: shorter home page ---------- */
@media(max-width:640px){
  .ed-cats{gap:10px}
  .ed-cat{flex-direction:row;min-height:0;border-radius:16px}
  .ed-cat-img{width:104px;height:auto;flex:none}
  .ed-cat-body{padding:12px 14px;gap:3px}
  .ed-cat-body b{font-size:16px}
  .ed-cat-txt{-webkit-line-clamp:2;font-size:13px}
  .ed-cat .ed-chips{display:none}
  .ed-cat-all{min-height:96px}
  .ed-spot .wab-tile:nth-child(n+5){display:none}
}
.wab-badge{font-size:12px}
@media(pointer:coarse),(max-width:760px){.ed-chips a,.ed-ctab,.fchip{min-height:40px;display:inline-flex;align-items:center}}

/* ---------- start-here cards ---------- */
.ed-start{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.ed-start:only-child{grid-template-columns:repeat(4,1fr)}
@media(max-width:1100px){.ed-start:only-child{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.ed-start{grid-template-columns:1fr 1fr!important;gap:10px}.ed-start .ed-path>span:not(.ed-path-ic){display:none}.ed-start .ed-path{padding:14px 12px 20px}}

/* ---------- stats strip fits however many numbers are left ---------- */
.w-stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
@media(max-width:760px){.w-stats>div{border-bottom:1px solid var(--line)}}

/* ---------- at most two dark blocks on a page: the closing call-to-action is light ---------- */
.cta{background:var(--surface)!important;color:var(--ink);border:1px solid var(--line);box-shadow:var(--shadow)}
.cta::before{display:none}
.cta h2{color:var(--heading)}
.cta p{color:var(--muted)}
.cta .eyebrow{color:var(--ed-red)}
.cta .subForm input{border:1.5px solid var(--line);background:var(--surface-2);color:var(--ink)}
.cta .subForm .btn{background:var(--ed-red)}
.cta .subForm .btn:hover{background:var(--ed-red-h)}
.cta img{mask-image:linear-gradient(90deg,transparent,#000 22%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 22%);opacity:.9}

/* ---------- phones: get-involved cards and principles take less room ---------- */
@media(max-width:640px){
  .involve{grid-template-columns:1fr 1fr!important;gap:10px}
  .involve .inv{padding:16px 14px}.involve .inv p{display:none}.involve .inv h3{font-size:16px}
  .pillars{grid-template-columns:1fr 1fr!important;gap:10px}
  .pillar{padding:12px}
}
@media(max-width:760px){.w-stats>div:last-child:nth-child(odd){grid-column:1/-1}}

/* footer credit: a clean warm gold-to-coral name with a growing underline (no rainbow) */
.credit-name{position:relative;display:inline-block;padding:0 1px 3px;font-weight:800;letter-spacing:.01em;border-bottom:0;
  background:linear-gradient(90deg,#ffe3a3 0%,#ffb86b 48%,#ff7d8c 100%);background-size:100% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;
  transition:filter .3s,transform .3s}
.credit-name::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;border-radius:2px;background:linear-gradient(90deg,#ffe3a3,#ff7d8c);transform:scaleX(.3);transform-origin:left;transition:transform .4s cubic-bezier(.2,.8,.2,1)}
.credit-name:hover,.credit-name:focus-visible{filter:drop-shadow(0 0 10px rgba(255,150,110,.55));transform:translateY(-1px);border-bottom:0}
.credit-name:hover::after,.credit-name:focus-visible::after{transform:scaleX(1)}

/* ---------- reading tools ---------- */
.rdr{position:relative;display:inline-block}
.rdr-btn{cursor:pointer;font-weight:800;letter-spacing:.02em}
.rdr-pop{position:absolute;right:0;top:calc(100% + 8px);z-index:600;width:268px;padding:14px 16px;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-h);text-align:left}
.rdr-pop[hidden]{display:none}
.rdr-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0}
.rdr-row b{font:700 14px var(--sans);color:var(--heading)}
.rdr-row span{display:inline-flex;align-items:center;gap:8px}
.rdr-row em{font-style:normal;font-size:13px;min-width:42px;text-align:center;color:var(--muted)}
.rdr-row button:not(.rdr-sw){min-width:40px;min-height:40px;border-radius:10px;border:1.5px solid var(--line);background:var(--surface-2);font-weight:800;cursor:pointer;color:var(--ink)}
.rdr-row button:disabled{opacity:.4;cursor:default}
.rdr-sw{position:relative;width:48px;height:28px;border-radius:999px;border:0;background:var(--line);cursor:pointer;transition:background .2s}
.rdr-sw i{position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.3);transition:transform .2s}
.rdr-sw.on{background:var(--ed-red)}
.rdr-sw.on i{transform:translateX(20px)}
.rdr-note{margin:6px 0 0;font-size:12.5px;color:var(--muted)}
#app{zoom:var(--fs,1)}
html.calm *,html.calm *::before,html.calm *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
html.calm #app>*{animation:none!important}
@media(max-width:760px){.rdr-pop{position:fixed;left:12px;right:12px;top:64px;width:auto}}

/* ---------- search suggestions ---------- */
.ed-sug{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:700;list-style:none;margin:0;padding:6px;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-h);max-height:340px;overflow:auto;text-align:left}
.ed-sug[hidden]{display:none}
.ed-sug li a{display:flex;flex-direction:column;gap:1px;padding:9px 12px;border-radius:10px;color:var(--ink)}
.ed-sug li small{font:700 11.5px var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
body.lang-bn .ed-sug li small{letter-spacing:0;text-transform:none;font-size:12.5px}
.ed-sug li span{font-weight:600}
.ed-sug li:hover a,.ed-sug li.on a{background:color-mix(in srgb,var(--ed-red) 10%,var(--surface))}
.ed-herosearch{display:flex;align-items:center;gap:8px;max-width:520px;margin-top:22px;padding:5px 5px 5px 16px;background:rgba(255,255,255,.1);border:1.5px solid rgba(255,255,255,.28);border-radius:999px;position:relative}
.ed-herosearch:focus-within{background:rgba(255,255,255,.16);border-color:#fff}
.ed-herosearch svg{color:#cfd4ff}
.ed-herosearch input{flex:1;min-width:0;border:0;outline:0;background:transparent;color:#fff;font-size:15px;padding:10px 2px}
.ed-herosearch input::placeholder{color:#c6cdf4}
.ed-herosearch .btn{background:var(--ed-red);padding:10px 20px}
@media(max-width:640px){.ed-herosearch{max-width:none}}

/* ---------- plain helper text ---------- */
.sr-only{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.ed-upd{margin:12px 0 0;font-size:13.5px;color:var(--muted)}
.ed-upd a{color:var(--accent);font-weight:600}
.ed-upd.on-dark{color:#d6daf5}.ed-upd.on-dark a{color:#fff;text-decoration:underline}

/* ---------- how we work ---------- */
.ed-how-list{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:18px}
.ed-how-list li{display:flex;gap:16px}
.ed-how-list li>span{flex:none;width:34px;height:34px;border-radius:50%;background:var(--ed-red);color:#fff;font:700 15px/34px var(--sans);text-align:center}
.ed-how-list h2{margin:0 0 4px;font:700 20px var(--serif);color:var(--heading)}
.ed-how-list p{margin:0;max-width:64ch}
.rdr-pop{right:auto;left:0}
.tb-right{position:relative}
.search{position:relative}
#searchForm{overflow:visible}
#searchForm input{border-radius:999px 0 0 999px}
#searchForm>button{border-radius:0 999px 999px 0}
.tb-right .rdr{order:-1}

/* project page: a quiet shimmer while the dashboard loads, so the click never feels dead */
.wab-page{position:relative}
.wab-page:has(.wab-frame:not(.ready))::before{content:"";display:block;height:360px;border-radius:22px;background:linear-gradient(100deg,color-mix(in srgb,var(--line) 60%,transparent) 30%,color-mix(in srgb,var(--surface) 80%,#fff) 50%,color-mix(in srgb,var(--line) 60%,transparent) 70%);background-size:220% 100%;animation:wabShimmer 1.3s linear infinite}
.wab-page:has(.wab-frame:not(.ready)) .wab-frame{position:absolute;left:0;right:0;top:0;pointer-events:none}
.wab-frame{transition:opacity .5s ease,transform .5s cubic-bezier(.2,.8,.2,1);transform:translateY(8px)}
.wab-frame.ready{transform:none}
@keyframes wabShimmer{to{background-position:-220% 0}}
html.calm .wab-page::before,html.calm .wab-frame{animation:none!important;transition:none!important;transform:none!important}
