:root{
  --bg:#06110b; --bg-2:#0a1a11; --bg-3:#0f2318;
  --line:rgba(214,240,205,.12); --line-2:rgba(214,240,205,.22);
  --ink:#f1f7ee; --ink-2:#b4c6b3; --ink-3:#7d937f;
  --green:#7ed957; --green-2:#4fae4a; --green-soft:#b9e6a3;
  --gold:#e9b949; --gold-2:#f6d88a;
  --r:18px; --r-sm:12px;
  --sans:"Be Vietnam Pro",system-ui,-apple-system,"Segoe UI",sans-serif;
  --serif:"Newsreader","Iowan Old Style",Georgia,serif;
  --pad:clamp(18px,4.5vw,64px);
  --ease:cubic-bezier(.2,.7,.2,1);
}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth;scroll-padding-top:84px;-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
em{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--green-soft)}
h1,h2,h3{font-weight:700;line-height:1.08;letter-spacing:-.025em;text-wrap:balance}
p{text-wrap:pretty}
:focus-visible{outline:2px solid var(--green);outline-offset:3px;border-radius:6px}
::selection{background:var(--green);color:#06210d}
.wrap{width:100%;max-width:1440px;margin-inline:auto;padding-inline:var(--pad)}
.skip{position:fixed;left:12px;top:-60px;z-index:200;background:var(--green);color:#06210d;padding:10px 16px;border-radius:10px;font-weight:600;transition:top .2s}
.skip:focus{top:12px}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:54px;padding:0 28px;border-radius:999px;font-weight:600;font-size:16px;white-space:nowrap;transition:transform .25s var(--ease),background .25s,box-shadow .25s,border-color .25s}
.btn svg{width:22px;height:22px}
.btn:hover{transform:translateY(-2px)}
.btn--sm{height:42px;padding:0 20px;font-size:14px}
.btn--primary{background:var(--green);color:#06210d;box-shadow:0 10px 40px -10px rgba(126,217,87,.6)}
.btn--primary:hover{background:#96e673}
.btn--ghost{border:1px solid var(--line-2);background:rgba(255,255,255,.04);backdrop-filter:blur(8px)}
.btn--ghost:hover{border-color:var(--green);background:rgba(126,217,87,.1)}
.btn--gold{background:linear-gradient(135deg,var(--gold-2),var(--gold));color:#2a1c00;box-shadow:0 10px 40px -12px rgba(233,185,73,.6)}

/* ---------- nav ---------- */
.nav{position:fixed;inset:0 0 auto;z-index:50;display:flex;align-items:center;gap:32px;height:76px;padding-inline:var(--pad);transition:background .35s,backdrop-filter .35s,border-color .35s;border-bottom:1px solid transparent}
.nav.is-stuck{background:rgba(6,17,11,.78);backdrop-filter:blur(18px) saturate(1.4);border-color:var(--line)}
.logo{display:inline-flex;align-items:center;gap:6px;font-weight:800;font-size:25px;letter-spacing:-.045em;color:#fff;flex:none}
.logo__tv{position:relative;display:inline-flex;align-items:center;font-size:.62em;letter-spacing:.02em;padding:.18em .42em;border:2px solid var(--green);border-radius:.45em;color:var(--green);line-height:1}
.logo__sprout{position:absolute;width:1.5em;left:50%;bottom:calc(100% - 1px);transform:translateX(-50%)}
.logo--lg{font-size:38px}
.logo img{height:46px;width:auto;margin-top:-8px}
.logo--lg img{height:72px;margin-top:0}
.nav__links{display:flex;gap:6px;margin-right:auto}
.nav__links a{padding:8px 14px;border-radius:999px;font-size:15px;font-weight:500;color:var(--ink-2);transition:color .2s,background .2s}
.nav__links a:hover{color:#fff;background:rgba(255,255,255,.07)}
.nav__right{display:flex;align-items:center;gap:12px;margin-left:auto}
.lang{display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 14px;border:1px solid var(--line-2);border-radius:999px;font-size:13px;font-weight:600;letter-spacing:.06em;color:var(--ink-3)}
.lang i{width:1px;height:12px;background:var(--line-2)}
.lang .on{color:var(--green)}
.burger{display:none;width:42px;height:42px;border-radius:50%;border:1px solid var(--line-2);position:relative}
.burger span{position:absolute;left:12px;right:12px;height:2px;background:#fff;border-radius:2px;transition:transform .3s var(--ease),top .3s var(--ease)}
.burger span:first-child{top:16px}.burger span:last-child{top:24px}
.burger[aria-expanded=true] span:first-child{top:20px;transform:rotate(45deg)}
.burger[aria-expanded=true] span:last-child{top:20px;transform:rotate(-45deg)}

/* ---------- hero ---------- */
.hero{position:relative;min-height:min(100svh,980px);display:flex;align-items:flex-end;padding:140px 0 56px;isolation:isolate;overflow:hidden}
.hero__bg{position:absolute;inset:0;z-index:-2;background:var(--bg-3) center/cover no-repeat;transition:opacity .6s;transform:scale(1.04);animation:drift 24s ease-in-out infinite alternate}
.hero__bg.is-fading{opacity:0}
@keyframes drift{to{transform:scale(1.12) translate3d(-1.2%,-1%,0)}}
.hero__shade{position:absolute;inset:0;z-index:-1;background:
  linear-gradient(90deg,rgba(6,17,11,.96) 0%,rgba(6,17,11,.78) 38%,rgba(6,17,11,.15) 75%),
  linear-gradient(0deg,var(--bg) 0%,rgba(6,17,11,.5) 26%,rgba(6,17,11,0) 55%,rgba(6,17,11,.55) 100%)}
.hero__inner{display:grid;grid-template-columns:minmax(0,1fr);gap:48px}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--green-soft);margin-bottom:22px}
.dot{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 0 0 rgba(126,217,87,.7);animation:pulse 2s infinite}
@keyframes pulse{to{box-shadow:0 0 0 12px rgba(126,217,87,0)}}
.hero__title{font-size:clamp(42px,7.4vw,112px);font-weight:800;letter-spacing:-.045em;line-height:.98;max-width:13ch}
.hero__title em{display:block;font-weight:400;letter-spacing:-.03em}
.hero__lede{max-width:54ch;margin-top:24px;font-size:clamp(16px,1.35vw,19px);color:var(--ink-2)}
.hero__now{display:flex;align-items:center;gap:12px;margin-top:30px;max-width:640px}
.tag{flex:none;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:5px 10px;border-radius:6px;background:rgba(126,217,87,.16);color:var(--green);border:1px solid rgba(126,217,87,.35)}
.hero__nowtitle{font-weight:500;color:#fff;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.4}
.hero__cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.hero__picks{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;max-width:860px}
.pick{position:relative;aspect-ratio:16/9;border-radius:var(--r-sm);overflow:hidden;background:var(--bg-3);border:1px solid var(--line);opacity:.62;transition:opacity .3s,transform .3s var(--ease),border-color .3s}
.pick img{width:100%;height:100%;object-fit:cover}
.pick:hover{opacity:1;transform:translateY(-3px)}
.pick.is-on{opacity:1;border-color:var(--green)}
.pick__bar{position:absolute;left:0;bottom:0;height:3px;width:0;background:var(--green)}
.pick.is-on .pick__bar{animation:fill 8s linear forwards}
@keyframes fill{to{width:100%}}

/* ---------- credentials ---------- */
.creds{border-block:1px solid var(--line);background:linear-gradient(180deg,rgba(15,35,24,.6),rgba(6,17,11,0))}
.creds__grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}
.stat{padding:34px 24px 34px 0;display:flex;flex-direction:column;gap:6px}
.stat+.stat{padding-left:24px;border-left:1px solid var(--line)}
.stat b{font-size:clamp(28px,3.2vw,46px);font-weight:700;letter-spacing:-.04em;line-height:1;font-variant-numeric:tabular-nums}
.stat--text b{color:var(--green);font-size:clamp(22px,2.3vw,32px);letter-spacing:-.02em;padding-top:.3em}
.stat span{font-size:13.5px;color:var(--ink-3);line-height:1.45;max-width:22ch}

/* ---------- section heads ---------- */
.sec-head{padding-top:clamp(64px,9vw,120px);margin-bottom:28px}
.sec-head--sub{padding-top:clamp(48px,6vw,84px)}
.kicker{font-size:12.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--green);margin-bottom:12px}
.kicker--gold{color:var(--gold)}
.sec-head h2{font-size:clamp(30px,4vw,56px)}
.sec-head__note{color:var(--ink-2);max-width:60ch;margin-top:12px}

/* ---------- rails ---------- */
.rows{padding-bottom:clamp(64px,9vw,120px)}
.rail{position:relative}
.rail__track{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--pad);padding:10px var(--pad) 26px;scrollbar-width:none}
.rail__track::-webkit-scrollbar{display:none}
.card{flex:0 0 clamp(250px,25vw,380px);scroll-snap-align:start;text-align:left;display:flex;flex-direction:column;gap:14px}
.card__media{position:relative;aspect-ratio:16/9;border-radius:var(--r);overflow:hidden;background:var(--bg-3);border:1px solid var(--line);transition:transform .45s var(--ease),box-shadow .45s,border-color .3s}
.card__media img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.card__media::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(6,17,11,.55),transparent 55%);opacity:.7;transition:opacity .3s}
.card__play{position:absolute;left:16px;bottom:16px;z-index:1;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:#06210d;transform:scale(.6);opacity:0;transition:transform .35s var(--ease),opacity .3s}
.card__play svg{width:20px;height:20px;margin-left:2px}
.card__views{position:absolute;right:12px;top:12px;z-index:1;font-size:11.5px;font-weight:600;padding:4px 9px;border-radius:999px;background:rgba(6,17,11,.7);backdrop-filter:blur(6px);color:var(--ink)}
.card:hover .card__media,.card:focus-visible .card__media{transform:translateY(-6px);border-color:rgba(126,217,87,.55);box-shadow:0 26px 60px -24px rgba(0,0,0,.9),0 0 0 1px rgba(126,217,87,.25)}
.card:hover img{transform:scale(1.06)}
.card:hover .card__play,.card:focus-visible .card__play{transform:scale(1);opacity:1}
.card__title{font-size:15.5px;font-weight:500;line-height:1.45;color:var(--ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.card:hover .card__title{color:#fff}
.rail__btn{position:absolute;top:calc(10px + (clamp(250px,25vw,380px) * .5625) / 2);z-index:3;width:52px;height:52px;margin-top:-26px;border-radius:50%;display:grid;place-items:center;background:rgba(10,26,17,.86);border:1px solid var(--line-2);backdrop-filter:blur(10px);transition:background .2s,opacity .2s,transform .2s}
.rail__btn:hover{background:var(--green);color:#06210d;transform:scale(1.06)}
.rail__btn svg{width:22px;height:22px}
.rail__btn--prev{left:calc(var(--pad) - 26px)}
.rail__btn--next{right:calc(var(--pad) - 26px)}
.rail__btn[disabled]{opacity:0;pointer-events:none}

/* ---------- dominion ---------- */
.dominion{position:relative;overflow:hidden;background:#0b0906;border-block:1px solid rgba(233,185,73,.18);padding-block:clamp(72px,10vw,150px)}
.dominion__glow{position:absolute;inset:0;background:radial-gradient(60% 70% at 78% 40%,rgba(233,185,73,.2),transparent 70%),radial-gradient(40% 50% at 10% 100%,rgba(233,120,40,.12),transparent 70%)}
.dominion__grid{position:relative;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(32px,6vw,96px);align-items:center}
.dominion__title{font-size:clamp(44px,7.6vw,118px);font-weight:800;letter-spacing:0;line-height:.9;background:linear-gradient(180deg,#fff7df 10%,var(--gold) 60%,#8a5a12 110%);-webkit-background-clip:text;background-clip:text;color:transparent}
.dominion__ribbon{display:inline-block;margin-top:18px;padding:7px 16px;background:var(--gold);color:#2a1c00;font-weight:700;font-size:13px;letter-spacing:.14em;text-transform:uppercase;border-radius:4px}
.dominion__lede{margin-top:26px;max-width:56ch;color:#d9cfb8;font-size:clamp(16px,1.3vw,18.5px)}
.dominion__meta{display:grid;gap:0;margin:32px 0 36px;border-top:1px solid rgba(233,185,73,.22)}
.dominion__meta div{display:grid;grid-template-columns:190px 1fr;gap:16px;padding:14px 0;border-bottom:1px solid rgba(233,185,73,.22)}
.dominion__meta dt{font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:#a8946a;padding-top:3px}
.dominion__meta dd{color:#fff7df;font-weight:500}
.poster{position:relative;aspect-ratio:2/3;max-width:420px;margin-inline:auto;border-radius:20px;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding:36px 28px;text-align:center;
  background:radial-gradient(90% 60% at 50% 18%,#f0a93a 0%,#8a4a12 38%,#1a0f06 78%);border:1px solid rgba(233,185,73,.4);box-shadow:0 60px 120px -40px rgba(233,150,40,.45),inset 0 0 120px rgba(0,0,0,.6);transform:rotate(2.5deg);transition:transform .6s var(--ease)}
.poster:hover{transform:rotate(0) scale(1.02)}
.poster__top{position:absolute;top:22px;right:22px;font-size:11px;font-weight:700;letter-spacing:.2em;padding:6px 10px;border:1px solid var(--gold-2);color:var(--gold-2);border-radius:4px}
.poster__d{position:absolute;top:6%;left:50%;transform:translateX(-50%);font-family:var(--serif);font-size:clamp(200px,26vw,340px);line-height:1;color:rgba(26,15,6,.55);mix-blend-mode:multiply}
.poster__name{position:relative;font-size:clamp(30px,3.6vw,46px);font-weight:800;letter-spacing:.14em;color:#fff7df}
.poster__line{width:56px;height:2px;background:var(--gold);margin:16px 0}
.poster__foot{position:relative;font-size:12px;letter-spacing:.08em;color:#e6d6ae}
.poster__foot b{color:var(--green);margin-left:2px}

/* ---------- event ---------- */
.event{padding-bottom:clamp(64px,9vw,120px)}
.event__grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(28px,5vw,80px);align-items:start}
.event__body p{color:var(--ink-2);font-size:clamp(16px,1.25vw,18px);max-width:62ch}
.event__body p+p{margin-top:16px}
.event__facts{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.event__facts li{flex:1 1 140px;padding:20px;border:1px solid var(--line);border-radius:var(--r);background:var(--bg-2);display:flex;flex-direction:column;gap:4px}
.event__facts b{font-size:34px;letter-spacing:-.04em;line-height:1;color:var(--green)}
.event__facts span{font-size:13.5px;color:var(--ink-3)}
.quote{padding:clamp(26px,3vw,44px);border-radius:24px;background:linear-gradient(150deg,var(--bg-3),var(--bg-2));border:1px solid var(--line-2)}
.quote svg{width:40px;color:var(--green);margin-bottom:20px}
.quote blockquote{font-family:var(--serif);font-size:clamp(24px,2.6vw,36px);line-height:1.25;letter-spacing:-.01em}
.quote figcaption{margin-top:24px;display:flex;flex-direction:column;font-size:14px;color:var(--ink-3)}
.quote figcaption b{color:var(--ink);font-size:16px}
.speakers{display:flex;flex-wrap:wrap;gap:10px;margin-top:40px}
.speakers span{padding:9px 16px;border:1px solid var(--line);border-radius:999px;font-size:14px;color:var(--ink-2)}

/* ---------- about ---------- */
.about{background:var(--bg-2);border-top:1px solid var(--line);padding-block:clamp(72px,10vw,140px)}
.about__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,6vw,96px)}
.about__title{font-size:clamp(34px,5vw,72px);letter-spacing:-.04em}
.about__title em{display:block}
.about__body p{color:var(--ink-2);font-size:clamp(16px,1.25vw,18px)}
.about__body p+p{margin-top:18px}
.founder{display:flex;align-items:center;gap:16px;margin-top:32px;padding-top:28px;border-top:1px solid var(--line)}
.founder__mark{flex:none;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;font-weight:700;color:#06210d;background:linear-gradient(135deg,var(--green-soft),var(--green-2))}
.founder div{display:flex;flex-direction:column}
.founder span{font-size:14px;color:var(--ink-3)}
.pillars{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:clamp(48px,7vw,96px)}
.pillar{padding:28px;border-radius:var(--r);border:1px solid var(--line);background:rgba(6,17,11,.5);transition:transform .4s var(--ease),border-color .3s,background .3s}
.pillar:hover{transform:translateY(-6px);border-color:rgba(126,217,87,.45);background:rgba(126,217,87,.06)}
.pillar>span{font-family:var(--serif);font-style:italic;font-size:22px;color:var(--green)}
.pillar h3{font-size:20px;margin:44px 0 10px;letter-spacing:-.02em}
.pillar p{font-size:14.5px;color:var(--ink-3);line-height:1.6}

/* ---------- press ---------- */
.press{padding-bottom:clamp(64px,9vw,120px)}
.press__list{border-top:1px solid var(--line)}
.press__item{display:grid;grid-template-columns:200px 1fr auto;gap:24px;align-items:baseline;padding:26px 0;border-bottom:1px solid var(--line);transition:padding .35s var(--ease),color .2s}
.press__src{font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}
.press__t{font-size:clamp(18px,2vw,28px);font-weight:500;letter-spacing:-.02em;line-height:1.3}
.press__arrow{font-size:22px;color:var(--ink-3);transition:transform .3s var(--ease),color .2s}
.press__item:hover{padding-left:14px;color:var(--green-soft)}
.press__item:hover .press__arrow{transform:translate(4px,-4px);color:var(--green)}

/* ---------- follow ---------- */
.follow{padding:0 var(--pad) clamp(40px,5vw,64px)}
.follow__inner{max-width:1312px;border-radius:32px;padding:clamp(36px,6vw,88px);background:radial-gradient(80% 120% at 100% 0%,#9be27a 0%,var(--green-2) 45%,#1f6b2a 100%);color:#04180a}
.follow h2{font-size:clamp(36px,6vw,88px);letter-spacing:-.045em}
.follow h2 em{color:#04180a;display:block}
.follow__links{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:clamp(32px,4vw,56px)}
.follow__links a{display:flex;flex-direction:column;gap:2px;padding:18px 20px;border-radius:16px;background:rgba(4,24,10,.12);border:1px solid rgba(4,24,10,.18);transition:background .25s,color .25s,transform .3s var(--ease)}
.follow__links a:hover{background:#04180a;color:var(--green-soft);transform:translateY(-4px)}
.follow__links b{font-size:17px}
.follow__links span{font-size:13px;opacity:.75;overflow:hidden;text-overflow:ellipsis}

/* ---------- footer ---------- */
.footer{padding-top:clamp(40px,5vw,72px)}
.footer__grid{display:grid;grid-template-columns:1.4fr 1fr .8fr 1fr;gap:40px;padding-bottom:56px}
.footer__tag{font-family:var(--serif);font-style:italic;color:var(--ink-3);margin-top:12px;font-size:17px}
.footer h4{font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);font-weight:600;margin-bottom:16px}
.footer p{color:var(--ink-2);font-size:15px;line-height:1.9}
.footer p+p{margin-top:10px}
.footer p a:hover{color:var(--green)}
.footer .btn{margin-top:16px}
.footer__base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;padding-block:24px;border-top:1px solid var(--line);font-size:13px;color:var(--ink-3)}

/* ---------- player ---------- */
.player{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:clamp(12px,4vw,56px);background:rgba(2,8,5,.9);backdrop-filter:blur(14px);animation:fade .25s}
.player[hidden]{display:none}
@keyframes fade{from{opacity:0}}
.player__box{width:min(1180px,100%,calc((100svh - 190px) * 16 / 9));animation:rise .4s var(--ease)}
@keyframes rise{from{transform:translateY(24px) scale(.97);opacity:0}}
.player__frame{aspect-ratio:16/9;border-radius:var(--r);overflow:hidden;background:#000;box-shadow:0 50px 140px -30px rgba(126,217,87,.28);border:1px solid var(--line-2)}
.player__frame iframe{width:100%;height:100%;border:0;display:block}
.player__bar{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-top:16px}
.player__bar p{font-weight:500;line-height:1.4}
.player__bar a{flex:none;font-size:14px;color:var(--green);font-weight:600}
.player__close{position:absolute;top:16px;right:20px;width:48px;height:48px;border-radius:50%;font-size:28px;line-height:1;border:1px solid var(--line-2);background:rgba(255,255,255,.06)}
.player__close:hover{background:var(--green);color:#06210d}

/* ---------- reveal ---------- */
.js .reveal{opacity:0;transform:translateY(28px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.js .reveal.is-in{opacity:1;transform:none}

/* ---------- responsive ---------- */
@media (max-width:1080px){
  .nav__links{position:fixed;inset:76px 0 auto;flex-direction:column;gap:0;margin:0;padding:12px var(--pad) 24px;background:rgba(6,17,11,.97);backdrop-filter:blur(18px);border-bottom:1px solid var(--line);transform:translateY(-12px);opacity:0;pointer-events:none;transition:opacity .25s,transform .3s var(--ease)}
  .nav__links.is-open{opacity:1;transform:none;pointer-events:auto}
  .nav__links a{padding:14px 4px;font-size:20px;border-radius:0;border-bottom:1px solid var(--line);color:var(--ink)}
  .burger{display:block}
  .creds__grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .stat:nth-child(4){padding-left:0;border-left:0}
  .stat:nth-child(n+4){border-top:1px solid var(--line)}
  .pillars{grid-template-columns:repeat(2,minmax(0,1fr))}
  .follow__links{grid-template-columns:repeat(3,minmax(0,1fr))}
  .footer__grid{grid-template-columns:1fr 1fr}
}
@media (max-width:820px){
  .dominion__grid,.event__grid,.about__grid{grid-template-columns:minmax(0,1fr)}
  .dominion__poster{order:-1}
  .poster{max-width:260px}
  .hero__shade{background:linear-gradient(0deg,var(--bg) 0%,rgba(6,17,11,.88) 45%,rgba(6,17,11,.45) 100%)}
  .hero__picks{grid-template-columns:repeat(4,38vw);overflow-x:auto;margin-inline:calc(var(--pad) * -1);padding-inline:var(--pad);scrollbar-width:none;max-width:none}
  .dominion__title{font-size:clamp(44px,14vw,96px)}
  .rail__btn{display:none}
  .press__item{grid-template-columns:1fr auto;gap:6px 16px}
  .press__src{grid-column:1/-1}
  .dominion__meta div{grid-template-columns:1fr;gap:2px}
}
@media (max-width:560px){
  .nav{height:64px;gap:12px}
  .nav__links{inset:64px 0 auto}
  .logo{font-size:22px}
  .logo img{height:40px;margin-top:-6px}
  .logo--lg img{height:60px;margin-top:0}
  .nav__right .btn{display:none}
  .hero{padding-top:110px}
  .btn{height:50px;padding:0 22px;font-size:15px}
  .hero__cta .btn{flex:1 1 auto}
  .creds__grid{grid-template-columns:1fr 1fr}
  .stat{padding:22px 12px 22px 0}
  .stat+.stat{padding-left:16px}
  .stat:nth-child(odd){padding-left:0;border-left:0}
  .stat:nth-child(4){padding-left:16px;border-left:1px solid var(--line)}
  .stat:nth-child(n+3){border-top:1px solid var(--line)}
  .stat:last-child{grid-column:1/-1}
  .card{flex-basis:76vw}
  .pillars{grid-template-columns:1fr}
  .pillar h3{margin-top:20px}
  .follow{padding-inline:12px}
  .follow__inner{border-radius:24px}
  .follow__links{grid-template-columns:1fr 1fr}
  .footer__grid{grid-template-columns:1fr;gap:32px}
  .player__bar{flex-direction:column;gap:8px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .js .reveal{opacity:1;transform:none}
}

/* ================= Tin tức & bài viết ================= */
.nav.is-solid{background:rgba(6,17,11,.82);backdrop-filter:blur(18px) saturate(1.4);border-color:var(--line)}
.inner main{padding-top:76px}
.sec-head--row{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap}
.homenews{padding-bottom:clamp(8px,2vw,24px)}

.news__list{border-top:1px solid var(--line)}
.news__item{display:grid;grid-template-columns:150px minmax(0,1fr) auto;gap:8px 32px;align-items:start;padding:30px 0;border-bottom:1px solid var(--line);transition:padding .35s var(--ease),background .3s}
.news__item:has(.news__n){grid-template-columns:56px 150px minmax(0,1fr) auto}
.news__n{font-family:var(--serif);font-style:italic;font-size:22px;color:var(--green);line-height:1.5}
.news__meta{display:flex;flex-direction:column;gap:8px;align-items:flex-start;font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);padding-top:6px}
.news__vid{font-size:10.5px;letter-spacing:.1em;padding:3px 8px;border-radius:5px;color:var(--green);border:1px solid rgba(126,217,87,.4);background:rgba(126,217,87,.1)}
.news__body{display:flex;flex-direction:column;gap:10px}
.news__t{font-size:clamp(19px,2vw,28px);font-weight:600;letter-spacing:-.02em;line-height:1.28;text-wrap:balance;transition:color .2s}
.news__l{color:var(--ink-3);font-size:15px;line-height:1.6;max-width:78ch;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.news__item .press__arrow{padding-top:4px}
.news__item:hover{padding-left:14px}
.news__item:hover .news__t{color:var(--green-soft)}
.news__item:hover .press__arrow{transform:translateX(6px);color:var(--green)}

.newshead{padding-top:clamp(56px,8vw,110px);padding-bottom:clamp(36px,5vw,64px)}
.newshead__t{font-size:clamp(40px,7vw,104px);font-weight:800;letter-spacing:-.045em;line-height:1}
.newshead__t em{display:block}
.newshead__l{margin-top:22px;color:var(--ink-2);font-size:clamp(16px,1.3vw,19px);max-width:56ch}
.news{padding-bottom:clamp(64px,9vw,120px)}

.post__head{max-width:1040px;padding-top:clamp(48px,7vw,100px);padding-bottom:clamp(28px,4vw,48px)}
.post__head .kicker a:hover{text-decoration:underline}
.post__title{font-size:clamp(32px,5vw,68px);letter-spacing:-.04em;line-height:1.06}
.post__lead{margin-top:26px;font-family:var(--serif);font-size:clamp(19px,1.9vw,26px);line-height:1.45;color:var(--green-soft);max-width:44em}
.post__by{display:flex;align-items:center;gap:14px;margin-top:32px}
.post__by .founder__mark{width:46px;height:46px;font-size:14px}
.post__by>span:last-child{display:flex;flex-direction:column;line-height:1.35}
.post__by>span:last-child span{font-size:13.5px;color:var(--ink-3)}
.post__wrap{max-width:1040px;padding-bottom:clamp(48px,7vw,96px)}
.post__note{font-size:13.5px;color:var(--ink-3);padding:12px 16px;border:1px dashed var(--line-2);border-radius:var(--r-sm);max-width:760px;margin-bottom:36px}
.post__back{margin-top:48px}
.vcover{position:relative;display:block;width:100%;aspect-ratio:16/9;border-radius:24px;overflow:hidden;border:1px solid var(--line-2);margin-bottom:36px;background:var(--bg-3)}
.vcover img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.vcover:hover img{transform:scale(1.04)}
.vcover__play{position:absolute;inset:0;margin:auto;width:88px;height:88px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:#06210d;box-shadow:0 20px 60px -10px rgba(126,217,87,.7);transition:transform .3s var(--ease)}
.vcover:hover .vcover__play{transform:scale(1.1)}
.vcover__play svg{width:36px;height:36px;margin-left:4px}

.prose{max-width:760px;font-size:clamp(17px,1.2vw,18.5px);line-height:1.8;color:#d3e0d0}
.prose>*+*{margin-top:1.2em}
.prose h3{font-size:1.45em;line-height:1.25;color:var(--ink);margin-top:2em;letter-spacing:-.02em}
.prose strong,.prose b{color:var(--ink);font-weight:600}
.prose em{font-family:inherit;color:inherit}
.prose a{color:var(--green);text-decoration:underline;text-underline-offset:3px;word-break:break-word}
.prose ul,.prose ol{padding-left:1.3em}
.prose li+li{margin-top:.5em}
.prose li::marker{color:var(--green)}
.prose blockquote{padding-left:1.2em;border-left:3px solid var(--green);font-family:var(--serif);font-size:1.15em;color:var(--ink)}
.more{padding-bottom:clamp(56px,8vw,110px)}
.more .sec-head{padding-top:0}

/* ================= Trang phụ ================= */
.gap{height:clamp(56px,8vw,110px)}
.about__more{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.inner .newshead__l{max-width:70ch}
.pillars--flat{margin-top:0;padding-inline:0;max-width:none}
.pillars--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.people{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}
.person{display:grid;grid-template-columns:52px minmax(0,1fr);gap:4px 16px;align-items:center;padding:20px;border:1px solid var(--line);border-radius:var(--r);background:var(--bg-2);transition:border-color .3s,transform .35s var(--ease)}
.person:hover{border-color:rgba(126,217,87,.45);transform:translateY(-4px)}
.person .founder__mark{grid-row:1/3;width:52px;height:52px;font-size:15px}
.person b{font-size:17px;align-self:end;letter-spacing:-.01em}
.person>span:last-child{font-size:13.5px;color:var(--ink-3);line-height:1.4;align-self:start}
.timeline{list-style:none;padding:0;border-top:1px solid var(--line)}
.timeline li{display:grid;grid-template-columns:150px minmax(0,1fr);gap:24px;align-items:baseline;padding:22px 0;border-bottom:1px solid var(--line)}
.timeline b{font-family:var(--serif);font-style:italic;font-weight:400;font-size:clamp(24px,2.6vw,36px);color:var(--green)}
.timeline span{font-size:clamp(16px,1.5vw,21px);color:var(--ink);line-height:1.45}
.vgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,270px),1fr));gap:30px 18px}
.card--grid{flex:none;width:100%}
.card__dur{position:absolute;right:10px;bottom:10px;z-index:1;font-size:12px;font-weight:600;padding:3px 8px;border-radius:6px;background:rgba(6,17,11,.82);color:var(--ink)}
.podmore{display:flex;flex-wrap:wrap;gap:12px;margin-top:clamp(36px,5vw,64px)}
.logos{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}
.logo-tile{min-height:132px;padding:22px;display:flex;flex-direction:column;justify-content:space-between;gap:14px;border:1px solid var(--line);border-radius:var(--r);background:linear-gradient(150deg,var(--bg-3),var(--bg-2))}
.logo-tile b{font-size:clamp(20px,2vw,27px);letter-spacing:-.03em;line-height:1.1}
.logo-tile span{font-size:13.5px;color:var(--ink-3)}
.lt{margin:0;display:flex;flex-direction:column;gap:12px}
.lt__img{position:relative;display:block;aspect-ratio:3/2;border-radius:var(--r);background:#fff;border:1px solid var(--line);overflow:hidden;transition:transform .35s var(--ease),box-shadow .35s}
.lt__img img{position:absolute;inset:13% 12%;width:76%;height:74%;max-width:none;object-fit:contain}
.lt__img--dark{background:#141a2e}
.lt:hover .lt__img{transform:translateY(-4px);box-shadow:0 18px 40px -18px rgba(126,217,87,.55)}
.lt figcaption{display:flex;flex-direction:column;gap:2px;font-size:13.5px;color:var(--ink-3);line-height:1.35}
.lt figcaption b{font-size:15px;font-weight:600;color:var(--ink);letter-spacing:-.01em}
.lt-group{display:flex;align-items:baseline;gap:10px;font-size:14px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);margin:38px 0 16px;padding-top:22px;border-top:1px solid var(--line)}
.lt-group:first-of-type{margin-top:0}
.lt-group i{font-style:normal;font-size:12px;color:var(--green);letter-spacing:0}
.logowall{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:22px 14px}
.logowall--sm{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:18px 12px}
.logowall--sm .lt__img img{inset:9% 8%;width:84%;height:82%}
.logowall--sm figcaption b{font-size:13px;font-weight:500;color:var(--ink-2)}
.lt-src{margin-top:28px}
@media (max-width:560px){.logowall,.logowall--sm{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 8px}.logos{grid-template-columns:1fr 1fr}.logowall figcaption b{font-size:12px}}
.cform{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;max-width:980px;padding:clamp(20px,3vw,36px);border:1px solid var(--line-2);border-radius:24px;background:var(--bg-2)}
.cform label{display:flex;flex-direction:column;gap:8px;font-size:13.5px;font-weight:600;color:var(--ink-2)}
.cform__wide{grid-column:1/-1}
.cform input,.cform textarea{width:100%;font:inherit;font-weight:400;font-size:16px;color:var(--ink);background:var(--bg);border:1px solid var(--line-2);border-radius:var(--r-sm);padding:13px 14px;resize:vertical}
.cform input:focus,.cform textarea:focus{outline:2px solid var(--green);outline-offset:1px;border-color:transparent}
.cform .btn{justify-self:start}

/* ================= Hệ chữ: Newsreader (tiêu đề, bài đọc) + Be Vietnam Pro (giao diện) =================
   Muốn quay lại tiêu đề sans đậm: xoá khối này và đổi --serif ở đầu tệp. */
h1,h2,.news__t,.press__t,.prose h3{font-family:var(--serif);font-weight:500;letter-spacing:-.022em;font-optical-sizing:auto}
h1 em,h2 em{letter-spacing:-.02em}
.hero__title{font-size:clamp(46px,7.6vw,120px);font-weight:500;letter-spacing:-.032em;line-height:.97;max-width:17ch}
.hero__title em{letter-spacing:-.028em}
.sec-head h2{font-size:clamp(33px,4.5vw,64px);line-height:1.04}
.newshead__t{font-size:clamp(44px,7.6vw,116px);font-weight:500;letter-spacing:-.032em;line-height:.98}
.about__title{font-size:clamp(38px,5.6vw,82px);letter-spacing:-.03em;line-height:1.02}
.follow h2{font-size:clamp(40px,6.6vw,98px);letter-spacing:-.032em;line-height:1}
.post__title{font-size:clamp(35px,5.4vw,76px);letter-spacing:-.028em;line-height:1.04}
.dominion__title{font-family:var(--sans);font-weight:800;letter-spacing:0}
.news__t{font-size:clamp(21px,2.25vw,32px);line-height:1.2}
.press__t{font-size:clamp(20px,2.25vw,32px);line-height:1.22}
.prose{font-family:var(--serif);font-size:clamp(19px,1.35vw,21px);line-height:1.72;color:#dbe6d8}
.prose h3{font-size:1.5em;font-weight:500}
.prose strong,.prose b{font-weight:600}
.post__lead{line-height:1.38}
.quote blockquote{font-weight:400;line-height:1.2}
.timeline span{font-family:var(--serif);font-size:clamp(19px,1.8vw,26px);line-height:1.35}
.footer__tag{font-size:19px}

@media (max-width:820px){
  .pillars--3{grid-template-columns:1fr}
  .timeline li{grid-template-columns:1fr;gap:4px}
  .cform{grid-template-columns:1fr}
  .news__item,.news__item:has(.news__n){grid-template-columns:minmax(0,1fr) auto;gap:10px 16px;padding:24px 0}
  .news__n{display:none}
  .news__meta{grid-column:1/-1;flex-direction:row;align-items:center;padding-top:0}
}
@media (max-width:560px){.inner main{padding-top:64px}.vcover{border-radius:16px}.vcover__play{width:64px;height:64px}}

/* ================= Tinh chỉnh: chiều sâu nền, tương phản, nhịp trang ================= */
:root{--ink-2:#c2d2c1;--ink-3:#95aa96}
/* quầng sáng nền cố định + lớp hạt mịn */
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:
  radial-gradient(62vw 54vh at 88% 6%,rgba(126,217,87,.11),transparent 70%),
  radial-gradient(54vw 62vh at -4% 58%,rgba(79,174,74,.10),transparent 70%),
  radial-gradient(60vw 50vh at 92% 104%,rgba(233,185,73,.06),transparent 70%)}
body::after{content:"";position:fixed;inset:0;z-index:45;pointer-events:none;opacity:.05;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
/* đổi tông xen kẽ giữa các phần */
.event,.press{position:relative;border-top:1px solid var(--line);background:linear-gradient(180deg,rgba(18,42,28,.62) 0%,rgba(6,17,11,0) 78%)}
.event::before,.press::before,.about::before{content:"";position:absolute;left:var(--pad);right:var(--pad);top:-1px;height:1px;background:linear-gradient(90deg,rgba(126,217,87,.7),rgba(126,217,87,0) 46%)}
.about{position:relative;background:linear-gradient(160deg,#0f2318 0%,var(--bg-2) 55%,#0a1811 100%)}
.creds{background:linear-gradient(180deg,rgba(18,42,28,.72),rgba(6,17,11,.2))}
.pillar{background:linear-gradient(160deg,rgba(18,42,28,.55),rgba(6,17,11,.5))}
.quote{background:linear-gradient(150deg,#163222,var(--bg-2));box-shadow:0 40px 90px -50px rgba(126,217,87,.45)}
.newshead{position:relative}
.newshead::before{content:"";position:absolute;z-index:-1;left:-10%;top:-76px;width:70%;height:130%;pointer-events:none;background:radial-gradient(closest-side,rgba(126,217,87,.13),transparent)}
/* số liệu cùng họ chữ với tiêu đề */
.stat b,.event__facts b{font-family:var(--serif);font-weight:500;letter-spacing:-.025em}
.stat b{font-size:clamp(32px,3.6vw,54px)}
.stat--text b{font-size:clamp(25px,2.6vw,38px);padding-top:.25em}
.event__facts b{font-size:38px;white-space:nowrap}
.event__facts li{flex-basis:160px}
/* khối xanh cuối trang: ô tối, chữ sáng */
.follow__links a{background:#062310;color:#eef9ea;border-color:transparent}
.follow__links span{opacity:1;color:#b9e6a3}
.follow__links a:hover{background:#fff;color:#04180a}
.follow__links a:hover span{color:#1f6b2a}
/* dòng nghiêng xanh chỉ dành cho tiêu đề chính của trang */
.about__title em{font-style:normal;color:inherit;letter-spacing:inherit}
/* nhịp dọc gọn hơn */
.sec-head{padding-top:clamp(56px,7vw,96px)}
.sec-head--sub{padding-top:clamp(40px,5vw,68px)}
.news__l{color:var(--ink-2)}
@media (prefers-reduced-motion:reduce){body::after{display:none}}

/* ================= Bài viết có hình ================= */
.prose{max-width:1040px}
.prose>:not(figure):not(.figgrid){max-width:760px}
.prose figure{margin:2em 0 0;max-width:920px}
.prose figure img{width:100%;height:auto;border-radius:14px;background:var(--bg-3)}
.prose figcaption{margin-top:10px;font-family:var(--sans);font-size:13.5px;line-height:1.5;color:var(--ink-2);max-width:70ch}
.prose figcaption .credit{color:var(--ink-3);white-space:nowrap}
.prose .figgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 16px;margin-top:2em}
.prose .figgrid figure{margin:0;max-width:none}
.prose .figgrid figure:first-child:nth-last-child(odd){grid-column:1/-1}
.prose .figgrid+*,.prose figure+*{margin-top:2em}
.news__item--pic{grid-template-columns:150px minmax(0,1fr) clamp(140px,17vw,240px)}
.news__item--pic:has(.news__n){grid-template-columns:56px 150px minmax(0,1fr) clamp(140px,17vw,240px)}
.news__thumb{aspect-ratio:3/2;border-radius:12px;overflow:hidden;background:var(--bg-3);border:1px solid var(--line)}
.news__thumb img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.news__item--pic:hover .news__thumb img{transform:scale(1.05)}
@media (max-width:820px){
  .prose .figgrid{grid-template-columns:1fr}
  .news__item--pic,.news__item--pic:has(.news__n){grid-template-columns:minmax(0,1fr) 108px}
}

/* ================= Video nền hero ================= */
.hero__vid{position:absolute;inset:0;z-index:-2;overflow:hidden;opacity:0;transition:opacity 1.4s ease;pointer-events:none;background:#000}
.hero__vid.is-on{opacity:1}
.hero__vid>*{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border:0;width:120%;height:120%}
.pick.is-on .pick__bar{animation-duration:var(--hero-dur,8s)}

/* ================= Logo nhà tài trợ: một màu, rê chuột hiện màu gốc ================= */
/* lọc cả ô (không chỉ ảnh) để nền trắng của ảnh JPG hoà với nền ô */
.lt__img{filter:grayscale(1) brightness(.9) contrast(1.04);transition:filter .35s ease,transform .35s var(--ease),box-shadow .35s}
.lt:hover .lt__img,.lt:active .lt__img,.lt:focus-within .lt__img{filter:none}

/* ======== Hình dọc trong bài viết ================= */
.prose figure.tall{max-width:520px}
.prose .figgrid--tall{grid-template-columns:repeat(3,minmax(0,1fr))}
.prose .figgrid--tall figure:first-child:nth-last-child(odd){grid-column:auto}
@media (max-width:820px){.prose .figgrid--tall{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px}}

/* ======== Mạng lưới hợp tác (trang chủ): logo màu gốc trên ô trắng ================= */
.allies{padding-block:clamp(48px,6.5vw,92px) clamp(8px,2vw,24px)}
.allies__head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px 28px;margin-bottom:clamp(22px,3vw,36px)}
.allies__head h2{font-family:var(--serif);font-weight:500;font-size:clamp(26px,3.2vw,40px);line-height:1.12;letter-spacing:-.015em;margin:6px 0 0;max-width:22ch}
.allies__grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:26px 16px}
.ally{margin:0;display:flex;flex-direction:column;gap:12px}
.ally__img{position:relative;display:block;aspect-ratio:3/2;border-radius:var(--r);background:#fff;border:1px solid var(--line);overflow:hidden;transition:transform .35s var(--ease),box-shadow .35s}
.ally__img img{position:absolute;inset:13% 12%;width:76%;height:74%;max-width:none;object-fit:contain}
.ally:hover .ally__img{transform:translateY(-4px);box-shadow:0 18px 40px -18px rgba(126,217,87,.55)}
.ally figcaption{display:flex;flex-direction:column;gap:2px;font-size:13px;color:var(--ink-3);line-height:1.35}
.ally figcaption b{font-size:14.5px;font-weight:600;color:var(--ink);letter-spacing:-.01em}
.logowall--color .lt__img{filter:none}
@media (max-width:900px){.allies__grid{gap:20px 10px}.ally figcaption span{display:none}.ally figcaption b{font-size:12.5px;font-weight:500;color:var(--ink-2)}}
@media (max-width:560px){.allies__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px}.ally figcaption b{font-size:13.5px}}

/* ======== Dải nhà tài trợ chạy ngang (trang chủ) ================= */
.spons{margin-top:clamp(40px,5.5vw,76px);padding-block:clamp(28px,3.6vw,44px) clamp(30px,4vw,52px);border-block:1px solid var(--line);background:linear-gradient(180deg,rgba(15,35,24,.55),rgba(6,17,11,0) 70%)}
.spons__head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:14px 28px;margin-bottom:clamp(20px,2.6vw,30px)}
.spons__head h3{font-family:var(--serif);font-weight:500;font-size:clamp(21px,2.3vw,29px);line-height:1.15;letter-spacing:-.012em;margin:6px 0 0}
.mq{--gap:14px;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.mq+.mq{margin-top:14px}
.mq__track{display:flex;width:max-content;animation:mq var(--d,80s) linear infinite;will-change:transform}
.mq--rev .mq__track{animation-direction:reverse}
.mq:hover .mq__track,.mq:focus-within .mq__track{animation-play-state:paused}
.mq__grp{display:flex;flex:none}
.mq__it{flex:none;position:relative;width:132px;height:74px;margin-right:var(--gap);border-radius:14px;background:#fff;border:1px solid var(--line);overflow:hidden;transition:transform .3s var(--ease),box-shadow .3s}
.mq__it img{position:absolute;inset:14% 12%;width:76%;height:72%;max-width:none;object-fit:contain}
.mq__it--dark{background:#141a2e}
.mq__it:hover{transform:translateY(-3px) scale(1.04);box-shadow:0 14px 30px -14px rgba(126,217,87,.6)}
.mq--lg{--gap:18px;padding-block:6px}
.mq--lg .mq__it{width:188px;height:104px;border-radius:18px}
.mq--rev{padding-block:6px}
@keyframes mq{to{transform:translate3d(-50%,0,0)}}
@media (max-width:640px){.mq--lg .mq__it{width:148px;height:84px}.mq__it{width:112px;height:64px}}
@media (prefers-reduced-motion:reduce){.mq__track{animation:none}.mq{overflow-x:auto;-webkit-mask-image:none;mask-image:none}.mq__grp[aria-hidden]{display:none}}

/* Mạng lưới hợp tác: hàng cuối canh giữa khi số logo không chia hết */
.allies__grid{display:flex;flex-wrap:wrap;justify-content:center;gap:26px 16px}
.ally{flex:0 0 calc((100% - 64px)/5);min-width:0}
.allies__head h2{max-width:26ch}
@media (max-width:900px){.allies__grid{gap:20px 10px}.ally{flex-basis:calc((100% - 40px)/5)}}
@media (max-width:560px){.allies__grid{gap:18px 12px}.ally{flex-basis:calc((100% - 12px)/2)}}

/* ======== Tin Green Business Matching ================= */
.news__tag{color:#06110b;background:var(--green);border-color:var(--green)}
.spons__cta{display:flex;flex-wrap:wrap;gap:10px;margin:0}
.spons__note{margin:-8px auto clamp(18px,2.4vw,26px);font-size:14.5px;color:var(--ink-2)}
.post__note--gbm{border-style:solid;border-color:rgba(126,217,87,.35);background:rgba(126,217,87,.06);color:var(--ink-2);line-height:1.6}
.post__note--gbm b{color:var(--green-soft,#b6f09a);font-weight:600}
.post__note--gbm a{color:var(--green);white-space:nowrap}
.gbmnews{padding-block:clamp(40px,5vw,72px)}
.gcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:30px 18px;margin-top:clamp(20px,3vw,34px)}
.gcard{display:flex;flex-direction:column;gap:8px;color:inherit;text-decoration:none}
.gcard__img{position:relative;display:block;aspect-ratio:4/3;border-radius:14px;overflow:hidden;background:var(--bg-3);border:1px solid var(--line)}
.gcard__img img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.gcard__img i{position:absolute;left:10px;top:10px;font-style:normal;font-size:11px;font-weight:600;letter-spacing:.08em;padding:3px 8px;border-radius:6px;color:#06110b;background:var(--green)}
.gcard b{font-family:var(--serif);font-weight:500;font-size:20px;line-height:1.2;color:var(--ink);margin-top:4px}
.gcard__l{font-size:14px;line-height:1.45;color:var(--ink-3);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.gcard:hover img{transform:scale(1.05)}
.gcard:hover b{color:var(--green-soft,#b6f09a)}
@media (max-width:560px){.gcards{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 12px}.gcard b{font-size:17px}.gcard__l{-webkit-line-clamp:2;font-size:13px}}
/* khối riêng của bài GBM */
.prose .post__org{font-family:var(--sans);font-size:14px;letter-spacing:.02em;color:var(--green-soft,#b6f09a);margin-top:1.4em}
.prose .post__src{font-family:var(--sans);font-size:13.5px;line-height:1.6;color:var(--ink-3);margin-top:1.6em}
.prose figure.who{display:grid;grid-template-columns:150px minmax(0,1fr);gap:20px;align-items:center;max-width:760px;padding:16px;border:1px solid var(--line-2);border-radius:18px;background:linear-gradient(150deg,var(--bg-3),var(--bg-2))}
.prose figure.who img{width:150px;height:188px;max-width:none !important;object-fit:cover;border-radius:12px}
.prose figure.who figcaption{margin:0;max-width:none;display:flex;flex-direction:column;gap:6px}
.prose figure.who b{font-family:var(--serif);font-weight:500;font-size:22px;color:var(--ink)}
.prose figure.who q{font-family:var(--serif);font-style:italic;font-size:17px;line-height:1.5;color:var(--ink);quotes:"“" "”"}
.prose figure.duo>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.prose figure.vid{max-width:760px}
.prose figure.vid video{width:100%;aspect-ratio:16/9;display:block;border-radius:14px;background:#04100a}
.prose--gbm .figgrid figcaption{font-size:13px}
@media (max-width:640px){.prose figure.who{grid-template-columns:104px minmax(0,1fr);gap:14px;padding:12px}.prose figure.who img{width:104px;height:130px}.prose figure.who b{font-size:18px}.prose figure.who q{font-size:15px}}

/* ======== Tinh gọn trang chủ (11/2026): lưới đối tác nhỏ lại, logo cân diện tích, báo chí 2 cột ================= */
.allies{padding-block:clamp(40px,5vw,72px) clamp(8px,2vw,24px)}
.allies__grid{gap:18px 12px}
.ally{flex:0 0 calc((100% - 84px)/8);gap:8px}
.ally__img{border-radius:14px}
.ally__img img{inset:auto;left:50%;top:50%;transform:translate(-50%,-50%);width:var(--w,76%);height:auto;max-width:78%;max-height:76%;object-fit:contain}
.ally figcaption span{display:none}
.ally figcaption b{font-size:12.5px;font-weight:500;color:var(--ink-2);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.spons{margin-top:clamp(32px,4vw,56px)}
@media (max-width:1100px){.ally{flex-basis:calc((100% - 48px)/5)}}
@media (max-width:900px){.allies__grid{gap:16px 10px}.ally{flex-basis:calc((100% - 40px)/5)}.ally figcaption b{font-size:11.5px}}
@media (max-width:560px){.allies__grid{gap:14px 10px}.ally{flex-basis:calc((100% - 20px)/3)}.ally figcaption b{font-size:11.5px}}
.stat--text b{white-space:nowrap;font-size:clamp(21px,2.15vw,32px)}
.event__cta{display:flex;flex-wrap:wrap;gap:10px;margin:28px 0 0}
.homenews{padding-bottom:clamp(24px,3vw,44px)}
.press{padding-block:clamp(48px,6vw,84px)}
.press__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(28px,4vw,64px)}
.press__item{grid-template-columns:minmax(0,1fr) auto;gap:6px 16px;padding:20px 0;align-items:start}
.press__src{grid-column:1/-1}
.press__t{font-size:clamp(17px,1.45vw,21px);line-height:1.3}
@media (max-width:760px){.press__list{grid-template-columns:1fr}}
.ally figcaption b{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.25;text-wrap:balance}
@media (max-width:560px){.event__facts li{flex:1 1 90px;padding:14px 12px}.event__facts b{font-size:26px}}
@media (max-width:560px){.ally figcaption b{-webkit-line-clamp:3}}

/* =====================================================================================
   HƯỚNG B · DIỆP LỤC (11/2026)
   Font tiêu đề Bricolage Grotesque (biến thiên), nhãn JetBrains Mono, chữ thường Be Vietnam Pro.
   Nền tối, dải màu chanh → ngọc. Khối này đè lên các lớp phía trên; muốn quay lại giao diện cũ chỉ cần bỏ khối này.
   ===================================================================================== */
:root{
  --bg:#040907; --bg-2:#0a1411; --bg-3:#0f1d18;
  --line:rgba(198,255,74,.14); --line-2:rgba(198,255,74,.26);
  --ink:#ecfff4; --ink-2:#a9c4b6; --ink-3:#6d8579;
  --green:#c6ff4a; --green-2:#3ff0c0; --green-soft:#dcff9a;
  --grad:linear-gradient(100deg,#c6ff4a,#3ff0c0);
  --glass:rgba(236,255,244,.05);
  --serif:"Bricolage Grotesque","Be Vietnam Pro",system-ui,sans-serif; /* giữ tên biến cũ: nay là font tiêu đề */
  --mono:"JetBrains Mono",ui-monospace,Consolas,monospace;
  --r:16px;
}
body::before{background:
  radial-gradient(60vw 52vh at 86% -6%,rgba(198,255,74,.13),transparent 70%),
  radial-gradient(50vw 60vh at -6% 54%,rgba(63,240,192,.09),transparent 70%),
  radial-gradient(60vw 50vh at 94% 106%,rgba(198,255,74,.06),transparent 70%)}

/* ---- chữ ---- */
h1,h2,h3,.news__t,.press__t,.gcard b,.stat b,.event__facts b,.tile b,.card__title,.quote blockquote{font-family:var(--serif);font-optical-sizing:auto}
h1,h2,.news__t,.press__t,.prose h3,.post__title{font-weight:700;letter-spacing:-.035em;font-variation-settings:"wdth" 86}
h3{font-weight:650;letter-spacing:-.02em;font-variation-settings:"wdth" 90}
em{font-family:inherit;font-style:normal;font-weight:inherit;color:inherit}
h1 em,h2 em{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.prose em,.prose i{font-style:italic}
.kicker,.eyebrow,.news__meta,.news__vid,.card__dur,.card__views,.tag,.lt-group,.press__src,.lang,.post__org{font-family:var(--mono)}
.kicker{font-size:12px;letter-spacing:.1em}
.sec-head h2{font-size:clamp(34px,4.8vw,72px);line-height:.98}
.newshead__t{font-weight:700;letter-spacing:-.045em;line-height:.96}
.post__title{font-size:clamp(34px,5vw,72px);line-height:1.02}
.post__lead{font-family:var(--sans)}
.prose{font-family:var(--sans);font-size:clamp(17px,1.2vw,18.5px);line-height:1.8;color:#d5e8dc}
.prose h3{font-size:1.6em;line-height:1.12}
.prose figure.who q{font-style:normal}
.quote blockquote{font-style:normal;font-weight:600;letter-spacing:-.02em;font-variation-settings:"wdth" 90}

/* ---- nút, thanh menu ---- */
.btn{border-radius:14px}
.btn--primary,.btn--primary:hover{background:var(--grad);color:#04140c}
.btn--primary{box-shadow:0 10px 40px -12px rgba(198,255,74,.6)}
.btn--primary:hover{box-shadow:0 16px 48px -10px rgba(63,240,192,.75)}
.btn--ghost{border:1px solid var(--line-2);background:var(--glass);backdrop-filter:blur(10px)}
.btn--ghost:hover{border-color:var(--green)}
.nav.is-stuck,.nav.is-solid{background:rgba(4,9,7,.8)}
.lang{font-size:12px;border-radius:12px}
@media (min-width:1081px){
  .nav__links{flex:none;gap:2px;padding:5px;border:1px solid var(--line);border-radius:999px;background:var(--glass);backdrop-filter:blur(14px)}
  .nav__links a{padding:8px 15px;border-radius:999px;white-space:nowrap}
  .nav__right{flex:none}
  .nav__links a:hover{background:rgba(198,255,74,.12);color:var(--ink)}
}

/* ---- hero: tiêu đề co giãn theo nhịp ---- */
.hero__title{font-size:clamp(44px,6.9vw,112px);font-weight:700;letter-spacing:-.045em;line-height:.98;max-width:none;font-variation-settings:"wdth" 84}
.hero__title span,.hero__title em{display:block}
.hero__title em{font-weight:700;letter-spacing:-.045em}
@keyframes kinetic{0%,100%{font-variation-settings:"wdth" 78;font-weight:380}45%,62%{font-variation-settings:"wdth" 96;font-weight:800}}
@media (min-width:900px) and (prefers-reduced-motion:no-preference){
  .hero__title span,.hero__title em{white-space:nowrap;animation:kinetic 6s ease-in-out infinite}
  .hero__title em{animation-delay:.55s}
}
.eyebrow{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--green)}
.hero__shade::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.45;
  background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:72px 72px;
  -webkit-mask-image:radial-gradient(70% 70% at 78% 30%,#000,transparent 75%);mask-image:radial-gradient(70% 70% at 78% 30%,#000,transparent 75%)}

/* ---- dải số liệu chạy ---- */
.creds{overflow:hidden;border-block:1px solid var(--line);background:rgba(10,20,17,.62);backdrop-filter:blur(8px)}
.creds__track{display:flex;width:max-content;animation:mq 46s linear infinite}
.creds:hover .creds__track{animation-play-state:paused}
.creds__grid{display:flex;flex:none;grid-template-columns:none;width:auto;margin:0;padding:0}
.creds .stat,.creds .stat+.stat{flex:none;flex-direction:row;align-items:baseline;gap:14px;padding:20px 0 20px 36px;border:0;white-space:nowrap}
.creds .stat::after{content:"✦";align-self:center;margin-left:36px;font-size:13px;color:var(--green)}
.creds .stat b,.creds .stat--text b{font-size:clamp(28px,2.7vw,40px);font-weight:700;letter-spacing:-.03em;padding-top:0;color:var(--ink);font-variation-settings:"wdth" 90}
.creds .stat span{font-family:var(--mono);font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);max-width:none}
@media (prefers-reduced-motion:reduce){.creds__track{animation:none}.creds{overflow-x:auto}.creds__grid[aria-hidden]{display:none}}

/* ---- thẻ video: lớp phủ hai màu thống nhất, rê chuột hiện màu gốc ---- */
.card__media{border:1px solid transparent;background:linear-gradient(var(--bg-2),var(--bg-2)) padding-box,linear-gradient(140deg,rgba(198,255,74,.65),rgba(63,240,192,.12) 60%) border-box}
.card__media img{filter:grayscale(1) contrast(1.12) brightness(.92);transition:filter .5s,transform .7s var(--ease)}
.card__media::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(140deg,#c6ff4a,#12b48a);mix-blend-mode:multiply;opacity:.88;transition:opacity .5s;pointer-events:none}
.card__media::after{z-index:1}
.card__play,.card__dur,.card__views{z-index:2}
.card:hover .card__media img,.card:focus-visible .card__media img{filter:none}
.card:hover .card__media::before,.card:focus-visible .card__media::before{opacity:0}
.card__play{background:var(--grad);color:#04140c}
.card__dur,.card__views{font-size:11.5px;letter-spacing:.06em;border:1px solid var(--line);background:rgba(4,9,7,.74)}
.card__title{font-weight:600;font-size:17.5px;line-height:1.25;letter-spacing:-.015em;font-variation-settings:"wdth" 92}
@media (hover:none){.card__media img{filter:saturate(.92)}.card__media::before{opacity:.26}}

/* ---- tin trang chủ: ô lớn nhỏ ---- */
.bento{display:grid;grid-template-columns:1.25fr 1fr;gap:18px}
.tile{position:relative;overflow:hidden;border-radius:22px;border:1px solid var(--line);background:var(--bg-2);min-height:240px;display:flex;flex-direction:column;justify-content:flex-end;gap:10px;padding:24px;color:inherit;text-decoration:none;transition:border-color .3s,transform .4s var(--ease)}
.tile:hover{border-color:var(--green);transform:translateY(-3px)}
.tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55;transition:opacity .4s,transform .8s var(--ease)}
.tile:hover img{opacity:.75;transform:scale(1.04)}
.tile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,9,7,.08),rgba(4,9,7,.93))}
.tile>span,.tile>b{position:relative;z-index:1}
.tile__m{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--green)}
.tile b{font-weight:650;font-size:clamp(20px,2vw,28px);line-height:1.15;letter-spacing:-.02em;font-variation-settings:"wdth" 90}
.tile--big{grid-row:span 2;min-height:500px}
.tile--big b{font-size:clamp(26px,3vw,46px);line-height:1.05;letter-spacing:-.03em}
@media (max-width:820px){.bento{grid-template-columns:1fr}.tile--big{grid-row:auto;min-height:360px}}

/* ---- danh sách tin, nhãn ---- */
.news__vid{color:var(--green);border-color:rgba(198,255,74,.4);background:rgba(198,255,74,.08)}
.news__tag{background:var(--grad);color:#04140c;border-color:transparent}
.gcard b{font-weight:650;letter-spacing:-.02em;font-variation-settings:"wdth" 90}
.gcard__img i{font-family:var(--mono);background:var(--grad)}
.post__note--gbm{border-color:rgba(198,255,74,.35);background:rgba(198,255,74,.05)}

/* ---- đối tác: logo sáng trên ô kính tối, rê chuột hiện màu gốc ---- */
.ally__img{background:var(--glass);border:1px solid var(--line);transition:background .35s,border-color .35s,transform .35s var(--ease),box-shadow .35s}
.ally__img img{filter:grayscale(1) invert(1) contrast(1.15);mix-blend-mode:screen;opacity:.88;transition:filter .3s,opacity .3s}
@media (hover:hover){
  .ally:hover .ally__img{background:#fff;border-color:var(--green)}
  .ally:hover .ally__img img{filter:none;mix-blend-mode:normal;opacity:1}
}
.spons{background:linear-gradient(180deg,rgba(10,20,17,.7),rgba(4,9,7,0) 70%)}
.mq__it{border-radius:12px}

/* ---- khối kêu gọi ---- */
.follow h2 em{background:none;-webkit-background-clip:border-box;background-clip:border-box;color:#04180a}
.post__lead{color:var(--ink-2);font-size:clamp(18px,1.5vw,21px);line-height:1.6}
/* thanh menu: không để mục nào xuống dòng; màn hình hẹp dần thì thu khoảng cách trước khi chuyển sang nút ☰ */
@media (min-width:1081px) and (max-width:1340px){.nav{gap:18px}.nav__links a{padding:8px 11px;font-size:14px}.nav .btn--sm{padding:0 16px}.lang{padding:0 11px}}
@media (min-width:1081px) and (max-width:1200px){.nav{gap:12px}.nav__links{padding:4px}.nav__links a{padding:7px 8px;font-size:13.5px}.nav .btn--sm{padding:0 13px;font-size:13.5px}.nav .logo img{height:34px;width:auto}}

/* ======== Hero trên điện thoại: bộ ảnh dọc riêng thay cho video nền (YouTube không tự phát được trên di động) ======== */
.hero__poster{display:none}
@keyframes heroSlide{0%{opacity:0;transform:scale(1.14)}5%{opacity:1}33.3%{opacity:1}39%{opacity:0;transform:scale(1.02)}100%{opacity:0;transform:scale(1.02)}}
@keyframes heroRing{to{transform:rotate(360deg)}}
@media (max-width:899px){
  .hero{min-height:100svh;padding:120px 0 30px}
  .hero__bg,.hero__vid{display:none}
  .hero__poster{display:block;position:absolute;inset:0;z-index:-2;overflow:hidden;background:#040907 url("hero/m1.webp") center top/cover no-repeat}
  .hero__poster span{position:absolute;inset:0;background:center top/cover no-repeat;opacity:0;will-change:opacity,transform;animation:heroSlide 21s linear infinite}
  .hero__poster span:nth-child(1){background-image:url("hero/m1.webp")}
  .hero__poster span:nth-child(2){background-image:url("hero/m2.webp");animation-delay:7s}
  .hero__poster span:nth-child(3){background-image:url("hero/m3.webp");animation-delay:14s}
  .hero__rings{position:absolute;right:-34%;top:-9%;width:92%;aspect-ratio:1;opacity:.55;animation:heroRing 80s linear infinite}
  .hero__rings circle{fill:none;stroke:url(#heroRing);stroke-width:.3}
  /* ảnh rõ ở nửa trên, tối dần xuống dưới để chữ nổi */
  .hero__shade{background:
    linear-gradient(180deg,rgba(4,9,7,.62) 0%,rgba(4,9,7,.12) 16%,rgba(4,9,7,.2) 36%,rgba(4,9,7,.82) 60%,#040907 92%),
    radial-gradient(120% 60% at 100% 0%,rgba(198,255,74,.16),transparent 60%)}
  .hero__shade::after{opacity:.3;-webkit-mask-image:linear-gradient(180deg,#000,transparent 55%);mask-image:linear-gradient(180deg,#000,transparent 55%)}
  .hero__now,.hero__picks{display:none}
  .hero__title{font-size:clamp(42px,12.4vw,64px);text-shadow:0 2px 28px rgba(4,9,7,.6)}
  .hero__lede{color:#d9eadf}
  .eyebrow{text-shadow:0 1px 14px rgba(4,9,7,.8)}
}
@media (max-width:899px) and (prefers-reduced-motion:reduce){.hero__poster span,.hero__rings{animation:none}}

/* ô tác giả đầu bài: biểu tượng Ăn Chay TV thay cho chữ viết tắt */
.post__mark{flex:none;width:48px;height:48px;border-radius:50%;display:block;box-shadow:0 10px 30px -14px rgba(63,240,192,.7)}
.post__mark svg{display:block;width:100%;height:100%}
.post__by .founder__mark{background:var(--bg-2,#0a1411);color:var(--green);border:1.5px solid var(--line-2,rgba(198,255,74,.26));font-family:var(--mono,ui-monospace,monospace);font-weight:600;letter-spacing:.04em}
.post__by b{font-family:var(--serif);font-weight:650;letter-spacing:-.01em}
.post__by>span:last-child span{font-family:var(--mono,ui-monospace,monospace);font-size:12px;letter-spacing:.06em;text-transform:uppercase}
