/* Home page */

/* ---------- Hero ---------- */
.h-hero{position:relative;overflow:hidden;padding:clamp(28px,6vw,72px) 0 clamp(36px,6vw,64px);
}
.h-hero::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background-image:linear-gradient(rgba(148,170,210,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(148,170,210,.06) 1px,transparent 1px);background-size:72px 72px;background-position:center top;
  -webkit-mask-image:radial-gradient(ellipse 80% 70% at 50% 30%,#000 40%,transparent 80%);mask-image:radial-gradient(ellipse 80% 70% at 50% 30%,#000 40%,transparent 80%)}
.h-hero{isolation:isolate}
.h-stars{position:fixed;inset:0;width:100vw;height:100vh;z-index:-1;pointer-events:none;opacity:.9}
:root[data-theme="light"] .h-stars{opacity:.55}
.h-hero::before{content:"";position:absolute;inset:-20% -10% auto auto;width:70vw;height:70vw;max-width:900px;max-height:900px;
  background:radial-gradient(closest-side,rgba(34,184,200,.16),rgba(60,196,124,.06) 55%,transparent 75%);pointer-events:none}
:root[data-theme="light"] .h-hero::before{background:radial-gradient(closest-side,rgba(10,138,153,.12),rgba(30,154,87,.05) 55%,transparent 75%)}
.h-hero__in{position:relative;display:grid;gap:clamp(8px,3vw,40px);align-items:center;grid-template-columns:1fr}
@media (min-width:900px){.h-hero__in{grid-template-columns:1.15fr .85fr}}
.h-kicker{display:inline-flex;align-items:center;gap:10px;margin:0 0 18px;padding:6px 14px 6px 10px;border-radius:var(--r-pill);
  background:var(--bd-surface);border:1px solid var(--bd-line);font-size:.86rem;font-weight:600;color:var(--bd-text-2)}
.h-kicker__dot{width:8px;height:8px;border-radius:50%;background:var(--bd-green);box-shadow:0 0 0 4px var(--bd-green-soft)}
.h-title{margin:0;font-size:clamp(4.6rem,14vw,10.5rem);line-height:.86}
.h-title span{display:block}
.h-title__l1{color:var(--bd-text);text-shadow:0 2px 30px rgba(0,168,198,.12)}
.h-title__l2{padding-bottom:.04em}
.h-tag{margin:14px 0 0;font-size:clamp(2.1rem,5.4vw,3.9rem);line-height:1}
html[lang="bn"] .h-title{font-size:clamp(3rem,9vw,6.2rem);line-height:1.08}
html[lang="bn"] .h-tag{font-size:clamp(1.6rem,4.4vw,2.8rem);margin-top:10px}
.h-sub{margin:22px 0 0;font-size:clamp(1rem,1.6vw,1.16rem);color:var(--bd-text-2);max-width:56ch}
.h-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
@media (max-width:520px){.h-cta .bd-btn{flex:1 1 100%}}
.h-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 28px;margin:36px 0 0;padding-top:24px;border-top:1px solid var(--bd-line);max-width:620px}
@media (min-width:560px){.h-stats{grid-template-columns:repeat(4,minmax(0,1fr))}}
.h-stats div{display:flex;flex-direction:column-reverse;gap:2px}
.h-stats dt{font-size:.84rem;color:var(--bd-text-3);font-weight:550}
.h-stats dd{margin:0;font-family:var(--bd-font-display);font-size:clamp(2.2rem,3.6vw,2.9rem);line-height:1;letter-spacing:.02em;background:var(--bd-brand);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
html[lang="bn"] .h-stats dd{font-weight:760}

/* Torch */
.h-hero__art{display:flex;justify-content:center;order:-1}
@media (min-width:900px){.h-hero__art{order:0}}
.h-torch{position:relative;width:min(80vw,520px);aspect-ratio:1/1.05;display:grid;place-items:center}
@media (max-width:899px){
  .h-hero{padding-top:20px}
  .h-hero__art{position:absolute;z-index:0;right:max(-6vw,-40px);top:64px;width:min(48vw,300px);order:0;pointer-events:none}
  .h-torch{width:100%}
  .h-hero__copy{position:relative;z-index:1}
  .h-title{font-size:clamp(4.2rem,19vw,7rem)}
  .h-kicker{font-size:.8rem}
}
.h-torch__img{position:relative;z-index:2;width:72%;height:auto;filter:drop-shadow(0 30px 40px rgba(0,0,0,.45));animation:hRise 1.1s var(--ease) both}
.h-torch__halo{position:absolute;z-index:0;inset:6% 8% 30% 8%;border-radius:50%;
  background:radial-gradient(closest-side,rgba(34,184,200,.35),rgba(60,196,124,.16) 50%,transparent 72%);filter:blur(8px);animation:hGlow 5s ease-in-out 1.1s infinite}
.h-torch__flame{position:absolute;z-index:1;top:4%;left:50%;width:38%;height:30%;transform:translateX(-50%);border-radius:50%;
  background:radial-gradient(closest-side,rgba(245,197,66,.42),rgba(60,196,124,.18) 60%,transparent);filter:blur(14px);animation:hFlicker 2.6s ease-in-out infinite}
.h-torch__orbits{position:absolute;inset:0;width:100%;height:100%;color:var(--bd-primary);z-index:1}
@keyframes hRise{from{opacity:0;transform:translateY(24px) scale(.97)}to{opacity:1;transform:none}}
@keyframes hGlow{0%,100%{opacity:.85;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}
@keyframes hFlicker{0%,100%{opacity:.75;transform:translateX(-50%) scale(1)}35%{opacity:1;transform:translateX(-50%) scale(1.06,1.1)}70%{opacity:.85;transform:translateX(-50%) scale(.97,1.03)}}
html.bd-lowend .h-torch__flame{animation:none}
html.bd-lite .h-orb{display:none}
@media (prefers-reduced-motion:reduce){.h-orb{display:none}}

/* ---------- Today strip ---------- */
.h-today{padding-bottom:8px}
.h-today__grid{display:grid;gap:12px;grid-template-columns:1fr}
@media (min-width:720px){.h-today__grid{grid-template-columns:repeat(3,1fr)}}
.h-tile{display:flex;gap:14px;align-items:flex-start;padding:18px;border-radius:var(--r-lg);background:var(--bd-surface);border:1px solid var(--bd-line);
  text-decoration:none;color:inherit;min-height:104px;transition:border-color var(--d2) var(--ease),background var(--d2) var(--ease),transform var(--d1) var(--ease)}
.h-tile:hover{border-color:var(--bd-line-2);background:var(--bd-surface-2)}
.h-tile:active{transform:scale(.99)}
.h-tile__ic{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;flex:none}
.h-tile--contest .h-tile__ic{background:var(--bd-red-soft);color:var(--bd-red)}
.h-tile--daily .h-tile__ic{background:var(--bd-gold-soft);color:var(--bd-gold)}
.h-tile--you .h-tile__ic{background:var(--bd-primary-soft);color:var(--bd-primary)}
.h-tile__b{display:flex;flex-direction:column;min-width:0;flex:1}
.h-tile__lbl{font-size:.82rem;font-weight:650;color:var(--bd-text-3)}
.h-tile__t{font-weight:700;font-size:1.02rem;line-height:1.35;margin-top:2px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.h-tile__m{font-size:.86rem;color:var(--bd-text-2);margin-top:4px}
.h-tile__m .bd-live{display:inline-block;margin-right:6px;vertical-align:middle}

/* ---------- Subjects ---------- */
.h-subjects{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(min(100%,210px),1fr))}
@media (max-width:600px){.h-subjects{grid-template-columns:1fr 1fr}.h-subjects .h-subj:first-child{grid-column:1/-1}.h-subj{padding:16px}.h-subj__d{font-size:.84rem}}
.h-subj{position:relative;display:flex;flex-direction:column;gap:6px;padding:20px;border-radius:var(--r-lg);background:var(--bd-surface);border:1px solid var(--bd-line);
  text-decoration:none;color:inherit;overflow:hidden;transition:border-color var(--d2) var(--ease),transform var(--d2) var(--ease)}
.h-subj::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--c);transform:scaleX(0);transform-origin:left;transition:transform var(--d3) var(--ease)}
.h-subj:hover{border-color:color-mix(in srgb,var(--c) 45%,transparent);transform:translateY(-2px)}
.h-subj:hover::after{transform:scaleX(1)}
.h-subj__ic{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;color:var(--c);background:color-mix(in srgb,var(--c) 14%,transparent);margin-bottom:6px}
.h-subj__n{font-weight:750;font-size:1.12rem}
.h-subj__d{font-size:.9rem;color:var(--bd-text-2);line-height:1.45}
.h-subj__c{margin-top:auto;padding-top:10px;font-size:.84rem;font-weight:650;color:var(--bd-text-3)}

/* ---------- How it works ---------- */
.h-how{background:var(--bd-bg-2);border-block:1px solid var(--bd-line)}
.h-how__in{display:grid;gap:32px}
@media (min-width:900px){.h-how__in{grid-template-columns:.8fr 1.2fr;align-items:start}}
.h-steps{list-style:none;margin:0;padding:0;display:grid;gap:0}
.h-steps li{display:flex;gap:18px;padding:20px 0;border-top:1px solid var(--bd-line)}
.h-steps li:first-child{border-top:0;padding-top:0}
.h-steps p{margin:6px 0 0;color:var(--bd-text-2)}
.h-steps__n{flex:none;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-weight:780;background:var(--bd-surface);border:1px solid var(--bd-line-2);color:var(--bd-primary)}

/* ---------- Features ---------- */
.h-feats{display:grid;gap:12px;grid-template-columns:1fr 1fr}
@media (min-width:900px){.h-feats{grid-template-columns:1.6fr 1fr 1fr;grid-template-rows:auto auto}.h-feat--wide{grid-row:span 2}}
.h-feat{display:flex;flex-direction:column;gap:6px;padding:20px;border-radius:var(--r-lg);background:var(--bd-surface);border:1px solid var(--bd-line);
  text-decoration:none;color:inherit;text-align:left;font:inherit;cursor:pointer;transition:border-color var(--d2) var(--ease),background var(--d2) var(--ease)}
.h-feat:hover{border-color:var(--bd-line-2);background:var(--bd-surface-2)}
.h-feat p{margin:0;color:var(--bd-text-2);font-size:.94rem}
.h-feat__ic{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--bd-primary-soft);color:var(--bd-primary);margin-bottom:8px}
.h-feat--wide{grid-column:1/-1;padding:28px;background:linear-gradient(160deg,var(--bd-surface-2),var(--bd-surface) 60%)}
@media (min-width:900px){.h-feat--wide{grid-column:auto}}
.h-feat--wide .bd-h3{font-size:1.45rem}
.h-feat--wide p{font-size:1rem;max-width:42ch}
.h-feat__go{margin-top:auto;padding-top:16px;font-weight:700;color:var(--bd-primary)}
.h-feat button,.h-feat[type="button"]{border:1px solid var(--bd-line)}

/* ---------- Contests ---------- */
.h-con-list{display:grid;gap:10px;grid-template-columns:minmax(0,1fr)}
.h-con{display:flex;align-items:center;gap:16px;padding:14px 16px;border-radius:var(--r-lg);background:var(--bd-surface);border:1px solid var(--bd-line);
  text-decoration:none;color:inherit;transition:border-color var(--d2) var(--ease),background var(--d2) var(--ease)}
a.h-con:hover{border-color:var(--bd-line-2);background:var(--bd-surface-2)}
.h-con__date{flex:none;width:58px;height:58px;border-radius:14px;display:grid;place-items:center;align-content:center;background:var(--bd-surface-2);border:1px solid var(--bd-line)}
.h-con__date b{font-size:1.3rem;line-height:1;font-weight:800}
.h-con__date span{font-size:.7rem;font-weight:700;color:var(--bd-text-3);margin-top:2px}
.h-con--live .h-con__date{background:var(--bd-red-soft);border-color:transparent}
.h-con--live .h-con__date b{color:var(--bd-red)}
.h-con__b{flex:1;min-width:0}
.h-con__t{font-weight:700;font-size:1.02rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.h-con__m{font-size:.88rem;color:var(--bd-text-2);margin-top:2px}
@media (max-width:560px){.h-con .bd-chip{display:none}.h-con--live .bd-chip{display:inline-flex}}

/* ---------- President ---------- */
.h-pres{display:grid;gap:28px;align-items:center;padding:clamp(22px,4vw,44px);border-radius:var(--r-xl);background:var(--bd-surface);border:1px solid var(--bd-line)}
@media (min-width:820px){.h-pres{grid-template-columns:260px 1fr}}
.h-pres__img{width:min(240px,60vw);aspect-ratio:1;border-radius:50%;overflow:hidden;margin:0 auto;padding:5px;background:conic-gradient(from 200deg,#22B8C8,#3CC47C,#F5C542,#22B8C8)}
.h-pres__img img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block;background:var(--bd-surface-2)}
.h-pres blockquote{margin:0;font-size:clamp(1.2rem,2.4vw,1.6rem);line-height:1.4;font-weight:620;letter-spacing:-.01em}
.h-pres__who{margin-top:16px;color:var(--bd-text-2)}
.h-pres__who b{color:var(--bd-text);font-weight:720}
.h-pres__ach{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.h-pres__soc{display:flex;gap:8px;margin-top:18px}

/* ---------- Team ---------- */
.h-team{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr))}
@media (max-width:700px){.h-team{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin-inline:calc(-1 * clamp(16px,4vw,32px));padding:0 clamp(16px,4vw,32px) 8px;scrollbar-width:none}
  .h-team::-webkit-scrollbar{display:none}.h-mem{flex:0 0 82%;scroll-snap-align:start}}
.h-mem{display:flex;gap:14px;padding:16px;border-radius:var(--r-lg);background:var(--bd-surface);border:1px solid var(--bd-line)}
.h-mem img,.h-mem__ini{width:64px;height:64px;border-radius:50%;object-fit:cover;flex:none;background:var(--bd-surface-2)}
.h-mem__ini{display:grid;place-items:center;font-weight:800;color:var(--bd-primary)}
.h-mem__n{font-weight:720;line-height:1.3}
.h-mem__r{font-size:.86rem;color:var(--bd-primary);font-weight:600;margin-top:2px}
.h-mem ul{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:4px;font-size:.86rem;color:var(--bd-text-2)}
.h-mem li{padding-left:14px;position:relative;line-height:1.4}
.h-mem li::before{content:"";position:absolute;left:0;top:.55em;width:6px;height:6px;border-radius:50%;background:var(--bd-gold)}

/* ---------- Community ---------- */
.h-comm{background:var(--bd-bg-2);border-block:1px solid var(--bd-line)}
.h-comm__in{display:grid;gap:28px}
@media (min-width:900px){.h-comm__in{grid-template-columns:.9fr 1.1fr;align-items:start}}
.h-social{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.h-hubs{list-style:none;margin:0;padding:0;display:grid;gap:8px}
@media (min-width:560px){.h-hubs{grid-template-columns:1fr 1fr}}
.h-hub{display:flex;align-items:center;gap:12px;padding:14px;border-radius:var(--r-md);background:var(--bd-surface);border:1px solid var(--bd-line);text-decoration:none;color:inherit;
  transition:border-color var(--d2) var(--ease)}
.h-hub:hover{border-color:#25D366}
.h-hub__e{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;font-size:1.15rem;background:var(--bd-surface-2);flex:none}
.h-hub__n{font-weight:680;line-height:1.3}
.h-hub__m{font-size:.82rem;color:var(--bd-text-3)}
.h-hub__go{margin-left:auto;color:#25D366;flex:none}

/* ---------- News ---------- */
.h-news{display:grid;gap:12px}
@media (min-width:900px){.h-news{grid-template-columns:1.4fr 1fr 1fr}}
.h-post{display:flex;flex-direction:column;gap:10px;align-items:flex-start;padding:22px;border-radius:var(--r-lg);background:var(--bd-surface);border:1px solid var(--bd-line)}
.h-post p{margin:0;color:var(--bd-text-2);font-size:.95rem}
.h-post time{margin-top:auto;font-size:.84rem;color:var(--bd-text-3)}
.h-post--lead .bd-h3{font-size:1.32rem}

/* ---------- Join ---------- */
.h-join{display:grid;gap:22px;align-items:center;padding:clamp(24px,4vw,44px);border-radius:var(--r-xl);
  background:linear-gradient(135deg,color-mix(in srgb,var(--bd-primary) 16%,var(--bd-surface)),var(--bd-surface) 55%,color-mix(in srgb,var(--bd-gold) 10%,var(--bd-surface)));
  border:1px solid var(--bd-line-2)}
@media (min-width:900px){.h-join{grid-template-columns:1.3fr auto}}
.h-join__acts{display:flex;flex-wrap:wrap;gap:10px}
@media (max-width:520px){.h-join__acts .bd-btn{flex:1 1 100%}}


/* ---------- Olympiad calendar teaser ---------- */
.h-cal__list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.h-ev{--tone:var(--bd-primary);display:flex;align-items:center;gap:16px;padding:14px 16px 14px 0;border-radius:20px;background:var(--bd-surface);border:1px solid var(--bd-line);color:var(--bd-text);text-decoration:none;transition:transform var(--d2) var(--ease),border-color var(--d2)}
.h-ev--open{--tone:var(--bd-green)} .h-ev--closing{--tone:var(--bd-gold)} .h-ev--live{--tone:var(--bd-green)} .h-ev--upcoming{--tone:var(--bd-text-3)}
.h-ev:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--tone) 45%,var(--bd-line))}
.h-ev>svg{flex:none;color:var(--bd-text-3);margin-left:auto;transition:transform var(--d2) var(--ease)}
.h-ev:hover>svg{transform:translateX(3px);color:var(--tone)}
.h-ev__d{flex:none;width:78px;display:grid;justify-items:center;gap:1px;padding:4px 0;border-right:2px dashed var(--bd-line-2)}
.h-ev__d i{font-style:normal;font-size:.72rem;font-weight:700;color:var(--tone)}
.h-ev__d b{font-family:var(--bd-font-display);font-weight:400;font-size:2.6rem;line-height:.9}
.h-ev__d em{font-style:normal;font-size:.82rem;font-weight:650;color:var(--bd-text-2)}
.h-ev__m{min-width:0;display:grid;gap:4px}
.h-ev__m>b{font-weight:700;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.h-ev__s{font-size:.88rem;color:var(--bd-text-2)}
.h-ev__s strong{color:var(--tone);font-variant-numeric:tabular-nums}
@media (max-width:900px){.h-cal__list{grid-template-columns:minmax(0,1fr)}}

/* ==========================================================================
   Premium layer — glow, colour and depth on every home section
   ========================================================================== */
body[data-page="home"] .bd-section{padding-block:clamp(44px,6.4vw,88px)}
.bd-sec-head .bd-h2,.bd-h2{margin-bottom:1.1rem}
/* banded sections become soft glass, fading in and out instead of hard edges */
.h-how,.h-comm{border-block:0;background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--bd-bg-2) 72%,transparent) 18%,color-mix(in srgb,var(--bd-bg-2) 72%,transparent) 82%,transparent)}

/* Subjects: each card lit in its own colour */
.h-subj{overflow:hidden;isolation:isolate;padding:22px 20px 20px;min-height:220px}
.h-subj::before{content:"";position:absolute;z-index:-1;width:220px;height:220px;right:-80px;top:-90px;border-radius:50%;
  background:radial-gradient(closest-side,color-mix(in srgb,var(--c) 38%,transparent),transparent);opacity:.55;transition:opacity .5s ease,transform .8s var(--fx-ease,ease)}
.h-subj:hover::before{opacity:1;transform:scale(1.25)}
.h-subj::after{height:2px;background:linear-gradient(90deg,transparent,var(--c),transparent);box-shadow:0 0 18px var(--c)}
.h-subj__ic{width:56px;height:56px;border-radius:16px;box-shadow:0 0 0 1px color-mix(in srgb,var(--c) 30%,transparent) inset,0 10px 30px -10px var(--c)}
.h-subj__ic svg{filter:drop-shadow(0 0 8px var(--c))}
.h-subj:hover{border-color:color-mix(in srgb,var(--c) 55%,transparent);box-shadow:0 26px 60px -30px var(--c)}
.h-subj__n{font-size:1.2rem}
.h-subj__c{display:flex;align-items:center;gap:6px;color:var(--c)}
.h-subj__c::after{content:"";width:16px;height:2px;margin-left:auto;background:currentColor;border-radius:2px;transition:width .4s var(--fx-ease,ease)}
.h-subj:hover .h-subj__c::after{width:34px}

/* Steps: glowing numbered rings joined by a light rail */
.h-steps{position:relative}
.h-steps__n{width:48px;height:48px;font-family:var(--bd-font-display);font-weight:400;font-size:1.6rem;color:#fff;border:0;position:relative;
  background:radial-gradient(circle at 30% 25%,rgba(255,255,255,.35),transparent 45%),var(--fx-logo);box-shadow:0 0 0 4px color-mix(in srgb,var(--bd-bg) 80%,transparent),0 0 26px rgba(0,190,214,.55)}
:root[data-theme="light"] .h-steps__n{box-shadow:0 0 0 4px var(--bd-bg),0 8px 20px -6px rgba(0,123,143,.45)}
.h-steps li{border-top:0;padding:18px 0 22px;position:relative}
.h-steps li:not(:last-child)::before{content:"";position:absolute;left:23px;top:62px;bottom:-4px;width:2px;border-radius:2px;
  background:linear-gradient(180deg,rgba(0,190,214,.7),rgba(76,175,80,.4),transparent)}
.h-steps li:first-child{padding-top:4px}
.h-steps .bd-h3{font-size:1.25rem}

/* Features */
.h-feat__ic{box-shadow:0 0 24px -6px rgba(0,190,214,.6)}
.h-feat--wide{position:relative;overflow:hidden;isolation:isolate;
  background:radial-gradient(120% 90% at 0% 0%,rgba(0,190,214,.18),transparent 55%),radial-gradient(90% 80% at 100% 100%,rgba(255,213,74,.12),transparent 60%),var(--fx-card,var(--bd-surface))}
.h-feat--wide::after{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;pointer-events:none;
  background:conic-gradient(from var(--fx-ang,0deg),transparent 0 60%,rgba(0,220,235,.9) 72%,rgba(255,213,74,.8) 80%,transparent 92%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);
  animation:hSpin 6s linear infinite}
@property --fx-ang{syntax:'<angle>';inherits:false;initial-value:0deg}
@keyframes hSpin{to{--fx-ang:360deg}}

/* Contests list: live row pulses softly */
.h-con--live{border-color:color-mix(in srgb,var(--bd-red) 40%,var(--bd-line));box-shadow:0 0 40px -18px rgba(240,82,79,.7)}
.h-con__date b{font-family:var(--bd-font-display);font-weight:400;font-size:1.8rem}

/* President: rotating light ring */
.h-pres{position:relative;overflow:hidden;isolation:isolate;
  background:radial-gradient(90% 120% at 0% 50%,rgba(0,190,214,.14),transparent 60%),radial-gradient(70% 90% at 100% 0%,rgba(255,213,74,.10),transparent 60%),var(--fx-card,var(--bd-surface))}
.h-pres__img{position:relative;background:none;padding:6px;box-shadow:0 0 60px -10px rgba(0,190,214,.55),0 0 90px -20px rgba(255,213,74,.4)}
.h-pres__img::before{content:"";position:absolute;inset:-40%;background:conic-gradient(from 0deg,#00B4CC,#4CAF50,#FFD54A,#16C6B4,#00B4CC);animation:hRing 7s linear infinite}
.h-pres__img img{position:relative}
@keyframes hRing{to{transform:rotate(360deg)}}
.h-pres blockquote{background:var(--fx-lit);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
:root[data-theme="light"] .h-pres blockquote{background:none;color:var(--bd-text);-webkit-text-fill-color:currentColor}
.h-pres__ach .bd-chip{box-shadow:0 0 18px -6px rgba(255,213,74,.6)}

/* Team avatars get the logo ring */
.h-mem img,.h-mem__ini{padding:2px;background:var(--fx-logo);box-shadow:0 0 18px -4px rgba(0,190,214,.6)}
.h-mem img{object-fit:cover}
.h-mem__r{background:var(--fx-logo);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;width:fit-content}

/* Community hubs */
.h-hub__e{color:var(--c);background:color-mix(in srgb,var(--c) 16%,transparent);box-shadow:0 0 22px -8px var(--c)}
.h-hub:hover{box-shadow:0 18px 40px -24px #25D366}

/* News */
.h-post--lead{background:radial-gradient(100% 70% at 0% 0%,rgba(255,213,74,.10),transparent 60%),var(--fx-card,var(--bd-surface))}

/* Volunteers band */
.h-join{position:relative;overflow:hidden;isolation:isolate;border-color:transparent;
  background:radial-gradient(80% 140% at 0% 0%,rgba(0,190,214,.28),transparent 55%),radial-gradient(70% 120% at 100% 100%,rgba(255,213,74,.18),transparent 60%),radial-gradient(60% 100% at 60% 0%,rgba(76,175,80,.18),transparent 60%),var(--bd-surface)}
.h-join::after{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;pointer-events:none;
  background:conic-gradient(from var(--fx-ang,0deg),rgba(0,220,235,.85),rgba(76,175,80,.5),rgba(255,213,74,.85),rgba(0,220,235,.2),rgba(0,220,235,.85));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);
  animation:hSpin 8s linear infinite}
.h-join .bd-h2{font-size:clamp(2.4rem,5vw,4rem)}

/* Today tiles: tinted glow by type */
.h-tile--contest:hover{box-shadow:0 22px 50px -26px rgba(240,82,79,.6)}
.h-tile--daily:hover{box-shadow:0 22px 50px -26px rgba(255,213,74,.55)}
.h-tile__ic{box-shadow:0 0 22px -8px currentColor}

/* Calendar cards */
.h-ev__d b{background:var(--fx-logo);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}

@media (prefers-reduced-motion:reduce){.h-feat--wide::after,.h-join::after,.h-pres__img::before{animation:none}}
html.bd-lite .h-feat--wide::after,html.bd-lite .h-join::after,html.bd-lite .h-pres__img::before{animation:none}

/* ==========================================================================
   Phones and tablets (< 900px): one centred column.
   kicker → title → tagline → copy → buttons → the torch on its own stage → stats
   ========================================================================== */
@media (max-width:899px){
  .h-hero{padding:clamp(18px,5vw,40px) 0 8px;text-align:center}
  .h-hero__in{display:flex;flex-direction:column;align-items:center;gap:0}
  .h-hero__copy{display:contents}
  .h-kicker{order:1;margin:0 auto 18px;font-size:.8rem;max-width:100%}
  .h-title{order:2;font-size:clamp(4.4rem,23vw,8.4rem);line-height:.84;text-align:center}
  .h-title span{margin-inline:auto}
  .h-tag{order:3;font-size:clamp(1.9rem,9.4vw,3.4rem);margin:12px auto 0;width:fit-content}
  .h-sub{order:4;margin:18px auto 0;font-size:1.02rem;line-height:1.6;max-width:34ch;text-wrap:pretty}
  .h-cta{order:5;width:100%;max-width:420px;margin:26px auto 0;flex-direction:column;gap:10px}
  .h-cta .bd-btn{width:100%;flex:none}
  .h-hero__art{order:6;position:relative!important;inset:auto!important;width:100%!important;right:auto!important;top:auto!important;
    margin:10px auto 0;display:flex;justify-content:center;pointer-events:none}
  .h-torch{width:min(86vw,440px)!important;aspect-ratio:1/1.06;margin:0 auto}
  /* soft floor of light under the torch so it reads as its own stage */
  .h-hero__art::after{content:"";position:absolute;left:50%;bottom:4%;width:70%;height:16%;transform:translateX(-50%);border-radius:50%;pointer-events:none;
    background:radial-gradient(closest-side,rgba(0,200,220,.32),rgba(76,175,80,.12) 55%,transparent);filter:blur(6px)}
  .h-stats{order:7;width:100%;max-width:520px;margin:6px auto 0;padding:0;border-top:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .h-stats>div{align-items:center;text-align:center;padding:16px 10px 14px;border-radius:18px;border:1px solid var(--bd-line);
    background:color-mix(in srgb,var(--bd-surface) 70%,transparent);box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
  .h-stats dd{font-size:clamp(2rem,9vw,2.6rem)}
  .h-stats dt{font-size:.8rem}
  html[lang="bn"] .h-title{font-size:clamp(3rem,15vw,5.4rem);line-height:1.12}
  html[lang="bn"] .h-tag{font-size:clamp(1.5rem,7vw,2.4rem)}
}
@media (min-width:600px) and (max-width:899px){
  .h-stats{grid-template-columns:repeat(4,minmax(0,1fr));max-width:720px}
  .h-torch{width:min(62vw,460px)!important}
}
/* Today tiles, subjects and the rest on phones */
@media (max-width:719px){
  .h-today{padding-top:6px}
  .h-today__grid{gap:10px}
  .h-tile{min-height:0;padding:16px}
}
@media (max-width:600px){
  body[data-page="home"] .bd-section{padding-block:clamp(36px,10vw,56px)}
  .bd-sec-head{margin-bottom:18px}
  .bd-sec-head>div{width:100%}
  .bd-sec-head .bd-btn{width:100%}
  .h-subjects{gap:10px}
  .h-subj{min-height:0;padding:18px 16px 16px}
  .h-subj__ic{width:48px;height:48px}
  .h-steps .bd-h3{font-size:1.1rem}
  .h-feat--wide{padding:22px}
  .h-cal__list{grid-template-columns:1fr}
  .h-pres{text-align:center;padding:26px 18px}
  .h-pres__ach,.h-pres__soc{justify-content:center}
  .h-pres blockquote{font-size:1.18rem}
  .h-news{gap:10px}
  .h-join{text-align:center;padding:26px 20px}
  .h-join__acts{justify-content:center}
}
@media (max-width:1023px){.h-cal__list{grid-template-columns:1fr}}
@media (min-width:640px) and (max-width:1023px){.h-cal__list{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ==========================================================================
   Community — social cards and WhatsApp hubs, built to be tapped
   ========================================================================== */
.h-comm__head{max-width:640px;margin-bottom:26px}
.h-socials{display:grid;gap:14px;grid-template-columns:minmax(0,1fr)}
@media (min-width:760px){.h-socials{grid-template-columns:repeat(2,minmax(0,1fr))}}
.h-soc{--b:#1877F2;position:relative;display:flex;align-items:center;gap:18px;padding:22px;border-radius:24px;text-decoration:none;color:var(--bd-text);overflow:hidden;isolation:isolate;
  background:radial-gradient(120% 140% at 0% 0%,color-mix(in srgb,var(--b) 26%,transparent),transparent 60%),color-mix(in srgb,var(--bd-surface) 82%,transparent);
  border:1px solid color-mix(in srgb,var(--b) 32%,var(--bd-line));transition:transform .45s var(--fx-ease,ease),box-shadow .45s ease,border-color .3s ease}
.h-soc--yt{--b:#FF2D2D}
.h-soc::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.10) 50%,transparent 65%);transform:translateX(-110%)}
.h-soc__ic{position:relative;flex:none;width:64px;height:64px;border-radius:20px;display:grid;place-items:center;background:var(--b);
  box-shadow:0 12px 30px -10px var(--b),inset 0 1px 0 rgba(255,255,255,.3);animation:hFloat 5s ease-in-out infinite}
.h-soc--yt .h-soc__ic{animation-delay:-2.5s}
.h-soc__ic::before,.h-soc__ic::after{content:"";position:absolute;inset:-6px;border-radius:24px;border:2px solid var(--b);opacity:0;animation:hPing 2.8s cubic-bezier(.2,.7,.3,1) infinite}
.h-soc__ic::after{animation-delay:1.4s}
.h-soc__b{display:flex;flex-direction:column;gap:4px;min-width:0}
.h-soc__n{font-weight:780;font-size:1.22rem;letter-spacing:-.01em}
.h-soc__d{font-size:.92rem;color:var(--bd-text-2);line-height:1.5}
.h-soc__cta{display:inline-flex;align-items:center;gap:8px;margin-top:8px;width:fit-content;padding:8px 14px;border-radius:999px;font-weight:700;font-size:.88rem;
  color:#fff;background:color-mix(in srgb,var(--b) 30%,transparent);border:1px solid color-mix(in srgb,var(--b) 55%,transparent)}
.h-soc__cta svg{transition:transform .35s var(--fx-ease,ease)}
.h-soc:hover,.h-soc:focus-visible{transform:translateY(-4px);border-color:color-mix(in srgb,var(--b) 70%,transparent);box-shadow:0 26px 60px -28px var(--b)}
.h-soc:hover::after{transform:translateX(110%);transition:transform .9s var(--fx-ease,ease)}
.h-soc:hover .h-soc__cta svg{transform:translateX(4px)}
.h-soc:active{transform:scale(.985)}
:root[data-theme="light"] .h-soc__cta{color:color-mix(in srgb,var(--b) 80%,#000)}
@keyframes hFloat{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-5px) rotate(-3deg)}}
@keyframes hPing{0%{opacity:.7;transform:scale(1)}100%{opacity:0;transform:scale(1.45)}}

.h-hubs__t{display:flex;align-items:center;gap:10px;margin:34px 0 14px;font-size:1.05rem;font-weight:750}
.h-hubs__dot{width:10px;height:10px;border-radius:50%;background:#25D366;box-shadow:0 0 0 0 rgba(37,211,102,.6);animation:hLive 1.8s infinite}
@keyframes hLive{70%{box-shadow:0 0 0 10px rgba(37,211,102,0)}100%{box-shadow:0 0 0 0 rgba(37,211,102,0)}}
.h-hubs{list-style:none;margin:0;padding:0;display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}
@media (min-width:760px){.h-hubs{grid-template-columns:repeat(3,minmax(0,1fr))}}
.h-hubs li{display:flex}
.h-hub{--c:#22B8C8;position:relative;flex:1;display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:22px 12px 16px;border-radius:22px;
  text-decoration:none;color:var(--bd-text);overflow:hidden;isolation:isolate;
  background:radial-gradient(100% 80% at 50% 0%,color-mix(in srgb,var(--c) 20%,transparent),transparent 70%),color-mix(in srgb,var(--bd-surface) 82%,transparent);
  border:1px solid color-mix(in srgb,#25D366 22%,var(--bd-line));transition:transform .45s var(--fx-ease,ease),box-shadow .45s ease,border-color .3s ease}
.h-hub__e{position:relative;width:60px;height:60px;border-radius:50%;display:grid;place-items:center;color:var(--c);margin-bottom:4px;
  background:color-mix(in srgb,var(--c) 16%,transparent);border:2px solid color-mix(in srgb,var(--c) 40%,transparent);box-shadow:0 0 26px -6px var(--c);
  transition:transform .5s cubic-bezier(.34,1.56,.64,1)}
.h-hub__e svg{width:26px;height:26px}
.h-hub__n{font-weight:760;font-size:1rem;line-height:1.25}
.h-hub__m{display:inline-flex;align-items:center;gap:6px;font-size:.82rem;color:var(--bd-text-3)}
.h-hub__live{width:7px;height:7px;border-radius:50%;background:#25D366;box-shadow:0 0 8px #25D366}
.h-hub__go{display:inline-flex;align-items:center;gap:6px;margin:8px auto 0;padding:8px 14px;border-radius:999px;font-weight:700;font-size:.84rem;color:#fff;
  background:linear-gradient(120deg,#1FAF5A,#25D366);box-shadow:0 8px 22px -10px #25D366;transition:transform .3s var(--fx-ease,ease),box-shadow .3s ease}
.h-hub:hover,.h-hub:focus-visible{transform:translateY(-6px);border-color:rgba(37,211,102,.55);box-shadow:0 26px 50px -26px rgba(37,211,102,.55)}
.h-hub:hover .h-hub__e{transform:scale(1.14) rotate(-8deg)}
.h-hub:hover .h-hub__go{box-shadow:0 12px 28px -8px #25D366}
.h-hub:active{transform:scale(.98)}
.h-hub::before{content:"";position:absolute;inset:auto -30% -60% -30%;height:80%;z-index:-1;border-radius:50%;
  background:radial-gradient(closest-side,rgba(37,211,102,.16),transparent);opacity:0;transition:opacity .4s ease}
.h-hub:hover::before{opacity:1}
@media (max-width:420px){
  .h-soc{padding:18px;gap:14px;align-items:flex-start}
  .h-soc__ic{width:54px;height:54px;border-radius:17px}
  .h-soc__ic svg{width:28px;height:28px}
  .h-hub{padding:18px 8px 14px}
  .h-hub__e{width:52px;height:52px}
  .h-hub__go{padding:7px 12px;font-size:.8rem}
}
@media (prefers-reduced-motion:reduce){.h-soc__ic,.h-soc__ic::before,.h-soc__ic::after,.h-hubs__dot{animation:none}}
/* Hero stats: numbers share one top line; a long label wraps below without lifting its number */
@media (min-width:900px){
  .h-stats{align-items:start}
  .h-stats>div{flex-direction:column;justify-content:flex-start}
  .h-stats>div dt{order:2}
  .h-stats>div dd{order:1}
  .h-stats dt{line-height:1.3}
}

/* ==========================================================================
   President — cinematic portrait and a lit founder's note
   ========================================================================== */
.h-pres{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(22px,4vw,56px);align-items:center;padding:clamp(18px,3vw,36px)!important;text-align:left!important}
@media (min-width:860px){.h-pres{grid-template-columns:minmax(280px,400px) minmax(0,1fr)}}
.h-pres__photo{position:relative;margin:0;border-radius:26px;aspect-ratio:4/5;isolation:isolate;max-width:420px;width:100%;justify-self:center;
  box-shadow:0 40px 80px -36px rgba(0,190,214,.55),0 30px 60px -40px rgba(0,0,0,.9)}
.h-pres__frame{position:absolute;inset:-2px;z-index:-1;border-radius:28px;overflow:hidden}
.h-pres__frame::before{content:"";position:absolute;inset:-50%;background:conic-gradient(from 0deg,#00B4CC,#4CAF50,#FFD54A,#16C6B4,transparent 70%,#00B4CC);animation:hRing 8s linear infinite}
.h-pres__photo::after{content:"";position:absolute;inset:-18%;z-index:-2;border-radius:50%;background:radial-gradient(closest-side,rgba(0,190,214,.35),rgba(76,175,80,.12) 55%,transparent);filter:blur(10px)}
.h-pres__photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 30%;border-radius:24px;background:var(--bd-surface-2)}
.h-pres__photo figcaption{position:absolute;left:0;right:0;bottom:0;padding:60px 20px 18px;border-radius:0 0 24px 24px;
  background:linear-gradient(180deg,transparent,rgba(5,9,20,.55) 40%,rgba(5,9,20,.92));display:grid;gap:2px}
.h-pres__photo figcaption span{font-size:.78rem;font-weight:700;letter-spacing:.02em;color:#9FE7EC}
.h-pres__photo figcaption b{font-family:var(--bd-font-display);font-weight:400;font-size:clamp(1.7rem,3vw,2.2rem);line-height:1;letter-spacing:.02em;text-transform:uppercase;
  background:var(--fx-logo);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.h-pres__body{position:relative;min-width:0}
.h-pres__mark{position:absolute;left:-.08em;top:-.42em;font-family:var(--bd-font-display);font-size:clamp(7rem,14vw,11rem);line-height:1;pointer-events:none;
  background:var(--fx-logo);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;opacity:.22}
.h-pres blockquote{position:relative;margin:0;font-size:clamp(1.45rem,2.6vw,2.15rem)!important;line-height:1.28!important;font-weight:760!important;letter-spacing:-.025em;text-wrap:balance}
.h-pres__who{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin-top:22px!important;color:var(--bd-text-2)}
.h-pres__line{width:44px;height:2px;border-radius:2px;background:var(--fx-logo);box-shadow:0 0 12px rgba(0,190,214,.8)}
.h-pres__who b{color:var(--bd-text);font-weight:780;font-size:1.05rem}
.h-pres__who>span:last-child{font-size:.92rem}
.h-pres__ach{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px!important}
.h-pres__chip{display:inline-flex;align-items:center;gap:6px;padding:7px 13px;border-radius:999px;font-size:.84rem;font-weight:700;color:#FFE08A;
  background:linear-gradient(140deg,rgba(255,213,74,.16),rgba(255,213,74,.05));box-shadow:inset 0 0 0 1px rgba(255,213,74,.35),0 0 20px -10px rgba(255,213,74,.8)}
.h-pres__chip::before{content:"";width:6px;height:6px;border-radius:50%;background:#FFD54A;box-shadow:0 0 8px #FFD54A}
:root[data-theme="light"] .h-pres__chip{color:#7A5A00}
.h-pres__soc{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px!important}
.h-pres__s{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border-radius:999px;text-decoration:none;font-weight:700;font-size:.9rem;color:var(--bd-text);
  background:var(--bd-surface-2);box-shadow:inset 0 0 0 1px var(--bd-line-2);transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s ease,background .3s ease}
.h-pres__s--fb svg{color:#4A9BFF}
.h-pres__s--ig svg{color:#FF5FA2}
.h-pres__s:hover{transform:translateY(-2px);box-shadow:inset 0 0 0 1px rgba(0,190,214,.5),0 14px 30px -16px rgba(0,190,214,.7)}
@media (max-width:859px){
  .h-pres{text-align:center!important}
  .h-pres__photo{max-width:340px}
  .h-pres__mark{left:50%;transform:translateX(-50%);top:-.5em}
  .h-pres__who,.h-pres__ach,.h-pres__soc{justify-content:center}
  .h-pres__who{flex-direction:column;gap:8px}
}
@media (prefers-reduced-motion:reduce){.h-pres__frame::before{animation:none}}

/* ==========================================================================
   Everything in one place — illustrated cards
   ========================================================================== */
.h-bento{display:grid;gap:14px;grid-template-columns:minmax(0,1fr)}
@media (min-width:640px){.h-bento{grid-template-columns:repeat(2,minmax(0,1fr))}.h-bento__papers{grid-column:1/-1}}
@media (min-width:1000px){.h-bento{grid-template-columns:1.25fr 1fr 1fr;grid-template-rows:auto auto}.h-bento__papers{grid-column:auto;grid-row:span 2}}
.h-bento .h-feat{--a:#22D3EE;position:relative;overflow:hidden;isolation:isolate;display:flex;flex-direction:column;gap:6px;padding:20px;border-radius:26px;text-align:left;
  border:0!important;color:var(--bd-text);font:inherit;cursor:pointer;
  background:radial-gradient(120% 90% at 100% 0%,color-mix(in srgb,var(--a) 20%,transparent),transparent 60%),color-mix(in srgb,var(--bd-surface) 62%,transparent)!important;
  -webkit-backdrop-filter:blur(14px) saturate(1.3);backdrop-filter:blur(14px) saturate(1.3);
  box-shadow:0 1px 0 rgba(255,255,255,.07) inset,0 0 0 1px color-mix(in srgb,var(--a) 26%,var(--bd-line)),0 30px 60px -40px color-mix(in srgb,var(--a) 60%,transparent)!important;
  transition:transform .5s var(--fx-ease,ease),box-shadow .5s ease}
.h-bento .h-feat:hover{transform:translateY(-4px);box-shadow:0 1px 0 rgba(255,255,255,.09) inset,0 0 0 1px color-mix(in srgb,var(--a) 55%,transparent),0 36px 70px -36px color-mix(in srgb,var(--a) 80%,transparent)!important}
.h-bento .h-feat p{margin:0;color:var(--bd-text-2);font-size:.94rem;line-height:1.5}
.h-bento .bd-h3{font-size:1.2rem;font-weight:780;letter-spacing:-.015em}
.h-bento__art{position:relative;height:120px;margin:-4px -4px 10px;border-radius:18px;overflow:hidden;display:grid;place-items:center;
  background:radial-gradient(70% 90% at 50% 100%,color-mix(in srgb,var(--a) 22%,transparent),transparent 70%),color-mix(in srgb,var(--bd-bg) 55%,transparent);
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--a) 18%,var(--bd-line))}
.h-bento__art::after{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(color-mix(in srgb,var(--a) 10%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--a) 10%,transparent) 1px,transparent 1px);background-size:22px 22px;
  -webkit-mask-image:radial-gradient(closest-side,#000,transparent);mask-image:radial-gradient(closest-side,#000,transparent)}
.h-bento .h-bento__topic{--a:#3CC47C}.h-bento .h-bento__duel{--a:#FF8A3D}.h-bento .h-bento__live{--a:#F0524F}.h-bento .h-bento__bn{--a:#A78BFA}.h-bento .h-bento__papers{--a:#22D3EE}

/* papers: a fanned stack of question papers */
.h-bento__papers .h-bento__art{height:auto;min-height:220px;flex:1}
.h-bento__papers .h-bento__txt{display:flex;flex-direction:column;gap:6px}
.h-bento__papers .bd-h3{font-size:1.5rem}
.hb-sheet{position:absolute;width:150px;height:180px;border-radius:12px;padding:16px 14px;display:flex;flex-direction:column;gap:9px;
  background:linear-gradient(180deg,#F4F7FB,#DDE6F0);box-shadow:0 20px 40px -18px rgba(0,0,0,.7),0 0 0 1px rgba(255,255,255,.4) inset;transition:transform .7s var(--fx-ease,ease)}
.hb-sheet i{display:block;height:6px;border-radius:3px;background:#B9C6D6}
.hb-sheet i:nth-of-type(2){width:80%}.hb-sheet i:nth-of-type(3){width:60%}
.hb-sheet b{font-family:var(--bd-font-display);font-weight:400;font-size:1.5rem;letter-spacing:.03em;color:#0B5F70;line-height:1}
.hb-sheet em{margin-top:auto;align-self:flex-end;font-style:normal;font-family:var(--bd-font-display);font-size:1.1rem;padding:2px 8px;border-radius:6px;color:#fff;background:linear-gradient(120deg,#00B4CC,#4CAF50);transform:rotate(-6deg)}
.hb-sheet--3{transform:translate(-36px,10px) rotate(-14deg);opacity:.7}
.hb-sheet--2{transform:translate(30px,6px) rotate(10deg);opacity:.85}
.hb-sheet--1{transform:translate(0,-6px) rotate(-2deg)}
.h-bento__papers:hover .hb-sheet--3{transform:translate(-70px,14px) rotate(-20deg)}
.h-bento__papers:hover .hb-sheet--2{transform:translate(64px,10px) rotate(16deg)}
.h-bento__papers:hover .hb-sheet--1{transform:translate(0,-14px) rotate(0)}
.hb-years{position:absolute;left:0;right:0;bottom:12px;display:flex;justify-content:center;gap:8px}
.hb-years span{padding:4px 10px;border-radius:999px;font-size:.78rem;font-weight:700;color:var(--bd-text);background:color-mix(in srgb,var(--bd-surface) 80%,transparent);box-shadow:inset 0 0 0 1px var(--bd-line-2)}
.hb-years span:last-child{color:#fff;background:linear-gradient(120deg,#00B4CC,#4CAF50);box-shadow:0 6px 16px -6px rgba(0,190,214,.8)}

/* topic: a target that locks on */
.hb-target{position:relative;width:96px;height:96px;display:grid;place-items:center}
.hb-target i{position:absolute;border-radius:50%;border:2px solid color-mix(in srgb,var(--a) 70%,transparent)}
.hb-target i:nth-child(1){inset:0;border-style:dashed;animation:hbSpin 14s linear infinite}
.hb-target i:nth-child(2){inset:18px;opacity:.8}
.hb-target i:nth-child(3){inset:34px;border-color:var(--a);box-shadow:0 0 18px var(--a)}
.hb-target b{width:12px;height:12px;border-radius:50%;background:var(--a);box-shadow:0 0 0 6px color-mix(in srgb,var(--a) 25%,transparent),0 0 20px var(--a);animation:hbPulse 2s ease-in-out infinite}
@keyframes hbSpin{to{transform:rotate(360deg)}}
@keyframes hbPulse{50%{box-shadow:0 0 0 12px color-mix(in srgb,var(--a) 0%,transparent),0 0 26px var(--a)}}

/* duel: two players facing off */
.hb-duel{display:flex;align-items:center;gap:14px}
.hb-av{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-family:var(--bd-font-display);font-size:1.6rem;color:#fff;transition:transform .5s var(--fx-ease,ease)}
.hb-av--a{background:linear-gradient(140deg,#00B4CC,#4CAF50);box-shadow:0 0 24px -4px #00B4CC}
.hb-av--b{background:linear-gradient(140deg,#FF8A3D,#FFD54A);box-shadow:0 0 24px -4px #FF8A3D}
.hb-duel b{font-family:var(--bd-font-display);font-weight:400;font-size:1.9rem;letter-spacing:.04em;background:linear-gradient(180deg,#fff,#FFB98A);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 10px rgba(255,138,61,.7))}
.h-bento__duel:hover .hb-av--a{transform:translateX(8px)}
.h-bento__duel:hover .hb-av--b{transform:translateX(-8px)}

/* live: a running contest clock */
.hb-clock{display:flex;align-items:center;gap:12px;padding:10px 18px;border-radius:16px;background:color-mix(in srgb,var(--bd-bg) 60%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--a) 35%,transparent),0 0 30px -12px var(--a)}
.hb-clock b{font-family:var(--bd-font-display);font-weight:400;font-size:2.4rem;letter-spacing:.06em;background:linear-gradient(180deg,#fff,#FFB3B1);-webkit-background-clip:text;background-clip:text;color:transparent}
.hb-live{width:10px;height:10px;border-radius:50%;background:var(--a);box-shadow:0 0 0 0 rgba(240,82,79,.6);animation:hLive 1.6s infinite}

/* language: a switch mid-flip */
.hb-lang{position:relative;display:flex;align-items:center;gap:0;padding:6px;border-radius:999px;background:color-mix(in srgb,var(--bd-bg) 60%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--a) 40%,transparent)}
.hb-lang span{position:relative;z-index:1;width:64px;text-align:center;font-weight:800;font-size:1.05rem;padding:8px 0;color:var(--bd-text-2)}
.hb-lang span:last-child{font-family:'Anek Bangla',var(--bd-font)}
.hb-lang i{position:absolute;top:6px;bottom:6px;left:6px;width:64px;border-radius:999px;background:linear-gradient(120deg,#8B5CF6,#22D3EE);box-shadow:0 8px 20px -8px #8B5CF6;animation:hbFlip 4s cubic-bezier(.65,0,.35,1) infinite}
@keyframes hbFlip{0%,40%{transform:translateX(0)}50%,90%{transform:translateX(64px)}100%{transform:translateX(0)}}
.h-bento .h-feat__go{margin-top:6px;color:var(--a)}
:root[data-theme="light"] .hb-duel b,:root[data-theme="light"] .hb-clock b{background:linear-gradient(180deg,var(--bd-text),var(--a));-webkit-background-clip:text;background-clip:text}
@media (prefers-reduced-motion:reduce){.hb-target i,.hb-target b,.hb-lang i,.hb-live{animation:none}}

/* ==========================================================================
   Community v2 — one composed panel: story + socials on the left, hubs on the right
   ========================================================================== */
.h-comm .bd-container{display:grid;gap:18px 40px;grid-template-columns:minmax(0,1fr);grid-template-areas:"head" "soc" "hubt" "hubs"}
@media (min-width:1000px){.h-comm .bd-container{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);grid-template-areas:"head hubt" "soc hubs";align-items:start}}
.h-comm__head{grid-area:head;margin:0}
.h-socials{grid-area:soc;grid-template-columns:minmax(0,1fr)!important}
@media (min-width:640px) and (max-width:999px){.h-socials{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
.h-hubs__t{grid-area:hubt;margin:0!important;align-self:end}
.h-hubs{grid-area:hubs;grid-template-columns:minmax(0,1fr)!important;gap:10px!important}
@media (min-width:640px) and (max-width:999px){.h-hubs{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
.h-soc{padding:24px;min-height:150px;
  background:radial-gradient(90% 120% at 0% 0%,color-mix(in srgb,var(--b) 34%,transparent),transparent 58%),radial-gradient(60% 90% at 100% 100%,color-mix(in srgb,var(--b) 16%,transparent),transparent 60%),color-mix(in srgb,var(--bd-surface) 58%,transparent)!important;
  -webkit-backdrop-filter:blur(14px) saturate(1.3);backdrop-filter:blur(14px) saturate(1.3);border:0!important;
  box-shadow:0 1px 0 rgba(255,255,255,.08) inset,0 0 0 1px color-mix(in srgb,var(--b) 38%,transparent),0 30px 60px -40px var(--b)}
/* hub card: subject-tinted glass with a big ghost icon */
.h-hub{flex-direction:row!important;align-items:center!important;text-align:left!important;gap:14px!important;padding:14px 14px 14px 14px!important;border-radius:20px!important;min-height:78px;border:0!important;
  background:linear-gradient(100deg,color-mix(in srgb,var(--c) 22%,transparent),transparent 55%),color-mix(in srgb,var(--bd-surface) 58%,transparent)!important;
  -webkit-backdrop-filter:blur(12px) saturate(1.3);backdrop-filter:blur(12px) saturate(1.3);
  box-shadow:0 1px 0 rgba(255,255,255,.06) inset,0 0 0 1px color-mix(in srgb,var(--c) 30%,var(--bd-line))!important}
.h-hub::before{display:none}
.h-hub__wm{position:absolute;right:66px;top:50%;width:92px;height:92px;margin-top:-46px;color:var(--c);opacity:.09;pointer-events:none;transform:rotate(-12deg);transition:transform .7s var(--fx-ease,ease),opacity .4s ease}
.h-hub__wm svg{width:100%!important;height:100%!important;stroke-width:1.4}
.h-hub:hover .h-hub__wm{transform:rotate(0) scale(1.1);opacity:.16}
.h-hub__e{width:52px!important;height:52px!important;margin:0!important;border-radius:16px!important;border:0!important;color:#fff!important;flex:none;
  background:linear-gradient(140deg,var(--c),color-mix(in srgb,var(--c) 55%,#000))!important;box-shadow:0 10px 24px -10px var(--c),inset 0 1px 0 rgba(255,255,255,.3)!important}
.h-hub__e svg{width:24px!important;height:24px!important}
.h-hub__b{display:grid;gap:3px;min-width:0;flex:1}
.h-hub__n{font-size:1.04rem!important;font-weight:780!important;letter-spacing:-.01em}
.h-hub__m{gap:6px!important;font-size:.84rem!important;color:var(--bd-text-2)!important}
.h-hub__faces{display:inline-flex;margin-right:2px}
.h-hub__faces i{width:16px;height:16px;border-radius:50%;margin-left:-5px;box-shadow:0 0 0 2px var(--bd-surface);background:linear-gradient(140deg,color-mix(in srgb,var(--c) 80%,#fff),var(--c))}
.h-hub__faces i:first-child{margin-left:0}
.h-hub__faces i:nth-child(2){background:linear-gradient(140deg,#FFE08A,#F5C542)}
.h-hub__faces i:nth-child(3){background:linear-gradient(140deg,#9BE15D,#3CC47C)}
.h-hub__live{margin-left:4px}
.h-hub__go{flex:none;margin:0!important;padding:0 16px 0 12px!important;min-height:42px;border-radius:999px!important;font-size:.88rem!important}
.h-hub:hover{transform:translateY(-3px)!important;box-shadow:0 1px 0 rgba(255,255,255,.08) inset,0 0 0 1px color-mix(in srgb,var(--c) 60%,transparent),0 22px 44px -26px var(--c)!important}
.h-hub:hover .h-hub__e{transform:scale(1.06) rotate(-6deg)}
@media (max-width:420px){.h-hub__go span{display:none}.h-hub__go{padding:0 12px!important}.h-hub__wm{right:48px}}
