:root{
  --canvas:#050C1E; --canvas-deep:#020814; --panel:#0C1730; --panel-hi:#142140;
  --line:#1E2C4E; --line-strong:#55628F;
  --cyan:#7ED8EC; --cyan-dim:#4E93AC; --violet:#8C82D6;
  --accent:#CFC4FF; --accent-hover:#E2DBFF;
  --text-primary:#EDF1FB; --text-secondary:#9BA6C8;
  --display:"Unbounded",system-ui,sans-serif;
  --body:"Be Vietnam Pro",system-ui,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,monospace;
  --ease:cubic-bezier(.22,.61,.36,1); --ease-soft:cubic-bezier(.4,0,.2,1);
  --gut:clamp(20px,5vw,72px);
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html,body{overflow-x:hidden;overflow-x:clip}
body{margin:0;background:var(--canvas);color:var(--text-primary);font-family:var(--body);
  -webkit-font-smoothing:antialiased;line-height:1.62;font-size:16px}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3,p,ul,ol{margin:0}
ul{list-style:none;padding:0}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:5px}
.skip{position:absolute;left:-9999px;top:0;z-index:200;background:var(--accent);color:#0B0F1E;
  padding:12px 20px;border-radius:0 0 10px 0;font-weight:600;text-decoration:none}
.skip:focus{left:0}
.wrap{max-width:1120px;margin:0 auto}

.env{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;
  background:radial-gradient(1200px 760px at 78% 8%,rgba(140,130,214,.13),transparent 62%),
    radial-gradient(980px 660px at 12% 84%,rgba(78,147,172,.11),transparent 60%),var(--canvas)}
.env i{position:absolute;left:-14%;width:128%;height:34vmax;opacity:.42;
  background:radial-gradient(ellipse 48% 50% at 46% 50%,rgba(126,216,236,.26) 0%,rgba(140,130,214,.14) 44%,transparent 84%);
  animation:aur 40s ease-in-out infinite}
.env i:nth-child(1){top:4%}
.env i:nth-child(2){top:52%;animation-duration:56s;animation-delay:-19s;
  background:radial-gradient(ellipse 52% 50% at 58% 50%,rgba(140,130,214,.22) 0%,rgba(126,216,236,.12) 46%,transparent 86%)}
@keyframes aur{0%,100%{transform:translate3d(-6%,0,0) rotate(-7deg)}50%{transform:translate3d(4%,-2vmax,0) rotate(-3deg)}}

.nav{position:fixed;top:0;left:0;right:0;z-index:60;display:flex;align-items:center;
  justify-content:space-between;gap:22px;padding:0 var(--gut);height:72px;
  background:linear-gradient(rgba(4,8,20,.9),rgba(4,8,20,.4) 62%,rgba(4,8,20,0))}
.wm{display:flex;align-items:center;gap:9px;text-decoration:none;flex:none}
.wm{gap:12px}
.wm .dot{display:none}
.wm .face{width:auto;height:clamp(42px,4.6vw,58px);flex:none;object-fit:contain;
  filter:drop-shadow(0 0 13px rgba(207,196,255,.45));
  transition:filter .35s var(--ease),transform .35s var(--ease)}
.wm:hover .face{filter:drop-shadow(0 0 20px rgba(207,196,255,.75));transform:translateY(-1px)}
.wm .t{font-family:var(--display);font-weight:700;font-size:clamp(14px,1.5vw,17px);letter-spacing:.17em}
.wm .t b{color:var(--accent);font-weight:700}
.nav ul{display:flex;gap:clamp(14px,2.2vw,32px);font-size:14px;color:var(--text-secondary)}
.nav ul a{text-decoration:none;transition:color .3s var(--ease)}
.nav ul a:hover{color:var(--text-primary)}
@media (max-width:900px){.nav ul{display:none}}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-family:var(--body);
  font-weight:600;font-size:15px;line-height:1;padding:14px 26px;border-radius:999px;
  text-decoration:none;border:1px solid transparent;
  transition:background .32s var(--ease),color .32s var(--ease),border-color .32s var(--ease),
  box-shadow .32s var(--ease),transform .32s var(--ease)}
.btn.p{background:var(--accent);color:#0B0F1E}
.btn.p:hover{background:var(--accent-hover);box-shadow:0 0 38px rgba(207,196,255,.34);transform:translateY(-1px)}
.btn.s{border-color:var(--line-strong);color:var(--text-primary)}
.btn.s:hover{border-color:var(--cyan);color:var(--cyan);transform:translateY(-1px)}
.btn.sm{padding:11px 20px;font-size:14px}
@media (pointer:coarse){.btn{min-height:44px}}

main{position:relative;z-index:2;padding:0 var(--gut)}
.crumb{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--text-secondary);padding:104px 0 26px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.crumb a{text-decoration:none;transition:color .3s var(--ease)}
.crumb a:hover{color:var(--accent)}
.crumb span{opacity:.45}

.glass{position:relative;border-radius:18px;overflow:hidden;
  background:linear-gradient(168deg,rgba(27,42,78,.74),rgba(10,19,44,.66));
  border:1px solid rgba(112,130,180,.26)}
.glass::before{content:"";position:absolute;left:10%;right:10%;top:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(178,205,255,.5),transparent)}

.phead{display:grid;grid-template-columns:1.32fr .82fr;gap:clamp(24px,3vw,48px);
  align-items:start;padding-bottom:clamp(46px,5vw,72px)}
@media (max-width:900px){.phead{grid-template-columns:1fr}}
.pmark{display:flex;align-items:center;gap:clamp(16px,1.8vw,24px);margin-bottom:clamp(20px,2.4vw,30px)}
.pmark .ic{width:clamp(108px,11.4vw,164px);height:clamp(108px,11.4vw,164px);flex:none;display:grid;place-items:center;border-radius:clamp(24px,2.6vw,36px);
  background:rgba(6,12,30,.7);border:1px solid rgba(112,130,180,.28)}
.pmark .ic img{width:74%;height:74%;object-fit:contain}
.pcat{font-family:var(--mono);font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--cyan)}
h1{font-family:var(--display);font-weight:700;font-size:clamp(30px,4.4vw,56px);line-height:1.04;
  letter-spacing:-.028em;margin-top:0}
/* Ten san pham deu la hai tu, ep ngat dong sau tu dau cho khoi ten
   dung ngang bang logo, khong bi lech tren duoi. */
.pmark h1{max-width:11ch}
.plede{margin-top:18px;color:var(--text-secondary);font-size:clamp(15px,1.4vw,19px);max-width:46ch}
.pdesc{margin-top:22px;color:var(--text-secondary);font-size:clamp(14.5px,1.3vw,16.5px);max-width:60ch}

.buy{padding:clamp(24px,2.8vw,34px)}
.buy .lbl{font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--text-secondary);margin-bottom:11px}
.price{font-family:var(--mono);font-size:clamp(28px,3.4vw,42px);color:var(--accent);
  font-variant-numeric:tabular-nums;letter-spacing:-.02em;line-height:1}
.price small{font-size:13px;color:var(--text-secondary);letter-spacing:.08em;margin-left:5px}
.price.q{font-size:clamp(20px,2.2vw,26px);color:var(--text-secondary)}
.chips{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 4px}
.chip{font-family:var(--mono);font-size:12px;letter-spacing:.06em;padding:9px 15px;border-radius:10px;
  border:1px solid rgba(112,130,180,.3);background:rgba(6,12,30,.5);color:var(--text-secondary);
  cursor:pointer;transition:border-color .3s var(--ease),color .3s var(--ease),background .3s var(--ease)}
.chip[aria-pressed="true"]{border-color:var(--accent);color:var(--accent);background:rgba(207,196,255,.09)}
.chip[hidden]{display:none}
.chip:hover{border-color:var(--cyan);color:var(--cyan)}
.buy .cta{display:grid;gap:10px;margin-top:22px}
.buy .fine{margin-top:14px;font-size:12.5px;color:var(--text-secondary);line-height:1.65}

section.blk{padding:clamp(48px,5.4vw,80px) 0;border-top:1px solid rgba(96,112,158,.16)}
.lede{font-family:var(--mono);font-size:11px;letter-spacing:.26em;color:var(--cyan);
  text-transform:uppercase;display:flex;align-items:center;gap:11px;margin-bottom:18px}
.lede::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--accent);
  box-shadow:0 0 12px rgba(207,196,255,.9);flex:none}
h2{font-family:var(--display);font-weight:500;font-size:clamp(22px,2.8vw,34px);
  letter-spacing:-.02em;line-height:1.16}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:26px}
@media (max-width:760px){.grid2{grid-template-columns:1fr}}
.ben li{display:flex;gap:12px;align-items:flex-start;padding:15px 18px;border-radius:13px;
  background:rgba(12,23,48,.5);border:1px solid rgba(96,112,158,.18);font-size:15px}
.ben li::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--accent);
  box-shadow:0 0 10px rgba(207,196,255,.8);margin-top:9px;flex:none}
.vlist{display:grid;gap:14px;margin-top:26px}
.vcard{padding:clamp(22px,2.6vw,30px)}
.vcard h3{font-family:var(--display);font-weight:500;font-size:clamp(17px,1.8vw,22px);letter-spacing:-.012em}
.vcard .vp{font-family:var(--mono);color:var(--accent);font-size:15px;margin-top:6px}
.vcard p.vd{margin-top:12px;color:var(--text-secondary);font-size:15px;max-width:62ch}
.vcard .vg{margin-top:16px;display:grid;gap:8px}
.vcard .vg li{font-size:14.5px;color:var(--text-secondary);display:flex;gap:10px}
.vcard .vg li::before{content:"";width:4px;height:4px;border-radius:50%;background:var(--cyan);margin-top:9px;flex:none}
.vcard .vw li::before{background:#C08A5A}
.steps{counter-reset:s;display:grid;gap:12px;margin-top:26px}
.steps li{counter-increment:s;display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:start;
  padding:16px 20px;border-radius:13px;background:rgba(12,23,48,.42);border:1px solid rgba(96,112,158,.16);
  font-size:15px;color:var(--text-secondary)}
.steps li::before{content:counter(s,decimal-leading-zero);font-family:var(--display);font-weight:700;
  font-size:15px;color:transparent;-webkit-text-stroke:1px rgba(126,216,236,.5)}
.notes{display:grid;gap:10px;margin-top:26px}
.notes li{display:flex;gap:12px;font-size:15px;color:var(--text-secondary)}
.notes li::before{content:"";width:4px;height:4px;border-radius:50%;background:var(--violet);margin-top:10px;flex:none}
.faq{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:26px;align-items:start}
@media (max-width:860px){.faq{grid-template-columns:1fr}}
.faq details{padding:0 22px}
.faq summary{list-style:none;cursor:pointer;padding:19px 32px 19px 0;position:relative;
  font-family:var(--display);font-weight:500;font-size:15.5px;line-height:1.35;letter-spacing:-.01em}
.faq summary::-webkit-details-marker{display:none}
.faq summary:hover{color:var(--cyan)}
.faq summary::after{content:"";position:absolute;right:2px;top:calc(50% - 5px);width:9px;height:9px;
  border-right:1.5px solid var(--line-strong);border-bottom:1.5px solid var(--line-strong);
  transform:rotate(45deg);transition:transform .35s var(--ease),border-color .3s var(--ease)}
.faq details[open] summary::after{transform:rotate(-135deg);border-color:var(--accent)}
.faq .ans{padding:0 8px 21px 0;color:var(--text-secondary);font-size:14.5px;line-height:1.66}
.more{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:26px}
@media (max-width:900px){.more{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.more{grid-template-columns:1fr}}
.more a{display:flex;align-items:center;gap:12px;padding:16px 18px;text-decoration:none;
  transition:transform .35s var(--ease),border-color .35s var(--ease)}
.more a:hover{transform:translateY(-3px);border-color:rgba(150,126,240,.44)}
.more img{width:24px;height:24px;object-fit:contain;flex:none}
.more b{font-weight:600;font-size:14.5px}

footer{position:relative;z-index:2;padding:clamp(58px,6vw,88px) var(--gut) 46px;
  background:rgba(2,8,20,.88);border-top:1px solid rgba(96,112,158,.18);margin-top:clamp(40px,5vw,80px)}
.fcols{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(24px,4vw,60px)}
@media (max-width:860px){.fcols{grid-template-columns:1fr 1fr;gap:36px}}
@media (max-width:460px){.fcols{grid-template-columns:1fr}}
.fcols h3{font-family:var(--body);font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:18px}
.fcols ul{display:grid;gap:13px}
.fcols a{color:#7C88AC;text-decoration:none;font-size:14px;transition:color .3s var(--ease)}
.fcols a:hover{color:var(--accent)}
.fbot{margin-top:clamp(42px,4.6vw,68px);padding-top:26px;border-top:1px solid rgba(96,112,158,.16)}
.fbot p{font-size:12.5px;color:#5C6989;line-height:1.9;max-width:78ch}
.fbot .cr{font-family:var(--mono);letter-spacing:.1em;color:#8E9BC0;margin-bottom:5px}

.dock{position:fixed;right:clamp(14px,2.4vw,30px);bottom:clamp(14px,2.4vw,30px);z-index:70;
  display:flex;flex-direction:column;align-items:flex-end;gap:12px}
.dock-btn{display:inline-flex;align-items:center;gap:10px;border:0;cursor:pointer;font-family:var(--body);
  font-weight:600;font-size:14.5px;color:#0B0F1E;background:var(--accent);padding:14px 22px;border-radius:999px;
  box-shadow:0 12px 36px rgba(3,6,16,.6),0 0 28px rgba(207,196,255,.22);
  transition:background .3s var(--ease),transform .3s var(--ease),box-shadow .3s var(--ease)}
.dock-btn:hover{background:var(--accent-hover);transform:translateY(-2px)}
.dock-btn .pip{width:8px;height:8px;border-radius:50%;background:#14532D;position:relative;flex:none}
.dock-btn .pip::after{content:"";position:absolute;inset:-4px;border-radius:50%;
  border:1px solid rgba(20,83,45,.55);animation:pip 2.8s var(--ease-soft) infinite}
@keyframes pip{0%{transform:scale(.7);opacity:.9}70%,100%{transform:scale(1.5);opacity:0}}
/* Khung liên hệ: ba nút tròn xếp dọc, không khung bao, không chữ.
   Tên kênh hiện khi rê chuột. Máy cảm ứng không rê được nên tên hiện sẵn. */
.dock-panel{display:grid;gap:10px;justify-items:end;padding:0;border:0;background:none;box-shadow:none}
.dock-panel a{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;
  background:rgba(10,17,40,.94);border:1px solid rgba(112,130,180,.26);
  -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
  box-shadow:0 10px 26px rgba(2,5,14,.55);position:relative;
  transition:transform .3s var(--ease),border-color .3s var(--ease)}
.dock-panel a:hover,.dock-panel a:focus-visible{transform:scale(1.09);border-color:var(--accent)}
.dock-panel img{width:31px;height:31px;border-radius:9px;display:block}
.dock-panel a::after{content:attr(data-n);position:absolute;right:62px;top:50%;translate:0 -50%;
  font-size:12.5px;font-weight:500;color:var(--text-primary);white-space:nowrap;
  background:rgba(8,14,32,.96);border:1px solid rgba(112,130,180,.26);
  padding:7px 12px;border-radius:999px;opacity:0;pointer-events:none;
  box-shadow:0 8px 20px rgba(2,5,14,.5);transition:opacity .25s var(--ease)}
.dock-panel a:hover::after,.dock-panel a:focus-visible::after{opacity:1}
@media (hover:none){.dock-panel a::after{opacity:1}}
@media (prefers-reduced-motion:reduce){.dock-panel a{transition:none}}
@media (max-width:520px){.dock-lbl{display:none}.dock-btn{padding:15px}}
@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
