/* ECM Global V4 — V1 composition with V3 typography/geometry and a unified
   outlined icon language.  The original, V2 and V3 remain isolated. */
:root {
  --ecm-v4-font:Inter,"Segoe UI",Arial,sans-serif;
  --ecm-v4-surface-glass:rgba(255,255,255,.88);
  --ecm-v4-surface-soft:rgba(245,248,253,.94);
  --ecm-v4-surface-dark:rgba(255,255,255,.055);
  --ecm-v4-surface-dark-hover:rgba(115,139,255,.14);
  --ecm-v4-line-dark:rgba(195,215,255,.24);
  --ecm-v4-line-dark-hover:rgba(153,216,255,.78);
  --ecm-v4-icon-size:64px;
  --ecm-v4-icon-small:48px;
  --ecm-v4-icon-stroke:1.5;
  --ecm-v4-layout-max:1320px;
  --ecm-v4-section-y:72px;
  --ecm-v4-about-top:310px;
  --ecm-v4-about-top-tablet:550px;
  --ecm-v4-about-top-mobile:490px;
  --ecm-v4-value-padding:28px 20px 24px;
  --ecm-v4-card-shadow:0 12px 36px rgba(20,41,81,.09);
  --ecm-v4-card-shadow-hover:0 22px 48px rgba(20,41,81,.16);
  --ecm-v4-card-shadow-soft:0 8px 26px rgba(20,41,81,.08);
  --ecm-v4-market-height:184px;
  --ecm-v4-market-height-open:230px;
  --ecm-v4-field-shadow:0 8px 24px rgba(20,41,81,.07);
  --ecm-v4-hover-distance:-5px;
  --ecm-v4-hover-nudge:5px;
  --ecm-v4-ease:cubic-bezier(.2,.8,.2,1);
  --ecm-v4-fast:.22s;
  --ecm-v4-slow:.36s;
  --ecm-v4-folder-tab-w:92px;
  --ecm-v4-folder-tab-h:14px;
  --ecm-v4-contact-map:url("ecm-contact-map-dots-v4-1920.webp");
  --ecm-v4-contact-max:1320px;
  --ecm-v4-contact-overlay:rgba(255,255,255,.72);
  --ecm-v4-dot-pattern:radial-gradient(circle,rgba(153,216,255,.22) 0 1px,transparent 1.4px);
  --ecm-font-body:var(--ecm-v4-font);
  --ecm-font-display:var(--ecm-v4-font);
  --ecm-font-serif:var(--ecm-v4-font);
  --ecm-font-hero-body:var(--ecm-v4-font);
  --ecm-font-mono:var(--ecm-v4-font);
  --ecm-font-nav:var(--ecm-v4-font);
  --ecm-weight-bold:600;
  --ecm-h2-size:36px;
  --ecm-h2-line:46px;
  --ecm-eyebrow-size:16px;
  --ecm-section-y:var(--ecm-v4-section-y);
  --ecm-about-top:var(--ecm-v4-about-top);
  --ecm-value-padding:var(--ecm-v4-value-padding);
  --ecm-value-icon:64px;
  --ecm-r-card:16px;
  --ecm-r-btn:100px;
  --ecm-r-input:16px;
  --ecm-r-icon:100px;
  --ecm-r-image:20px;
  --ecm-r-signature:32px;
}

body {font-family:var(--ecm-font-body)}
h1,h2,h3,h4,h5,.ecm-display {font-family:var(--ecm-font-body);font-weight:var(--ecm-weight-semibold)}
.ecm-display {letter-spacing:-.025em}
.ecm-h1,.ecm-h2,.ecm-h3 {letter-spacing:-.018em}
.ecm-h2,.ecm-h3,.ecm-h4 {font-weight:var(--ecm-weight-semibold)}
.ecm-eyebrow {margin-bottom:var(--ecm-space-3);font-weight:var(--ecm-weight-semibold);letter-spacing:.035em}
.ecm-section__head .ecm-lead {font-weight:var(--ecm-weight-regular)}
.ecm-btn {font-weight:var(--ecm-weight-semibold)}
.ecm-section__head {margin-bottom:var(--ecm-space-8)}

/* One outlined icon system: every generic UI icon uses the same geometry,
   stroke, line caps and optical sizing. Brand marks and flags stay authentic. */
.ecm-icon>svg,.ecm-solid>svg {
  stroke-width:var(--ecm-v4-icon-stroke);
  stroke-linecap:round;
  stroke-linejoin:round;
  vector-effect:non-scaling-stroke;
}
.ecm-brands>svg {fill:currentColor;stroke:none}
.ecm-footer__social {display:flex;gap:var(--ecm-space-2);margin-top:var(--ecm-space-4)}
.ecm-footer__social a {display:grid;place-items:center;width:44px;height:44px;border:var(--ecm-rule) solid var(--ecm-line-dark);border-radius:var(--ecm-r-icon);color:var(--ecm-on-navy);transition:color var(--ecm-v4-fast),border-color var(--ecm-v4-fast),background var(--ecm-v4-fast)}
.ecm-footer__social a:hover,.ecm-footer__social a:focus-visible {border-color:var(--ecm-primary-on-dark);background:rgba(255,255,255,.06);color:var(--ecm-on-primary)}
.ecm-footer__social svg {display:block;width:18px;height:18px;fill:currentColor}
.ecm-footer__social svg.is-stroke {fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.ecm-value-card__icon,.ecm-intro-feature__badge .ecm-icon,
.ecm-capability__icon,.ecm-contact-details .ecm-icon {
  display:grid;
  place-items:center;
  border:var(--ecm-rule) solid var(--ecm-line);
  border-radius:var(--ecm-r-icon);
}
.ecm-value-card__icon,.ecm-intro-feature__badge .ecm-icon {
  background:var(--ecm-surface);
  color:var(--ecm-primary);
}

/* Keep the V1 photographic hero composition; only its type and icon language
   follow V4. */
.ecm-slide .ecm-display,.ecm-slide--center .ecm-display {font-weight:var(--ecm-weight-semibold)}
.ecm-value-card {display:flex;flex-direction:column;align-items:center;padding:var(--ecm-v4-value-padding);border-radius:var(--ecm-r-card)}
.ecm-value-card__icon {width:var(--ecm-value-icon);height:var(--ecm-value-icon);border-radius:var(--ecm-r-icon);font-size:32px;margin-bottom:var(--ecm-space-4)}
.ecm-value-card p {min-height:0}
.ecm-value-card__link {margin-top:auto;padding-top:var(--ecm-space-4)}

/* Services: restrained depth, a responsive highlight line, and coordinated
   icon/type/CTA motion on hover or keyboard focus. */
.ecm-services-section {
  isolation:isolate;
  overflow:hidden;
  padding-top:var(--ecm-v4-section-y);
  padding-bottom:var(--ecm-space-6);
  background:var(--ecm-gradient-dark);
}
.ecm-services-section::before {
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background-image:var(--ecm-v4-dot-pattern);
  background-size:24px 24px;
  mask-image:linear-gradient(115deg,transparent 4%,#000 45%,transparent 88%);
  opacity:.7;
  pointer-events:none;
}
.ecm-service-catalog {gap:var(--ecm-space-6)}
.ecm-service-tile {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  grid-template-columns:var(--ecm-v4-icon-size) minmax(0,1fr);
  align-items:start;
  min-height:214px;
  padding:var(--ecm-space-7);
  border-color:var(--ecm-v4-line-dark);
  border-radius:var(--ecm-r-card);
  background:var(--ecm-v4-surface-dark);
  box-shadow:0 1px 0 rgba(255,255,255,.05) inset;
  transition:background var(--ecm-v4-slow) var(--ecm-v4-ease),border-color var(--ecm-v4-fast) var(--ecm-v4-ease),box-shadow var(--ecm-v4-slow) var(--ecm-v4-ease),transform var(--ecm-v4-slow) var(--ecm-v4-ease);
}
.ecm-service-tile::before {
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:radial-gradient(circle at 12% 8%,rgba(153,216,255,.18),transparent 42%);
  opacity:0;
  transform:scale(.86);
  transform-origin:top left;
  transition:opacity var(--ecm-v4-slow) var(--ecm-v4-ease),transform var(--ecm-v4-slow) var(--ecm-v4-ease);
}
.ecm-service-tile::after {
  content:"";
  position:absolute;
  left:var(--ecm-space-7);
  right:var(--ecm-space-7);
  bottom:0;
  height:var(--ecm-rule-thick);
  border-radius:var(--ecm-r-btn);
  background:var(--ecm-gradient);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform var(--ecm-v4-slow) var(--ecm-v4-ease);
}
.ecm-service-tile__icon {
  width:var(--ecm-v4-icon-size);
  height:var(--ecm-v4-icon-size);
  display:grid;
  place-items:center;
  margin:0;
  padding:var(--ecm-space-4);
  border:var(--ecm-rule) solid var(--ecm-v4-line-dark);
  border-radius:var(--ecm-r-icon);
  background:rgba(255,255,255,.06);
  color:var(--ecm-primary-on-dark);
  font-size:32px;
  transition:color var(--ecm-v4-fast) var(--ecm-v4-ease),background var(--ecm-v4-fast) var(--ecm-v4-ease),border-color var(--ecm-v4-fast) var(--ecm-v4-ease),transform var(--ecm-v4-slow) var(--ecm-v4-ease);
}
.ecm-service-tile h3,.ecm-service-tile p,.ecm-service-tile__link {
  transition:color var(--ecm-v4-fast) var(--ecm-v4-ease),transform var(--ecm-v4-slow) var(--ecm-v4-ease),opacity var(--ecm-v4-fast) var(--ecm-v4-ease),background var(--ecm-v4-fast) var(--ecm-v4-ease);
}
.ecm-service-tile__link {
  min-height:38px;
  align-items:center;
  padding:var(--ecm-space-2) var(--ecm-space-4);
  margin-left:calc(-1 * var(--ecm-space-4));
  border-radius:var(--ecm-r-btn);
  color:var(--ecm-primary-on-dark);
}
.ecm-service-tile__link b {font-size:18px;transition:transform var(--ecm-v4-fast) var(--ecm-v4-ease)}
.ecm-service-tile:hover,.ecm-service-tile:focus-visible {
  color:var(--ecm-on-primary);
  border-color:var(--ecm-v4-line-dark-hover);
  background:var(--ecm-v4-surface-dark-hover);
  box-shadow:var(--ecm-v4-card-shadow-hover);
  transform:translateY(var(--ecm-v4-hover-distance));
}
.ecm-service-tile:hover::before,.ecm-service-tile:focus-visible::before {opacity:1;transform:scale(1)}
.ecm-service-tile:hover::after,.ecm-service-tile:focus-visible::after {transform:scaleX(1)}
.ecm-service-tile:hover .ecm-service-tile__icon,.ecm-service-tile:focus-visible .ecm-service-tile__icon {
  color:var(--ecm-on-primary);
  border-color:var(--ecm-v4-line-dark-hover);
  background:rgba(153,216,255,.13);
  transform:rotate(-4deg) scale(1.06);
}
.ecm-service-tile:hover h3,.ecm-service-tile:focus-visible h3 {transform:translateX(var(--ecm-v4-hover-nudge))}
.ecm-service-tile:hover p,.ecm-service-tile:focus-visible p {color:var(--ecm-on-primary);transform:translateX(var(--ecm-v4-hover-nudge))}
.ecm-service-tile:hover .ecm-service-tile__link,.ecm-service-tile:focus-visible .ecm-service-tile__link {background:rgba(255,255,255,.1);color:var(--ecm-on-primary);transform:translateX(var(--ecm-v4-hover-nudge))}
.ecm-service-tile:hover .ecm-service-tile__link b,.ecm-service-tile:focus-visible .ecm-service-tile__link b {transform:translateX(var(--ecm-v4-hover-nudge))}
.ecm-service-banner {
  min-height:112px;
  margin-top:var(--ecm-space-8);
  margin-bottom:0;
  padding:var(--ecm-space-6) var(--ecm-space-8);
  border-radius:var(--ecm-r-card);
  box-shadow:0 18px 42px rgba(8,25,59,.2);
}
.ecm-service-banner h3 {font:var(--ecm-weight-semibold) 26px/36px var(--ecm-font-body)}
.ecm-services-section+.ecm-section {padding-top:var(--ecm-space-9)}

/* Markets: the CTA is revealed only when the whole destination card is
   intentionally hovered/focused. Touch devices keep it visible. */
.ecm-country-card {
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  overflow:hidden;
  height:var(--ecm-v4-market-height);
  min-height:0;
  padding:var(--ecm-space-5) var(--ecm-space-3);
  border:0;
  border-radius:var(--ecm-r-card);
  background:var(--ecm-surface);
  box-shadow:var(--ecm-v4-card-shadow-soft);
  transition:height var(--ecm-v4-slow) var(--ecm-v4-ease),color var(--ecm-v4-fast) var(--ecm-v4-ease),background var(--ecm-v4-fast) var(--ecm-v4-ease),box-shadow var(--ecm-v4-slow) var(--ecm-v4-ease);
}
.ecm-country-grid {align-items:start}
.ecm-country-card .ecm-flag-img {transition:transform var(--ecm-v4-slow) var(--ecm-v4-ease)}
.ecm-country-card h3 {transition:transform var(--ecm-v4-slow) var(--ecm-v4-ease),color var(--ecm-v4-fast) var(--ecm-v4-ease)}
.ecm-country-card>span {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  position:absolute;
  left:var(--ecm-space-3);
  right:var(--ecm-space-3);
  bottom:var(--ecm-space-4);
  min-height:36px;
  padding:var(--ecm-space-2) var(--ecm-space-4);
  margin:0;
  border-radius:var(--ecm-r-btn);
  background:var(--ecm-primary);
  color:var(--ecm-on-primary);
  opacity:0;
  transform:translateY(var(--ecm-space-3));
  transition:opacity var(--ecm-v4-fast) var(--ecm-v4-ease),transform var(--ecm-v4-slow) var(--ecm-v4-ease),background var(--ecm-v4-fast) var(--ecm-v4-ease);
}
.ecm-country-card:hover,.ecm-country-card:focus-visible {
  height:var(--ecm-v4-market-height-open);
  color:var(--ecm-primary);
  background:var(--ecm-bg);
  box-shadow:var(--ecm-v4-card-shadow-hover);
}
.ecm-country-card:hover .ecm-flag-img,.ecm-country-card:focus-visible .ecm-flag-img {transform:scale(1.08)}
.ecm-country-card:hover>span,.ecm-country-card:focus-visible>span {opacity:1;transform:none}

/* Process as translucent folder files: a visual metaphor for clear case
   handling without changing any copy or sequence. */
.ecm-section[data-section=process] {
  isolation:isolate;
  overflow:hidden;
  background:var(--ecm-bg);
}
.ecm-section[data-section=process]::before {
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background-image:linear-gradient(var(--ecm-line) 1px,transparent 1px),linear-gradient(90deg,var(--ecm-line) 1px,transparent 1px);
  background-size:56px 56px;
  mask-image:linear-gradient(90deg,transparent,#000 28%,#000 72%,transparent);
  opacity:.38;
}
.ecm-steps {gap:var(--ecm-space-6)}
.ecm-step {
  min-height:284px;
  margin-top:var(--ecm-v4-folder-tab-h);
  padding:var(--ecm-space-7) var(--ecm-space-6) var(--ecm-space-6);
  border:var(--ecm-rule) solid var(--ecm-line);
  border-radius:var(--ecm-r-card);
  background:var(--ecm-v4-surface-glass);
  box-shadow:var(--ecm-v4-card-shadow);
  transition:border-color var(--ecm-v4-fast) var(--ecm-v4-ease),box-shadow var(--ecm-v4-slow) var(--ecm-v4-ease),background var(--ecm-v4-fast) var(--ecm-v4-ease);
}
.ecm-step::after {
  content:"";
  position:absolute;
  left:var(--ecm-space-6);
  top:calc(-1 * var(--ecm-v4-folder-tab-h));
  width:var(--ecm-v4-folder-tab-w);
  height:var(--ecm-v4-folder-tab-h);
  border:var(--ecm-rule) solid var(--ecm-line);
  border-bottom:0;
  border-radius:var(--ecm-r-card) var(--ecm-r-card) 0 0;
  background:var(--ecm-v4-surface-glass);
  transition:background var(--ecm-v4-fast) var(--ecm-v4-ease),border-color var(--ecm-v4-fast) var(--ecm-v4-ease);
}
.ecm-step::before {
  width:var(--ecm-v4-icon-small);
  height:var(--ecm-v4-icon-small);
  margin-bottom:var(--ecm-space-6);
  border:var(--ecm-rule) solid var(--ecm-line);
  border-radius:var(--ecm-r-icon);
  background:var(--ecm-surface);
  color:var(--ecm-primary);
  font:var(--ecm-weight-semibold) 18px/1 var(--ecm-font-body);
  transition:color var(--ecm-v4-fast) var(--ecm-v4-ease),background var(--ecm-v4-fast) var(--ecm-v4-ease),border-color var(--ecm-v4-fast) var(--ecm-v4-ease);
}
.ecm-step__time {font-weight:var(--ecm-weight-semibold);letter-spacing:.02em}
.ecm-step__title {font-weight:var(--ecm-weight-semibold)}
.ecm-step:hover,.ecm-step:focus-within {border-color:rgba(112,78,197,.45);background:var(--ecm-surface);box-shadow:var(--ecm-v4-card-shadow-hover)}
.ecm-step:hover::after,.ecm-step:focus-within::after {border-color:rgba(112,78,197,.45);background:var(--ecm-surface)}
.ecm-step:hover::before,.ecm-step:focus-within::before {border-color:var(--ecm-primary);background:var(--ecm-primary);color:var(--ecm-on-primary)}

/* Gallery follows the V3 paper-card treatment requested by the owner. */
.ecm-gallery-section {background:var(--ecm-surface)}
.ecm-gallery-tabs {justify-content:center;gap:var(--ecm-space-3)}
.ecm-gallery-tabs button {border-radius:var(--ecm-r-btn);border-color:var(--ecm-input-border);background:var(--ecm-surface);font-weight:var(--ecm-weight-medium);transition:background var(--ecm-v4-fast),color var(--ecm-v4-fast),border-color var(--ecm-v4-fast)}
.ecm-gallery-tabs button:hover {background:var(--ecm-bg);border-color:var(--ecm-primary)}
.ecm-gallery-tabs button[aria-pressed=true] {background:var(--ecm-primary);box-shadow:var(--ecm-v4-field-shadow)}
.ecm-gallery-item {padding:var(--ecm-space-2);border:var(--ecm-rule) solid transparent;border-radius:var(--ecm-r-image);background:var(--ecm-bg);box-shadow:none;transition:border-color var(--ecm-v4-fast),box-shadow var(--ecm-v4-slow)}
.ecm-gallery-item:hover,.ecm-gallery-item:focus-visible {border-color:var(--ecm-line);box-shadow:var(--ecm-v4-card-shadow)}
.ecm-gallery-item img {aspect-ratio:3/2;border-radius:var(--ecm-r-card)}
.ecm-gallery-item span {position:relative;display:block;padding:var(--ecm-space-5) var(--ecm-space-4);background:transparent;color:var(--ecm-ink);font-size:var(--ecm-body-size);line-height:var(--ecm-body-line);font-weight:var(--ecm-weight-semibold)}
.ecm-gallery-item span b {color:var(--ecm-primary)}
.ecm-gallery-note {text-align:center}

/* Contact: original dotted map, form-left / context-right composition. */
.ecm-cta-section {
  isolation:isolate;
  overflow:hidden;
  padding-block:var(--ecm-v4-section-y) var(--ecm-space-8);
  background-color:var(--ecm-surface);
  background-image:linear-gradient(var(--ecm-v4-contact-overlay),var(--ecm-v4-contact-overlay)),var(--ecm-v4-contact-map);
  background-repeat:no-repeat;
  background-position:center;
  background-size:cover;
}
.ecm-cta-section>.ecm-container {max-width:var(--ecm-v4-contact-max)}
.ecm-contact-grid {grid-template-columns:minmax(0,1fr) minmax(0,.94fr);gap:var(--ecm-space-10);align-items:start}
.ecm-contact-grid .ecm-h2 {margin-bottom:var(--ecm-space-7);font-size:var(--ecm-h1-size);line-height:var(--ecm-h1-line)}
.ecm-contact-form {gap:var(--ecm-space-5)}
.ecm-field {gap:var(--ecm-space-2)}
.ecm-input,.ecm-contact-form select,.ecm-contact-form textarea {
  border-color:var(--ecm-line);
  border-radius:var(--ecm-r-input);
  background:rgba(255,255,255,.96);
  box-shadow:var(--ecm-v4-field-shadow);
  transition:border-color var(--ecm-v4-fast),box-shadow var(--ecm-v4-fast),background var(--ecm-v4-fast);
}
.ecm-input:hover,.ecm-contact-form select:hover,.ecm-contact-form textarea:hover {border-color:var(--ecm-input-border)}
.ecm-contact-form .ecm-input:focus,.ecm-contact-form select:focus,.ecm-contact-form textarea:focus {border-color:var(--ecm-primary);background:var(--ecm-surface);box-shadow:0 0 0 4px rgba(112,78,197,.12),var(--ecm-v4-field-shadow)}
.ecm-contact-form .ecm-btn {min-height:52px;padding-inline:var(--ecm-space-7)}
.ecm-contact-aside {padding-top:var(--ecm-space-10);color:var(--ecm-ink)}
.ecm-contact-aside .ecm-lead {padding-left:var(--ecm-space-6);border-left:var(--ecm-rule-thick) solid var(--ecm-primary);color:var(--ecm-ink);font-size:var(--ecm-body-lg-size);line-height:var(--ecm-body-lg-line)}
.ecm-contact-map {display:none}
.ecm-contact-details {
  gap:0;
  margin-top:var(--ecm-space-9);
  padding:var(--ecm-space-6);
  border:var(--ecm-rule) solid var(--ecm-line);
  border-radius:var(--ecm-r-card);
  background:rgba(255,255,255,.94);
  box-shadow:var(--ecm-v4-card-shadow);
}
.ecm-contact-details>div {display:grid;grid-template-columns:52px minmax(0,1fr);column-gap:var(--ecm-space-4);align-items:center;padding:var(--ecm-space-3) var(--ecm-space-5)}
.ecm-contact-details>div+div {border-left:var(--ecm-rule) solid var(--ecm-line)}
.ecm-contact-details .ecm-icon {grid-row:1/3;width:52px;height:52px;margin:0;padding:14px;background:var(--ecm-bg);color:var(--ecm-primary)}
.ecm-contact-details h3 {align-self:end;font-size:var(--ecm-body-size);line-height:25px;font-weight:var(--ecm-weight-semibold)}
.ecm-contact-details p {font-size:var(--ecm-caption-size);line-height:var(--ecm-caption-line);margin-top:var(--ecm-space-1)}

/* 60 / 30 / 10 visual balance: neutral page canvas, navy information bands,
   and one restrained brand accent for actions, states and fine detail. */
.ecm-trust {padding-block:var(--ecm-space-8)}
.ecm-trust>.ecm-container {max-width:var(--ecm-v4-layout-max)}
.ecm-trust__head {margin-bottom:var(--ecm-space-6)}
.ecm-partner-window {margin-bottom:var(--ecm-space-5)}

/* Footer gọn V4.5 (chủ website yêu cầu 15/09/2026): thương hiệu, Dịch vụ, Công ty, Văn phòng; đáy có bản quyền và chính sách chính. */
.ecm-footer {padding:var(--ecm-space-9) 0 var(--ecm-space-6);background:var(--ecm-navy-2);border-top:var(--ecm-rule-thick) solid var(--ecm-brand-blue)}
.ecm-footer__grid {grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,.7fr) minmax(0,1.3fr);gap:var(--ecm-space-8)}
.ecm-footer .ecm-logo {width:140px;margin-bottom:var(--ecm-space-4)}
.ecm-footer p,.ecm-footer li {font-size:var(--ecm-small-size);line-height:var(--ecm-small-line);text-wrap:pretty}
.ecm-footer li {margin-bottom:var(--ecm-space-1)}
.ecm-footer__tagline {max-width:340px}
.ecm-footer__entity {margin-top:var(--ecm-space-4)}
.ecm-footer .ecm-footer__entity strong {margin-bottom:0;font-weight:var(--ecm-weight-semibold)}
.ecm-footer__title {margin-bottom:var(--ecm-space-3);color:var(--ecm-on-primary);font-size:var(--ecm-body-size);line-height:var(--ecm-body-line)}
.ecm-footer address {font-style:normal}
.ecm-footer address p+p {margin-top:var(--ecm-space-2)}
.ecm-footer__bottom {display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--ecm-space-3) var(--ecm-space-7);margin-top:var(--ecm-space-8);padding-top:var(--ecm-space-4)}
.ecm-footer .ecm-footer__bottom p,.ecm-footer .ecm-footer__policies li {margin:0;font-size:var(--ecm-caption-size);line-height:var(--ecm-caption-line)}
.ecm-footer__policies {display:flex;flex-wrap:wrap;gap:var(--ecm-space-2) var(--ecm-space-5)}
.ecm-footer__bottom .ecm-review-note {flex-basis:100%}

@media(max-width:1023px) {
  :root {--ecm-about-top:var(--ecm-v4-about-top-tablet)}
  .ecm-service-tile {min-height:0;grid-template-columns:var(--ecm-v4-icon-small) minmax(0,1fr)}
  .ecm-service-tile__icon {width:var(--ecm-v4-icon-small);height:var(--ecm-v4-icon-small);padding:var(--ecm-space-3);font-size:26px}
  .ecm-step {min-height:270px}
  .ecm-contact-grid {grid-template-columns:1fr;gap:var(--ecm-space-8)}
  .ecm-contact-aside {padding-top:0}
  .ecm-footer__grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--ecm-space-7) var(--ecm-space-8)}
}

@media(max-width:767px) {
  :root {--ecm-r-signature:24px;--ecm-v4-icon-size:52px;--ecm-v4-folder-tab-w:76px;--ecm-v4-market-height:170px;--ecm-v4-market-height-open:214px;--ecm-section-y:52px;--ecm-about-top:var(--ecm-v4-about-top-mobile);--ecm-h2-size:29px;--ecm-h2-line:38px;--ecm-eyebrow-size:15px}
  .ecm-display {letter-spacing:-.015em}
  .ecm-value-card {padding:var(--ecm-space-5) var(--ecm-space-3)}
  .ecm-value-card__icon {width:56px;height:56px;font-size:28px}
  .ecm-service-tile {min-height:0;grid-template-columns:var(--ecm-v4-icon-size) minmax(0,1fr);padding:var(--ecm-space-5)}
  .ecm-service-tile__icon {width:var(--ecm-v4-icon-size);height:var(--ecm-v4-icon-size)}
  .ecm-service-tile__link {margin-left:0;padding-left:0;background:transparent!important}
  .ecm-service-banner {min-height:0;margin-bottom:0;padding:var(--ecm-space-6)}
  .ecm-services-section+.ecm-section {padding-top:var(--ecm-space-9)}
  .ecm-country-card {min-height:0}
  .ecm-country-card>span {min-height:40px}
  .ecm-step {min-height:0;padding:var(--ecm-space-7) var(--ecm-space-5) var(--ecm-space-6)}
  .ecm-gallery {grid-template-columns:1fr}
  .ecm-gallery-item span {padding:var(--ecm-space-4)}
  .ecm-cta-section {padding-block:var(--ecm-section-y);background-size:auto 100%}
  .ecm-contact-grid .ecm-h2 {font-size:var(--ecm-h2-size);line-height:var(--ecm-h2-line)}
  .ecm-contact-details {grid-template-columns:1fr;padding:var(--ecm-space-4)}
  .ecm-contact-details>div {padding:var(--ecm-space-4)}
  .ecm-contact-details>div+div {border-left:0;border-top:var(--ecm-rule) solid var(--ecm-line)}
  .ecm-footer {padding-top:var(--ecm-space-8);padding-bottom:95px}
  .ecm-footer__grid {grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:var(--ecm-space-6) var(--ecm-space-5)}
  .ecm-footer__brand,.ecm-footer__office {grid-column:1 / -1}
  .ecm-footer__col li {margin-bottom:var(--ecm-space-2)}
  .ecm-footer__bottom {flex-direction:column;align-items:flex-start;margin-top:var(--ecm-space-6)}
}

@media(hover:none) {
  .ecm-country-card {height:var(--ecm-v4-market-height-open)}
  .ecm-country-card>span {opacity:1;transform:none}
  .ecm-country-card:hover,.ecm-service-tile:hover {transform:none}
}

@media(prefers-reduced-motion:reduce) {
  .ecm-service-tile,.ecm-service-tile::before,.ecm-service-tile::after,
  .ecm-service-tile__icon,.ecm-service-tile h3,.ecm-service-tile p,
  .ecm-service-tile__link,.ecm-service-tile__link b,.ecm-country-card,
  .ecm-country-card .ecm-flag-img,.ecm-country-card h3,.ecm-country-card>span {
    transition:none!important;
    transform:none!important;
  }
}

/* ===== V4.3 thân trang: các phương án chủ website chọn ngày 15/09/2026 =====
   21A ghi chú nội bộ chỉ hiện với ?review=1 · 19A căn trái, viền mảnh, nền nhạt xen kẽ
   2A tình huống · 3A dịch vụ 3 nhóm · 5A so sánh gọn · 7A hồ sơ doanh nghiệp · 11A kiến thức
   14A thông tin nhanh và sidebar nhóm · 15A bảng giá nhóm · 17A bài viết · 20A icon Zalo */
.ecm-review-note,.ecm-review-only {display:none!important}
.is-review .ecm-review-note {display:block!important;margin-top:var(--ecm-space-4);padding:8px 12px;border:1px dashed #b58100;border-radius:8px;background:#fff7e0;color:#7a5600;font-size:13px;line-height:20px;font-weight:400;text-align:left}
.is-review .ecm-review-note--inline {display:inline-block!important;margin:4px 0 0}
.is-review .ecm-review-note:empty {display:none!important}
.is-review .ecm-review-only {display:revert!important;outline:2px dashed #b58100;outline-offset:-2px}

.ecm-section--alt+.ecm-section--alt,.ecm-section--alt+.ecm-section--evidence,.ecm-section--evidence+.ecm-section--alt,
.ecm-company+.ecm-trust,.ecm-trust+.ecm-section {border-top:var(--ecm-rule) solid var(--ecm-line)}
.ecm-link-arrow {display:inline-flex;align-items:center;gap:6px;min-height:44px;color:var(--ecm-primary);font-size:15px;font-weight:var(--ecm-weight-semibold)}
.ecm-link-arrow:hover {color:var(--ecm-primary-hover)}
.ecm-section__head--row {display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:var(--ecm-space-4) var(--ecm-space-6);max-width:none}

.ecm-situations {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--ecm-space-5)}
.ecm-situation {display:flex;flex-direction:column;padding:var(--ecm-space-6);border:var(--ecm-rule) solid var(--ecm-line);border-radius:var(--ecm-r-card);background:var(--ecm-surface)}
.ecm-situation__title {font-size:18px;line-height:27px;font-weight:var(--ecm-weight-semibold);color:var(--ecm-ink)}
.ecm-situation p {margin-top:var(--ecm-space-3);color:var(--ecm-ink-2);font-size:15px;line-height:24px}
.ecm-situation .ecm-link-arrow {margin-top:auto;padding-top:var(--ecm-space-3)}

.ecm-journeys {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--ecm-space-5);align-items:start}
.ecm-journey {padding:var(--ecm-space-7);border:var(--ecm-rule) solid var(--ecm-line);border-radius:var(--ecm-r-card);background:var(--ecm-surface)}
.ecm-journey--lead {border-color:#cfc0ee;box-shadow:inset 0 3px 0 var(--ecm-primary)}
.ecm-journey__tag {display:inline-block;margin-bottom:var(--ecm-space-3);padding:2px 10px;border-radius:var(--ecm-r-btn);background:#f2ecfd;color:#5c40a2;font-size:12.5px;line-height:20px;font-weight:var(--ecm-weight-semibold)}
.ecm-journey__title {font-size:21px;line-height:29px;font-weight:var(--ecm-weight-semibold);color:var(--ecm-ink)}
.ecm-journey__text {margin-top:var(--ecm-space-2);color:var(--ecm-ink-2);font-size:15px;line-height:24px}
.ecm-journey__links {list-style:none;margin:var(--ecm-space-4) 0 0;padding:0}
.ecm-journey__links a {display:flex;align-items:center;gap:10px;min-height:48px;border-top:var(--ecm-rule) solid var(--ecm-line);color:var(--ecm-ink);font-size:15px;font-weight:var(--ecm-weight-medium)}
.ecm-journey__links a>span {margin-left:auto;color:var(--ecm-primary)}
.ecm-journey__links a:hover {color:var(--ecm-primary)}
.ecm-journey .ecm-flag-img {width:24px;height:calc(24px * 26 / 36)}
.ecm-journey__sub {margin-top:var(--ecm-space-5);color:var(--ecm-ink-3);font-size:13px;line-height:20px}
.ecm-journey__markets {list-style:none;display:flex;flex-wrap:wrap;gap:4px 16px;margin:var(--ecm-space-2) 0 0;padding:0}
.ecm-journey__markets a {display:inline-flex;align-items:center;gap:8px;min-height:44px;color:var(--ecm-ink);font-size:14.5px}
.ecm-journey__markets a:hover {color:var(--ecm-primary)}

.ecm-compare .ecm-table td.is-own {background:#f7f3fd;color:var(--ecm-ink)}
.ecm-compare__foot {margin-top:var(--ecm-space-5);color:var(--ecm-ink-2);font-size:15px;line-height:25px}
.ecm-compare__foot .ecm-link-arrow {min-height:0;margin-left:var(--ecm-space-2)}
.ecm-model-notes {display:grid;grid-template-columns:1fr 1fr;gap:var(--ecm-space-5);align-items:stretch}
.ecm-model-notes>*+*,.ecm-model-notes>.ecm-note {margin-top:0}
.ecm-model-notes>.ecm-note {padding:var(--ecm-space-5);border-left:var(--ecm-rule-thick) solid var(--ecm-primary);background:var(--ecm-preview-note-bg)}
.ecm-note a {text-decoration:underline;text-underline-offset:2px}

.ecm-company__grid {display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:var(--ecm-space-10);align-items:start}
.ecm-company__principles {list-style:none;display:grid;gap:var(--ecm-space-3);margin:var(--ecm-space-6) 0 var(--ecm-space-2);padding:0}
.ecm-company__principles li {color:var(--ecm-ink-2);font-size:15.5px;line-height:25px}
.ecm-company__principles strong {color:var(--ecm-ink)}
.ecm-company__facts {margin:0;border:var(--ecm-rule) solid var(--ecm-line);border-radius:var(--ecm-r-card);background:var(--ecm-surface)}
.ecm-company__facts>div {display:grid;grid-template-columns:170px minmax(0,1fr);gap:var(--ecm-space-4);padding:var(--ecm-space-4) var(--ecm-space-6);border-bottom:var(--ecm-rule) solid var(--ecm-line)}
.ecm-company__facts>div:last-child {border-bottom:0}
.ecm-company__facts dt {color:var(--ecm-ink-3);font-size:14px;line-height:24px}
.ecm-company__facts dd {margin:0;color:var(--ecm-ink);font-size:15.5px;line-height:24px;font-weight:var(--ecm-weight-medium)}

.ecm-posts {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--ecm-space-5)}
.ecm-post {display:flex;flex-direction:column;overflow:hidden;border:var(--ecm-rule) solid var(--ecm-line);border-radius:var(--ecm-r-card);background:var(--ecm-surface);color:var(--ecm-ink)}
.ecm-post__media {display:block}
.ecm-post__media img {display:block;width:100%;height:170px;object-fit:cover}
.ecm-post__body {display:flex;flex:1;flex-direction:column;padding:var(--ecm-space-5) var(--ecm-space-6) var(--ecm-space-6)}
.ecm-post__cat {color:var(--ecm-primary);font-size:13.5px;line-height:21px}
.ecm-post__title {margin-top:var(--ecm-space-2);font-size:18px;line-height:27px;font-weight:var(--ecm-weight-semibold)}
.ecm-post__more {margin-top:auto;padding-top:var(--ecm-space-4);color:var(--ecm-primary);font-size:14.5px;font-weight:var(--ecm-weight-semibold)}
.ecm-post:hover .ecm-post__title {color:var(--ecm-primary)}

.ecm-quickfacts {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0 0 var(--ecm-space-9);border:var(--ecm-rule) solid var(--ecm-line);border-radius:var(--ecm-r-card);background:var(--ecm-surface)}
.ecm-quickfacts>div {padding:var(--ecm-space-5) var(--ecm-space-6);border-right:var(--ecm-rule) solid var(--ecm-line)}
.ecm-quickfacts>div:last-child {border-right:0}
.ecm-quickfacts dt {color:var(--ecm-ink-3);font-size:13.5px;line-height:21px}
.ecm-quickfacts dd {margin:var(--ecm-space-1) 0 0;color:var(--ecm-ink);font-size:16px;line-height:24px;font-weight:var(--ecm-weight-semibold)}
.ecm-quickfacts dd a {color:var(--ecm-primary)}
.ecm-service-sidebar__group {margin:var(--ecm-space-5) 0 var(--ecm-space-1);color:var(--ecm-ink-3);font-size:12px;line-height:18px;letter-spacing:.06em;text-transform:uppercase;font-weight:var(--ecm-weight-semibold)}
.ecm-service-sidebar>h3+.ecm-service-sidebar__group {margin-top:0}
.ecm-service-sidebar__markets {display:flex;flex-wrap:wrap;gap:4px 12px;padding:var(--ecm-space-3) 0;border-bottom:var(--ecm-rule) solid var(--ecm-line)}
.ecm-service-sidebar__markets>span {flex-basis:100%;color:var(--ecm-ink-3);font-size:13px;line-height:20px}
.ecm-service-sidebar__markets a {display:inline-flex;align-items:center;gap:6px;min-height:36px;color:var(--ecm-navy);font-size:14px}
.ecm-service-sidebar__markets a.is-active {color:var(--ecm-primary);font-weight:var(--ecm-weight-semibold)}
.ecm-service-sidebar__markets .ecm-flag-img {width:20px;height:calc(20px * 26 / 36)}

.ecm-byline {display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;margin-top:var(--ecm-space-5);padding-block:var(--ecm-space-3);border-block:var(--ecm-rule) solid var(--ecm-line);color:var(--ecm-ink-3);font-size:14px;line-height:22px}
.ecm-related {display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--ecm-space-4) var(--ecm-space-6);margin-top:var(--ecm-space-8);padding:var(--ecm-space-5) var(--ecm-space-6);border:var(--ecm-rule) solid #cfc0ee;border-radius:var(--ecm-r-card);background:#f7f3fd}
.ecm-related__label {color:var(--ecm-ink-3);font-size:13.5px;line-height:21px}
.ecm-related__title {display:block;color:var(--ecm-ink);font-size:18px;line-height:27px;font-weight:var(--ecm-weight-semibold)}
.ecm-related__title:hover {color:var(--ecm-primary)}
.ecm-article-back {margin-top:var(--ecm-space-5);font-size:15px}

.ecm-table--grouped tbody tr:nth-child(even) {background:transparent}
.ecm-table tr.ecm-table__group th {padding-block:var(--ecm-space-3);background:var(--ecm-surface-2);color:var(--ecm-ink);font-size:13.5px;line-height:20px;letter-spacing:.02em;font-weight:var(--ecm-weight-semibold)}
.ecm-statsline {grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.ecm-faq-wrap .ecm-section__head .ecm-lead a {color:var(--ecm-primary);text-decoration:underline;text-underline-offset:3px}

.ecm-page-hero__media picture,.ecm-deliverables__media picture,.ecm-article-cover picture {display:block;width:100%;height:100%}
.ecm-zalo {display:inline-block;flex:none;width:22px;height:22px;border-radius:6px;vertical-align:middle}
.ecm-zalo * {stroke:none}
.ecm-btn .ecm-zalo {margin-left:-4px}

@media(max-width:1023px) {
  .ecm-situations {grid-template-columns:repeat(2,minmax(0,1fr))}
  .ecm-journeys,.ecm-posts {grid-template-columns:1fr}
  .ecm-company__grid {grid-template-columns:1fr;gap:var(--ecm-space-8)}
  .ecm-quickfacts {grid-template-columns:1fr 1fr}
  .ecm-quickfacts>div:nth-child(2) {border-right:0}
  .ecm-quickfacts>div:nth-child(-n+2) {border-bottom:var(--ecm-rule) solid var(--ecm-line)}
  .ecm-model-notes {grid-template-columns:1fr}
}
@media(max-width:767px) {
  .ecm-situations {grid-template-columns:1fr}
  .ecm-situation,.ecm-journey {padding:var(--ecm-space-5)}
  .ecm-company__facts>div {grid-template-columns:1fr;gap:2px;padding:var(--ecm-space-3) var(--ecm-space-4)}
  .ecm-post {display:grid;grid-template-columns:112px minmax(0,1fr)}
  .ecm-post__media img {height:100%;min-height:118px}
  .ecm-post__body {padding:var(--ecm-space-4)}
  .ecm-post__title {font-size:16px;line-height:24px}
  .ecm-quickfacts {grid-template-columns:1fr}
  .ecm-quickfacts>div {border-right:0;border-bottom:var(--ecm-rule) solid var(--ecm-line)}
  .ecm-quickfacts>div:last-child {border-bottom:0}
}

/* ===== V4.4 vòng 2: chủ website chọn 6A 7A 12A 16A 18A 22A ngày 15/09/2026 ===== */

/* 6A quy trình: số lớn gradient, đường nối, thẻ trắng viền mảnh */
.ecm-section[data-section=process] {background:var(--ecm-bg)}
.ecm-section[data-section=process]::before {display:none}
.ecm-steps {position:relative;gap:var(--ecm-space-5)}
.ecm-steps::before {content:"";position:absolute;left:4%;right:4%;top:58px;height:2px;border-radius:2px;background:var(--ecm-gradient);opacity:.45}
.ecm-step {min-height:0;margin-top:0;padding:var(--ecm-space-7) var(--ecm-space-6) var(--ecm-space-6);border:var(--ecm-rule) solid var(--ecm-line);border-radius:var(--ecm-r-card);background:var(--ecm-surface);box-shadow:none}
.ecm-step::after {display:none}
.ecm-step::before {width:56px;height:56px;margin-bottom:var(--ecm-space-5);border:0;border-radius:16px;background:var(--ecm-gradient);color:#fff;font:700 20px/1 var(--ecm-font-body);box-shadow:0 10px 24px rgba(133,93,235,.28)}
.ecm-step__time {display:inline-block;margin-bottom:var(--ecm-space-3);padding:2px 10px;border-radius:var(--ecm-r-btn);background:#f2ecfd;color:#5c40a2;font-size:12.5px;line-height:20px;letter-spacing:0}
.ecm-step:hover,.ecm-step:focus-within {border-color:#cfc0ee;background:var(--ecm-surface);box-shadow:var(--ecm-v4-card-shadow)}
.ecm-step:hover::before,.ecm-step:focus-within::before {border:0;background:var(--ecm-gradient);color:#fff}

/* 7A trang giới thiệu riêng: hồ sơ doanh nghiệp, hiệu ứng nhẹ */
.ecm-about-hero {padding-block:var(--ecm-space-10) var(--ecm-v4-section-y);background:var(--ecm-gradient-soft)}
.ecm-about-hero__grid {display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:var(--ecm-space-10);align-items:center}
.ecm-about-hero .ecm-breadcrumb,.ecm-contact-page .ecm-breadcrumb {display:flex;flex-wrap:wrap;gap:8px;margin-bottom:var(--ecm-space-6);color:var(--ecm-ink-3);font-size:14px}
.ecm-about-hero .ecm-breadcrumb a,.ecm-contact-page .ecm-breadcrumb a {color:var(--ecm-primary)}
.ecm-about-hero__title {margin:0 0 var(--ecm-space-4);font-size:46px;line-height:56px;font-weight:var(--ecm-weight-semibold);letter-spacing:-.02em;color:var(--ecm-ink);text-wrap:balance}
.ecm-about-hero .ecm-lead {max-width:620px}
.ecm-about-hero .ecm-cluster {margin-top:var(--ecm-space-7)}
.ecm-draw-line {display:block;width:120px;height:3px;margin-top:var(--ecm-space-4);border-radius:3px;background:var(--ecm-gradient);transform-origin:left}
.ecm-motion [data-reveal] .ecm-draw-line {transform:scaleX(0);transition:transform .6s var(--ecm-ease) .1s}
.ecm-motion [data-reveal].is-visible .ecm-draw-line {transform:scaleX(1)}
.ecm-principle-cards {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--ecm-space-5)}
.ecm-principle-card,.ecm-scope-col {padding:var(--ecm-space-7);border:var(--ecm-rule) solid var(--ecm-line);border-radius:var(--ecm-r-card);background:var(--ecm-surface)}
.ecm-principle-card h3,.ecm-scope-col h3 {font-size:19px;line-height:28px;font-weight:var(--ecm-weight-semibold);color:var(--ecm-ink)}
.ecm-principle-card p {margin-top:var(--ecm-space-3);color:var(--ecm-ink-2);font-size:15px;line-height:25px}
.ecm-scope-cols {display:grid;grid-template-columns:1fr 1fr;gap:var(--ecm-space-5)}
.ecm-scope-col ul {list-style:none;margin:var(--ecm-space-4) 0 0;padding:0}
.ecm-scope-col li {position:relative;padding:var(--ecm-space-3) 0 var(--ecm-space-3) 30px;border-top:var(--ecm-rule) solid var(--ecm-line);color:var(--ecm-ink-2);font-size:15.5px;line-height:25px}
.ecm-scope-col li::before {content:"✓";position:absolute;left:4px;top:var(--ecm-space-3);color:#1f6f4a;font-weight:700}
.ecm-scope-col--not li::before {content:"–";color:#9c2f2f}

/* 18A số liệu: số lớn trên nền sáng, đường gradient và số nhảy khi cuộn tới */
.ecm-stats__grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--ecm-space-6)}
.ecm-stats__item {position:relative;padding-top:var(--ecm-space-6)}
.ecm-stats__item::before {content:"";position:absolute;left:0;right:0;top:0;height:2px;border-radius:2px;background:var(--ecm-gradient);transform-origin:left}
.ecm-motion .ecm-stats__item[data-reveal]::before {transform:scaleX(0);transition:transform .6s var(--ecm-ease) .1s}
.ecm-motion .ecm-stats__item.is-visible::before {transform:scaleX(1)}
.ecm-stats__value {display:block;font-size:56px;line-height:64px;font-weight:var(--ecm-weight-semibold);letter-spacing:-.02em;color:var(--ecm-ink);font-variant-numeric:tabular-nums}
.ecm-stats__label {display:block;max-width:280px;margin-top:var(--ecm-space-2);color:var(--ecm-ink-2);font-size:15px;line-height:24px}

/* 12A form: thẻ nổi giữa nền bản đồ chấm, kênh liên hệ trực tiếp */
.ecm-quote .ecm-section__head--center {margin-bottom:var(--ecm-space-8)}
.ecm-quote__card {display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:var(--ecm-space-9);max-width:1040px;margin:0 auto;padding:var(--ecm-space-8);border:var(--ecm-rule) solid var(--ecm-line);border-radius:20px;background:var(--ecm-surface);box-shadow:0 24px 60px rgba(20,41,81,.12)}
.ecm-quote__aside {padding-left:var(--ecm-space-8);border-left:var(--ecm-rule) solid var(--ecm-line)}
.ecm-choices {display:flex;flex-wrap:wrap;gap:var(--ecm-space-2);margin:0;padding:0;border:0;min-width:0}
.ecm-choices legend {width:100%;margin-bottom:var(--ecm-space-2);padding:0}
.ecm-choice {position:relative;display:inline-flex}
.ecm-choice input {position:absolute;opacity:0;width:1px;height:1px;margin:0}
.ecm-choice span {display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border:var(--ecm-rule) solid var(--ecm-input-border);border-radius:var(--ecm-r-btn);background:var(--ecm-surface);color:var(--ecm-ink);font-size:14.5px;cursor:pointer;transition:border-color var(--ecm-v4-fast),background var(--ecm-v4-fast)}
.ecm-choice span:hover {border-color:var(--ecm-primary)}
.ecm-choice input:checked+span {border-color:var(--ecm-primary);background:#f2ecfd;color:#5c40a2;font-weight:var(--ecm-weight-semibold);box-shadow:inset 0 0 0 1px var(--ecm-primary)}
.ecm-choice input:focus-visible+span {outline:2px solid var(--ecm-primary);outline-offset:2px}
.ecm-channels {list-style:none;margin:0;padding:0}
.ecm-channels li+li {border-top:var(--ecm-rule) solid var(--ecm-line)}
.ecm-channels a,.ecm-channel {display:flex;align-items:center;gap:var(--ecm-space-3);min-height:64px;padding-block:var(--ecm-space-3);color:var(--ecm-ink)}
.ecm-channels a:hover b {color:var(--ecm-primary)}
.ecm-channels b,.ecm-contact-card b {display:block;font-size:15.5px;line-height:23px;font-weight:var(--ecm-weight-semibold)}
.ecm-channels small,.ecm-contact-card small {display:block;margin-top:2px;color:var(--ecm-ink-3);font-size:13.5px;line-height:21px}
.ecm-channel__ic {display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:12px;background:var(--ecm-gradient-action);color:#fff}
.ecm-channel__ic svg {width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.ecm-channels .ecm-zalo {width:40px;height:40px;border-radius:12px}

/* 16A trang liên hệ: ba thẻ kênh và form trên nền bản đồ chấm */
.ecm-contact-page {position:relative;padding-block:var(--ecm-space-9) var(--ecm-v4-section-y);background-color:var(--ecm-surface);background-image:linear-gradient(var(--ecm-v4-contact-overlay),var(--ecm-v4-contact-overlay)),var(--ecm-v4-contact-map);background-repeat:no-repeat;background-position:center;background-size:cover}
.ecm-contact-page__head {max-width:760px;margin-bottom:var(--ecm-space-8)}
.ecm-contact-page__title {margin:0;font-size:var(--ecm-h1-size);line-height:var(--ecm-h1-line);font-weight:var(--ecm-weight-semibold);letter-spacing:-.018em;color:var(--ecm-ink)}
.ecm-contact-page__head .ecm-lead {margin-top:var(--ecm-space-4)}
.ecm-contact-page__grid {display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:var(--ecm-space-7);align-items:start}
.ecm-contact-cards {display:grid;gap:var(--ecm-space-3)}
.ecm-contact-card {display:flex;align-items:flex-start;gap:var(--ecm-space-4);padding:var(--ecm-space-5);border:var(--ecm-rule) solid var(--ecm-line);border-radius:var(--ecm-r-card);background:var(--ecm-surface);color:var(--ecm-ink)}
a.ecm-contact-card:hover {border-color:#cfc0ee;box-shadow:var(--ecm-shadow)}
.ecm-contact-card b {font-size:16.5px;line-height:24px}
.ecm-contact-card .ecm-zalo,.ecm-contact-card .ecm-channel__ic {width:44px;height:44px;border-radius:12px}
.ecm-contact-page__form {padding:var(--ecm-space-7);border:var(--ecm-rule) solid var(--ecm-line);border-radius:20px;background:var(--ecm-surface);box-shadow:0 24px 60px rgba(20,41,81,.1)}
.ecm-contact-page__formtitle {font-size:20px;line-height:28px;font-weight:var(--ecm-weight-semibold);color:var(--ecm-ink)}

/* 22A thanh đáy điện thoại: nền trắng, viền mảnh, nút cao 52px */
.ecm-mobilebar {gap:10px;padding:12px 14px calc(12px + env(safe-area-inset-bottom));border-top:var(--ecm-rule) solid var(--ecm-line);box-shadow:0 -10px 30px rgba(20,41,81,.08);min-height:0}
.ecm-mobilebar .ecm-btn {height:52px;min-height:52px;padding:0 12px;border-radius:14px;font-size:15px;letter-spacing:.01em}
.ecm-mobilebar .ecm-mobilebar__zalo {flex:1 1 0;gap:9px;border-color:#c9d5e6;background:var(--ecm-surface);color:var(--ecm-ink)}
.ecm-mobilebar .ecm-mobilebar__quote {flex:1.25 1 0;box-shadow:0 8px 20px rgba(78,85,203,.28)}

@media(max-width:1023px) {
  .ecm-steps::before {display:none}
  .ecm-about-hero__grid,.ecm-scope-cols,.ecm-principle-cards,.ecm-contact-page__grid {grid-template-columns:1fr}
  .ecm-quote__card {grid-template-columns:1fr;gap:var(--ecm-space-7);padding:var(--ecm-space-6)}
  .ecm-quote__aside {padding-left:0;padding-top:var(--ecm-space-6);border-left:0;border-top:var(--ecm-rule) solid var(--ecm-line)}
}
@media(max-width:767px) {
  .ecm-about-hero {padding-top:var(--ecm-space-8)}
  .ecm-about-hero__title {font-size:32px;line-height:40px}
  .ecm-principle-card,.ecm-scope-col,.ecm-contact-page__form {padding:var(--ecm-space-5)}
  .ecm-stats__value {font-size:44px;line-height:52px}
  .ecm-contact-page {background-size:auto 100%}
}

/* ===== V4.6 redesign theo jnt.asia — chủ website duyệt 16/09/2026 (1A đến 17A, riêng phần 10 giữ dải logo chạy) =====
   2A nút xanh đặc bo 8px · 3A tiêu đề chữ thường đậm 700 · 4A header có Chat Zalo · 5A hero ảnh tĩnh
   6A dịch vụ có ảnh · 7A ba nguyên tắc ảnh xen kẽ · 8A dải số liệu nổi · 9A ba lộ trình theo tình huống */
:root {
  --ecm-ink:#0b1b35;--ecm-ink-2:#3b4a63;--ecm-ink-3:#5c6b82;
  --ecm-bg:#f3f6fa;--ecm-line:#e1e7ef;--ecm-action:#4e55cb;--ecm-action-hover:#4148ab;
  --ecm-h1-size:52px;--ecm-h1-line:60px;--ecm-h2-size:44px;--ecm-h2-line:54px;
  --ecm-h3-size:22px;--ecm-h3-line:30px;--ecm-h4-size:19px;--ecm-h4-line:28px;
  --ecm-body-size:17px;--ecm-body-line:28px;--ecm-body-lg-size:19px;--ecm-body-lg-line:31px;
  --ecm-small-size:15.5px;--ecm-small-line:25px;--ecm-eyebrow-size:15px;
  --ecm-hero-title-size:56px;--ecm-hero-title-line:64px;--ecm-hero-stage-h:660px;
  --ecm-r-btn:8px;--ecm-r-input:10px;--ecm-r-card:14px;--ecm-r-icon:14px;--ecm-control-h:52px;
  --ecm-container:1240px;--ecm-gutter:24px;--ecm-section-y:88px;--ecm-v4-section-y:88px;
  --ecm-statsband-overlap:92px;--ecm-facts-overlap:64px;
}
body {color:var(--ecm-ink-2)}
.ecm-h1,.ecm-h2,.ecm-h3,.ecm-h4,.ecm-display {font-weight:700;letter-spacing:-.018em}
.ecm-display {letter-spacing:-.022em}
.ecm-eyebrow {font-weight:600;letter-spacing:.01em}
.ecm-section__head--center {max-width:840px}
.ecm-section__head .ecm-lead {margin-top:var(--ecm-space-4)}

/* 2A nút: xanh đặc, bo 8px, cao 52px */
.ecm-btn {min-height:52px;padding-inline:var(--ecm-space-7);border-radius:14px;font-size:16px;font-weight:700;letter-spacing:.01em;transition:background var(--ecm-duration),color var(--ecm-duration),box-shadow var(--ecm-duration),transform var(--ecm-duration)}
.ecm-btn--primary {background:var(--ecm-gradient-action);box-shadow:0 12px 26px rgba(130,91,229,.34)}
.ecm-btn--primary:hover {background:var(--ecm-gradient-action-hover);box-shadow:0 16px 32px rgba(130,91,229,.44);transform:translateY(-1px)}
.ecm-btn--ghost {border-color:#c6d1e1;color:var(--ecm-ink)}
.ecm-btn--ghost:hover {border-color:var(--ecm-action);color:var(--ecm-action)}
.ecm-hero__actions .ecm-btn {min-height:52px;font-size:16px}

/* 4A header: thêm Chat Zalo cạnh nút báo giá */
.ecm-header__zalo {display:inline-flex;align-items:center;gap:8px;min-height:44px;color:var(--ecm-ink);font-size:15px;font-weight:600}
.ecm-header__zalo:hover {color:var(--ecm-action)}
.ecm-header__zalo .ecm-zalo {width:26px;height:26px}

/* 5A hero: ảnh tĩnh, một thông điệp, dòng tin cậy */
.ecm-hero__stage:after {background:linear-gradient(90deg,rgba(7,18,40,.94),rgba(7,18,40,.76) 46%,rgba(7,18,40,.22))}
.ecm-hero__in {padding-bottom:calc(var(--ecm-statsband-overlap) + var(--ecm-space-9))}
.ecm-hero__eyebrow {font-size:14px;letter-spacing:.06em}
.ecm-hero .ecm-display {max-width:840px}
.ecm-hero__lead {max-width:660px;font-size:19px;line-height:31px}
.ecm-hero__trust {margin-top:26px;font-size:14.5px}

/* 8A dải số liệu nổi lên mép dưới ảnh */
.ecm-statsband-zone {position:relative;z-index:3;margin-top:calc(-1 * var(--ecm-statsband-overlap))}
.ecm-statsband {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-radius:var(--ecm-r-card);background:var(--ecm-action);color:var(--ecm-on-primary);box-shadow:0 24px 48px rgba(11,27,53,.2)}
.ecm-statsband__item {padding:var(--ecm-space-7) var(--ecm-space-6);border-left:var(--ecm-rule) solid rgba(255,255,255,.2)}
.ecm-statsband__item:first-child {border-left:0}
.ecm-statsband__value {display:block;font-size:46px;line-height:1;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.ecm-statsband__label {display:block;margin-top:var(--ecm-space-3);color:#e3e9ff;font-size:15px;line-height:22px}
.ecm-statsband-zone+.ecm-section {padding-top:var(--ecm-space-9)}

/* 6A dịch vụ: thẻ lớn cho thanh toán, 4 thẻ có ảnh, hàng cờ */
.ecm-svc-feature {display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);overflow:hidden;border-radius:var(--ecm-r-card);background:var(--ecm-surface);box-shadow:var(--ecm-v4-card-shadow)}
.ecm-svc-feature__media {margin:0}
.ecm-svc-feature__media picture,.ecm-svc-feature__media img {display:block;width:100%;height:100%}
.ecm-svc-feature__media img {min-height:340px;object-fit:cover}
.ecm-svc-feature__body {padding:var(--ecm-space-8) var(--ecm-space-9)}
.ecm-svc-feature__body .ecm-lead {margin-top:var(--ecm-space-3)}
.ecm-svc-links {list-style:none;margin:var(--ecm-space-6) 0 0;padding:0;border-top:var(--ecm-rule) solid var(--ecm-line)}
.ecm-svc-links a {display:flex;align-items:center;justify-content:space-between;gap:var(--ecm-space-4);min-height:54px;border-bottom:var(--ecm-rule) solid var(--ecm-line);color:var(--ecm-ink);font-size:16px;font-weight:600}
.ecm-svc-links a span {color:var(--ecm-primary)}
.ecm-svc-links a:hover {color:var(--ecm-primary)}
.ecm-svc-cards {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--ecm-space-5);margin-top:var(--ecm-space-5)}
.ecm-svc-card {display:flex;flex-direction:column;overflow:hidden;border-radius:var(--ecm-r-card);background:var(--ecm-surface);box-shadow:var(--ecm-v4-card-shadow-soft);color:var(--ecm-ink);transition:box-shadow var(--ecm-v4-slow) var(--ecm-v4-ease)}
.ecm-svc-card:hover,.ecm-svc-card:focus-visible {box-shadow:var(--ecm-v4-card-shadow-hover)}
.ecm-svc-card__media {margin:0}
.ecm-svc-card__media img {display:block;width:100%;height:168px;object-fit:cover}
.ecm-svc-card__body {display:flex;flex:1;flex-direction:column;gap:var(--ecm-space-2);padding:var(--ecm-space-5) var(--ecm-space-6) var(--ecm-space-6)}
.ecm-svc-card__title {display:flex;align-items:center;gap:var(--ecm-space-2);color:var(--ecm-ink);font-size:19px;line-height:27px;font-weight:700}
.ecm-svc-card__title .ecm-flag-img {width:26px;height:calc(26px * 26 / 36)}
.ecm-svc-card p {color:var(--ecm-ink-2);font-size:15px;line-height:24px}
.ecm-svc-card__more {margin-top:auto;padding-top:var(--ecm-space-3);color:var(--ecm-primary);font-size:15px;font-weight:600}
.ecm-markets-row {display:flex;flex-wrap:wrap;align-items:center;gap:var(--ecm-space-2) var(--ecm-space-6);margin-top:var(--ecm-space-7);color:var(--ecm-ink);font-size:15.5px}
.ecm-markets-row a {display:inline-flex;align-items:center;gap:var(--ecm-space-2);min-height:44px;color:var(--ecm-ink)}
.ecm-markets-row a:hover {color:var(--ecm-primary)}
.ecm-markets-row .ecm-flag-img {width:24px;height:calc(24px * 26 / 36)}
.ecm-markets-row__all {margin-left:auto}

/* 7A vì sao chọn ECM: ảnh và chữ đổi bên */
.ecm-why__list {display:grid;gap:var(--ecm-space-6)}
.ecm-why__row {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);overflow:hidden;border-radius:var(--ecm-r-card);background:var(--ecm-surface);box-shadow:var(--ecm-v4-card-shadow-soft)}
.ecm-why__row:nth-child(even) .ecm-why__media {order:2}
.ecm-why__media {margin:0}
.ecm-why__media picture,.ecm-why__media img {display:block;width:100%;height:100%}
.ecm-why__media img {min-height:360px;object-fit:cover}
.ecm-why__body {display:flex;flex-direction:column;justify-content:center;padding:var(--ecm-space-9) var(--ecm-space-10)}
.ecm-why__icon {display:grid;place-items:center;width:52px;height:52px;margin-bottom:var(--ecm-space-5);border-radius:var(--ecm-r-icon);background:var(--ecm-gradient-action);color:#fff}
.ecm-why__icon svg {width:26px;height:26px;fill:none;stroke:currentColor}
.ecm-why__body .ecm-lead {margin-top:var(--ecm-space-3)}
.ecm-check {list-style:none;display:grid;gap:var(--ecm-space-3);margin:var(--ecm-space-5) 0 0;padding:0}
.ecm-check li {position:relative;padding-left:30px;color:var(--ecm-ink);font-size:16px;line-height:25px}
.ecm-check li::before {content:"";position:absolute;left:0;top:3px;width:19px;height:19px;border-radius:50%;background:#f2ecfd}
.ecm-check li::after {content:"";position:absolute;left:6px;top:8px;width:7px;height:4px;border-left:2px solid var(--ecm-primary);border-bottom:2px solid var(--ecm-primary);transform:rotate(-45deg)}

/* 9A lộ trình theo tình huống */
.ecm-routes {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--ecm-space-5);align-items:stretch}
.ecm-route {position:relative;display:flex;flex-direction:column;padding:var(--ecm-space-7);border:var(--ecm-rule) solid var(--ecm-line);border-radius:var(--ecm-r-card);background:var(--ecm-surface);transition:transform var(--ecm-duration),box-shadow var(--ecm-duration)}
.ecm-route:hover {transform:translateY(-4px);box-shadow:var(--ecm-v4-card-shadow-hover)}
.ecm-route .ecm-h3 {min-height:60px}
.ecm-route--lead {padding-top:calc(var(--ecm-space-7) + 4px)}
.ecm-route--lead::before {content:"";position:absolute;left:0;right:0;top:0;height:4px;border-radius:var(--ecm-r-card) var(--ecm-r-card) 0 0;background:var(--ecm-gradient)}
.ecm-route__num {margin:0 0 var(--ecm-space-4);color:#825be5;font-size:34px;line-height:1;font-weight:var(--ecm-weight-bold);font-variant-numeric:tabular-nums}
@supports ((-webkit-background-clip:text) or (background-clip:text)){
.ecm-route__num {background:var(--ecm-gradient);-webkit-background-clip:text;background-clip:text;color:transparent}
}
.ecm-route .ecm-check {margin-bottom:var(--ecm-space-6)}
.ecm-route .ecm-check li {font-size:15px;line-height:23px}
.ecm-route__foot {display:grid;gap:var(--ecm-space-3);margin-top:auto;padding-top:var(--ecm-space-5)}
.ecm-route__cost {margin:0;color:var(--ecm-ink-3);font-size:14px;line-height:22px}

/* 10A đối tác: giữ dải logo chạy, thêm khối cộng đồng */
.ecm-trust {padding-block:var(--ecm-section-y);border-bottom:0}
.ecm-trust__head {flex-direction:column;align-items:center;gap:var(--ecm-space-4);text-align:center}
.ecm-trust__entity {text-align:center}
.ecm-community {display:grid;grid-template-columns:minmax(0,1fr);gap:var(--ecm-space-3);margin-top:0}
.ecm-community-split {display:grid;grid-template-columns:minmax(0,0.85fr) minmax(0,1.15fr);gap:var(--ecm-space-8);align-items:center}
.ecm-community-split .ecm-section__head {margin-bottom:0;max-width:none}
.ecm-community-split .ecm-h2 {font-size:32px;line-height:42px}
.ecm-community__card {display:flex;gap:var(--ecm-space-4);align-items:center;padding:var(--ecm-space-5) var(--ecm-space-6);border:var(--ecm-rule) solid var(--ecm-line);border-radius:var(--ecm-r-card);background:var(--ecm-surface);color:var(--ecm-ink);transition:border-color var(--ecm-duration),background var(--ecm-duration)}
.ecm-community__ic {display:grid;place-items:center;flex:none;width:48px;height:48px;border-radius:12px;color:#fff}
.ecm-community__ic svg {width:24px;height:24px;fill:currentColor;stroke:none}
.ecm-community__ic--fb {background:#1877f2}
.ecm-community__ic--yt {background:#e62117}
.ecm-community__card b {display:block;font-size:17px;line-height:25px;font-weight:700}
.ecm-community__card div span {display:block;margin-top:var(--ecm-space-1);color:var(--ecm-ink-3);font-size:14.5px;line-height:22px}
a.ecm-community__card:hover {border-color:var(--ecm-primary);background:#faf7ff}
a.ecm-community__card:hover b {color:var(--ecm-primary)}

/* 11A kiến thức: thanh chuyên mục, một bài nổi bật và danh sách */
.ecm-knowledge {display:block}
.ecm-knowledge__tabs {display:flex;flex-wrap:wrap;gap:var(--ecm-space-2) var(--ecm-space-6);margin-bottom:var(--ecm-space-7);border-bottom:var(--ecm-rule) solid var(--ecm-line)}
.ecm-knowledge__tab {min-height:46px;padding:0 0 var(--ecm-space-3);border:0;border-bottom:var(--ecm-rule-active) solid transparent;background:none;color:var(--ecm-ink-3);font-size:15.5px;font-weight:600;cursor:pointer}
.ecm-knowledge__tab:hover {color:var(--ecm-ink)}
.ecm-knowledge__tab[aria-pressed=true] {border-color:var(--ecm-action);color:var(--ecm-ink)}
.ecm-knowledge__grid {display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:var(--ecm-space-9)}
.ecm-feature-post {display:block;color:var(--ecm-ink)}
.ecm-feature-post__media {display:block}
.ecm-feature-post__media img {display:block;width:100%;height:320px;object-fit:cover;border-radius:var(--ecm-r-card)}
.ecm-feature-post .ecm-h3 {margin-top:var(--ecm-space-2);font-size:26px;line-height:34px}
.ecm-feature-post__sum {margin-top:var(--ecm-space-3);color:var(--ecm-ink-2);font-size:16px;line-height:26px}
.ecm-post__cat {margin-top:var(--ecm-space-5);color:var(--ecm-primary);font-size:13.5px;line-height:21px;font-weight:600}
.ecm-post__meta {margin-top:var(--ecm-space-3);color:var(--ecm-ink-3);font-size:14px;line-height:22px}
.ecm-post-list {display:grid;gap:var(--ecm-space-6);align-content:start}
.ecm-post-item {display:grid;grid-template-columns:150px minmax(0,1fr);gap:var(--ecm-space-5);align-items:start;padding-bottom:var(--ecm-space-6);border-bottom:var(--ecm-rule) solid var(--ecm-line);color:var(--ecm-ink)}
.ecm-post-item:last-child {padding-bottom:0;border-bottom:0}
.ecm-post-item__media img {display:block;width:150px;height:104px;object-fit:cover;border-radius:10px}
.ecm-post-item .ecm-post__cat {margin-top:0}
.ecm-post-item b {display:block;margin-top:var(--ecm-space-2);font-size:17px;line-height:25px;font-weight:700}
.ecm-post-item .ecm-post__meta {margin-top:var(--ecm-space-2)}
.ecm-post-item:hover b,.ecm-feature-post:hover .ecm-h3 {color:var(--ecm-primary)}

/* 12A khối liên hệ: nền tối, giữ bản đồ chấm */
.ecm-quote--dark {background-color:var(--ecm-navy-2);background-image:linear-gradient(rgba(11,25,54,.88),rgba(11,25,54,.88)),var(--ecm-v4-contact-map);background-repeat:no-repeat;background-position:center;background-size:cover}
.ecm-quote--dark .ecm-quote__card {display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:var(--ecm-space-10);max-width:none;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.ecm-quote--dark .ecm-quote__aside {padding:0;border:0;color:var(--ecm-on-navy)}
.ecm-quote--dark .ecm-h2 {color:var(--ecm-on-primary)}
.ecm-quote--dark .ecm-eyebrow {color:var(--ecm-primary-on-dark)}
.ecm-quote--dark .ecm-lead {color:var(--ecm-on-navy)}
.ecm-quote--dark .ecm-channels {margin-top:var(--ecm-space-7)}
.ecm-quote--dark .ecm-channels li+li {border-top-color:var(--ecm-v4-line-dark)}
.ecm-quote--dark .ecm-channels a,.ecm-quote--dark .ecm-channel {color:var(--ecm-on-primary)}
.ecm-quote--dark .ecm-channels small {color:var(--ecm-on-navy)}
.ecm-quote--dark .ecm-channels a:hover b {color:var(--ecm-primary-on-dark)}
.ecm-quote--dark .ecm-channel__ic {background:rgba(255,255,255,.08);color:var(--ecm-primary-on-dark)}
.ecm-quote__form {padding:var(--ecm-space-8);border-radius:20px;background:var(--ecm-surface);box-shadow:0 30px 60px rgba(0,0,0,.3)}
.ecm-quote__form .ecm-h3 {margin-bottom:var(--ecm-space-2)}

/* 13A đầu trang con: ảnh lớn, chữ căn trái, dải thông tin nhanh nổi lên */
.ecm-page-hero__stage {min-height:440px}
.ecm-page-hero__content {display:block;padding-block:var(--ecm-space-11) var(--ecm-space-10);text-align:left}
.ecm-page-hero:has(+ .ecm-section .ecm-quickfacts) .ecm-page-hero__content {padding-bottom:calc(var(--ecm-facts-overlap) + var(--ecm-space-9))}
.ecm-page-hero__copy {max-width:780px}
.ecm-page-hero__copy .ecm-lead {max-width:700px}
.ecm-page-hero__actions {display:flex;flex-wrap:wrap;gap:var(--ecm-space-3);margin-top:var(--ecm-space-6)}
.ecm-section:has(> .ecm-container > .ecm-quickfacts) {padding-top:0}
.ecm-quickfacts {position:relative;z-index:2;margin-top:calc(-1 * var(--ecm-facts-overlap));margin-bottom:var(--ecm-space-9);border-color:transparent;box-shadow:0 20px 44px rgba(11,27,53,.14)}
.ecm-quickfacts dd {font-size:16px;line-height:24px}

/* 14A thân trang dịch vụ: nội dung theo mục, mục lục dính bên phải */
.ecm-svcbody {display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:var(--ecm-space-10);align-items:start}
.ecm-svc-sec+.ecm-svc-sec {margin-top:var(--ecm-space-9);padding-top:var(--ecm-space-9);border-top:var(--ecm-rule) solid var(--ecm-line)}
.ecm-svc-sec .ecm-h2 {font-size:32px;line-height:40px}
.ecm-svc-sec .ecm-lead {margin-top:var(--ecm-space-3)}
.ecm-svc-sec .ecm-check {margin-top:var(--ecm-space-5)}
.ecm-scope-table {width:100%;margin-top:var(--ecm-space-5);border-collapse:collapse;font-size:16px;line-height:26px}
.ecm-scope-table th {padding:var(--ecm-space-3) var(--ecm-space-5);background:var(--ecm-bg);color:var(--ecm-ink);text-align:left;font-size:14.5px;font-weight:700}
.ecm-scope-table td {padding:var(--ecm-space-4) var(--ecm-space-5);border-bottom:var(--ecm-rule) solid var(--ecm-line);color:var(--ecm-ink-2);vertical-align:top}
.ecm-scope-table td:first-child {width:32%;color:var(--ecm-ink);font-weight:600}
.ecm-fee {display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--ecm-space-5);margin-top:var(--ecm-space-5);padding:var(--ecm-space-7);border-radius:var(--ecm-r-card);background:var(--ecm-bg)}
.ecm-fee__price {color:var(--ecm-ink);font-size:26px;line-height:34px;font-weight:700}
.ecm-fee__price small {display:block;margin-top:var(--ecm-space-1);color:var(--ecm-ink-3);font-size:14.5px;line-height:22px;font-weight:500}
.ecm-toc {position:sticky;top:96px;display:grid;gap:var(--ecm-space-5)}
.ecm-toc__box {padding:var(--ecm-space-6);border:var(--ecm-rule) solid var(--ecm-line);border-radius:var(--ecm-r-card);background:var(--ecm-surface)}
.ecm-toc__box b {display:block;margin-bottom:var(--ecm-space-3);color:var(--ecm-ink-3);font-size:14px;font-weight:600}
.ecm-toc__box a:not(.ecm-btn) {display:block;padding:var(--ecm-space-3) 0 var(--ecm-space-3) var(--ecm-space-4);border-left:var(--ecm-rule-active) solid var(--ecm-line);color:var(--ecm-ink);font-size:15.5px}
.ecm-toc__box a:not(.ecm-btn):hover,.ecm-toc__box a.is-active {border-color:var(--ecm-action);color:var(--ecm-action);font-weight:600}
.ecm-svcbody .ecm-service-sidebar {border-radius:var(--ecm-r-card)}

/* 15A trang giới thiệu: hồ sơ công ty và khung chờ ảnh thật */
.ecm-about-profile {display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:var(--ecm-space-10);align-items:start}
.ecm-photo-wait {display:grid;place-items:center;min-height:420px;padding:var(--ecm-space-7);border:2px dashed #c3cedd;border-radius:var(--ecm-r-card);background:repeating-linear-gradient(45deg,#f5f7fa 0 12px,#eef2f7 12px 24px);color:var(--ecm-ink-3);font-size:15px;line-height:24px;text-align:center}
.ecm-photo-wait b {display:block;margin-bottom:var(--ecm-space-2);color:var(--ecm-ink);font-size:16px}

/* 16A trang liên hệ: bản đồ, hồ sơ công ty, form nền tối */
.ecm-contact-page {padding-block:var(--ecm-space-9) var(--ecm-section-y);background-color:var(--ecm-bg);background-image:none}
.ecm-contactpage__grid {display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:var(--ecm-space-9);align-items:stretch}
.ecm-map {position:relative;overflow:hidden;min-height:360px;border-radius:var(--ecm-r-card);background:var(--ecm-surface);box-shadow:inset 0 0 0 1px var(--ecm-line)}
.ecm-map img {position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ecm-map__pin {position:absolute;left:74%;top:47%;transform:translate(-50%,-100%);padding:10px 14px;border-radius:10px;background:var(--ecm-surface);box-shadow:0 10px 24px rgba(11,27,53,.18);color:var(--ecm-ink);font-size:14px;font-weight:600;white-space:nowrap}
.ecm-map__pin::after {content:"";position:absolute;left:50%;bottom:-8px;margin-left:-8px;border:8px solid transparent;border-top-color:var(--ecm-surface);border-bottom:0}
.ecm-contactpage__actions {display:flex;flex-wrap:wrap;gap:var(--ecm-space-3);margin-top:var(--ecm-space-6)}
.ecm-split-form {display:grid;grid-template-columns:1fr 1fr;margin-top:var(--ecm-space-9);overflow:hidden;border-radius:var(--ecm-r-card);background:var(--ecm-navy-2)}
.ecm-split-form__media {margin:0}
.ecm-split-form__media picture,.ecm-split-form__media img {display:block;width:100%;height:100%}
.ecm-split-form__media img {min-height:540px;object-fit:cover}
.ecm-split-form__body {padding:var(--ecm-space-10);color:var(--ecm-on-navy)}
.ecm-split-form__body .ecm-h2 {color:var(--ecm-on-primary);font-size:34px;line-height:42px}
.ecm-split-form__body .ecm-lead {color:var(--ecm-on-navy)}
.ecm-split-form .ecm-label {color:var(--ecm-on-primary)}
.ecm-split-form .ecm-consent {color:var(--ecm-on-navy)}
.ecm-split-form .ecm-consent a {color:var(--ecm-primary-on-dark)}
.ecm-split-form .ecm-choice span {border-color:var(--ecm-v4-line-dark);background:rgba(255,255,255,.06);color:var(--ecm-on-primary)}
.ecm-split-form .ecm-choice input:checked+span {border-color:var(--ecm-primary-on-dark);background:rgba(153,216,255,.16);color:#fff;box-shadow:none}

/* 17A trang bài viết: thanh chuyên mục, mục lục và hộp dịch vụ liên quan */
.ecm-article-cats {display:flex;gap:var(--ecm-space-6);overflow-x:auto;padding-block:var(--ecm-space-3);border-bottom:var(--ecm-rule) solid var(--ecm-line);white-space:nowrap;font-size:15.5px;font-weight:600}
.ecm-article-cats a {padding-block:var(--ecm-space-3);border-bottom:var(--ecm-rule-active) solid transparent;color:var(--ecm-ink-3)}
.ecm-article-cats a:hover {color:var(--ecm-ink)}
.ecm-article-cats a.is-active {border-color:var(--ecm-action);color:var(--ecm-ink)}
.ecm-article-layout {display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:var(--ecm-space-10);align-items:start}
.ecm-article-page .ecm-h1 {font-size:44px;line-height:54px}
.ecm-article-page .ecm-prose h2 {margin-top:var(--ecm-space-8);color:var(--ecm-ink);font-size:28px;line-height:36px;font-weight:700}
.ecm-article-page .ecm-prose p {max-width:740px;margin-top:var(--ecm-space-4);color:var(--ecm-ink-2);font-size:18px;line-height:30px}

@media(max-width:1023px) {
  .ecm-svc-cards {grid-template-columns:repeat(2,minmax(0,1fr))}
  .ecm-svc-feature,.ecm-why__row,.ecm-knowledge__grid,.ecm-quote--dark .ecm-quote__card,.ecm-svcbody,.ecm-about-profile,.ecm-contactpage__grid,.ecm-split-form,.ecm-article-layout,.ecm-routes,.ecm-community {grid-template-columns:minmax(0,1fr)}
  .ecm-why__row:nth-child(even) .ecm-why__media {order:0}
  .ecm-statsband {grid-template-columns:1fr 1fr}
  .ecm-statsband__item {border-left:0;border-top:var(--ecm-rule) solid rgba(255,255,255,.2)}
  .ecm-statsband__item:nth-child(-n+2) {border-top:0}
  .ecm-statsband__item:nth-child(even) {border-left:var(--ecm-rule) solid rgba(255,255,255,.2)}
  .ecm-why__media img,.ecm-svc-feature__media img,.ecm-split-form__media img {min-height:0;height:260px}
  .ecm-toc {position:static}
  .ecm-markets-row__all {margin-left:0}
  .ecm-split-form__body {padding:var(--ecm-space-8)}
}

@media(max-width:767px) {
  :root {
    --ecm-h1-size:32px;--ecm-h1-line:40px;--ecm-h2-size:29px;--ecm-h2-line:38px;
    --ecm-h3-size:20px;--ecm-h3-line:28px;--ecm-body-size:16px;--ecm-body-line:27px;
    --ecm-body-lg-size:17px;--ecm-body-lg-line:28px;--ecm-hero-title-size:34px;--ecm-hero-title-line:42px;
    --ecm-section-y:56px;--ecm-v4-section-y:56px;--ecm-statsband-overlap:78px;--ecm-facts-overlap:56px;--ecm-gutter:20px;
  }
  .ecm-hero__stage {min-height:0}
  .ecm-hero__in {padding-bottom:calc(var(--ecm-statsband-overlap) + var(--ecm-space-8))}
  .ecm-hero__actions .ecm-btn {flex:1 1 100%}
  .ecm-svc-cards {grid-template-columns:minmax(0,1fr)}
  .ecm-svc-feature__body,.ecm-why__body {padding:var(--ecm-space-6) var(--ecm-space-5)}
  .ecm-svc-card__media img {height:190px}
  .ecm-statsband__item {padding:var(--ecm-space-5) var(--ecm-space-4)}
  .ecm-statsband__value {font-size:34px}
  .ecm-statsband__label {font-size:13.5px;line-height:20px}
  .ecm-knowledge__tabs {flex-wrap:nowrap;overflow-x:auto;gap:var(--ecm-space-5)}
  .ecm-knowledge__tab {white-space:nowrap}
  .ecm-feature-post__media img {height:210px}
  .ecm-post-item {grid-template-columns:104px minmax(0,1fr);gap:var(--ecm-space-4)}
  .ecm-post-item__media img {width:104px;height:78px}
  .ecm-quote__form {padding:var(--ecm-space-6) var(--ecm-space-5)}
  .ecm-route {padding:var(--ecm-space-6) var(--ecm-space-5)}
  .ecm-route .ecm-h3 {min-height:0}
  .ecm-community__card {padding:var(--ecm-space-5)}
  .ecm-community-split {grid-template-columns:minmax(0,1fr);gap:var(--ecm-space-6)}
  .ecm-page-hero__stage {min-height:0}
  .ecm-page-hero__content {padding-block:var(--ecm-space-9) var(--ecm-space-8)}
  .ecm-scope-table td:first-child {width:42%}
  .ecm-scope-table td,.ecm-scope-table th {padding:var(--ecm-space-3) var(--ecm-space-4)}
  .ecm-fee {padding:var(--ecm-space-6) var(--ecm-space-5)}
  .ecm-photo-wait {min-height:240px}
  .ecm-split-form__body {padding:var(--ecm-space-8) var(--ecm-space-5)}
  .ecm-split-form__media img {height:220px}
  .ecm-article-page .ecm-h1 {font-size:30px;line-height:38px}
  .ecm-article-page .ecm-prose p {font-size:17px;line-height:29px}
  .ecm-article-page .ecm-prose h2 {font-size:23px;line-height:31px}
}

/* bổ sung: mục lục bài viết, lọc bài theo chuyên mục */
.ecm-article-main {min-width:0}
.ecm-toc__box p {margin:var(--ecm-space-2) 0 var(--ecm-space-4);color:var(--ecm-ink-2);font-size:15px;line-height:24px}
.ecm-toc__box .ecm-btn {width:100%}
[data-post-cat][hidden] {display:none}
.ecm-community-section {background:var(--ecm-bg);padding-block:64px}
.ecm-community-section .ecm-community {margin-top:0}

@media (prefers-reduced-motion:reduce){.ecm-btn--primary:hover {transform:none}}

@media (prefers-reduced-motion:reduce){.ecm-route:hover {transform:none}}

@media(max-width:767px){.ecm-community-section {padding-block:var(--ecm-section-y)}}

.ecm-community .ecm-btn {margin-top:var(--ecm-space-2)}
