:root{
  --page:#f4f5f8;
  --panel:#ffffff;
  --panel-soft:#fcfbfe;
  --lav-1:#faf8fd;
  --lav-2:#f4effa;
  --lav-3:#e8def3;
  --lav-4:#d5c2e7;
  --purple:#4c267a;
  --purple-2:#6938a2;
  --purple-3:#8b61b5;
  --magenta:#aa3a8e;
  --ink:#241d2b;
  --text:#4b4751;
  --muted:#77737c;
  --line:#e4dfe8;
  --shadow:0 10px 28px rgba(57,42,70,.055);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--page);
  color:var(--text);
  font-family:Roboto,"Segoe UI",Arial,sans-serif;
  line-height:1.72;
}
.article{
  margin:0 auto;
}
.panel{
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:25px;
  box-shadow:var(--shadow);
  padding:1rem;
  margin:16px 0;
}
.panel.soft{
  background:linear-gradient(145deg,#fff 0%,#fcfaff 100%);
}
h2{
  margin:0 0 10px;
  color:var(--ink);
  font-size:26px;
  line-height:1.38;
  font-weight:650;
  letter-spacing:-.01em;
}
h3{
  margin:0 0 8px;
  color:#302637;
  font-size:19px;
  line-height:1.4;
  font-weight:650;
}
p{margin:8px 0;font-size:15.5px}
strong{color:#33283c}
a{text-decoration:none;color:inherit}
.note{font-size:13px;color:var(--muted)}
.section-row{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:28px;
  margin-bottom:18px;
}
.section-row>p{
  max-width:360px;
  margin:0;
  color:var(--muted);
  font-size:13px;
  text-align:right;
}
.pill{
  display:inline-flex;
  gap:7px;
  align-items:center;
  padding:5px 11px;
  border:1px solid var(--lav-4);
  border-radius:999px;
  background:#fff;
  color:var(--purple);
  font-size:11px;
  font-weight:750;
  letter-spacing:.05em;
  text-transform:uppercase;
  margin-bottom:11px;
}
.pill svg{width:13px;height:13px}
.page-header{padding:20px 2px 4px}
.page-header h1{margin:0 0 6px;color:var(--ink);font-size:30px;line-height:1.32;font-weight:700;letter-spacing:-.01em}
.page-header p{margin:0;color:var(--muted);font-size:14px}
.byline{margin-top:8px!important;font-size:12.5px!important;color:#8a8590!important}
.byline strong{color:#6d4b97}
@media(max-width:680px){.page-header h1{font-size:24px}}
.breadcrumb{font-size:12.5px;color:var(--muted);margin:16px 2px 0}
.breadcrumb a{color:#6d4b97;text-decoration:none}
.breadcrumb a:hover{text-decoration:underline}

/* Quick answer */
.quick{
  background:
    radial-gradient(circle at 92% 0%,rgba(118,75,162,.05),transparent 30%),
    linear-gradient(145deg,#fff,#fbf9fd);
  border-color:#dcd4e5;
}
.quick h2{font-size:27px}
.quick p{font-size:16px;}

/* Specs exactly closer to visual sample */
.specs-panel h2{font-size:25px}
.specs-sub{
  margin-top:2px;
  color:var(--muted);
  font-size:14px;
}
.spec-grid{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:10px;
  margin-top:22px;
}
.spec-card{
  min-height:210px;
  border:1px solid var(--lav-4);
  border-radius:17px;
  background:linear-gradient(180deg,#fff,#fdfcff);
  padding:17px 12px 15px;
  text-align:center;
  display:flex;
  flex-direction:column;
  align-items:center;
}
.icon-circle{
  width:68px;
  height:68px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:linear-gradient(145deg,#faf7fd,#eee5f7);
  border:1px solid #e4d9ef;
  color:var(--purple-2);
  margin:0 auto 14px;
}
.icon-circle svg{width:39px;height:39px;stroke:currentColor}
.icon-circle.ar{
  font-size:27px;
  font-weight:800;
  font-style:italic;
}
.spec-card b{
  display:block;
  color:#2a1f35;
  font-size:16px;
  line-height:1.3;
  margin-bottom:8px;
}
.spec-card span{
  color:#6c6870;
  font-size:11.5px;
  line-height:1.55;
}
.price-bar{
  margin-top:15px;
  border:1px solid #cfb8e0;
  border-radius:17px;
  background:
    radial-gradient(circle at 95% 50%,rgba(135,78,177,.08),transparent 20%),
    linear-gradient(90deg,#f7f0fc,#fdfbff);
  padding:16px 18px;
  display:flex;
  align-items:center;
  gap:15px;
}
.price-icon{
  width:52px;
  height:52px;
  border-radius:50%;
  background:linear-gradient(145deg,#f1e7f9,#dec9ed);
  color:var(--purple-2);
  display:grid;
  place-items:center;
  flex:none;
}
.price-icon svg{width:28px;height:28px;stroke:currentColor}
.price-copy strong{
  font-size:18px;
  font-weight:650;
}
.price-value{
  color:var(--purple-2);
  font-size:24px;
  font-weight:750;
}
.price-copy p{
  margin:3px 0 0;
  font-size:13px;
  color:#605b65;
}

/* TOC */
.toc-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0 26px;
}
.toc-grid a{
  display:block;
  padding:9px 2px;
  border-bottom:1px dashed #e7e1eb;
  color:#50475a;
  font-size:14px;
}
.toc-grid a:hover{color:var(--purple)}

/* General light cards */
.cards-3,.cards-2{
  display:grid;
  gap:12px;
  margin-top:17px;
}
.cards-3{grid-template-columns:repeat(3,1fr)}
.cards-2{grid-template-columns:repeat(2,1fr)}
.mini-card{
  border:1px solid var(--lav-3);
  border-radius:17px;
  background:linear-gradient(180deg,#fff,#fdfcff);
  padding:18px;
}
.mini-tag{
  display:inline-block;
  border-radius:999px;
  padding:4px 8px;
  background:var(--lav-2);
  color:var(--purple-2);
  font-size:10px;
  font-weight:750;
  letter-spacing:.04em;
  margin-bottom:8px;
}
.mini-card strong{
  display:block;
  font-size:17px;
  color:#34273e;
  margin-bottom:6px;
}
.mini-card p{
  margin:0;
  font-size:14px;
  color:#626068;
}

/* One strong M10-style visual only */
.dark-feature{
  overflow:hidden;
  border-radius:20px;
  display:grid;
  grid-template-columns:42% 58%;
  min-height:350px;
  margin:18px 0 12px;
  background:
    radial-gradient(circle at 73% 48%,rgba(136,77,183,.48),transparent 28%),
    linear-gradient(135deg,#11091b,#25113e 48%,#562b83);
  position:relative;
}
.dark-feature:before{
  content:"";
  position:absolute;
  inset:0;
  opacity:.18;
  background:
    linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px),
    linear-gradient(0deg,rgba(255,255,255,.05) 1px,transparent 1px);
  background-size:170px 100%,100% 120px;
}
.dark-media{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:52px 20px 25px;
  position:relative;
  z-index:1;
}
.lamp-placeholder{
  width:220px;
  height:220px;
  border-radius:25px;
  transform:rotate(-8deg);
  background:
    linear-gradient(145deg,rgba(255,255,255,.09),rgba(255,255,255,.01)),
    radial-gradient(circle at 51% 43%,#aa9ab3 0 9%,#403547 10% 25%,#0d0a11 26% 100%);
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 20px 60px rgba(0,0,0,.30),0 0 45px rgba(164,70,174,.15);
  position:relative;
}
.lamp-placeholder:after{
  content:"ẢNH M20 ULTRA V2";
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  color:rgba(255,255,255,.30);
  font-size:12px;
  letter-spacing:.06em;
}
.dark-copy{
  position:relative;
  z-index:1;
  padding:48px 30px 35px 8px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.dark-copy h3{
  color:#fff;
  font-size:25px;
}
.dark-copy p{
  color:#e5dfea;
  font-size:14px;
}
.dark-data{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9px;
  margin-top:13px;
}
.dark-data div{
  border:1px solid rgba(213,184,232,.34);
  border-radius:11px;
  background:rgba(10,7,14,.38);
  padding:10px 12px;
}
.dark-data span{
  display:block;
  color:#cdb3df;
  font-size:9px;
  font-weight:700;
  text-transform:uppercase;
}
.dark-data b{
  display:block;
  color:#fff;
  margin-top:3px;
  font-size:15px;
}
.accordion{
  border:1px solid var(--lav-3);
  border-radius:14px;
  background:var(--lav-1);
  padding:14px 16px;
  margin-top:10px;
}
.accordion summary{
  cursor:pointer;
  font-weight:650;
  color:#4d365c;
}
.accordion p{
  font-size:14px;
  color:#5e5c63;
}

.fan-dark{
  width:185px;
  height:185px;
  border-radius:50%;
  border:24px solid #5d4774;
  background:#191221;
  box-shadow:0 0 42px rgba(91,108,255,.55),0 0 70px rgba(145,94,255,.18);
  position:relative;
}
.fan-dark:before{
  content:"";
  position:absolute;
  inset:24px;
  border-radius:50%;
  border:15px dashed #08070c;
}
.shield-dark{
  width:180px;
  height:210px;
  clip-path:polygon(50% 0,90% 14%,86% 68%,50% 100%,14% 68%,10% 14%);
  border:10px solid #6a4c88;
  background:linear-gradient(180deg,#2a2133,#161119);
  box-shadow:0 0 38px rgba(147,94,255,.20);
  position:relative;
}
.shield-dark:before{
  content:"";
  position:absolute;
  width:56px;
  height:76px;
  left:50%;
  top:42%;
  transform:translate(-50%,-50%) rotate(45deg);
  border-radius:58% 42% 60% 40%;
  border:7px solid #b9a4cf;
  border-top-color:transparent;
  border-left-color:transparent;
}
.shield-dark:after{
  content:"IP68";
  position:absolute;
  left:0;right:0;bottom:22px;
  text-align:center;
  color:#fff;
  font-size:22px;
  font-weight:800;
}
.product-dark{
  width:205px;
  height:205px;
  border-radius:24px;
  transform:rotate(-8deg);
  background:
    linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.01)),
    radial-gradient(circle at 51% 43%,#aa9ab3 0 9%,#403547 10% 25%,#0d0a11 26% 100%);
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 20px 60px rgba(0,0,0,.30),0 0 45px rgba(164,70,174,.15);
  position:relative;
}
.product-dark:after{
  content:"M20 ULTRA V2";
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  color:rgba(255,255,255,.30);
  font-size:12px;
  letter-spacing:.06em;
  font-weight:700;
}
.dark-feature.compact{
  min-height:330px;
}
.dark-title{
  color:#ffd12a !important;
  font-style:italic;
  text-transform:uppercase;
  font-weight:800 !important;
  text-shadow:2px 2px 0 #d30c86;
}
.dark-brand{
  position:absolute;
  left:20px;
  top:18px;
  z-index:2;
  color:#ff1aad;
  font-size:20px;
  font-weight:800;
  font-style:italic;
}
.dark-brand small{
  display:block;
  color:#fff;
  font-size:7px;
  margin-left:27px;
  margin-top:-2px;
  font-style:normal;
  letter-spacing:.06em;
}
.dark-badge{
  position:absolute;
  right:18px;
  bottom:16px;
  z-index:2;
  background:#fff;
  color:#23142c;
  font-weight:800;
  font-style:italic;
  padding:4px 11px;
  transform:skew(-7deg);
}
.dark-badge em{color:#c2258c;font-style:normal;}


.video-wrap{
    margin-top: 16px;
    border: 1px solid var(--lav-3);
    border-radius: 20px;
    overflow: hidden;
    background: #0d0a12;
    box-shadow: 0 10px 24px rgba(57,42,70,.07);
    width: 800px;
    margin: 0 auto;
    text-align: center;
}
.video-ratio{
    position: relative;
    width: 100%;
    height: 0;
    padding-bottom: 56.25%;
    overflow: hidden;
    border-radius: 12px;
    background: #000;
    margin: 0;
}
.video-ratio iframe{
    width: 100%;
    aspect-ratio: 16 / 9;
    height: auto !important;
    margin: 1.5rem 0;
    border-radius: var(--a365-radius-lg);
    background: #000;
    box-shadow: none;
}
.video-caption{
  padding:12px 14px;
  background:#fbf9fd;
  color:#66616b;
  font-size:13px;
  border-top:1px solid var(--lav-3);
}

/* Tables */
.table-wrap{
  overflow:auto;
  border:1px solid var(--line);
  border-radius:17px;
  margin-top:16px;
}
table{
  width:100%;
  min-width:720px;
  border-collapse:collapse;
  font-size:14px;
}
th,td{
  padding:12px 13px;
  text-align:left;
  vertical-align:top;
  border-bottom:1px solid #e9e6eb;
}
th{
  background:#f4f0f8;
  color:#44334f;
  font-weight:650;
}
tr:last-child td{border-bottom:0}
.compare th:last-child{background:#eadff4}
.compare td:last-child{background:#fcf9fe}

/* image gallery */
.gallery{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:11px;
  margin-top:16px;
}
.photo{
  aspect-ratio:4/3;
  border:1px solid #d8cce2;
  border-radius:17px;
  background:linear-gradient(145deg,#eee7f4,#c9b5da 62%,#a98fc1);
  position:relative;
  overflow:hidden;
}
.photo:before{
  content:"ẢNH THỰC TẾ";
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  color:rgba(74,49,93,.42);
  font-size:11px;
  letter-spacing:.08em;
}
.photo b{
  position:absolute;
  left:0;right:0;bottom:0;
  padding:10px 12px;
  color:#fff;
  background:linear-gradient(transparent,rgba(50,35,61,.85));
  font-size:13px;
}

.photo.real-photo{
  background:#111;
}
.photo.real-photo:before{
  display:none;
}
.photo.real-photo img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.embedded-poster{
  margin-top:16px;
  border:1px solid var(--lav-3);
  border-radius:20px;
  overflow:hidden;
  background:#140e1d;
  box-shadow:0 12px 28px rgba(57,42,70,.08);
}
.embedded-poster img{
  display:block;
  width:100%;
  height:auto;
}
.poster-note{
  margin-top:12px;
  font-size:14px;
  color:#5f5b64;
}

.feature-scroll{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  margin-top:16px;
}
.feature-scroll-card{
  border:1px solid var(--lav-3);
  border-radius:17px;
  overflow:hidden;
  background:#fff;
  box-shadow:var(--shadow);
}
.feature-scroll-card img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:3/2;
  object-fit:contain;
  background:#140e1d;
}
.feature-scroll-body{padding:14px}
.feature-scroll-body strong{
  display:block;
  font-size:15px;
  color:#2a1f35;
  margin-bottom:5px;
}
.feature-scroll-body p{
  margin:0;
  font-size:13px;
  color:#625f68;
}
@media(max-width:850px){
  .feature-scroll{grid-template-columns:repeat(2,1fr)}
}

/* Feature image rows */
.feature-row{
  display:grid;
  grid-template-columns:42% 58%;
  gap:16px;
  align-items:stretch;
  margin-top:16px;
}
.feature-image{
  min-height:270px;
  border:1px solid var(--lav-3);
  border-radius:18px;
  background:
    radial-gradient(circle at 68% 28%,rgba(107,56,160,.08),transparent 30%),
    linear-gradient(145deg,#fbf9fd,#eee6f5);
  position:relative;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}
.feature-image:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(111,66,151,.045) 1px,transparent 1px),
    linear-gradient(0deg,rgba(111,66,151,.035) 1px,transparent 1px);
  background-size:100px 100%,100% 100px;
}
.feature-image-label{
  position:absolute;
  left:14px;
  top:14px;
  z-index:3;
  padding:5px 9px;
  border-radius:999px;
  background:rgba(255,255,255,.78);
  border:1px solid var(--lav-3);
  color:var(--purple);
  font-size:10px;
  font-weight:750;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.feature-image-caption{
  position:absolute;
  left:14px;
  right:14px;
  bottom:12px;
  z-index:3;
  color:#655d6d;
  font-size:11px;
  text-align:center;
}
.fan-art{
  position:relative;
  z-index:2;
  width:168px;
  height:168px;
  border-radius:50%;
  border:22px solid #6f5685;
  background:#ece4f3;
  box-shadow:0 14px 35px rgba(73,48,93,.10),0 0 0 13px rgba(124,84,160,.06);
}
.fan-art:before{
  content:"";
  position:absolute;
  inset:22px;
  border-radius:50%;
  border:15px dashed #4f3b62;
}
.fan-art:after{
  content:"2 FAN";
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  color:#4f3962;
  font-size:14px;
  font-weight:800;
}
.ip-art{
  position:relative;
  z-index:2;
  width:160px;
  height:190px;
  border:10px solid #765596;
  border-radius:80px 80px 90px 90px;
  background:linear-gradient(180deg,#faf7fd,#e8ddf2);
  clip-path:polygon(50% 0,92% 14%,88% 68%,50% 100%,12% 68%,8% 14%);
  box-shadow:0 14px 35px rgba(73,48,93,.10);
}
.ip-art:before{
  content:"";
  position:absolute;
  width:58px;
  height:76px;
  left:50%;
  top:43%;
  transform:translate(-50%,-50%) rotate(45deg);
  border-radius:58% 42% 60% 40%;
  border:7px solid #68448b;
  border-top-color:transparent;
  border-left-color:transparent;
}
.ip-art:after{
  content:"IP68";
  position:absolute;
  left:0;
  right:0;
  bottom:24px;
  text-align:center;
  color:#563778;
  font-size:20px;
  font-weight:800;
}
.feature-content{
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.feature-content .cards-2{
  margin-top:0;
}
.feature-content .mini-card{
  height:100%;
}
.feature-callout{
  border:1px solid var(--lav-3);
  border-radius:17px;
  background:linear-gradient(180deg,#fff,#fdfbff);
  padding:18px;
}
.feature-callout .mini-tag{
  margin-bottom:9px;
}
.feature-callout strong{
  display:block;
  font-size:17px;
  margin-bottom:7px;
}
.feature-callout p{
  margin:0;
  font-size:14px;
  color:#626068;
}

/* application */
.app{
  border:1px solid var(--lav-3);
  border-radius:17px;
  background:#fff;
  padding:18px;
}
.app-label{
  display:inline-block;
  border-radius:999px;
  background:var(--purple);
  color:#fff;
  padding:4px 9px;
  font-size:10px;
  font-weight:750;
  margin-bottom:9px;
}
.app ul{
  margin:10px 0 0;
  padding-left:18px;
}
.app li{
  font-size:14px;
  color:#5e5b63;
  margin:5px 0;
}

/* checks */
.checks{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
  margin-top:16px;
}
.check{
  border:1px solid var(--lav-3);
  border-radius:17px;
  padding:18px;
  background:var(--lav-1);
}
.check-num{
  width:31px;
  height:31px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:var(--lav-2);
  color:var(--purple);
  font-weight:750;
  margin-bottom:10px;
}
.check strong{display:block;margin-bottom:5px}
.check p{font-size:13.5px;margin:0;color:#626068}

/* timeline */
.process{
  position:relative;
  display:grid;
  grid-template-columns:repeat(7,1fr);
  margin-top:24px;
}
.process:before{
  content:"";
  position:absolute;
  left:7%;
  right:7%;
  top:22px;
  height:2px;
  background:linear-gradient(90deg,#b599cf,#6d3d9d);
}
.step{
  position:relative;
  z-index:1;
  text-align:center;
  padding:0 7px;
}
.step-num{
  width:42px;height:42px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#fff;
  border:2px solid var(--purple-2);
  color:var(--purple-2);
  font-size:12px;
  font-weight:750;
  margin:0 auto 10px;
  box-shadow:0 0 0 6px #fff;
}
.step strong{
  display:block;
  font-size:12.5px;
  line-height:1.35;
  color:#39343d;
}
.step p{
  font-size:11.5px;
  line-height:1.45;
  margin:4px 0 0;
  color:#7a767e;
}


/* Technical reviewer */
.review-panel{
  background:
    radial-gradient(circle at 92% 10%,rgba(105,56,162,.07),transparent 28%),
    linear-gradient(145deg,#fff,#fbf9fd);
}
.reviewer-card{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:16px;
  align-items:center;
  border:1px solid var(--lav-3);
  border-radius:18px;
  padding:18px;
  background:#fff;
  margin-top:16px;
}
.reviewer-avatar{
  width:64px;
  height:64px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:linear-gradient(145deg,#f1e8f8,#ddcaeb);
  color:var(--purple-2);
  font-size:20px;
  font-weight:800;
  border:1px solid #d8c7e6;
}
.reviewer-meta{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:7px;
}
.reviewer-meta span{
  display:inline-flex;
  align-items:center;
  border:1px solid var(--lav-3);
  border-radius:999px;
  padding:4px 8px;
  background:var(--lav-1);
  color:#62566d;
  font-size:11px;
}
.review-source{
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid var(--line);
  color:#68636c;
  font-size:13px;
}
@media(max-width:620px){
  .reviewer-card{grid-template-columns:1fr}
  .reviewer-avatar{width:56px;height:56px}
}

/* FAQ */
.faq details{
  border-top:1px solid var(--line);
  padding:14px 0;
}
.faq details:first-of-type{border-top:0}
.faq summary{
  cursor:pointer;
  font-weight:650;
  color:#39343d;
}
.faq p{
  font-size:14.5px;
  color:#5e5c63;
}

/* Author */
.author-grid{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:12px;
  margin-top:16px;
}
.author-card{
  border:1px solid var(--lav-3);
  border-radius:17px;
  padding:18px;
  background:#fff;
}
.author-card strong{display:block;margin-bottom:5px}
.author-card p{font-size:13.5px;color:#67646c;margin:4px 0}

@media(max-width:850px){
  .spec-grid{grid-template-columns:repeat(3,1fr)}
  .cards-3,.checks,.feature-row{grid-template-columns:1fr}
  .cards-2,.author-grid{grid-template-columns:1fr}
  #ai-nen-can-nhac .cards-2{grid-template-columns:1fr 1fr}
  .dark-feature{display:block}
  .dark-media{padding-bottom:10px}
  .dark-copy{padding:15px 20px 34px}
  .section-row{display:block}
  .section-row>p{text-align:left;margin-top:6px}
}
@media(max-width:620px){
  .panel{border-radius:19px;padding:21px 17px}
  h2{font-size:18px}
  h3{font-size:15px}
  p{font-size:13px}
  .quick h2{font-size:17px}
  .quick p{font-size:13px;max-width:none}
  .info-highlight h3{font-size:16px}
  .specs-panel h2{font-size:17px}
  .note{font-size:11.5px}
  .pill{font-size:10px}
  .specs-sub{font-size:12.5px}
  .hscroll-row{
    display:flex;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    scroll-snap-type:x proximity;
    gap:10px;
    padding:2px 2px 8px;
    margin-top:16px!important;
  }
  .hscroll-row::-webkit-scrollbar{height:5px}
  .hscroll-row::-webkit-scrollbar-thumb{background:#d5c2e7;border-radius:999px}
  .spec-grid.hscroll-row .spec-card{flex:0 0 42%;min-height:0;padding:14px 10px}
  .icon-circle{width:52px;height:52px}
  .icon-circle svg{width:30px;height:30px}
  .spec-card b{font-size:13px}
  .spec-card span{font-size:11.5px}
  .price-bar{align-items:flex-start;padding:13px 14px}
  .price-icon{width:42px;height:42px}
  .price-copy strong{font-size:15.5px}
  .price-value{font-size:19px}
  .price-copy p{font-size:12px}
  .toc-grid{grid-template-columns:1fr}
  .dark-data{grid-template-columns:1fr 1fr}
  .cards-3.hscroll-row .mini-card,.checks.hscroll-row .check{flex:0 0 72%}
  .feature-scroll.hscroll-row{
    display:grid;
    grid-template-columns:none;
    grid-auto-flow:column;
    grid-template-rows:repeat(2,1fr);
    grid-auto-columns:64%;
    scroll-snap-type:x mandatory;
  }
  .feature-scroll.hscroll-row .feature-scroll-card{
    scroll-snap-align:start;
    min-width:0;
  }
  .feature-scroll-card img{aspect-ratio:16/9}
  .feature-scroll-body{padding:10px 11px}
  .feature-scroll-body strong{font-size:12.5px}
  .feature-scroll-body p{font-size:12px}
  .mini-card strong{font-size:15px}
  .mini-card p{font-size:13px}
  #ai-nen-can-nhac .cards-2{gap:8px}
  #ai-nen-can-nhac .mini-card{padding:12px}
  #ai-nen-can-nhac .mini-card strong{font-size:12.5px;line-height:1.3}
  #ai-nen-can-nhac .mini-card p{font-size:12px;line-height:1.4}
  .mini-tag{font-size:9px}
  .app li{font-size:13px}
  .check strong{font-size:14.5px}
  .check p{font-size:12.5px}
  .process{
    display:flex;
    grid-template-columns:none;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    scroll-snap-type:x proximity;
    gap:10px;
    margin-top:16px;
    padding:2px 2px 8px;
  }
  .process:before{display:none}
  .step{
    flex:0 0 62%;
    scroll-snap-align:start;
    text-align:left;
    min-height:0;
    padding:14px;
    border:1px solid var(--lav-3);
    border-radius:14px;
    background:#fff;
  }
  .step-num{
    position:static;
    margin:0 0 10px;
    width:34px;height:34px;
    font-size:11px;
    box-shadow:none;
  }
  .step strong{font-size:13px}
  .step p{font-size:12px}
  .process::-webkit-scrollbar{height:5px}
  .process::-webkit-scrollbar-thumb{background:#d5c2e7;border-radius:999px}
  .gallery{
    display:flex;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    scroll-snap-type:x mandatory;
    gap:10px;
    padding-bottom:6px;
  }
  .gallery .photo{
    flex:0 0 78%;
    scroll-snap-align:start;
  }
  .gallery::-webkit-scrollbar{height:5px}
  .gallery::-webkit-scrollbar-thumb{background:#d5c2e7;border-radius:999px}
  .photo b{font-size:12px}
  .table-wrap{overflow:visible}
  table{min-width:0;width:100%;table-layout:fixed}
  th,td{padding:9px 8px;font-size:12px;word-break:break-word}
  .compare th:first-child,.compare td:first-child{width:26%}
  .faq details{padding:11px 0}
  .faq summary{font-size:13px;line-height:1.35}
  .faq p{font-size:12px;margin:8px 0 0}
  .cta-simple-actions{flex-direction:row;flex-wrap:nowrap;gap:7px}
  .cta-simple-btn{flex:1;min-height:40px;padding:0 6px;font-size:12.5px;gap:5px}
  .cta-simple-btn svg{width:16px;height:16px}
  .cta-text{display:none}
  .cta-short{display:inline}
  .reviewer-meta span{font-size:10px}
  .review-source{font-size:12px}
  .author-card p{font-size:12.5px}
}



/* Quick answer highlight */
.quick-answer{
  background:transparent;
  border:none;
  box-shadow:none;
  padding:0;
}
.quick-answer-box{
  background:#f3eef8;
  border:1px solid #dccfea;
  border-radius:18px;
  padding:18px 20px;
  box-shadow:none;
}
.quick-answer .pill{
  background:#efe5fa;
  border:1px solid #ceb9e7;
  color:#6d4b97;
}
.quick-answer h2{
  margin-top:10px;
}


/* Inset highlight boxes */
.info-highlight{
  background:#f3eef8;
  border:1px solid #dccfea;
  border-radius:18px;
  padding:18px 20px;
  margin-top:16px;
}
.info-highlight .pill{
  background:#efe5fa;
  border:1px solid #ceb9e7;
  color:#6d4b97;
}
.info-highlight h3{
  margin:10px 0 10px;
  font-size:24px;
}
.info-highlight p:last-child{margin-bottom:0}
.chip-row{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:12px;
}
.chip{
  display:inline-flex;
  align-items:center;
  min-height:38px;
  padding:8px 12px;
  border-radius:12px;
  background:#fbf8fe;
  border:1px solid #d9cbea;
  color:#4c3d5c;
  font-size:13px;
  font-weight:650;
}
.note-card{
  background:#faf7fd;
  border:1px solid #e0d4ef;
  border-radius:16px;
  padding:14px 16px;
  margin-top:14px;
  color:#5f5a67;
  font-size:14px;
}

/* CTA */
.cta-panel{
  background:
    radial-gradient(circle at 90% 10%, rgba(125,89,187,.10), transparent 30%),
    linear-gradient(180deg,#f5eefb 0%, #f1e8fa 100%);
  border:1px solid #dac9ea;
}
.cta-panel h2{margin-bottom:10px}
.cta-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:16px;
}
.cta-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:0 18px;
  border-radius:999px;
  text-decoration:none;
  font-weight:750;
  border:1px solid transparent;
}
.cta-btn.primary{
  background:#6f4ea0;
  color:#fff;
  border-color:#6f4ea0;
}
.cta-btn.secondary{
  background:#fff;
  color:#5a437e;
  border-color:#d4c3e6;
}
.cta-list{
  margin:14px 0 0;
  padding-left:18px;
  color:#5d5864;
}
.cta-list li{margin:6px 0}


/* Strong CTA */
.cta-grid{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:18px;
  margin-top:16px;
}
.cta-box{
  background:#fff;
  border:1px solid #dccfea;
  border-radius:18px;
  padding:18px;
}
.cta-box h3{
  margin:0 0 10px;
  font-size:20px;
}
.contact-stack{
  display:grid;
  gap:10px;
}
.contact-item{
  background:#faf7fd;
  border:1px solid #e0d4ef;
  border-radius:14px;
  padding:12px 14px;
}
.contact-item strong{
  display:block;
  margin-bottom:4px;
}
.contact-item a{
  color:#5d4380;
  font-weight:700;
  text-decoration:none;
}
.mini-form{
  margin-top:14px;
  padding:14px 16px;
  border-radius:14px;
  background:#faf7fd;
  border:1px solid #e0d4ef;
}
.mini-form p{
  margin:0 0 8px;
  color:#5d5864;
}
.mini-form ul{
  margin:0;
  padding-left:18px;
  color:#5d5864;
}
.mini-form li{margin:4px 0}
@media(max-width:860px){
  .cta-grid{grid-template-columns:1fr}
}


/* M10-style editorial purple blocks */
.editorial-purple{
  position:relative;
  overflow:hidden;
  border-radius:26px;
  border:1px solid rgba(197,155,255,.18);
  background:
    radial-gradient(circle at 78% 18%, rgba(175,110,255,.30), transparent 26%),
    radial-gradient(circle at 18% 72%, rgba(80,38,136,.28), transparent 28%),
    linear-gradient(100deg, #12061f 0%, #241042 42%, #4a2574 100%);
  box-shadow:0 18px 40px rgba(37,16,58,.18);
  padding:28px 28px 24px;
  color:#fff;
}
.editorial-purple:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px),
    linear-gradient(0deg, rgba(255,255,255,.04) 1px, transparent 1px);
  background-size:120px 100%, 100% 120px;
  pointer-events:none;
  opacity:.28;
}
.editorial-purple > *{
  position:relative;
  z-index:1;
}
.editorial-purple .eyebrow{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:0 14px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.08);
  color:#ffd24a;
  font-weight:800;
  font-size:12px;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.editorial-purple h3{
  margin:16px 0 10px;
  color:#ffd24a;
  font-size:38px;
  line-height:1.04;
  font-style:italic;
  font-weight:900;
  letter-spacing:-.02em;
  text-transform:uppercase;
  text-shadow:2px 2px 0 rgba(212,28,141,.9);
}
.editorial-purple p.lead{
  margin:0;
  max-width:900px;
  color:rgba(255,255,255,.92);
  font-size:16px;
  line-height:1.7;
}
.editorial-grid-2{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  margin-top:22px;
}
.editorial-data{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:12px;
  margin-top:20px;
}
.editorial-data .data-card{
  padding:14px 16px;
  border:1px solid rgba(255,255,255,.15);
  border-radius:16px;
  background:rgba(5,3,12,.30);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.03);
}
.editorial-data .data-card span{
  display:block;
  color:#ff4fbe;
  font-size:11px;
  font-weight:800;
  letter-spacing:.05em;
  text-transform:uppercase;
  margin-bottom:6px;
}
.editorial-data .data-card b{
  display:block;
  color:#fff;
  font-size:22px;
  line-height:1.25;
}
.editorial-chips{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:18px;
}
.editorial-chip{
  display:inline-flex;
  align-items:center;
  min-height:46px;
  padding:10px 14px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.15);
  background:rgba(255,255,255,.08);
  color:#fff;
  font-size:14px;
  font-weight:700;
}
.editorial-note{
  margin-top:16px;
  padding:15px 16px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.06);
  color:rgba(255,255,255,.88);
  font-size:14px;
  line-height:1.7;
}

.cta-m10{
  position:relative;
  overflow:hidden;
  border-radius:28px;
  border:1px solid rgba(197,155,255,.18);
  background:
    radial-gradient(circle at 78% 20%, rgba(175,110,255,.28), transparent 26%),
    radial-gradient(circle at 14% 76%, rgba(80,38,136,.26), transparent 28%),
    linear-gradient(100deg, #11051d 0%, #241042 40%, #4a2574 100%);
  box-shadow:0 18px 40px rgba(37,16,58,.18);
  padding:28px;
  color:#fff;
}
.cta-m10:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px),
    linear-gradient(0deg, rgba(255,255,255,.04) 1px, transparent 1px);
  background-size:120px 100%, 100% 120px;
  opacity:.28;
  pointer-events:none;
}
.cta-m10 > *{position:relative; z-index:1;}
.cta-m10 .eyebrow{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:0 14px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.08);
  color:#ffd24a;
  font-weight:800;
  font-size:12px;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.cta-m10 h3{
  margin:16px 0 10px;
  color:#ffd24a;
  font-size:40px;
  line-height:1.05;
  font-style:italic;
  font-weight:900;
  letter-spacing:-.02em;
  text-transform:uppercase;
  text-shadow:2px 2px 0 rgba(212,28,141,.9);
}
.cta-m10 p.lead{
  margin:0;
  max-width:950px;
  color:rgba(255,255,255,.92);
  font-size:16px;
  line-height:1.7;
}
.cta-m10-grid{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:18px;
  margin-top:22px;
}
.cta-m10-box{
  border:1px solid rgba(255,255,255,.14);
  border-radius:18px;
  background:rgba(5,3,12,.26);
  padding:18px;
}
.cta-m10-box h4{
  margin:0 0 10px;
  color:#fff;
  font-size:22px;
}
.cta-m10-box p,
.cta-m10-box li{
  color:rgba(255,255,255,.9);
}
.cta-m10-box ul{
  margin:10px 0 0;
  padding-left:18px;
}
.cta-mini-card{
  border:1px solid rgba(255,255,255,.14);
  border-radius:16px;
  background:rgba(255,255,255,.08);
  padding:14px 16px;
}
.cta-mini-card + .cta-mini-card{
  margin-top:12px;
}
.cta-mini-card strong{
  display:block;
  color:#ff4fbe;
  font-size:12px;
  letter-spacing:.04em;
  text-transform:uppercase;
  margin-bottom:5px;
}
.cta-mini-card a{
  color:#fff;
  font-weight:800;
  text-decoration:none;
}
.cta-m10-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:18px;
}
.cta-m10-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:0 18px;
  border-radius:999px;
  text-decoration:none;
  font-weight:800;
  border:1px solid transparent;
}
.cta-m10-btn.primary{
  background:#fff;
  color:#30154d;
}
.cta-m10-btn.secondary{
  background:transparent;
  color:#fff;
  border-color:rgba(255,255,255,.22);
}
.cta-m10-helper{
  margin-top:14px;
  padding:14px 16px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.06);
}
@media (max-width: 900px){
  .editorial-grid-2,
  .cta-m10-grid{grid-template-columns:1fr}
  .editorial-data{grid-template-columns:1fr}
  .editorial-purple h3,
  .cta-m10 h3{font-size:30px}
}


/* Simple CTA bar - inspired by M10 V3 */
.cta-simple{
  padding:0;
  background:transparent;
  border:none;
  box-shadow:none;
}
.cta-simple-bar{
  display:grid;
  grid-template-columns:1fr auto;
  gap:18px;
  align-items:center;
  padding:18px 22px;
  border-radius:18px;
  border:1px solid #d8c7e6;
  background:
    linear-gradient(180deg,#f8f2fc 0%, #f4edf9 100%);
}
.cta-simple-copy h3{
  margin:0 0 6px;
  font-size:24px;
  line-height:1.32;
  letter-spacing:-.01em;
  color:#2c183e;
  font-weight:750;
  font-style:normal;
  text-transform:none;
  text-shadow:none;
}
.cta-simple-copy p{
  margin:0;
  color:#5e5768;
  font-size:14.5px;
  line-height:1.55;
}
.cta-simple-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  justify-content:flex-end;
}
.cta-simple-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-height:44px;
  padding:0 18px;
  border-radius:12px;
  text-decoration:none;
  font-weight:800;
  border:1px solid #b993d8;
  transition:.2s ease;
}
.cta-simple-btn svg{width:18px;height:18px;flex:none}
@media(min-width:621px){.cta-short{display:none}}
.cta-simple-btn.primary{
  background:linear-gradient(90deg,#7129a8 0%, #c016a5 100%);
  color:#fff;
  border-color:transparent;
}
.cta-simple-btn.secondary{
  background:#fff;
  color:#5e2e86;
}
@media(max-width:860px){
  .cta-simple-bar{grid-template-columns:1fr}
  .cta-simple-actions{justify-content:flex-start}
  .cta-simple-copy h3{font-size:18px}
  .cta-simple-copy p{font-size:13px}
}
@media(max-width:480px){
  .cta-simple-bar{padding:14px 16px}
  .cta-simple-copy h3{font-size:16.5px;line-height:1.3}
  .cta-simple-copy p{font-size:12.5px}
}


.cta-simple-btn.branch{
  background:#f7f1fb;
  color:#5e2e86;
  border-color:#cdb5e2;
}


.photo.has-img:before{
  display:none;
}
.photo img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
