/* VN Capitals – nền xanh đen, điểm nhấn vàng kim và emerald */
:root{--bg:#07111f;--bg2:#0a1728;--pn:#0e1d32;--pn2:#12243d;--ln:rgba(255,255,255,.09);--tx:#e9eef6;--mu:#93a4bb;--gold:#d9b56a;--gold2:#f0d595;--em:#34d399;--red:#f87171;--yel:#fbbf24;--blue:#2f7df6;--r:16px;--serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,"Times New Roman",serif}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:76px}
body{margin:0;background:var(--bg);color:var(--tx);font:16px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;-webkit-font-smoothing:antialiased;padding-bottom:env(safe-area-inset-bottom)}
a{color:var(--gold2);text-decoration:none}a:hover{text-decoration:underline}
h1,h2,h3{line-height:1.15;margin:0;font-weight:700;letter-spacing:-.02em;text-wrap:balance}
h1{font:600 clamp(2.1rem,7.2vw,4.2rem)/1.05 var(--serif);letter-spacing:-.025em}
h2{font-size:clamp(1.5rem,4.4vw,2.2rem)}h3{font-size:1.05rem}p{margin:.6em 0}
.wrap{max-width:1180px;margin:0 auto;padding:0 20px}.narrow{max-width:780px}.center{text-align:center}.mut,.note{color:var(--mu);font-size:.9rem}
.note{border-left:2px solid var(--gold);padding:.2em 0 .2em .8em;margin:1.2em 0}
:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-radius:6px}
/* header */
.hd{position:sticky;top:0;z-index:30;background:rgba(7,17,31,.86);backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid var(--ln)}
.hd-in{display:flex;align-items:center;gap:12px;height:60px}
.mbtn{width:42px;height:42px;border:1px solid var(--ln);border-radius:12px;background:var(--pn);display:grid;place-content:center;gap:4px;cursor:pointer;flex:none}.mbtn i{display:block;width:18px;height:2px;background:var(--tx);border-radius:2px}
.logo{display:flex;align-items:center;gap:9px;color:var(--tx);font-size:1.12rem;letter-spacing:.01em;white-space:nowrap}.logo:hover{text-decoration:none}.logo b{color:var(--gold);font-weight:700}.logo.sm{font-size:1.2rem}
.hd-nav{display:none;gap:22px;margin-left:18px}.hd-nav a{color:var(--mu);font-size:.93rem}.hd-nav a:hover{color:var(--tx);text-decoration:none}
.readbtn{margin-left:auto;font-size:.78rem;font-weight:700;letter-spacing:.08em;color:var(--bg);background:var(--em);padding:7px 12px;border-radius:999px}.readbtn:hover{text-decoration:none;filter:brightness(1.08)}
.lang{display:flex;border:1px solid var(--ln);border-radius:999px;overflow:hidden;font-size:.75rem;font-weight:700}.lang a{padding:7px 10px;color:var(--mu)}.lang a.on{background:var(--gold);color:var(--bg)}.lang a:hover{text-decoration:none}
.drawer{position:fixed;inset:60px 0 0 0;z-index:29;background:rgba(3,8,16,.6)}.drawer-in{width:min(320px,86vw);height:100%;background:var(--bg2);border-right:1px solid var(--ln);padding:16px;display:flex;flex-direction:column;gap:2px;overflow:auto}
.drawer-in>a{color:var(--tx);padding:13px 12px;border-radius:12px;font-size:1.02rem}.drawer-in>a:hover{background:var(--pn);text-decoration:none}
.visits{margin-top:auto;border-top:1px solid var(--ln);padding-top:14px;display:grid;gap:4px;font-size:.88rem;color:var(--mu)}.visits b{color:var(--tx)}.visits span{display:flex;justify-content:space-between}.visits i{font-style:normal;color:var(--gold2);font-variant-numeric:tabular-nums}
/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:48px;padding:0 22px;border-radius:999px;border:1px solid transparent;font:600 1rem/1 inherit;cursor:pointer;text-decoration:none!important;transition:transform .15s,filter .15s}.btn:active{transform:scale(.97)}
.btn.gold{background:linear-gradient(180deg,var(--gold2),var(--gold));color:#1b1404}.btn.gold:hover{filter:brightness(1.06)}
.btn.ghost{border-color:rgba(217,181,106,.45);color:var(--gold2);background:transparent}.btn.ghost:hover{background:rgba(217,181,106,.08)}
.btn.blue{background:var(--blue);color:#fff;width:100%;min-height:54px;font-size:1.05rem}.btn.sm{min-height:38px;padding:0 14px;font-size:.88rem;background:var(--pn2);color:var(--tx);border-color:var(--ln)}.btn.sm:hover{border-color:var(--gold)}
.lnk{background:none;border:0;color:var(--gold2);font:inherit;font-size:.88rem;cursor:pointer;padding:6px 0}
/* hero */
.hero{position:relative;padding:34px 0 40px;background:radial-gradient(900px 420px at 85% -10%,rgba(217,181,106,.16),transparent 60%),radial-gradient(700px 400px at -10% 30%,rgba(52,211,153,.10),transparent 60%)}
.eyebrow{color:var(--gold);font-size:.74rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin:0 0 14px}
.lead{color:#c3cfdf;font-size:clamp(1rem,2.6vw,1.2rem);max-width:60ch;margin:14px 0 0}
.cta{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0}
.nums{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--ln);border:1px solid var(--ln);border-radius:var(--r);overflow:hidden;margin:20px 0}
.nums div{background:var(--bg2);padding:14px 16px}.nums b{display:block;font:600 1.7rem/1.1 var(--serif);color:var(--gold2);font-variant-numeric:tabular-nums}.nums b.na{color:var(--mu)}.nums span{font-size:.78rem;color:var(--mu);line-height:1.35;display:block;margin-top:3px}
.lookup{background:linear-gradient(180deg,var(--pn2),var(--pn));border:1px solid rgba(217,181,106,.35);border-radius:20px;padding:16px;box-shadow:0 20px 60px -30px rgba(217,181,106,.45)}
.lookup label{display:block;font-weight:700;margin-bottom:8px}.lookup-in{display:flex;gap:8px}
.lookup input{flex:1;min-width:0;height:52px;border-radius:999px;border:1px solid var(--ln);background:var(--bg);color:var(--tx);padding:0 18px;font-size:16px}.lookup input:focus{outline:none;border-color:var(--gold)}
.q-out:empty{display:none}.q-out{margin-top:10px;display:grid;gap:8px}
.q-r{display:flex;align-items:center;gap:12px;background:var(--bg);border:1px solid var(--ln);border-radius:14px;padding:12px 14px;color:var(--tx)}.q-r:hover{border-color:var(--gold);text-decoration:none}.q-r b{display:block}.q-r small{color:var(--mu);display:block}.q-r .pill{margin-left:auto;flex:none}
.q-none{padding:12px 14px;border:1px dashed var(--ln);border-radius:14px;color:var(--mu)}
/* sections */
.sec{padding:48px 0}.sec.alt{background:var(--bg2);border-block:1px solid var(--ln)}.sec-h{margin-bottom:22px;max-width:62ch}.sec-h p{color:var(--mu);margin:.5em 0 0}.sec-h.sub{margin-top:44px}
.phead{padding:36px 0 8px;background:radial-gradient(800px 300px at 90% -20%,rgba(217,181,106,.13),transparent 60%)}.phead h1{font-size:clamp(1.9rem,6vw,3.2rem)}.crumb{color:var(--mu);font-size:.85rem;margin:0 0 10px}
.two{display:grid;gap:40px}
/* cards */
.grid.top{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.card{background:var(--pn);border:1px solid var(--ln);border-radius:var(--r);padding:16px;display:flex;flex-direction:column;gap:4px;min-width:0;transition:border-color .2s,transform .2s}.card:hover{border-color:rgba(217,181,106,.5);transform:translateY(-2px)}
.card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.mono{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:var(--bg);border:1px solid var(--ln);font:600 1.05rem var(--serif);color:var(--gold2)}
.card h3 a{color:var(--tx)}.dom{color:var(--gold);font-size:.82rem;margin:0;overflow-wrap:anywhere}.dom.big{font-size:1.05rem;margin-top:6px}.desc{color:var(--mu);font-size:.88rem;margin:4px 0 0;flex:1}
.card-act{display:flex;align-items:center;gap:14px;margin-top:12px}.tag-eco{color:var(--em);font-size:.76rem;margin:6px 0 0}
.pill{font-size:.7rem;font-weight:700;border-radius:999px;padding:4px 9px;white-space:nowrap;border:1px solid var(--ln);color:var(--mu)}.pill.sc{border-color:var(--gold);color:var(--gold2)}.pill.sc b{font-size:.9rem}.pill.soon{border-color:rgba(52,211,153,.4);color:var(--em)}
.row{margin-top:26px}.row-h{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:10px}.row-h small{color:var(--mu);font-weight:400;margin-left:4px}
.swipe{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(240px,74vw);gap:12px;overflow-x:auto;scroll-snap-type:x proximity;padding:2px 20px 14px;margin:0 -20px;scrollbar-width:thin;scrollbar-color:var(--pn2) transparent}.swipe .card{scroll-snap-align:start}
.chips{display:flex;gap:8px;overflow-x:auto;padding:2px 20px 10px;margin:0 -20px;scrollbar-width:none}.chips a,.chip{flex:none;border:1px solid var(--ln);background:var(--pn);color:var(--tx);border-radius:999px;padding:8px 14px;font-size:.86rem}.chips a:hover,.chip:hover{border-color:var(--gold);text-decoration:none}
.newg{margin-top:22px}.newg h3{color:var(--mu);font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px}.newl{display:flex;flex-wrap:wrap;gap:8px}.chip i{font-style:normal;color:var(--em);font-size:.68rem;margin-left:6px}.chip.soon{color:var(--mu)}
.steps,.commit{list-style:none;padding:0;margin:0 0 20px;display:grid;gap:12px;counter-reset:s}.steps li,.commit li{background:var(--pn);border:1px solid var(--ln);border-radius:var(--r);padding:14px 16px;color:var(--mu);font-size:.93rem}.steps li b,.commit li b{display:block;color:var(--tx);font-size:1rem;margin-bottom:2px}.steps li{counter-increment:s;padding-left:54px;position:relative}.steps li:before{content:counter(s);position:absolute;left:16px;top:14px;width:26px;height:26px;border-radius:50%;background:var(--gold);color:var(--bg);font-weight:700;display:grid;place-items:center;font-size:.85rem}
.doors{display:grid;gap:12px}.door{background:var(--pn);border:1px solid var(--ln);border-radius:20px;padding:20px;display:flex;flex-direction:column;gap:6px}.door .no{font:600 .9rem var(--serif);color:var(--gold)}.door p{color:var(--mu);font-size:.92rem;flex:1;margin:0 0 12px}
/* profile */
.scorebox{display:flex;gap:18px;align-items:center;background:var(--pn);border:1px solid rgba(217,181,106,.35);border-radius:20px;padding:20px;margin-bottom:18px}.score-main{text-align:center;min-width:110px}.score-main b{display:block;font:600 3.4rem/1 var(--serif);color:var(--gold2)}.score-main b.na{color:var(--mu)}.score-main span{color:var(--mu);font-size:.8rem}.score-meta h2{font-size:1.2rem}.score-meta p{margin:.3em 0;font-size:.9rem}
.bars{list-style:none;padding:0;margin:0 0 30px;display:grid;gap:12px}.bars li{display:grid;grid-template-columns:1fr auto;gap:4px 10px;font-size:.9rem}.bars em{font-style:normal;color:var(--mu);font-variant-numeric:tabular-nums}.bars i{grid-column:1/-1;height:6px;border-radius:6px;background:var(--pn2);overflow:hidden}.bars u{display:block;height:100%;background:linear-gradient(90deg,var(--gold),var(--em))}
.facts{width:100%;border-collapse:collapse;font-size:.92rem;margin:10px 0 26px}.facts th,.facts td{text-align:left;padding:11px 10px;border-bottom:1px solid var(--ln);vertical-align:top}.facts th{color:var(--mu);font-weight:500;width:42%}.facts.wide th{width:auto}.brk{overflow-wrap:anywhere}
.dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--mu);margin-right:7px}.dot.g{background:var(--em);box-shadow:0 0 0 4px rgba(52,211,153,.15)}.dot.r{background:var(--red)}.dot.y{background:var(--yel)}
.prose h2{margin:1.6em 0 .5em;font-size:1.4rem}.prose h3{margin:1.3em 0 .4em}.prose li{margin:.4em 0}.prose ul,.prose ol{padding-left:1.2em}.sec .narrow>h2{margin:1.5em 0 .5em;font-size:1.35rem}
.check{list-style:none;padding:0!important}.check li:before{content:"☐ ";color:var(--gold)}
.rv{border-bottom:1px solid var(--ln);padding:12px 0}.rv b{color:var(--gold)}.rv span{color:var(--mu);font-size:.82rem}.rv p{margin:.3em 0 0}
.rvf,.owner{background:var(--pn);border:1px solid var(--ln);border-radius:20px;padding:18px;margin-top:22px;display:grid;gap:10px}
textarea{font-family:inherit}input,textarea,select{width:100%;background:var(--bg);border:1px solid var(--ln);border-radius:12px;color:var(--tx);padding:13px 14px;font:16px/1.4 inherit}input:focus,textarea:focus{outline:none;border-color:var(--gold)}.hp{position:absolute;left:-9999px;width:1px}
.stars{display:flex;flex-direction:row-reverse;justify-content:flex-end;gap:4px}.stars input{position:absolute;opacity:0;width:1px}.stars label{font-size:2rem;color:var(--pn2);cursor:pointer;line-height:1}.stars input:checked~label,.stars label:hover,.stars label:hover~label{color:var(--gold)}
.ok{color:var(--em);font-weight:600}
.tl{list-style:none;padding:0;border-left:1px solid var(--ln);margin-left:6px}.tl li{padding:0 0 22px 20px;position:relative}.tl li:before{content:"";position:absolute;left:-5px;top:7px;width:9px;height:9px;border-radius:50%;background:var(--gold)}.tl time{display:block;color:var(--mu);font-size:.8rem}
.arts{display:grid;gap:12px}.art{display:block;background:var(--pn);border:1px solid var(--ln);border-radius:var(--r);padding:18px;color:var(--tx)}.art:hover{border-color:var(--gold);text-decoration:none}.art time{color:var(--gold);font-size:.78rem}.art p{color:var(--mu);font-size:.9rem;margin:.4em 0 0}
/* footer, zalo, dialog */
.ft{border-top:1px solid var(--ln);padding:36px 0 110px;color:var(--mu);font-size:.9rem}.ft-dis{color:var(--tx);border:1px solid var(--ln);border-radius:12px;padding:10px 14px;font-size:.85rem}.ft-grid{display:grid;gap:20px;margin:22px 0}.ft-grid a{display:inline-block;margin:0 16px 8px 0;color:var(--mu)}.legal{font-size:.85rem}
.zfab{position:fixed;right:14px;bottom:calc(14px + env(safe-area-inset-bottom));z-index:25;display:flex;align-items:center;gap:8px;background:var(--blue);color:#fff;border:0;border-radius:999px;padding:8px 16px 8px 8px;font:600 .9rem inherit;box-shadow:0 12px 30px -8px rgba(47,125,246,.7);cursor:pointer}.zfab b{background:#fff;color:var(--blue);border-radius:999px;padding:7px 9px;font-size:.78rem}
dialog{border:1px solid var(--ln);border-radius:22px;background:var(--bg2);color:var(--tx);padding:0;width:min(420px,92vw)}dialog::backdrop{background:rgba(2,6,12,.72);backdrop-filter:blur(3px)}.lead-f{padding:22px;display:grid;gap:12px;position:relative}.lead-f h3{font-size:1.25rem;padding-right:30px}.lead-f .x{position:absolute;right:10px;top:8px;background:none;border:0;color:var(--mu);font-size:1.7rem;cursor:pointer;width:40px;height:40px}#lead-z{font-size:1.25rem;height:58px;text-align:center;letter-spacing:.04em}
@media(min-width:720px){.grid.top{grid-template-columns:repeat(3,1fr)}.nums{grid-template-columns:repeat(4,1fr)}.doors{grid-template-columns:repeat(2,1fr)}.swipe{grid-auto-columns:260px}.ft-grid{grid-template-columns:1.2fr 1fr}.two{grid-template-columns:1fr 1fr}.hero{padding:64px 0 60px}.sec{padding:72px 0}}
@media(min-width:1000px){.hd-nav{display:flex}.grid.top{grid-template-columns:repeat(4,1fr)}.doors{grid-template-columns:repeat(4,1fr)}.lookup{max-width:720px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@media print{.hd,.ft,.zfab,.noprint,.drawer{display:none!important}body{background:#fff;color:#000}.nums div{background:#fff}.nums b{color:#000}}

.btn,.lnk{white-space:nowrap}.hero .lookup{margin-top:20px}.hero .cta .btn{flex:1}.card-act{flex-wrap:wrap}
@media(max-width:719px){.zfab span{display:none}.zfab{padding:8px}.lead{font-size:.98rem}.hero{padding-top:22px}.eyebrow{font-size:.66rem;margin-bottom:10px}.grid.top .card{padding:13px}.hero .cta .btn{padding:0 12px;font-size:.92rem}}
