/* =====================================================================
   BẢN MOBILE — dựng lại 100% từ Figma (eHXU9IumILBBTRY2CnxpEj).
   Mỗi section = ảnh graphics export từ Figma (ẩn text) làm nền + chữ THẬT
   overlay tuyệt đối theo đúng toạ độ Figma (giữ SEO). Markup: app/mobile.php.
   Chỉ áp dụng <=768px. KHÔNG đụng desktop (>=769px). --mu = 100vw/1083.
   ===================================================================== */

@font-face{font-family:'HelveticaNeue';font-weight:100;font-style:normal;font-display:swap;src:url('/fonts/dh/hn-thin-dh.woff2') format('woff2')}
@font-face{font-family:'HelveticaNeue';font-weight:300;font-style:normal;font-display:swap;src:url('/fonts/dh/hn-light-dh.woff2') format('woff2')}
@font-face{font-family:'HelveticaNeue';font-weight:400;font-style:normal;font-display:swap;src:url('/fonts/dh/hn-regular-dh.woff2') format('woff2')}
@font-face{font-family:'HelveticaNeue';font-weight:500;font-style:normal;font-display:swap;src:url('/fonts/dh/hn-medium-dh.woff2') format('woff2')}
@font-face{font-family:'BlushingRoseVN';font-weight:400;font-style:normal;font-display:swap;src:url('/fonts/dh/blushing-rose-dh.woff2') format('woff2')}
@font-face{font-family:'Motherland';font-weight:400;font-style:normal;font-display:swap;src:url('/fonts/dh/motherland-400-dh.woff2') format('woff2')}

.rm-mobile{display:none}
@media (min-width:769px){ .rm-mobile{display:none!important} }

@media (max-width:768px){
  :root{ --mu: calc(100vw / 1083); }
  body > *{ display:none !important; }
  body > .rm-mobile{ display:block !important; }
  html,body{ margin:0 !important; padding:0 !important; background:#00160a !important; overflow-x:hidden !important;
    -webkit-text-size-adjust:100% !important; -moz-text-size-adjust:100% !important; text-size-adjust:100% !important; }
  .rm-mobile{ width:100%; background:#00160a;
    -webkit-text-size-adjust:100% !important; text-size-adjust:100% !important; }
  .rm-mobile *{ -webkit-text-size-adjust:100% !important; text-size-adjust:100% !important; }

  .rm-mobile .ms{ position:relative; width:100%; height:calc(1926*var(--mu));
    background:no-repeat center top / 100% 100%; overflow:hidden; margin:0; padding:0; }

  /* text overlay: toạ độ qua CSS var --l/--t/--fs(/--w), còn lại qua class */
  .rm-mobile .mt{ position:absolute; margin:0; padding:0;
    left:calc(var(--l)*var(--mu)); top:calc(var(--t)*var(--mu));
    font-size:calc(var(--fs)*var(--mu)); line-height:1; white-space:nowrap;
    -webkit-font-smoothing:antialiased; }
  .rm-mobile .mt.bk{ white-space:normal; line-height:1.05; width:calc(var(--w)*var(--mu)); }
  /* đoạn mô tả dài (justified) -> line-height 32px như Figma (sz25 -> 1.28) */
  .rm-mobile .mt.bk.aj{ line-height:calc(32*var(--mu)); }
  .rm-mobile .mt.pl{ white-space:pre-line; }
  .rm-mobile .mt.ac{ text-align:center; }
  .rm-mobile .mt.ar{ text-align:right; }
  .rm-mobile .mt.aj{ text-align:justify; }
  /* CĂN GIỮA iOS-SAFE: KHÔNG dùng translateX(-50%) (bug WebKit: % trên absolute width:auto ra ~0 -> mất căn giữa -> title tràn phải).
     Thay bằng flex width:0 — flex căn item (text tràn) quanh điểm neo, không phụ thuộc % transform. Chạy giống nhau mọi máy. */
  .rm-mobile .mt.tc{ width:0; display:flex; justify-content:center; white-space:nowrap; }
  .rm-mobile .mt.tr{ width:0; display:flex; justify-content:flex-end; white-space:nowrap; }
  /* gradient title .gd.tc: outer là flex căn giữa (width:0), gradient đặt trên INNER span .gdi (hộp nền = bề rộng chữ nên
     background-clip:text không mất chữ). Flex căn .gdi quanh điểm neo -> iOS-safe + gradient nguyên vẹn. */
  .rm-mobile .gdi{ display:inline-block; white-space:nowrap; color:transparent !important;
    background:linear-gradient(180deg,#fff7cf 0%,#fff7cf 58%,rgba(255,247,207,.05) 92%,rgba(255,247,207,.05) 100%);
    -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
    padding:0 .5em; margin:0 -.5em; }

  /* tiêu đề trang Tiến độ & Tin tức: viết hoa (yêu cầu CĐT) */
  .rm-mobile[data-mpage="tien-do"] .mt.fb, .rm-mobile[data-mpage="tin-tuc"] .mt.fb{ text-transform:uppercase; }
  .rm-mobile .mt.fm{ font-family:'Motherland',cursive; font-weight:400; }
  .rm-mobile .mt.fb{ font-family:'BlushingRoseVN','Blushing Rose',Georgia,serif; font-weight:400; }
  /* Tiêu đề hiển thị 1 dòng: Figma dùng line-height auto + valign TOP.
     line-height:normal cho khớp hộp chữ tự nhiên của font -> vị trí + khoảng cách đúng thiết kế */
  .rm-mobile .mt.fm:not(.bk){ line-height:normal; }
  .rm-mobile .mt.fb:not(.bk){ line-height:normal; }
  .rm-mobile .mt.fh1{ font-family:'HelveticaNeue','Helvetica Neue',Helvetica,Arial,sans-serif; font-weight:100; }
  .rm-mobile .mt.fh3{ font-family:'HelveticaNeue','Helvetica Neue',Helvetica,Arial,sans-serif; font-weight:300; }
  .rm-mobile .mt.fh4{ font-family:'HelveticaNeue','Helvetica Neue',Helvetica,Arial,sans-serif; font-weight:400; }
  .rm-mobile .mt.fh5{ font-family:'HelveticaNeue','Helvetica Neue',Helvetica,Arial,sans-serif; font-weight:500; }

  /* fade title (script) — gradient DỌC đúng stops Figma: đặc 0→58%, mờ xuống a=0.05 tại 92%.
     padding+margin âm nới hộp nền để background-clip:text không cắt nét chữ script tràn ngoài hộp */
  .rm-mobile .mt.gd{ color:transparent !important;
    background:linear-gradient(180deg,#fff7cf 0%,#fff7cf 58%,rgba(255,247,207,.05) 92%,rgba(255,247,207,.05) 100%);
    -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
    padding:0 .5em; margin:0 -.5em; }
  /* grad title căn giữa (translateX): bỏ margin âm để không lệch tâm (padding vẫn phủ nét swash) */
  .rm-mobile .mt.gd.tc{ margin:0; }

  /* ---- lớp tương tác (trong suốt, đè lên graphics) ---- */
  .rm-mobile .mln,.rm-mobile .mmenu,.rm-mobile .mfin,.rm-mobile .mbtn{
    position:absolute; left:calc(var(--l)*var(--mu)); top:calc(var(--t)*var(--mu));
    width:calc(var(--w)*var(--mu)); height:calc(var(--h)*var(--mu)); z-index:6; }
  .rm-mobile .mln{ display:block; }
  .rm-mobile .mmenu,.rm-mobile .mbtn{ background:transparent; border:0; padding:0; cursor:pointer; -webkit-appearance:none; appearance:none; }
  .rm-mobile .mform{ position:absolute; inset:0; z-index:6; margin:0; }
  .rm-mobile .mfin{ background:transparent; border:0; outline:0; margin:0; color:#fef7d3;
    font-family:'HelveticaNeue','Helvetica Neue',Arial,sans-serif; font-weight:300;
    font-size:calc(28*var(--mu)); line-height:1; -webkit-appearance:none; appearance:none; resize:none; }
  .rm-mobile .mfin::placeholder{ color:transparent; }

  /* ---- header cố định (freeze khi scroll) ---- */
  .rm-mhdr{ position:fixed; top:0; left:0; width:100%; height:calc(150*var(--mu)); z-index:120;
    display:flex; align-items:center; justify-content:space-between;
    padding:0 calc(60*var(--mu)); box-sizing:border-box;
    background:rgba(0,22,10,.28); -webkit-backdrop-filter:blur(calc(18*var(--mu))); backdrop-filter:blur(calc(18*var(--mu))); }
  .rm-mlogo{ display:flex; align-items:center; text-decoration:none; color:#d8b36a;
    font-family:'BlushingRoseVN',serif; font-size:calc(40*var(--mu)); letter-spacing:.08em; }
  .rm-mlogo img{ height:calc(82*var(--mu)); width:auto; display:block; }
  .rm-mburg{ background:transparent; border:0; padding:calc(10*var(--mu)); display:flex; flex-direction:column;
    gap:calc(16*var(--mu)); cursor:pointer; -webkit-appearance:none; }
  .rm-mburg span{ display:block; width:calc(72*var(--mu)); height:calc(7*var(--mu)); border-radius:calc(4*var(--mu));
    background:#fff7cf; }

  /* ---- social nổi: 1 nút gộp, click mới xổ icon (slide) — như PC ---- */
  .rm-msoc{ position:fixed; right:calc(30*var(--mu)); bottom:calc(130*var(--mu)); z-index:110;
    width:calc(104*var(--mu)); height:calc(104*var(--mu)); }
  .rm-msoc-tg{ position:absolute; inset:0; width:100%; height:100%; border-radius:50%;
    border:0; cursor:pointer; padding:0; overflow:hidden;
    background:url('/assets/contact/sb-frame.png') center/cover no-repeat;  /* viền tròn TĨNH */
    box-shadow:0 calc(6*var(--mu)) calc(18*var(--mu)) rgba(0,0,0,.4); }
  .rm-msoc-track{ display:flex; height:100%; width:max-content; }       /* chỉ symbol lướt bên trong */
  .rm-msoc-track img{ flex:0 0 calc(104*var(--mu)); display:block; width:calc(104*var(--mu)); height:calc(104*var(--mu));
    padding:calc(30*var(--mu)); box-sizing:border-box; object-fit:contain; }  /* symbol nhỏ lại, hở viền */
  .rm-msoc-x{ position:absolute; inset:0; display:none; align-items:center; justify-content:center;
    background:rgba(10,30,18,.45); border-radius:50%; color:#fff7cf; font-size:calc(66*var(--mu)); line-height:1; }
  .rm-msoc.open .rm-msoc-track{ display:none; }
  .rm-msoc.open .rm-msoc-x{ display:flex; }
  .rm-msoc-list{ position:absolute; right:calc(4*var(--mu)); bottom:calc(100% + 22*var(--mu));
    display:flex; flex-direction:column; align-items:center; gap:calc(22*var(--mu)); }
  .rm-msoc-list a{ display:block; width:calc(96*var(--mu)); height:calc(96*var(--mu));
    opacity:0; transform:translateY(calc(40*var(--mu))) scale(.3); pointer-events:none;
    transition:opacity .28s ease, transform .28s cubic-bezier(.2,.9,.3,1.2); }
  .rm-msoc-list img{ width:100%; height:100%; display:block; }
  .rm-msoc.open .rm-msoc-list a{ opacity:1; transform:none; pointer-events:auto; }
  .rm-msoc.open .rm-msoc-list a:nth-child(4){ transition-delay:0s; }
  .rm-msoc.open .rm-msoc-list a:nth-child(3){ transition-delay:.05s; }
  .rm-msoc.open .rm-msoc-list a:nth-child(2){ transition-delay:.1s; }
  .rm-msoc.open .rm-msoc-list a:nth-child(1){ transition-delay:.15s; }

  /* ---- drawer menu ---- */
  /* drawer thu gọn: panel trượt từ phải, có logo + backdrop */
  .rm-mdback{ position:fixed; inset:0; background:rgba(0,10,5,.5); z-index:9998; opacity:0; visibility:hidden; transition:opacity .3s; }
  .rm-mdback.open{ opacity:1; visibility:visible; }
  .rm-mdrawer{ position:fixed; top:0; right:0; height:100%; width:min(76vw, calc(760*var(--mu))); background:#012A17; z-index:9999;
    display:flex; flex-direction:column; transform:translateX(100%); transition:transform .32s cubic-bezier(.4,0,.2,1);
    box-shadow:calc(-10*var(--mu)) 0 calc(40*var(--mu)) rgba(0,0,0,.45); }
  .rm-mdrawer.open{ transform:translateX(0); }
  .rm-mdtop{ display:flex; align-items:center; justify-content:space-between; padding:calc(40*var(--mu)) calc(50*var(--mu));
    border-bottom:1px solid rgba(255,247,207,.18); }
  .rm-mdlogo img{ height:calc(90*var(--mu)); width:auto; display:block; }
  .rm-mdlogo{ color:#fff7cf; font-family:'BlushingRoseVN',serif; font-size:calc(40*var(--mu)); letter-spacing:.08em; text-decoration:none; }
  .rm-mdx{ background:transparent; border:0; color:#fff7cf; font-size:calc(80*var(--mu)); line-height:1; padding:0 calc(6*var(--mu)); cursor:pointer; }
  .rm-mdnav{ display:flex; flex-direction:column; gap:calc(16*var(--mu)); padding:calc(40*var(--mu)) calc(50*var(--mu)); overflow-y:auto; }
  .rm-mdnav a{ color:#fff7cf; text-decoration:none; font-family:'BlushingRoseVN','Blushing Rose',serif;
    font-size:calc(48*var(--mu)); letter-spacing:.02em; text-transform:uppercase; padding:calc(18*var(--mu)) 0;
    border-bottom:1px solid rgba(255,247,207,.1); }

  /* ---- popup Liên hệ (= section S11 trang chủ) ---- */
  .rm-mpopup{ position:fixed; inset:0; z-index:9998; display:none; background:#00160a; }
  .rm-mpopup.open{ display:block; }
  .rm-mpop-sc{ position:absolute; inset:0; overflow-y:auto; -webkit-overflow-scrolling:touch; }
  .rm-mpop-sc .ms{ overflow:visible; }
  .rm-mpx{ position:fixed; top:calc(40*var(--mu)); right:calc(50*var(--mu)); z-index:2;
    background:transparent; border:0; color:#fff7cf; font-size:calc(96*var(--mu)); line-height:1; }

  /* ---- Slider ảnh (swipe + dots) đè lên vùng ảnh baked ---- */
  .rm-mobile .rm-sld{ position:absolute; left:calc(var(--l)*var(--mu)); top:calc(var(--t)*var(--mu));
    width:calc(var(--w)*var(--mu)); height:calc(var(--h)*var(--mu)); overflow:hidden; z-index:4; }
  .rm-sld-tr{ display:flex; height:100%; transition:transform .55s cubic-bezier(.22,.61,.36,1); will-change:transform; backface-visibility:hidden; }
  .rm-sld-s{ flex:0 0 100%; height:100%; }
  .rm-sld-s img{ width:100%; height:100%; object-fit:cover; display:block; }
  .rm-sld-dots{ position:absolute; left:0; right:0; top:calc(var(--t)*var(--mu));
    display:flex; justify-content:center; gap:calc(16*var(--mu)); z-index:5; }
  .rm-sld-dot{ width:calc(20*var(--mu)); height:calc(20*var(--mu)); border-radius:50%; border:0; padding:0;
    background:rgba(255,247,207,.4); }
  .rm-sld-dot.on{ background:#fff7cf; }
  .rm-sld-arr{ position:absolute; left:calc(var(--l)*var(--mu)); top:calc(var(--t)*var(--mu));
    width:calc(var(--w)*var(--mu)); height:calc(var(--h)*var(--mu)); z-index:6; cursor:pointer; -webkit-appearance:none;
    display:flex; align-items:center; justify-content:center; color:#fff7cf; font-size:calc(40*var(--mu)); line-height:1;
    background:rgba(10,30,18,.3); border:1px solid rgba(255,247,207,.5); border-radius:50%; padding:0; }

  /* ---- S7 "12 giá trị" coverflow (ảnh + số đè + caption đồng bộ) ---- */
  .rm-mobile .rm-vsld{ position:absolute; left:calc(var(--l)*var(--mu)); top:calc(var(--t)*var(--mu));
    width:calc(var(--w)*var(--mu)); height:calc(var(--h)*var(--mu)); overflow:hidden; z-index:4; }
  .rm-vsld-tr{ display:flex; gap:calc(34*var(--mu)); height:100%; transition:transform .55s cubic-bezier(.22,.61,.36,1); will-change:transform; backface-visibility:hidden; }
  .rm-vsld-c{ position:relative; flex:0 0 calc(762*var(--mu)); height:100%; border-radius:calc(14*var(--mu)); overflow:hidden; }
  .rm-vsld-c img{ width:100%; height:100%; object-fit:cover; display:block; }
  .rm-vsld-n{ position:absolute; left:calc(50*var(--mu)); top:calc(14*var(--mu));
    font-family:'HelveticaNeue','Helvetica Neue',Helvetica,Arial,sans-serif; font-weight:300;
    font-size:calc(139*var(--mu)); line-height:1; color:#fef7d3; opacity:.5; text-shadow:0 calc(2*var(--mu)) calc(14*var(--mu)) rgba(0,0,0,.35); }
  .rm-vsld-cap{ position:absolute; left:calc(var(--l)*var(--mu)); top:calc(var(--t)*var(--mu));
    width:calc(var(--w)*var(--mu)); z-index:5; text-align:center; color:#fef7d3;
    font-family:'HelveticaNeue','Helvetica Neue',Helvetica,Arial,sans-serif; font-weight:300;
    font-size:calc(41.67*var(--mu)); line-height:1.25; }
  .rm-vsld-cap .rm-vcap{ display:none; white-space:nowrap; }
  .rm-vsld-cap .rm-vcap.on{ display:block; }
  .rm-vsld-arr{ position:absolute; left:calc(var(--l)*var(--mu)); top:calc(var(--t)*var(--mu));
    width:calc(var(--w)*var(--mu)); height:calc(var(--h)*var(--mu)); z-index:6; cursor:pointer; -webkit-appearance:none;
    display:flex; align-items:center; justify-content:center; color:#fff7cf; font-size:calc(40*var(--mu)); line-height:1;
    background:rgba(10,30,18,.3); border:1px solid rgba(255,247,207,.5); border-radius:50%; }

  /* ---- S8 "Mặt bằng căn hộ" (chọn tháp + tầng) ---- */
  .rm-mobile .rm-mb-pills{ position:absolute; left:calc(var(--l)*var(--mu)); top:calc(var(--t)*var(--mu));
    width:calc(var(--w)*var(--mu)); display:flex; justify-content:center; gap:calc(32*var(--mu)); z-index:6; }
  .rm-mb-pill{ font-family:'HelveticaNeue','Helvetica Neue',Arial,sans-serif; font-weight:300;
    font-size:calc(25*var(--mu)); color:#fff7cf; background:transparent; cursor:pointer;
    border:1px solid rgba(255,247,207,.45); border-radius:calc(30*var(--mu));
    padding:calc(8*var(--mu)) calc(28*var(--mu)); white-space:nowrap; -webkit-appearance:none; }
  .rm-mb-pill.on{ background:rgba(255,247,207,.16); border-color:#fff7cf; }
  .rm-mobile .rm-mb-base{ position:absolute; left:calc(var(--l)*var(--mu)); top:calc(var(--t)*var(--mu));
    width:calc(var(--w)*var(--mu)); height:calc(var(--h)*var(--mu)); z-index:4; border-radius:calc(12*var(--mu)); overflow:hidden; }
  .rm-mb-img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:none; }
  .rm-mb-img.on{ display:block; }
  .rm-mobile .rm-mb-hint{ position:absolute; left:calc(var(--l)*var(--mu)); top:calc(var(--t)*var(--mu));
    width:calc(var(--w)*var(--mu)); text-align:center; z-index:5; color:#fff7cf;
    font-family:'HelveticaNeue','Helvetica Neue',Arial,sans-serif; font-weight:300; font-size:calc(25*var(--mu)); }
  .rm-mobile .rm-mb-wrap{ position:absolute; left:calc(var(--l)*var(--mu)); top:calc(var(--t)*var(--mu));
    width:calc(var(--w)*var(--mu)); height:calc(var(--h)*var(--mu)); z-index:5; }
  .rm-mb-floors{ display:none; flex-direction:column; justify-content:space-between; height:100%; }
  .rm-mb-floors.on{ display:flex; }
  .rm-mb-row{ display:flex; align-items:center; justify-content:space-between; width:100%;
    background:transparent; border:0; border-bottom:1px solid rgba(255,247,207,.3);
    padding:0 0 calc(16*var(--mu)); color:#fff7cf; cursor:pointer; -webkit-appearance:none; }
  .rm-mb-lab{ font-family:'HelveticaNeue','Helvetica Neue',Arial,sans-serif; font-weight:300; font-size:calc(25*var(--mu)); }
  .rm-mb-arr{ flex:0 0 auto; width:calc(58*var(--mu)); height:calc(58*var(--mu)); border:1px solid rgba(255,247,207,.6);
    border-radius:50%; display:flex; align-items:center; justify-content:center; color:#fff7cf; padding:calc(15*var(--mu)); box-sizing:border-box; }
  /* ---- HOME S10: slider Đối tác quốc tế (logo + nhãn, tự lướt 2s) ---- */
  .rm-mobile .rm-pt{ position:absolute; left:calc(var(--l)*var(--mu)); top:calc(var(--t)*var(--mu));
    width:calc(var(--w)*var(--mu)); height:calc(var(--h)*var(--mu)); overflow:hidden; z-index:4; }
  .rm-pt-tr{ display:flex; height:100%; transition:transform .6s cubic-bezier(.22,.61,.36,1); will-change:transform; backface-visibility:hidden; }
  .rm-pt-s{ flex:0 0 calc(361*var(--mu)); height:100%; display:flex; flex-direction:column; align-items:center; justify-content:flex-start;
    padding:calc(10*var(--mu)) calc(18*var(--mu)) 0; box-sizing:border-box; }
  .rm-pt-logo{ height:calc(115*var(--mu)); display:flex; align-items:center; justify-content:center; }
  .rm-pt-logo img{ max-width:calc(210*var(--mu)); max-height:calc(105*var(--mu)); width:auto; height:auto; object-fit:contain; display:block; }
  .rm-pt-lab{ margin-top:calc(22*var(--mu)); text-align:center; color:#fff7cf; text-transform:uppercase;
    font-family:'HelveticaNeue','Helvetica Neue',Arial,sans-serif; font-weight:300; font-size:calc(25*var(--mu)); line-height:1.25; }

  .rm-mobile .rm-glex{ position:absolute; left:calc(var(--l)*var(--mu)); top:calc(var(--t)*var(--mu));
    width:calc(var(--w)*var(--mu)); height:auto; z-index:5; }

  /* ---- HOME S5: bản đồ (maps.png) nền đặc + nút Google Maps ---- */
  .rm-mobile .ms.ms-s5{ height:calc(1683*var(--mu)); }
  /* Khung crop: cắt phần trắng trên cùng ảnh (--ct px). overflow:hidden; ảnh + hiệu ứng dời lên cùng -ct nên giữ đúng hiệu ứng. */
  .rm-mobile .rm-map5crop{ position:absolute; left:calc(var(--l)*var(--mu)); top:calc(var(--t)*var(--mu));
    width:calc(var(--w)*var(--mu)); height:calc(var(--h)*var(--mu)); overflow:hidden; z-index:0; }
  .rm-mobile .rm-map5crop .rm-map5{ position:absolute; left:0; top:calc(var(--ct)*var(--mu)*-1);
    width:calc(1083*var(--mu)); height:auto; z-index:0; }
  .rm-mobile .rm-map5crop .rm-map5fx{ position:absolute; left:0; top:calc(var(--ct)*var(--mu)*-1);
    width:calc(1083*var(--mu)); height:calc(1570*var(--mu)); z-index:1; pointer-events:none; }
  .rm-mobile .rm-map5fx svg{ width:100%; height:100%; display:block; overflow:visible; }
  .rm-mobile .rm-map5-btn{ position:absolute; left:calc(var(--l)*var(--mu)); top:calc(var(--t)*var(--mu));
    width:calc(var(--w)*var(--mu)); height:calc(var(--h)*var(--mu)); z-index:6; cursor:pointer;
    border:1px solid rgba(255,247,207,.55); border-radius:calc(30*var(--mu)); background:rgba(0,22,10,.35); }

  /* ---- HOME S10: Đối tác quốc tế (chỉ tiêu đề + slider), section gọn ---- */
  .rm-mobile .ms.ms-s10{ height:calc(674*var(--mu)); }

  /* ---- S11: form liên hệ + footer (Figma 148:8) ---- */
  .rm-mobile .rm-s11-panel,.rm-mobile .rm-s11-logos,.rm-mobile .rm-s11-soc{
    position:absolute; left:calc(var(--l)*var(--mu)); top:calc(var(--t)*var(--mu));
    width:calc(var(--w)*var(--mu)); height:calc(var(--h)*var(--mu)); }
  .rm-mobile .rm-s11-panel{ z-index:0; }
  .rm-mobile .rm-s11-logos,.rm-mobile .rm-s11-soc{ z-index:1; }
  /* khung form Liên hệ vẽ bằng CSS (Figma 148:11): hộp bo góc + 4 underline */
  .rm-mobile .rm-s11-box{ position:absolute; left:calc(var(--l)*var(--mu)); top:calc(var(--t)*var(--mu));
    width:calc(var(--w)*var(--mu)); height:calc(var(--h)*var(--mu)); background:#0a281a;
    border-radius:0; z-index:0; }
  .rm-mobile .rm-s11-line{ position:absolute; left:calc(var(--l)*var(--mu)); top:calc(var(--t)*var(--mu));
    width:calc(var(--w)*var(--mu)); height:1px; background:rgba(254,247,211,.45); z-index:1; }
  .rm-mobile .rm-s11-sendbox{ position:absolute; left:calc(var(--l)*var(--mu)); top:calc(var(--t)*var(--mu));
    width:calc(var(--w)*var(--mu)); height:calc(var(--h)*var(--mu)); border:1px solid rgba(254,247,211,.55);
    border-radius:calc(var(--h)*var(--mu)/2); z-index:1; }
  .rm-mobile .rm-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; }
  .rm-mobile .ms.ms-s11{ height:calc(1110*var(--mu)); } /* 11/2026: chỉ còn form; footer mới = footer.rmft2 */
  .rm-mobile .ms-s11 .mt{ z-index:3; }

  /* ---- TIỆN ÍCH S3: slider 2 ảnh/trang ---- */
  .rm-mobile .rm-ti3{ position:absolute; left:calc(var(--l)*var(--mu)); top:calc(var(--t)*var(--mu));
    width:calc(var(--w)*var(--mu)); height:calc(var(--h)*var(--mu)); overflow:hidden; z-index:4; }
  .rm-ti3-tr{ display:flex; height:100%; transition:transform .55s cubic-bezier(.22,.61,.36,1); will-change:transform; backface-visibility:hidden; }
  .rm-ti3-pg{ position:relative; flex:0 0 100%; height:100%; }
  .rm-ti3-cell{ position:absolute; left:calc(var(--l)*var(--mu)); top:calc(var(--t)*var(--mu));
    width:calc(var(--w)*var(--mu)); height:calc(var(--h)*var(--mu)); border-radius:calc(10*var(--mu)); overflow:hidden; }
  .rm-ti3-cell img{ width:100%; height:100%; object-fit:cover; display:block; }
  .rm-ti3-cap{ position:absolute; left:0; right:0; top:calc(var(--t)*var(--mu)); text-align:center; color:#fef7d3;
    font-family:'HelveticaNeue','Helvetica Neue',Arial,sans-serif; font-weight:300; font-size:calc(25*var(--mu)); }
  .rm-ti3-arr{ position:absolute; left:calc(var(--l)*var(--mu)); top:calc(var(--t)*var(--mu));
    width:calc(var(--w)*var(--mu)); height:calc(var(--h)*var(--mu)); z-index:6; cursor:pointer;
    display:flex; align-items:center; justify-content:center; color:#fff7cf; font-size:calc(60*var(--mu)); line-height:1;
    background:rgba(10,30,18,.3); border:1px solid rgba(255,247,207,.45); border-radius:50%; -webkit-appearance:none; }
  .rm-ti3-dots{ position:absolute; left:0; right:0; top:calc(var(--t)*var(--mu)); display:flex; justify-content:center; gap:calc(14*var(--mu)); z-index:5; }
  .rm-ti3-dot{ width:calc(14*var(--mu)); height:calc(14*var(--mu)); border-radius:50%; border:0; padding:0; background:rgba(255,247,207,.4); }
  .rm-ti3-dot.on{ background:#fff7cf; }

  /* ---- Lightbox mặt bằng chi tiết ---- */
  .rm-imgpop{ position:fixed; inset:0; z-index:200; background:rgba(0,10,5,.92); display:none;
    align-items:center; justify-content:center; padding:calc(40*var(--mu)); }
  .rm-imgpop.open{ display:flex; }
  .rm-imgpop img{ max-width:96%; max-height:82%; object-fit:contain; border-radius:calc(8*var(--mu)); }
  .rm-imgcap{ position:absolute; top:calc(70*var(--mu)); left:0; right:0; text-align:center; color:#fff7cf;
    font-family:'HelveticaNeue','Helvetica Neue',Arial,sans-serif; font-weight:300; font-size:calc(34*var(--mu)); }
  .rm-imgx{ position:absolute; top:calc(60*var(--mu)); right:calc(50*var(--mu)); width:calc(80*var(--mu)); height:calc(80*var(--mu));
    background:rgba(255,247,207,.12); border:0; border-radius:50%; color:#fff7cf; font-size:calc(50*var(--mu)); line-height:1; cursor:pointer; z-index:2; }

  /* ---- SẢN PHẨM S2: slider loại phòng ---- */
  .rm-mobile .rm-rm{ position:absolute; left:calc(var(--l)*var(--mu)); top:calc(var(--t)*var(--mu));
    width:calc(var(--w)*var(--mu)); height:calc(var(--h)*var(--mu)); overflow:hidden; z-index:4; border-radius:calc(10*var(--mu)); }
  .rm-rm-tr{ display:flex; height:100%; transition:transform .55s cubic-bezier(.22,.61,.36,1); will-change:transform; backface-visibility:hidden; }
  .rm-rm-s{ flex:0 0 100%; height:100%; }
  .rm-rm-s img{ width:100%; height:100%; object-fit:cover; display:block; }
  .rm-mobile .rm-rm-lab{ position:absolute; left:calc(var(--l)*var(--mu)); top:calc(var(--t)*var(--mu));
    width:calc(var(--w)*var(--mu)); text-align:center; z-index:5; }
  .rm-rm-l{ display:none; font-family:'HelveticaNeue','Helvetica Neue',Arial,sans-serif; font-weight:400;
    font-size:calc(27.7*var(--mu)); letter-spacing:.04em; color:#fff7cf; text-transform:uppercase; }
  .rm-rm-l.on{ display:block; }
  .rm-rm-btn{ position:absolute; left:calc(var(--l)*var(--mu)); top:calc(var(--t)*var(--mu));
    width:calc(var(--w)*var(--mu)); height:calc(var(--h)*var(--mu)); z-index:6; cursor:pointer;
    background:transparent; border:1px solid rgba(255,247,207,.55); border-radius:calc(30*var(--mu));
    color:#fff7cf; font-family:'HelveticaNeue','Helvetica Neue',Arial,sans-serif; font-weight:300; font-size:calc(25*var(--mu)); }
  .rm-rm-arr{ position:absolute; left:calc(var(--l)*var(--mu)); top:calc(var(--t)*var(--mu));
    width:calc(96*var(--mu)); height:calc(96*var(--mu)); margin-left:calc(-18*var(--mu)); margin-top:calc(-18*var(--mu)); z-index:6; cursor:pointer;
    display:flex; align-items:center; justify-content:center; color:#fff7cf; font-size:calc(66*var(--mu)); line-height:1;
    background:rgba(10,30,18,.3); border:1px solid rgba(255,247,207,.45); border-radius:50%; -webkit-appearance:none; }
  /* ---- SẢN PHẨM S3: slider thẻ tiêu chuẩn ---- */
  .rm-mobile .rm-std{ position:absolute; left:calc(var(--l)*var(--mu)); top:calc(var(--t)*var(--mu));
    width:calc(var(--w)*var(--mu)); height:calc(var(--h)*var(--mu)); overflow:hidden; z-index:4; border-radius:calc(10*var(--mu)); }
  .rm-std-tr{ display:flex; height:100%; transition:transform .55s cubic-bezier(.22,.61,.36,1); will-change:transform; backface-visibility:hidden; }
  .rm-std-s{ flex:0 0 100%; height:100%; }
  .rm-std-s img{ width:100%; height:100%; object-fit:cover; display:block; }
  .rm-std-c{ display:none; }
  .rm-std-c.on{ display:block; }
  .rm-mobile .rm-std-t{ position:absolute; left:calc(var(--l)*var(--mu)); top:calc(var(--t)*var(--mu));
    width:calc(var(--w)*var(--mu)); z-index:5; color:#fef7d3;
    font-family:'BlushingRoseVN','Blushing Rose',Georgia,serif; font-weight:400; font-size:calc(36.1*var(--mu)); white-space:nowrap; }
  .rm-mobile .rm-std-d{ position:absolute; left:calc(var(--l)*var(--mu)); top:calc(var(--t)*var(--mu));
    width:calc(var(--w)*var(--mu)); z-index:5; color:#fef7d3; line-height:calc(32*var(--mu)); text-align:justify;
    font-family:'HelveticaNeue','Helvetica Neue',Arial,sans-serif; font-weight:300; font-size:calc(25*var(--mu)); }
  .rm-std-arr{ position:absolute; left:calc(var(--l)*var(--mu)); top:calc(var(--t)*var(--mu));
    width:calc(var(--w)*var(--mu)); height:calc(var(--h)*var(--mu)); z-index:6; cursor:pointer;
    display:flex; align-items:center; justify-content:center; color:#fef7d3;
    background:transparent; border:1px solid rgba(254,247,211,.6); border-radius:50%; -webkit-appearance:none; }
  /* ---- Nav mũi tên trong lightbox gallery ---- */
  .rm-imgnav{ position:absolute; top:50%; transform:translateY(-50%); width:calc(96*var(--mu)); height:calc(96*var(--mu));
    display:flex; align-items:center; justify-content:center; box-sizing:border-box;
    background:rgba(10,30,18,.4); border:1px solid rgba(255,247,207,.45); border-radius:50%; color:#fff7cf;
    font-size:calc(60*var(--mu)); line-height:1; cursor:pointer; z-index:2; -webkit-appearance:none; padding:0; }
  .rm-imgnav.prev{ left:calc(24*var(--mu)); }
  .rm-imgnav.next{ right:calc(24*var(--mu)); }

  /* ---- TIẾN ĐỘ: danh sách cập nhật ---- */
  .rm-mobile .rm-td{ position:absolute; left:calc(var(--l)*var(--mu)); top:calc(var(--t)*var(--mu));
    width:calc(var(--w)*var(--mu)); z-index:4; }
  .rm-td-card{ display:block; width:100%; margin:0 0 calc(140*var(--mu)); text-decoration:none; }
  .rm-td-card img{ width:100%; height:calc(369*var(--mu)); object-fit:cover; border-radius:calc(10*var(--mu)); display:block; }
  .rm-td-cap{ width:100%; margin:calc(-55*var(--mu)) 0 0; position:relative; background:#f6efc9; box-sizing:border-box;
    border-radius:calc(6*var(--mu)); padding:calc(38*var(--mu)) calc(30*var(--mu)) calc(34*var(--mu)); text-align:center; }
  .rm-td-t{ font-family:'BlushingRoseVN','Blushing Rose',Georgia,serif; font-weight:400; font-size:calc(41.7*var(--mu));
    color:#041d00; margin:0 0 calc(24*var(--mu)); line-height:1.15; }
  .rm-td-btn{ display:inline-block; border:1px solid rgba(17,40,0,.5); border-radius:calc(30*var(--mu));
    padding:calc(9*var(--mu)) calc(28*var(--mu)); font-family:'HelveticaNeue','Helvetica Neue',Arial,sans-serif; font-weight:300;
    font-size:calc(25*var(--mu)); color:#112800; }

  /* ---- THƯ VIỆN: tiêu đề đổi theo tab + coverflow album + slider video ---- */
  .rm-mobile .rm-tv-title{ position:absolute; left:0; right:0; top:calc(var(--t)*var(--mu)); z-index:5; text-align:center;
    color:#fff7cf; font-family:'BlushingRoseVN','Blushing Rose',Georgia,serif; font-weight:400; font-size:calc(83.3*var(--mu)); white-space:nowrap; }
  .rm-tv-tab{ position:absolute; left:calc(var(--l)*var(--mu)); top:calc(var(--t)*var(--mu));
    width:calc(var(--w)*var(--mu)); height:calc(var(--h)*var(--mu)); z-index:6; cursor:pointer;
    background:transparent; border:1px solid rgba(255,247,207,.45); border-radius:calc(30*var(--mu)); color:#fff7cf;
    font-family:'HelveticaNeue','Helvetica Neue',Arial,sans-serif; font-weight:300; font-size:calc(25*var(--mu)); -webkit-appearance:none; }
  .rm-tv-tab.on{ background:rgba(255,247,207,.16); border-color:#fff7cf; }
  .rm-tv-pane[hidden]{ display:none; }
  .rm-mobile .rm-tv-sld{ position:absolute; left:calc(var(--l)*var(--mu)); top:calc(var(--t)*var(--mu));
    width:calc(946*var(--mu)); height:calc(1092*var(--mu)); overflow:hidden; z-index:4; }
  .rm-tv-tr{ display:flex; gap:calc(16*var(--mu)); height:100%; transition:transform .55s cubic-bezier(.22,.61,.36,1); will-change:transform; backface-visibility:hidden; }
  .rm-tv-s{ position:relative; flex:0 0 calc(636*var(--mu)); height:100%; border-radius:calc(10*var(--mu)); overflow:hidden; cursor:pointer; }
  .rm-tv-s img{ width:100%; height:100%; object-fit:cover; display:block; }
  .rm-tv-s::after{ content:""; position:absolute; left:0; right:0; bottom:0; height:40%; pointer-events:none;
    background:linear-gradient(180deg,rgba(0,15,8,0) 0%,rgba(0,15,8,.78) 100%); }
  .rm-tv-name{ position:absolute; left:calc(43*var(--mu)); bottom:calc(72*var(--mu)); z-index:2; color:#fef7d3; text-transform:uppercase;
    font-family:'HelveticaNeue','Helvetica Neue',Arial,sans-serif; font-weight:300; font-size:calc(33.3*var(--mu));
    text-shadow:0 calc(2*var(--mu)) calc(10*var(--mu)) rgba(0,0,0,.7); }
  .rm-tv-dots,.rm-tv-vdots{ position:absolute; left:0; right:0; top:calc(var(--t)*var(--mu)); display:flex; justify-content:center; gap:calc(14*var(--mu)); z-index:5; }
  .rm-tv-dot{ width:calc(14*var(--mu)); height:calc(14*var(--mu)); border-radius:50%; border:0; padding:0; background:rgba(255,247,207,.4); }
  .rm-tv-dot.on{ background:#fff7cf; }
  .rm-tv-arr,.rm-tv-varr{ position:absolute; left:calc(var(--l)*var(--mu)); top:calc(var(--t)*var(--mu));
    width:calc(var(--w)*var(--mu)); height:calc(var(--h)*var(--mu)); z-index:6; cursor:pointer;
    display:flex; align-items:center; justify-content:center; color:#fff7cf; font-size:calc(60*var(--mu)); line-height:1;
    background:rgba(10,30,18,.3); border:1px solid rgba(255,247,207,.45); border-radius:50%; -webkit-appearance:none; }
  /* video slider */
  .rm-mobile .rm-tv-vsld{ position:absolute; left:calc(var(--l)*var(--mu)); top:calc(var(--t)*var(--mu));
    width:calc(946*var(--mu)); height:calc(532*var(--mu)); overflow:hidden; z-index:4; border-radius:calc(10*var(--mu)); }
  .rm-tv-vtr{ display:flex; height:100%; transition:transform .55s cubic-bezier(.22,.61,.36,1); will-change:transform; backface-visibility:hidden; }
  .rm-tv-vs{ flex:0 0 100%; height:100%; }
  .rm-tv-vid{ position:relative; display:block; width:100%; height:100%; border:0; padding:0; background:#000; cursor:pointer; -webkit-appearance:none; }
  .rm-tv-vid img{ width:100%; height:100%; object-fit:cover; display:block; }
  .rm-tv-play{ position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
    width:calc(120*var(--mu)); height:calc(120*var(--mu)); border-radius:50%; background:rgba(0,0,0,.45); }
  .rm-tv-play::before{ content:""; position:absolute; left:54%; top:50%; transform:translate(-50%,-50%);
    border-style:solid; border-width:calc(22*var(--mu)) 0 calc(22*var(--mu)) calc(36*var(--mu)); border-color:transparent transparent transparent #fff; }
  .rm-mobile .rm-tv-vcap{ position:absolute; left:calc(var(--l)*var(--mu)); top:calc(var(--t)*var(--mu)); width:calc(var(--w)*var(--mu)); z-index:5; text-align:center; }
  .rm-tv-vc{ display:none; color:#fef7d3; font-family:'HelveticaNeue','Helvetica Neue',Arial,sans-serif; font-weight:300; font-size:calc(30*var(--mu)); line-height:1.35; }
  .rm-tv-vc.on{ display:block; }

  /* ---- TIN TỨC: tìm kiếm + lọc + slider ---- */
  .rm-mobile .rm-nt-search{ position:absolute; left:calc(var(--l)*var(--mu)); top:calc(var(--t)*var(--mu));
    width:calc(var(--w)*var(--mu)); height:calc(var(--h)*var(--mu)); z-index:40; }
  .rm-nt-search input{ display:block; width:100%; height:100%; box-sizing:border-box; background:rgba(255,255,255,.06);
    border:1px solid rgba(254,247,211,.4); border-radius:calc(30*var(--mu)); color:#fef7d3; padding:0 calc(52*var(--mu)) 0 calc(32*var(--mu));
    font-family:'HelveticaNeue','Helvetica Neue',Arial,sans-serif; font-weight:300; font-size:calc(25*var(--mu)); -webkit-appearance:none; text-align:left; }
  .rm-nt-search input::placeholder{ color:rgba(254,247,211,.65); }
  .rm-mobile .rm-nt-mag{ position:absolute; right:calc(31*var(--mu)); top:0; bottom:0; margin:auto 0; width:calc(27*var(--mu)); height:calc(27*var(--mu)); color:rgba(254,247,211,.7); pointer-events:none; z-index:2; }
  .rm-nt-tab{ position:absolute; left:calc(var(--l)*var(--mu)); top:calc(var(--t)*var(--mu));
    width:calc(var(--w)*var(--mu)); height:calc(var(--h)*var(--mu)); z-index:6; cursor:pointer;
    background:transparent; border:1px solid rgba(254,247,211,.4); border-radius:calc(30*var(--mu)); color:#fef7d3;
    font-family:'HelveticaNeue','Helvetica Neue',Arial,sans-serif; font-weight:300; font-size:calc(25*var(--mu)); -webkit-appearance:none; }
  .rm-nt-tab.on{ background:rgba(254,247,211,.16); border-color:#fef7d3; }
  .rm-mobile .rm-nt{ position:absolute; left:calc(var(--l,105)*var(--mu)); top:calc(var(--t,717)*var(--mu));
    width:calc(var(--w,874)*var(--mu)); height:calc(var(--h,686)*var(--mu)); overflow:hidden; z-index:4; border-radius:calc(10*var(--mu)); }
  .rm-nt-tr{ display:flex; height:100%; transition:transform .55s cubic-bezier(.22,.61,.36,1); will-change:transform; backface-visibility:hidden; }
  .rm-nt-s{ flex:0 0 100%; height:100%; display:block; }
  .rm-nt-s img{ width:100%; height:100%; object-fit:cover; display:block; }
  .rm-nt-c{ display:none; }
  .rm-nt-c.on{ display:block; }
  .rm-mobile .rm-nt-meta{ position:absolute; left:calc(var(--l)*var(--mu)); top:calc(var(--t)*var(--mu)); z-index:5; color:#fef7d3;
    font-family:'HelveticaNeue','Helvetica Neue',Arial,sans-serif; font-weight:300; font-size:calc(29.5*var(--mu)); white-space:nowrap; letter-spacing:.04em; }
  .rm-mobile .rm-nt-cal{ width:1.05em; height:1.05em; vertical-align:-0.18em; display:inline-block; }
  .rm-mobile .rm-nt-t{ position:absolute; left:calc(var(--l)*var(--mu)); top:calc(var(--t)*var(--mu)); width:calc(var(--w)*var(--mu)); z-index:5;
    color:#fef7d3; font-family:'BlushingRoseVN','Blushing Rose',Georgia,serif; font-weight:400; font-size:calc(36.9*var(--mu)); line-height:1.2; text-transform:uppercase;
    display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
  .rm-mobile .rm-nt-more{ position:absolute; left:calc(var(--l)*var(--mu)); top:calc(var(--t)*var(--mu)); z-index:5; color:#fef7d3; text-decoration:none;
    font-family:'HelveticaNeue','Helvetica Neue',Arial,sans-serif; font-weight:300; font-size:calc(22.1*var(--mu)); letter-spacing:.1em; }
  .rm-nt-dots{ position:absolute; left:0; right:0; top:calc(var(--t)*var(--mu)); display:flex; justify-content:center; gap:calc(14*var(--mu)); z-index:5; }
  .rm-nt-dot{ width:calc(14*var(--mu)); height:calc(14*var(--mu)); border-radius:50%; border:0; padding:0; background:rgba(254,247,211,.4); }
  .rm-nt-dot.on{ background:#fef7d3; }
  .rm-nt-arr{ position:absolute; left:calc(var(--l)*var(--mu)); top:calc(var(--t)*var(--mu));
    width:calc(var(--w)*var(--mu)); height:calc(var(--h)*var(--mu)); z-index:6; cursor:pointer;
    display:flex; align-items:center; justify-content:center; color:#fef7d3; font-size:calc(60*var(--mu)); line-height:1;
    background:rgba(10,30,18,.3); border:1px solid rgba(254,247,211,.45); border-radius:50%; -webkit-appearance:none; }
  .rm-nt-drop{ position:absolute; left:calc(-210*var(--mu)); top:calc(100% + 10*var(--mu)); width:calc(902*var(--mu)); z-index:40;
    background:#06200e; border:1px solid rgba(254,247,211,.3); border-radius:calc(16*var(--mu)); overflow:hidden;
    box-shadow:0 calc(10*var(--mu)) calc(34*var(--mu)) rgba(0,0,0,.6); max-height:calc(620*var(--mu)); overflow-y:auto; }
  .rm-nt-dropi{ display:block; padding:calc(20*var(--mu)) calc(26*var(--mu)); color:#fef7d3; text-decoration:none;
    font-family:'HelveticaNeue','Helvetica Neue',Arial,sans-serif; font-weight:300; font-size:calc(24*var(--mu)); line-height:1.3;
    border-bottom:1px solid rgba(254,247,211,.14); }
  .rm-nt-dropi:last-child{ border-bottom:0; }
  .rm-nt-dropempty{ opacity:.6; }
  .rm-mobile .rm-nt-empty{ position:absolute; left:calc(var(--l)*var(--mu)); top:calc(var(--t)*var(--mu)); width:calc(var(--w)*var(--mu));
    text-align:center; color:rgba(254,247,211,.6); z-index:5;
    font-family:'HelveticaNeue','Helvetica Neue',Arial,sans-serif; font-weight:300; font-size:calc(30*var(--mu)); }

  /* ---- Section VIDEO (cao gọn, khung 16:9 ngang) ---- */
  .rm-mobile .ms.rm-vsec{ height:calc(850*var(--mu)); background:#00160a; }
  .rm-vframe{ position:absolute; left:calc(var(--l)*var(--mu)); top:calc(var(--t)*var(--mu));
    width:calc(var(--w)*var(--mu)); height:calc(var(--h)*var(--mu)); overflow:hidden;
    border-radius:calc(10*var(--mu)); background:#000; }
  .rm-vthumb{ width:100%; height:100%; object-fit:cover; display:block; }
  .rm-vplay2{ position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
    width:calc(140*var(--mu)); height:calc(140*var(--mu)); border-radius:50%;
    background:rgba(1,48,24,.72); border:calc(3*var(--mu)) solid #fff7cf;
    display:flex; align-items:center; justify-content:center; cursor:pointer; padding:0; }
  .rm-vplay2::before{ content:''; display:block; width:0; height:0; border-style:solid;
    border-width:calc(28*var(--mu)) 0 calc(28*var(--mu)) calc(46*var(--mu));
    border-color:transparent transparent transparent #fff7cf; margin-left:calc(12*var(--mu)); }
  .rm-vframe iframe{ width:100%; height:100%; border:0; display:block; }

  /* ---- video (cũ: lightbox, giữ dự phòng) ---- */
  .rm-vidtap{ display:flex; align-items:center; justify-content:center; background:transparent; border:0; cursor:pointer; }
  .rm-vidplay{ width:calc(150*var(--mu)); height:calc(150*var(--mu)); border-radius:50%;
    background:rgba(1,48,24,.72); border:calc(3*var(--mu)) solid #fff7cf; color:#fff7cf;
    display:flex; align-items:center; justify-content:center; font-size:calc(64*var(--mu)); padding-left:calc(10*var(--mu)); }
  .rm-ytpop{ position:fixed; inset:0; z-index:10000; background:rgba(0,0,0,.92); display:none; align-items:center; justify-content:center; }
  .rm-ytpop.open{ display:flex; }
  .rm-ytbox{ width:94%; aspect-ratio:16/9; }
  .rm-ytbox iframe{ width:100%; height:100%; display:block; border:0; }
  .rm-ytx{ position:absolute; top:calc(50*var(--mu)); right:calc(50*var(--mu)); background:transparent; border:0; color:#fff; font-size:calc(100*var(--mu)); line-height:1; }

  /* ===== Trang chi tiết bài viết (data-page="article"): adapt DOM desktop -> mobile ===== */
  /* ẩn header/footer desktop; hiện nội dung bài + FAB liên hệ; chrome mobile (.rm-mchrome) đã hiện qua body>.rm-mobile */
  body[data-page="article"] > header.rmhd,
  body[data-page="article"] > footer.rmft{ display:none !important; }
  body[data-page="article"] > main,
  body[data-page="article"] > #rmFab,
  body[data-page="article"] > .rm-fab{ display:block !important; }
  /* Trang con tự tạo (data-page="custom"): DOM khối responsive + chrome mobile */
  body[data-page="custom"] > header.rmhd,
  body[data-page="custom"] > footer.rmft{ display:none !important; }
  body[data-page="custom"] > main,
  body[data-page="custom"] > #rmFab,
  body[data-page="custom"] > .rm-fab{ display:block !important; }
  body[data-page="custom"] > main.rm-custom{ padding-top:calc(150*var(--mu)); background:#00160a; min-height:60vh; }
  body[data-page="custom"] .rm-custom section:first-child.min-h-\[70vh\]{ min-height:56vh; }
  /* chrome mobile chỉ chứa header cố định -> không chiếm chỗ layout */
  .rm-mobile.rm-mchrome{ position:static; height:auto; }

  body[data-page="article"] main.art-onbg,
  body[data-page="article"] main{ position:relative; min-height:auto; width:100%; margin:0;
    padding:calc(150*var(--mu)) 0 48px; background:#fdf8ec; display:block; }
  body[data-page="article"] .art-onbg-bg,
  body[data-page="article"] .art-onbg-scrim,
  body[data-page="article"] .art-hero,
  body[data-page="article"] .art-hb{ display:none !important; }
  body[data-page="article"] .art-hb-title,
  body[data-page="article"] .art-title{ position:static; font-size:26px; line-height:1.28; margin:0;
    padding:20px 20px 0; text-align:center; color:#0a3b22; letter-spacing:0; max-width:none; width:auto; transform:none; }
  /* huỷ hiệu ứng gradient-text (.rm-tx) để tiêu đề bài viết đặc màu, đọc rõ trên nền kem */
  body[data-page="article"] .art-hb-title.rm-tx,
  body[data-page="article"] .art-hb-title{ background:none !important; -webkit-text-fill-color:#0a3b22 !important;
    -webkit-background-clip:border-box !important; background-clip:border-box !important; color:#0a3b22 !important; }
  body[data-page="article"] .art-body{ position:static; padding:0; margin:0; background:transparent; width:auto; max-width:none; }
  body[data-page="article"] .art-body .inner{ width:auto; max-width:none; margin:0; padding:0 20px; }
  body[data-page="article"] .crumb{ display:flex; flex-wrap:wrap; gap:4px; font-size:12px; margin:14px 0 18px; color:#5a6b5e; }
  body[data-page="article"] .crumb a{ color:#5a6b5e; }
  body[data-page="article"] .crumb .cur{ color:#0a3b22; }
  body[data-page="article"] .art-media{ margin:14px 0; }
  body[data-page="article"] .art-media img,
  body[data-page="article"] .bd img{ max-width:100%; height:auto; display:block; margin:14px auto; border-radius:8px; }
  body[data-page="article"] .bd{ font-size:16px; line-height:1.75; color:#243528; }
  body[data-page="article"] .bd p{ margin:0 0 14px; }
  body[data-page="article"] .bd h2{ font-size:20px; margin:22px 0 10px; color:#0a3b22; }
  body[data-page="article"] .bd h3{ font-size:18px; margin:18px 0 8px; color:#0a3b22; }
  body[data-page="article"] .bd a{ color:#116a3a; }
  body[data-page="article"] .bd iframe{ width:100%; height:auto; aspect-ratio:16/9; border:0; }
  body[data-page="article"] .bd table{ display:block; max-width:100%; overflow-x:auto; }
  body[data-page="article"] .pa-sapo{ font-size:17px; line-height:1.6; font-weight:600; color:#0a3b22; margin:0 0 16px; }
  /* slider album tiến độ (coverflow) -> 1 ảnh/khung thường (không absolute) trên mobile */
  body[data-page="article"] .pa-slider{ position:static !important; left:auto !important; transform:none !important;
    width:100% !important; margin:14px 0 18px !important; }
  body[data-page="article"] .pas-stage{ position:relative !important; width:100% !important; padding-bottom:0 !important; height:auto !important; }
  body[data-page="article"] .pas-item{ display:none !important; }
  body[data-page="article"] .pas-item.c{ display:block !important; position:static !important; top:auto !important; left:auto !important;
    width:100% !important; transform:none !important; aspect-ratio:auto !important; box-shadow:none !important; border-radius:8px; overflow:hidden; }
  body[data-page="article"] .pas-item.c img{ width:100%; height:auto; display:block; }
  body[data-page="article"] .pas-btn{ position:absolute; top:50%; transform:translateY(-50%); z-index:3;
    width:44px; height:44px; border-radius:50%; background:rgba(10,30,18,.4); color:#fff7cf; border:1px solid rgba(255,247,207,.45);
    font-size:26px; line-height:1; cursor:pointer; display:flex; align-items:center; justify-content:center; }
  body[data-page="article"] .pas-btn.prev{ left:8px; right:auto; }
  body[data-page="article"] .pas-btn.next{ right:8px; left:auto; }
  body[data-page="article"] .pas-count{ display:block; text-align:center; margin-top:10px; font-size:13px; color:#5a6b5e; }

  /* ---- Smooth Scroll Reveal (IntersectionObserver + CSS GPU-accelerated) ----
     Phần tử gắn [data-rv] ẩn nhẹ + dời xuống, khi vào viewport nhận .rv-in -> hiện mượt.
     translate3d + will-change ép tạo layer GPU; JS gỡ will-change sau khi xong để nhẹ. */
  .rm-mobile [data-rv]{ opacity:0; transform:translate3d(0,26px,0); will-change:opacity, transform;
    transition:opacity .7s cubic-bezier(.22,.61,.36,1), transform .7s cubic-bezier(.22,.61,.36,1); }
  .rm-mobile [data-rv].rv-in{ opacity:1; transform:translate3d(0,0,0); }
  /* .tc giờ căn giữa bằng flex (width:0), KHÔNG cần translateX; reveal chỉ dời Y qua rule chung ở trên */
  @media (prefers-reduced-motion:reduce){
    .rm-mobile [data-rv]{ opacity:1 !important; transform:none !important; transition:none !important; }
  }
}
@media (max-width:768px){
  /* Hero trang chủ: hiệu ứng đánh chữ (giống PC) */
  .rm-mobile .m-ty-ch{ opacity:0; }
  .rm-mobile .m-ty-ch.on{ opacity:1; }
  .rm-mobile .m-cur{ display:inline-block; width:2px; height:.9em; vertical-align:-.08em; margin-left:2px; background:#fdf6c2; animation:mBlink .9s steps(1,end) infinite; }
  .rm-mobile .m-cur-end{ animation-duration:.75s; }
  @keyframes mBlink{ 50%{ opacity:0; } }
  /* Ảnh slide chạm để phóng to + zoom trong popup */
  .rm-sld-s img,.rm-vsld-c img,.rm-std-s img,.rm-ti3-cell img,.rm-rm-s img,body[data-page="article"] .pas-item img{ cursor:zoom-in; }
  .rm-imgpop img#rmImgEl{ touch-action:none; will-change:transform; transform-origin:50% 50%; }
  .rm-imgpop.zoomed .rm-imgnav,.rm-imgpop.zoomed .rm-imgcap{ opacity:0; pointer-events:none; }
  .rm-imghint{ position:absolute; left:0; right:0; bottom:calc(90*var(--mu)); text-align:center; color:rgba(255,247,207,.75); font-size:12px; letter-spacing:.04em; transition:opacity .5s; pointer-events:none; }
  .rm-imghint.off,.rm-imgpop.zoomed .rm-imghint{ opacity:0; }
}
