/* Shared body system for public internal pages. The global header/footer remain in style.min.css. */
:root {
  --internal-ink: #14233b;
  --internal-muted: #526176;
  --internal-blue: #12658a;
  --internal-navy: #102848;
  --internal-line: #dbe4ec;
  --internal-soft: #f4f7f9;
  --internal-radius: 10px;
  --internal-shadow: 0 12px 34px rgba(18, 43, 70, .08);
}

body { color: var(--internal-ink); font-size: 16.5px; line-height: 1.68; }
main, body > section { overflow-wrap: anywhere; }
body > section:not(.hero-section):not(.site-footer),
main > section { padding-block: clamp(3.5rem, 7vw, 5.5rem) !important; }
body > section + section, main > section + section { border-top-color: var(--internal-line); }
.container { max-width: 1140px; }
main .container > p, main .container > ul, main .container > ol,
body > section:not(.hero-section) > .container > p { max-width: 820px; }

.hero-section {
  min-height: 0 !important;
  padding-block: clamp(3.75rem, 8vw, 6.5rem);
  background: linear-gradient(135deg, #102848 0%, #173e61 100%);
}
.hero-section .container { padding-block: 0 !important; }
.hero-section h1 {
  max-width: 900px;
  margin-bottom: 1.25rem;
  font-size: clamp(2.35rem, 5vw, 3.1rem);
  line-height: 1.12;
  letter-spacing: -.025em;
}
.hero-section .lead { max-width: 820px; font-size: clamp(1.06rem, 2vw, 1.22rem); line-height: 1.65; }

h2 { margin-bottom: 1.1rem; font-size: clamp(1.75rem, 3.2vw, 2.1rem); line-height: 1.2; letter-spacing: -.018em; }
h3, .h3 { font-size: clamp(1.3rem, 2vw, 1.52rem); line-height: 1.28; }
p, li { color: var(--internal-muted); }
section p:last-child, .card p:last-child { margin-bottom: 0; }
section ul:not(.navbar-nav):not(.dropdown-menu):not(.site-footer__links),
section ol { padding-left: 1.2rem; }
section li + li { margin-top: .45rem; }

.card, .conversion-card, .service-item, .feature-box, .faq-item,
.accordion-item, article {
  border-color: var(--internal-line) !important;
  border-radius: var(--internal-radius) !important;
  box-shadow: var(--internal-shadow);
}
.card, .conversion-card, .service-item, .feature-box, article { padding: clamp(1.35rem, 3vw, 1.75rem); }
.bg-light { background-color: var(--internal-soft) !important; }
.btn { min-height: 44px; padding-inline: 1.2rem; font-weight: 600; }
.btn.rounded-pill { border-radius: 7px !important; }
.table-responsive { margin-block: 1.75rem; border: 1px solid var(--internal-line); border-radius: var(--internal-radius); }
table { margin-bottom: 0 !important; }
th { background: var(--internal-navy) !important; color: #fff !important; }
td, th { padding: .85rem 1rem !important; vertical-align: top; }
.accordion-item + .accordion-item, .faq-item + .faq-item { margin-top: .75rem; }
img { max-width: 100%; height: auto; }

@media (max-width: 767.98px) {
  body { font-size: 16px; }
  body > section:not(.hero-section):not(.site-footer), main > section { padding-block: 3rem !important; }
  .hero-section { padding-block: 3.5rem; }
  .hero-section h1 { font-size: clamp(2rem, 10vw, 2.4rem); }
  .row { --bs-gutter-x: 1.5rem; }
  .card, .conversion-card, .service-item, .feature-box, article { padding: 1.25rem; }
  .table-responsive { max-width: calc(100vw - 28px); }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
/* Image-led split sections become full-width when decorative media is removed. */
.row > [class*="col-"]:only-child { max-width: 900px; }
