:root{--magenta:#df1671;--purple:#66207b;--ink:#17111b;--cream:#fff8fc;--line:#eadde6;--yellow:#ffba35}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"Open Sans",Arial,"Helvetica Neue",sans-serif;color:var(--ink);background:#fff}
a{text-decoration:none;color:inherit}
.topbar{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);z-index:20}
.brand img{width:210px;display:block}
.topbar nav{display:flex;gap:34px;font-weight:700}
.topbar nav a:hover{color:var(--magenta)}
.header-call,.primary{background:var(--magenta);color:#fff;padding:14px 22px;border-radius:12px;font-weight:800}
.hero{min-height:680px;padding:80px 6vw;display:grid;grid-template-columns:1.15fr .85fr;gap:7vw;align-items:center;background:radial-gradient(circle at 15% 35%,#ffe2f1 0,transparent 38%),linear-gradient(135deg,#fff 45%,#fff4fa)}
.eyebrow,.section-title span,.contact-band span{font-size:13px;font-weight:900;letter-spacing:2px;color:var(--magenta)}
h1{font-size:clamp(48px,6vw,88px);line-height:.97;letter-spacing:-4px;margin:18px 0 24px}
h1 em{font-style:normal;color:var(--magenta)}
.hero-copy>p{font-size:18px;line-height:1.65;max-width:650px;color:#5d5260}
.hero-actions{display:flex;gap:12px;margin:30px 0}
.secondary{border:1px solid var(--ink);padding:14px 22px;border-radius:12px;font-weight:800}
.proof{display:flex;gap:24px;flex-wrap:wrap;font-size:14px;font-weight:700}
.quote-card{background:#fff;padding:28px;border-radius:26px;box-shadow:0 25px 70px rgba(67,16,65,.14);border:1px solid #f0e1eb}
.quote-head{display:flex;align-items:center;gap:14px;padding-bottom:20px;border-bottom:1px solid var(--line)}
.quote-head>span{width:48px;height:48px;border-radius:50%;background:var(--purple);color:#fff;display:grid;place-items:center;font-weight:900}
.quote-head div{display:flex;flex-direction:column;gap:5px}
.quote-head b{font-size:20px}
.iphone-only{margin-top:20px;padding:14px 16px;border-radius:12px;background:linear-gradient(120deg,#fff0f7,#f2eaff);border:1px solid #ead5e4;display:flex;flex-direction:column;gap:5px}.iphone-only b{color:var(--magenta);font-size:16px}.iphone-only span{font-size:13px;color:#665a63}
.quote-head small{color:#746a75}
.quote-card label{display:block;font-size:14px;font-weight:800;margin:20px 0 9px}
.brand-pills,.condition{display:flex;gap:8px;flex-wrap:wrap}
.quote-card button,.quote-card select{font:inherit;border:1px solid #ddced9;background:#fff;padding:11px 13px;border-radius:10px;cursor:pointer}
.quote-card button.active{background:#fce5f1;border-color:var(--magenta);color:#b80b5b;font-weight:800}
.quote-card select{width:100%;color:#554a55}
.quote-card .estimate{width:100%;margin-top:22px;background:var(--magenta);color:#fff;border:0;padding:16px;font-weight:900}
.result{display:none;margin-top:12px;padding:14px;background:#f4ecff;border-radius:10px;color:var(--purple);font-size:14px;line-height:1.45}
.ticker{overflow:hidden;background:var(--purple);color:#fff;padding:18px 0;white-space:nowrap;font-weight:900;letter-spacing:1.5px}
.ticker div{animation:move 20s linear infinite}
.ticker i{color:var(--yellow);padding:0 25px}
@keyframes move{to{transform:translateX(-35%)}
}
.phones{padding:100px 6vw}
.section-title{display:flex;justify-content:space-between;align-items:end;margin-bottom:40px}
.section-title h2{font-size:clamp(38px,5vw,64px);line-height:1;margin:12px 0 0;letter-spacing:-2px}
.section-title>a{font-weight:800;color:var(--magenta)}
.phone-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.phone-grid article{border:1px solid var(--line);border-radius:20px;padding:14px;transition:.25s}
.phone-grid article:hover{transform:translateY(-6px);box-shadow:0 20px 45px rgba(57,22,52,.12)}
.phone-visual{height:260px;border-radius:15px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:76px;font-weight:200;color:#fff;letter-spacing:-6px}
.phone-visual span{font-size:12px;letter-spacing:3px}
.purple{background:linear-gradient(145deg,#2d2037,#ad83bf)}
.blue{background:linear-gradient(145deg,#1b354c,#83a9c4)}
.black{background:linear-gradient(145deg,#0e0e0e,#505050)}
.pink{background:linear-gradient(145deg,#5e263e,#d891ac)}
.phone-grid small{display:block;margin-top:18px;color:#8a7b86}
.phone-grid h3{font-size:20px;margin:7px 0}
.phone-grid p{margin:0 0 15px}
.phone-grid button{width:100%;padding:12px;border-radius:10px;border:1px solid var(--ink);background:#fff;font-weight:800;cursor:pointer}
.process{margin:0 6vw 100px;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.process div{padding:32px;border-right:1px solid var(--line)}
.process div:last-child{border:0}
.process span{color:var(--magenta);font-weight:900}
.process p{color:#756a73;line-height:1.55}
.stores{background:var(--ink);color:#fff;padding:100px 6vw;overflow:hidden}
.section-title.light p{color:#bfb3bc}
.store-slider{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:18px}
.store-card{min-width:min(650px,82vw);height:420px;border-radius:22px;overflow:hidden;background-size:cover;background-position:center;position:relative;scroll-snap-align:start}
.store-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(16,5,14,.92),transparent 65%)}
.store-card>div{position:absolute;z-index:2;left:28px;bottom:28px}
.store-card span{font-size:12px;font-weight:900;letter-spacing:2px;color:#ff90c2}
.store-card h3{font-size:32px;margin:8px 0 18px}
.store-card a{border:1px solid #fff;padding:11px 15px;border-radius:10px;font-weight:800}
.s1{background-image:url('https://hanoimobile.vn/uploads/hanoimobile-co-so-1-dia-chi-240-nguyen-van-cu.png')}
.s2{background-image:url('https://toplist.vn/images/800px/cua-hang-dien-thoai-hanoimobilevn-1397344.jpg')}
.s3{background-image:url('https://hanoimobile.vn/uploads/hanoimobile-co-so-1-dia-chi-240-nguyen-van-cu.png')}
.contact-band{margin:80px 6vw;padding:60px;background:linear-gradient(120deg,var(--magenta),var(--purple));color:#fff;border-radius:30px;display:flex;align-items:center;justify-content:space-between}
.contact-band span{color:#ffd1e7}
.contact-band h2{font-size:42px;line-height:1.08;margin:12px 0}
.contact-buttons{display:flex;flex-direction:column;gap:12px}
.contact-buttons a{background:#fff;color:var(--ink);padding:17px 24px;border-radius:12px;font-weight:900;text-align:center}
.contact-buttons .zalo{background:#0877ff;color:#fff}
footer{padding:45px 6vw;border-top:1px solid var(--line);display:grid;grid-template-columns:1.3fr 1fr;gap:15px;align-items:center}
footer img{width:230px}
footer p{color:#70656e}
footer div{display:flex;gap:22px;justify-content:flex-end;font-weight:700}
footer small{grid-column:1/-1;color:#8c8089}
.floating{position:fixed;right:20px;bottom:20px;z-index:30;display:flex;flex-direction:column;gap:10px}
.floating a{width:55px;height:55px;border-radius:50%;display:grid;place-items:center;background:var(--magenta);color:#fff;font-weight:900;box-shadow:0 8px 25px rgba(0,0,0,.2)}
.floating .z{background:#0877ff;font-size:13px}

@media(max-width:900px){.topbar nav{display:none}
.header-call{font-size:13px}
.brand img{width:170px}
.hero{grid-template-columns:1fr;padding-top:55px}
.phone-grid{grid-template-columns:repeat(2,1fr)}
.process{grid-template-columns:1fr}
.process div{border-right:0;border-bottom:1px solid var(--line)}
.section-title,.contact-band{align-items:flex-start;flex-direction:column;gap:20px}
.contact-band{padding:38px}
.contact-buttons{width:100%}
footer{grid-template-columns:1fr}
footer div{justify-content:flex-start;flex-wrap:wrap}
}

@media(max-width:560px){.topbar{height:68px;padding:0 16px}
.brand img{width:140px}
.header-call{padding:10px 12px}
.hero{padding:45px 18px 60px;gap:40px}
.hero h1{font-size:48px;letter-spacing:-2px}
.hero-actions{flex-direction:column}
.hero-actions a{text-align:center}
.proof{gap:10px;flex-direction:column}
.quote-card{padding:20px}
.phones,.stores{padding:70px 18px}
.phone-grid{grid-template-columns:1fr}
.phone-visual{height:240px}
.process{margin:0 18px 70px}
.section-title h2{font-size:42px}
.store-card{min-width:88vw;height:360px}
.contact-band{margin:55px 18px;padding:30px 22px;border-radius:22px}
.contact-band h2{font-size:34px}
footer{padding:36px 18px}
.floating{right:12px;bottom:12px}
.floating a{width:50px;height:50px}
}

.quote-card input{font:inherit;border:1px solid #ddced9;background:#fff;padding:11px 13px;border-radius:10px;width:100%}
.shop-tools{display:flex;justify-content:space-between;gap:20px;margin:-10px 0 28px}
.shop-tools>input{min-width:300px;border:1px solid var(--line);border-radius:11px;padding:12px 16px;font:inherit}
.filters{display:flex;gap:8px;flex-wrap:wrap}
.filters button{border:1px solid var(--line);background:#fff;padding:11px 15px;border-radius:10px;font-weight:800}
.filters button.active{background:var(--ink);color:#fff}
.phone-grid article.hidden{display:none}
.green{background:linear-gradient(145deg,#173d35,#7baf91)}
.gold{background:linear-gradient(145deg,#463924,#bd9e63)}
.cyan{background:linear-gradient(145deg,#0b4853,#41bbc5)}
.orange{background:linear-gradient(145deg,#6b2717,#e38c64)}
.price-note{text-align:center;color:#786d75;margin-top:24px;font-size:14px}
.policy{padding:100px 6vw;background:#fff5fa;display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw}
.policy-intro>span,.faq>div>span{font-size:13px;font-weight:900;letter-spacing:2px;color:var(--magenta)}
.policy-intro h2,.faq h2{font-size:clamp(42px,5vw,64px);line-height:1;margin:15px 0 24px;letter-spacing:-2px}
.policy-intro p{font-size:17px;line-height:1.65;color:#685c65}
.policy-intro a{display:inline-block;margin-top:18px;font-weight:900;color:var(--magenta)}
.policy-list article{display:flex;gap:24px;padding:24px 0;border-bottom:1px solid #dfced9}
.policy-list article>b{color:var(--magenta)}
.policy-list h3{margin:0 0 8px}
.policy-list p{margin:0;color:#70646d;line-height:1.55}
.faq{padding:100px 6vw;display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw}
.accordion details{border-top:1px solid var(--line);padding:22px 0}
.accordion summary{cursor:pointer;font-size:18px;font-weight:900}
.accordion p{color:#6d626a;line-height:1.6}
.reviews{padding:100px 6vw;background:#f7f3f6}
.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.review-grid blockquote{margin:0;background:var(--ink);color:#fff;border-radius:20px;padding:30px;font-size:18px;line-height:1.65}
.review-grid blockquote footer{display:block;padding:20px 0 0;border:0;color:#d9cad4;font-size:14px}
@media(max-width:900px){.policy,.faq{grid-template-columns:1fr}
.review-grid{grid-template-columns:1fr}
.shop-tools{flex-direction:column}
.shop-tools>input{min-width:0;width:100%}
}
@media(max-width:560px){.policy,.faq,.reviews{padding:70px 18px}
.policy-intro h2,.faq h2{font-size:42px}
}
.buyback-price{padding:100px 6vw;background:#fff}.price-heading{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:38px}.price-heading>div>span{font-size:13px;font-weight:900;letter-spacing:2px;color:var(--magenta)}.price-heading h2{font-size:clamp(42px,5vw,66px);line-height:1;margin:13px 0 0;letter-spacing:-2px}.price-help{max-width:390px;padding:22px;border:1px solid var(--line);border-radius:16px}.price-help p{color:#6f626c;line-height:1.5;margin:8px 0 12px}.price-help a{font-weight:900;color:#0877ff}.grade-guide{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:26px}.grade-guide div{padding:16px;background:#fff5fa;border-radius:12px;display:flex;flex-direction:column;gap:5px}.grade-guide b{color:var(--magenta)}.grade-guide span{font-size:13px;color:#6c6068}.price-tools{display:grid;grid-template-columns:1.4fr 1fr;gap:14px;background:var(--ink);padding:18px;border-radius:16px 16px 0 0}.price-tools label{display:flex;flex-direction:column;gap:7px}.price-tools label span{color:#e8dfe5;font-size:13px;font-weight:800}.price-tools input,.price-tools select{font:inherit;border:0;padding:13px 14px;border-radius:9px;background:#fff}.price-table-wrap{overflow-x:auto;border:1px solid var(--line);border-top:0}.price-table{width:100%;border-collapse:collapse;min-width:980px}.price-table th{background:#f7eef4;padding:15px 12px;text-align:left;font-size:13px;white-space:nowrap}.price-table td{padding:15px 12px;border-top:1px solid var(--line);font-size:14px}.price-table tr:hover td{background:#fff8fc}.price-table strong{color:var(--magenta)}.contact-price{color:var(--magenta);font-weight:900}.empty-price{display:none;padding:35px;text-align:center;color:#786d75}.price-foot{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:18px 20px;background:#fff5fa;border-radius:0 0 16px 16px}.price-foot p{margin:0;max-width:850px;font-size:13px;line-height:1.5;color:#6f626b}.price-foot a{white-space:nowrap;font-weight:900;color:var(--magenta)}.show-more{display:block;margin:24px auto 0;padding:13px 24px;background:#fff;border:1px solid var(--ink);border-radius:10px;font-weight:900;cursor:pointer}@media(max-width:1100px){.grade-guide{grid-template-columns:repeat(3,1fr)}}@media(max-width:900px){.price-heading{align-items:flex-start;flex-direction:column}.grade-guide{grid-template-columns:repeat(2,1fr)}.price-foot{align-items:flex-start;flex-direction:column}.price-tools{grid-template-columns:1fr}}@media(max-width:560px){.buyback-price{padding:70px 18px}.grade-guide{grid-template-columns:1fr 1fr}.price-table{min-width:0}.price-table thead{display:none}.price-table,.price-table tbody,.price-table tr,.price-table td{display:block;width:100%}.price-table tr{padding:12px 14px;border-top:1px solid var(--line)}.price-table td{border:0;padding:6px 0;display:flex;justify-content:space-between;gap:20px}.price-table td:before{content:attr(data-label);font-weight:800;color:#766a73}.price-table td:first-child{font-size:17px;margin-bottom:4px}.price-table td:first-child:before{display:none}.price-help{max-width:none}.price-heading h2{font-size:44px}}
