/* VPMA – Hội Phòng trừ côn trùng Việt Nam – prototype stylesheet */
:root{
  --g900:#062f29; --g800:#0a3f37; --g700:#0f5c50; --g600:#11705f; --g500:#16907a; --g100:#e3f2ee; --g50:#f2f8f6;
  --amber:#f2a516; --amber-d:#c98200; --amber-l:#fff4dc;
  --ink:#10201d; --muted:#5a6b67; --line:#dde7e4; --bg:#ffffff; --soft:#f5f8f7;
  --danger:#c0392b; --ok:#1e8e5a;
  --r:14px; --r-lg:22px; --sh:0 1px 2px rgba(6,47,41,.06),0 8px 24px rgba(6,47,41,.08); --sh-lg:0 18px 50px rgba(6,47,41,.16);
  --max:1200px; --font:'Be Vietnam Pro',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--font);color:var(--ink);background:var(--bg);line-height:1.65;font-size:16px}
img{max-width:100%;height:auto;display:block}
a{color:var(--g600);text-decoration:none}
a:hover{color:var(--g700);text-decoration:underline}
h1,h2,h3,h4{line-height:1.25;margin:0 0 .5em;color:var(--g900);font-weight:700;letter-spacing:-.01em}
h1{font-size:clamp(2rem,4.2vw,3.2rem)} h2{font-size:clamp(1.55rem,2.8vw,2.25rem)} h3{font-size:1.2rem}
p{margin:0 0 1em}
.container{width:100%;max-width:var(--max);margin:0 auto;padding:0 20px}
.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:8px;background:var(--amber);color:#000;padding:8px 14px;border-radius:8px;z-index:1000}
.skip:focus{left:8px}
:focus-visible{outline:3px solid var(--amber);outline-offset:2px;border-radius:4px}

/* Top bar */
.topbar{background:var(--g900);color:#cfe5df;font-size:.85rem}
.topbar .container{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:38px;flex-wrap:wrap}
.topbar a{color:#e9f5f2}
.topbar .tb-left{display:flex;gap:22px;flex-wrap:wrap}
.topbar .tb-left span,.topbar .tb-left a{display:inline-flex;align-items:center;gap:6px}
.topbar svg{width:15px;height:15px;opacity:.85}
.lang{display:inline-flex;border:1px solid rgba(255,255,255,.25);border-radius:999px;overflow:hidden}
.lang button{background:none;border:0;color:#cfe5df;font:inherit;font-size:.78rem;padding:3px 10px;cursor:pointer}
.lang button[aria-pressed=true]{background:var(--amber);color:#1a1200;font-weight:700}

/* Header */
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.96);backdrop-filter:saturate(1.4) blur(8px);border-bottom:1px solid var(--line);transition:box-shadow .25s}
.site-header.scrolled{box-shadow:0 6px 24px rgba(6,47,41,.10)}
.site-header .container{display:flex;align-items:center;gap:24px;min-height:78px}
.brand{display:flex;align-items:center;gap:12px;color:var(--g900);text-decoration:none!important;flex-shrink:0}
.brand img{height:46px;width:auto}
.brand .bt{display:flex;flex-direction:column;line-height:1.15}
.brand .bt b{font-size:.98rem;letter-spacing:.01em;text-transform:uppercase}
.brand .bt small{font-size:.74rem;color:var(--muted);letter-spacing:.02em}
.nav{margin-left:auto}
.nav>ul{list-style:none;margin:0;padding:0;display:flex;gap:2px;align-items:center}
.nav li{position:relative}
.nav a,.nav .dd-btn{display:flex;align-items:center;gap:4px;padding:10px 12px;border-radius:10px;color:var(--ink);font-weight:500;font-size:.95rem;background:none;border:0;font-family:inherit;cursor:pointer;text-decoration:none!important}
.nav a:hover,.nav .dd-btn:hover,.nav a[aria-current=page],.nav .dd-btn.active{color:var(--g600);background:var(--g50)}
.nav .dd-btn svg{width:14px;height:14px;transition:transform .2s}
.dropdown{position:absolute;top:calc(100% + 8px);left:0;min-width:280px;background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh-lg);padding:10px;opacity:0;visibility:hidden;transform:translateY(6px);transition:.18s;list-style:none;margin:0}
.nav li:hover>.dropdown,.nav li.open>.dropdown,.nav li:focus-within>.dropdown{opacity:1;visibility:visible;transform:none}
.nav li:hover>.dd-btn svg,.nav li.open>.dd-btn svg{transform:rotate(180deg)}
.dropdown a{display:block;padding:10px 12px;border-radius:10px}
.dropdown a b{display:block;font-weight:600;color:var(--g900);font-size:.93rem}
.dropdown a span{display:block;font-size:.8rem;color:var(--muted);font-weight:400}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 22px;border-radius:999px;font-weight:600;font-size:.95rem;border:2px solid transparent;cursor:pointer;font-family:inherit;text-decoration:none!important;transition:transform .15s,background .2s,box-shadow .2s;line-height:1.2}
.btn:hover{transform:translateY(-1px)}
.btn svg{width:18px;height:18px}
.btn-primary{background:var(--amber);color:#1b1300}
.btn-primary:hover{background:#ffb627;color:#1b1300;box-shadow:0 8px 20px rgba(242,165,22,.35)}
.btn-green{background:var(--g600);color:#fff}
.btn-green:hover{background:var(--g700);color:#fff}
.btn-ghost{border-color:rgba(255,255,255,.55);color:#fff}
.btn-ghost:hover{background:rgba(255,255,255,.12);color:#fff}
.btn-outline{border-color:var(--g600);color:var(--g600);background:#fff}
.btn-outline:hover{background:var(--g50);color:var(--g700)}
.btn-sm{padding:8px 16px;font-size:.88rem}
.header-cta{flex-shrink:0}
.menu-toggle{display:none;margin-left:auto;background:none;border:1px solid var(--line);border-radius:10px;width:44px;height:44px;cursor:pointer;align-items:center;justify-content:center}
.menu-toggle svg{width:24px;height:24px;color:var(--g900)}

/* Placeholder tags */
.ph{display:inline-block;background:var(--amber-l);color:#7a4c00;border:1px dashed #e0a43a;border-radius:6px;padding:0 6px;font-size:.85em;font-weight:600;white-space:nowrap}
.tag-sample{display:inline-flex;align-items:center;gap:6px;background:var(--amber-l);color:#7a4c00;border:1px solid #f0cf8e;border-radius:999px;padding:3px 12px;font-size:.78rem;font-weight:600;letter-spacing:.01em}
.tag-sample::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--amber)}
.tag-real{display:inline-flex;align-items:center;gap:6px;background:var(--g100);color:var(--g700);border-radius:999px;padding:3px 12px;font-size:.78rem;font-weight:600}
.eyebrow{display:inline-block;font-size:.8rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--g500);margin-bottom:10px}
.on-dark .eyebrow{color:var(--amber)}

/* Hero */
.hero{position:relative;color:#fff;overflow:hidden;background:var(--g900)}
.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center 35%}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(6,47,41,.96) 0%,rgba(8,62,54,.88) 42%,rgba(10,70,60,.45) 100%)}
.hero .container{position:relative;z-index:2;padding-top:96px;padding-bottom:120px}
.hero h1{color:#fff;max-width:760px;margin-bottom:18px}
.hero h1 em{font-style:normal;color:var(--amber)}
.hero p.lead{font-size:1.14rem;max-width:640px;color:#d9ece7}
.hero .actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}
.hero .badge-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:22px}
.hero .badge{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:999px;padding:6px 14px;font-size:.84rem}
.hero .badge svg{width:16px;height:16px;color:var(--amber)}
.page-hero{background:linear-gradient(120deg,var(--g900),var(--g700));color:#fff;position:relative;overflow:hidden}
.page-hero::before{content:"";position:absolute;right:-120px;top:-120px;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(242,165,22,.22),transparent 65%)}
.page-hero::after{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.07) 1px,transparent 1px);background-size:22px 22px;pointer-events:none}
.page-hero .container{position:relative;z-index:1;padding-top:56px;padding-bottom:56px}
.page-hero h1{color:#fff;font-size:clamp(1.8rem,3.4vw,2.6rem);margin-bottom:10px}
.page-hero p{color:#d3e8e2;max-width:720px;font-size:1.05rem;margin:0}
.crumbs{font-size:.85rem;margin-bottom:14px;color:#a9cfc6}
.crumbs a{color:#e8f5f1}
.crumbs span{margin:0 6px;opacity:.6}

/* Sections */
section{padding:84px 0}
.section-soft{background:var(--soft)}
.section-dark{background:var(--g900);color:#d6ebe5}
.section-dark h2,.section-dark h3{color:#fff}
.sec-head{max-width:720px;margin-bottom:40px}
.sec-head.center{margin-left:auto;margin-right:auto;text-align:center}
.sec-head p{color:var(--muted);font-size:1.05rem}
.section-dark .sec-head p{color:#b9d8d0}
.sec-head-row{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:36px;flex-wrap:wrap}
.sec-head-row .sec-head{margin-bottom:0}

/* Quick links */
.quick{margin-top:-70px;position:relative;z-index:5;padding:0}
.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.qcard{background:#fff;border-radius:var(--r-lg);padding:26px 24px;box-shadow:var(--sh-lg);border:1px solid var(--line);display:flex;flex-direction:column;gap:8px;color:var(--ink);text-decoration:none!important;transition:transform .2s,box-shadow .2s;position:relative;overflow:hidden}
.qcard::after{content:"";position:absolute;left:0;bottom:0;height:4px;width:0;background:var(--amber);transition:width .3s}
.qcard:hover{transform:translateY(-4px)}
.qcard:hover::after{width:100%}
.qcard .ic{width:52px;height:52px;border-radius:14px;background:var(--g100);color:var(--g600);display:grid;place-items:center;margin-bottom:6px}
.qcard .ic svg{width:26px;height:26px}
.qcard h3{margin:0;font-size:1.08rem}
.qcard p{margin:0;color:var(--muted);font-size:.9rem}
.qcard .more{margin-top:auto;padding-top:8px;color:var(--g600);font-weight:600;font-size:.9rem;display:flex;align-items:center;gap:6px}
.qcard .more svg{width:16px;height:16px;transition:transform .2s}
.qcard:hover .more svg{transform:translateX(4px)}

/* Stats */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:0;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}
.stat{padding:30px 26px;border-right:1px solid var(--line)}
.stat:last-child{border-right:0}
.stat .num{font-size:2.5rem;font-weight:800;color:var(--g700);line-height:1;letter-spacing:-.02em}
.stat .num small{font-size:1.1rem;font-weight:700;color:var(--amber-d);margin-left:2px}
.stat .lbl{margin-top:10px;font-weight:600;color:var(--g900)}
.stat .src{font-size:.8rem;color:var(--muted);margin-top:4px}

/* Grid & cards */
.grid{display:grid;gap:24px}
.g2{grid-template-columns:repeat(2,1fr)} .g3{grid-template-columns:repeat(3,1fr)} .g4{grid-template-columns:repeat(4,1fr)}
.split{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:28px;box-shadow:var(--sh)}
.card h3{margin-bottom:8px}
.card p:last-child{margin-bottom:0}
.icard .ic{width:50px;height:50px;border-radius:14px;background:var(--g100);color:var(--g600);display:grid;place-items:center;margin-bottom:16px}
.icard .ic svg{width:25px;height:25px}
.icard.amber .ic{background:var(--amber-l);color:var(--amber-d)}
.card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:6px}

.news-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s;box-shadow:var(--sh)}
.news-card:hover{transform:translateY(-4px);box-shadow:var(--sh-lg)}
.news-card .thumb{aspect-ratio:16/9;overflow:hidden;background:var(--g100)}
.news-card .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.news-card:hover .thumb img{transform:scale(1.05)}
.news-card .body{padding:20px 22px 24px;display:flex;flex-direction:column;gap:8px;flex:1}
.news-card .meta{display:flex;gap:10px;align-items:center;font-size:.8rem;color:var(--muted);flex-wrap:wrap}
.cat{display:inline-block;background:var(--g100);color:var(--g700);font-weight:600;font-size:.74rem;padding:3px 10px;border-radius:999px;text-transform:uppercase;letter-spacing:.04em}
.cat.intl{background:var(--amber-l);color:#8a5a00}
.news-card h3{font-size:1.05rem;margin:0}
.news-card h3 a{color:var(--g900)}
.news-card h3 a::after{content:"";position:absolute;inset:0}
.news-card{position:relative}
.news-card p{color:var(--muted);font-size:.9rem;margin:0}
.news-feature{display:grid;grid-template-columns:1.2fr 1fr;border-radius:var(--r-lg);overflow:hidden;background:#fff;border:1px solid var(--line);box-shadow:var(--sh);position:relative;margin-bottom:28px}
.news-feature .thumb{min-height:340px;background-size:cover;background-position:center}
.news-feature .body{padding:40px;display:flex;flex-direction:column;justify-content:center;gap:12px}
.news-feature h2{font-size:1.6rem;margin:0}
.news-feature h2 a{color:var(--g900)}
.news-feature h2 a::after{content:"";position:absolute;inset:0}

/* Filters */
.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:28px;align-items:center}
.chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 16px;font:inherit;font-size:.88rem;font-weight:500;cursor:pointer;color:var(--ink);transition:.15s}
.chip:hover{border-color:var(--g500)}
.chip[aria-pressed=true]{background:var(--g600);border-color:var(--g600);color:#fff}
.search{position:relative;flex:1;min-width:240px;max-width:420px}
.search input{width:100%;padding:12px 16px 12px 44px;border:1px solid var(--line);border-radius:999px;font:inherit;background:#fff}
.search svg{position:absolute;left:16px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--muted)}
.search input:focus{border-color:var(--g500);outline:none;box-shadow:0 0 0 4px rgba(22,144,122,.15)}

/* Members */
.logo-strip{overflow:hidden;position:relative;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.logo-track{display:flex;gap:22px;width:max-content;animation:marq 40s linear infinite}
.logo-strip:hover .logo-track{animation-play-state:paused}
.logo-item{width:190px;height:100px;background:#fff;border:1px solid var(--line);border-radius:var(--r);display:grid;place-items:center;padding:14px;flex-shrink:0}
.logo-item img{max-height:68px;max-width:150px;width:auto;object-fit:contain;filter:grayscale(.15)}
.logo-item.text{font-weight:800;color:var(--g700);font-size:1.2rem;letter-spacing:.02em}
@keyframes marq{to{transform:translateX(-50%)}}
.member-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--sh);transition:transform .2s}
.member-card:hover{transform:translateY(-3px)}
.member-card .mlogo{height:130px;display:grid;place-items:center;border-bottom:1px solid var(--line);padding:18px;background:#fff}
.member-card .mlogo img{max-height:92px;max-width:80%;object-fit:contain}
.member-card .mlogo .mono{width:84px;height:84px;border-radius:20px;background:linear-gradient(135deg,var(--g600),var(--g800));color:#fff;display:grid;place-items:center;font-weight:800;font-size:1.6rem}
.member-card .mbody{padding:18px 20px 20px;display:flex;flex-direction:column;gap:6px;flex:1}
.member-card h3{margin:0;font-size:1.05rem}
.member-card dl{margin:4px 0 0;font-size:.85rem;display:grid;grid-template-columns:auto 1fr;gap:3px 10px}
.member-card dt{color:var(--muted)}
.member-card dd{margin:0}
.empty{padding:40px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:var(--r-lg);display:none}

/* Tiers */
.tier{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--r-lg);padding:30px;background:#fff;position:relative;box-shadow:var(--sh)}
.tier.featured{border:2px solid var(--g600);box-shadow:var(--sh-lg)}
.tier .ribbon{position:absolute;top:-13px;left:30px;background:var(--g600);color:#fff;font-size:.75rem;font-weight:700;padding:4px 12px;border-radius:999px;letter-spacing:.04em}
.tier h3{font-size:1.3rem;margin-bottom:4px}
.tier .who{color:var(--muted);font-size:.9rem;min-height:3em}
.tier .price{font-size:1.05rem;font-weight:700;margin:14px 0 16px;padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.checks{list-style:none;padding:0;margin:0 0 22px;display:flex;flex-direction:column;gap:10px}
.checks li{display:flex;gap:10px;font-size:.93rem}
.checks li svg{width:20px;height:20px;flex-shrink:0;color:var(--g500);margin-top:2px}
.tier .btn{margin-top:auto}

/* Timeline */
.timeline{position:relative;margin:0;padding:0;list-style:none}
.timeline::before{content:"";position:absolute;left:19px;top:6px;bottom:6px;width:2px;background:linear-gradient(var(--g500),var(--amber))}
.timeline li{position:relative;padding:0 0 30px 60px}
.timeline li::before{content:"";position:absolute;left:10px;top:4px;width:20px;height:20px;border-radius:50%;background:#fff;border:4px solid var(--g500);box-shadow:0 0 0 4px var(--g100)}
.timeline li.hl::before{border-color:var(--amber);box-shadow:0 0 0 4px var(--amber-l)}
.timeline .when{font-weight:700;color:var(--g600);font-size:.9rem;letter-spacing:.02em}
.timeline h3{margin:2px 0 4px;font-size:1.08rem}
.timeline p{margin:0;color:var(--muted);font-size:.93rem}

/* People */
.person{text-align:center;padding:30px 22px}
.avatar{width:96px;height:96px;border-radius:50%;margin:0 auto 16px;display:grid;place-items:center;font-weight:800;font-size:1.7rem;color:#fff;background:linear-gradient(135deg,var(--g500),var(--g800));box-shadow:0 0 0 6px var(--g100)}
.person.lead .avatar{background:linear-gradient(135deg,var(--amber),#d98400);box-shadow:0 0 0 6px var(--amber-l);width:112px;height:112px;font-size:2rem}
.person h3{margin:0 0 4px;font-size:1.1rem}
.person .role{color:var(--g600);font-weight:600;font-size:.92rem}
.person .note{font-size:.8rem;color:var(--muted);margin-top:6px}
.roster{width:100%;border-collapse:collapse;background:#fff;border-radius:var(--r);overflow:hidden;border:1px solid var(--line)}
.roster th,.roster td{text-align:left;padding:13px 18px;border-bottom:1px solid var(--line);font-size:.94rem}
.roster th{background:var(--g50);color:var(--g800);font-weight:700;font-size:.85rem;text-transform:uppercase;letter-spacing:.04em}
.roster tr:last-child td{border-bottom:0}

/* Article */
.article-wrap{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:56px;align-items:start}
.article{font-size:1.06rem}
.article .lead{font-size:1.2rem;color:var(--g800);font-weight:500;border-left:4px solid var(--amber);padding-left:18px}
.article figure{margin:28px 0}
.article figure img{border-radius:var(--r);width:100%}
.article figcaption{font-size:.88rem;color:var(--muted);margin-top:8px;text-align:center}
.article h2{font-size:1.4rem;margin-top:1.6em}
.article ul{padding-left:1.2em}
.article li{margin-bottom:.4em}
.facts{background:var(--g50);border:1px solid var(--line);border-radius:var(--r);padding:20px 22px;margin:24px 0}
.facts dl{display:grid;grid-template-columns:auto 1fr;gap:8px 16px;margin:0;font-size:.95rem}
.facts dt{font-weight:600;color:var(--g800)}
.facts dd{margin:0}
.note-box{background:var(--amber-l);border:1px solid #f0cf8e;border-radius:var(--r);padding:16px 20px;font-size:.92rem;color:#5c3d00;margin:24px 0}
.note-box b{color:#4a3000}
.sidebar{position:sticky;top:110px;display:flex;flex-direction:column;gap:20px}
.side-box{border:1px solid var(--line);border-radius:var(--r-lg);padding:22px;background:#fff}
.side-box h3{font-size:1rem;text-transform:uppercase;letter-spacing:.06em;color:var(--g700);margin-bottom:14px}
.side-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:14px}
.side-list a{display:grid;grid-template-columns:72px 1fr;gap:12px;align-items:center;color:var(--ink);font-size:.9rem;font-weight:500;line-height:1.35}
.side-list img{width:72px;height:54px;object-fit:cover;border-radius:8px}
.gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.gallery img{border-radius:12px;aspect-ratio:3/2;object-fit:cover;width:100%}

/* Forms */
.form-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-lg);overflow:hidden}
.stepper{display:flex;background:var(--g50);border-bottom:1px solid var(--line);counter-reset:s;overflow-x:auto}
.stepper li{flex:1;list-style:none;padding:18px 14px;display:flex;align-items:center;gap:10px;font-size:.86rem;font-weight:600;color:var(--muted);min-width:150px;position:relative}
.stepper li .n{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#fff;border:2px solid var(--line);font-size:.85rem;flex-shrink:0}
.stepper li.active{color:var(--g800)}
.stepper li.active .n{border-color:var(--g600);background:var(--g600);color:#fff}
.stepper li.done .n{border-color:var(--g500);background:var(--g100);color:var(--g700)}
.stepper li.active::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;background:var(--amber)}
.stepper{margin:0;padding:0}
.form-body{padding:36px}
.step{display:none}
.step.active{display:block;animation:fade .3s}
@keyframes fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.step h2{font-size:1.4rem;margin-bottom:4px}
.step .hint{color:var(--muted);margin-bottom:26px;font-size:.95rem}
.fgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px 22px}
.fgrid .full{grid-column:1/-1}
.field label,.field .lbl{display:block;font-weight:600;font-size:.9rem;margin-bottom:6px;color:var(--g900)}
.field label .req{color:var(--danger)}
.field input[type=text],.field input[type=email],.field input[type=tel],.field input[type=number],.field input[type=date],.field input[type=url],.field select,.field textarea{width:100%;padding:12px 14px;border:1.5px solid var(--line);border-radius:10px;font:inherit;font-size:.95rem;background:#fff;color:var(--ink);transition:border .15s,box-shadow .15s}
.field textarea{min-height:120px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--g500);box-shadow:0 0 0 4px rgba(22,144,122,.14)}
.field .help{font-size:.8rem;color:var(--muted);margin-top:5px}
.field .err{font-size:.82rem;color:var(--danger);margin-top:5px;display:none;font-weight:500}
.field.invalid input,.field.invalid select,.field.invalid textarea{border-color:var(--danger);background:#fff8f7}
.field.invalid .err{display:block}
.field.invalid .dropzone{border-color:var(--danger)}
.opts{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.opt{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border:1.5px solid var(--line);border-radius:10px;cursor:pointer;font-size:.92rem;transition:.15s}
.opt:hover{border-color:var(--g500)}
.opt input{margin-top:4px;accent-color:var(--g600);width:17px;height:17px}
.opt:has(input:checked){border-color:var(--g600);background:var(--g50)}
.tier-opts{grid-template-columns:repeat(3,1fr)}
.tier-opts .opt{flex-direction:column;gap:4px;padding:18px}
.tier-opts .opt b{font-size:1rem;color:var(--g900)}
.tier-opts .opt span{font-size:.83rem;color:var(--muted)}
.dropzone{border:2px dashed var(--line);border-radius:12px;padding:20px;text-align:center;background:var(--soft);cursor:pointer;transition:.15s;position:relative}
.dropzone:hover,.dropzone.drag{border-color:var(--g500);background:var(--g50)}
.dropzone input{position:absolute;inset:0;opacity:0;cursor:pointer}
.dropzone svg{width:28px;height:28px;color:var(--g500);margin:0 auto 6px}
.dropzone .fname{font-size:.85rem;color:var(--g700);font-weight:600;margin-top:6px}
.form-nav{display:flex;justify-content:space-between;gap:12px;padding:22px 36px;border-top:1px solid var(--line);background:var(--soft)}
.review{background:var(--soft);border-radius:12px;padding:18px 22px;font-size:.9rem;margin-bottom:22px;max-height:360px;overflow:auto}
.review h4{margin:12px 0 6px;font-size:.9rem;color:var(--g700);text-transform:uppercase;letter-spacing:.05em}
.review h4:first-child{margin-top:0}
.review dl{display:grid;grid-template-columns:200px 1fr;gap:4px 14px;margin:0}
.review dt{color:var(--muted)}
.review dd{margin:0;font-weight:500;word-break:break-word}
.success{text-align:center;padding:56px 36px;display:none}
.success .big{width:84px;height:84px;border-radius:50%;background:var(--g100);color:var(--g600);display:grid;place-items:center;margin:0 auto 20px}
.success .big svg{width:44px;height:44px}
.success .actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:22px}
.alert{border-radius:10px;padding:12px 16px;font-size:.9rem;margin-bottom:18px;display:none}
.alert.show{display:block}
.alert-err{background:#fdecea;color:#8a1c12;border:1px solid #f5c2bd}
.alert-ok{background:#e6f5ee;color:#135c3a;border:1px solid #b9e2cd}

/* Contact */
.contact-item{display:flex;gap:16px;align-items:flex-start;padding:18px 0;border-bottom:1px solid var(--line)}
.contact-item:last-child{border-bottom:0}
.contact-item .ic{width:46px;height:46px;border-radius:12px;background:var(--g100);color:var(--g600);display:grid;place-items:center;flex-shrink:0}
.contact-item .ic svg{width:22px;height:22px}
.contact-item b{display:block;color:var(--g900)}
.map{border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line);box-shadow:var(--sh);line-height:0}
.map iframe{width:100%;height:420px;border:0}

/* CTA */
.cta{background:linear-gradient(115deg,var(--g700),var(--g900));border-radius:28px;padding:56px;color:#fff;display:grid;grid-template-columns:1.4fr auto;gap:30px;align-items:center;position:relative;overflow:hidden}
.cta::before{content:"";position:absolute;right:-80px;bottom:-140px;width:380px;height:380px;border-radius:50%;background:radial-gradient(circle,rgba(242,165,22,.35),transparent 65%)}
.cta h2{color:#fff;margin-bottom:8px}
.cta p{color:#cfe7e0;margin:0;max-width:620px}
.cta .actions{display:flex;gap:12px;flex-wrap:wrap;position:relative}

.faopma{display:grid;grid-template-columns:auto 1fr auto;gap:32px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:32px 36px;box-shadow:var(--sh);border-left:6px solid var(--amber)}
.faopma .globe{width:76px;height:76px;border-radius:50%;background:var(--amber-l);color:var(--amber-d);display:grid;place-items:center}
.faopma .globe svg{width:40px;height:40px}
.faopma h3{margin-bottom:6px;font-size:1.3rem}
.faopma p{margin:0;color:var(--muted)}

.img-stack{position:relative}
.img-stack img{border-radius:var(--r-lg);box-shadow:var(--sh-lg)}
.img-stack .float{position:absolute;left:-24px;bottom:-24px;background:#fff;border-radius:var(--r);padding:18px 22px;box-shadow:var(--sh-lg);border:1px solid var(--line);max-width:260px}
.img-stack .float b{display:block;font-size:1.6rem;color:var(--g700);line-height:1.1}
.img-stack .float span{font-size:.85rem;color:var(--muted)}
.list-check{list-style:none;padding:0;margin:0 0 24px;display:flex;flex-direction:column;gap:12px}
.list-check li{display:flex;gap:12px}
.list-check li svg{width:22px;height:22px;flex-shrink:0;color:var(--g500);margin-top:2px}
.pill-list{display:flex;flex-wrap:wrap;gap:10px}
.pill-list span{background:#fff;border:1px solid var(--line);border-radius:999px;padding:8px 16px;font-size:.88rem;font-weight:500}
.section-dark .pill-list span{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.15);color:#e3f2ee}
.pest-card{border:1px solid var(--line);border-radius:var(--r-lg);padding:24px;background:#fff}
.pest-card .ptitle{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.pest-card .ptitle .ic{width:44px;height:44px;border-radius:12px;background:var(--g100);color:var(--g600);display:grid;place-items:center}
.pest-card .ptitle .ic svg{width:24px;height:24px}
.pest-card h3{margin:0;font-size:1.08rem}
.pest-card p{font-size:.92rem;color:var(--muted);margin:0 0 8px}
.pest-card ul{margin:0;padding-left:18px;font-size:.9rem}
.steps-row{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;counter-reset:st}
.steps-row .st{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:24px;position:relative}
.steps-row .st::before{counter-increment:st;content:counter(st,decimal-leading-zero);font-size:2rem;font-weight:800;color:var(--g100);position:absolute;right:18px;top:10px}
.steps-row .st h3{font-size:1.02rem}
.steps-row .st p{font-size:.9rem;color:var(--muted);margin:0}
.warn-box{background:#fff5f4;border:1px solid #f3c9c4;border-left:6px solid var(--danger);border-radius:var(--r);padding:22px 26px}
.warn-box h3{color:#8a1c12}

/* Footer */
.site-footer{background:var(--g900);color:#b9d6ce;padding-top:72px;font-size:.93rem}
.site-footer a{color:#e3f2ee}
.f-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.3fr;gap:44px}
.f-brand .logo-pill{display:inline-block;background:#fff;border-radius:14px;padding:10px 14px;margin-bottom:16px}
.f-brand .logo-pill img{height:44px;width:auto}
.site-footer h4{color:#fff;font-size:.95rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:18px}
.site-footer ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
.f-contact li{display:flex;gap:10px}
.f-contact svg{width:18px;height:18px;flex-shrink:0;margin-top:3px;color:var(--amber)}
.f-bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:56px;padding:22px 0;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:.82rem;color:#8fb5ab}
.proto-note{background:rgba(242,165,22,.12);border:1px solid rgba(242,165,22,.35);color:#f7d9a0;border-radius:10px;padding:10px 14px;font-size:.8rem;margin-top:18px}

.to-top{position:fixed;right:20px;bottom:20px;width:46px;height:46px;border-radius:50%;background:var(--g600);color:#fff;border:0;box-shadow:var(--sh-lg);cursor:pointer;display:grid;place-items:center;opacity:0;visibility:hidden;transition:.2s;z-index:90}
.to-top.show{opacity:1;visibility:visible}
.to-top svg{width:22px;height:22px}
.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,20px);background:var(--g900);color:#fff;padding:12px 20px;border-radius:12px;box-shadow:var(--sh-lg);opacity:0;transition:.25s;z-index:200;font-size:.92rem;pointer-events:none;max-width:90vw}
.toast.show{opacity:1;transform:translate(-50%,0)}

/* Reveal */
/* reveal: content visible by default; JS adds .rv only to off-screen items (see motion block) */
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}

/* Responsive */
@media (max-width:1100px){
  .nav a,.nav .dd-btn{padding:10px 8px;font-size:.9rem}
  .brand .bt small{display:none}
}
@media (max-width:980px){
  .menu-toggle{display:flex}
  .header-cta{display:none}
  .nav{position:fixed;inset:78px 0 0 0;background:#fff;padding:16px 20px 40px;overflow-y:auto;transform:translateX(100%);transition:transform .25s;margin:0;border-top:1px solid var(--line)}
  .nav.open{transform:none}
  .nav>ul{flex-direction:column;align-items:stretch;gap:2px}
  .nav a,.nav .dd-btn{padding:14px 12px;font-size:1rem;width:100%;justify-content:space-between}
  .dropdown{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;padding:0 0 0 12px;display:none;min-width:0}
  .nav li.open>.dropdown{display:block}
  .nav li:hover>.dropdown{display:none}
  .nav li.open:hover>.dropdown{display:block}
  .nav .mobile-cta{display:block;margin-top:16px}
  .quick-grid,.g4{grid-template-columns:repeat(2,1fr)}
  .stats{grid-template-columns:repeat(2,1fr)}
  .stat:nth-child(2){border-right:0}
  .stat:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .g3{grid-template-columns:repeat(2,1fr)}
  .split,.article-wrap,.news-feature{grid-template-columns:1fr}
  .sidebar{position:static}
  .f-grid{grid-template-columns:1fr 1fr}
  .cta{grid-template-columns:1fr;padding:40px}
  .faopma{grid-template-columns:1fr;text-align:left}
  .steps-row{grid-template-columns:repeat(2,1fr)}
  .tier-opts{grid-template-columns:1fr}
  .img-stack .float{left:12px;bottom:12px}
}
@media (min-width:981px){.nav .mobile-cta{display:none}}
@media (max-width:640px){
  body{font-size:15.5px}
  section{padding:60px 0}
  .topbar .tb-left .hide-sm{display:none}
  .brand img{height:40px}
  .brand .bt b{font-size:.82rem}
  .hero .container{padding-top:64px;padding-bottom:100px}
  .quick-grid,.g2,.g3,.g4,.fgrid,.opts,.steps-row{grid-template-columns:1fr}
  .stats{grid-template-columns:1fr 1fr}
  .stat{padding:22px 18px}
  .stat .num{font-size:2rem}
  .f-grid{grid-template-columns:1fr}
  .form-body{padding:24px 20px}
  .form-nav{padding:18px 20px}
  .review dl{grid-template-columns:1fr}
  .news-feature .body{padding:26px}
  .news-feature .thumb{min-height:220px}
  .cta{padding:32px 24px;border-radius:20px}
  .map iframe{height:320px}
  .stepper li{min-width:auto;padding:14px 10px}
  .stepper li .t{display:none}
  .stepper li.active .t{display:inline}
}
/* additions */
.leaders-top{display:flex!important;flex-wrap:wrap;justify-content:center;gap:24px}
.leaders-top>.card{flex:0 1 300px}
.leaders-top>.spacer{flex-basis:100%;height:0;margin:-12px 0}
.leaders-top>.spacer:first-child,.leaders-top>.spacer:last-child{display:none}
.stats.mini .stat{padding:20px 18px}
.stats.mini .num{font-size:2rem}
@media (max-width:640px){.stats.mini{grid-template-columns:1fr 1fr 1fr!important}.stats.mini .stat{padding:14px 10px}.stats.mini .num{font-size:1.4rem!important}.stats.mini .stat:nth-child(-n+2){border-bottom:0}.stats.mini .stat:nth-child(2){border-right:1px solid var(--line)}}
body{overflow-x:clip}
@media (max-width:980px){
  .site-header{backdrop-filter:none;background:#fff}
  .nav{visibility:hidden;height:calc(100vh - 78px);height:calc(100dvh - 78px);bottom:auto}
  .nav.open{visibility:visible}
}
@media (max-width:980px){.brand{flex-shrink:1;min-width:0}.menu-toggle{flex-shrink:0}.site-header .container{gap:12px}}
@media (max-width:640px){.brand .bt b{font-size:.74rem;line-height:1.25}.brand img{height:38px}}
.nav a,.nav .dd-btn{white-space:nowrap}
@media (min-width:981px){
  .brand .bt b{max-width:215px;font-size:.9rem}
  .brand .bt small{font-size:.7rem}
  .nav>ul{gap:0}
  .nav a,.nav .dd-btn{padding:10px 11px;font-size:.93rem}
}
@media (min-width:981px) and (max-width:1200px){.brand .bt{display:none}.header-cta{padding:8px 14px}}
[hidden]{display:none!important}
.opt .ot{display:flex;flex-direction:column;gap:2px}
.tier-opts .opt{flex-direction:row}
.roster td:first-child{white-space:nowrap}
.gallery{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
/* home reorder: quick links no longer overlap hero */
.quick{margin-top:0!important;padding:72px 0!important;z-index:auto}
.home-news{padding-top:56px}
@media (max-width:640px){.quick{padding:48px 0!important}.home-news{padding-top:40px}}
.hero .container{padding-bottom:88px}
@media (max-width:640px){.hero .container{padding-top:56px;padding-bottom:56px}}
/* ===== News rows by category ===== */
.news-row{margin:0 0 44px}
.news-row:last-child{margin-bottom:8px}
.row-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:16px;border-bottom:2px solid var(--line);padding-bottom:10px}
.row-head h2,.row-head h3{font-size:1.3rem;margin:0;color:var(--g900)}
.row-head p{margin:4px 0 0;color:var(--muted);font-size:.88rem}
.more-link{white-space:nowrap;font-weight:600;color:var(--g600);font-size:.92rem}
.more-link span{color:var(--muted);font-weight:500}
.row-track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 64px)/5);gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:2px 2px 14px;scrollbar-width:thin;overscroll-behavior-x:contain}
.row-track>.news-card{scroll-snap-align:start;box-shadow:none}
.row-track>.news-card:hover{transform:none;box-shadow:var(--sh)}
.row-track .news-card .body{padding:14px 16px 16px;gap:6px}
.row-track .news-card h3{font-size:.95rem;line-height:1.38;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.row-track .news-card p{font-size:.83rem;line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.row-track .news-card .meta{font-size:.74rem;gap:6px}
.row-track .cat{font-size:.66rem;padding:2px 8px}
.news-card .src{font-size:.74rem;color:var(--muted);margin-top:auto;padding-top:6px;border-top:1px dashed var(--line)}
.news-card .tags{display:flex;flex-wrap:wrap;gap:4px}
.tag{display:inline-block;font-size:.68rem;background:#eef2ff;color:#3d3a8f;border-radius:6px;padding:2px 8px;font-weight:600}
p.tags .tag{margin-right:6px;font-size:.78rem}
.cat.world{background:#e0f2fe;color:#075985}
.cat.sci{background:#eef2ff;color:#3d3a8f}
.cat.sol{background:#ffedd5;color:#9a3412}
.cat.law{background:#e8ecf2;color:#27313f}
.row-tags{display:flex;gap:8px;flex-wrap:wrap;margin:-4px 0 12px}
.chip-sm{font-size:.8rem;padding:4px 12px;text-decoration:none}
a.chip-sm{color:var(--ink)}
.subfilters{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:-12px 0 32px;font-size:.85rem;color:var(--muted)}
.source-box{background:var(--g50);border-left:4px solid var(--g600);padding:14px 18px;border-radius:8px;margin:22px 0;word-break:break-word}
.src-note{font-size:.82rem;color:var(--muted);margin-top:28px}
@media (max-width:1100px){.row-track{grid-auto-columns:calc((100% - 32px)/3)}}
@media (max-width:760px){.row-track{grid-auto-columns:calc((100% - 16px)/2)}}
@media (max-width:560px){
  .row-track{grid-auto-columns:78%;margin:0 -20px;padding:2px 20px 14px;scroll-padding-left:20px}
  .row-head{align-items:flex-start}
  .row-head h2,.row-head h3{font-size:1.12rem}
  .row-head p{display:none}
  .more-link{font-size:.85rem}
  .subfilters{margin-top:-14px}
}
section.news-row{padding:0}
.chip-scroll{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
@media (max-width:560px){
  .filters .search{flex:1 0 100%}
  .chip-scroll{flex-wrap:nowrap;overflow-x:auto;margin:0 -20px;padding:2px 20px 6px;scrollbar-width:none;max-width:calc(100% + 40px)}
  .chip-scroll::-webkit-scrollbar{display:none}
  .chip-scroll .chip{flex:0 0 auto;white-space:nowrap}
  .subfilters.chip-scroll{margin:-14px -20px 26px}
  .subfilters span{flex:0 0 auto}
}
.article figure img[src*="img/news/"]:not([src*="/gen/"]){max-height:300px;width:100%;object-fit:cover;border-radius:var(--r-lg)}
@media (max-width:560px){.row-tags{flex-wrap:nowrap;overflow-x:auto;margin:-4px -20px 12px;padding:0 20px 4px;scrollbar-width:none}.row-tags .chip{flex:0 0 auto;white-space:nowrap}}

.article figure.illus img{aspect-ratio:16/9;object-fit:cover;border-radius:var(--r-lg)}
.article figure.illus figcaption{font-style:italic;text-align:right;font-size:.8rem}

/* ===== Hero: 3 nút lối tắt ===== */
.hero-ctas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:32px;max-width:980px}
.hcta{--ac:#f2b134;position:relative;display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:18px;color:#fff;text-decoration:none;
 background:linear-gradient(135deg,rgba(255,255,255,.14),rgba(255,255,255,.05));border:1px solid rgba(255,255,255,.22);border-left:5px solid var(--ac);
 backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);box-shadow:0 10px 30px rgba(0,0,0,.22);transition:transform .25s,box-shadow .25s,background .25s;overflow:hidden}
.hcta::before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 30%,rgba(255,255,255,.18) 50%,transparent 70%);transform:translateX(-120%);transition:transform .7s}
.hcta:hover,.hcta:focus-visible{transform:translateY(-4px);box-shadow:0 16px 36px rgba(0,0,0,.32);background:linear-gradient(135deg,rgba(255,255,255,.22),rgba(255,255,255,.08))}
.hcta:hover::before{transform:translateX(120%)}
.hcta:focus-visible{outline:3px solid var(--ac);outline-offset:3px}
.hcta .hi{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:var(--ac);color:#10302a;flex-shrink:0;box-shadow:0 6px 16px rgba(0,0,0,.25)}
.hcta .hi svg{width:24px;height:24px}
.hcta .ht{display:flex;flex-direction:column;line-height:1.25;min-width:0}
.hcta .ht b{font-size:1.06rem;color:#fff}
.hcta .ht small{font-size:.8rem;color:#d4ebe5;margin-top:3px}
.hcta .ha{margin-left:auto;opacity:.8;transition:transform .25s}.hcta .ha svg{width:20px;height:20px}
.hcta:hover .ha{transform:translateX(4px);opacity:1}
.hcta-1{--ac:#f2b134}.hcta-2{--ac:#5ad1f0}
.hcta-3{--ac:#ffffff;background:linear-gradient(135deg,#f2b134,#e8912d);border-color:rgba(255,255,255,.35);border-left-color:#fff}
.hcta-3 .ht b{color:#1d1406}.hcta-3 .ht small{color:#3b2a0c}.hcta-3 .ha{color:#1d1406}
.hcta-3 .hi{background:#10302a;color:#f2b134}
.hcta-3:hover{background:linear-gradient(135deg,#f6bf4d,#ee9c38)}
@media (prefers-reduced-motion:no-preference){.hcta{animation:hctaIn .6s both}.hcta-2{animation-delay:.1s}.hcta-3{animation-delay:.2s}
 @keyframes hctaIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}}
@media (max-width:900px){.hero-ctas{grid-template-columns:1fr;max-width:520px;gap:12px}
 .hcta{border-radius:999px;padding:12px 18px 12px 12px}.hcta .hi{border-radius:50%;width:46px;height:46px}}
.tag-done{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.02em;padding:4px 10px;border-radius:999px;background:#e3f5ee;color:#0f6b54;border:1px solid #bfe6d7;white-space:nowrap}
.bcard .bc-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:14px}
.bcard .ic{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,var(--g600),var(--g800));color:#fff}
.bcard .ic svg{width:26px;height:26px}
.bcard h3{font-size:1.1rem;margin-bottom:8px}.bcard .bsrc{font-size:.8rem;color:var(--muted);margin:10px 0 0;border-top:1px dashed var(--line);padding-top:10px}
.bcard{transition:transform .25s,box-shadow .25s}.bcard:hover{transform:translateY(-4px);box-shadow:var(--sh-lg)}
.table-wrap{overflow-x:auto;border-radius:var(--r-lg);border:1px solid var(--line);background:#fff;box-shadow:var(--sh)}
table.cmp{width:100%;border-collapse:collapse;min-width:620px;font-size:.94rem}
.cmp th,.cmp td{padding:14px 16px;border-bottom:1px solid var(--line);text-align:center}
.cmp thead th{background:var(--g900);color:#fff;font-weight:700;position:sticky;top:0}
.cmp thead th small{display:block;font-size:.7rem;color:var(--amber);font-weight:600;letter-spacing:.05em;text-transform:uppercase}
.cmp tbody th,.cmp td:first-child{text-align:left;font-weight:600;color:var(--g900)}
.cmp .hl{background:rgba(242,177,52,.10)}.cmp thead .hl{background:#0d5c46}
.cmp .yes svg{width:20px;height:20px;color:var(--g600)}.cmp .no{color:#b7c2c0}
.cmp tbody tr:hover{background:var(--g50)}.cmp tfoot td{border-bottom:0}
.sched td{text-align:left}
.faq details{background:#fff;border:1px solid var(--line);border-radius:14px;margin-bottom:12px;overflow:hidden}
.faq summary{cursor:pointer;list-style:none;padding:18px 20px;font-weight:700;color:var(--g900);display:flex;justify-content:space-between;gap:12px;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary svg{width:20px;height:20px;flex-shrink:0;transition:transform .25s}
.faq details[open] summary svg{transform:rotate(180deg)}
.faq details[open]{border-color:var(--g500);box-shadow:var(--sh)}
.faq .ans{padding:0 20px 18px;color:var(--ink)}
.course{display:flex;flex-direction:column}.course .ic{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;background:var(--g100);color:var(--g700);margin-bottom:14px}
.course .ic svg{width:28px;height:28px}.course h3{font-size:1.1rem}.course .who{display:flex;gap:8px;align-items:flex-start;font-size:.88rem;color:var(--g800)}
.course .who svg{width:18px;height:18px;flex-shrink:0;margin-top:2px}.course .meta{font-size:.84rem;color:var(--muted)}
.course .btn{margin-top:auto;align-self:flex-start}
.radio-row{display:flex;gap:12px;flex-wrap:wrap}
.radio-row .opt{display:flex;align-items:center;gap:8px;border:1.5px solid var(--line);border-radius:10px;padding:10px 14px;cursor:pointer;background:#fff}
.radio-row .opt:has(input:checked){border-color:var(--g600);background:var(--g50)}
.field.invalid .radio-row .opt{border-color:var(--danger)}
.reg-perks{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px}
.reg-perks .rp{display:flex;gap:12px;align-items:center;padding:16px;border-radius:16px;background:linear-gradient(135deg,var(--g800),var(--g600));color:#fff;text-decoration:none;box-shadow:var(--sh)}
.reg-perks .rp:nth-child(2){background:linear-gradient(135deg,#e8912d,#f2b134);color:#1d1406}
.reg-perks .rp .ic{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:rgba(255,255,255,.2);flex-shrink:0}
.reg-perks .rp .ic svg{width:22px;height:22px}.reg-perks b{display:block}.reg-perks small{opacity:.85;font-size:.8rem}
.reg-perks a.rp:hover{transform:translateY(-2px)}
@media (max-width:760px){.reg-perks{grid-template-columns:1fr}}
.form-card{border-top:4px solid var(--amber)}
.stepper{background:linear-gradient(180deg,var(--g50),#fff)}
.hero-ctas{max-width:1100px}
@media (min-width:901px){.hcta .ht b{white-space:nowrap}}
@media (max-width:900px){.hcta{border-left:1px solid rgba(255,255,255,.22);box-shadow:inset 0 0 0 1px rgba(255,255,255,.06),0 10px 30px rgba(0,0,0,.22)}
 .hcta-1{border-color:rgba(242,177,52,.7)}.hcta-2{border-color:rgba(90,209,240,.7)}.hcta-3{border-color:rgba(255,255,255,.5)}}
@media (max-width:640px){.hero p.lead{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;font-size:1rem}
 .hero .badge-row{margin-bottom:14px}.hero-ctas{margin-top:22px}}

/* ===== Chairman: featured leader card + homepage message ===== */
.avatar.photo{background:none;padding:0;overflow:hidden}
.avatar.photo picture,.avatar.photo img{width:100%;height:100%;display:block}
.avatar.photo img{object-fit:cover;object-position:50% 30%;border-radius:50%}
.leaders-top>.person.lead{flex:0 1 460px;padding:40px 32px 34px;border-top:5px solid var(--amber);background:linear-gradient(180deg,var(--amber-l) 0,#fff 55%);box-shadow:var(--sh-lg);position:relative}
.leaders-top>.person.lead::before{content:"Chủ tịch Hội";position:absolute;top:14px;left:50%;transform:translateX(-50%);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#7a4c00;background:#fff;border:1px solid #f0cf8e;border-radius:999px;padding:2px 12px}
.person.lead .avatar.photo{width:200px;height:200px;margin:18px auto 20px;box-shadow:0 0 0 6px #fff,0 0 0 10px var(--amber),0 14px 30px rgba(6,47,41,.18)}
.person.lead h3{font-size:1.45rem}
.person.lead .role{font-size:1.02rem}
.person.lead .note{font-size:.88rem;max-width:320px;margin:8px auto 0}

.chair-msg{background:linear-gradient(135deg,var(--g50) 0,#fff 60%);position:relative;overflow:hidden}
.chair-msg::after{content:"";position:absolute;right:-120px;top:-120px;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(242,165,22,.14),transparent 70%);pointer-events:none}
.chair-grid{display:grid;grid-template-columns:minmax(260px,400px) 1fr;gap:56px;align-items:center;position:relative;z-index:1}
.chair-photo{margin:0;position:relative}
.chair-photo img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--r-lg);box-shadow:var(--sh-lg)}
.chair-photo::before{content:"";position:absolute;inset:18px -18px -18px 18px;border:3px solid var(--amber);border-radius:var(--r-lg);z-index:-1}
.chair-photo figcaption{position:absolute;left:16px;right:16px;bottom:16px;background:rgba(6,47,41,.86);backdrop-filter:blur(4px);color:#fff;border-radius:12px;padding:10px 14px;display:flex;flex-direction:column;line-height:1.35}
.chair-photo figcaption b{font-size:1rem}.chair-photo figcaption span{font-size:.8rem;color:#cfe5df}
.chair-body .card-top{flex-wrap:wrap;align-items:center;margin-bottom:10px}
.chair-body h2{margin-bottom:18px}
.chair-quote{position:relative;padding:4px 0 0 26px;border-left:4px solid var(--g500);color:#23342f}
.chair-quote .qmark{position:absolute;left:-6px;top:-44px;font-size:5.5rem;line-height:1;color:var(--amber);font-family:Georgia,serif;opacity:.55}
.chair-quote p{margin:0 0 .85em;font-size:1.02rem}
.chair-quote .salute{font-weight:600;color:var(--g800)}
.chair-sign{margin:18px 0 22px 30px;display:flex;flex-direction:column;line-height:1.4}
.chair-sign b{font-size:1.1rem;color:var(--g900)}.chair-sign span{color:var(--g600);font-size:.92rem;font-weight:600}
.chair-links{display:flex;gap:12px;flex-wrap:wrap}
.chair-mini{display:grid;grid-template-columns:180px 1fr;gap:36px;align-items:center;background:#fff;border-radius:var(--r-lg);box-shadow:var(--sh);padding:28px 32px;border-left:5px solid var(--amber)}
.chair-mini img{width:180px;height:180px;border-radius:50%;object-fit:cover;object-position:50% 30%;box-shadow:0 0 0 6px var(--amber-l)}
.chair-mini h2{font-size:1.5rem}
@media (max-width:860px){
 .chair-grid{grid-template-columns:1fr;gap:36px}
 .chair-photo{max-width:340px;margin:0 auto 10px}
 .chair-quote{padding-left:18px}.chair-sign{margin-left:22px}
 .chair-mini{grid-template-columns:1fr;text-align:center;padding:26px 20px}
 .chair-mini img{margin:0 auto;width:150px;height:150px}
 .chair-mini .chair-links{justify-content:center}
 .person.lead .avatar.photo{width:170px;height:170px}
}
/* refinements */
.person.lead .avatar.photo{border-radius:26px;width:220px;height:220px}
.person.lead .avatar.photo img{border-radius:26px;object-position:50% 0}
.chair-body h2{margin-bottom:36px}
.chair-quote .qmark{top:-40px;font-size:4.2rem}
@media (max-width:600px){.roster{width:100%;table-layout:fixed}.roster td,.roster th{overflow-wrap:anywhere;word-break:normal}.roster .ph{white-space:normal}}
.person:not(.lead) .avatar.photo{box-shadow:0 0 0 6px var(--g100)}
.roster-person{display:inline-flex;align-items:center;gap:12px}
.roster-person img{width:48px;height:48px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 3px var(--g100);flex:none}
.vp-row{display:flex;gap:24px;flex-wrap:wrap;margin:0 0 16px}
.vp-row .roster-person>span{display:flex;flex-direction:column;line-height:1.3;text-align:left}
.vp-row small{color:var(--g600);font-weight:600;font-size:.8rem}
@media (max-width:860px){.vp-row{justify-content:center}}
.visit-counter{display:inline-flex;flex-wrap:wrap;gap:6px 16px;align-items:center;color:#cfe5df}
.visit-counter[hidden]{display:none}
.visit-counter .vc-item{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.visit-counter svg{width:15px;height:15px}
.visit-counter b{color:#fff;font-variant-numeric:tabular-nums}
.vc-dot{width:8px;height:8px;border-radius:50%;background:#35d07f;box-shadow:0 0 0 3px rgba(53,208,127,.25);display:inline-block}
.update-notice{display:flex;gap:14px;align-items:flex-start;margin-top:16px;padding:16px 18px;border-radius:14px;background:#fff;border:1px dashed #9fcfc3;box-shadow:var(--sh)}
.update-notice>svg{flex:none;width:22px;height:22px;color:var(--g500);margin-top:2px}
.update-notice b{display:block;color:var(--g800);font-size:1rem}
.update-notice span{display:block;color:var(--muted);font-size:.88rem;margin-top:2px}
@media (max-width:600px){.roster.stt th:first-child,.roster.stt td:first-child{width:62px;padding-left:12px;padding-right:6px;white-space:nowrap}}
/* ===== Quyền lợi hội viên: thẻ bấm được + trang bài viết ===== */
a.bcard-link{display:flex;flex-direction:column;color:var(--ink);text-decoration:none!important;cursor:pointer}
a.bcard-link h3{color:var(--g800);transition:color .2s}
a.bcard-link p{color:var(--ink)}
a.bcard-link .bsrc{color:var(--muted)}
a.bcard-link .bc-more{margin-top:auto;padding-top:14px;display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:.92rem;color:var(--g600)}
a.bcard-link .bc-more span{transition:transform .2s}
a.bcard-link:hover h3{color:var(--g600)}
a.bcard-link:hover .bc-more span{transform:translateX(4px)}
a.bcard-link:hover{border-color:#b9dcd2}
a.bcard-link:focus-visible{outline:3px solid var(--amber);outline-offset:3px;border-radius:var(--r-lg)}
a.bcard-link:active{transform:scale(.99)}
.qa-hero-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px}
.qa-num{font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--amber)}
.qa-banner{display:flex;align-items:center;gap:22px;padding:30px 28px;border-radius:var(--r-lg);background:linear-gradient(135deg,var(--g700),var(--g900));color:#fff;position:relative;overflow:hidden;margin:0 0 28px;box-shadow:var(--sh)}
.qa-banner::before{content:"";position:absolute;right:-60px;top:-80px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(242,165,22,.3),transparent 65%)}
.qa-banner::after{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.08) 1px,transparent 1px);background-size:18px 18px;pointer-events:none}
.qa-banner-ic{flex:none;width:92px;height:92px;border-radius:24px;display:grid;place-items:center;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);position:relative;z-index:1}
.qa-banner-ic svg{width:48px;height:48px;color:var(--amber)}
.qa-banner-txt{position:relative;z-index:1;display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.qa-banner-txt b{font-size:1.3rem;line-height:1.3}
.qa-banner-k{font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:#a9cfc6;font-weight:600}
.qa-article h2{scroll-margin-top:90px}
.qa-article ol{padding-left:1.3em}.qa-article ol li{margin-bottom:.5em}
.qa-basis{font-size:.9rem;color:var(--muted);border-top:1px dashed var(--line);padding-top:14px;margin-top:28px}
.qa-cta{margin-top:28px;padding:28px;border-radius:var(--r-lg);background:linear-gradient(120deg,var(--g900),var(--g700));color:#d3e8e2;display:flex;flex-direction:column;gap:16px}
.qa-cta h2{color:#fff;margin:0 0 6px;font-size:1.3rem}
.qa-cta p{margin:0}
.qa-cta .actions{display:flex;flex-wrap:wrap;gap:12px}
.qa-side-ic{width:56px;height:56px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,var(--g600),var(--g800));color:#fff;margin-bottom:10px}
.qa-side-ic svg{width:28px;height:28px}
.qa-side p{margin:0 0 8px}
.qa-others{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.qa-other{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:16px;color:var(--ink);text-decoration:none!important;box-shadow:var(--sh);transition:transform .2s,box-shadow .2s,border-color .2s}
.qa-other:hover{transform:translateY(-3px);box-shadow:var(--sh-lg);border-color:#b9dcd2}
.qa-other .ic{flex:none;width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,var(--g600),var(--g800));color:#fff}
.qa-other .ic svg{width:22px;height:22px}
.qa-other .t{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0;flex:1}
.qa-other .t b{font-size:.95rem;line-height:1.3;color:var(--g800)}
.qa-other .t .tag-sample,.qa-other .t .tag-done{font-size:.68rem;padding:2px 8px}
.qa-other .go{color:var(--g600);font-weight:700}
@media (max-width:1100px){.qa-others{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){
 .qa-banner{padding:22px 18px;gap:16px}
 .qa-banner-ic{width:68px;height:68px;border-radius:18px}.qa-banner-ic svg{width:36px;height:36px}
 .qa-banner-txt b{font-size:1.08rem}
 .qa-cta{padding:22px 18px}.qa-cta .actions .btn{width:100%;justify-content:center}
 .qa-others{grid-template-columns:1fr;gap:10px}
 .qa-other{padding:12px 14px}
 .qa-article .tag-sample{white-space:normal}
 .qa-sec .sidebar{display:none}
}

/* ===================== MOTION (v2026-09-29) ===================== */
/* Scroll reveal – .rv is added by JS only, so content stays visible if JS fails */
.rv{opacity:0;transform:translate3d(0,24px,0);transition:opacity .65s cubic-bezier(.22,.61,.36,1),transform .65s cubic-bezier(.22,.61,.36,1);transition-delay:var(--rvd,0s)}
.rv.rv-l{transform:translate3d(-26px,0,0)}.rv.rv-r{transform:translate3d(26px,0,0)}.rv.rv-z{transform:scale(.96)}
.rv.in{opacity:1;transform:none}
/* Header: smoother shadow + reading-progress hairline */
.site-header{transition:box-shadow .4s ease,background-color .4s ease}
.site-header::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:linear-gradient(90deg,var(--g600),var(--amber));transform-origin:0 50%;transform:scaleX(var(--sp,0));pointer-events:none;opacity:.9}
/* Hero: gentle Ken Burns + floating soft light shapes */
@media (prefers-reduced-motion:no-preference){
 .hero-bg{will-change:transform;animation:kenburns 26s ease-in-out infinite alternate}
 @keyframes kenburns{from{transform:scale(1.02) translate3d(0,0,0)}to{transform:scale(1.12) translate3d(-1.5%,-1%,0)}}
 .hero::before{content:"";position:absolute;z-index:1;pointer-events:none;width:520px;height:520px;right:-140px;top:-160px;border-radius:50%;
  background:radial-gradient(circle,rgba(242,177,52,.28),rgba(242,177,52,0) 65%);will-change:transform;animation:floatA 16s ease-in-out infinite alternate}
 .hero .container::before{content:"";position:absolute;z-index:-1;pointer-events:none;width:420px;height:420px;left:-160px;bottom:-200px;border-radius:50%;
  background:radial-gradient(circle,rgba(90,209,240,.20),rgba(90,209,240,0) 65%);will-change:transform;animation:floatB 19s ease-in-out infinite alternate}
 @keyframes floatA{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(-90px,70px,0) scale(1.15)}}
 @keyframes floatB{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(110px,-60px,0) scale(1.2)}}
 .page-hero::before{animation:floatA 18s ease-in-out infinite alternate;will-change:transform}
 /* Hero CTA: periodic soft shine sweep + pulse ring on primary */
 .hcta{overflow:hidden}
 .hcta::before{animation:hctaShine 7s ease-in-out 1.6s infinite}
 .hcta-2::before{animation-delay:2.4s}.hcta-3::before{animation-delay:3.2s}
 @keyframes hctaShine{0%,72%{transform:translateX(-120%)}90%,100%{transform:translateX(120%)}}
 .hcta-3 .hi{position:relative}
 .hcta-3 .hi::after{content:"";position:absolute;inset:0;border-radius:inherit;border:2px solid #10302a;opacity:0;animation:hctaPulse 2.8s ease-out 1.2s infinite}
 @keyframes hctaPulse{0%{opacity:.55;transform:scale(1)}80%,100%{opacity:0;transform:scale(1.45)}}
 .hcta-1 .hi svg,.hcta-2 .hi svg{animation:iconBob 4.5s ease-in-out infinite}.hcta-2 .hi svg{animation-delay:.6s}
 @keyframes iconBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}
 .hero h1 em{background:linear-gradient(90deg,var(--amber),#ffd98a,var(--amber));background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:emShift 6s linear infinite}
 @keyframes emShift{to{background-position:-200% 0}}
 .stat .num{transition:color .3s}
}
/* Cards: hover/tap lift + image zoom */
.news-card,.bcard,.qcard,.icard,.course,.card.icard{transition:transform .3s cubic-bezier(.22,.61,.36,1),box-shadow .3s,border-color .3s}
.news-card .thumb img{transition:transform .7s cubic-bezier(.22,.61,.36,1)}
.row-track>.news-card:hover{box-shadow:var(--sh-lg);border-color:#cfe5de}
.row-track>.news-card:hover .thumb img{transform:scale(1.06)}
.icard:hover,.course:hover{transform:translateY(-4px);box-shadow:var(--sh-lg)}
.icard .ic,.bcard .ic,.qcard .ic{transition:transform .35s cubic-bezier(.34,1.56,.64,1)}
.icard:hover .ic,.bcard:hover .ic,.qcard:hover .ic{transform:scale(1.08) rotate(-4deg)}
@media (hover:none){
 .news-card:active,.bcard:active,.qcard:active,.icard:active,.course:active{transform:translateY(-2px) scale(.985);box-shadow:var(--sh-lg)}
 .news-card:active .thumb img{transform:scale(1.05)}
}
/* Stats count-up: stable digit width, no layout shift */
.stat .num{font-variant-numeric:tabular-nums}
/* "Tin mới" ticker */
.ticker{background:#fff;border-bottom:1px solid var(--line);overflow:hidden}
.tk-in{display:flex;align-items:center;gap:14px;min-height:46px}
.tk-label{flex-shrink:0;display:inline-flex;align-items:center;gap:8px;background:var(--g800,#0a3f37);color:#fff;font-weight:700;font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;padding:5px 12px;border-radius:999px}
.tk-dot{width:8px;height:8px;border-radius:50%;background:var(--amber);box-shadow:0 0 0 0 rgba(242,177,52,.7)}
.tk-view{flex:1;min-width:0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 24px,#000 calc(100% - 24px),transparent);mask-image:linear-gradient(90deg,transparent,#000 24px,#000 calc(100% - 24px),transparent)}
.tk-track{display:flex;width:max-content}
.tk-set{display:flex;flex-shrink:0}
.tk-set a{display:inline-flex;align-items:center;gap:10px;white-space:nowrap;padding:0 26px 0 0;color:var(--g900);font-weight:500;font-size:.9rem;text-decoration:none}
.tk-set a i{width:6px;height:6px;border-radius:50%;background:var(--g600);flex-shrink:0}
.tk-set a:hover,.tk-set a:focus-visible{color:var(--g600);text-decoration:underline}
@media (prefers-reduced-motion:no-preference){
 .tk-track{animation:tkMove var(--tkd,70s) linear infinite}
 .ticker:hover .tk-track,.ticker:focus-within .tk-track,.ticker.paused .tk-track{animation-play-state:paused}
 @keyframes tkMove{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
 .tk-dot{animation:tkDot 2s ease-out infinite}
 @keyframes tkDot{0%{box-shadow:0 0 0 0 rgba(242,177,52,.7)}100%{box-shadow:0 0 0 8px rgba(242,177,52,0)}}
}
@media (prefers-reduced-motion:reduce){.tk-view{overflow-x:auto}.tk-set[aria-hidden]{display:none}}
@media (max-width:560px){.tk-in{gap:10px;min-height:42px}.tk-label{font-size:.72rem;padding:4px 10px}.tk-set a{font-size:.85rem}}
/* Mobile: one-time swipe hint on horizontal news rows */
@keyframes rowHint{0%,100%{transform:translate3d(0,0,0)}35%{transform:translate3d(-38px,0,0)}60%{transform:translate3d(-38px,0,0)}}
.row-track.hint>.news-card{animation:rowHint 1.4s cubic-bezier(.45,0,.2,1) 1}
.row-track.hint>.news-card:nth-child(2){animation-delay:.05s}.row-track.hint>.news-card:nth-child(3){animation-delay:.1s}
@media print{.rv{opacity:1!important;transform:none!important}}
@media (prefers-reduced-motion:reduce){.rv{opacity:1!important;transform:none!important}.site-header::after{display:none}}
/* ===== Kiến thức: quả cầu côn trùng 3D (tiles link to #pest cards) ===== */
.pest-globe{position:relative;height:360px;margin:0 auto 32px;max-width:720px;display:flex;flex-wrap:wrap;align-content:center;justify-content:center;gap:10px;
 border-radius:24px;background:radial-gradient(ellipse at 50% 45%,#ffffff 0%,rgba(255,255,255,.6) 45%,rgba(255,255,255,0) 72%);overflow:hidden}
.pg-canvas{display:none}
.pg-tiles{display:contents}
.pg-tile{display:inline-flex;align-items:center;gap:8px;padding:6px 14px 6px 6px;border-radius:999px;background:#fff;border:1px solid #cfe5de;color:var(--g900);font-weight:700;font-size:.9rem;text-decoration:none!important;box-shadow:0 6px 18px rgba(6,47,41,.12);white-space:nowrap}
.pg-tile .pg-ic{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--g600),var(--g800));color:#fff;flex-shrink:0}
.pg-tile .pg-ic svg{width:17px;height:17px}
.pg-tile:hover,.pg-tile:focus-visible{border-color:var(--amber);color:var(--g700)}
.pg-tile:focus-visible{outline:3px solid var(--amber);outline-offset:2px}
.pg-hint{display:none}
.pest-globe.pg-on{display:block;touch-action:pan-y;-webkit-user-select:none;user-select:none;cursor:grab;-webkit-tap-highlight-color:transparent}
.pest-globe.pg-on.pg-drag{cursor:grabbing}
.pest-globe.pg-on .pg-canvas{display:block;position:absolute;inset:0;width:100%;height:100%}
.pest-globe.pg-on .pg-tiles{display:block;position:absolute;inset:0}
.pest-globe.pg-on .pg-tile{position:absolute;left:0;top:0;will-change:transform,opacity;transform-origin:50% 50%;-webkit-user-drag:none}
.pest-globe.pg-on .pg-tile *{pointer-events:none}
.pest-globe.pg-on .pg-hint{display:block;position:absolute;left:0;right:0;bottom:8px;margin:0;text-align:center;font-size:.78rem;color:var(--muted);pointer-events:none}
.pest-card{position:relative;scroll-margin-top:100px}
.pest-alias{position:absolute;top:0;left:0;width:1px;height:1px;scroll-margin-top:100px}
@keyframes pestFlash{0%{box-shadow:0 0 0 0 rgba(242,177,52,.0);border-color:var(--line)}20%{box-shadow:0 0 0 6px rgba(242,177,52,.45);border-color:var(--amber)}100%{box-shadow:0 0 0 0 rgba(242,177,52,0);border-color:var(--line)}}
.pest-card.pg-flash,.pest-card:target,.pest-card:has(.pest-alias:target){animation:pestFlash 1.8s ease-out 1}
@media (max-width:640px){.pest-globe{height:320px;margin-bottom:24px;border-radius:18px}.pg-tile{font-size:.82rem;padding:5px 12px 5px 5px}.pg-tile .pg-ic{width:26px;height:26px}.pg-tile .pg-ic svg{width:15px;height:15px}}
@media (max-width:900px){.rv.rv-l,.rv.rv-r{transform:translate3d(0,24px,0)}}
/* ===== Trang chủ: quả cầu côn trùng trong hero (glass, cột phải ~40% desktop/tablet; dưới CTA trên mobile) ===== */
.hero-grid{display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"text" "ctas" "globe"}
.hero-grid>.hero-text{grid-area:text;min-width:0}
.hero-grid>.hero-ctas{grid-area:ctas}
.hero-grid>.hero-globe{grid-area:globe;min-width:0;margin-top:22px}
.pest-globe.pg-hero{max-width:none;height:auto;margin:0;padding:18px;gap:8px;border-radius:22px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.pest-globe.pg-hero .pg-tile{color:var(--g900);border-color:rgba(255,255,255,.9);box-shadow:0 8px 22px rgba(0,0,0,.28)}
.pest-globe.pg-hero .pg-tile:hover,.pest-globe.pg-hero .pg-tile:focus-visible{border-color:var(--amber);color:var(--g700)}
.pest-globe.pg-hero.pg-on{height:280px;padding:0;background:none;border:0;border-radius:0;-webkit-backdrop-filter:none;backdrop-filter:none}
.pest-globe.pg-hero.pg-on::before{content:"";position:absolute;left:50%;top:var(--pg-cy,50%);width:calc(var(--pg-r,120px)*2);height:calc(var(--pg-r,120px)*2);transform:translate(-50%,-50%);border-radius:50%;pointer-events:none;
 background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.16),rgba(255,255,255,.04) 70%);border:1px solid rgba(255,255,255,.22);
 box-shadow:inset 0 0 50px rgba(255,255,255,.10),0 24px 60px rgba(0,0,0,.28);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}
.pest-globe.pg-hero.pg-on .pg-hint{color:rgba(255,255,255,.82);text-shadow:0 1px 3px rgba(0,0,0,.5);bottom:4px}
@media (min-width:768px){
 .hero-grid{grid-template-columns:minmax(0,3fr) minmax(0,2fr);column-gap:28px;grid-template-areas:"text globe" "ctas ctas"}
 .hero-grid>.hero-globe{margin-top:0;align-self:center}
 .pest-globe.pg-hero.pg-on{height:340px}
}
@media (min-width:1100px){.pest-globe.pg-hero.pg-on{height:400px}}
@media (max-width:640px){.pest-globe.pg-hero .pg-tile{font-size:.82rem}}
/* ===================== HOME LOWER: rich sections + per-section motion (data-fxs / data-fx) =====================
   JS (main.js "fx" module) adds .fx-pre only to off-screen items and .fx-arm only to off-screen scopes,
   so content is fully visible without JS and with prefers-reduced-motion. */
[data-fxs]{overflow-x:hidden;overflow-x:clip}
[data-fx].fx-pre{opacity:0;transition:opacity .7s cubic-bezier(.22,.61,.36,1),transform .85s cubic-bezier(.22,.61,.36,1),clip-path 1s cubic-bezier(.65,0,.35,1);transition-delay:calc(var(--i,0)*90ms)}
.fx-pre[data-fx=up]{transform:translate3d(0,28px,0)}
.fx-pre[data-fx=rise]{transform:translate3d(0,44px,0)}
.fx-pre[data-fx=left]{transform:translate3d(-46px,0,0)}
.fx-pre[data-fx=right]{transform:translate3d(46px,0,0)}
.fx-pre[data-fx=scale]{transform:scale(.86)}
.fx-pre[data-fx=pop]{transform:scale(.55) rotate(-8deg)}
.fx-pre[data-fx=flip]{transform:perspective(900px) rotateX(28deg) translate3d(0,34px,0);transform-origin:50% 100%}
.fx-pre[data-fx=frame]{transform:translate3d(-34px,0,0)}
.fx-pre[data-fx=frame]::before{transform:translate(-18px,-18px);opacity:0;transition:transform .9s cubic-bezier(.22,.61,.36,1) .45s,opacity .6s .45s}
.fx-pre[data-fx=wipe]{opacity:1;clip-path:inset(0 100% 0 0 round 22px)}
.fx-pre[data-fx=pills]{opacity:1}
.fx-pre[data-fx=pills]>span{opacity:0;transform:translate3d(0,14px,0) scale(.7);transition:opacity .45s,transform .55s cubic-bezier(.34,1.56,.64,1);transition-delay:calc(var(--i,0)*70ms)}
.fx-pre.fx-in{opacity:1;transform:none;clip-path:inset(0 0 0 0 round 22px)}
.fx-pre.fx-in[data-fx=frame]::before{transform:none;opacity:1}
.fx-pre.fx-in[data-fx=pills]>span{opacity:1;transform:none}

/* ---- Stats: icons + progress-style meters ---- */
.h-stats{padding:72px 0 76px;background:radial-gradient(circle at 12% 0,rgba(22,144,122,.08),transparent 45%),radial-gradient(circle at 90% 100%,rgba(242,165,22,.09),transparent 40%)}
.stats-x .stat{position:relative;display:flex;flex-direction:column;transition:background .3s}
.stats-x .stat:hover{background:var(--g50)}
.st-ic{position:absolute;right:18px;top:18px;width:40px;height:40px;border-radius:12px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,var(--g500),var(--g700));box-shadow:0 8px 18px -8px var(--g700);transition:transform .5s cubic-bezier(.34,1.56,.64,1)}
.stats-x .stat:nth-child(4) .st-ic{background:linear-gradient(135deg,#f7b733,var(--amber-d))}
.st-ic svg{width:20px;height:20px}
.stats-x .stat:hover .st-ic,.stats-x .stat:active .st-ic{transform:rotate(-10deg) scale(1.1)}
.stats-x .num{padding-right:44px}
.meter{margin-top:14px;display:flex;gap:4px;flex-wrap:wrap;align-items:center}
.meter .bar{flex:1 1 100%;height:7px;border-radius:9px;background:var(--g100);overflow:hidden}
.meter .bar b{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--g500),var(--amber));transform-origin:0 50%;transition:transform 1.6s cubic-bezier(.22,.61,.36,1) .2s}
.meter .ends{flex:1 1 100%;display:flex;justify-content:space-between;font-size:.72rem;font-weight:700;color:var(--g600)}
.meter .ends em{font-style:normal}
.meter.dots i{width:9px;height:9px;border-radius:50%;background:var(--g500);opacity:.35;transition:transform .45s cubic-bezier(.34,1.56,.64,1),opacity .4s;transition-delay:calc(.25s + var(--k)*55ms)}
.meter.dots i.on{background:var(--amber);opacity:1}
.meter.segs i{flex:1;height:7px;border-radius:4px;background:linear-gradient(90deg,var(--g500),var(--g600));transition:transform .4s,opacity .4s;transition-delay:calc(.2s + var(--k)*120ms);transform-origin:0 50%}
.meter.trio i{font-style:normal;font-size:.68rem;font-weight:800;padding:3px 8px;border-radius:999px;background:var(--g100);color:var(--g700);transition:transform .45s cubic-bezier(.34,1.56,.64,1),opacity .4s;transition-delay:calc(.25s + var(--k)*160ms)}
.meter.trio i.on{background:var(--amber);color:#1b1300}
.fx-arm:not(.is-in) .meter .bar b{transform:scaleX(0)}
.fx-arm:not(.is-in) .meter.dots i,.fx-arm:not(.is-in) .meter.trio i{transform:scale(0);opacity:0}
.fx-arm:not(.is-in) .meter.segs i{transform:scaleX(0);opacity:0}
.stats-x .src{margin-top:10px}

/* ---- About: chips, icon list, image wipe + overlapping frame ---- */
.ab-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}
.ab-chips span{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:6px 12px;font-size:.82rem;font-weight:600;color:var(--g700)}
.ab-chips svg{width:15px;height:15px;color:var(--g500)}
.ab-list{list-style:none;padding:0;margin:0 0 26px;display:grid;gap:12px}
.ab-list li{display:flex;gap:14px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px 14px;transition:border-color .3s,box-shadow .3s}
.ab-list li:hover{border-color:#bfe0d6;box-shadow:var(--sh)}
.ab-ic{flex-shrink:0;width:36px;height:36px;border-radius:10px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,var(--g500),var(--g700))}
.ab-list li:nth-child(2) .ab-ic{background:linear-gradient(135deg,#f7b733,var(--amber-d))}
.ab-list li:nth-child(3) .ab-ic{background:linear-gradient(135deg,#3fa9f5,#1d5fbf)}
.ab-list li:nth-child(4) .ab-ic{background:linear-gradient(135deg,#f5738f,#c7254e)}
.ab-ic svg{width:18px;height:18px}
.ab-media{position:relative;padding:0 0 56px}
.ab-main{margin:0}
.ab-main img{border-radius:var(--r-lg);box-shadow:var(--sh-lg);width:100%}
.ab-sub{position:absolute;right:-14px;bottom:0;width:44%;margin:0;border:6px solid #fff;border-radius:18px;box-shadow:var(--sh-lg);overflow:hidden;rotate:3deg}
.ab-sub img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.ab-float{position:absolute;left:-22px;bottom:14px;background:#fff;border-radius:var(--r);padding:16px 20px;box-shadow:var(--sh-lg);border:1px solid var(--line);max-width:250px;display:flex;flex-direction:column;border-left:4px solid var(--amber)}
.ab-float b{font-size:1.5rem;color:var(--g700);line-height:1.1}
.ab-float span{font-size:.85rem;color:var(--muted)}
.ab-float small{font-size:.76rem;color:var(--g600);font-weight:600;margin-top:4px}

/* ---- Chairman: pull quote typewriter + marker sweep ---- */
.chair-pull{position:relative;margin:0 0 22px;padding:16px 20px 16px 22px;background:#fff;border-radius:16px;box-shadow:var(--sh);font-size:1.12rem;font-weight:700;line-height:1.5;color:var(--g800);border-left:5px solid var(--amber)}
.tw .w{transition:opacity .28s;transition-delay:calc(var(--k)*50ms)}
.fx-arm .tw .w{opacity:.1}
.fx-arm.is-in .tw .w{opacity:1}
.chair-pull.typing .tw::after{content:"";display:inline-block;width:2px;height:1.05em;margin-left:3px;vertical-align:-.15em;background:var(--amber);animation:twCaret .8s steps(1) infinite}
@keyframes twCaret{50%{opacity:0}}
.chair-quote mark.hl{color:inherit;padding:0 2px;background:linear-gradient(transparent 56%,rgba(242,165,22,.36) 56%) no-repeat 0 0/100% 100%;transition:background-size 1.5s cubic-bezier(.65,0,.35,1) 1.8s}
.chair-quote mark.hl2{transition-delay:2.6s}
.fx-arm:not(.is-in) .chair-quote mark.hl{background-size:0 100%}
.chair-org{list-style:none;padding:0;margin:0 0 22px 30px;display:flex;gap:10px;flex-wrap:wrap}
.chair-org li{display:flex;align-items:baseline;gap:6px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:8px 14px}
.chair-org b{font-size:1.25rem;color:var(--g700)}.chair-org span{font-size:.82rem;color:var(--muted);font-weight:600}

/* ---- Quick links: gradient tiles, facts, animated border, per-icon micro-animations ---- */
.h-quick{background:radial-gradient(rgba(15,92,80,.07) 1px,transparent 1.5px) 0 0/22px 22px,#fff}
.quick-grid.qx-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.qx{--c1:#1fb89a;--c2:#0f5c50;--cl:#e3f5f0;padding:24px 22px 20px;gap:10px;isolation:isolate;box-shadow:var(--sh)}
.q-amber{--c1:#f7b733;--c2:#e0740c;--cl:#fff1d6}.q-green{--c1:#7cc452;--c2:#1e8e5a;--cl:#eaf6e3}.q-blue{--c1:#48b0f7;--c2:#1d5fbf;--cl:#e4f0fd}
.q-violet{--c1:#a487f3;--c2:#5b3cc4;--cl:#efeafd}.q-rose{--c1:#f77f98;--c2:#c7254e;--cl:#fde9ee}
.qx::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,var(--c1),var(--c2),var(--c1));background-size:200% 100%;z-index:1}
.qx::after{background:linear-gradient(90deg,var(--c1),var(--c2))}
.qx-glow{position:absolute;right:-60px;top:-60px;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,var(--cl),transparent 70%);z-index:-1;transition:transform .6s cubic-bezier(.22,.61,.36,1)}
.qx:hover{border-color:var(--c1);box-shadow:0 22px 44px -22px var(--c2),0 0 0 1px var(--c1)}
.qx:hover .qx-glow{transform:scale(1.6)}
.qx .ic{background:linear-gradient(135deg,var(--c1),var(--c2));color:#fff;box-shadow:0 10px 20px -8px var(--c2);margin-bottom:2px}
.qx h3{font-size:1.06rem}
.qx-fact{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.qx-fact b{font-size:2rem;font-weight:800;line-height:1;background:linear-gradient(135deg,var(--c1),var(--c2));-webkit-background-clip:text;background-clip:text;color:transparent;font-variant-numeric:tabular-nums}
.qx-fact span{font-size:.85rem;font-weight:600;color:var(--g800)}
.qx-mini{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.qx-mini li{position:relative;padding-left:16px;font-size:.86rem;color:var(--muted);line-height:1.45}
.qx-mini li::before{content:"";position:absolute;left:2px;top:.55em;width:7px;height:7px;border-radius:2px;background:var(--c1);rotate:45deg}
.qx .more{color:var(--c2)}
@media (prefers-reduced-motion:no-preference){
 .qx::before{animation:qxBar 5s linear infinite}
 @keyframes qxBar{to{background-position:-200% 0}}
 .qx:hover .ic svg,.qx:active .ic svg,.qx:focus-visible .ic svg,.qx.fx-in .ic svg{animation:var(--ia) .9s cubic-bezier(.34,1.3,.64,1) both}
 .qx.fx-in .ic svg{animation-delay:calc(var(--i,0)*90ms + .45s)}
 .ic-search{--ia:icScan}.ic-user-plus{--ia:icPop}.ic-cap{--ia:icToss}.ic-book{--ia:icFlip}.ic-megaphone{--ia:icShout}.ic-award{--ia:icSwing}
 @keyframes icScan{0%,100%{transform:none}25%{transform:translate(-3px,-2px) rotate(-12deg)}55%{transform:translate(3px,1px) rotate(10deg)}80%{transform:translate(0,-1px)}}
 @keyframes icPop{0%,100%{transform:none}35%{transform:scale(1.28)}60%{transform:scale(.9)}80%{transform:scale(1.06)}}
 @keyframes icToss{0%,100%{transform:none}40%{transform:translateY(-6px) rotate(-16deg)}70%{transform:translateY(1px) rotate(4deg)}}
 @keyframes icFlip{0%,100%{transform:perspective(80px) rotateY(0)}50%{transform:perspective(80px) rotateY(180deg)}}
 @keyframes icShout{0%,100%{transform:none}20%,60%{transform:rotate(-12deg) scale(1.1)}40%,80%{transform:rotate(10deg) scale(1.1)}}
 @keyframes icSwing{0%,100%{transform:none}25%{transform:rotate(16deg)}50%{transform:rotate(-12deg)}75%{transform:rotate(6deg)}}
 .ic svg{transform-origin:50% 40%}
}

/* ---- FAOPMA: dark band, orbit badge with tilt/parallax ---- */
.h-faopma{background:radial-gradient(circle at 85% 15%,rgba(242,165,22,.22),transparent 45%),radial-gradient(rgba(255,255,255,.06) 1.2px,transparent 1.6px) 0 0/28px 28px,linear-gradient(135deg,var(--g700),var(--g900));color:#d6ebe5}
.h-faopma h2{color:#fff}.h-faopma .eyebrow{color:var(--amber)}
.h-faopma p{color:#cfe7e0}
.fa-grid{display:grid;grid-template-columns:minmax(260px,400px) 1fr;gap:60px;align-items:center}
.fa-badge-wrap{display:grid;place-items:center;perspective:900px}
.fa-badge{--rx:0deg;--ry:0deg;--py:0px;position:relative;width:min(340px,78vw);aspect-ratio:1;transform:translate3d(0,var(--py),0) rotateX(var(--rx)) rotateY(var(--ry));transform-style:preserve-3d;transition:transform .25s ease-out}
.fa-ring{position:absolute;border-radius:50%;border:1.5px dashed rgba(255,255,255,.28)}
.fa-ring.r1{inset:0}.fa-ring.r2{inset:13%;border-style:solid;border-color:rgba(242,165,22,.45)}.fa-ring.r3{inset:26%;border-color:rgba(255,255,255,.18)}
.fa-ring.r3 i{position:absolute;left:50%;top:-6px;width:12px;height:12px;margin-left:-6px;border-radius:50%;background:var(--amber);box-shadow:0 0 14px var(--amber)}
.fa-core{position:absolute;inset:32%;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ffd98a,var(--amber) 55%,var(--amber-d));color:#1b1300;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 18px 40px -10px rgba(0,0,0,.45),inset 0 -6px 16px rgba(0,0,0,.12);transform:translateZ(40px);text-align:center;line-height:1.1}
.fa-core svg{width:34%;height:auto;margin-bottom:4px}
.fa-core b{font-size:clamp(.95rem,3.4vw,1.2rem);font-weight:800;letter-spacing:.04em}
.fa-core small{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;opacity:.8}
.fa-tag{position:absolute;background:rgba(255,255,255,.12);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.25);color:#fff;font-size:.78rem;font-weight:700;padding:6px 12px;border-radius:999px;white-space:nowrap;transform:translateZ(70px)}
.fa-tag.t1{left:-2%;top:18%;background:var(--amber);color:#1b1300;border-color:transparent}.fa-tag.t2{right:0;top:36%}.fa-tag.t3{left:6%;bottom:12%}
.fa-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0}
.fa-facts>div{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:14px;padding:14px 16px;transition:background .3s,transform .3s}
.fa-facts>div:hover{background:rgba(255,255,255,.12);transform:translateY(-3px)}
.fa-facts b{display:block;font-size:1.45rem;color:var(--amber);line-height:1.15;margin-bottom:4px}
.fa-facts span{font-size:.84rem;color:#cfe7e0;line-height:1.4;display:block}
.fa-list{list-style:none;padding:0;margin:0 0 24px;display:grid;gap:10px}
.fa-list li{display:flex;gap:10px;align-items:flex-start;color:#e3f2ee}
.fa-list svg{width:20px;height:20px;flex-shrink:0;color:var(--amber);margin-top:2px}
@media (prefers-reduced-motion:no-preference){
 .fa-ring.r1{animation:faSpin 60s linear infinite}.fa-ring.r2{animation:faSpin 40s linear infinite reverse}.fa-ring.r3{animation:faSpin 11s linear infinite}
 @keyframes faSpin{to{rotate:360deg}}
 .fa-tag{animation:faBob 5s ease-in-out infinite}.fa-tag.t2{animation-delay:-1.6s}.fa-tag.t3{animation-delay:-3.2s}
 @keyframes faBob{0%,100%{translate:0 0}50%{translate:0 -8px}}
 .fa-core{animation:faGlow 4s ease-in-out infinite}
 @keyframes faGlow{0%,100%{box-shadow:0 18px 40px -10px rgba(0,0,0,.45),0 0 0 0 rgba(242,165,22,.35)}50%{box-shadow:0 18px 40px -10px rgba(0,0,0,.45),0 0 0 14px rgba(242,165,22,0)}}
}

/* ---- Activities: photo cards, 3D flip-up reveal, image zoom ---- */
.card.ax{padding:0;overflow:hidden;display:flex;flex-direction:column}
.ax-img{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--g100)}
.ax-img img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s cubic-bezier(.22,.61,.36,1)}
.fx-pre[data-fx=flip] .ax-img img{transform:scale(1.18)}
.fx-pre.fx-in[data-fx=flip] .ax-img img{transform:scale(1)}
.ax:hover .ax-img img{transform:scale(1.07)}
.ax-img .ic{position:absolute;left:16px;bottom:-1px;margin:0;border-radius:14px 14px 0 0;background:#fff;box-shadow:0 -4px 14px rgba(6,47,41,.12)}
.icard.ax:hover .ic{transform:translateY(-4px)}
.ax-body{padding:18px 22px 22px;display:flex;flex-direction:column;flex:1}
.ax-fact{align-self:flex-start;font-size:.74rem;font-weight:700;color:var(--g700);background:var(--g100);border-radius:999px;padding:4px 10px;margin-bottom:10px}
.ax.amber .ax-fact{background:var(--amber-l);color:var(--amber-d)}
.ax-body h3{margin-bottom:6px}
.ax-body p{margin:0 0 12px;color:var(--muted);font-size:.92rem}
.ax-more{margin-top:auto;display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:.88rem;color:var(--g600)}
.ax-more svg{width:15px;height:15px;transition:transform .2s}.ax-more:hover svg{transform:translateX(4px)}

/* ---- Timeline: scroll-drawn line, zigzag cards ---- */
.htl-wrap{position:relative;--p:1}
.htl-wrap::before,.htl-line{content:"";position:absolute;left:50%;top:6px;bottom:6px;width:4px;margin-left:-2px;border-radius:4px;background:var(--g100)}
.htl-line{background:linear-gradient(180deg,var(--g500),var(--amber));transform:scaleY(var(--p));transform-origin:50% 0;z-index:1}
.htl{list-style:none;margin:0;padding:0;position:relative}
.htl li{position:relative;width:50%;padding:0 46px 26px 0}
.htl li.odd{margin-left:50%;padding:0 0 26px 46px}
.tl-dot{position:absolute;top:4px;right:-21px;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;z-index:2;background:var(--g600);color:#fff;border:3px solid #fff;box-shadow:0 0 0 2px var(--g100),0 6px 16px -6px rgba(6,47,41,.4);transition:background .4s,color .4s,transform .45s cubic-bezier(.34,1.56,.64,1)}
.htl li.odd .tl-dot{right:auto;left:-21px}
.htl li.hl .tl-dot{background:var(--amber);color:#1b1300}
.tl-dot svg{width:19px;height:19px}
.tl-js li:not(.on) .tl-dot{background:#fff;color:var(--g500);transform:scale(.82)}
.tl-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px 20px;box-shadow:var(--sh);text-align:right;transition:border-color .4s,box-shadow .4s}
.htl li.odd .tl-card{text-align:left}
.htl li.on .tl-card{border-color:#c6e4da}
.htl li.hl .tl-card{border-top:3px solid var(--amber)}
.tl-when{display:inline-block;font-size:.76rem;font-weight:800;letter-spacing:.04em;color:var(--g600);text-transform:uppercase;margin-bottom:4px}
.tl-card h3{font-size:1.05rem;margin:0 0 4px}
.tl-card p{margin:0;color:var(--muted);font-size:.9rem}

/* ---- Members: dual marquee + chip cascade ---- */
.mb-count{display:flex;flex-wrap:wrap;gap:10px;margin:-14px 0 24px}
.mb-count span{background:var(--g50);border:1px solid var(--line);border-radius:999px;padding:6px 14px;font-size:.85rem;color:var(--g800)}
.mb-count b{color:var(--g600);font-size:1.05rem;margin-right:2px}
.mb-rows{display:grid;gap:14px}
.logo-strip.rev .logo-track{animation-direction:reverse;animation-duration:52s}
.logo-strip.paused .logo-track{animation-play-state:paused}
.mb-rows .logo-item{transition:transform .3s,box-shadow .3s,border-color .3s}
.mb-rows .logo-item:hover{transform:translateY(-3px);box-shadow:var(--sh);border-color:#c6e4da}
.mb-rows .logo-item img{filter:grayscale(.6) opacity(.85);transition:filter .3s}
.mb-rows .logo-item:hover img{filter:none}
.mb-partners{margin-top:40px}
.mb-partners h3{font-size:1rem;text-transform:uppercase;letter-spacing:.08em;color:var(--g700)}
.pl-x span{display:inline-flex;align-items:center;gap:8px;transition:transform .25s,border-color .25s,background .25s}
.pl-x span::before{content:"";width:8px;height:8px;border-radius:50%;background:linear-gradient(135deg,var(--g500),var(--amber))}
.pl-x span:hover{transform:translateY(-2px);border-color:var(--g500);background:var(--g50)}
@media (prefers-reduced-motion:reduce){.logo-strip.rev{display:none}}

/* ---- CTA: floating orbs + sequential 5-step chips ---- */
.cta-x{isolation:isolate}
.cta-x::before{z-index:-1}
.cta-orb{position:absolute;border-radius:50%;pointer-events:none;z-index:-1}
.cta-orb.o1{left:-60px;top:-80px;width:240px;height:240px;background:radial-gradient(circle,rgba(90,209,240,.22),transparent 65%)}
.cta-orb.o2{right:30%;bottom:-90px;width:200px;height:200px;background:radial-gradient(circle,rgba(255,255,255,.12),transparent 65%)}
.cta-steps{list-style:none;padding:0;margin:20px 0 14px;display:flex;flex-wrap:wrap;gap:8px}
.cta-steps li{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:5px 12px 5px 5px;font-size:.82rem;font-weight:600;color:#e3f2ee}
.cta-steps li span{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.16);font-size:.74rem;font-weight:800}
.cta-contact{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:.9rem}
.cta-contact svg{width:17px;height:17px;color:var(--amber)}
.cta-contact a{color:#fff;font-weight:700}
@media (prefers-reduced-motion:no-preference){
 .cta-orb.o1{animation:floatB 14s ease-in-out infinite alternate}.cta-orb.o2{animation:floatA 17s ease-in-out infinite alternate}
 .is-in .cta-steps li span{animation:stepLit 6s ease-in-out infinite;animation-delay:calc(var(--k)*.6s + .4s)}
 @keyframes stepLit{0%,6%{background:rgba(255,255,255,.16);color:inherit;transform:none}10%,28%{background:var(--amber);color:#1b1300;transform:scale(1.15)}36%,100%{background:rgba(255,255,255,.16);color:inherit;transform:none}}
}

/* ---- Responsive ---- */
@media (max-width:980px){
 .quick-grid.qx-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .fa-grid{grid-template-columns:1fr;gap:36px}
 .ab-media{margin-top:8px}
}
@media (max-width:760px){
 .htl-wrap::before,.htl-line{left:21px}
 .htl li,.htl li.odd{width:auto;margin-left:0;padding:0 0 20px 58px}
 .tl-dot,.htl li.odd .tl-dot{left:0;right:auto}
 .tl-card{text-align:left}
}
@media (max-width:640px){
 .h-stats{padding:44px 0 48px}
 .stats-x .stat{padding:18px 14px 18px}
 .st-ic{right:10px;top:12px;width:32px;height:32px;border-radius:10px}.st-ic svg{width:16px;height:16px}
 .stats-x .num{padding-right:34px;font-size:1.75rem}
 .stats-x .lbl{font-size:.9rem;margin-top:8px}
 .meter.dots i{width:7px;height:7px}.meter{gap:3px}
 .stats-x .src{font-size:.74rem}
 .quick-grid.qx-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .qx{padding:16px 14px 14px;gap:6px}
 .qx .ic{width:42px;height:42px;border-radius:12px}.qx .ic svg{width:21px;height:21px}
 .qx h3{font-size:.93rem;line-height:1.3}
 .qx-fact{gap:2px 6px}.qx-fact b{font-size:1.55rem}.qx-fact span{font-size:.76rem;line-height:1.3}
 .qx-mini{display:none}
 .qx .more{font-size:.8rem;padding-top:4px}
 .qx-glow{width:120px;height:120px;right:-40px;top:-40px}
 .ab-sub{right:-4px;width:46%}
 .ab-float{left:0;bottom:10px;max-width:56%;padding:12px 14px}
 .ab-float b{font-size:1.2rem}.ab-float span{font-size:.78rem}.ab-float small{display:none}
 .ab-list li{padding:10px 12px;gap:12px}
 .chair-pull{font-size:1rem;padding:14px 16px}
 .chair-org{margin-left:22px}
 .fa-badge{width:min(270px,72vw)}
 .fa-tag{font-size:.7rem;padding:5px 10px}
 .fa-facts{grid-template-columns:1fr;gap:10px}
 .fa-facts>div{display:flex;gap:12px;align-items:baseline}.fa-facts b{flex-shrink:0;min-width:74px;font-size:1.2rem;margin:0}
 .mb-rows .logo-item{width:140px;height:78px;padding:10px}.mb-rows .logo-item img{max-height:52px;max-width:112px}.mb-rows .logo-item.text{font-size:.95rem}
 .mb-count{margin-top:-10px}.mb-count span{font-size:.8rem;padding:5px 11px}
 .cta-steps li{font-size:.76rem}
}
/* Activities: horizontal swipe row on phones (shorter page) */
@media (max-width:640px){
 .grid.ax-grid{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:82%;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 -20px;padding:4px 20px 16px;scroll-padding:0 20px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
 .grid.ax-grid::-webkit-scrollbar{display:none}
 .ax-grid>.ax{scroll-snap-align:start}
 .ax-img{aspect-ratio:16/9}
 .cta-contact span.sep{display:none}
}
.cta-contact .hrs{white-space:nowrap}
