:root{--ink:#182e3a;--muted:#536570;--green:#047857;--line:#dce8e2;--pale:#edf6f0}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fcfdfb;color:var(--ink);font:16px/1.75 system-ui,-apple-system,sans-serif}a{color:var(--green);text-decoration:none}a:hover{text-decoration:underline}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #10b981;outline-offset:4px}header{position:sticky;top:0;background:#fcfdfb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);z-index:10}.nav{max-width:1160px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:19px 24px;gap:20px}.brand{font-size:22px;font-weight:800;color:var(--ink);white-space:nowrap}.brand span{color:var(--green)}nav{display:flex;gap:26px;font-size:14px}nav a{color:var(--ink)}main{max-width:1160px;padding:0 24px;margin:auto}h1,h2,h3{line-height:1.2;letter-spacing:-.035em}h1{font-size:clamp(36px,4.6vw,60px);max-width:820px;margin:18px 0 26px}h2{font-size:clamp(28px,3vw,38px);max-width:760px;margin:0 0 28px}h3{font-size:21px;margin:18px 0}p{color:var(--muted);max-width:780px}strong{color:var(--ink)}.hero{display:grid;grid-template-columns:1.5fr 1fr;gap:72px;align-items:center;padding:86px 0 94px}.eyebrow{font-size:11px;letter-spacing:.14em;font-weight:750;color:var(--green)}.lead{font-size:19px}.buttons{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}.button,button{display:inline-block;border:1px solid var(--green);border-radius:8px;padding:13px 22px;background:var(--green);color:white;font:600 14px/1.5 system-ui;cursor:pointer}.secondary{background:transparent;color:var(--green)}.portrait{position:relative;overflow:hidden;isolation:isolate;aspect-ratio: .9;background:var(--pale);border-radius:130px 130px 24px 24px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid #c6dfd1;color:var(--green)}.portrait span{font-size:150px;font-weight:750;line-height:1.2}.portrait small{text-align:center;font-size:11px;line-height:2}.portrait img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.section{padding:74px 0;border-top:1px solid var(--line)}.section>p{margin-bottom:32px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:30px 0}.card{padding:28px;border:1px solid var(--line);border-radius:14px;background:white}.card p{font-size:15px}.card small{font-size:12px;color:var(--muted)}.status{color:var(--green)!important;font-weight:600}.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px}.number{display:block;color:var(--green);font-size:40px;font-weight:300}.steps p{font-size:15px}form{padding:32px;background:var(--pale);border-radius:14px;max-width:680px;margin-top:40px}label{display:block;margin:16px 0;font-size:14px}input{display:block;width:100%;padding:12px;border:1px solid #a9c5b6;border-radius:6px;font:inherit;background:white}form small{display:block;color:var(--muted)}.final-cta{margin:28px 0 80px;padding:48px;border:0;border-radius:20px;background:var(--pale)}footer{border-top:1px solid var(--line);max-width:1112px;margin:auto;padding:40px 24px;display:flex;justify-content:space-between;gap:30px;font-size:14px}footer small{color:var(--muted)}.narrow{max-width:760px;min-height:65vh;margin:auto}.bio{display:grid;gap:14px;max-width:500px;margin-top:32px}.reading-progress{position:fixed;top:0;left:0;width:100%;height:3px;background:#10b981;transform:scaleX(0);transform-origin:left;z-index:20}html.js [data-reveal]{opacity:0;transform:translateY(24px);transition:opacity .45s ease,transform .45s ease}html.js [data-reveal].visible{opacity:1;transform:translateY(0)}li{margin-bottom:16px}a,p,h1,h2,h3{overflow-wrap:break-word}@media(max-width:760px){.nav{flex-direction:column;gap:8px;padding:12px 18px}nav{gap:20px;font-size:13px}.brand{font-size:20px}.hero{grid-template-columns:1fr;gap:36px;padding:48px 0}.portrait{max-width:290px;width:100%;justify-self:center}.grid,.steps{grid-template-columns:1fr}.steps{gap:20px}.steps article{border-bottom:1px solid var(--line);padding-bottom:14px}.section{padding:48px 0}.final-cta{padding:28px;margin-bottom:44px}footer{flex-direction:column}main{padding:0 20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}html.js [data-reveal]{opacity:1!important;transform:none!important}.portrait{transform:none!important}}
/* Trang mua và nhận bộ trợ lý */
.narrow { max-width: 820px; margin-inline: auto; }
.table-scroll { overflow-x:auto; max-width:100%; }
table { border-collapse:collapse; width:100%; font-size:.9rem; }
th,td { padding:10px; border:1px solid #d8dee8; text-align:left; vertical-align:top; }
#order-payment { padding:20px; border:1px solid #d8dee8; border-radius:16px; margin:20px 0; overflow-wrap:anywhere; }
#order-payment img { display:block; max-width:100%; object-fit:contain; }
button, .button { white-space:normal; }
main, section, form, input { min-width:0; }
.narrow a { overflow-wrap:anywhere; }
details { padding:12px 0; }
/* Blog: bố cục đọc và thẻ danh mục */
.blog-feature{padding:32px;border-radius:18px;background:var(--pale);border:1px solid var(--line);margin:28px 0}.blog-feature h2{max-width:900px}.blog-chips{display:flex;flex-wrap:wrap;gap:10px;margin:30px 0}.chip{border:1px solid var(--line);border-radius:30px;padding:9px 16px;background:white}.blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.blog-card{overflow:hidden;padding:24px}.blog-card h2{font-size:26px;margin:24px 0 12px}.blog-cover{min-height:130px;padding:24px;display:flex;align-items:end;border-radius:10px;font-size:16px;font-weight:700;background:#dcefe5;color:#15513e}.blog-cover.thiet-ke-san-pham{background:#e5e4f6;color:#443e78}.blog-cover.tu-duy-dung{background:#f7e9ce;color:#74531e}.blog-meta{font-size:14px;color:var(--muted)}.blog-post h1{font-size:clamp(32px,4vw,48px)}.blog-post h2{font-size:28px;margin:38px 0 18px}.blog-post h3{margin:26px 0 14px}.blog-post img{max-width:100%;height:auto;border-radius:12px}.blog-body{font-size:18px;line-height:1.85}.blog-body li{margin-bottom:10px}.blog-body blockquote{margin:24px 0;padding:16px 22px;border-left:4px solid var(--green);background:var(--pale)}[data-tom-tat],.blog-toc{padding:22px;background:var(--pale);border-radius:12px;margin:28px 0}.blog-toc{display:block}.blog-toc ol{padding-left:22px}.blog-author{display:flex;align-items:start;gap:20px;border-block:1px solid var(--line);padding:28px 0;margin:32px 0}.blog-author img{width:80px;flex-shrink:0}.blog-author p{margin:6px 0}.breadcrumbs{flex-wrap:wrap;gap:8px}.blog-post aside{overflow-wrap:anywhere}.blog-post h2[id]{scroll-margin-top:150px}@media(max-width:760px){.blog-grid{grid-template-columns:1fr}.blog-feature{padding:22px}.blog-chips{font-size:13px}.blog-author{gap:14px}.blog-body{font-size:17px}.blog-post{width:100%}}

.blog-body pre{overflow-x:auto;background:#0f172a;color:#e2e8f0;padding:14px 16px;border-radius:10px;font-size:14px;line-height:1.55;margin:16px 0}
.blog-body pre code{background:none;color:inherit;padding:0;white-space:pre}
.blog-nguon{margin-top:32px;padding-top:16px;border-top:1px solid #e2e8f0;font-size:15px;color:#475569}
.blog-nguon h2{font-size:18px;margin:0 0 6px}

/* Ảnh blog trên cả màn hình nhỏ. */
.blog-cover-image{display:block;width:100%;max-width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:16px}
.blog-body figure{margin:1.5rem 0;max-width:100%}
.blog-body img,.blog-post>img{display:block;max-width:100%;height:auto;border-radius:12px}
.blog-body figcaption{color:#57534e;font-size:.9rem;text-align:center;margin-top:.6rem;overflow-wrap:anywhere}
.blog-card,.blog-post,.blog-feature{min-width:0}

/* Trang bài: cột phải ý chính + mục lục (31/10, theo ai5phut) */
.blog-layout{max-width:1180px;margin-inline:auto;display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"head" "cover" "side" "main";column-gap:56px}
.blog-head{grid-area:head;max-width:820px}.blog-hero{grid-area:cover;min-width:0;margin:8px 0 28px}.blog-side{grid-area:side;min-width:0}.blog-main{grid-area:main;min-width:0;max-width:820px}
.blog-hero img{display:block;width:100%;height:auto;border-radius:16px}
.blog-toc ol{list-style:none;padding:0;margin:8px 0 0;counter-reset:muc}
.blog-toc li{counter-increment:muc;margin:0;border-left:2px solid var(--line)}
.blog-toc li a{display:block;padding:7px 0 7px 14px;color:var(--muted);text-decoration:none;font-size:15px;line-height:1.45}
.blog-toc li a::before{content:counter(muc,decimal-leading-zero) "  ";font-family:ui-monospace,monospace;font-size:12px;color:#94a3b8}
.blog-toc li.dang-doc{border-left-color:var(--green)}.blog-toc li.dang-doc a{color:var(--green);font-weight:600}
.blog-toc strong,.blog-side [data-tom-tat] h2{font-family:ui-monospace,monospace;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:600}
@media(min-width:1024px){
  .blog-layout{grid-template-columns:minmax(0,1fr) 320px;grid-template-areas:"head head" "cover side" "main side"}
  .blog-side-in{position:sticky;top:100px;max-height:calc(100vh - 120px);overflow-y:auto}
  .blog-side [data-tom-tat]{margin-top:0}
}

/* Mục lục: điện thoại thu gọn (bấm để xổ), máy tính luôn mở — 31/10 */
.blog-toc{background:var(--pale);border:1px solid var(--line);border-radius:14px;padding:14px 18px;margin:16px 0}
.blog-toc summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;font-family:ui-monospace,monospace;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:600}
.blog-toc summary::-webkit-details-marker{display:none}
.blog-toc summary::after{content:"▾";font-size:16px;transition:transform .2s}
.blog-toc[open] summary::after{transform:rotate(180deg)}
@media(min-width:1024px){.blog-toc summary{pointer-events:none}.blog-toc summary::after{display:none}}
nav[aria-label="Mục lục"]{display:block;width:100%;padding:0;margin:0;border:0;background:none}
.blog-toc{display:block;width:100%}.blog-toc summary{gap:12px}
