:root{
  --ink:#0B0B0F; --ink-soft:#1A1626;
  --orchid:#B52ED7; --orchid-bright:#C94FE5; --orchid-deep:#7A1490;
  --gold:#B99524;
  --bg:#FFFFFF; --bg-soft:#FAF8FC; --lavender:#F5EEF9; --lavender-2:#EFE4F5;
  --text:#1A1626; --muted:#6E6780; --line:#EAE3F0;
  --maxw:1200px;
  --ease:cubic-bezier(.22,.61,.36,1);
  --shadow-sm:0 2px 10px rgba(23,16,38,.05);
  --shadow:0 18px 50px -18px rgba(122,20,144,.22);
  --shadow-lg:0 40px 90px -30px rgba(122,20,144,.30);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:'Be Vietnam Pro',system-ui,-apple-system,'Noto Sans SC',sans-serif;
  color:var(--text); background:var(--bg); line-height:1.65;
  -webkit-font-smoothing:antialiased; overflow-x:hidden;
}
:lang(zh) body,body.zh{font-family:'Noto Sans SC','Be Vietnam Pro',system-ui,sans-serif}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 clamp(20px,5vw,48px)}
::selection{background:var(--orchid);color:#fff}

/* ---------- Wordmark ---------- */
.wordmark{display:inline-flex;flex-direction:column;align-items:center;line-height:1;user-select:none;white-space:nowrap}
.wordmark .fr{
  font-family:'Cormorant Garamond',serif;text-transform:uppercase;
  letter-spacing:.30em;color:var(--ink);font-weight:500;
}
.wordmark .sig{
  font-family:'Sacramento',cursive;color:var(--orchid);
  margin-top:-.28em;transform:translateX(.06em);
}
.wm-sm .fr{font-size:20px}.wm-sm .sig{font-size:26px;margin-top:-.42em}
/* Official logo asset */
.logo-img{height:44px;width:auto;display:block;transition:height .4s var(--ease)}
header.scrolled .logo-img{height:34px}
.foot-brand{position:relative}
.foot-brand::before{content:"";position:absolute;left:-8px;top:-16px;width:240px;height:120px;background:radial-gradient(circle at 32% 45%,rgba(201,79,229,.42),transparent 68%);filter:blur(16px);z-index:0;pointer-events:none}
.foot-brand>*{position:relative;z-index:1}
.foot-logo{height:56px;filter:drop-shadow(0 0 16px rgba(201,79,229,.6)) drop-shadow(0 0 3px rgba(255,255,255,.35))}
@media(max-width:560px){.logo-img{height:34px}header.scrolled .logo-img{height:30px}}
.wm-hero .fr{font-size:clamp(44px,9vw,116px);letter-spacing:.28em}
.wm-hero .sig{font-size:clamp(40px,8.6vw,104px);margin-top:-.34em}

/* ---------- Buttons ---------- */
.btn{
  --c:var(--ink);
  display:inline-flex;align-items:center;gap:.55em;cursor:pointer;
  font-weight:500;font-size:15px;letter-spacing:.01em;
  padding:15px 28px;border-radius:100px;border:1px solid transparent;
  transition:transform .3s var(--ease),box-shadow .3s var(--ease),background .3s,color .3s;
  position:relative;white-space:nowrap;
}
.btn svg{width:17px;height:17px;transition:transform .35s var(--ease)}
.btn:hover svg{transform:translateX(4px)}
.btn-primary{background:var(--ink);color:#fff}
.btn-primary:hover{background:var(--orchid-deep);transform:translateY(-2px);box-shadow:var(--shadow)}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line)}
.btn-ghost:hover{border-color:var(--orchid);color:var(--orchid-deep);transform:translateY(-2px)}
.btn:focus-visible{outline:2px solid var(--orchid);outline-offset:3px}

/* ---------- Header ---------- */
header{position:fixed;top:0;left:0;right:0;z-index:50;transition:all .4s var(--ease)}
header .bar{
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  padding:18px 0;transition:padding .4s var(--ease);
}
header.scrolled{background:rgba(255,255,255,.82);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}
header.scrolled .bar{padding:10px 0}
nav.main{display:flex;align-items:center;gap:30px}
nav.main a{font-size:14.5px;font-weight:500;color:var(--ink-soft);position:relative;padding:4px 0;transition:color .25s}
nav.main a::after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:1.5px;background:var(--orchid);transition:width .3s var(--ease)}
nav.main a:hover{color:var(--orchid-deep)}
nav.main a:hover::after{width:100%}
.head-right{display:flex;align-items:center;gap:18px}
.lang{display:inline-flex;border:1px solid var(--line);border-radius:100px;overflow:hidden;background:#fff}
.lang button{
  border:none;background:transparent;cursor:pointer;font:inherit;font-size:12.5px;font-weight:600;
  color:var(--muted);padding:7px 12px;letter-spacing:.04em;transition:all .25s;
}
.lang button.active{background:var(--ink);color:#fff}
.lang button:hover:not(.active){color:var(--orchid-deep)}
.menu-btn{display:none;background:none;border:none;cursor:pointer;padding:6px}
.menu-btn span{display:block;width:24px;height:2px;background:var(--ink);margin:5px 0;transition:.3s}

/* ---------- Hero ---------- */
.hero{position:relative;padding:150px 0 90px;overflow:hidden}
.hero::before{
  content:"";position:absolute;inset:0;z-index:-2;
  background:
    radial-gradient(70% 55% at 82% 12%,var(--lavender-2),transparent 60%),
    radial-gradient(60% 50% at 8% 90%,var(--lavender),transparent 55%),
    var(--bg);
}
.orb{position:absolute;border-radius:50%;filter:blur(60px);opacity:.5;z-index:-1;pointer-events:none}
.orb.a{width:340px;height:340px;background:radial-gradient(circle,rgba(196,47,214,.42),transparent 70%);top:-40px;right:6%}
.orb.b{width:280px;height:280px;background:radial-gradient(circle,rgba(122,20,144,.30),transparent 70%);bottom:-60px;left:2%}
.hero-inner{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center}
.hero-eyebrow{
  display:inline-flex;align-items:center;gap:9px;font-size:12.5px;font-weight:600;
  letter-spacing:.16em;text-transform:uppercase;color:var(--orchid-deep);
  padding:8px 16px;border:1px solid var(--line);border-radius:100px;background:#fff;box-shadow:var(--shadow-sm);
}
.hero-eyebrow .dot{width:7px;height:7px;border-radius:50%;background:var(--orchid);box-shadow:0 0 0 4px rgba(168,29,184,.16)}
.hero h1{
  font-family:'Plus Jakarta Sans',sans-serif;font-weight:600;color:var(--ink);
  font-size:clamp(38px,5.4vw,68px);line-height:1.04;letter-spacing:-.015em;margin:26px 0 22px;
}
.hero h1 .hl{font-style:italic;color:var(--orchid-deep);position:relative;white-space:nowrap}
.hero p.sub{font-size:clamp(16px,1.35vw,19px);color:var(--muted);max-width:35ch;margin-bottom:34px}
.hero .actions{display:flex;gap:14px;flex-wrap:wrap}
.hero-visual{position:relative}
.hero-card{
  position:relative;border-radius:22px;overflow:hidden;box-shadow:var(--shadow-lg);
  border:1px solid var(--line);aspect-ratio:4/5;
}
.hero-card img{width:100%;height:100%;object-fit:cover;transform:scale(1.06);transition:transform 1.2s var(--ease)}
.hero-card:hover img{transform:scale(1.12)}
.hero-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(11,11,15,.55))}
.hero-cap{
  position:absolute;left:20px;right:20px;bottom:20px;z-index:2;color:#fff;
  font-family:'Cormorant Garamond',serif;font-style:italic;font-size:20px;line-height:1.35;
}
.hero-badge{
  position:absolute;top:-22px;left:-22px;z-index:3;background:#fff;border:1px solid var(--line);
  border-radius:16px;padding:14px 18px;box-shadow:var(--shadow);display:flex;align-items:center;gap:12px;
}
.hero-badge .seal{width:40px;height:40px;border-radius:11px;background:var(--ink);display:grid;place-items:center;color:var(--orchid-bright);font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:14px}
.hero-badge small{display:block;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.hero-badge b{font-family:'Plus Jakarta Sans',sans-serif;font-weight:600;font-size:15px;color:var(--ink)}

/* ---------- Section shell ---------- */
section{position:relative}
.sec{padding:clamp(72px,10vw,120px) 0}
.sec-head{max-width:620px;margin-bottom:52px}
.eyebrow{font-size:12.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--orchid);display:flex;align-items:center;gap:12px}
.eyebrow::before{content:"";width:28px;height:1.5px;background:var(--orchid)}
.sec-head h2{font-family:'Plus Jakarta Sans',sans-serif;font-weight:600;color:var(--ink);font-size:clamp(28px,3.6vw,46px);line-height:1.1;letter-spacing:-.015em;margin:16px 0 14px}
.sec-head p{color:var(--muted);font-size:17px;max-width:56ch}
.center{text-align:center;margin-left:auto;margin-right:auto}
.center .eyebrow{justify-content:center}

/* ---------- Stats ---------- */
.stats-band{background:var(--ink);color:#fff;border-radius:26px;padding:clamp(34px,5vw,54px);position:relative;overflow:hidden}
.stats-band::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 120% at 100% 0,rgba(196,47,214,.28),transparent 60%)}
.stats-cap{position:relative;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:20px;color:#efe4f5;margin-bottom:30px}
.stats-grid{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.stat .num{font-family:'Plus Jakarta Sans',sans-serif;font-weight:600;font-size:clamp(38px,5vw,60px);line-height:1;letter-spacing:-.02em;color:#fff}
.stat .num .plus{color:var(--orchid-bright)}
.stat .lab{margin-top:8px;font-size:13.5px;letter-spacing:.02em;color:#c9bfd6}
.stat{padding-left:20px;border-left:2px solid rgba(196,47,214,.4)}

/* ---------- Ecosystem cards ---------- */
.eco-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.eco-card{
  position:relative;background:#fff;border:1px solid var(--line);border-radius:20px;padding:28px;
  transition:transform .4s var(--ease),box-shadow .4s var(--ease),border-color .4s;overflow:hidden;
  display:flex;flex-direction:column;min-height:230px;cursor:pointer;
}
.eco-card::before{content:"";position:absolute;left:0;top:0;height:100%;width:3px;background:linear-gradient(var(--orchid),var(--orchid-bright));transform:scaleY(0);transform-origin:top;transition:transform .45s var(--ease)}
.eco-card:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:transparent}
.eco-card:hover::before{transform:scaleY(1)}
.eco-ico{width:46px;height:46px;border-radius:12px;background:var(--lavender);display:grid;place-items:center;color:var(--orchid-deep);margin-bottom:18px;transition:background .4s,color .4s}
.eco-card:hover .eco-ico{background:var(--ink);color:var(--orchid-bright)}
.eco-ico svg{width:23px;height:23px}
.eco-role{font-size:11.5px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--orchid)}
.eco-name{font-family:'Plus Jakarta Sans',sans-serif;font-weight:600;font-size:23px;color:var(--ink);margin:5px 0 8px}
.eco-desc{font-size:14.5px;color:var(--muted);flex:1}
.eco-go{margin-top:16px;display:inline-flex;align-items:center;gap:7px;font-size:13.5px;font-weight:600;color:var(--ink-soft);transition:gap .3s,color .3s}
.eco-go svg{width:15px;height:15px;transition:transform .35s var(--ease)}
.eco-card:hover .eco-go{color:var(--orchid-deep)}
.eco-card:hover .eco-go svg{transform:translateX(4px)}

/* ---------- Split: Data + Wiki ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.panel{border:1px solid var(--line);border-radius:22px;padding:34px;background:var(--bg-soft);position:relative;overflow:hidden}
.panel.dark{background:var(--ink);color:#fff}
.panel .badge{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);border:1px solid rgba(185,149,36,.4);border-radius:100px;padding:5px 12px;margin-bottom:16px}
.panel h3{font-family:'Plus Jakarta Sans',sans-serif;font-weight:600;font-size:27px;margin-bottom:10px;line-height:1.14}
.panel.dark h3{color:#fff}
.panel .lead{font-size:15px;color:var(--muted);margin-bottom:24px}
.panel.dark .lead{color:#c9bfd6}
.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:24px}
.tile{background:rgba(196,47,214,.10);border:1px solid rgba(196,47,214,.22);border-radius:14px;padding:16px 14px;text-align:center}
.tile .tn{font-family:'Plus Jakarta Sans',sans-serif;font-weight:600;font-size:26px;color:var(--orchid-bright)}
.tile .tl{font-size:11.5px;color:#c9bfd6;margin-top:4px;letter-spacing:.02em}
/* FAQ */
.faq{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line);padding:4px 0}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 2px;font-weight:600;font-size:16px;color:var(--ink);transition:color .25s}
.faq summary::-webkit-details-marker{display:none}
.faq summary:hover{color:var(--orchid-deep)}
.faq summary .ic{flex:0 0 auto;width:24px;height:24px;border-radius:50%;border:1.5px solid var(--line);display:grid;place-items:center;transition:transform .35s var(--ease),background .3s,border-color .3s,color .3s;color:var(--orchid)}
.faq details[open] summary .ic{transform:rotate(45deg);background:var(--orchid);border-color:var(--orchid);color:#fff}
.faq .ans{padding:0 2px 18px;color:var(--muted);font-size:14.5px;max-width:66ch}

/* ---------- About / Entity ---------- */
.about{display:grid;grid-template-columns:.9fr 1.1fr;gap:52px;align-items:center}
.about-visual{position:relative;border-radius:22px;overflow:hidden;aspect-ratio:1/1;border:1px solid var(--line);box-shadow:var(--shadow)}
.about-visual img{width:100%;height:100%;object-fit:cover}
.about-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(160deg,rgba(122,20,144,.10),rgba(11,11,15,.35))}
.about-seal{position:absolute;right:18px;bottom:18px;z-index:2;background:#fff;border-radius:14px;padding:12px 16px;box-shadow:var(--shadow);display:flex;align-items:center;gap:11px}
.about-seal .m{width:38px;height:38px;border-radius:10px;background:var(--ink);color:var(--orchid-bright);display:grid;place-items:center;font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:13px}
.about-seal small{font-size:11px;color:var(--muted);letter-spacing:.06em;text-transform:uppercase}
.about-seal b{font-family:'Cormorant Garamond',serif;font-size:17px;color:var(--ink)}
.about h2{font-family:'Plus Jakarta Sans',sans-serif;font-weight:600;font-size:clamp(28px,3.4vw,42px);line-height:1.1;color:var(--ink);margin:16px 0 18px}
.about p{color:var(--muted);font-size:16px;margin-bottom:16px}
.about p strong{color:var(--ink-soft);font-weight:600}

/* ---------- CTA band ---------- */
.cta-band{position:relative;border-radius:26px;overflow:hidden;text-align:center;padding:clamp(48px,7vw,90px) 24px;color:#fff}
.cta-band img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.cta-band::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(11,11,15,.78),rgba(122,20,144,.72))}
.cta-band h2{font-family:'Plus Jakarta Sans',sans-serif;font-weight:600;font-size:clamp(28px,4.2vw,52px);line-height:1.08;max-width:18ch;margin:0 auto 18px}
.cta-band p{color:#e9dff0;font-size:17px;max-width:52ch;margin:0 auto 32px}
.cta-band .btn-primary{background:#fff;color:var(--ink)}
.cta-band .btn-primary:hover{background:var(--orchid-bright);color:#fff}

/* ---------- Footer ---------- */
footer{background:var(--ink);color:#c9bfd6;padding:70px 0 34px;margin-top:20px}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;padding-bottom:44px;border-bottom:1px solid rgba(255,255,255,.1)}
footer .wordmark .fr{color:#fff}
.foot-tag{margin-top:18px;font-size:14px;color:#a99fb8;max-width:34ch}
.foot-col h4{font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:#fff;margin-bottom:16px}
.foot-col a{display:block;font-size:14px;color:#b7adc4;padding:6px 0;transition:color .25s,transform .25s}
.foot-col a:hover{color:var(--orchid-bright);transform:translateX(3px)}
.foot-bottom{display:flex;justify-content:space-between;align-items:center;gap:18px;padding-top:26px;font-size:13px;color:#8f86a0;flex-wrap:wrap}
.foot-bottom a{color:#b7adc4}

/* ---------- Reveal motion ---------- */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.reveal.in{opacity:1;transform:none}
.reveal[data-d="1"]{transition-delay:.08s}
.reveal[data-d="2"]{transition-delay:.16s}
.reveal[data-d="3"]{transition-delay:.24s}
.reveal[data-d="4"]{transition-delay:.32s}
.reveal[data-d="5"]{transition-delay:.40s}

/* ---------- Responsive ---------- */
@media(max-width:960px){
  .hero-inner{grid-template-columns:1fr;gap:40px}
  .hero-visual{max-width:400px}
  .about{grid-template-columns:1fr;gap:34px}
  .split{grid-template-columns:1fr}
  .eco-grid{grid-template-columns:repeat(2,1fr)}
  .foot-grid{grid-template-columns:1fr 1fr}
  nav.main,.head-right .lang{display:none}
  header.open nav.main{display:flex;position:absolute;top:100%;left:0;right:0;flex-direction:column;background:#fff;padding:20px 24px;border-bottom:1px solid var(--line);gap:14px}
  header.open .head-right .lang{display:inline-flex}
  .menu-btn{display:block}
}
@media(max-width:560px){
  .stats-grid{grid-template-columns:repeat(2,1fr);gap:28px 20px}
  .eco-grid{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr}
  .tiles{grid-template-columns:repeat(3,1fr)}
}
@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .reveal{opacity:1;transform:none}
}

/* ============================================================
   VIBRANCY REFRESH — loads last, wins the cascade
   Space Grotesk display · animated aurora · gradient accents
   ============================================================ */
:root{--collab:linear-gradient(100deg,#B52ED7 0%,#C94FE5 48%,#7A1490 100%)}
.hero h1,.sec-head h2,.about h2,.cta-band h2,.eco-name,.panel h3,.stat .num,.tile .tn,
.hero-badge .seal,.hero-badge b,.about-seal .m{font-family:'Plus Jakarta Sans',sans-serif}
.sec-head h2,.about h2,.cta-band h2,.hero h1{letter-spacing:-.025em;font-weight:600}

/* animated aurora hero background */
.hero::before{
  background:
    radial-gradient(55% 48% at 84% 6%,rgba(201,79,229,.30),transparent 60%),
    radial-gradient(50% 42% at 4% 94%,rgba(122,20,144,.22),transparent 55%),
    radial-gradient(40% 40% at 50% 50%,rgba(240,220,250,.35),transparent 70%),
    var(--bg);
  background-size:200% 200%,200% 200%,180% 180%,100% 100%;
  animation:auroraShift 18s ease-in-out infinite alternate;
}
@keyframes auroraShift{0%{background-position:0% 0%,100% 100%,50% 50%,0 0}100%{background-position:12% -8%,88% 108%,54% 46%,0 0}}

/* gradient headline highlight (replaces italic) */
.hero h1 .hl{
  font-style:normal;white-space:nowrap;
  background:var(--collab);-webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
  background-size:200% 100%;animation:hlSlide 6s ease-in-out infinite alternate;
}
@keyframes hlSlide{0%{background-position:0% 0}100%{background-position:100% 0}}

/* eyebrow chip pop */
.hero-eyebrow{background:linear-gradient(#fff,#fff) padding-box,var(--collab) border-box;border:1px solid transparent}

/* punchy gradient primary button */
.btn-primary{
  background:linear-gradient(120deg,var(--ink) 0%,#2A1140 55%,var(--orchid-deep) 120%);
  background-size:200% 100%;background-position:0 0;
}
.btn-primary:hover{background-position:100% 0;transform:translateY(-3px);box-shadow:0 18px 44px -14px rgba(181,46,215,.55)}
.cta-band .btn-primary{background:#fff;color:var(--ink)}
.cta-band .btn-primary:hover{background:var(--collab);color:#fff}

/* section header gradient accent bar */
.sec-head h2{position:relative}
.eyebrow::before{background:var(--collab)}

/* stats band: gradient numbers + animated sheen */
.stats-band::after{content:"";position:absolute;top:-40%;left:-20%;width:60%;height:180%;background:linear-gradient(90deg,transparent,rgba(201,79,229,.10),transparent);transform:rotate(8deg);animation:sheen 7s linear infinite}
@keyframes sheen{0%{left:-40%}100%{left:120%}}
.stat .num{background:linear-gradient(180deg,#fff,#efdcfb);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
.stat .num .plus{-webkit-text-fill-color:var(--orchid-bright)}

/* ecosystem cards — vibrant */
.eco-ico{background:linear-gradient(135deg,var(--lavender),#E7D2F2)}
.eco-card:hover .eco-ico{background:var(--collab);color:#fff;transform:rotate(-6deg) scale(1.05)}
.eco-ico{transition:background .4s,color .4s,transform .4s var(--ease)}
.eco-card:hover{box-shadow:0 30px 64px -26px rgba(181,46,215,.42)}
.eco-card::after{content:"";position:absolute;inset:0;border-radius:20px;padding:1px;background:var(--collab);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .4s}
.eco-card:hover::after{opacity:1}

/* hero floating particles */
.hero-particles{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.hp{position:absolute;border-radius:50%;background:var(--collab);opacity:.5;animation:floaty var(--dur,9s) ease-in-out var(--delay,0s) infinite}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-26px)}}

/* ---------- Community projects section ---------- */
.comm-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.comm-card{position:relative;border-radius:22px;overflow:hidden;min-height:300px;display:flex;align-items:flex-end;color:#fff;border:1px solid var(--line);box-shadow:var(--shadow);cursor:pointer}
.comm-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.05);transition:transform 1.1s var(--ease);z-index:-2}
.comm-card::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(175deg,rgba(11,11,15,.12) 20%,rgba(122,20,144,.48) 62%,rgba(11,11,15,.86))}
.comm-card:hover img{transform:scale(1.13)}
.comm-body{padding:30px;position:relative}
.comm-role{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#fff;background:rgba(255,255,255,.18);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.28);border-radius:100px;padding:5px 13px;margin-bottom:14px}
.comm-name{font-family:'Plus Jakarta Sans',sans-serif;font-weight:600;font-size:28px;letter-spacing:-.02em;line-height:1.05;margin-bottom:8px}
.comm-desc{font-size:14.5px;color:#eadff2;max-width:40ch}
.comm-go{margin-top:16px;display:inline-flex;align-items:center;gap:8px;font-size:13.5px;font-weight:600;color:#fff}
.comm-go svg{width:16px;height:16px;transition:transform .35s var(--ease)}
.comm-card:hover .comm-go svg{transform:translateX(5px)}

@media(max-width:820px){.comm-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){
  .hero::before,.hero h1 .hl,.stats-band::after,.hp{animation:none!important}
  .hero h1 .hl{-webkit-text-fill-color:var(--orchid-deep);color:var(--orchid-deep)}
}

/* ============================================================
   CONSTELLATION — flagship ecosystem section (dark, image bento)
   ============================================================ */
.constellation{position:relative;background:radial-gradient(120% 120% at 50% -10%,#1c1030 0%,var(--ink) 55%);color:#fff;border-radius:34px;padding:clamp(46px,6vw,84px) clamp(20px,4vw,58px);overflow:hidden;isolation:isolate}
.constellation::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(50% 42% at 82% 6%,rgba(201,79,229,.30),transparent 60%),radial-gradient(46% 42% at 8% 100%,rgba(122,20,144,.34),transparent 60%)}
.cons-stars{position:absolute;inset:0;z-index:-1;pointer-events:none}
.cons-stars span{position:absolute;width:3px;height:3px;border-radius:50%;background:#fff;opacity:.5;animation:twinkle var(--tw,4s) ease-in-out var(--td,0s) infinite}
@keyframes twinkle{0%,100%{opacity:.14;transform:scale(.8)}50%{opacity:.75;transform:scale(1.2)}}
.cons-head{text-align:center;max-width:660px;margin:0 auto clamp(34px,5vw,52px)}
.cons-head .eyebrow{justify-content:center;color:var(--orchid-bright)}
.cons-head .eyebrow::before{background:var(--orchid-bright)}
.cons-head h2{font-family:'Plus Jakarta Sans',sans-serif;font-weight:600;color:#fff;font-size:clamp(30px,4.6vw,54px);line-height:1.06;letter-spacing:-.02em;margin:16px 0 14px}
.cons-head p{color:#c9bfd6;font-size:17px}
.cons-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}
.cons-card{position:relative;grid-column:span 2;min-height:232px;border-radius:20px;overflow:hidden;display:flex;align-items:flex-end;border:1px solid rgba(255,255,255,.12);box-shadow:0 20px 50px -24px rgba(0,0,0,.6);isolation:isolate;transition:transform .5s var(--ease),box-shadow .5s var(--ease),border-color .5s;cursor:pointer}
.cons-card.big{grid-column:span 3;min-height:326px}
.cons-card.wide{grid-column:span 6;min-height:212px}
.cons-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transform:scale(1.06);transition:transform 1.1s var(--ease);filter:saturate(1.05)}
.cons-card::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(158deg,rgba(11,11,15,.22) 8%,rgba(20,8,34,.72) 60%,rgba(11,11,15,.93))}
.cons-card:hover{transform:translateY(-6px);box-shadow:0 34px 72px -28px rgba(181,46,215,.5);border-color:rgba(201,79,229,.55)}
.cons-card:hover img{transform:scale(1.14)}
.cons-body{padding:24px;position:relative}
.cons-role{display:inline-block;font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#fff;background:rgba(201,79,229,.22);border:1px solid rgba(201,79,229,.42);backdrop-filter:blur(6px);border-radius:100px;padding:5px 12px;margin-bottom:12px}
.cons-name{font-family:'Plus Jakarta Sans',sans-serif;font-weight:600;font-size:24px;letter-spacing:-.01em;line-height:1.05;margin-bottom:7px;color:#fff}
.cons-card.big .cons-name{font-size:30px}
.cons-desc{font-size:14px;color:#d8cfe4;max-width:46ch}
.cons-go{margin-top:14px;display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:#fff}
.cons-go svg{width:15px;height:15px;transition:transform .35s var(--ease)}
.cons-card:hover .cons-go svg{transform:translate(4px,-4px)}
@media(max-width:820px){.cons-grid{grid-template-columns:repeat(2,1fr)}.cons-card,.cons-card.big{grid-column:span 1;min-height:238px}.cons-card.wide{grid-column:span 2}}
@media(max-width:520px){.cons-grid{grid-template-columns:1fr}.cons-card,.cons-card.big,.cons-card.wide{grid-column:span 1}}
@media(prefers-reduced-motion:reduce){.cons-stars span{animation:none!important}}

/* ============ Dark-hero pages: light header until scrolled ============ */
header .logo-light{display:none}
header.on-dark:not(.scrolled) .logo-dark{display:none}
header.on-dark:not(.scrolled) .logo-light{display:block}
header.on-dark:not(.scrolled) nav.main a{color:#fff}
header.on-dark:not(.scrolled) nav.main a::after{background:#fff}
header.on-dark:not(.scrolled) .menu-btn span{background:#fff}
header.on-dark:not(.scrolled) .lang{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.38)}
header.on-dark:not(.scrolled) .lang button{color:#fff}
header.on-dark:not(.scrolled) .lang button.active{background:#fff;color:var(--ink)}

/* ============ RTL (Arabic) ============ */
html[dir=rtl] .eyebrow{flex-direction:row-reverse}
html[dir=rtl] .btn:hover svg,html[dir=rtl] .eco-go svg,html[dir=rtl] .comm-go svg,html[dir=rtl] .cons-go svg,html[dir=rtl] .hero .actions svg{transform:scaleX(-1)}
html[dir=rtl] .toc{border-left:none;border-right:2px solid var(--line);padding-left:0;padding-right:18px}
html[dir=rtl] .toc a:hover{transform:translateX(-3px)}
html[dir=rtl] .term{border-left:none;border-right:3px solid var(--orchid)}
html[dir=rtl] .stat{border-left:none;border-right:2px solid rgba(196,47,214,.4);padding-left:0;padding-right:20px}
html[dir=rtl] .honesty{border-left:none;border-right:3px solid var(--gold)}
html[dir=rtl] .econ{border-left:none;border-right:3px solid var(--orchid)}
html[dir=rtl] .foot-col a:hover{transform:translateX(-3px)}
html[dir=rtl] .cons-card::before{left:auto;right:0}
