/* Shared homepage geometry. This file follows the historical review styles. */
:root {
  --kd-site-width: 1200px;
  --kd-site-gutter: 24px;
  --kd-site-blue: #3d82d0;
  --kd-site-ink: #16233a;
  --kd-site-tint: #f4f8fc;
  --kd-site-banner: linear-gradient(125deg, #0a1c40 0%, #0a2452 48%, #3d82d0 100%);
}
body { min-width: 0; }
.wp-site-blocks > main,
.wp-site-blocks > footer .kd-footer,
.wp-site-blocks .kd-conversion { padding-inline: 0; }
.wp-site-blocks > main { margin-block-start: 0; }
.kd-home .kd-wrap,
.kd-category-shell,
.kd-header-inner,
.kd-footer-inner,
.kd-subhero-brand .kd-subhero-inner,
.kd-hero-inner,
.kd-review-cases-page > .kd-breadcrumbs,
.kd-review-cases-page .wp-block-post-content {
  width: 100%; max-width: var(--kd-site-width); margin-inline: auto;
  padding-inline: max(var(--kd-site-gutter), env(safe-area-inset-left)) max(var(--kd-site-gutter), env(safe-area-inset-right));
}
.wp-site-blocks > main:is(.kd-subpage, .kd-main) {
  width: 100%; max-width: var(--kd-site-width); margin-inline: auto;
  padding-inline: max(var(--kd-site-gutter), env(safe-area-inset-left)) max(var(--kd-site-gutter), env(safe-area-inset-right));
}
.kd-review-catalog .kd-subpage-brand > .wp-block-post-content,
.kd-subpage-brand .kd-revision-page .kd-wrap { max-width: none; padding-inline: 0; }
.kd-subpage-brand .wp-block-post-content,
.kd-subpage-brand .kd-about-page,
.kd-main .wp-block-post-content,
.kd-post-list { max-width: none; width: 100%; }
.kd-subpage-brand .wp-block-post-content > :where(:not(.alignleft):not(.alignright)) { max-width: none; }
.kd-subhero-brand,
.kd-category-hero,
.kd-subpage-brand .kd-content-cta,
.kd-about-page .kd-about-contact,
.kd-about-page .kd-about-focus { background: var(--kd-site-banner); }
.kd-subpage-brand .wp-block-post-content { color: var(--kd-site-ink); overflow-wrap: anywhere; }
.kd-subpage-brand .kd-content-section { border-radius: 12px; border-color: #e3ebf4; box-shadow: none; }
.kd-subpage-brand .kd-content-section:nth-child(even):not(.kd-content-cta),
.kd-about-page .kd-about-partners { background: var(--kd-site-tint); }
.kd-subpage-brand .kd-content-section h2,
.kd-subpage-brand .kd-content-section h3,
.kd-subpage-brand .kd-about-page h2 { color: var(--kd-site-ink); }
.kd-subpage-brand .kd-content-cta :is(h2, h3, p, a) { color: #fff; }
.kd-subpage-brand .kd-content-intro { max-width: none; }
.kd-subpage-brand img { max-width: 100%; height: auto; }
.kd-subpage-brand .wp-block-table { overflow-x: auto; }
.kd-subpage-brand pre { max-width: 100%; overflow-x: auto; }
.kd-catalog-grid { grid-auto-rows: 1fr; }
.kd-catalog-grid > .kd-catalog-card { min-width: 0; }
.kd-insights-guides { margin-block: 40px; padding: 24px; border: 1px solid #e3ebf4; border-radius: 12px; }
.kd-insights-guides > summary { cursor: pointer; color: #075dbb; font-weight: 700; }
.kd-insights-guides[open] > summary { margin-bottom: 28px; }
/* Article reading column: 25% on either side on spacious screens. */
.single-post .kd-subhero-brand .kd-subhero-inner { text-align: center; }
.single-post .kd-subhero-brand h1 { margin-inline: auto; }
.single-post .kd-breadcrumbs { justify-content: flex-start; text-align: left; margin-bottom: 40px; }
.single-post .wp-site-blocks > main.kd-subpage-brand {
  width: 50%; max-width: none; padding-inline: 0;
}
.single-post .wp-block-post-content { line-height: 1.95; font-size: 17px; }
.single-post .wp-block-post-featured-image { margin: 0 0 36px; }
.single-post .wp-block-post-featured-image img { display: block; width: 100%; border-radius: 12px; }
.kd-article-date { color: #63748b; text-align: right; margin-top: 32px; }
.kd-article-navigation { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px; margin-top: 52px; padding-top: 28px; border-top: 1px solid #d9e5f2; }
.kd-article-navigation > :last-child { text-align: right; }
.kd-article-navigation a { display: block; min-height: 44px; text-decoration: none; overflow-wrap: anywhere; }
/* Use a compact dock when the side rail would overlap the shared content frame. */
@media (max-width: 1440px) {
  body:not(.page-template-page-call) { padding-bottom: calc(96px + env(safe-area-inset-bottom)); }
  .kd-contact-rail { top: auto; bottom: calc(16px + env(safe-area-inset-bottom)); left: max(16px, env(safe-area-inset-left)); transform: none; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); width: min(480px, calc(100% - 120px)); max-height: none; overflow: visible; }
  .kd-contact-rail :is(a, button) { min-width: 0; min-height: 58px; padding: 8px 5px; font-size: 12px; border-bottom: 0; border-right: 1px solid #e3ebf5; border-radius: 0; }
  .kd-contact-rail > :first-child { border-radius: 12px 0 0 12px; }
  .kd-contact-rail > :last-child { border-radius: 0 12px 12px 0; border-right: 0; }
  .kd-contact-rail img { display: none; }
}
@media (max-width: 1100px) {
  .single-post .wp-site-blocks > main.kd-subpage-brand { width: calc(100% - 2 * var(--kd-site-gutter)); max-width: 760px; }
}
@media (max-width: 640px) {
  :root { --kd-site-gutter: 16px; }
  .kd-subpage-brand .kd-content-section { padding: 24px 20px; }
  .kd-contact-rail { width: calc(100% - 110px); left: max(10px, env(safe-area-inset-left)); }
  .kd-contact-rail :is(a, button) { font-size: 11px; padding-inline: 3px; }
  .kd-article-navigation { gap: 16px; }
}
