/* Julkisten sisältösivujen yhteinen ilme. Ladataan sivun rakenteellisten tyylien jälkeen. */
:root {
  --ink: #172f43;
  --bg-page: #f8f7f3;
  --text-muted: #586774;
  --text-muted-2: #586774;
  --text-body-soft: #586774;
  --text-faint: #586774;
  --brand-from: #234bc1;
  --brand-to: #234bc1;
  --link: #234bc1;
  --nav-current: #234bc1;
  --border: #d9deda;
  --border-soft: #d9deda;
}
body { font-family: 'Manrope', system-ui, sans-serif; line-height: 1.65; }
:focus-visible { outline: 3px solid var(--link); outline-offset: 4px; }
.site-footer { background: var(--bg-page); border-color: var(--border); padding: 24px 5vw; font-size: 12px; }
.footer-sep { display: none; }
.site-footer a { min-height: 44px; display: inline-flex; align-items: center; }
.pricing-h1, .blog-h1, .docs-page-title, .article-title, .error-title {
  font-size: clamp(32px, 4.5vw, 56px); font-weight: 600; letter-spacing: -.045em; line-height: 1.12;
  overflow-wrap: anywhere;
}
.pricing-hero { padding-top: 56px; }
.pricing-lead { max-width: 580px; margin-inline: auto; }
.pricing-trial { background: none; color: var(--text-muted); border-radius: 0; padding: 0; font-size: 13px; font-weight: 500; }
.tiers { width: 100%; max-width: 720px; padding-top: 28px; }
.tier, .tier.featured { border: 1px solid var(--border); border-radius: 10px; box-shadow: none; padding: 32px; }
.tier-name { font-weight: 600; }
.tier-amount { font-size: 56px; font-weight: 600; letter-spacing: -.06em; }
.tier-cta.primary, .error-cta { background: var(--link); box-shadow: none; border-radius: 6px; min-height: 48px; }
.tier-cta.primary:hover, .error-cta:hover { background: #193b9f; filter: none; }
.tier-feats { gap: 0; }
.tier-feats li { padding: 10px 0; border-top: 1px solid var(--border); }
.tier-feats li::before { content: none; }
.feats-head { text-transform: none; letter-spacing: 0; font-size: 14px; color: var(--ink); }
.enterprise { max-width: 1040px; margin-top: 40px; }
.enterprise-inner, .blog-cta-inner { background: #e9eef0; color: var(--ink); border-radius: 10px; }
.enterprise-text p, .blog-cta-text p { color: var(--text-muted); }
.enterprise-cta, .blog-cta-btn { border-radius: 6px; color: var(--ink); white-space: normal; }
.faq-h2, .docs-h2, .article h2, .article-body h2 { font-weight: 600; letter-spacing: -.025em; }
.faq-a { font-size: 15px; }
.blog-hero { padding-top: 56px; }
.post-list { gap: 0; }
.post-card, .post-card.latest { background: transparent; border: 0; border-top: 1px solid var(--border); border-radius: 0; box-shadow: none; padding: 30px 0; }
.post-card:hover { background: transparent; box-shadow: none; }
.post-card:hover .post-card-title { color: var(--link); }
.post-card-title { font-weight: 600; font-size: 24px; }
.post-card-meta, .article-meta { flex-wrap: wrap; }
.docs-sidebar { top: 20px; max-height: calc(100vh - 40px); }
.docs-sidebar-label { text-transform: none; letter-spacing: 0; font-size: 12px; }
.docs-nav a { min-height: 44px; display: flex; align-items: center; }
.docs-page-intro { margin-top: 20px; }
.quickstart { background: #e9eef0; border-color: var(--border); box-shadow: none; border-radius: 10px; }
.docs-main p, .article p, .article-body { line-height: 1.75; }
.article a, .docs-main a { overflow-wrap: anywhere; }
.error-number { background: none; color: var(--link); -webkit-text-fill-color: currentColor; font-weight: 500; }
@media (max-width: 900px) { .docs-sidebar { position: relative; top: 0; max-height: none; } }
@media (max-width: 640px) {
  .pricing-hero, .blog-hero { padding-top: 36px; }
  .tier, .tier.featured { padding: 24px; }
  .pricing-trial { display: block; }
  .enterprise-inner, .blog-cta-inner { padding: 24px; }
  .dl-table { display: block; max-width: 100%; overflow-x: auto; }
}
