@font-face {
  font-family: "Be Vietnam Pro";
  src: url("../fonts/BeVietnamPro-Regular.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: "Be Vietnam Pro";
  src: url("../fonts/BeVietnamPro-Medium.woff2") format("woff2");
  font-style: normal;
  font-weight: 500;
  font-display: swap;
}
@font-face {
  font-family: "Be Vietnam Pro";
  src: url("../fonts/BeVietnamPro-SemiBold.woff2") format("woff2");
  font-style: normal;
  font-weight: 600;
  font-display: swap;
}
@font-face {
  font-family: "Be Vietnam Pro";
  src: url("../fonts/BeVietnamPro-Bold.woff2") format("woff2");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}
@font-face {
  font-family: "Be Vietnam Pro";
  src: url("../fonts/BeVietnamPro-ExtraBold.woff2") format("woff2");
  font-style: normal;
  font-weight: 800;
  font-display: swap;
}

:root {
  color-scheme: light;
  --ink: #211c38;
  --body: #514b65;
  --muted: #635c78;
  --brand: #5b45cc;
  --brand-hover: #4834ad;
  --brand-text: #4d38b6;
  --brand-deep: #2b224d;
  --brand-light: #efeaff;
  --brand-line: #ddd5f7;
  --line: #e7e2f1;
  --surface: #faf9fd;
  --chat-surface: #f5f3fb;
  --online: #13765f;
  --online-light: #e3f6f0;
  --nav-height: 72px;
  font-family: "Be Vietnam Pro", "Segoe UI", Arial, sans-serif;
  color: var(--ink);
  background: #fff;
  font-synthesis: none;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; line-height: 1.55; -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
button { color: inherit; font: inherit; cursor: pointer; }
h1, h2, h3, h4, p, figure { margin: 0; }
h1, h2, h3, h4 { line-height: 1.13; }
[hidden] { display: none !important; }
section[id], #main, #lien-ket-crm { scroll-margin-top: calc(var(--nav-height) + 14px); }
:focus-visible { outline: 3px solid var(--brand-text); outline-offset: 4px; }
::selection { background: var(--brand-line); color: var(--ink); }

.container { width: min(1232px, calc(100% - 80px)); margin-inline: auto; }
.svg-defs { position: absolute; width: 0; height: 0; overflow: hidden; }
.icon { width: 1.22em; height: 1.22em; flex: none; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; vertical-align: middle; }
.skip-link { position: fixed; z-index: 20; top: 10px; left: 10px; transform: translateY(-160%); background: #fff; padding: 12px 18px; border-radius: 8px; }
.skip-link:focus { transform: none; }

.site-header {
  position: sticky;
  z-index: 10;
  top: 0;
  border-bottom: 1px solid var(--brand-line);
  background: #fffffff2;
  backdrop-filter: blur(14px);
}
.header-inner { display: flex; align-items: center; justify-content: space-between; min-height: var(--nav-height); gap: 24px; }
.brand { display: inline-flex; align-items: center; gap: 15px; flex: none; }
.brand-logo { display: block; width: 154px; height: auto; }
.brand-label { padding-left: 15px; border-left: 1px solid var(--line); color: var(--muted); font-size: .78rem; font-weight: 650; white-space: nowrap; }
.site-nav, .header-actions { display: flex; align-items: center; gap: 24px; }
.site-nav a { color: var(--body); font-size: .89rem; font-weight: 650; white-space: nowrap; transition: color 160ms; }
.site-nav a:hover { color: var(--brand-text); }
.header-actions { gap: 9px; }
.nav-toggle { display: none; }

.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 50px;
  padding: 0 19px;
  border: 1px solid transparent;
  border-radius: 12px;
  font-size: .91rem;
  font-weight: 720;
  line-height: 1.2;
  transition: background 160ms, box-shadow 160ms, border-color 160ms;
}
.button .icon { width: 18px; height: 18px; }
.primary { background: var(--brand); color: #fff; box-shadow: 0 5px 14px #4d38b62c; }
.primary:hover { background: var(--brand-hover); box-shadow: 0 7px 18px #4d38b647; }
.header-demo { min-height: 42px; padding-inline: 13px; font-size: .81rem; }
.header-demo .icon { width: 15px; height: 15px; }
.outline { border-color: var(--brand-line); color: var(--brand-text); background: #ffffffb8; }
.outline:hover { background: var(--brand-light); border-color: var(--brand); }
.outline .icon { width: 16px; height: 16px; }
.text-link { display: inline-flex; align-items: center; gap: 7px; color: var(--brand-text); font-size: .9rem; font-weight: 720; }
.text-link:hover { text-decoration: underline; text-underline-offset: 4px; }

.hero {
  overflow: hidden;
  padding: 64px 0 23px;
  background: radial-gradient(ellipse at 82% 9%, #eae1ff 0, transparent 53%), linear-gradient(180deg, #f7f4ff, #fff);
}
.hero-grid { display: grid; grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr); align-items: center; gap: clamp(24px, 3vw, 42px); }
.hero-copy { padding-bottom: 18px; }
.eyebrow { font-size: .73rem; line-height: 1.3; font-weight: 780; letter-spacing: .11em; }
.hero h1 { font-size: clamp(2.52rem, 4.55vw, 4.38rem); line-height: 1.08; font-weight: 800; letter-spacing: -.055em; }
.hero h1 em { display: block; margin-top: 5px; color: var(--brand-text); font-size: .76em; font-style: normal; line-height: 1.16; letter-spacing: -.045em; }
.hero-lead { max-width: 476px; margin-top: 23px; color: var(--body); font-size: clamp(1rem, 1.31vw, 1.13rem); line-height: 1.65; }
.hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 11px; margin-top: 27px; }
.hero-figure { min-width: 0; }
.hero-visual { position: relative; isolation: isolate; width: 100%; aspect-ratio: 660 / 442; min-height: 338px; }
.hero-visual::before {
  content: "";
  position: absolute;
  inset: 0 0 3% 1%;
  z-index: -1;
  border-radius: 28px;
  background-image: linear-gradient(90deg, #ffffff10 1px, transparent 1px), linear-gradient(#ffffff10 1px, transparent 1px), radial-gradient(ellipse at 81% 10%, #7259ca, transparent 62%), linear-gradient(145deg, #2b224d, #413465);
  background-size: 27px 27px, 27px 27px, auto, auto;
  box-shadow: 0 22px 46px #39286427;
}
.web-window { position: absolute; inset: 8% 10% 15% 4%; display: flex; flex-direction: column; overflow: hidden; border: 1px solid #c8bce7; border-radius: 16px; background: #fff; box-shadow: 0 20px 34px #1a123845; }
.window-bar { min-height: 36px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 12px; padding: 0 13px; color: #f6f2ff; background: #342953; font-size: .68rem; font-weight: 700; }
.window-dots { display: flex; gap: 5px; }
.window-dots i { width: 6px; height: 6px; border-radius: 50%; background: #b7acd6; }
.window-dots i:first-child { background: #80daca; }
.window-status { display: inline-flex; justify-self: end; align-items: center; gap: 5px; color: #c9f5e7; font-size: .56rem; white-space: nowrap; }
.status-dot { display: inline-block; flex: none; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.workspace { min-height: 0; flex: 1; display: grid; grid-template-columns: 44px minmax(111px, .74fr) minmax(0, 1.48fr); }
.app-rail { display: flex; flex-direction: column; align-items: center; gap: 14px; padding-top: 10px; background: var(--brand-deep); color: #d2c7ee; }
.app-rail .icon { width: 15px; height: 15px; }
.app-mark, .rail-active { display: grid; place-items: center; width: 27px; height: 25px; border-radius: 7px; background: #5f4b9b; color: #fff; }
.app-mark { background: #e9e2ff; color: var(--brand-deep); font-size: .62rem; font-weight: 800; }
.app-list { min-width: 0; border-right: 1px solid var(--line); padding: 11px 8px; background: #fff; }
.app-list-title { margin: 0 3px 8px; font-weight: 800; font-size: .8rem; }
.app-list-search { display: flex; align-items: center; gap: 5px; margin-bottom: 8px; padding: 5px 6px; border: 1px solid var(--line); border-radius: 7px; color: var(--muted); background: var(--surface); font-size: .57rem; white-space: nowrap; }
.app-list-tabs { display: flex; align-items: center; gap: 7px; margin: 0 2px 6px; color: var(--muted); font-size: .57rem; white-space: nowrap; }
.app-list-tabs b { padding: 3px 6px; border-radius: 5px; background: var(--brand-light); color: var(--brand-text); }
.app-contact { display: flex; align-items: center; gap: 6px; padding: 7px 4px; border-radius: 8px; font-size: .65rem; }
.app-contact + .app-contact { margin-top: 2px; }
.app-contact.active { background: var(--brand-light); }
.app-contact-copy, .app-chat-head > span:nth-child(2), .phone-head > span:last-child { min-width: 0; }
.app-contact-meta { display: grid; flex: none; justify-items: end; gap: 4px; margin-left: auto; color: var(--muted); font-size: .52rem; line-height: 1; }
.unread-count { display: grid; place-items: center; min-width: 15px; height: 15px; border-radius: 20px; padding-inline: 3px; color: #fff; background: var(--brand); font-weight: 750; }
.app-contact b, .app-contact small, .app-chat-head b, .phone-head b { display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
small { color: var(--muted); }
.app-contact small, .app-chat-head small, .phone-head small { display: block; font-size: .56rem; line-height: 1.35; }
.avatar { display: inline-grid; place-items: center; flex: none; width: 28px; height: 28px; border-radius: 50%; font-size: .59rem; font-weight: 800; }
.cyan { color: #08608f; background: #daf3ff; }
.lilac { color: var(--brand-text); background: var(--brand-light); }
.mint { color: var(--online); background: var(--online-light); }
.amber { color: #8a4a0e; background: #ffefd9; }
.app-chat { display: flex; flex-direction: column; min-width: 0; background: var(--chat-surface); }
.app-chat-head { display: flex; align-items: center; gap: 7px; min-height: 49px; padding: 7px 12px; border-bottom: 1px solid var(--line); background: #fff; font-size: .71rem; }
.app-chat-head .online-status, .phone-head .online-status { display: flex; align-items: center; gap: 4px; color: var(--online); white-space: nowrap; }
.online-status .status-dot { width: 5px; height: 5px; }
.app-chat-icons { margin-left: auto; display: flex; gap: 8px; color: var(--brand-text); }
.app-chat-icons .icon { width: 13px; height: 13px; }
.app-chat-body, .phone-chat { flex: 1; display: flex; flex-direction: column; align-items: flex-start; gap: 5px; }
.app-chat-body { padding: 8px max(38%, 60px) 7px 11px; }
.app-chat-body .bubble { padding: 5px 7px; }
.app-chat-body .bubble .icon { width: 12px; height: 12px; }
.chat-day { align-self: center; padding: 2px 7px; border-radius: 12px; color: var(--muted); background: #ece7f8; font-size: .52rem; font-weight: 650; white-space: nowrap; }
.chat-receipt { display: flex; align-items: center; align-self: flex-end; gap: 3px; color: var(--online); font-size: .53rem; font-weight: 650; }
.bubble { display: flex; align-items: center; gap: 5px; width: fit-content; max-width: 100%; padding: 7px 8px; border-radius: 9px; font-size: .71rem; font-weight: 570; line-height: 1.4; }
.incoming { border: 1px solid var(--line); border-bottom-left-radius: 3px; background: #fff; color: var(--ink); }
.outgoing { align-self: flex-end; border-bottom-right-radius: 3px; background: var(--brand); color: #fff; }
.app-compose, .phone-compose { display: flex; align-items: center; gap: 6px; color: var(--muted); background: #fff; font-size: .59rem; border-top: 1px solid var(--line); }
.app-compose { padding: 8px 38% 8px 11px; }
.app-compose span, .phone-compose span { flex: 1; min-width: 0; padding: 4px 7px; border-radius: 6px; background: var(--chat-surface); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.app-compose .icon, .phone-compose .icon { width: 22px; height: 22px; padding: 4px; border-radius: 6px; color: #fff; background: var(--brand); }
.hero-phone { position: absolute; z-index: 1; right: 2.5%; bottom: 5%; width: 28%; max-width: 178px; height: 76%; display: flex; flex-direction: column; border: 5px solid #292147; border-radius: 23px; overflow: hidden; background: var(--chat-surface); box-shadow: 0 19px 37px #1a123865; }
.hero-phone::before { content: ""; position: absolute; top: 4px; left: 50%; width: 31%; height: 5px; transform: translateX(-50%); border-radius: 999px; background: #292147; }
.phone-head { display: flex; align-items: center; gap: 5px; min-height: 57px; padding: 15px 8px 7px; background: #fff; border-bottom: 1px solid var(--line); font-size: .66rem; }
.phone-head .avatar { width: 23px; height: 23px; font-size: .52rem; }
.phone-chat { padding: 8px; }
.phone-chat .bubble { font-size: .63rem; padding: 5px 7px; }
.phone-compose { padding: 6px; }
.sync-float { position: absolute; z-index: 2; left: 9%; bottom: 6%; display: flex; align-items: center; gap: 8px; padding: 8px 11px; border: 1px solid var(--line); border-radius: 11px; background: #fff; box-shadow: 0 11px 23px #21143d34; font-size: .69rem; line-height: 1.4; white-space: nowrap; }
.sync-float b, .sync-float small { display: block; }
.sync-float small { font-size: .6rem; }
.mini-icon { display: grid; place-items: center; flex: none; width: 33px; height: 33px; border-radius: 8px; }
.sync-float .mini-icon, .mock-head .mini-icon, .profile-card .mini-icon { width: 28px; height: 28px; }
.visual-caption { margin-top: 6px; text-align: center; color: var(--muted); font-size: .71rem; }

.hero-index { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 11px; margin-top: 30px; }
.hero-index > a { min-height: 63px; display: flex; align-items: center; gap: 10px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 13px; background: #fff; color: var(--ink); font-size: .84rem; font-weight: 700; box-shadow: 0 4px 11px #3d2c650c; transition: background-color 160ms, border-color 160ms, color 160ms; }
.hero-index > a:is(:hover, :focus-visible) { background-color: var(--surface); border-color: var(--brand); color: var(--brand-text); }
.hero-index > a:focus-visible { outline-offset: 2px; }

.section { padding-block: 84px; }
.section-intro { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr); align-items: end; gap: 36px; margin-bottom: 29px; }
.section-tag { display: inline-flex; align-items: center; gap: 10px; color: var(--brand-text); }
.section-tag span { display: grid; place-items: center; width: 29px; height: 25px; border: 1px solid var(--brand-line); border-radius: 5px; background: var(--brand-light); color: var(--brand-deep); letter-spacing: .04em; }
h2 { margin-top: 12px; font-size: clamp(2rem, 3.65vw, 3.38rem); letter-spacing: -.05em; font-weight: 795; }
.section-intro > p { max-width: 435px; color: var(--body); font-size: 1.02rem; line-height: 1.66; }

.module-index { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-bottom: 32px; }
.module-jump { display: flex; align-items: center; gap: 10px; min-width: 0; padding: 12px; border: 1px solid var(--line); border-radius: 11px; background: var(--surface); }
.module-jump:hover { border-color: var(--brand); background: var(--brand-light); }
.module-jump > span:nth-child(2) { min-width: 0; }
.module-jump b, .module-jump small { display: block; }
.module-jump b { font-size: .91rem; }
.module-jump small { font-size: .74rem; line-height: 1.35; }
.module-jump-arrow { margin-left: auto; color: var(--brand-text); }
.feature-module + .feature-module { margin-top: 41px; padding-top: 32px; border-top: 1px solid var(--line); }
.module-heading { display: grid; grid-template-columns: auto minmax(0, 1fr) minmax(0, .9fr); align-items: center; gap: 12px; margin-bottom: 14px; }
.module-icon { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 12px; font-size: 1.15rem; font-weight: 820; }
.module-heading h3 { margin-top: 4px; font-size: clamp(1.55rem, 2.8vw, 2.35rem); letter-spacing: -.04em; }
.module-heading > p { color: var(--body); font-size: .92rem; }
.module-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0 0 14px; border: 1px solid var(--line); border-radius: 11px; background: var(--surface); }
.module-summary > div { min-width: 0; padding: 10px 13px; }
.module-summary > div + div { border-left: 1px solid var(--line); }
.module-summary dt { color: var(--brand-text); font-size: .77rem; font-weight: 750; }
.module-summary dd { margin: 3px 0 0; color: var(--body); font-size: .79rem; line-height: 1.42; }
.tabs-two { --tab-columns: 2; }
.tabs-three { --tab-columns: 3; }

.collaboration-jump { display: flex; width: fit-content; margin-top: 5px; font-size: .82rem; }
.collaboration { margin-top: 32px; }
.collaboration-intro { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 22px; align-items: end; margin-bottom: 14px; }
.collaboration-intro h4 { margin-top: 5px; font-size: clamp(1.42rem, 2.6vw, 2.12rem); letter-spacing: -.035em; }
.collaboration-intro > p { color: var(--body); font-size: .9rem; }
.collaboration-example { padding: 16px; border-radius: 12px; color: #fff; background: linear-gradient(125deg, var(--brand-deep), #493879); }
.collaboration-example .feature-tag { color: #c9f3ea; }
.collaboration-example h5 { margin: 5px 0 13px; font-size: 1.14rem; line-height: 1.25; }
.collaboration-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; }
.collaboration-steps li { display: flex; align-items: flex-start; gap: 8px; }
.collaboration-steps li + li { padding-left: 12px; border-left: 1px solid #7d6da7; }
.collaboration-steps li > span { display: grid; place-items: center; width: 25px; height: 25px; flex: none; border-radius: 6px; background: var(--online-light); color: var(--online); font-size: .68rem; font-weight: 760; }
.collaboration-steps b { display: block; font-size: .86rem; }
.collaboration-steps p { margin-top: 3px; color: #ede7fa; font-size: .78rem; line-height: 1.4; }
.collaboration-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-top: 10px; }
.collaboration-group { padding: 12px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); }
.collaboration-group h5 { display: flex; align-items: center; gap: 8px; margin: 0; font-size: .91rem; line-height: 1.25; }
.collaboration-group dl { margin: 8px 0 0; }
.collaboration-group dl > div { padding: 7px 0; }
.collaboration-group dl > div + div { border-top: 1px solid var(--line); }
.collaboration-group dt { color: var(--brand-deep); font-size: .84rem; font-weight: 740; }
.collaboration-group dd { margin: 2px 0 0; color: var(--body); font-size: .79rem; line-height: 1.42; }

.feature-tabs { display: grid; grid-template-columns: repeat(var(--tab-columns, 4), minmax(0, 1fr)); gap: 8px; margin-bottom: 14px; }
.feature-tabs button { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 51px; padding: 8px 10px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); color: var(--body); font-size: .93rem; font-weight: 690; }
.feature-tabs button:hover { background: var(--brand-light); }
.feature-tabs button[aria-selected="true"] { background: var(--brand); border-color: var(--brand); color: #fff; box-shadow: 0 4px 11px #4d38b632; }
.feature-tabs .icon { color: var(--brand-text); }
.feature-tabs button[aria-selected="true"] .icon { color: inherit; }
.feature-panel { display: grid; grid-template-columns: minmax(0, .84fr) minmax(0, 1.16fr); min-height: 320px; padding: 14px; border: 1px solid var(--line); border-radius: 20px; background: #fff; box-shadow: 0 13px 33px #37285813; }
.feature-copy { align-self: center; padding: 19px 28px 19px 20px; }
.feature-tag { color: var(--brand-text); font-size: .69rem; font-weight: 790; letter-spacing: .105em; line-height: 1.3; }
.feature-copy h4 { margin: 10px 0 11px; font-size: clamp(1.53rem, 2.6vw, 2.22rem); letter-spacing: -.04em; }
.feature-copy > p:not(.feature-tag) { color: var(--body); font-size: .97rem; }
.feature-copy ul { display: grid; gap: 9px; margin: 16px 0 0; padding: 0; list-style: none; color: var(--body); font-size: .88rem; }
.feature-copy li { display: flex; align-items: flex-start; gap: 9px; }
.feature-copy li::before { content: "✓"; display: grid; place-items: center; flex: none; width: 18px; height: 18px; margin-top: 2px; border-radius: 50%; background: var(--online-light); color: var(--online); font-size: .72rem; font-weight: 750; }
.feature-scene { min-width: 0; min-height: 268px; display: grid; align-content: center; justify-items: center; gap: 10px; padding: 19px; border-radius: 13px; background-color: #eee9fb; background-image: linear-gradient(90deg, #ffffff80 1px, transparent 1px), linear-gradient(#ffffff80 1px, transparent 1px); background-size: 23px 23px; }
.employee-links { display: grid; gap: 8px; margin: 14px 0; padding: 11px 12px; border: 1px solid var(--line); border-radius: 9px; background: var(--surface); }
.employee-links dt { display: flex; align-items: center; gap: 6px; color: var(--brand-text); font-size: .84rem; font-weight: 750; }
.employee-links dd { margin: 2px 0 0 22px; color: var(--body); font-size: .78rem; }
.employee-window.mock-window { width: min(100%, 525px); }
.employee-tabs { display: flex; flex-wrap: wrap; gap: 5px; padding: 6px 10px; border-bottom: 1px solid var(--line); color: var(--muted); font-size: .67rem; }
.employee-tabs > * { padding: 4px 6px; border-radius: 5px; }
.employee-tabs b { background: var(--brand-light); color: var(--brand-text); }
.employee-workspace { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); }
.employee-directory { padding: 9px 7px; border-right: 1px solid var(--line); }
.employee-directory > p { margin: 0 4px 5px; color: var(--muted); font-size: .65rem; font-weight: 690; }
.employee-contact { display: flex; align-items: center; gap: 6px; padding: 7px 5px; border-radius: 7px; font-size: .76rem; }
.employee-contact > div { min-width: 0; }
.employee-selected { background: var(--brand-light); }
.employee-contact b, .employee-contact small, .employee-thread-head b, .employee-thread-head small { display: block; }
.employee-contact small, .employee-thread-head small { font-size: .66rem; line-height: 1.3; }
.employee-thread { min-width: 0; }
.employee-thread-head { display: flex; align-items: center; justify-content: space-between; gap: 6px; width: 100%; padding-bottom: 7px; border-bottom: 1px solid var(--line); font-size: .8rem; }
.employee-call-icons { display: flex; flex: none; gap: 6px; color: var(--brand-text); }
.mock-compose { display: flex; align-items: center; justify-content: space-between; gap: 5px; width: 100%; margin-top: auto; padding: 6px 8px; border: 1px solid var(--line); border-radius: 6px; background: #fff; color: var(--muted); font-size: .66rem; }
.mock-compose .icon { color: var(--brand-text); }
.call-window-tools { margin-left: auto; color: var(--muted); letter-spacing: .15em; }
.call-stage { position: relative; min-height: 174px; padding: 13px 13px 48px; background: radial-gradient(ellipse at 25% 45%, #624b9a, transparent 65%), #2c224a; color: #fff; }
.call-person { min-height: 112px; display: grid; align-content: center; justify-items: center; gap: 4px; font-size: .72rem; }
.call-person > span, .call-inset > span { display: grid; place-items: center; width: 47px; height: 47px; border-radius: 50%; color: var(--brand-deep); background: #e1d8ff; font-weight: 800; }
.call-inset { position: absolute; top: 12px; right: 12px; display: grid; place-items: center; width: 65px; height: 49px; border: 1px solid #a18fce; border-radius: 7px; background: #4a386f; }
.call-inset > span { width: 26px; height: 26px; background: #e2d5fa; font-size: .62rem; }
.call-toolbar { position: absolute; bottom: 9px; left: 50%; display: flex; align-items: center; gap: 5px; padding: 5px; transform: translateX(-50%); border-radius: 999px; background: #211739; font-size: .65rem; }
.call-toolbar b { padding: 0 4px; }
.call-toolbar > span { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: #5c4985; }
.call-toolbar > .call-end { background: #b62540; }
.zalo-workspace { display: grid; grid-template-columns: minmax(0, .78fr) minmax(0, 1.25fr) minmax(0, .97fr); }
.zalo-directory, .zalo-customer { padding: 8px 7px; }
.zalo-directory { border-right: 1px solid var(--line); }
.zalo-thread { min-width: 0; }
.zalo-customer { border-left: 1px solid var(--line); background: var(--surface); }
.zalo-customer small, .zalo-customer strong { display: block; }
.zalo-customer small { font-size: .64rem; }
.zalo-customer strong { margin-top: 5px; color: #0d5e93; font-size: .73rem; }
.mock-column-label { margin-bottom: 3px; color: var(--body); font-size: .65rem; font-weight: 740; }
.zalo-directory .avatar { width: 21px; height: 21px; }
.mock-record { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; width: 100%; margin: 0; }
.mock-record > div { padding: 8px; border: 1px solid var(--line); border-radius: 7px; background: #fff; }
.mock-record dt { color: var(--muted); font-size: .67rem; }
.mock-record dd { margin: 4px 0 0; font-size: .73rem; }
.event-table { width: 100%; border-collapse: collapse; color: var(--body); font-size: .73rem; text-align: left; }
.event-table th, .event-table td { padding: 7px 8px; border-bottom: 1px solid var(--line); }
.event-table th { font-weight: 700; }
.event-table thead { background: var(--surface); }
.event-table small { display: block; font-size: .62rem; font-weight: 500; }
.event-table td:last-child, .event-table th:last-child { text-align: center; }

.scene-ai { background-color: #f7efe3; }
.scene-zalo { background-color: #e2f7fc; }
.scene-report { background-color: #e6f5ef; }
.mock-window { width: min(100%, 425px); overflow: hidden; border: 1px solid var(--line); border-radius: 13px; background: #fff; box-shadow: 0 14px 28px #36255a22; }
.mock-head { display: flex; align-items: center; gap: 8px; padding: 9px 11px; border-bottom: 1px solid var(--line); font-size: .8rem; }
.mock-head > div, .profile-card > div { min-width: 0; }
.mock-head b, .mock-head small, .profile-card b, .profile-card small { display: block; }
.mock-head small, .profile-card small { font-size: .63rem; }
.end, .mock-pill { margin-left: auto; }
.mock-pill { flex: none; padding: 4px 7px; border-radius: 5px; font-size: .61rem; font-weight: 750; line-height: 1.3; }
.mock-body { min-height: 123px; padding: 11px; display: flex; flex-direction: column; align-items: flex-start; gap: 8px; background: var(--chat-surface); }
.mock-body .bubble { font-size: .76rem; }
.profile-card { display: flex; align-items: center; gap: 8px; padding: 7px 9px; border: 1px solid var(--line); border-radius: 8px; color: var(--body); background: #fff; font-size: .74rem; }
.ai-message { padding: 7px 9px; border: 1px solid #e4dcfa; border-radius: 8px; color: #352b57; background: #f4eeff; font-size: .72rem; }
.ai-message span { display: inline-block; padding: 0 4px; margin-right: 4px; color: #584498; background: #e7ddfb; border-radius: 4px; font-size: .64rem; font-weight: 800; }
.mock-event { display: flex; align-items: center; gap: 5px; align-self: center; color: var(--muted); font-size: .68rem; }
.profile-card { width: 100%; }
.profile-card > .icon { color: var(--brand-text); }
.report-body { align-items: stretch; }
.report-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 5px; }
.report-metrics > div { padding: 6px 7px; border: 1px solid #dfebe6; border-radius: 7px; background: #fff; }
.report-metrics span { display: block; color: var(--muted); font-size: .6rem; }
.report-metrics b { display: block; font-size: 1.08rem; line-height: 1.35; }
.report-metrics em, .report-row strong { color: #8e5a09; font-style: normal; }
.report-row { display: grid; grid-template-columns: 1fr 1fr auto; gap: 5px; color: var(--body); border-bottom: 1px solid var(--line); font-size: .69rem; }

.sync-section { background: radial-gradient(ellipse at 83% 31%, #514080, transparent 57%), var(--brand-deep); color: #fff; }
.sync-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 56px; align-items: center; }
.sync-section .section-tag, .sync-section .text-link { color: #ddcfff; }
.sync-section .section-tag span { background: #4d3b76; border-color: #806ab1; color: #d9f7ef; }
.sync-copy h2 em { color: #d2f4ea; font-style: normal; }
.sync-copy > p:not(.eyebrow) { margin-top: 16px; color: #e7ddf7; line-height: 1.7; }
.device-roles { display: grid; gap: 12px; margin: 21px 0 19px; }
.device-roles > div { display: flex; align-items: center; gap: 11px; }
.device-roles .mini-icon { border: 1px solid #7960a9; color: #c2f1e6; background: #4b386f; }
.device-roles b, .device-roles small { display: block; }
.device-roles b { font-size: .91rem; }
.device-roles small { color: #e0d6f2; font-size: .81rem; }
.sync-section :focus-visible { outline-color: #baf2e6; }
.sync-demo { min-width: 0; padding: 20px; border: 1px solid #6a548e; border-radius: 18px; background: #392a60; box-shadow: 0 18px 40px #190e3750; }
.sync-demo-top { display: flex; justify-content: space-between; align-items: flex-start; gap: 9px; margin-bottom: 16px; }
.sync-demo-top .feature-tag { color: #c9f1e7; }
.sync-demo-top h3 { margin-top: 5px; font-size: clamp(1.05rem, 1.85vw, 1.5rem); letter-spacing: -.025em; }
.sample-tag { flex: none; padding: 4px 7px; border: 1px solid #8069a7; border-radius: 5px; color: #e5dbf7; font-size: .65rem; font-weight: 660; }
.sync-screens { display: grid; grid-template-columns: minmax(0, 1fr) 29px minmax(0, .84fr); gap: 6px; align-items: center; }
.sync-screen { min-width: 0; border-radius: 10px; background: var(--chat-surface); color: var(--ink); overflow: hidden; }
.screen-title { display: flex; align-items: center; gap: 5px; padding: 7px 9px; border-bottom: 1px solid var(--line); background: var(--brand-light); color: var(--brand-text); font-size: .72rem; font-weight: 760; }
.sync-thread { display: flex; flex-direction: column; gap: 7px; min-height: 116px; padding: 8px; }
.sync-thread > b { font-size: .68rem; }
.sync-thread .bubble { font-size: .67rem; }
.sync-bridge { display: grid; place-items: center; width: 29px; height: 29px; border: 1px solid #806ea3; border-radius: 50%; color: #bff0e2; background: #514075; font-size: .78rem; }
.sync-demo-bottom { display: flex; gap: 11px; align-items: center; margin-top: 16px; }
.demo-button { flex: none; min-height: 44px; padding-inline: 10px; border-color: #beefe3; color: #174d42; background: #beefe3; font-size: .75rem; }
.demo-button:hover { background: var(--online-light); }
.demo-button .icon { width: 15px; height: 15px; }
.sync-demo-bottom p { color: #e1d8f2; font-size: .74rem; }
.sync-demo.is-synced .sync-bridge { color: #194d45; background: #bceee1; }
.synced-message:not([hidden]) { animation: message-in 320ms ease-out both; }
@keyframes message-in { from { opacity: .35; transform: translateY(5px); } to { opacity: 1; transform: none; } }

.connected { background: linear-gradient(#fff 65%, var(--surface) 100%); }
.connection-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.connection-card { display: flex; gap: 11px; padding: 17px; border: 1px solid var(--line); border-radius: 13px; background: var(--surface); }
.connection-card h3 { margin-top: 6px; font-size: 1.12rem; letter-spacing: -.025em; }
.connection-card p:not(.feature-tag) { margin: 7px 0 9px; color: var(--body); font-size: .87rem; }
.solutions-heading { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin: 33px 0 12px; }
.solutions-heading h3 { font-size: 1.27rem; letter-spacing: -.024em; }
.solution-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.solution-card { position: relative; min-width: 0; padding: 15px; border: 1px solid var(--line); border-radius: 11px; background: #fff; transition: border-color 170ms, box-shadow 170ms; }
.solution-card:hover { border-color: var(--brand); box-shadow: 0 9px 24px #39285b1b; }
.solution-arrow { position: absolute; top: 15px; right: 15px; width: 16px; height: 16px; color: var(--brand-text); }
.solution-card h4 { margin: 10px 0 6px; font-size: .98rem; letter-spacing: -.015em; }
.solution-card p { color: var(--body); font-size: .82rem; }

.faq { padding: 68px 0; }
.faq-grid { display: grid; grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr); gap: 54px; }
.faq-list { border-top: 1px solid var(--line); }
.faq-list details { border-bottom: 1px solid var(--line); }
.faq-list summary { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 15px 2px; color: var(--body); font-size: .94rem; font-weight: 700; cursor: pointer; list-style: none; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary .icon { color: var(--brand-text); transition: transform 160ms; }
.faq-list details[open] summary .icon { transform: rotate(45deg); }
.faq-list details p { max-width: 605px; padding: 0 26px 15px 2px; color: var(--body); font-size: .92rem; }

.contact-section { padding-bottom: 58px; }
.contact-grid { display: grid; grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr); gap: 20px; }
.contact-info, .contact-form-card { padding: clamp(22px, 3.1vw, 38px); border-radius: 18px; }
.contact-info { color: #fff; background: radial-gradient(ellipse at right top, #6a50ad, transparent 68%), var(--brand-deep); }
.contact-info .eyebrow { color: #dccdff; }
.contact-info h2 { margin-top: 8px; }
.contact-info > p:not(.eyebrow) { margin-top: 12px; color: #f0eaff; font-size: .94rem; }
.contact-info address { display: grid; gap: 16px; margin-top: 24px; padding-top: 20px; border-top: 1px solid #dccdff50; font-style: normal; }
.contact-item { display: flex; align-items: flex-start; gap: 12px; }
.contact-item strong { display: block; margin-bottom: 2px; font-size: .84rem; }
.contact-item a, .contact-item div > span { color: #f0eaff; font-size: .91rem; overflow-wrap: anywhere; }
.contact-item a:hover { text-decoration: underline; }
.contact-icon { display: grid; place-items: center; width: 38px; height: 38px; flex: none; border-radius: 10px; background: #dccdff20; color: #dccdff; }
.contact-info :focus-visible { outline-color: #baf2e6; }
.contact-form-card { border: 1px solid var(--line); background: var(--surface); }
.contact-form-card h2 { font-size: clamp(1.35rem, 2.5vw, 1.95rem); }
.contact-form-card > p { margin-top: 9px; color: var(--body); font-size: .91rem; }
.contact-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 15px; margin-top: 20px; }
.contact-fields label { color: var(--ink); font-size: .83rem; font-weight: 650; }
.contact-fields label span { color: #aa3434; }
.contact-fields label small { color: var(--muted); font-size: inherit; font-weight: 400; }
.contact-fields input, .contact-fields select { display: block; width: 100%; min-height: 44px; margin-top: 5px; padding: 8px 10px; border: 1px solid #cfc4e5; border-radius: 8px; background: #fff; color: var(--ink); font: inherit; font-size: 1rem; font-weight: 400; }
.contact-error { margin-top: 12px; color: #a02c29; font-size: .88rem; }
.contact-error:empty { margin: 0; }
.contact-submit { margin-top: 18px; }
.contact-submit:disabled { opacity: .72; cursor: wait; }
.contact-success { width: min(440px, calc(100% - 30px)); padding: 28px; border: 1px solid var(--line); border-radius: 18px; color: var(--ink); text-align: center; box-shadow: 0 18px 60px #28194633; }
.contact-success::backdrop { background: #25163b80; }
.contact-success .mini-icon { margin-inline: auto; }
.contact-success h2 { margin-top: 12px; font-size: 1.4rem; }
.contact-success p { margin-top: 10px; color: var(--body); font-size: .91rem; }
.contact-success .button { margin-top: 18px; }
.site-footer { border-top: 1px solid var(--line); background: var(--surface); }
.footer-copyright { padding-block: 12px 16px; color: var(--muted); font-size: .8rem; text-align: center; }

.back-to-top {
  position: fixed;
  z-index: 9;
  right: 24px;
  bottom: 22px;
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border-radius: 10px;
  color: #fff;
  background: var(--brand);
  box-shadow: 0 8px 22px #4936a83b;
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition: opacity 280ms, transform 280ms, visibility 280ms, box-shadow 280ms;
}
.back-to-top.is-visible { opacity: 1; visibility: visible; transform: translateY(0); }
.back-to-top.is-visible:hover { transform: translateY(-2px); box-shadow: 0 12px 26px #4936a846; }
.back-to-top .icon { width: 20px; height: 20px; stroke-width: 2; transform: rotate(-90deg); }

@media (max-width: 1120px) {
  .collaboration-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .container { width: calc(100% - 62px); }
  .brand-label { display: none; }
  .hero { padding-top: 50px; }
  .hero-visual { min-height: 410px; }
  .workspace { grid-template-columns: 34px minmax(95px, .72fr) minmax(0, 1.28fr); }
  .app-rail { gap: 12px; }
  .app-contact-meta time { display: none; }
  .app-chat-icons { display: none; }
  .sync-grid { gap: 32px; }
}

@media (max-width: 860px) {
  :root { --nav-height: 62px; }
  .container { width: calc(100% - 44px); }
  .header-inner { gap: 10px; }
  .brand-logo { width: 128px; }
  .site-nav { position: absolute; top: 100%; inset-inline: 0; display: none; flex-direction: column; align-items: stretch; gap: 0; padding: 6px 22px 10px; border-bottom: 1px solid var(--line); background: #fff; box-shadow: 0 12px 22px #32245c1a; }
  .site-nav.is-open { display: flex; }
  .site-nav a { display: block; padding: 11px 3px; }
  .site-nav a + a { border-top: 1px solid var(--line); }
  .nav-toggle { display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid var(--line); border-radius: 9px; background: var(--surface); color: var(--body); }
  .nav-toggle .icon { width: 21px; height: 21px; }
  .hero { padding-top: 39px; }
  .hero-grid { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .hero-copy { max-width: 640px; padding-bottom: 0; }
  .hero h1 { font-size: clamp(2.48rem, 7.2vw, 4rem); }
  .hero-lead { max-width: 550px; margin-top: 14px; }
  .hero-actions { margin-top: 20px; }
  .hero-figure { width: min(100%, 620px); margin-inline: auto; }
  .hero-visual { min-height: 0; }
  .hero-index { margin-top: 25px; }
  .hero-index > a { min-height: 54px; font-size: .77rem; }
  .section { padding-block: 64px; }
  .section-intro { grid-template-columns: 1fr; gap: 12px; margin-bottom: 22px; }
  .section-intro > p { max-width: 570px; }
  .desktop-break { display: none; }
  .zalo-workspace { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); }
  .zalo-customer { grid-column: 1 / -1; border-top: 1px solid var(--line); border-left: 0; }
  .sync-grid { grid-template-columns: minmax(0, 1fr); gap: 23px; }
  .sync-copy, .sync-demo { max-width: 620px; }
  .faq { padding: 52px 0; }
  .faq-grid { gap: 24px; }
  .contact-grid { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 620px) {
  [data-reveal] { --reveal-duration: 740ms; --reveal-offset: 24px; }
  .back-to-top { right: 16px; bottom: 48px; }
  .container { width: calc(100% - 36px); }
  .hero h1 { font-size: clamp(2.18rem, 8.7vw, 3.15rem); line-height: 1.12; letter-spacing: -.052em; }
  .hero h1 em { font-size: .84em; }
  .hero-lead { font-size: .96rem; }
  .hero-actions .button { min-height: 46px; padding-inline: 12px; font-size: .81rem; }
  .hero-index { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .hero-index > a { min-height: 53px; gap: 7px; padding: 7px 8px; font-size: .73rem; }
  .hero-index .mini-icon { width: 27px; height: 27px; border-radius: 7px; }
  .hero-visual { aspect-ratio: 480 / 345; min-height: 294px; }
  .hero-visual::before { border-radius: 21px; }
  .web-window { inset: 8% 11% 15% 4%; border-radius: 11px; }
  .workspace { grid-template-columns: minmax(68px, .57fr) minmax(0, 1.43fr); }
  .app-rail { display: none; }
  .window-bar { min-height: 27px; padding-inline: 8px; font-size: .59rem; }
  .window-status { gap: 3px; font-size: .46rem; }
  .app-list { padding: 7px 4px; }
  .app-list-title { font-size: .65rem; margin-bottom: 6px; }
  .app-list-search { display: none; }
  .app-list-tabs { gap: 4px; margin-bottom: 4px; font-size: .45rem; }
  .app-list-tabs b { padding: 2px 3px; }
  .app-contact { gap: 4px; padding: 5px 2px; font-size: .55rem; }
  .app-contact .avatar { width: 18px; height: 18px; font-size: .42rem; }
  .unread-count { min-width: 12px; height: 12px; font-size: .45rem; }
  .app-contact small, .app-chat-head small, .phone-head small { font-size: .46rem; }
  .app-chat-head { min-height: 34px; padding: 4px 6px; gap: 4px; font-size: .6rem; }
  .app-chat-head .avatar { width: 20px; height: 20px; font-size: .45rem; }
  .app-chat-body { gap: 5px; padding: 5px 42% 5px 6px; }
  .app-chat-body .bubble { padding: 4px 5px; font-size: .55rem; }
  .app-compose { display: none; }
  .hero-phone { width: 31%; height: 79%; border-width: 4px; border-radius: 17px; }
  .hero-phone::before { height: 4px; }
  .phone-head { min-height: 43px; padding: 11px 5px 3px; gap: 3px; font-size: .51rem; }
  .phone-head .avatar { width: 17px; height: 17px; font-size: .42rem; }
  .phone-chat { gap: 4px; padding: 4px; }
  .phone-chat .bubble { padding: 3px 4px; font-size: .5rem; }
  .phone-compose { padding: 4px; gap: 4px; font-size: .45rem; }
  .phone-compose span { padding: 3px 4px; }
  .phone-compose .icon { width: 16px; height: 16px; padding: 3px; }
  .chat-day { font-size: .45rem; }
  .sync-float { left: 8%; bottom: 5%; gap: 5px; padding: 5px 7px; font-size: .58rem; }
  .sync-float small { font-size: .49rem; }
  .sync-float .mini-icon { width: 23px; height: 23px; }
  .visual-caption { font-size: .67rem; }
  .section { padding-block: 50px; }
  h2 { font-size: clamp(1.9rem, 7.2vw, 2.5rem); }
  .section-intro > p { font-size: .95rem; }
  .module-index { gap: 6px; margin-bottom: 25px; }
  .module-jump { flex-direction: column; gap: 5px; padding: 9px 5px; text-align: center; }
  .module-jump b { font-size: .8rem; }
  .module-jump small, .module-jump-arrow { display: none; }
  .feature-module + .feature-module { margin-top: 29px; padding-top: 24px; }
  .module-heading { grid-template-columns: auto minmax(0, 1fr); gap: 9px; }
  .module-heading > p { grid-column: 1 / -1; }
  .module-summary { grid-template-columns: minmax(0, 1fr); }
  .module-summary > div { display: grid; grid-template-columns: minmax(0, .65fr) minmax(0, 1.35fr); align-items: start; gap: 7px; padding: 8px 10px; }
  .module-summary > div + div { border-top: 1px solid var(--line); border-left: 0; }
  .module-summary dd { margin-top: 0; }
  .collaboration { margin-top: 24px; }
  .collaboration-intro, .collaboration-grid, .collaboration-steps { grid-template-columns: minmax(0, 1fr); }
  .collaboration-intro { gap: 6px; }
  .collaboration-example { padding: 12px; }
  .collaboration-steps { gap: 8px; }
  .collaboration-steps li + li { padding: 8px 0 0; border-top: 1px solid #7d6da7; border-left: 0; }
  .module-icon { width: 39px; height: 39px; border-radius: 9px; }
  .feature-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; margin-bottom: 9px; }
  .feature-tabs.tabs-three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .feature-tabs.tabs-three button { padding: 6px 5px; }
  .feature-tabs.tabs-three .icon { display: none; }
  .feature-tabs button { min-height: 44px; font-size: .82rem; }
  .feature-panel { grid-template-columns: minmax(0, 1fr); padding: 9px; border-radius: 15px; }
  .feature-copy { padding: 14px 11px 16px; }
  .feature-copy > p:not(.feature-tag) { font-size: .92rem; }
  .feature-copy ul { font-size: .82rem; }
  .feature-scene { min-height: 0; padding: 13px 9px 8px; gap: 6px; }
  .mock-head { font-size: .75rem; }
  .mock-head small { font-size: .6rem; }
  .mock-pill { font-size: .56rem; }
  .mock-body { min-height: 110px; }
  .employee-workspace { grid-template-columns: minmax(0, 1fr); }
  .employee-directory { border-right: 0; border-bottom: 1px solid var(--line); }
  .zalo-workspace, .mock-record { grid-template-columns: minmax(0, 1fr); }
  .zalo-directory { border-right: 0; border-bottom: 1px solid var(--line); }
  .report-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .event-table { font-size: .68rem; }
  .event-table th, .event-table td { padding: 7px 5px; }
  .sync-copy > p:not(.eyebrow) { font-size: .93rem; }
  .sync-demo { padding: 13px; border-radius: 13px; }
  .sync-demo-top { margin-bottom: 12px; }
  .sync-screens { grid-template-columns: minmax(0, 1fr) 22px minmax(0, 1fr); gap: 4px; }
  .sync-bridge { width: 22px; height: 22px; font-size: .65rem; }
  .sync-thread { padding: 6px; min-height: 112px; }
  .screen-title { padding: 6px; }
  .sync-thread .bubble { font-size: .63rem; }
  .sync-demo-bottom { align-items: flex-start; flex-direction: column; gap: 6px; margin-top: 12px; }
  .connection-grid { grid-template-columns: minmax(0, 1fr); }
  .connection-card { padding: 13px; }
  .solutions-heading { flex-wrap: wrap; margin-top: 23px; gap: 7px; }
  .solution-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .solution-card { padding: 11px; }
  .solution-card:nth-child(even) { --reveal-delay: 45ms; }
  .solution-card h4 { font-size: .91rem; }
  .solution-card p { font-size: .78rem; }
  .solution-arrow { right: 10px; top: 10px; }
  .faq { padding: 43px 0; }
  .faq-grid { grid-template-columns: 1fr; gap: 15px; }
  .faq-list summary { font-size: .89rem; }
  .contact-section { padding-bottom: 32px; }
  .contact-grid { gap: 12px; }
  .contact-fields { grid-template-columns: minmax(0, 1fr); }
  .contact-submit { width: 100%; }
}

@media (max-width: 365px) {
  .container { width: calc(100% - 28px); }
  .site-header .brand-logo { width: 112px; }
  .header-demo { padding-inline: 8px; font-size: .74rem; }
  .header-demo .icon { display: none; }
  .hero h1 { font-size: 1.86rem; }
  .hero-actions { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.11fr); gap: 7px; }
  .hero-actions .button { gap: 6px; padding-inline: 7px; font-size: .72rem; }
  .hero-actions .button .icon { width: 15px; height: 15px; }
  .hero-visual { aspect-ratio: 375 / 345; }
  .app-list-tabs > span { display: none; }
  .phone-chat .bubble { font-size: .48rem; }
  .mock-pill { text-align: right; }
  .mock-head .avatar { width: 25px; height: 25px; }
}

@media screen and (prefers-reduced-motion: no-preference) {
  [data-reveal].reveal-pending:not(:focus-within) {
    opacity: 0;
  }

  [data-reveal].reveal-enter {
    animation: scroll-reveal var(--reveal-duration, 900ms) cubic-bezier(.24, .64, .34, 1) var(--reveal-delay, 0ms) backwards;
  }

  .feature-panel[data-reveal], .collaboration-example, .sync-demo, .contact-info, .contact-form-card {
    --reveal-scale: .965;
  }

  @keyframes scroll-reveal {
    from { opacity: 0; transform: translateY(var(--reveal-offset, 36px)) scale(var(--reveal-scale, 1)); }
    to { opacity: 1; transform: none; }
  }
}

@media (min-width: 621px) {
  .collaboration-group:nth-child(even), .connection-card:nth-child(2), .solution-card:nth-child(2) {
    --reveal-delay: 60ms;
  }
  .solution-card:nth-child(3) { --reveal-delay: 120ms; }
  .solution-card:nth-child(4) { --reveal-delay: 180ms; }
}

@media (min-width: 1121px) {
  .collaboration-group:nth-child(3) { --reveal-delay: 120ms; }
  .collaboration-group:nth-child(4) { --reveal-delay: 180ms; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
