:root { --bg:#f5f8ff; --surface:#ffffff; --text:#0f172a; --muted:#586883; --line:#dbe5f5; --primary:#2458ff; --shadow:0 24px 64px rgba(31,66,154,.12); }
    * { box-sizing:border-box; }
    body { margin:0; font-family:Manrope,Arial,sans-serif; color:var(--text); background:radial-gradient(circle at top left,rgba(36,88,255,.14),transparent 26%),linear-gradient(180deg,#fbfcff 0%,var(--bg) 100%); }
    a { color:inherit; text-decoration:none; }
    .container { width:min(calc(100% - 32px),1120px); margin:0 auto; }
    .topbar { padding:18px 0 0; }
    .topbar-inner { display:flex; align-items:center; justify-content:space-between; gap:12px; }
    .brand { display:inline-flex; align-items:center; gap:10px; font-weight:800; letter-spacing:-.04em; }
    .brand-mark { display:grid; place-items:center; width:40px; height:40px; border-radius:14px; color:#fff; background:linear-gradient(135deg,#0f172a 0%,#2458ff 100%); }
    .pill-link { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:0 18px; border:1px solid var(--line); border-radius:999px; background:rgba(255,255,255,.92); font-weight:800; white-space:nowrap; }
    .pill-link.primary { color:#fff; border-color:transparent; background:linear-gradient(135deg,#2458ff 0%,#4a79ff 100%); box-shadow:0 18px 40px rgba(36,88,255,.24); }
    .hero { padding:32px 0 20px; }
    .breadcrumbs { display:flex; flex-wrap:wrap; gap:10px; margin:0 0 18px; color:var(--muted); font-size:.95rem; }
    .breadcrumbs span { opacity:.72; }
    h1 { margin:18px 0 12px; font-size:clamp(2rem,4vw,3rem); line-height:1.05; letter-spacing:-.04em; }
    .article { padding:32px; border:1px solid var(--line); border-radius:32px; background:rgba(255,255,255,.95); box-shadow:var(--shadow); margin-bottom:72px; }
    .article h2 { margin:28px 0 14px; font-size:1.5rem; letter-spacing:-.03em; }
    .article h3 { margin:24px 0 10px; font-size:1.15rem; letter-spacing:-.02em; }
    .article p { margin:0 0 14px; color:var(--muted); line-height:1.82; }
    .article ul,.article ol { margin:0 0 14px; padding-left:20px; color:var(--muted); line-height:1.82; }
    .article strong { color:var(--text); }
    .article a { color:var(--primary); text-decoration:underline; }
    .caps { text-transform:uppercase; font-size:.95em; }
    .last-updated { margin:24px 0 0; padding-top:18px; border-top:1px solid var(--line); color:var(--muted); font-size:.9rem; }
    @media(max-width:768px) {
      .article { padding:20px; border-radius:22px; }
      .pill-link { min-height:42px; padding:0 14px; font-size:.92rem; }
    }
/* Language switcher (shared across pages) */
.lang-switch { display: inline-flex; gap: 2px; padding: 4px; background: #fff; border: 1px solid var(--line,#dbe5f5); border-radius: 999px; box-shadow: 0 8px 24px rgba(31,66,154,.14); font-weight: 800; font-size: .78rem; }
.lang-switch a { padding: 7px 12px; border-radius: 999px; text-decoration: none; color: var(--text,#0f172a); transition: background .15s; }
.lang-switch a.active { background: var(--primary,#2458ff); color: #fff; }
.lang-switch a:hover:not(.active) { background: #eef4ff; }
.topbar-actions { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
@media (max-width: 760px) { .topbar-inner { align-items: flex-start !important; flex-direction: column !important; gap: 14px !important; } .topbar-actions { width: 100%; } }
/* Unified site footer (shared by all content pages) */
.site-footer { padding: 40px 0 48px; border-top: 1px solid #dbe5f5; background: rgba(255,255,255,.6); margin-top: 60px; }
.site-footer .footer-shell { padding-top: 24px; }
.site-footer .footer-grid { display: grid; gap: 20px; }
.site-footer .footer-links { display: flex; flex-wrap: wrap; gap: 16px; margin-bottom: 14px; }
.site-footer .footer-links a { color: #586883; font-weight: 600; font-size: .92rem; transition: color .15s; text-decoration: none; }
.site-footer .footer-links a:hover { color: #2458ff; }
.site-footer .footer-contacts { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 14px; }
.site-footer .contact-pill { display: inline-flex; align-items: center; padding: 8px 14px; border-radius: 999px; border: 1px solid #dbe5f5; background: #fff; font-weight: 700; font-size: .88rem; color: #0f172a; text-decoration: none; transition: all .15s; }
.site-footer .contact-pill:hover { border-color: #2458ff; color: #2458ff; }
.site-footer .footer-note { margin: 16px 0 0; color: #586883; font-size: .85rem; line-height: 1.6; max-width: 900px; }
