:root {
  --bg: #f4f7fb;
  --surface: #ffffff;
  --text: #172033;
  --muted: #667085;
  --line: #e5eaf2;
  --primary: #2457e6;
  --primary-dark: #173ca9;
  --accent: #eaf0ff;
  --shadow: 0 18px 50px rgba(23,32,51,.08);
  --radius: 22px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--text);
  background: radial-gradient(circle at top right, rgba(36,87,230,.08), transparent 32rem), var(--bg);
  line-height: 1.65;
}
a { color: inherit; }
.container { width: min(1120px, calc(100% - 40px)); margin: 0 auto; }
.site-header { padding: 20px 0; }
.nav { display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand { display:flex; align-items:center; gap:12px; text-decoration:none; font-weight:800; font-size:1.08rem; }
.brand-mark {
  width:42px; height:42px; display:grid; place-items:center; border-radius:13px; color:#fff;
  background:linear-gradient(135deg,var(--primary),#6d8dff); box-shadow:0 10px 25px rgba(36,87,230,.25);
}
.nav-right { display:flex; align-items:center; gap:22px; }
.nav-links { display:flex; align-items:center; gap:20px; }
.nav-links a { color:var(--muted); text-decoration:none; font-size:.92rem; font-weight:600; }
.nav-links a:hover, .nav-links a.active { color:var(--primary); }
.language-switcher {
  display:inline-flex; padding:4px; border:1px solid var(--line); border-radius:12px; background:rgba(255,255,255,.8);
}
.language-switcher button {
  min-width:42px; padding:7px 10px; border:0; border-radius:8px; background:transparent;
  color:var(--muted); font:inherit; font-size:.82rem; font-weight:800; cursor:pointer;
}
.language-switcher button.active { color:#fff; background:var(--primary); }
.hero { padding:72px 0 70px; }
.hero-grid { display:grid; grid-template-columns:1.22fr .78fr; gap:46px; align-items:center; }
.eyebrow {
  display:inline-flex; padding:7px 11px; border:1px solid #d9e2ff; border-radius:999px;
  background:var(--accent); color:var(--primary-dark); font-size:.82rem; font-weight:700;
}
h1 { margin:18px 0; font-size:clamp(3rem,7vw,5.5rem); line-height:.98; letter-spacing:-.055em; }
.lead { margin:0; max-width:700px; color:var(--muted); font-size:clamp(1.05rem,2vw,1.2rem); }
.actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:30px; }
.button {
  display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:0 20px;
  border-radius:13px; font-weight:700; text-decoration:none;
}
.button-primary { color:#fff; background:var(--primary); box-shadow:0 10px 26px rgba(36,87,230,.22); }
.button-primary:hover { background:var(--primary-dark); }
.button-secondary { background:#fff; border:1px solid var(--line); }
.company-card, .content-card {
  padding:30px; border:1px solid rgba(229,234,242,.95); border-radius:var(--radius);
  background:rgba(255,255,255,.92); box-shadow:var(--shadow);
}
.company-card h2 { margin:0 0 22px; font-size:1.1rem; }
.data-row { display:flex; justify-content:space-between; gap:18px; padding:13px 0; border-bottom:1px solid var(--line); }
.data-row:last-child { border-bottom:0; padding-bottom:0; }
.data-label { color:var(--muted); font-size:.9rem; }
.data-value { text-align:right; font-weight:700; font-size:.92rem; }
section { padding:34px 0 76px; }
.section-heading { max-width:780px; margin-bottom:30px; }
.section-heading h2, .page-header h1 {
  margin:0 0 10px; font-size:clamp(2.2rem,5vw,3.6rem); line-height:1.05; letter-spacing:-.04em;
}
.section-heading p, .page-header p { margin:0; color:var(--muted); }
.cards { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.card {
  min-height:210px; padding:25px; border:1px solid var(--line); border-radius:18px;
  background:var(--surface); box-shadow:0 8px 30px rgba(23,32,51,.045);
}
.icon { width:44px; height:44px; display:grid; place-items:center; margin-bottom:20px; border-radius:13px; background:var(--accent); color:var(--primary); }
.card h3 { margin:0 0 8px; font-size:1.05rem; }
.card p { margin:0; color:var(--muted); font-size:.94rem; }
.contact-panel {
  display:grid; grid-template-columns:1fr 1fr; gap:28px; padding:34px; border-radius:var(--radius);
  background:#172033; color:#fff; box-shadow:var(--shadow);
}
.contact-panel h2 { margin:0 0 10px; font-size:clamp(2rem,4vw,2.7rem); line-height:1.05; letter-spacing:-.035em; }
.contact-panel p { margin:0; color:#b9c1d1; }
.contact-list { display:grid; gap:12px; align-content:center; }
.contact-item { padding:15px 17px; border:1px solid rgba(255,255,255,.12); border-radius:13px; background:rgba(255,255,255,.055); }
.contact-item small { display:block; margin-bottom:2px; color:#9ea9bd; }
.contact-item a, .contact-item strong { color:#fff; text-decoration:none; font-weight:700; }
.page-header { padding:62px 0 24px; max-width:850px; }
.page-header h1 { font-size:clamp(2.8rem,7vw,5rem); }
.prose { max-width:900px; padding-bottom:70px; }
.prose .content-card { padding:clamp(24px,5vw,48px); }
.prose h2 { margin:34px 0 10px; font-size:1.45rem; line-height:1.2; letter-spacing:-.02em; }
.prose h2:first-child { margin-top:0; }
.prose p, .prose li { color:#445066; }
.prose ul { padding-left:22px; }
.notice {
  margin:24px 0; padding:18px 20px; border:1px solid #d9e2ff; border-radius:14px;
  background:var(--accent); color:var(--primary-dark);
}
.site-footer { padding:0 0 30px; color:var(--muted); font-size:.86rem; }
.footer-grid {
  display:grid; grid-template-columns:1.3fr 1fr 1fr; gap:30px; padding-top:26px; border-top:1px solid var(--line);
}
.footer-title { color:var(--text); font-weight:800; margin-bottom:7px; }
.footer-grid p { margin:0 0 5px; }
.footer-grid a { text-decoration:none; }
.footer-grid a:hover { color:var(--primary); }
.footer-bottom { margin-top:22px; padding-top:18px; border-top:1px solid var(--line); display:flex; justify-content:space-between; gap:18px; }
.lang-content[hidden] { display:none !important; }

@media (max-width: 850px) {
  .hero-grid, .contact-panel, .footer-grid { grid-template-columns:1fr; }
  .cards { grid-template-columns:1fr; }
  .nav { align-items:flex-start; }
  .nav-right { align-items:flex-end; gap:12px; }
  .nav-links { gap:12px; flex-wrap:wrap; justify-content:flex-end; }
}
@media (max-width: 620px) {
  .container { width:min(100% - 28px,1120px); }
  .site-header { padding:15px 0; }
  .nav { gap:12px; }
  .brand span:last-child { display:none; }
  .nav-right { gap:8px; }
  .nav-links { display:none; }
  h1 { font-size:3.25rem; }
  .hero { padding-top:45px; }
  .company-card, .contact-panel { padding:22px; }
  .data-row { display:block; }
  .data-value { margin-top:3px; text-align:left; }
  .footer-bottom { display:block; }
}
