/* Self-hosted Archivo + Space Mono, fetched fresh from Google Fonts
   (per-weight, to avoid the combined-request bug where multiple
   requested weights silently collapsed onto the same underlying file). */

@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/archivo-400-vietnamese.woff2') format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/archivo-400-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/archivo-400-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('/fonts/archivo-500-vietnamese.woff2') format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('/fonts/archivo-500-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('/fonts/archivo-500-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('/fonts/archivo-600-vietnamese.woff2') format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('/fonts/archivo-600-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('/fonts/archivo-600-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/fonts/archivo-700-vietnamese.woff2') format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/fonts/archivo-700-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/fonts/archivo-700-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url('/fonts/archivo-800-vietnamese.woff2') format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url('/fonts/archivo-800-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url('/fonts/archivo-800-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Space Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/space-mono-400-vietnamese.woff2') format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: 'Space Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/space-mono-400-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'Space Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/space-mono-400-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Space Mono';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/fonts/space-mono-700-vietnamese.woff2') format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: 'Space Mono';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/fonts/space-mono-700-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'Space Mono';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/fonts/space-mono-700-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* NextAmp shared stylesheet — consolidated from the per-page <helmet> style
   blocks in the design source. Component styling itself stays inline
   (style="...") on each page, matching the source; this file only covers
   resets, hover-state classes (style-hover is polyfilled in nextamp-fx.js,
   these :hover rules are the small subset of interactions the source
   expressed as real CSS classes instead), and responsive overrides. */

/* ── Reset & base ───────────────────────────────────────────────── */
* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { margin: 0; overflow-x: hidden; }
::selection { background: #6D4AFF; color: #fff; }
a { color: #A88CFF; }
a:hover { color: #C7B8FF; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible,
select:focus-visible, [tabindex]:focus-visible {
  outline: 2px solid #A88CFF; outline-offset: 2px; border-radius: 2px;
}

/* ── Scroll-reveal (driven by nextamp-fx.js) ───────────────────── */
[data-reveal] {
  opacity: 0; transform: translateY(18px);
  transition: opacity .8s cubic-bezier(.16,1,.3,1), transform .8s cubic-bezier(.16,1,.3,1);
}
[data-reveal].in { opacity: 1; transform: none; }

/* ── Mobile nav ─────────────────────────────────────────────────── */
.na-burger { display: none; }
.na-mobmenu { display: none; }

/* ── Buttons / links ────────────────────────────────────────────── */
.na-arw { display: inline-block; transition: transform .22s cubic-bezier(.16,1,.3,1); }
.na-btn { transition: transform .22s cubic-bezier(.16,1,.3,1), box-shadow .22s ease, background .18s ease; will-change: transform; }
.na-btn:hover { transform: translateY(-2px); box-shadow: 0 12px 26px rgba(17,17,20,.20); }
.na-btn:hover .na-arw { transform: translateX(5px); }
.na-btn:active { transform: translateY(0); box-shadow: 0 4px 10px rgba(17,17,20,.16); }
.na-btn-light:hover { box-shadow: 0 12px 30px rgba(0,0,0,.22); }
.na-txtlink { transition: color .18s ease, border-color .18s ease; }
.na-txtlink:hover { color: #A88CFF !important; border-color: #A88CFF !important; }
.na-txtlink:hover .na-arw { transform: translateX(5px); }
.na-qlink { transition: border-color .18s ease, color .18s ease; }
.na-qlink:hover { border-color: #A88CFF !important; color: #fff !important; }
.na-lk { transition: color .16s ease; }
.na-lk:hover { color: #A88CFF !important; }
.na-feat:hover .na-arw { transform: translateX(5px); }

/* ── Cards ──────────────────────────────────────────────────────── */
.na-hc { transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.na-hc:hover { transform: translateY(-4px); box-shadow: 0 16px 40px rgba(23,23,32,.10); border-color: rgba(124,92,255,.5); }
.na-hc:hover h3, .na-hc:hover h4 { color: #A88CFF; }
.na-ov { transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.na-ov:hover { transform: translateY(-6px); box-shadow: 0 22px 50px rgba(23,23,32,.14); border-color: rgba(78,42,203,.4); }
.na-tile { transition: background-color .2s ease, box-shadow .2s ease; }
.na-tile:hover { background: rgba(124,92,255,.12); box-shadow: inset 3px 0 0 #6D4AFF; }
.na-tile h4 { transition: color .2s ease; }
.na-tile:hover h4 { color: #A88CFF; }
.na-cell { transition: background .2s ease; }
.na-cell:hover { background: rgba(124,92,255,.12); }
.cs-card, .in-card { transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease; }
.cs-card:hover, .in-card:hover { border-color: rgba(78,42,203,.4); transform: translateY(-5px); box-shadow: 0 18px 44px rgba(23,23,32,.10); }
.in-card:hover h3 { color: #A88CFF; }
.cs-feat:hover, .in-feat:hover { border-color: rgba(78,42,203,.4); box-shadow: 0 20px 48px rgba(23,23,32,.12); }
.cs-chip { transition: all .18s ease; }
.na-track-col:hover [data-tdot] { transform: scale(1.25); }

/* ── Form fields (Contact) ─────────────────────────────────────── */
.na-fld {
  width: 100%; font-family: 'Archivo', sans-serif; font-size: 16px; color: #F3F2F7;
  background: linear-gradient(180deg,#1B1B24,#141419); border: 1px solid rgba(255,255,255,.12);
  border-radius: 3px; padding: 14px 16px; outline: none;
  transition: border-color .18s ease, box-shadow .18s ease;
}
.na-fld::placeholder { color: #9A9AA2; }
.na-fld:focus { border-color: #A88CFF; box-shadow: 0 0 0 3px rgba(78,42,203,.12); }
.na-seg { transition: background .16s ease, color .16s ease, border-color .16s ease; }
.na-seg:hover { border-color: #F3F2F7 !important; }
.na-seg[aria-pressed="true"] { background: #111114 !important; color: #fff !important; border-color: #F3F2F7 !important; }
.in-sub-input:focus { outline: none; border-color: rgba(255,255,255,.5); }

/* ── Insight article typography ────────────────────────────────── */
.art h2 { font-weight: 700; font-size: 30px; line-height: 1.14; letter-spacing: -0.025em; margin: 64px 0 8px; }
.art h2 .num { font-family: 'Space Mono', monospace; font-size: 13px; letter-spacing: .06em; color: #A88CFF; display: block; margin-bottom: 16px; font-weight: 400; }
.art p { font-size: 18px; line-height: 1.68; color: rgba(243,242,247,.72); margin-bottom: 22px; }
.art p.lead { font-size: 22px; line-height: 1.55; color: #F3F2F7; }
.art strong { font-weight: 700; color: #F3F2F7; }
.art ul { margin: 0 0 22px; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 16px; }
.art ul li { position: relative; padding-left: 26px; font-size: 18px; line-height: 1.6; color: rgba(243,242,247,.72); }
.art ul li::before { content: ""; position: absolute; left: 0; top: 11px; width: 8px; height: 8px; background: #6D4AFF; border-radius: 2px; }
.art a { text-decoration: underline; text-underline-offset: 2px; }
.art em { font-style: italic; }

/* ── Misc animation keyframes ───────────────────────────────────── */
@keyframes na-reveal { from { transform: translateY(115%); } to { transform: translateY(0); } }
@keyframes na-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@keyframes na-flow { to { background-position: 200% 0; } }
.na-line-mask { overflow: hidden; }
.na-line-mask > span { display: inline-block; animation: na-reveal .9s cubic-bezier(.16,1,.3,1) both; }

/* ── Responsive: tablet/nav-collapse (normalized to 820px sitewide) ── */
@media (max-width: 820px) {
  [style*="grid-template-columns: 200px"] { grid-template-columns: 1fr !important; gap: 10px !important; }
  [style*="grid-template-columns: 60px 1fr 1.1fr"] { grid-template-columns: 1fr !important; gap: 12px !important; }
  [style*="grid-template-columns: repeat(3"] { grid-template-columns: 1fr !important; }
  [style*="grid-template-columns: repeat(4"] { grid-template-columns: repeat(2,1fr) !important; }
  [style*="grid-template-columns: repeat(5"] { grid-template-columns: repeat(2,1fr) !important; }
  [style*="grid-template-columns: repeat(6"] { grid-template-columns: repeat(2,1fr) !important; }
  [style*="grid-template-columns: repeat(2"] { grid-template-columns: 1fr !important; }
  [style*="grid-template-columns: 1fr 1fr"] { grid-template-columns: 1fr !important; }
  [style*="grid-template-columns: 1.4fr 1fr"] { grid-template-columns: 1fr !important; gap: 40px !important; }
  [style*="grid-template-columns: 1.5fr 1fr"] { grid-template-columns: 1fr !important; gap: 32px !important; }
  [style*="grid-template-columns: 1.15fr"] { grid-template-columns: 1fr !important; gap: 44px !important; }
  [style*="grid-template-columns: 2fr 1fr 1fr 1fr"] { grid-template-columns: 1fr 1fr !important; gap: 32px !important; }
  [style*="max-width: 1440px"] { padding-left: 22px !important; padding-right: 22px !important; }
  [style*="max-width: 920px"] { padding-left: 22px !important; padding-right: 22px !important; }
  [style*="max-width: 900px"] { padding-left: 22px !important; padding-right: 22px !important; }
  [style*="max-width: 820px"] { padding-left: 22px !important; padding-right: 22px !important; }
  [style*="max-width: 760px"] { padding-left: 22px !important; padding-right: 22px !important; }
  h1 { font-size: 40px !important; line-height: 1.06 !important; }
  h2 { font-size: 30px !important; line-height: 1.1 !important; white-space: normal !important; }
  h3 { font-size: 21px !important; }
  .art h2 { font-size: 26px !important; }
  .na-trusted { display: none !important; }
  .na-line-mask > span { white-space: normal !important; }
  .na-navlinks, .na-navcta { display: none !important; }
  .na-burger { display: inline-flex !important; }
  .na-mobmenu.open { display: flex !important; }
}

/* ── Responsive: phone tier ─────────────────────────────────────── */
@media (max-width: 560px) {
  [style*="max-width: 1440px"], [style*="max-width: 1280px"], [style*="max-width: 900px"],
  [style*="max-width: 780px"], [style*="max-width: 760px"] { padding-left: 20px !important; padding-right: 20px !important; }
  [style*="padding: 88px 48px"] { padding-top: 52px !important; padding-bottom: 52px !important; }
  [style*="padding: 96px 48px"] { padding-top: 56px !important; padding-bottom: 56px !important; }
  [style*="padding: 100px 48px"] { padding-top: 60px !important; padding-bottom: 60px !important; }
  [style*="padding: 104px 48px"] { padding-top: 64px !important; padding-bottom: 56px !important; }
  [style*="padding: 110px 48px"] { padding-top: 64px !important; padding-bottom: 64px !important; }
  [style*="padding: 120px 48px"] { padding-top: 68px !important; padding-bottom: 68px !important; }
  [style*="padding: 130px 48px"] { padding-top: 76px !important; padding-bottom: 76px !important; }
  [style*="padding: 80px 48px 40px"] { padding-top: 56px !important; padding-bottom: 32px !important; }
  [style*="padding: 56px 48px 56px"] { padding-top: 44px !important; padding-bottom: 44px !important; }
  [style*="padding: 104px 48px 92px"] { padding-bottom: 52px !important; }
  [style*="padding: 100px 48px 132px"] { padding-bottom: 76px !important; }
  [style*="padding: 158px 48px 128px"] { padding-top: 104px !important; padding-bottom: 72px !important; }
  [data-diag] { padding: 22px 18px !important; }
  input, textarea, select { font-size: 16px !important; }
  h1 { font-size: 34px !important; line-height: 1.06 !important; }
  h2 { font-size: 27px !important; }
}

/* ── Reduced motion ─────────────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  [data-reveal] { opacity: 1 !important; transform: none !important; transition: none !important; }
  .na-btn, .na-arw, .na-hc, .na-tile, .na-ov { transition: none !important; }
  .na-btn:hover, .na-hc:hover, .na-ov:hover { transform: none !important; }
  .na-line-mask > span { animation: none !important; }
  [data-marquee-track] { animation: none !important; }
}
