/* ============================================================
   9well him — site.css  v4 "anh em với 9wellclinic.com"
   Hệ trình bày lấy nguyên từ 9wellclinic (style v3, 17/09/2026):
   nền off-white, bộ màu gốc 9well, Be Vietnam Pro 600, bo góc 20px,
   nút pill, bento ảnh, thanh riêng tư + Thoát nhanh, sáng/tối.
   Thêm phần riêng của 9well.com: công cụ thở, thang 0–10, Vòng Tự Chủ,
   giỏ hàng, sản phẩm, khoá học.
   Palette 9well: indigo #1F183E · ember #EE4421 · violet #4F2780 · off-white #F6F4F4
   ============================================================ */
:root{
  --ink:#140E2B; --indigo:#1F183E; --ember:#EE4421; --violet:#4F2780;
  --cta:#D63A18;   /* nền nút chính: chữ trắng trên #EE4421 chỉ 3.83:1 (<4.5 WCAG AA) → đậm hơn 1 nấc = 4.69:1 */
  --bg:#F6F4F4; --bg-2:#FFFFFF; --bg-3:#ECE8E6; --bg-4:#E4DFDC;
  --line:#E3DEDA; --line-strong:#CFC8C3;
  --fg:#17122B; --fg-2:#4A4260; --fg-3:#6A6284;
  --accent:#C8391A; --accent-soft:#FBEBE6;   /* chữ cam trên nền sáng: #E0421C chỉ 4.23:1 → #C8391A 4.7:1 */
  --violet-fg:#5B2E92; --violet-soft:#EFE8F7;
  --ok:#2A6E5B; --ok-soft:#E4F0EC;
  --warn:#9A6410; --warn-soft:#FAF0DD; --amber:#B7791F;
  --shadow:0 1px 2px rgba(20,14,43,.04), 0 10px 30px -14px rgba(20,14,43,.16);
  --r:20px; --r-sm:12px; --maxw:1200px;
  --f:"Be Vietnam Pro","Segoe UI",system-ui,-apple-system,sans-serif;
  --mono:ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;
  color-scheme:light;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#120D25; --bg-2:#1B1435; --bg-3:#241C42; --bg-4:#2C2350; --line:#302748; --line-strong:#463A63;
    --fg:#F2EEF8; --fg-2:#C3BBD6; --fg-3:#9A92B3;
    --accent:#FF7A55; --accent-soft:#2E1A22; --violet-fg:#C4A0F0; --violet-soft:#241A3A;
    --ok:#6FCBB2; --ok-soft:#142A26; --warn:#E0B060; --warn-soft:#2A2113; --amber:#E0B060;
    --shadow:0 1px 2px rgba(0,0,0,.4), 0 12px 32px -16px rgba(0,0,0,.7);
    color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --bg:#120D25; --bg-2:#1B1435; --bg-3:#241C42; --bg-4:#2C2350; --line:#302748; --line-strong:#463A63;
  --fg:#F2EEF8; --fg-2:#C3BBD6; --fg-3:#9A92B3;
  --accent:#FF7A55; --accent-soft:#2E1A22; --violet-fg:#C4A0F0; --violet-soft:#241A3A;
  --ok:#6FCBB2; --ok-soft:#142A26; --warn:#E0B060; --warn-soft:#2A2113; --amber:#E0B060;
  --shadow:0 1px 2px rgba(0,0,0,.4), 0 12px 32px -16px rgba(0,0,0,.7);
  color-scheme:dark;
}

/* ---------- base ---------- */
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:130px}
body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--f);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}
body.lock{overflow:hidden}
img{max-width:100%;height:auto;display:block}
h1,h2,h3,h4{font-family:var(--f);font-weight:600;line-height:1.12;letter-spacing:-.025em;text-wrap:balance;margin:0}
h1 em,h2 em{font-style:normal;color:var(--violet-fg)}
p{margin:0}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.skip{position:absolute;left:-9999px;top:0;background:var(--accent);color:var(--bg-2);padding:10px 16px;z-index:100;border-radius:0 0 8px 0}
.skip:focus{left:0}
.wrap{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:24px}
.eyebrow{font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--fg-3);margin:0;display:block}
.eyebrow.acc{color:var(--accent)}
.muted{color:var(--fg-3)}
.num{font-variant-numeric:tabular-nums}

/* ---------- thanh riêng tư + Thoát nhanh ---------- */
#exitbar{position:sticky;top:0;z-index:60;background:var(--ink);color:#EDE7F5;font-size:12.5px;padding-top:env(safe-area-inset-top,0px)}
:root[data-theme="dark"] #exitbar{background:#0C0818}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) #exitbar{background:#0C0818}}
#exitbar .wrap{display:flex;align-items:center;gap:14px;justify-content:space-between;padding-block:4px}
#exitbar .privnote{display:flex;align-items:center;gap:7px;color:#C4BAD9;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#exitbar .privnote svg{width:13px;height:13px;flex:none}
.exitbtn{flex-shrink:0;background:var(--cta);color:#fff;border:0;border-radius:999px;padding:10px 16px;min-height:44px;font-size:13px;font-weight:600}
.exitbtn:hover{background:#B8321A}

/* ---------- header ---------- */
header.site{position:sticky;top:52px;z-index:50;background:color-mix(in srgb,var(--bg) 88%,transparent);
  backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line)}
header.site .wrap{display:flex;align-items:center;gap:14px;padding-block:12px}
.brand{display:flex;align-items:baseline;gap:8px;flex-shrink:0;min-height:44px}
.brand .dot{width:30px;height:30px;background:url(logo-mark.svg) center/contain no-repeat;align-self:center;flex:0 0 30px}
.brand b{font-size:26px;font-weight:700;letter-spacing:-.04em}
.brand span:not(.dot){font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--fg-3)}
nav.main{display:flex;gap:2px;margin-left:auto}
nav.main a{font-size:14.5px;font-weight:500;color:var(--fg-2);padding:10px 13px;border-radius:999px;white-space:nowrap}
nav.main a:hover{background:var(--bg-3);color:var(--fg)}
nav.main a[aria-current="page"]{color:var(--fg);background:var(--bg-3)}
.navtools{display:flex;gap:8px;align-items:center}
.icobtn{position:relative;background:transparent;border:1px solid var(--line-strong);border-radius:999px;width:44px;height:44px;display:grid;place-items:center;color:var(--fg-2);flex:none}
.icobtn:hover{border-color:var(--fg-3);color:var(--fg)}
.icobtn svg{width:18px;height:18px}
.icobtn .b{position:absolute;top:-4px;right:-4px;min-width:19px;height:19px;padding:0 5px;border-radius:99px;background:var(--cta);color:#fff;font-size:12px;font-weight:700;display:grid;place-items:center;border:2px solid var(--bg)}
.icobtn .b:empty{display:none}
#menuBtn{display:none}
.menu{display:none}

/* ---------- nút (pill) ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:999px;padding:14px 22px;min-height:48px;
  font-size:15px;font-weight:600;background:var(--cta);color:#fff;transition:transform .12s,filter .12s,background .12s;text-align:center;line-height:1.25}
.btn:hover{filter:brightness(1.06);transform:translateY(-1px)}
.btn svg{width:17px;height:17px;flex:none}
.btn.ghost{background:var(--bg-2);border-color:var(--line-strong);color:var(--fg)}
.btn.ghost:hover{background:var(--bg-3);filter:none}
.btn.dark{background:var(--indigo);color:#fff}
:root[data-theme="dark"] .btn.dark{background:#fff;color:var(--ink)}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .btn.dark{background:#fff;color:var(--ink)}}
.btn.sm{padding:10px 16px;min-height:44px;font-size:14px}
.btn.lg{padding:16px 28px;min-height:54px;font-size:16px}
.btn.wide{width:100%}
.btn.onphoto{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.4);color:#fff;backdrop-filter:blur(6px)}
.btn[disabled]{opacity:.5;pointer-events:none}
.acts{display:flex;gap:10px;flex-wrap:wrap}

/* ---------- dải tin cậy ---------- */
.trust{display:flex;flex-wrap:wrap;gap:8px 22px;margin:0;padding:0;list-style:none;font-size:13.5px;color:var(--fg-2)}
.trust li{display:flex;align-items:center;gap:7px}
.trust li::before,.ticks li::before{content:"";width:16px;height:16px;border-radius:50%;background:var(--ok-soft) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232A6E5B' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'><path d='M5 13l4 4L19 7'/></svg>") center/10px no-repeat;border:1.5px solid var(--ok);flex-shrink:0}
.ticks{list-style:none;padding:0;margin:0;display:grid;gap:9px;font-size:14.5px;color:var(--fg-2)}
.ticks li{display:grid;grid-template-columns:18px 1fr;gap:9px;align-items:start}
.ticks li::before{margin-top:4px}

/* ---------- hero trang chủ + bento ---------- */
.hero{padding-block:36px 8px}
.hero-top{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:22px}
.hero h1{font-size:clamp(36px,5.2vw,64px);max-width:15ch}
.hero .lede{font-size:17px;color:var(--fg-2);margin:14px 0 0;max-width:54ch}
.hero .acts{margin-top:22px}
.hero .trust{max-width:300px;flex-direction:column;gap:8px;align-items:flex-start}
.bento{display:grid;grid-template-columns:1.25fr .75fr;gap:14px}
.bento-col{display:grid;gap:14px}
.tile{position:relative;display:block;color:#fff;border-radius:var(--r);overflow:hidden;min-height:400px;background:var(--indigo);isolation:isolate}
.tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 25%;z-index:-1;transition:transform .5s}
.tile:hover img{transform:scale(1.03)}
/* 20/09/2026 — ảnh đã chỉnh sáng +25 điểm nên màn phủ cũ (.05 ở giữa khung) làm chữ trắng tụt còn 1.13:1.
   Giữ 42% phía trên gần như trong suốt để ảnh vẫn sáng, dồn độ đậm xuống dải có chữ. Đo lại: xem ghi chú .tile .k. */
/* 34% trên cùng gần như trong suốt để ảnh lộ ra; dựng đậm đúng từ mốc tiêu đề (~49% khung)
   — ảnh H3-him-ban có đèn thành phố sáng ngay sau tiêu đề, công thức cũ chỉ đạt 1.75:1. */
.tile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,14,43,.12) 0%,rgba(20,14,43,.06) 34%,rgba(20,14,43,.60) 48%,rgba(20,14,43,.78) 72%,rgba(20,14,43,.88) 100%);z-index:0}
/* ô nhỏ chỉ cao 193px nên khối chữ bắt đầu từ ~31% khung → màn phải dựng sớm hơn ô lớn */
.tile.sm::after{background:linear-gradient(180deg,rgba(20,14,43,.14) 0%,rgba(20,14,43,.10) 18%,rgba(20,14,43,.58) 44%,rgba(20,14,43,.88) 100%)}
.tile .t{position:relative;z-index:1;padding:22px 24px;display:flex;flex-direction:column;height:100%;min-height:inherit;justify-content:flex-end}
.tile .k{position:absolute;top:22px;left:24px;right:24px;width:max-content;max-width:calc(100% - 48px);font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;
  background:rgba(20,14,43,.62);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:6px 12px;border-radius:999px;color:#fff}
.tile h2{font-size:clamp(24px,2.6vw,34px);color:#fff;max-width:17ch;margin-top:0}
.tile h2 em{color:#FFB39B}
.tile p{margin:8px 0 0;font-size:14.5px;color:#E8E2F3;max-width:42ch}
.tile .go{display:inline-flex;align-items:center;gap:8px;background:#fff;color:var(--ink);border-radius:999px;padding:11px 18px;font-size:14px;font-weight:600;width:max-content;margin-top:16px}
.tile.sm{min-height:193px}
.tile.sm h2{font-size:clamp(21px,2vw,26px)}
.triage-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-top:34px}
.triage-head h2{font-size:clamp(22px,2.4vw,30px)}
.triage-head a{font-size:14.5px;font-weight:600;color:var(--fg-2);text-decoration:underline;text-underline-offset:3px;display:inline-flex;align-items:center;min-height:44px}
.symptoms{display:grid;gap:10px;grid-template-columns:repeat(4,1fr);margin-top:14px}
.symp{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--bg-2);border:1px solid var(--line);border-radius:16px;padding:16px 18px;
  font-size:15px;font-weight:600;line-height:1.3;color:var(--fg);min-height:64px;transition:border-color .15s,transform .15s,box-shadow .15s}
.symp:hover{border-color:var(--fg-3);transform:translateY(-2px);box-shadow:var(--shadow)}
.symp small{display:block;font-size:12px;color:var(--fg-3);font-weight:500;margin-top:2px}
.symp::after{content:"→";font-weight:600;color:var(--fg-3);flex-shrink:0}

/* ---------- trang con: đầu trang ---------- */
.phead{padding-block:34px 10px}
.crumbs{font-size:12.5px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:var(--fg-3);margin:0 0 12px;display:flex;gap:8px;flex-wrap:wrap}
.crumbs a:hover{color:var(--fg)}
.phead h1{font-size:clamp(34px,4.6vw,56px);max-width:18ch}
.phead .lede{font-size:17px;color:var(--fg-2);margin:14px 0 0;max-width:58ch}
.phead .acts{margin-top:22px}
.phead .trust{margin-top:20px}
.phero{display:grid;grid-template-columns:1.1fr .9fr;gap:36px;align-items:end}
.phero .ph{border-radius:var(--r);overflow:hidden;aspect-ratio:4/3;background:var(--bg-3)}
.phero .ph img{width:100%;height:100%;object-fit:cover}

/* ---------- section ---------- */
section{padding-block:56px}
.sechead{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:28px;flex-wrap:wrap}
.sechead h2{font-size:clamp(28px,3.6vw,44px);margin-top:10px;max-width:22ch}
.sechead p.sub{margin:12px 0 0;color:var(--fg-2);font-size:16px;max-width:64ch}
.band{background:var(--bg-2);border-block:1px solid var(--line)}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.stat b{display:block;font-size:34px;font-weight:700;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.stat span{font-size:14px;color:var(--fg-2);line-height:1.4;display:block;margin-top:4px}
a.stat:hover b{color:var(--accent)}
.panel{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r);padding:26px}
.panel.shadow{box-shadow:var(--shadow)}

/* nhãn */
.track{display:inline-block;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:4px 10px;border-radius:999px;background:var(--bg-3);color:var(--fg-2)}
.track.him{background:var(--accent-soft);color:var(--accent)}
.track.vi{background:var(--violet-soft);color:var(--violet-fg)}
.track.ok{background:var(--ok-soft);color:var(--ok)}

/* ---------- thẻ ---------- */
.cards{display:grid;gap:16px;grid-template-columns:repeat(3,1fr)}
.cards.c4{grid-template-columns:repeat(4,1fr)}
.card{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r);padding:20px;display:flex;flex-direction:column;gap:10px;transition:border-color .15s,transform .15s,box-shadow .15s;overflow:hidden;min-width:0}
a.card:hover,.card.hov:hover{border-color:var(--line-strong);transform:translateY(-2px);box-shadow:var(--shadow)}
.card .thumb{margin:-20px -20px 6px;aspect-ratio:16/10;overflow:hidden;background:var(--bg-3);position:relative;display:grid;place-items:center}
.card .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
a.card:hover .thumb img{transform:scale(1.04)}
.card .thumb svg.gl{width:30%;max-width:92px;height:auto}
.card .top{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.card h3{font-size:19px;line-height:1.25}
.card p{font-size:14.5px;color:var(--fg-2);line-height:1.55}
.card p.clamp{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.card .foot{margin-top:auto;padding-top:12px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12.5px;color:var(--fg-3)}

/* thẻ sản phẩm */
.pthumb{aspect-ratio:1/1!important}
.pthumb svg.pv{width:42%;height:auto;filter:drop-shadow(0 12px 20px rgba(20,14,43,.18))}
/* ảnh sản phẩm chụp thật: phủ kín ô, nền sáng ấm giữ nguyên ở cả chế độ tối (ảnh là ảnh chụp, không đổi màu theo giao diện) */
.pthumb{position:relative;overflow:hidden}
.pthumb img.pimg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.card.hov:hover .pthumb img.pimg,.tier:hover .pthumb img.pimg{transform:scale(1.04)}
@media (prefers-reduced-motion:reduce){.pthumb img.pimg{transition:none}.card.hov:hover .pthumb img.pimg,.tier:hover .pthumb img.pimg{transform:none}}
.pthumb .tag{z-index:1}
.pthumb .tag{position:absolute;left:12px;top:12px;background:#fff;color:var(--ink);font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:5px 10px;border-radius:999px;box-shadow:0 1px 3px rgba(0,0,0,.15)}
.pthumb .tag.hot{background:var(--cta);color:#fff}
.price{font-size:19px;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--fg)}
.price s{font-size:13px;font-weight:500;color:var(--fg-3);margin-left:6px}
.pfoot{margin-top:auto;padding-top:12px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:10px}
.add{width:44px;height:44px;border-radius:999px;background:var(--indigo);color:#fff;border:0;display:grid;place-items:center;flex:none;transition:.15s}
.add:hover{background:var(--cta)}
.add svg{width:18px;height:18px}
:root[data-theme="dark"] .add{background:var(--bg-4)}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .add{background:var(--bg-4)}}

/* bước có ảnh */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.steps.s3{grid-template-columns:repeat(3,1fr)}
.step{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;transition:border-color .15s,transform .15s,box-shadow .15s}
a.step:hover{border-color:var(--line-strong);transform:translateY(-2px);box-shadow:var(--shadow)}
.step .ph{aspect-ratio:4/3;overflow:hidden;background:var(--bg-3)}
.step .ph img{width:100%;height:100%;object-fit:cover}
.step .b{padding:20px;display:flex;flex-direction:column;flex:1}
.step .n{font-size:12px;font-weight:700;letter-spacing:.12em;color:var(--accent);text-transform:uppercase}
.step h3{font-size:20px;margin-top:6px}
.step p{margin:8px 0 0;font-size:14.5px;color:var(--fg-2);line-height:1.55}
.step .more{margin-top:auto;padding-top:14px;font-size:14px;font-weight:600;color:var(--fg-2)}

/* ---------- liệu trình (tiers) ---------- */
.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-items:stretch}
.tier{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r);display:flex;flex-direction:column;overflow:hidden;position:relative}
.tier.feature{border-color:var(--ink);box-shadow:var(--shadow)}
:root[data-theme="dark"] .tier.feature{border-color:var(--fg-3)}
.tier>img{aspect-ratio:16/10;width:100%;object-fit:cover;background:var(--bg-3)}
.tier .body{padding:22px 22px 24px;display:flex;flex-direction:column;flex:1}
.tier .tag{position:absolute;top:14px;left:14px;background:#fff;color:var(--ink);font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:6px 11px;border-radius:999px;box-shadow:0 1px 3px rgba(0,0,0,.15)}
.tier.feature .tag{background:var(--cta);color:#fff}
.tier h3{font-size:24px}
.tier .price{font-size:30px;margin-top:10px}
.tier .per{font-size:13px;color:var(--fg-3);margin:2px 0 14px}
.tier .role{font-size:14px;line-height:1.55;color:var(--fg-2);margin:0 0 18px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.tier .ticks{margin-bottom:22px}
.tier .acts{margin-top:auto;display:grid;gap:8px}
.tier .safety{font-size:12.5px;color:var(--fg-3);text-align:center;margin-top:10px}

/* ---------- khối tuyên bố / CTA ---------- */
.cta{background:var(--indigo);color:#F4F0FA;border-radius:var(--r);padding:40px 36px;display:grid;grid-template-columns:1fr auto;gap:26px;align-items:center}
.cta h2{font-size:clamp(24px,3vw,34px);color:#fff}
.cta p{margin:8px 0 0;color:#CFC4E4;font-size:15.5px;max-width:56ch}
/* Khối ảnh lớn: giữ đúng ngôn ngữ 9wellclinic — chữ trắng trên ảnh, màn tối dồn về đáy.
   Ảnh nền đã được chỉnh sáng +25 điểm (xem 9well-redesign/_anh-dem-cu/ là bản gốc chưa chỉnh). */
.statement{position:relative;border-radius:var(--r);overflow:hidden;min-height:520px;color:#fff;isolation:isolate;display:flex;align-items:flex-end}
.statement img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1}
.statement::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,14,43,.08) 0%,rgba(20,14,43,.05) 38%,rgba(20,14,43,.84) 100%);z-index:0}
.statement .t{position:relative;z-index:1;padding:40px}
.statement h2{font-size:clamp(32px,4.6vw,56px);color:#fff;max-width:17ch}
.statement h2 em{color:#FFB39B}
.statement p{margin:12px 0 0;font-size:16px;color:#E8E2F3;max-width:52ch}
.statement .acts{margin-top:22px}

/* ---------- chips + tìm kiếm ---------- */
.search{display:flex;align-items:center;gap:10px;background:var(--bg-2);border:1px solid var(--line-strong);border-radius:999px;padding:12px 18px;max-width:560px}
.search svg{width:18px;height:18px;color:var(--fg-3);flex:none}
.search input{border:0;background:transparent;outline:0;font:inherit;font-size:16px;color:var(--fg);width:100%}
.search:focus-within{border-color:var(--fg-3)}
.chips{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 0}
.chip{display:inline-flex;align-items:center;gap:7px;background:var(--bg-2);border:1px solid var(--line-strong);border-radius:999px;padding:9px 16px;min-height:44px;font-size:13.5px;font-weight:500;color:var(--fg-2);white-space:nowrap}
.chip:hover{border-color:var(--fg-3);color:var(--fg)}
.chip[aria-pressed="true"]{background:var(--ink);color:#fff;border-color:var(--ink)}
:root[data-theme="dark"] .chip[aria-pressed="true"]{background:#fff;color:var(--ink);border-color:#fff}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .chip[aria-pressed="true"]{background:#fff;color:var(--ink);border-color:#fff}}
.chip i{width:8px;height:8px;border-radius:50%;flex:none}
.chip small{font-family:var(--mono);font-size:12px;opacity:.7}
.count{font-family:var(--mono);font-size:12.5px;color:var(--fg-3);margin:16px 0 14px}
.stickybar{position:sticky;top:121px;z-index:40;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line);margin-bottom:24px}
.stickybar .chips{flex-wrap:nowrap;overflow-x:auto;padding-bottom:12px;scrollbar-width:none}
.stickybar .chips::-webkit-scrollbar{display:none}

/* ---------- video (lite youtube) ---------- */
.yt{position:relative;aspect-ratio:16/9;border-radius:var(--r);overflow:hidden;background:var(--indigo);isolation:isolate}
.yt img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.82;transition:opacity .2s,transform .4s}
.yt:hover img{opacity:.7;transform:scale(1.02)}
.yt iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.yt-play{position:absolute;inset:0;margin:auto;width:74px;height:74px;border-radius:50%;border:0;background:var(--cta);color:#fff;display:grid;place-items:center;
  box-shadow:0 10px 30px rgba(0,0,0,.35);transition:transform .16s}
.yt-play svg{width:30px;height:30px;margin-left:4px}
.yt:hover .yt-play{transform:scale(1.07)}
.yt-lb{position:absolute;left:0;right:0;bottom:0;padding:26px 18px 14px;color:#fff;font-size:14px;font-weight:600;
  background:linear-gradient(transparent,rgba(20,14,43,.85));pointer-events:none}
.yt-free{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:var(--ok);background:var(--ok-soft);padding:4px 10px;border-radius:999px}

/* ---------- FAQ ---------- */
.faq{max-width:820px}
.faq details{border:1px solid var(--line);border-radius:14px;padding:15px 18px;margin-bottom:8px;background:var(--bg-2)}
.faq summary{cursor:pointer;font-weight:600;font-size:15.5px;list-style:none;display:flex;justify-content:space-between;gap:12px;align-items:center;min-height:30px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:20px;color:var(--fg-3);line-height:1}
.faq details[open] summary::after{content:"–"}
.faq details p{margin:10px 0 0;font-size:15px;color:var(--fg-2)}
.faq a{color:var(--accent);font-weight:600}

/* ---------- người ---------- */
.av{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;font-size:19px;font-weight:700;color:#fff;background:linear-gradient(135deg,var(--ember),var(--violet));flex:none}

/* ---------- footer ---------- */
footer.site{border-top:1px solid var(--line);padding-block:44px 48px;margin-top:20px;padding-bottom:calc(48px + env(safe-area-inset-bottom,0px));background:var(--bg-2)}
.fgrid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:28px}
footer.site h4{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--fg-3);margin:0 0 12px}
footer.site ul{list-style:none;padding:0;margin:0;display:grid;gap:2px;font-size:14px}
footer.site a{color:var(--fg-2);display:inline-flex;align-items:center;min-height:44px;padding:7px 0}
footer.site a:hover{color:var(--fg)}
footer.site .fbrand p{font-size:14px;color:var(--fg-2);max-width:34ch;margin-top:10px}
.disclaimer{margin-top:30px;padding-top:20px;border-top:1px solid var(--line);font-size:13px;color:var(--fg-3);line-height:1.6;max-width:90ch}
.disclaimer p+p{margin-top:8px}

/* ---------- nút nổi / CTA dính mobile ---------- */
.fab{position:fixed;right:20px;bottom:20px;z-index:55;display:inline-flex;align-items:center;gap:9px;background:var(--ink);color:#fff;font-weight:600;font-size:14px;
  padding:12px 18px;min-height:48px;border-radius:999px;box-shadow:0 10px 30px -10px rgba(0,0,0,.45);transition:transform .15s}
.fab:hover{transform:translateY(-2px)}
.fab svg{width:17px;height:17px}
.stickycta{display:none}

/* ---------- giỏ hàng ---------- */
.scrim{position:fixed;inset:0;z-index:96;background:rgba(10,7,18,.45);opacity:0;pointer-events:none;transition:opacity .25s}
.scrim.open{opacity:1;pointer-events:auto}
.drawer{position:fixed;top:0;right:0;bottom:0;z-index:97;width:min(440px,100%);background:var(--bg);display:flex;flex-direction:column;
  transform:translateX(104%);transition:transform .3s cubic-bezier(.2,.8,.2,1);box-shadow:-20px 0 60px rgba(0,0,0,.2)}
.drawer.open{transform:none}
.dr-h{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--line)}
.dr-h h3{font-size:20px}
.dr-b{flex:1;overflow-y:auto;padding:16px 20px}
.dr-f{padding:16px 20px 20px;border-top:1px solid var(--line);background:var(--bg-2)}
.ci{display:flex;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}
.ci .v{width:56px;height:56px;border-radius:14px;display:grid;place-items:center;flex:none}
.ci .v svg{width:55%}
.ci .v,.rp .v{overflow:hidden;position:relative}
.ci .v img.pimg,.rp .v img.pimg{width:100%;height:100%;object-fit:cover}
.ci .n{flex:1;min-width:0}
.ci .n b{display:block;font-size:14.5px;font-weight:600;line-height:1.35}
.ci .n span{font-size:13px;color:var(--fg-3)}
.qty{display:flex;align-items:center;border:1px solid var(--line-strong);border-radius:999px;background:var(--bg-2)}
.qty button{width:36px;height:40px;border:0;background:none;font-size:18px;color:var(--fg-2)}
.qty span{min-width:22px;text-align:center;font-weight:700;font-size:14px}
.tot{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:12px}
.tot b{font-size:24px;letter-spacing:-.03em}
.empty{text-align:center;padding:48px 10px;color:var(--fg-3)}
.empty svg{width:44px;height:44px;margin:0 auto 12px;opacity:.4}
.fld{display:block;margin-bottom:12px}
.fld span{display:block;font-size:13px;font-weight:600;color:var(--fg-2);margin-bottom:6px}
.fld input,.fld textarea{width:100%;font:inherit;font-size:16px;padding:12px 14px;border-radius:var(--r-sm);border:1px solid var(--line-strong);background:var(--bg-2);color:var(--fg);outline:0}
.fld input:focus,.fld textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.fld .err{color:var(--accent);font-size:13px;margin-top:5px;display:none}
.fld.bad input{border-color:var(--accent)}.fld.bad .err{display:block}
.note{font-size:13.5px;color:var(--fg-3);line-height:1.55}
.okbox{background:var(--ok-soft);border:1px solid color-mix(in srgb,var(--ok) 40%,transparent);color:var(--fg);border-radius:14px;padding:14px 16px;font-size:14.5px;line-height:1.55}
.sumbox{background:var(--bg-2);border:1px solid var(--line);border-radius:14px;padding:12px 16px;font-size:14px;margin:14px 0}
.sumbox div{display:flex;justify-content:space-between;gap:10px;padding:3px 0}
.toast{position:fixed;left:50%;bottom:26px;z-index:99;transform:translate(-50%,30px);opacity:0;background:var(--ink);color:#fff;padding:12px 18px;border-radius:999px;
  font-size:14px;font-weight:600;box-shadow:0 12px 30px rgba(0,0,0,.25);transition:.3s;display:flex;gap:9px;align-items:center;pointer-events:none;max-width:calc(100% - 32px)}
.toast.show{opacity:1;transform:translate(-50%,0)}
.toast svg{width:17px;height:17px;color:#7BE0A8;flex:none}
.toast span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* hiệu ứng vào */
.rise{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}
.rise.in{opacity:1;transform:none}

/* ---------- responsive ---------- */
@media (max-width:1000px){
  .bento{grid-template-columns:1fr 1fr}
  .symptoms{grid-template-columns:1fr 1fr}
  .cards,.cards.c4,.tiers,.steps,.steps.s3{grid-template-columns:1fr 1fr}
  .stats{grid-template-columns:1fr 1fr}
  .fgrid{grid-template-columns:1fr 1fr}
  .hero-top{flex-direction:column;align-items:flex-start}
  .hero .trust{max-width:none;flex-direction:row}
  .phero{grid-template-columns:1fr}
  nav.main a{padding:10px 9px}
}
@media (max-width:860px){
  nav.main{display:none}
  #menuBtn{display:grid}
  .menu{display:none;position:fixed;inset:0;z-index:80;background:var(--bg);padding:calc(env(safe-area-inset-top,0px) + 20px) 20px 20px;flex-direction:column;gap:4px;overflow-y:auto}
  .menu.open{display:flex}
  .menu a.l{font-size:24px;font-weight:600;padding:14px 6px;border-bottom:1px solid var(--line)}
  .menu .sub{font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--fg-3);margin:20px 6px 4px}
  .menu a.s{font-size:17px;color:var(--fg-2);padding:10px 6px}
  .menu .close{align-self:flex-end;margin-bottom:10px}
  .menu .btn{margin-top:18px}
}
@media (max-width:700px){
  .wrap{padding-inline:16px}
  header.site .wrap{padding-block:10px;gap:10px}
  header.site .brand{flex:0 1 auto;min-width:0}
  header.site .brand span:not(.dot){display:none}
  header.site .navtools{margin-left:auto}
  header.site .navtools .btn.sm{display:none}
  #exitbar .privnote{font-size:12px}
  .hero{padding-block:26px 8px}
  .hero h1{font-size:clamp(32px,9vw,40px)}
  .bento{grid-template-columns:1fr}
  .tile{min-height:400px}
  .tile.sm{min-height:220px}
  .triage-head{flex-direction:column;align-items:flex-start;gap:6px}
  .symptoms{grid-template-columns:1fr}
  .symp{min-height:56px}
  .cards,.tiers,.steps,.steps.s3{grid-template-columns:1fr}
  .cards.c4{grid-template-columns:1fr 1fr;gap:10px}
  .cards.c4 .card{padding:14px}
  .cards.c4 .card .thumb{margin:-14px -14px 4px}
  .cards.c4 .card p{display:none}
  .cards.c4 .card h3{font-size:15px}
  .cards.c4 .price{font-size:16px}
  .cards.c4 .price s{display:block;margin-left:0}
  .cta{grid-template-columns:1fr;padding:28px 22px}
  .statement{min-height:440px}
  .statement .t{padding:24px}
  .fgrid{grid-template-columns:1fr}
  section{padding-block:40px}
  .phead h1{font-size:clamp(30px,8.4vw,40px)}
  .fab{display:none}
  .stickycta{display:flex;position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:55;background:var(--ink);color:#fff;border-radius:999px;
    padding:8px 8px 8px 18px;align-items:center;justify-content:space-between;gap:12px;box-shadow:0 10px 30px -10px rgba(0,0,0,.45)}
  .stickycta span{font-size:13.5px;font-weight:500;color:#DED7EC}
  .stickycta .btn{padding:11px 16px;min-height:44px;font-size:14px}
  body{padding-bottom:84px}
  footer.site a{padding:11px 0}
  .stickybar{top:117px}
}

/* ---------- ô thu liên hệ (lead) ---------- */
.leadbox{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r);padding:clamp(22px,3vw,32px);display:grid;gap:18px;box-shadow:var(--shadow)}
.leadbox.dark{background:var(--indigo);border-color:transparent;color:#fff}
.leadbox.dark h3{color:#fff}.leadbox.dark p{color:#CFC4E4}.leadbox.dark .fld span{color:#CFC4E4}
.leadbox.dark input{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.25);color:#fff}
.leadbox.dark input::placeholder{color:rgba(255,255,255,.5)}
.leadbox h3{font-size:clamp(20px,2.4vw,26px);margin:8px 0 6px}
.leadbox p{font-size:14.5px;color:var(--fg-2);line-height:1.6;max-width:60ch}
.lb-f{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:end}
@media(max-width:620px){.lb-f{grid-template-columns:1fr}}
.lb-f .fld{margin:0}
.lb-n{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--fg-3)}
.leadbox.dark .lb-n{color:rgba(255,255,255,.6)}
.lb-n svg{width:14px;height:14px;flex:none}
.lb-ok{display:flex;gap:14px;align-items:flex-start}
.lb-ok svg{width:26px;height:26px;color:var(--ok);flex:none}
.lb-ok b{display:block;font-size:17px;margin-bottom:4px}
.lb-ok p{margin-bottom:12px}

/* ---------- khối học thử (video + ô nhận lộ trình) ---------- */
.hocthu{display:grid;grid-template-columns:1.15fr .85fr;gap:24px;align-items:center}
@media(max-width:900px){.hocthu{grid-template-columns:1fr;gap:18px}}

/* 20/09/2026: khối này chưa hề có CSS → thẻ <svg> nở ra cỡ mặc định to tướng và chữ chạy vòng quanh nó */
.disc{display:flex;gap:10px;align-items:flex-start;margin-top:26px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:var(--bg-2);font-size:13.5px;line-height:1.6;color:var(--fg-2)}
.disc svg{width:18px;height:18px;flex:none;margin-top:2px;color:var(--fg-3)}
.disc span{flex:1;min-width:0}

/* 20/09/2026 — chuyên gia có ảnh thật: hồ sơ dùng chân dung 4:5 thay vòng tròn 112px */
.xp.hasphoto{grid-template-columns:220px 1fr}
@media(max-width:700px){.xp.hasphoto{grid-template-columns:1fr}}
.xportrait{border-radius:18px;overflow:hidden;background:var(--bg-3);aspect-ratio:4/5}
@media(max-width:700px){.xportrait{max-width:220px}}
.xportrait img{width:100%;height:100%;object-fit:cover;display:block}
/* ảnh trong avatar tròn (trang chủ, thẻ Người hướng dẫn) */
.av img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}
.av:has(img){background:var(--bg-3);padding:0;overflow:hidden}

/* dải 3 con số trên hồ sơ chuyên gia */
.xstats{display:grid;grid-template-columns:repeat(3,auto);gap:28px;justify-content:start;margin:22px 0 4px;padding:18px 0;border-block:1px solid var(--line)}
@media(max-width:560px){.xstats{grid-template-columns:1fr;gap:14px;padding:14px 0}}
.xstats b{display:block;font-size:26px;font-weight:700;letter-spacing:-.03em;line-height:1.1;color:var(--fg)}
.xstats span{display:block;font-size:13px;color:var(--fg-3);margin-top:3px;max-width:22ch}

/* combo: cảnh 3 món thay cho một hình hộp quà dùng chung */
.pthumb svg.pvset{width:92%;height:auto}

/* Vùng chạm tối thiểu 44×44: các link chữ nằm lẫn trong đoạn văn trước đây chỉ cao 19–35px,
   trên điện thoại rất dễ bấm trượt sang link bên cạnh. */
.count a{display:inline-flex;align-items:center;min-height:44px}
footer.site .fbrand a{display:inline-flex;align-items:center;min-height:44px}

/* Link điều hướng ngắn ("Shop") chỉ rộng 35px — dưới mức chạm 44px.
   Link nằm lẫn trong câu văn thì KHÔNG ép, vì WCAG 2.5.8 miễn trừ đúng trường hợp đó và ép sẽ phá giãn dòng. */
nav.main a,.menu a{min-width:44px;justify-content:center}

/* chỉ dành cho trình đọc màn hình — dùng cho thông báo lỗi form khi bấm Xác nhận đơn */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* Các bước sau khi đặt đơn — đánh số để khách biết còn mấy việc nữa, thay vì một dòng "Bước 1" lửng lơ. */
.steps-pay{list-style:none;counter-reset:b;padding:0;margin:10px 0 0;display:grid;gap:8px}
.steps-pay li{counter-increment:b;display:grid;grid-template-columns:24px 1fr;gap:10px;align-items:start;font-size:14px;line-height:1.5}
.steps-pay li::before{content:counter(b);width:24px;height:24px;border-radius:50%;background:var(--cta);color:#fff;font-size:12px;font-weight:700;display:grid;place-items:center}

/* Chế độ tối: --accent là cam sáng nên chữ trắng chỉ đạt 2.57 — dùng chữ mực đậm (6.9). */
:root[data-theme="dark"] .skip{color:#1F183E}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .skip{color:#1F183E}}
