/* ── Self-hosted Inter ── */
@font-face { font-family: 'Inter'; src: url('/fonts/inter-400.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'Inter'; src: url('/fonts/inter-500.woff2') format('woff2'); font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: 'Inter'; src: url('/fonts/inter-600.woff2') format('woff2'); font-weight: 600; font-style: normal; font-display: swap; }
@font-face { font-family: 'Inter'; src: url('/fonts/inter-700.woff2') format('woff2'); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: 'Inter'; src: url('/fonts/inter-800.woff2') format('woff2'); font-weight: 800; font-style: normal; font-display: swap; }

/* ── Top bar (matches index.html) ── */
body { margin:0; font-family:'Inter',sans-serif; }
.top-bar { position:fixed; top:0; left:0; right:0; z-index:100; display:flex; align-items:center; justify-content:space-between; padding:0 24px; height:56px; background:rgba(255,255,255,.94); backdrop-filter:blur(12px); border-bottom:1px solid #e5e7eb; transition:box-shadow .2s; }
.top-bar.scrolled { box-shadow:0 2px 12px rgba(0,0,0,.06); }
.top-logo { display:flex; align-items:center; gap:8px; text-decoration:none; color:#1e293b; font-weight:800; font-size:.95rem; }
.top-logo img { height:24px; }
.top-right { display:flex; align-items:center; gap:12px; }
.top-nav { display:flex; align-items:center; gap:2px; }
.top-nav-link { padding:6px 12px; border-radius:6px; font-size:.85rem; font-weight:600; text-decoration:none; color:#4b5563; transition:all .15s; }
.top-nav-link:hover { background:#f3f4f6; color:#111827; }
.top-nav-dd { position:relative; }
.top-nav-dd-btn { padding:6px 12px; border-radius:6px; font-size:.85rem; font-weight:600; color:#4b5563; background:transparent; border:none; cursor:pointer; font-family:inherit; transition:all .15s; display:flex; align-items:center; gap:4px; }
.top-nav-dd-btn:hover, .top-nav-dd.open .top-nav-dd-btn { background:#f3f4f6; color:#111827; }
.top-nav-dd-menu { display:none; position:absolute; top:calc(100% + 4px); left:0; background:#fff; border:1px solid #e5e7eb; border-radius:8px; box-shadow:0 8px 24px rgba(0,0,0,.12); min-width:200px; overflow:hidden; z-index:200; }
.top-nav-dd.open .top-nav-dd-menu { display:block; }
.top-nav-dd-menu a { display:block; padding:10px 16px; font-size:.85rem; color:#374151; text-decoration:none; transition:background .15s; }
.top-nav-dd-menu a:hover { background:#f3f4f6; }
.top-login { padding:6px 16px; border-radius:8px; font-size:.85rem; font-weight:600; text-decoration:none; color:#2F5897; border:1px solid #2F5897; transition:all .15s; }
.top-login:hover { background:#2F5897; color:#fff; }
@media(max-width:600px) { .top-nav { display:none; } }
/* ── Language toggle ── */
.sol-lang-toggle { display:flex; align-items:center; gap:0; border:1px solid #d1d5db; border-radius:6px; overflow:hidden; }
.sol-lang-opt { font-size:.78rem; font-weight:700; color:#6b7280; text-decoration:none !important; padding:4px 10px; transition:all .15s; display:block; line-height:1.4; }
.sol-lang-opt + .sol-lang-opt { border-left:1px solid #d1d5db; }
.sol-lang-opt:hover { background:#f3f4f6; color:#111827; }
.sol-lang-opt.active { color:#2F5897; background:#eff6ff; }

/* ── Layout ── */
.sol-container { max-width:1040px; margin:0 auto; padding:0 24px; }

/* ── Hero ── */
.sol-hero { margin-top:56px; padding:72px 24px 56px; background:#f8fafc; border-bottom:1px solid #e5e7eb; }
.sol-kicker { display:inline-flex; align-items:center; gap:8px; color:#2F5897; background:#e8eef6; border:1px solid #c7d2e8; border-radius:999px; padding:6px 14px; font-size:.82rem; font-weight:700; margin-bottom:18px; }
.sol-hero h1 { font-size:2.75rem; line-height:1.1; margin:0 0 16px; color:#111827; max-width:700px; }
.sol-hero p { font-size:1.1rem; line-height:1.65; color:#4b5563; margin:0 0 28px; max-width:620px; }
.sol-actions { display:flex; gap:12px; flex-wrap:wrap; margin-bottom:20px; }
.sol-btn-primary { background:#2F5897; color:#fff; border:1px solid #2F5897; border-radius:8px; padding:13px 22px; font-weight:800; text-decoration:none; font-size:.95rem; transition:background .15s; }
.sol-btn-primary:hover { background:#1e3d6b; }
.sol-btn-secondary { background:#fff; color:#2F5897; border:1px solid #2F5897; border-radius:8px; padding:13px 22px; font-weight:800; text-decoration:none; font-size:.95rem; transition:background .15s; }
.sol-btn-secondary:hover { background:#f0f5ff; }
.sol-proof { display:flex; gap:16px; flex-wrap:wrap; color:#6b7280; font-size:.88rem; }
.sol-proof span::before { content:'✓ '; color:#16a34a; font-weight:800; }

/* ── Sections ── */
.sol-section { padding:56px 24px; background:#fff; }
.sol-section.alt { background:#f8fafc; border-top:1px solid #e5e7eb; border-bottom:1px solid #e5e7eb; }
.sol-eyebrow { font-size:.78rem; font-weight:800; color:#2F5897; text-transform:uppercase; letter-spacing:.08em; margin-bottom:10px; }
.sol-section h2 { font-size:1.75rem; color:#111827; margin:0 0 32px; max-width:600px; line-height:1.25; }

/* ── Pain cards ── */
.sol-pain-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.sol-pain-card { background:#fff; border:1px solid #e5e7eb; border-radius:10px; padding:24px; }
.sol-pain-icon { font-size:1.4rem; margin-bottom:12px; }
.sol-pain-card strong { display:block; font-size:.97rem; color:#111827; margin-bottom:8px; }
.sol-pain-card p { margin:0; color:#6b7280; font-size:.9rem; line-height:1.65; }

/* ── Feature items ── */
.sol-feat-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:24px; }
.sol-feat-item { display:flex; gap:16px; align-items:flex-start; }
.sol-feat-icon { width:42px; height:42px; border-radius:10px; background:#e8eef6; display:flex; align-items:center; justify-content:center; font-size:1.2rem; flex-shrink:0; }
.sol-feat-body strong { display:block; font-size:.97rem; color:#111827; margin-bottom:5px; }
.sol-feat-body p { margin:0; color:#6b7280; font-size:.88rem; line-height:1.6; }

/* ── Bottom CTA ── */
.sol-cta-band { background:#2F5897; padding:56px 24px; text-align:center; }
.sol-cta-band h2 { font-size:1.75rem; color:#fff; margin:0 0 10px; }
.sol-cta-band p { color:#c7d2e8; margin:0 0 26px; font-size:1rem; }
.sol-cta-btn { background:#fff; color:#2F5897; border-radius:8px; padding:14px 30px; font-weight:800; text-decoration:none; font-size:1rem; display:inline-block; transition:background .15s; }
.sol-cta-btn:hover { background:#e8eef6; }

/* ── More solutions ── */
.sol-more { padding:36px 24px; background:#fff; border-top:1px solid #e5e7eb; text-align:center; }
.sol-more p { color:#6b7280; font-size:.9rem; margin:0 0 14px; }
.sol-more-links { display:flex; justify-content:center; gap:10px; flex-wrap:wrap; }
.sol-more-link { border:1px solid #dbe3ef; border-radius:8px; padding:8px 16px; font-size:.85rem; font-weight:600; color:#2F5897; text-decoration:none; transition:background .15s; }
.sol-more-link:hover { background:#e8eef6; }

/* ── Footer ── */
.sol-footer { text-align:center; padding:32px 20px; color:#9ca3af; font-size:.85rem; border-top:1px solid #e5e7eb; }
.sol-footer a { color:#6b7280; text-decoration:none; margin:0 8px; }
.sol-footer a:hover { color:#2F5897; }

/* ── Responsive ── */
@media(max-width:768px) {
    .sol-hero h1 { font-size:2rem; }
    .sol-pain-grid { grid-template-columns:1fr; }
    .sol-feat-grid { grid-template-columns:1fr; }
}
