/* Layout: dải điều hướng · hero chia đôi (chữ | ảnh tool) · dải bản đồ chip SPI · các phần xen kẽ ảnh/chữ · bảng giá · hỏi đáp · liên hệ */
:root{
  --lift:0%; --bg:#f3f6f9; --bg2:#e7edf3; --card:#ffffff; --fg:#13202c; --mut:#56687a; --line:#d3dde7;
  --acc:#1f6f9f; --acc2:#3d81a8; --amber:#c47a00; --me:#7a5bbf; --fd:#5a6b7c; --ok:#1e8a5a;
  --shadow:0 18px 40px -22px rgba(19,40,60,.35);
  --f-disp:"Be Vietnam Pro",system-ui,"Segoe UI",sans-serif;
  --f-body:"Be Vietnam Pro",system-ui,"Segoe UI",sans-serif;
  --f-mono:"JetBrains Mono",ui-monospace,Consolas,monospace;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --lift:28%; --bg:#0f1820; --bg2:#15212c; --card:#1a2733; --fg:#e4ecf3; --mut:#93a6b8; --line:#2a3a48;
  --acc:#5fb0de; --acc2:#3d81a8; --amber:#ffb428; --me:#a68be8; --fd:#7f93a6; --ok:#4cc58f;
  --shadow:0 18px 40px -22px rgba(0,0,0,.7); color-scheme:dark}}
:root[data-theme="dark"]{
  --lift:28%; --bg:#0f1820; --bg2:#15212c; --card:#1a2733; --fg:#e4ecf3; --mut:#93a6b8; --line:#2a3a48;
  --acc:#5fb0de; --acc2:#3d81a8; --amber:#ffb428; --me:#a68be8; --fd:#7f93a6; --ok:#4cc58f;
  --shadow:0 18px 40px -22px rgba(0,0,0,.7); color-scheme:dark}
html:not([data-lang="en"]) .en{display:none!important}
html[data-lang="en"] .vi{display:none!important}
*{box-sizing:border-box}
body{background:var(--bg);color:var(--fg);font-family:var(--f-body);font-size:16px;line-height:1.6}
a{color:var(--acc)}
h1,h2,h3{font-family:var(--f-disp);line-height:1.2;text-wrap:balance;margin:0}
.wrap{max-width:1160px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.draft{background:var(--amber);color:#1a1200;text-align:center;font-size:13px;font-weight:600;padding-block:6px}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--bg)}
nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:5;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
nav .wrap{display:flex;align-items:center;gap:20px;padding-block:10px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;text-decoration:none;color:var(--fg)}
.brand img{width:34px;height:34px}
.links{display:flex;gap:18px;flex-wrap:wrap;margin-left:auto;font-size:14px}
.links a{color:var(--mut);text-decoration:none}.links a:hover{color:var(--fg)}
.tog{display:flex;gap:4px;border:1px solid var(--line);border-radius:8px;padding:2px}
.tog button{border:0;background:transparent;color:var(--mut);font:600 12px var(--f-body);padding:4px 8px;border-radius:6px;cursor:pointer}
.tog button[aria-pressed="true"]{background:var(--acc2);color:#fff}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--amber);outline-offset:2px}
.btn{display:inline-flex;align-items:center;gap:8px;font:600 15px var(--f-body);padding:12px 20px;border-radius:10px;text-decoration:none;border:1px solid transparent;cursor:pointer}
.btn.p{background:var(--acc2);color:#fff}.btn.p:hover{filter:brightness(1.1)}
.btn.s{border-color:var(--line);color:var(--fg);background:var(--card)}
.hero{padding-block:56px 28px}
.hero .wrap{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:44px;align-items:center}
.eyebrow{font:600 12px var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--amber)}
.hero h1{font-size:clamp(32px,4.4vw,52px);font-weight:800;letter-spacing:-.02em;margin-top:12px}
.hero h1 b{color:var(--acc)}
.hero p.lead{color:var(--mut);font-size:18px;margin:18px 0 26px;max-width:34em}
.cta{display:flex;gap:12px;flex-wrap:wrap}
.meta{display:flex;gap:22px;flex-wrap:wrap;margin-top:26px;font-size:13px;color:var(--mut)}
.meta b{display:block;font:700 20px var(--f-mono);color:var(--fg)}
.win{border-radius:12px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow);background:var(--card);max-width:100%}
.win img{display:block;width:100%;height:auto}
.spi{padding-block:8px 40px}
.map{display:flex;height:46px;border-radius:10px;overflow:hidden;border:1px solid var(--line);font:600 12px var(--f-mono)}
.map div{display:flex;align-items:center;justify-content:center;color:#fff;min-width:0;white-space:nowrap;overflow:hidden}
.map .fd{flex:.5;background:var(--fd)}.map .me{flex:3;background:var(--me)}.map .gbe{flex:.4;background:#2f8f6e}.map .bios{flex:8;background:var(--acc2)}
.ticks{display:flex;justify-content:space-between;font:12px var(--f-mono);color:var(--mut);margin-top:6px;font-variant-numeric:tabular-nums}
.spi p{color:var(--mut);font-size:14px;margin:10px 0 0}
section{padding-block:64px}
.alt{background:var(--bg2)}
.sh{max-width:720px;margin-bottom:34px}
.sh h2{font-size:clamp(26px,3vw,36px);font-weight:800;letter-spacing:-.01em}
.sh p{color:var(--mut);margin:10px 0 0}
.feat{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:44px;align-items:center;margin-bottom:64px}
.feat:last-child{margin-bottom:0}
.feat.r .txt{order:2}
.feat h3{font-size:24px;font-weight:700}
.feat .tag{font:600 12px var(--f-mono);color:var(--amber);letter-spacing:.1em;text-transform:uppercase}
.feat ul{padding-left:20px;margin:14px 0 0;color:var(--mut)}
.feat li{margin-bottom:6px}.feat li b{color:var(--fg);font-weight:600}
.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;counter-reset:s}
.step{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:22px}
.step::before{counter-increment:s;content:counter(s);display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--amber);color:#1a1200;font:800 16px var(--f-mono);margin-bottom:12px}
.step h3{font-size:18px}.step p{color:var(--mut);font-size:15px;margin:8px 0 0}
.tiers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.tier{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:22px;display:flex;flex-direction:column;gap:12px}
.tier.hot{border-color:var(--acc);box-shadow:var(--shadow)}
.tier h3{font-size:20px}
.tier .badge{align-self:flex-start;font:600 11px var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--acc);border:1px solid var(--acc);border-radius:999px;padding:2px 8px}
.price{font:700 26px var(--f-mono);color:var(--fg)}.price small{font:500 13px var(--f-body);color:var(--mut)}
.tier ul{list-style:none;padding:0;margin:0;font-size:14px;color:var(--mut)}
.tier li{padding:6px 0;border-top:1px dashed var(--line)}
.tier li::before{content:"✓ ";color:var(--ok);font-weight:700}
.dur{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0 0}
.dur span{font:600 13px var(--f-mono);border:1px solid var(--line);border-radius:8px;padding:6px 12px;background:var(--card)}
.addons{margin-top:36px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:22px}
.addons h3{font-size:18px}.addons p{color:var(--mut);font-size:14px;margin:6px 0 14px}
.addons .grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.addons .grid div{border:1px solid var(--line);border-radius:10px;padding:10px 14px;display:flex;justify-content:space-between;gap:10px;font-size:14px;font-weight:600}
.addons .grid div span{font-family:var(--f-mono);color:var(--mut);font-weight:500}
.pay{margin-top:18px;font-size:14px;color:var(--mut)}
.faq{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:start}
details{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:11px 15px;font-size:14px}
summary{cursor:pointer;font-weight:600}
details p{color:var(--mut);margin:8px 0 0;font-size:13px}
@media (max-width:640px){.faq{grid-template-columns:1fr}}
.contact{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:center}
.phone{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:20px}
.phone b{font:700 26px var(--f-mono);user-select:all}
.copy{font:600 13px var(--f-body);border:1px solid var(--line);background:transparent;color:var(--fg);border-radius:8px;padding:6px 12px;cursor:pointer}
.soon{border:1px dashed var(--line);border-radius:14px;padding:20px;color:var(--mut)}
.soon h3{color:var(--fg);font-size:18px;margin-bottom:6px}
.logos{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}
.logo{display:grid;place-items:center;height:96px;background:var(--card);border:1px solid var(--line);border-radius:14px;color:var(--fg)}
.logo svg{width:44px;height:44px;max-width:82%;fill:currentColor;opacity:.85;transition:opacity .15s,transform .15s}
.logo:hover svg{opacity:1;transform:scale(1.08)}
.logo.brand svg{fill:color-mix(in srgb,var(--c),#fff var(--lift))}
.logo svg{opacity:1}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.stats>div{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px 20px;display:flex;flex-direction:column;gap:6px}
.stats .k{font-size:13px;color:var(--mut);display:flex;align-items:center;gap:8px}
.stats b{font:700 30px var(--f-mono);font-variant-numeric:tabular-nums}
.dot{width:8px;height:8px;border-radius:50%;background:var(--ok);display:inline-block}
@media (max-width:900px){.logos{grid-template-columns:repeat(4,minmax(0,1fr))}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.logos{grid-template-columns:repeat(3,minmax(0,1fr))}.logo{height:78px}}
footer{border-top:1px solid var(--line);padding-block:26px;color:var(--mut);font-size:13px}
footer .wrap{display:flex;gap:16px;flex-wrap:wrap;justify-content:space-between}
@media (max-width:900px){
  .hero .wrap,.feat,.contact{grid-template-columns:minmax(0,1fr)}
  .feat.r .txt{order:0}
  .tiers{grid-template-columns:repeat(2,minmax(0,1fr))}
  .addons .grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:560px){
  .steps,.tiers,.addons .grid{grid-template-columns:minmax(0,1fr)}
  .links{order:3;width:100%;margin-left:0;gap:16px;flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px}
  .tog{margin-left:auto}
  .map .gbe,.map .fd{font-size:0}
}
@media (prefers-reduced-motion:no-preference){.btn{transition:filter .15s}}
.navcur{color:var(--fg)!important;font-weight:600}

.svc{background:linear-gradient(135deg,color-mix(in srgb,var(--acc2) 22%,var(--bg)),var(--bg))}
.svc .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:center}
.svc h2{font-size:clamp(26px,3vw,36px);font-weight:800}
.svc-l p{color:var(--mut);margin:12px 0 22px;max-width:34em}
.svc .ph{margin-top:14px;font:700 18px var(--f-mono);user-select:all}
.svc-r{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.svc-r li{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px 18px;display:flex;flex-direction:column;gap:4px;font-size:15px}
.svc-r b{font:700 12px var(--f-mono);letter-spacing:.12em;color:var(--amber)}
@media (max-width:900px){.svc .wrap{grid-template-columns:minmax(0,1fr)}}
@media (max-width:560px){.svc-r{grid-template-columns:minmax(0,1fr)}}

.ct{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:860px}
.ct-card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:22px;display:flex;flex-direction:column;gap:10px;align-items:flex-start;min-width:0}
.ct-card .k{font-size:13px;color:var(--mut)}
.ct-card b{font:700 22px var(--f-mono);user-select:all;overflow-wrap:anywhere}
.ct-org{color:var(--mut);margin-top:18px;font-size:14px}
@media (max-width:640px){.ct{grid-template-columns:minmax(0,1fr)}.ct-card b{font-size:18px}}

.tm{color:var(--mut);font-size:12px;margin:16px 0 0}
.fl a{color:var(--mut);text-decoration:none}.fl a:hover{color:var(--fg);text-decoration:underline}
.legal{max-width:760px}
.legal h1{font-size:clamp(28px,3.2vw,38px);font-weight:800;margin-bottom:6px}
.legal .upd{color:var(--mut);font-size:13px;margin:0 0 26px}
.legal h2{font-size:19px;font-weight:700;margin:28px 0 8px}
.legal p,.legal li{color:var(--fg);font-size:15px}
.legal ul{padding-left:20px;margin:8px 0}
.legal li{margin-bottom:6px}
.legal .ph{background:color-mix(in srgb,var(--amber) 22%,transparent);border-radius:4px;padding:0 4px}

.price .ask{font:600 18px var(--f-body);color:var(--acc);text-decoration:none}
.price .ask:hover{text-decoration:underline}
.addons .grid div .ask{font:600 13px var(--f-body);color:var(--acc);text-decoration:none}
.addons .grid div .ask:hover{text-decoration:underline}
.ct{grid-template-columns:repeat(3,minmax(0,1fr));max-width:none}
@media (max-width:900px){.ct{grid-template-columns:minmax(0,1fr)}}

.ct-act{display:flex;flex-wrap:wrap;gap:8px}
.ct-act .go{font:600 13px var(--f-body);border-radius:8px;padding:6px 12px;background:var(--acc2);color:#fff;text-decoration:none}
.ct-act .go:hover{filter:brightness(1.1)}

.ct-card b{font-size:18px}
@media (max-width:560px){.ct-card b{font-size:16px}}
