/* ==========================================================================
   AN TÂM BẢO HIỂM — Bảo hiểm sức khỏe, nhân thọ, xe, nhà; tư vấn online
   Phong cách: CLAYMORPHISM (đất sét 3D mềm). Nền pastel bão hòa #EEF2FF, MỌI
   phần tử là một khối đất sét phồng: bo góc 28px, bóng lõm 2 phía (inset tối
   dưới-phải + inset sáng trên-trái) + bóng đổ tím nhạt xa. Không đường kẻ mảnh,
   không góc nhọn, không thẻ phẳng, không section tối.
   Bố cục: header là VIÊN ĐẤT SÉT NỔI (logo ô dù + nav + nút chunky) × hero
   "Bạn muốn bảo vệ gì?" với 4 Ô ĐẤT SÉT KHỔNG LỒ có icon vẽ bằng CSS (tim,
   ô dù, xe, nhà), bấm ô đổi panel + đổi tông hero × máy "Tính phí nhanh"
   (thanh tuổi có núm đất sét, toggle giới tính, select) → số phí lớn + biểu đồ
   vòng conic-gradient × so sánh 3 gói có toggle "chỉ hiện khác biệt" ×
   quy trình bồi thường 4 bước trên đường lượn sóng × 4 bộ đếm × nhận xét dạng
   bong bóng thoại × FAQ accordion × footer đất sét.
   Font: Rubik 700 (tiêu đề) + Rubik 400 (thân). Màu: lavender #C7B7FF,
   mint #B7F0D9, đào #FFD3B6, trời #BFE3FF, trắng, mực tím #2F2A5A.
   Ảnh: link trực tiếp (images.txt) qua biến --img trên .ph, đặt trong khung
   đất sét; phần lớn minh họa vẽ bằng CSS.
   ========================================================================== */
:root{
  --bg:#EEF2FF; --lav:#C7B7FF; --lav-deep:#A797F5; --mint:#B7F0D9; --mint-deep:#8FE0C2;
  --peach:#FFD3B6; --peach-deep:#FFB98F; --sky:#BFE3FF; --sky-deep:#96CFFF; --white:#FFFFFF;
  --ink:#2F2A5A; --muted:#6B6893; --ok:#2FA97A; --warn:#E28A3C;
  --ff:'Rubik',Arial,sans-serif;
  --r:28px; --r-sm:18px; --r-pill:999px;
  --clay: inset -6px -6px 12px rgba(0,0,0,.08), inset 6px 6px 12px rgba(255,255,255,.9), 12px 12px 28px rgba(60,80,160,.18);
  --clay-sm: inset -4px -4px 8px rgba(0,0,0,.08), inset 4px 4px 8px rgba(255,255,255,.9), 8px 8px 18px rgba(60,80,160,.16);
  --clay-lg: inset -8px -8px 16px rgba(0,0,0,.09), inset 8px 8px 16px rgba(255,255,255,.95), 18px 18px 40px rgba(60,80,160,.22);
  --clay-in: inset 6px 6px 12px rgba(60,80,160,.16), inset -6px -6px 12px rgba(255,255,255,.95);
  --clay-press: inset -2px -2px 6px rgba(0,0,0,.06), inset 2px 2px 6px rgba(255,255,255,.8), 4px 4px 10px rgba(60,80,160,.16);
  --ph:#DCE4FF;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--ff);font-weight:400;color:var(--ink);background:var(--bg);line-height:1.6;font-size:16px;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
ul{list-style:none}
h1,h2,h3,h4{font-weight:700;line-height:1.15;letter-spacing:-.01em}
h1{font-size:clamp(34px,4.6vw,58px)}
h2{font-size:clamp(28px,3.4vw,42px)}
h3{font-size:22px}
p{color:var(--muted)}
.container{width:min(1180px,92%);margin:0 auto}
.section{padding:72px 0}
.sec-head{text-align:center;max-width:680px;margin:0 auto 40px}
.sec-head p{margin-top:12px;font-size:17px}
.tag{display:inline-block;padding:8px 18px;border-radius:var(--r-pill);background:var(--white);box-shadow:var(--clay-sm);font-weight:700;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:16px}
.tag--lav{background:var(--lav);color:var(--ink)}
.tag--mint{background:var(--mint);color:var(--ink)}
.tag--peach{background:var(--peach);color:var(--ink)}
.tag--sky{background:var(--sky);color:var(--ink)}
.ph{background:var(--img,var(--ph)) center/cover no-repeat;background-color:var(--ph)}
.frame{padding:14px;border-radius:var(--r);background:var(--white);box-shadow:var(--clay)}
.frame .ph{border-radius:20px;box-shadow:var(--clay-in);aspect-ratio:4/3}
.frame--round .ph{border-radius:50%;aspect-ratio:1}

/* ---- Khối đất sét ---- */
.clay{background:var(--white);border-radius:var(--r);box-shadow:var(--clay)}
.clay--lav{background:var(--lav)}
.clay--mint{background:var(--mint)}
.clay--peach{background:var(--peach)}
.clay--sky{background:var(--sky)}
.clay--in{box-shadow:var(--clay-in)}
.clay--lg{box-shadow:var(--clay-lg)}
.clay--sm{border-radius:var(--r-sm);box-shadow:var(--clay-sm)}

/* ---- Nút ---- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:16px 30px;border-radius:var(--r-pill);border:0;font:inherit;font-weight:700;font-size:16px;color:var(--ink);background:var(--white);box-shadow:var(--clay);cursor:pointer;transition:transform .12s,box-shadow .12s;white-space:nowrap}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(2px);box-shadow:var(--clay-press)}
.btn--lav{background:var(--lav)}
.btn--mint{background:var(--mint)}
.btn--peach{background:var(--peach)}
.btn--sky{background:var(--sky)}
.btn--sm{padding:11px 20px;font-size:14px;box-shadow:var(--clay-sm)}
.btn--block{width:100%}

/* ---- Header viên đất sét nổi ---- */
.header{position:sticky;top:14px;z-index:50;padding:0 4%}
.header__pill{max-width:1180px;margin:0 auto;display:flex;align-items:center;gap:22px;padding:12px 14px 12px 22px;border-radius:var(--r-pill);background:var(--white);box-shadow:var(--clay);position:relative}
.logo{display:flex;align-items:center;gap:12px;font-weight:700;font-size:20px;letter-spacing:-.01em}
.logo small{display:block;font-size:11px;font-weight:700;color:var(--muted);letter-spacing:.12em;text-transform:uppercase;line-height:1}
.logo__mark{width:46px;height:46px;border-radius:16px;background:var(--lav);box-shadow:var(--clay-sm);display:grid;place-items:center;position:relative}
.logo__mark .ico{width:30px;height:30px}
.nav{margin-left:auto;display:flex;gap:6px}
.nav a{padding:11px 16px;border-radius:var(--r-pill);font-weight:700;font-size:15px;color:var(--muted);transition:.15s}
.nav a:hover{color:var(--ink);background:var(--bg)}
.nav a.is-active{color:var(--ink);background:var(--sky);box-shadow:var(--clay-in)}
.header .btn{margin-left:6px}
.burger{display:none;width:52px;height:52px;border-radius:var(--r-pill);border:0;background:var(--lav);box-shadow:var(--clay-sm);cursor:pointer;align-items:center;justify-content:center;margin-left:auto}
.burger span{display:block;width:22px;height:4px;border-radius:4px;background:var(--ink);box-shadow:0 8px 0 var(--ink),0 -8px 0 var(--ink)}

/* ---- Icon đất sét vẽ bằng CSS ---- */
.ico{position:relative;width:96px;height:96px;flex:none}
.ico i{position:absolute;display:block;box-shadow:var(--clay-sm);border-radius:50%}
/* Trái tim: khối vuông xoay + 2 vòng */
.ico--heart i{background:var(--peach-deep)}
.ico--heart .a{width:44%;height:44%;left:28%;top:34%;border-radius:12%;transform:rotate(45deg)}
.ico--heart .b{width:44%;height:44%;left:10%;top:16%}
.ico--heart .c{width:44%;height:44%;left:46%;top:16%}
/* Ô dù: nửa vòng + cán */
.ico--umb i{background:var(--lav-deep)}
.ico--umb .a{width:82%;height:44%;left:9%;top:14%;border-radius:200px 200px 16px 16px}
.ico--umb .b{width:12%;height:40%;left:44%;top:50%;border-radius:8px;background:var(--ink)}
.ico--umb .c{width:24%;height:22%;left:28%;top:72%;border-radius:0 0 40px 40px;border:6px solid var(--ink);border-top:0;background:transparent;box-shadow:none}
.ico--umb .d{width:14%;height:16%;left:43%;top:2%;border-radius:8px}
/* Xe: thân + mui + 2 bánh */
.ico--car i{background:var(--sky-deep)}
.ico--car .a{width:90%;height:34%;left:5%;top:40%;border-radius:18px}
.ico--car .b{width:52%;height:30%;left:24%;top:18%;border-radius:20px 20px 4px 4px}
.ico--car .c{width:22%;height:22%;left:14%;top:64%;background:var(--ink)}
.ico--car .d{width:22%;height:22%;left:64%;top:64%;background:var(--ink)}
/* Nhà: mái xoay + thân + cửa */
.ico--home i{background:var(--mint-deep)}
.ico--home .a{width:56%;height:56%;left:22%;top:6%;border-radius:18%;transform:rotate(45deg)}
.ico--home .b{width:66%;height:44%;left:17%;top:46%;border-radius:12px 12px 18px 18px}
.ico--home .c{width:18%;height:26%;left:41%;top:64%;border-radius:8px 8px 4px 4px;background:var(--ink)}
/* Khiên */
.ico--shield i{background:var(--lav-deep)}
.ico--shield .a{width:64%;height:74%;left:18%;top:12%;border-radius:20% 20% 50% 50%/16% 16% 60% 60%}
.ico--shield .b{width:28%;height:12%;left:30%;top:50%;border-radius:8px;background:var(--white);transform:rotate(45deg);box-shadow:none}
.ico--shield .c{width:12%;height:36%;left:50%;top:30%;border-radius:8px;background:var(--white);transform:rotate(45deg);box-shadow:none}
/* Tài liệu */
.ico--doc i{background:var(--peach-deep)}
.ico--doc .a{width:58%;height:74%;left:21%;top:13%;border-radius:14px}
.ico--doc .b,.ico--doc .c,.ico--doc .d{height:8%;left:32%;border-radius:8px;background:var(--white);box-shadow:none}
.ico--doc .b{width:36%;top:32%}.ico--doc .c{width:30%;top:48%}.ico--doc .d{width:22%;top:64%}
/* Điện thoại */
.ico--phone i{background:var(--mint-deep)}
.ico--phone .a{width:44%;height:76%;left:28%;top:12%;border-radius:16px}
.ico--phone .b{width:28%;height:6%;left:36%;top:78%;border-radius:8px;background:var(--white);box-shadow:none}
.ico--phone .c{width:12%;height:4%;left:44%;top:18%;border-radius:8px;background:var(--white);box-shadow:none}
/* Dấu tick */
.ico--check i{background:var(--mint-deep)}
.ico--check .a{width:76%;height:76%;left:12%;top:12%}
.ico--check .b{width:40%;height:11%;left:38%;top:50%;border-radius:8px;background:var(--white);transform:rotate(-45deg);box-shadow:none;transform-origin:left center}
.ico--check .c{width:22%;height:11%;left:26%;top:44%;border-radius:8px;background:var(--white);transform:rotate(45deg);box-shadow:none;transform-origin:left center}
/* Đồng xu */
.ico--coin i{background:var(--peach-deep)}
.ico--coin .a{width:72%;height:72%;left:14%;top:14%}
.ico--coin .b{width:44%;height:44%;left:28%;top:28%;background:var(--peach);box-shadow:var(--clay-in)}
/* Đồng hồ */
.ico--clock i{background:var(--sky-deep)}
.ico--clock .a{width:76%;height:76%;left:12%;top:12%}
.ico--clock .b{width:8%;height:30%;left:46%;top:22%;border-radius:8px;background:var(--ink);box-shadow:none}
.ico--clock .c{width:26%;height:8%;left:46%;top:46%;border-radius:8px;background:var(--ink);box-shadow:none}
/* Ngôi sao 8 cánh tròn */
.ico--star i{background:var(--peach-deep)}
.ico--star .a{width:56%;height:56%;left:22%;top:22%;border-radius:22%;transform:rotate(45deg)}
.ico--star .b{width:56%;height:56%;left:22%;top:22%;border-radius:22%}
/* Vị trí */
.ico--pin i{background:var(--peach-deep)}
.ico--pin .a{width:56%;height:56%;left:22%;top:14%;border-radius:50% 50% 50% 0;transform:rotate(-45deg)}
.ico--pin .b{width:22%;height:22%;left:39%;top:30%;background:var(--white);box-shadow:var(--clay-in)}
/* Thư */
.ico--mail i{background:var(--sky-deep)}
.ico--mail .a{width:74%;height:52%;left:13%;top:24%;border-radius:14px}
.ico--mail .b{width:40%;height:40%;left:30%;top:14%;border-radius:20%;transform:rotate(45deg);background:var(--sky);box-shadow:var(--clay-in)}
.ico--sm{width:56px;height:56px}
.ico--xs{width:34px;height:34px}
.ico--xs i,.ico--sm i{box-shadow:inset -2px -2px 4px rgba(0,0,0,.1),inset 2px 2px 4px rgba(255,255,255,.7),3px 3px 8px rgba(60,80,160,.16)}
.ico-badge{width:88px;height:88px;border-radius:28px;background:var(--white);box-shadow:var(--clay);display:grid;place-items:center;flex:none}
.ico-badge .ico{width:56px;height:56px}
.ico-badge--lav{background:var(--lav)}.ico-badge--mint{background:var(--mint)}.ico-badge--peach{background:var(--peach)}.ico-badge--sky{background:var(--sky)}

/* ---- Hero ---- */
.hero{padding:44px 0 20px;position:relative}
.hero__wrap{border-radius:40px;padding:56px 48px 48px;background:var(--sky);box-shadow:var(--clay-lg);transition:background .35s;position:relative;overflow:hidden}
.hero__wrap::before,.hero__wrap::after{content:"";position:absolute;border-radius:50%;background:rgba(255,255,255,.35);box-shadow:var(--clay-sm);pointer-events:none}
.hero__wrap::before{width:220px;height:220px;right:-60px;top:-70px}
.hero__wrap::after{width:140px;height:140px;left:-40px;bottom:-40px}
.hero__wrap.is-suc-khoe{background:var(--peach)}
.hero__wrap.is-nhan-tho{background:var(--lav)}
.hero__wrap.is-xe{background:var(--sky)}
.hero__wrap.is-nha{background:var(--mint)}
.hero__top{display:grid;grid-template-columns:1.1fr .9fr;gap:36px;align-items:center;position:relative;z-index:1}
.hero__top h1 span{display:block;color:var(--muted)}
.hero__top p{font-size:18px;margin:16px 0 26px;max-width:520px}
.hero__cta{display:flex;gap:14px;flex-wrap:wrap}
.hero__art{position:relative;height:320px}
.blob{position:absolute;border-radius:50%;box-shadow:var(--clay)}
.hero__art .frame{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-3deg);width:250px}
.hero__art .umb{position:absolute;right:6%;bottom:2%;width:120px;height:120px;z-index:2}
.hero__art .b1{width:120px;height:120px;left:6%;top:4%;background:var(--peach)}
.hero__art .b2{width:80px;height:80px;right:10%;top:8%;background:var(--mint)}
.hero__art .b3{width:70px;height:70px;left:14%;bottom:8%;background:var(--white)}
.hero__art .b4{width:56px;height:56px;left:40%;top:0;background:var(--lav)}
.tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:44px;position:relative;z-index:1}
.tile{background:var(--white);border-radius:var(--r);box-shadow:var(--clay);padding:28px 22px 24px;text-align:center;cursor:pointer;border:0;font:inherit;color:var(--ink);transition:transform .15s,box-shadow .15s}
.tile .ico{margin:0 auto 16px}
.tile strong{display:block;font-size:20px;font-weight:700}
.tile span{display:block;font-size:14px;color:var(--muted);margin-top:4px}
.tile:hover{transform:translateY(-4px)}
.tile:active,.tile.is-active{transform:translateY(3px);box-shadow:var(--clay-in)}
.tile.is-active{background:var(--bg)}
.panel{margin-top:22px;background:var(--white);border-radius:var(--r);box-shadow:var(--clay);padding:32px 36px;display:grid;grid-template-columns:1.2fr 1fr auto;gap:30px;align-items:center;position:relative;z-index:1}
.panel h3{font-size:26px;margin-bottom:8px}
.panel ul li{display:flex;gap:10px;align-items:flex-start;margin-bottom:8px;font-weight:500}
.panel ul li::before{content:"";width:22px;height:22px;flex:none;border-radius:50%;background:var(--mint);box-shadow:var(--clay-sm);margin-top:2px}
.panel__price{text-align:center;padding:22px 26px;border-radius:var(--r);background:var(--bg);box-shadow:var(--clay-in);min-width:190px}
.panel__price small{display:block;color:var(--muted);font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.06em}
.panel__price b{display:block;font-size:34px;line-height:1.1;margin:6px 0}
.panel__price .btn{margin-top:12px}

/* ---- Máy tính phí ---- */
.calc{display:grid;grid-template-columns:1.1fr .9fr;gap:30px;align-items:stretch}
.calc__form,.calc__out{border-radius:var(--r);box-shadow:var(--clay);background:var(--white);padding:34px}
.field{margin-bottom:22px;position:relative}
.field label,.field .lbl{display:block;font-weight:700;margin-bottom:10px}
.field .hint{font-size:13px;color:var(--muted);margin-top:6px}
.input,select.input,textarea.input{width:100%;padding:16px 20px;border:0;border-radius:var(--r-sm);background:var(--bg);box-shadow:var(--clay-in);font:inherit;color:var(--ink);outline:0;appearance:none;-webkit-appearance:none}
.input:focus{box-shadow:var(--clay-in),0 0 0 4px var(--lav)}
select.input{background-image:linear-gradient(45deg,transparent 50%,var(--ink) 50%),linear-gradient(135deg,var(--ink) 50%,transparent 50%);background-position:calc(100% - 26px) 55%,calc(100% - 20px) 55%;background-size:6px 6px;background-repeat:no-repeat;padding-right:48px}
textarea.input{min-height:130px;resize:vertical}
.range-wrap{display:flex;align-items:center;gap:16px}
.range-wrap output{min-width:74px;text-align:center;font-weight:700;font-size:20px;padding:10px 12px;border-radius:var(--r-sm);background:var(--lav);box-shadow:var(--clay-sm)}
input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:22px;border-radius:var(--r-pill);background:var(--bg);box-shadow:var(--clay-in);outline:0;cursor:pointer}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:40px;height:40px;border-radius:50%;background:var(--peach);box-shadow:var(--clay-sm);border:0;cursor:grab}
input[type=range]::-moz-range-thumb{width:40px;height:40px;border-radius:50%;background:var(--peach);box-shadow:var(--clay-sm);border:0}
.toggle{display:inline-flex;padding:6px;border-radius:var(--r-pill);background:var(--bg);box-shadow:var(--clay-in);gap:4px;flex-wrap:wrap}
.toggle input{position:absolute;opacity:0;width:0;height:0}
.toggle label{padding:11px 24px;border-radius:var(--r-pill);font-weight:700;cursor:pointer;color:var(--muted);margin:0;transition:.15s}
.toggle input:checked+label{background:var(--white);box-shadow:var(--clay-sm);color:var(--ink)}
.lines-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.lines-grid input{position:absolute;opacity:0;width:0;height:0}
.lines-grid label{display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 8px;border-radius:var(--r-sm);background:var(--bg);box-shadow:var(--clay-in);font-weight:700;font-size:14px;cursor:pointer;margin:0;color:var(--muted)}
.lines-grid input:checked+label{background:var(--white);box-shadow:var(--clay-sm);color:var(--ink)}
.calc__out{display:flex;flex-direction:column;align-items:center;text-align:center;justify-content:center}
.calc__out .lbl{font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:13px}
.big-num{font-size:clamp(40px,4.4vw,56px);font-weight:700;line-height:1;margin:8px 0 4px}
.big-num small{font-size:18px;color:var(--muted);font-weight:700}
.donut{--p1:70;--p2:20;width:200px;height:200px;border-radius:50%;margin:22px auto;position:relative;background:conic-gradient(var(--lav-deep) 0 calc(var(--p1)*1%),var(--mint-deep) calc(var(--p1)*1%) calc((var(--p1) + var(--p2))*1%),var(--peach-deep) calc((var(--p1) + var(--p2))*1%) 100%);box-shadow:var(--clay)}
.donut::after{content:attr(data-center);position:absolute;inset:44px;border-radius:50%;background:var(--white);box-shadow:var(--clay-in);display:grid;place-items:center;font-weight:700;font-size:15px;text-align:center;padding:10px;line-height:1.2}
.legend{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 18px;font-size:14px;font-weight:700;color:var(--muted)}
.legend li{display:flex;align-items:center;gap:8px}
.legend i{width:16px;height:16px;border-radius:50%;box-shadow:var(--clay-sm);display:inline-block}
.legend .l1{background:var(--lav-deep)}.legend .l2{background:var(--mint-deep)}.legend .l3{background:var(--peach-deep)}
.calc__note{font-size:13px;margin-top:14px;max-width:340px}

/* ---- So sánh gói ---- */
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.plan{border-radius:var(--r);box-shadow:var(--clay);background:var(--white);padding:34px 30px;position:relative}
.plan--hot{background:var(--lav);transform:translateY(-10px)}
.plan__badge{position:absolute;top:-16px;left:50%;transform:translateX(-50%);padding:8px 18px;border-radius:var(--r-pill);background:var(--peach);box-shadow:var(--clay-sm);font-weight:700;font-size:13px;white-space:nowrap}
.plan h3{font-size:24px}
.plan .price{font-size:40px;font-weight:700;margin:10px 0 4px;line-height:1}
.plan .price small{font-size:15px;color:var(--muted);font-weight:700}
.plan .desc{font-size:14px;margin-bottom:20px}
.plan ul li{display:flex;justify-content:space-between;gap:10px;padding:12px 16px;border-radius:var(--r-sm);background:rgba(255,255,255,.55);box-shadow:var(--clay-in);margin-bottom:10px;font-size:15px;font-weight:500}
.plan ul li span:last-child{font-weight:700;white-space:nowrap}
.plan ul li.no span:last-child{color:var(--muted)}
.plans.diff-only li.same{display:none}
.plan .btn{margin-top:14px}
.switch{display:inline-flex;align-items:center;gap:14px;font-weight:700;cursor:pointer;padding:10px 18px 10px 12px;border-radius:var(--r-pill);background:var(--white);box-shadow:var(--clay);position:relative}
.switch input{position:absolute;opacity:0;width:0;height:0}
.switch i{width:58px;height:32px;border-radius:var(--r-pill);background:var(--bg);box-shadow:var(--clay-in);position:relative;transition:.2s;display:inline-block}
.switch i::after{content:"";position:absolute;top:4px;left:4px;width:24px;height:24px;border-radius:50%;background:var(--white);box-shadow:var(--clay-sm);transition:.2s}
.switch input:checked+i{background:var(--mint)}
.switch input:checked+i::after{left:30px}
.center{text-align:center}
.mt{margin-top:28px}

/* ---- Quy trình bồi thường ---- */
.steps{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:26px;padding-top:26px}
.steps::before{content:"";position:absolute;left:4%;right:4%;top:70px;height:26px;border-radius:var(--r-pill);background:var(--white);box-shadow:var(--clay-in);z-index:0}
.step{position:relative;z-index:1;text-align:center}
.step:nth-child(even){margin-top:56px}
.step__num{width:64px;height:64px;border-radius:50%;background:var(--peach);box-shadow:var(--clay);display:grid;place-items:center;font-weight:700;font-size:24px;margin:0 auto 18px}
.step:nth-child(2) .step__num{background:var(--mint)}.step:nth-child(3) .step__num{background:var(--sky)}.step:nth-child(4) .step__num{background:var(--lav)}
.step__box{background:var(--white);border-radius:var(--r);box-shadow:var(--clay);padding:26px 22px}
.step__box h3{font-size:19px;margin-bottom:8px}
.step__box p{font-size:14px}
.step__time{display:inline-block;margin-top:14px;padding:8px 16px;border-radius:var(--r-pill);background:var(--bg);box-shadow:var(--clay-in);font-weight:700;font-size:13px}

/* ---- Số liệu ---- */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.stat{border-radius:var(--r);box-shadow:var(--clay);padding:32px 22px;text-align:center}
.stat b{display:block;font-size:44px;line-height:1;font-weight:700}
.stat span{display:block;margin-top:10px;font-weight:700;color:var(--muted);font-size:14px}

/* ---- Nhận xét bong bóng ---- */
.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.bubble{position:relative;background:var(--white);border-radius:var(--r);box-shadow:var(--clay);padding:28px}
.bubble::after{content:"";position:absolute;left:38px;bottom:-14px;width:32px;height:32px;border-radius:8px 8px 12px 8px;background:var(--white);transform:rotate(45deg);box-shadow:8px 8px 14px rgba(60,80,160,.12)}
.bubble p{color:var(--ink);font-size:15px}
.bubble .stars{color:var(--warn);font-size:14px;letter-spacing:2px;margin-bottom:10px}
.review__who{display:flex;align-items:center;gap:14px;margin-top:26px;padding-left:4px}
.avatar{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:18px;box-shadow:var(--clay-sm);flex:none}
.review__who b{display:block}
.review__who small{color:var(--muted);font-weight:500}

/* ---- FAQ ---- */
.faq{max-width:820px;margin:0 auto}
.faq details{background:var(--white);border-radius:var(--r);box-shadow:var(--clay);margin-bottom:16px;overflow:hidden}
.faq summary{list-style:none;cursor:pointer;padding:22px 26px;font-weight:700;font-size:17px;display:flex;align-items:center;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::before{content:"+";width:40px;height:40px;border-radius:50%;background:var(--mint);box-shadow:var(--clay-sm);display:grid;place-items:center;font-size:22px;flex:none;transition:.2s}
.faq details[open] summary::before{content:"–";background:var(--peach)}
.faq details p{padding:0 26px 24px 82px}

/* ---- CTA / band ---- */
.cta-band{border-radius:40px;box-shadow:var(--clay-lg);padding:48px;display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center}
.cta-band p{margin-top:8px;font-size:17px}

/* ---- Footer ---- */
.footer{padding:40px 0 30px}
.footer__box{border-radius:40px;background:var(--white);box-shadow:var(--clay-lg);padding:48px}
.footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:36px}
.footer h4{font-size:16px;margin-bottom:14px}
.footer li{margin-bottom:10px;color:var(--muted);font-weight:500}
.footer li a:hover{color:var(--ink)}
.footer__hot{margin-top:16px;padding:16px 20px;border-radius:var(--r-sm);background:var(--peach);box-shadow:var(--clay-sm);font-weight:700}
.footer__hot small{display:block;font-weight:700;font-size:12px;color:var(--muted)}
.footer__bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:34px;padding-top:24px;font-size:13px;color:var(--muted)}
.social{display:flex;gap:10px}
.social a{width:42px;height:42px;border-radius:50%;background:var(--sky);box-shadow:var(--clay-sm);display:grid;place-items:center;font-weight:700;font-size:13px}

/* ---- Trang con ---- */
.page-head{padding:36px 0 10px}
.page-head__box{border-radius:40px;box-shadow:var(--clay-lg);padding:52px 48px;display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center}
.page-head__box p{font-size:17px;margin-top:10px;max-width:640px}
.crumb{font-size:13px;font-weight:700;color:var(--muted);margin-bottom:14px}
.crumb a:hover{color:var(--ink)}
.line-nav{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-bottom:40px}
.line-nav a{display:flex;align-items:center;gap:10px;padding:10px 20px 10px 12px;border-radius:var(--r-pill);background:var(--white);box-shadow:var(--clay-sm);font-weight:700}
.line-nav a .ico{width:30px;height:30px}
.line{border-radius:40px;box-shadow:var(--clay-lg);padding:44px;margin-bottom:40px;scroll-margin-top:110px}
.line__head{display:flex;gap:26px;align-items:center;margin-bottom:26px}
.line__head h2{font-size:32px}
.line__head p{margin-top:4px}
.tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:22px}
.tabs button{border:0;font:inherit;font-weight:700;padding:12px 22px;border-radius:var(--r-pill);background:rgba(255,255,255,.6);box-shadow:var(--clay-sm);cursor:pointer;color:var(--muted);transition:.15s}
.tabs button.is-active{background:var(--white);color:var(--ink);box-shadow:var(--clay-in)}
.tab-pane{display:none}
.tab-pane.is-active{display:block}
.two{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.box{background:var(--white);border-radius:var(--r);box-shadow:var(--clay);padding:28px}
.box h3{margin-bottom:14px;font-size:20px}
.list li{display:flex;gap:12px;align-items:flex-start;padding:10px 0;font-weight:500}
.list li::before{content:"";width:22px;height:22px;flex:none;border-radius:50%;background:var(--mint);box-shadow:var(--clay-sm);margin-top:3px}
.list--no li::before{background:var(--peach)}
.tbl-wrap{overflow-x:auto;border-radius:var(--r);box-shadow:var(--clay);background:var(--white);padding:10px 16px}
table{width:100%;border-collapse:separate;border-spacing:0 8px;min-width:560px}
th,td{padding:14px 18px;text-align:left;font-size:15px}
th{font-weight:700;color:var(--muted);font-size:13px;text-transform:uppercase;letter-spacing:.06em}
tbody tr td{background:var(--bg);box-shadow:var(--clay-in)}
tbody tr td:first-child{border-radius:var(--r-sm) 0 0 var(--r-sm);font-weight:700}
tbody tr td:last-child{border-radius:0 var(--r-sm) var(--r-sm) 0}
td.yes{color:var(--ok);font-weight:700}
td.no{color:var(--muted)}
.cmp th.hot{color:var(--ink);background:var(--lav);border-radius:var(--r-sm);box-shadow:var(--clay-sm)}
.cmp.diff-only tr.same{display:none}
.cmp .grp td{background:var(--sky);font-weight:700;color:var(--ink);text-transform:uppercase;font-size:13px;letter-spacing:.06em;border-radius:var(--r-sm);box-shadow:var(--clay-sm)}
.pill-row{display:flex;flex-wrap:wrap;gap:10px}
.pill-row span{padding:8px 16px;border-radius:var(--r-pill);background:var(--bg);box-shadow:var(--clay-in);font-weight:700;font-size:13px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}
.form-grid .full{grid-column:1/-1}
.checklist li{display:flex;align-items:center;gap:14px;padding:14px 18px;border-radius:var(--r-sm);background:var(--bg);box-shadow:var(--clay-in);margin-bottom:12px;font-weight:500;position:relative}
.checklist input{position:absolute;opacity:0;width:0;height:0}
.checklist label{display:flex;align-items:center;gap:14px;cursor:pointer;width:100%}
.checklist label i{width:30px;height:30px;border-radius:10px;background:var(--white);box-shadow:var(--clay-sm);flex:none;display:grid;place-items:center;font-style:normal;font-weight:700;color:transparent}
.checklist input:checked+label i{background:var(--mint);color:var(--ink)}
.checklist input:checked+label{text-decoration:line-through;color:var(--muted)}
.progress{height:22px;border-radius:var(--r-pill);background:var(--bg);box-shadow:var(--clay-in);overflow:hidden;margin:10px 0 20px}
.progress i{display:block;height:100%;width:0;border-radius:var(--r-pill);background:var(--mint-deep);box-shadow:var(--clay-sm);transition:width .3s}
.file{display:block;padding:28px;border-radius:var(--r-sm);background:var(--bg);box-shadow:var(--clay-in);text-align:center;cursor:pointer;font-weight:700;color:var(--muted);position:relative}
.file input{position:absolute;opacity:0;width:0;height:0}
.file .ico{margin:0 auto 10px}
.file b{display:block;color:var(--ink)}
.status{display:none;margin-top:22px}
.status.is-show{display:block}
.status__track{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:16px}
.status__track li{padding:16px 12px;border-radius:var(--r-sm);background:var(--bg);box-shadow:var(--clay-in);text-align:center;font-weight:700;font-size:13px;color:var(--muted)}
.status__track li.done{background:var(--mint);color:var(--ink);box-shadow:var(--clay-sm)}
.status__track li.now{background:var(--peach);color:var(--ink);box-shadow:var(--clay-sm)}
.detail-steps .step-row{display:grid;grid-template-columns:88px 1fr;gap:24px;align-items:start;margin-bottom:26px;padding:28px;border-radius:var(--r);background:var(--white);box-shadow:var(--clay)}
.step-row h3{font-size:22px;margin-bottom:8px}
.step-row .pill-row{margin-top:14px}
.contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:30px;align-items:start}
.info-cards{display:grid;gap:18px}
.info{display:flex;gap:18px;align-items:center;padding:22px 24px;border-radius:var(--r);box-shadow:var(--clay)}
.info b{display:block;font-size:17px}
.info span{color:var(--muted);font-weight:500;font-size:15px}
.map{margin-top:18px;border-radius:var(--r);box-shadow:var(--clay);background:var(--sky);height:240px;position:relative;overflow:hidden}
.map::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 30% 40%,rgba(255,255,255,.5) 0 10%,transparent 11%),radial-gradient(circle at 70% 60%,rgba(255,255,255,.4) 0 14%,transparent 15%),linear-gradient(90deg,transparent 48%,rgba(255,255,255,.7) 48% 52%,transparent 52%),linear-gradient(0deg,transparent 58%,rgba(255,255,255,.7) 58% 62%,transparent 62%)}
.map i{position:absolute;left:50%;top:44%;width:44px;height:44px;border-radius:50% 50% 50% 0;background:var(--peach-deep);transform:translate(-50%,-50%) rotate(-45deg);box-shadow:var(--clay-sm)}
.map b{position:absolute;left:50%;top:70%;transform:translateX(-50%);padding:8px 16px;border-radius:var(--r-pill);background:var(--white);box-shadow:var(--clay-sm);font-size:13px;white-space:nowrap}
.alert{display:none;margin-top:16px;padding:16px 20px;border-radius:var(--r-sm);background:var(--mint);box-shadow:var(--clay-sm);font-weight:700}
.alert.is-show{display:block}
.result-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:20px;width:100%}
.result-grid div{padding:18px;border-radius:var(--r-sm);background:var(--bg);box-shadow:var(--clay-in);text-align:center}
.result-grid small{display:block;color:var(--muted);font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.06em}
.result-grid b{font-size:22px}
.team{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.team .frame{text-align:center;padding:18px}
.team .frame .ph{margin-bottom:12px}
.team b{display:block}
.team small{color:var(--muted);font-weight:500}

/* ---- Responsive ---- */
@media (max-width:1100px){
  .hero__top{grid-template-columns:1fr}
  .hero__art{height:280px}
  .tiles{grid-template-columns:repeat(2,1fr)}
  .panel{grid-template-columns:1fr 1fr}
  .panel__price{grid-column:1/-1}
  .footer__grid{grid-template-columns:1fr 1fr}
  .steps{grid-template-columns:repeat(2,1fr)}
  .steps::before{display:none}
  .step:nth-child(even){margin-top:0}
  .team{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:980px){
  .nav{position:absolute;left:0;right:0;top:calc(100% + 10px);flex-direction:column;background:var(--white);border-radius:var(--r);box-shadow:var(--clay);padding:14px;display:none;margin:0}
  .nav.is-open{display:flex}
  .header .btn--desk{display:none}
  .burger{display:flex}
  .calc,.plans,.reviews,.two,.contact-grid,.cta-band,.page-head__box{grid-template-columns:1fr}
  .plan--hot{transform:none}
  .stats{grid-template-columns:repeat(2,1fr)}
  .hero__wrap,.line,.footer__box,.page-head__box{padding:36px 28px}
  .lines-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:640px){
  .section{padding:52px 0}
  .tiles{grid-template-columns:1fr 1fr;gap:14px}
  .tile{padding:20px 12px}
  .tile .ico{width:72px;height:72px}
  .panel{grid-template-columns:1fr;padding:24px}
  .stats,.steps,.result-grid,.status__track,.form-grid,.team{grid-template-columns:1fr}
  .hero__wrap,.line,.footer__box,.page-head__box{padding:28px 20px;border-radius:32px}
  .footer__grid{grid-template-columns:1fr}
  .detail-steps .step-row{grid-template-columns:1fr}
  .hero__art{height:260px}
  .hero__art .frame{width:200px}
  .hero__art .umb{width:90px;height:90px}
  .line__head{flex-direction:column;align-items:flex-start}
  .faq details p{padding-left:26px}
  .calc__form,.calc__out{padding:24px}
  .btn{padding:14px 22px;font-size:15px}
}
