/* Plus Jakarta Sans — self-hosted, subset per unicode range */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url("../fonts/plus-jakarta-sans-cyrillic-ext.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url("../fonts/plus-jakarta-sans-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: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url("../fonts/plus-jakarta-sans-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: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url("../fonts/plus-jakarta-sans-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;
}

html { scroll-behavior: smooth; }
body { margin: 0; font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; color: #0F0E17; background: #fff; -webkit-font-smoothing: antialiased; }
* { box-sizing: border-box; }
img { max-width: 100%; display: block; }
.mono { font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', monospace; }

.wrap { max-width: 1160px; margin: 0 auto; padding: 0 32px; }

.nav-bar { position: sticky; top: 0; background: rgba(255,255,255,.86); backdrop-filter: blur(10px); border-bottom: 1px solid #E7EAEE; z-index: 20; }
.nav-inner { display: flex; align-items: center; justify-content: space-between; padding: 18px 32px; }
.logo-img { height: 34px; width: auto; }
.nav-links { display: flex; gap: 36px; list-style: none; margin: 0; padding: 0; }
.nav-links a { color: #0F0E17; font-size: 15px; font-weight: 500; text-decoration: none; opacity: .72; }
.nav-links a:hover { opacity: 1; color: #1e3a5f; }
@media (max-width: 760px) { .nav-links { display: none; } }

.btn { display: inline-flex; align-items: center; gap: 8px; border-radius: 999px; font-weight: 600; font-size: 15px; text-decoration: none; cursor: pointer; border: none; white-space: nowrap; }
.btn-navy { background: #1e3a5f; color: #fff; padding: 13px 28px; }
.btn-navy:hover { background: #16304d; }
.btn-sm { padding: 10px 22px; font-size: 14px; }
.btn-outline { background: #fff; color: #1e3a5f; border: 1.5px solid #1e3a5f; padding: 11.5px 26px; }
.btn-outline:hover { background: rgba(30,58,95,.06); }
.btn-disabled { background: #EEF1F4; color: rgba(15,14,23,.4); padding: 13px 28px; cursor: not-allowed; }

.section { padding: 120px 32px; }
@media (max-width: 640px) { .section { padding: 72px 24px; } }
.tc-wrap { text-align: center; }
.section-title { font-size: clamp(28px,3.4vw,38px); font-weight: 800; color: #0F0E17; margin: 0 0 8px; }

.footer { padding: 40px 32px; text-align: center; border-top: 1px solid #E7EAEE; }
.footer p { font-size: 14px; color: rgba(15,14,23,.55); margin: 0; }

.hero-star { position: absolute; pointer-events: none; z-index: 0; color: #1e3a5f; line-height: 1; font-family: 'Plus Jakarta Sans', sans-serif; }
