@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('../fonts/inter-latin-ext.woff2?v=1') 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: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('../fonts/inter-latin.woff2?v=1') 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;
}
:root {
  --navy-900: #0e1b3d;
  --navy-800: #16285a;
  --navy-700: #1d3470;
  --blue-500: #3a6fd0;
  --blue-400: #5b8ae6;
  --ink: #1a2238;
  --line: #e4e8f1;
  --bg: #ffffff;
  --bg-soft: #eef2fa;
  --maxw: 1160px;
  --font: 'Inter', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; scroll-padding-top: 130px; }
body { font-family: var(--font); color: var(--ink); background: var(--bg); line-height: 1.65; -webkit-font-smoothing: antialiased; }
a { color: var(--blue-500); text-decoration: none; }
img { max-width: 100%; display: block; }
.container { width: 100%; max-width: var(--maxw); margin: 0 auto; padding: 0 24px; }
.skip-link { position: absolute; left: 12px; top: -120px; z-index: 300; background: var(--navy-900); color: #fff; font-weight: 600; padding: 10px 16px; border-radius: 8px; }
.site-header { position: sticky; top: 0; z-index: 50; }
.topbar { background: var(--navy-900); color: #c9d4ee; font-size: .85rem; }
.topbar__inner { display: flex; align-items: center; gap: 14px; padding: 9px 24px; flex-wrap: wrap; }
.topbar a { color: #dbe4f7; }
.topbar strong { color: #fff; font-weight: 600; }
.topbar__sep { opacity: .4; }
.header { background: rgba(255, 255, 255, .92); backdrop-filter: blur(10px); border-bottom: 1px solid var(--line); }
.header__inner { display: flex; align-items: center; gap: 24px; min-height: 72px; }
.brand { display: inline-flex; align-items: center; gap: 11px; }
.brand__logo { height: 46px; width: auto; flex: none; display: block; }
.nav { display: flex; gap: 4px; margin-left: auto; }
.nav a { color: var(--ink); font-weight: 500; font-size: .94rem; padding: 9px 13px; border-radius: 8px; }
.nav-toggle { display: none; flex-direction: column; gap: 5px; background: none; border: 0; cursor: pointer; padding: 8px; }
.nav-toggle span { width: 24px; height: 2.5px; background: var(--navy-800); border-radius: 2px; }
.lang-toggle { flex: none; margin-left: 8px; display: inline-block; text-align: center; background: var(--bg-soft); color: var(--navy-700); border: 1px solid var(--line); border-radius: 999px; padding: 7px 14px; min-width: 46px; font-family: inherit; font-weight: 700; font-size: .82rem; letter-spacing: .04em; }
.hero { position: relative; color: #fff; overflow: hidden; }
.hero__bg { position: absolute; inset: 0; background: radial-gradient(620px 620px at 80% 52%, rgba(173, 200, 255, .11), transparent 64%), radial-gradient(900px 500px at 85% -10%, rgba(91, 138, 230, .35), transparent 60%), radial-gradient(700px 500px at -5% 110%, rgba(216, 57, 43, .22), transparent 55%), linear-gradient(135deg, var(--navy-900) 0%, var(--navy-800) 55%, var(--navy-700) 100%); }
.hero__bg::after { content: ""; position: absolute; inset: 0; background-image: radial-gradient(rgba(255, 255, 255, .06) 1px, transparent 1px); background-size: 26px 26px; mask-image: linear-gradient(180deg, #000, transparent 75%); }
.hero__inner { position: relative; display: grid; grid-template-columns: 1.25fr .9fr; gap: 56px; align-items: center; padding: 120px 24px 130px; min-height: 88vh; }
.hero__brand { display: flex; align-items: center; gap: 16px; margin-bottom: 26px; }
.hero__panel { display: flex; align-items: center; justify-content: center; }
.hero__icon-large { display: block; width: 100%; max-width: 360px; height: auto; filter: drop-shadow(0 12px 30px rgba(0,0,0,.4)); }
.hero__brand-lines { display: flex; flex-direction: column; gap: 4px; }
.hero__brand-name { font-size: 2.1rem; font-weight: 800; letter-spacing: -.03em; line-height: 1; color: #fff; }
.hero__brand-tag { font-size: .82rem; letter-spacing: .04em; color: var(--blue-400); font-weight: 500; }
.hero__text h1 { font-size: clamp(2.1rem, 4.4vw, 3.5rem); line-height: 1.08; font-weight: 800; letter-spacing: -.02em; }
.hero__text h1 .accent { color: #7da6f0; }
.hero__text p { margin-top: 20px; font-size: 1.12rem; color: #c7d2ec; max-width: 560px; }
