:root{
  --ink:#0E0F12; --ink-2:#17191E; --ink-3:#22252C; --line-d:#2E323B;
  --paper:#FAF7F0; --paper-2:#F2EDE1; --card:#FFFFFF; --line:#E4DDCC;
  --text:#16171A; --muted:#5E616A; --muted-d:#A8ABB3;
  --sun:#FBB613; --sun-2:#FFD66B; --sun-ink:#8A5A00;
  --red:#E31E27;
  --night:#7C8CFF; --night-2:#B9C2FF;
  --grid:#9AA0AA;
  --r:18px; --r-sm:12px;
  --shadow:0 1px 2px rgba(20,16,0,.06),0 8px 30px rgba(20,16,0,.07);
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"Be Vietnam Pro",system-ui,sans-serif;color:var(--text);background:var(--paper);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
.wrap{max-width:var(--max);margin:0 auto;padding:0 22px}
.num{font-variant-numeric:tabular-nums}
h1,h2,h3{line-height:1.15;letter-spacing:-.02em;margin:0}
h2{font-size:clamp(28px,3.6vw,42px);font-weight:800}
h3{font-size:19px;font-weight:700}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--sun-ink)}
.eyebrow::before{content:"";width:22px;height:2px;background:var(--sun)}
.dark .eyebrow{color:var(--sun)}
.lead{font-size:18px;color:var(--muted);max-width:640px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:999px;padding:14px 22px;font:700 15px/1 "Be Vietnam Pro",sans-serif;cursor:pointer;text-decoration:none;transition:transform .15s,background .15s}
.btn:active{transform:translateY(1px)}
.btn-sun{background:var(--sun);color:#1a1300}
.btn-sun:hover{background:var(--sun-2)}
.btn-ghost{background:transparent;color:inherit;box-shadow:inset 0 0 0 1.5px currentColor}
.btn-ink{background:var(--ink);color:#fff}
:focus-visible{outline:3px solid var(--sun);outline-offset:2px}

/* top bar + nav */
.topbar{background:#000;color:#cfd1d6;font-size:13px}
.topbar .wrap{display:flex;justify-content:space-between;gap:12px;padding-top:7px;padding-bottom:7px;flex-wrap:wrap}
.topbar b{color:var(--sun)}
.nav{position:sticky;top:0;z-index:40;background:rgba(14,15,18,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line-d)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:68px;gap:20px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none}
.logo img{height:30px;width:auto}
.logo small{color:var(--muted-d);font-size:11px;letter-spacing:.06em;text-transform:uppercase;border-left:1px solid var(--line-d);padding-left:10px;line-height:1.2}
.menu{display:flex;gap:26px;font-size:14.5px;font-weight:600}
.menu a{color:#e6e7ea;text-decoration:none;opacity:.85}
.menu a:hover{opacity:1;color:var(--sun)}
@media(max-width:960px){.menu,.logo small{display:none}}

/* hero */
.hero{position:relative;color:#fff;background:var(--ink);overflow:hidden}
.hero-bg{position:absolute;inset:0;background:url(../img/hero-mai-nha-tphcm.webp) center/cover}
.hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(14,15,18,.97) 0%,rgba(14,15,18,.86) 42%,rgba(14,15,18,.45) 75%,rgba(14,15,18,.7) 100%)}
.hero .wrap{position:relative;display:grid;grid-template-columns:1.15fr .85fr;gap:48px;padding-top:72px;padding-bottom:84px;align-items:center}
.hero h1{font-size:clamp(38px,5.6vw,68px);font-weight:900;letter-spacing:-.035em}
.hero h1 .d{color:var(--sun)}
.hero h1 .n{color:var(--night-2)}
.hero p.sub{font-size:19px;color:#d4d6db;max-width:560px;margin:22px 0 28px}
.hero-cta{display:flex;gap:12px;flex-wrap:wrap}
.chips-area{display:flex;gap:10px;flex-wrap:wrap;margin-top:34px;font-size:14px;color:#c9cbd1}
.chip-d{border:1px solid var(--line-d);background:rgba(255,255,255,.04);border-radius:999px;padding:7px 14px}
.chip-d b{color:#fff}
/* sun arc signature */
.arc{position:absolute;right:-180px;top:-260px;width:760px;height:760px;border-radius:50%;border:1.5px dashed rgba(251,182,19,.25);pointer-events:none}
.arc::after{content:"";position:absolute;left:50%;top:-11px;width:22px;height:22px;border-radius:50%;background:var(--sun);box-shadow:0 0 40px 12px rgba(251,182,19,.45)}

.quick{background:rgba(23,25,30,.86);border:1px solid var(--line-d);border-radius:22px;padding:26px;backdrop-filter:blur(8px);box-shadow:0 30px 60px rgba(0,0,0,.35)}
.quick h2{font-size:20px;font-weight:700;margin-bottom:4px}
.quick .hint{font-size:13.5px;color:var(--muted-d);margin:0 0 18px}
.money{display:flex;align-items:baseline;gap:8px;background:#0b0c0f;border:1.5px solid var(--line-d);border-radius:14px;padding:12px 16px}
.money:focus-within{border-color:var(--sun)}
.money input{flex:1;min-width:0;background:transparent;border:0;color:#fff;font:800 30px "Be Vietnam Pro",sans-serif;font-variant-numeric:tabular-nums;outline:none}
.money span{color:var(--muted-d);font-weight:600}
.presets{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0 18px}
.presets button{background:transparent;border:1px solid var(--line-d);color:#d9dbe0;border-radius:999px;padding:6px 12px;font:600 13px "Be Vietnam Pro",system-ui,sans-serif;cursor:pointer}
.presets button[aria-pressed=true]{background:var(--sun);border-color:var(--sun);color:#1a1300}
.qres{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:18px}
.qres div{background:#0b0c0f;border-radius:12px;padding:12px}
.qres small{display:block;font-size:12px;color:var(--muted-d)}
.qres b{font-size:19px;font-weight:800}
.qres .s b{color:var(--sun)}
.quick .btn{width:100%}
@media(max-width:900px){.hero .wrap{grid-template-columns:1fr;padding-top:48px}.arc{display:none}}

/* sections */
section{padding:96px 0}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:44px;flex-wrap:wrap}
.sec-head h2{margin-top:10px}
.dark{background:var(--ink);color:#fff}
.dark .lead{color:var(--muted-d)}

/* why now */
.why{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.why article{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:28px;box-shadow:var(--shadow)}
.why .big{font-size:40px;font-weight:900;letter-spacing:-.03em;color:var(--text);line-height:1}
.why .big em{font-style:normal;font-size:16px;font-weight:600;color:var(--muted);margin-left:4px}
.why h3{margin:16px 0 8px}
.why p{margin:0;color:var(--muted);font-size:15px}
.why .src{display:block;margin-top:14px;font-size:12.5px;color:var(--muted)}
.tiers{display:flex;gap:4px;align-items:flex-end;height:62px;margin-top:4px}
.tiers i{flex:1;background:var(--paper-2);border-radius:4px 4px 0 0;position:relative}
.tiers i.hot{background:var(--sun)}
@media(max-width:860px){.why{grid-template-columns:1fr}}

/* calculator */
#tinh-toan{background:var(--paper-2)}
.calc{display:grid;grid-template-columns:380px 1fr;gap:22px;align-items:start}
.calc>*,.charts>*,.pk-grid>*,.out-top>*{min-width:0}
.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:26px;box-shadow:var(--shadow)}
.inputs{position:sticky;top:88px}
.field{margin-bottom:22px}
.field>label,.field>.lbl{display:flex;justify-content:space-between;font-weight:700;font-size:14.5px;margin-bottom:8px}
.field>label output{color:var(--sun-ink);font-weight:800}
.money.light{background:var(--paper);border-color:var(--line)}
.money.light input{color:var(--text);font-size:26px}
.money.light span{color:var(--muted)}
input[type=range]{width:100%;accent-color:var(--sun);height:28px}
.seg{display:grid;gap:6px}
.seg.c3{grid-template-columns:repeat(3,1fr)}
.seg button{border:1.5px solid var(--line);background:var(--paper);border-radius:10px;padding:10px 6px;font:600 13.5px/1.25 "Be Vietnam Pro",system-ui,sans-serif;cursor:pointer;color:var(--text)}
.seg button small{display:block;font-weight:500;font-size:11.5px;color:var(--muted);margin-top:2px}
.seg button[aria-pressed=true]{border-color:var(--ink);background:var(--ink);color:#fff}
.seg button[aria-pressed=true] small{color:var(--muted-d)}
.note{font-size:12.5px;color:var(--muted);margin:6px 0 0}
.warn{background:#FFF4D6;border:1px solid #F2D58A;color:#6b4a00;font-size:13.5px;padding:10px 12px;border-radius:10px;margin-top:10px}

.out-top{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}
.kpi{background:var(--card);border:1px solid var(--line);border-radius:var(--r-sm);padding:16px}
.kpi small{display:block;font-size:12.5px;color:var(--muted);font-weight:600}
.kpi b{display:block;font-size:26px;font-weight:900;letter-spacing:-.02em;margin-top:2px}
.kpi span{font-size:12.5px;color:var(--muted)}
.kpi.hl{background:var(--ink);color:#fff;border-color:var(--ink)}
.kpi.hl small,.kpi.hl span{color:var(--muted-d)}
.kpi.hl b{color:var(--sun)}
@media(max-width:1100px){.out-top{grid-template-columns:repeat(2,1fr)}}

.story{background:var(--ink);color:#fff;border-radius:var(--r);padding:24px 26px;margin-bottom:16px;display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:center}
.story .ic{width:52px;height:52px;border-radius:50%;background:radial-gradient(circle at 35% 35%,var(--sun-2),var(--sun));display:grid;place-items:center;color:#1a1300;font-weight:900}
.story p{margin:0;color:#d7d9de;font-size:15.5px}
.story b{color:#fff}

.pk-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}
.pk{background:var(--card);border:1.5px solid var(--line);border-radius:var(--r);padding:20px;position:relative;cursor:pointer;transition:border-color .15s}
.pk[aria-pressed=true]{border-color:var(--ink);box-shadow:0 0 0 3px rgba(251,182,19,.45)}
.pk .tag{position:absolute;top:-11px;left:18px;background:var(--red);color:#fff;font-size:11.5px;font-weight:800;letter-spacing:.04em;padding:3px 10px;border-radius:999px;text-transform:uppercase}
.pk h3{font-size:16.5px}
.pk .sub{font-size:13px;color:var(--muted);margin:2px 0 12px;min-height:38px}
.pk dl{margin:0;display:grid;grid-template-columns:1fr auto;gap:5px 10px;font-size:13.5px}
.pk dt{color:var(--muted)}
.pk dd{margin:0;font-weight:700;text-align:right}
.pk .pay{margin-top:12px;padding-top:12px;border-top:1px dashed var(--line);display:flex;justify-content:space-between;align-items:baseline}
.pk .pay b{font-size:22px;font-weight:900}
.yes{color:#1c7c3a}.no{color:var(--muted)}
@media(max-width:900px){.pk-grid{grid-template-columns:1fr}.calc{grid-template-columns:1fr}.inputs{position:static}}

.charts{display:grid;grid-template-columns:1.25fr 1fr;gap:12px;margin-bottom:16px}
.chart-card h3{font-size:15.5px;margin-bottom:2px}
.chart-card p{font-size:13px;color:var(--muted);margin:0 0 10px}
.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:12.5px;color:var(--muted);margin-top:8px}
.legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:5px;vertical-align:-1px}
svg text{font-family:"Be Vietnam Pro",sans-serif}
@media(max-width:900px){.charts{grid-template-columns:1fr}}

.lead-box{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:center;background:var(--ink);color:#fff;border-radius:var(--r);padding:26px}
.lead-box h3{font-size:21px}
.lead-box p{color:var(--muted-d);font-size:14.5px;margin:8px 0 0}
.lead-form{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.lead-form input,.lead-form select{width:100%;background:#0b0c0f;border:1.5px solid var(--line-d);color:#fff;border-radius:10px;padding:12px;font:500 15px "Be Vietnam Pro",system-ui,sans-serif}
.lead-form .full{grid-column:1/-1}
.lead-form .btn{width:100%}
.lead-status{font-size:13.5px;color:var(--sun);min-height:20px;grid-column:1/-1;margin:0}
@media(max-width:900px){.lead-box{grid-template-columns:1fr}}
.disclaim{font-size:12.5px;color:var(--muted);margin-top:14px}

/* how storage works */
.flow{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--line-d);border-radius:var(--r);overflow:hidden}
.flow div{padding:28px 24px;border-right:1px solid var(--line-d);position:relative}
.flow div:last-child{border-right:0}
.flow .t{font-size:13px;font-weight:700;color:var(--muted-d)}
.flow h3{margin:10px 0 8px;font-size:18px}
.flow p{margin:0;color:var(--muted-d);font-size:14.5px}
.flow .dot{width:38px;height:38px;border-radius:50%;margin-bottom:14px}
@media(max-width:900px){.flow{grid-template-columns:1fr 1fr}.flow div:nth-child(2){border-right:0}.flow div:nth-child(-n+2){border-bottom:1px solid var(--line-d)}}

/* projects */
.filters{display:flex;gap:8px;flex-wrap:wrap}
.filters button{border:1.5px solid var(--line);background:var(--card);border-radius:999px;padding:9px 16px;font:700 14px "Be Vietnam Pro",system-ui,sans-serif;cursor:pointer;color:var(--text)}
.filters button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff}
.proj{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.pc{background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column}
.pc.wide{grid-column:span 2}
.pc button.ph{border:0;padding:0;cursor:zoom-in;background:#ddd;aspect-ratio:4/3;overflow:hidden}
.pc.wide button.ph{aspect-ratio:16/9.6}
.pc img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.pc:hover img{transform:scale(1.04)}
.pc .bd{padding:18px 20px 20px}
.pc .loc{font-size:12.5px;font-weight:700;color:var(--sun-ink);text-transform:uppercase;letter-spacing:.05em}
.pc h3{font-size:17.5px;margin:6px 0 10px}
.specs{display:flex;gap:6px;flex-wrap:wrap}
.specs span{font-size:12.5px;font-weight:600;background:var(--paper-2);padding:4px 10px;border-radius:999px}
.pc[hidden]{display:none}
@media(max-width:900px){.proj{grid-template-columns:1fr 1fr}.pc.wide{grid-column:span 2}}
@media(max-width:620px){.proj{grid-template-columns:1fr}.pc.wide{grid-column:auto}}

/* products */
.prods{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.pd{background:var(--ink-2);border:1px solid var(--line-d);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column}
.pd .im{background:#fff;aspect-ratio:1/1;display:grid;place-items:center;overflow:hidden}
.pd .im img{width:100%;height:100%;object-fit:cover}
.pd .bd{padding:18px}
.pd .k{font-size:12px;font-weight:700;letter-spacing:.06em;color:var(--sun);text-transform:uppercase}
.pd h3{font-size:16.5px;margin:6px 0 8px;color:#fff}
.pd ul{margin:0;padding-left:18px;color:var(--muted-d);font-size:13.5px}
@media(max-width:960px){.prods{grid-template-columns:1fr 1fr}}
.combos{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:16px}
.combos button{border:1px solid var(--line-d);border-radius:var(--r);overflow:hidden;padding:0;cursor:zoom-in;background:#fff}
.combos img{width:100%;aspect-ratio:1.25/1;object-fit:cover}
@media(max-width:760px){.combos{grid-template-columns:1fr}}

/* process */
.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;counter-reset:s}
.steps li{list-style:none;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:22px;position:relative}
.steps li::before{counter-increment:s;content:"0" counter(s);font-size:34px;font-weight:900;color:var(--sun);letter-spacing:-.03em;display:block;line-height:1;margin-bottom:12px}
.steps h3{font-size:16px;margin-bottom:6px}
.steps p{margin:0;color:var(--muted);font-size:14px}
.steps{padding:0;margin:0}
@media(max-width:1000px){.steps{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.steps{grid-template-columns:1fr}}
.trust{display:grid;grid-template-columns:1.2fr 1fr;gap:18px;margin-top:18px}
.trust .ph{border-radius:var(--r);overflow:hidden;min-height:260px}
.trust .ph img{width:100%;height:100%;object-fit:cover}
.trust .txt{background:var(--ink);color:#fff;border-radius:var(--r);padding:30px;display:flex;flex-direction:column;justify-content:center}
.trust .txt p{color:var(--muted-d)}
@media(max-width:900px){.trust{grid-template-columns:1fr}}

/* FAQ */
.faq{max-width:860px}
.faq details{border-bottom:1px solid var(--line);padding:6px 0}
.faq summary{cursor:pointer;list-style:none;font-weight:700;font-size:17.5px;padding:16px 40px 16px 0;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:6px;top:10px;font-size:28px;font-weight:400;color:var(--sun-ink)}
.faq details[open] summary::after{content:"–"}
.faq p{margin:0 0 18px;color:var(--muted);max-width:760px}
.faq-grid{display:grid;grid-template-columns:320px 1fr;gap:40px}
@media(max-width:900px){.faq-grid{grid-template-columns:1fr}}

/* CTA + footer */
.cta{background:radial-gradient(1200px 400px at 85% -10%,rgba(251,182,19,.28),transparent 60%),var(--ink);color:#fff;border-radius:28px;padding:56px;display:grid;grid-template-columns:1.4fr 1fr;gap:30px;align-items:center}
.cta h2{font-size:clamp(28px,3.4vw,40px)}
.cta p{color:var(--muted-d)}
.cta .phone{font-size:34px;font-weight:900;color:var(--sun);letter-spacing:-.02em}
@media(max-width:860px){.cta{grid-template-columns:1fr;padding:34px}}
footer{background:#000;color:var(--muted-d);font-size:14px;padding:56px 0 100px;margin-top:96px}
footer .cols{display:grid;grid-template-columns:1.3fr 1fr 1.4fr;gap:34px}
footer h4{color:#fff;font-size:14px;margin:0 0 12px;letter-spacing:.04em;text-transform:uppercase}
footer a{color:#d9dbe0}
footer ol{padding-left:18px;margin:0;font-size:12.5px}
footer li{margin-bottom:6px}
@media(max-width:860px){footer .cols{grid-template-columns:1fr}}

/* floating contact */
.float{position:fixed;right:18px;bottom:18px;z-index:50;display:flex;flex-direction:column;gap:10px}
.float a{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;text-decoration:none;font-weight:900;font-size:13px;box-shadow:0 8px 24px rgba(0,0,0,.25)}
.float .z{background:#0068FF;color:#fff}
.float .c{background:var(--sun);color:#1a1300}
.mbar{display:none}
@media(max-width:640px){
  .float{display:none}
  .mbar{display:grid;grid-template-columns:1fr 1fr 1.3fr;position:fixed;left:0;right:0;bottom:0;z-index:50;background:var(--ink);border-top:1px solid var(--line-d)}
  .mbar a{padding:14px 6px;text-align:center;color:#fff;font-weight:700;font-size:14px;text-decoration:none}
  .mbar a.p{background:var(--sun);color:#1a1300}
  section{padding:68px 0}
}

/* lightbox */
dialog#lb{border:0;padding:0;background:transparent;max-width:min(1100px,94vw)}
dialog#lb::backdrop{background:rgba(0,0,0,.86)}
dialog#lb img{max-height:84vh;width:auto;margin:0 auto;border-radius:12px}
dialog#lb p{color:#fff;text-align:center;margin:10px 0 0;font-weight:600}
dialog#lb button{position:absolute;top:8px;right:8px;background:rgba(0,0,0,.6);color:#fff;border:0;border-radius:50%;width:40px;height:40px;font-size:20px;cursor:pointer}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* ===== bổ sung SEO/GEO ===== */
.answer{background:var(--card);border:1px solid var(--line);border-left:5px solid var(--sun);border-radius:var(--r);padding:28px 30px;box-shadow:var(--shadow)}
.answer h2{font-size:24px;margin-bottom:12px}
.answer p{margin:0 0 10px;font-size:16.5px}
.answer ul{margin:8px 0 0;padding-left:20px}
.answer li{margin-bottom:6px}
.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:18px}
.facts div{background:var(--paper);border-radius:12px;padding:14px}
.facts b{display:block;font-size:22px;font-weight:900}
.facts span{font-size:13px;color:var(--muted)}
@media(max-width:800px){.facts{grid-template-columns:1fr 1fr}}
.tbl-wrap{overflow-x:auto;background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow)}
table.price{width:100%;border-collapse:collapse;font-size:14.5px;min-width:760px}
table.price caption{text-align:left;padding:16px 18px 6px;font-weight:700;color:var(--muted);font-size:13.5px}
table.price th,table.price td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:right;white-space:nowrap}
table.price th:first-child,table.price td:first-child{text-align:left}
table.price thead th{background:var(--ink);color:#fff;font-size:13px;font-weight:700}
table.price tbody tr:hover{background:var(--paper)}
table.price tr.hl td{background:#FFF4D6;font-weight:700}
.crumb{font-size:13.5px;color:var(--muted-d);margin-bottom:14px}
.crumb a{color:#d9dbe0}
.page-hero{background:var(--ink);color:#fff;padding:56px 0 60px}
.page-hero h1{font-size:clamp(32px,4.4vw,52px);font-weight:900;letter-spacing:-.03em;max-width:900px}
.page-hero p{color:#cfd1d6;font-size:18px;max-width:760px;margin:16px 0 0}
.page-hero .upd{font-size:13px;color:var(--muted-d);margin-top:14px}
.article{max-width:860px}
.article h2{font-size:clamp(24px,2.8vw,32px);margin:52px 0 14px}
.article h3{margin:28px 0 8px}
.article p,.article li{font-size:17px}
.article ul,.article ol{padding-left:22px}
.article li{margin-bottom:8px}
.article figure{margin:26px 0}
.article figure img{border-radius:var(--r);width:100%;height:auto}
.article figcaption{font-size:13.5px;color:var(--muted);margin-top:8px}
.related{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.related a{display:block;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:20px;text-decoration:none;box-shadow:var(--shadow)}
.related a b{display:block;font-size:16.5px;margin-bottom:6px}
.related a span{font-size:14px;color:var(--muted)}
@media(max-width:800px){.related{grid-template-columns:1fr}}
address{font-style:normal}
.upd-line{font-size:12.5px;color:var(--muted-d);margin-top:24px;border-top:1px solid #222;padding-top:16px}
.hero h1 .kw{display:block;font-size:clamp(20px,2.3vw,28px);font-weight:800;letter-spacing:-.01em;color:#fff;margin-bottom:14px}
.article{max-width:1100px}
.article>p,.article>ul,.article>ol,.article>h2,.article>h3,.article>.answer,.article>figure,.article>.faq{max-width:860px}
/* ===== v3: menu di động, footer heading, thẻ phương án ===== */
footer .fh{color:#fff;font-size:14px;margin:0 0 12px;letter-spacing:.04em;text-transform:uppercase;font-weight:700}
.menu{gap:22px}
.nav-r{display:flex;align-items:center;gap:10px}
.mnav{position:relative;display:none}
.mnav summary{list-style:none;cursor:pointer;width:46px;height:46px;border-radius:12px;display:grid;place-items:center;color:#fff;font-size:22px;border:1px solid var(--line-d)}
.mnav summary::-webkit-details-marker{display:none}
.mnav nav{position:absolute;right:0;top:54px;background:var(--ink-2);border:1px solid var(--line-d);border-radius:14px;padding:8px;min-width:240px;box-shadow:0 20px 40px rgba(0,0,0,.4);display:flex;flex-direction:column}
.mnav nav a{color:#fff;text-decoration:none;padding:12px 14px;border-radius:10px;font-weight:600}
.mnav nav a:hover{background:#2a2d35}
@media(max-width:1060px){.menu{display:none}.mnav{display:block}}
@media(max-width:480px){.nav-r .btn{padding:12px 14px;font-size:14px}}
.pk.on{border-color:var(--ink);box-shadow:0 0 0 3px rgba(251,182,19,.45)}
.pk-pick{margin-top:12px;width:100%;border:0;border-radius:10px;padding:10px;font:700 13.5px "Be Vietnam Pro",system-ui,sans-serif;background:var(--paper-2);color:var(--text);cursor:pointer}
.pk-pick::after{content:"";position:absolute;inset:0;border-radius:var(--r)}
.pk.on .pk-pick{background:var(--ink);color:#fff}
/* ===== v3: trang dự án / tin tức / sản phẩm ===== */
.h3{font-size:17.5px;font-weight:700;line-height:1.25;letter-spacing:-.01em;margin:6px 0 10px}
.pc .h3 a,.pc h3 a,.pd .h3 a{text-decoration:none}
.pc .h3 a:hover,.pc h3 a:hover{text-decoration:underline}
.ph-static{aspect-ratio:4/3;overflow:hidden;background:#ddd}
.ph-static img{width:100%;height:100%;object-fit:cover}
table.spec th{text-align:left;background:var(--paper);font-weight:600;color:var(--muted);width:42%;white-space:normal}
table.spec td{text-align:left;white-space:normal;font-weight:600}
.pdp{display:grid;grid-template-columns:1fr 1.1fr;gap:34px;align-items:start}
.pdp-img{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;position:sticky;top:90px}
.pdp-img img{width:100%;height:auto}
@media(max-width:860px){.pdp{grid-template-columns:1fr}.pdp-img{position:static}}
ol.cite li{font-size:15px}
