/* Internal pages share the approved homepage palette, type and surfaces.
   Component-specific catalogue overrides live in inner-catalog.css. */
.inner-page {
  --primary: #081c64;
  --primary-dark: #081c64;
  --secondary: #007f83;
  --action: #007f83;
  --action-hover: #006d72;
  --background: #f8fbfe;
  --foreground: #24395f;
  --muted-text: #526995;
  --border: #e3ebf4;
  --ring: #007f83;
  --mint-surface: #edf8f8;
  --mint-border: #d8ebed;
  --max-width: 1200px;
  --shadow-sm: 0 3px 12px #52699508;
  --shadow-md: 0 8px 24px #5269950f;
  --shadow-card: 0 8px 24px #5269950a;
  background: var(--background);
  color: var(--foreground);
}
.inner-page .container { width: min(1200px, calc(100% - 64px)); }
.inner-page :is(h1, h2, h3) { color: var(--primary); letter-spacing: -.035em; }
.inner-page :is(.legal-kicker, .eyebrow) { font-size: 11px; font-weight: 600; letter-spacing: .075em; }
.inner-page .button {
  min-height: 48px;
  padding: 12px 20px;
  border-width: 1px;
  border-radius: 6px;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.45;
  text-align: center;
}
.inner-page .button:hover { transform: none; }
.inner-page .button-primary { background: linear-gradient(110deg, #007f83, #007779); color: #fff; }
.inner-page .button-primary:hover { background: var(--action-hover); box-shadow: 0 4px 14px #007f831f; }
.inner-page :is(.button-secondary, .button-quiet) { border-color: #cbdcea; background: #fff; color: var(--primary); }
.inner-page :is(.button-secondary, .button-quiet):hover { border-color: var(--secondary); background: #edf8f8; }
.inner-page .affiliate-action .button { border-radius: 6px; }

/* A consistent title area and a calm reading column. */
.inner-page .breadcrumb { padding-block: 8px; background: #edf7fd; }
.inner-page .breadcrumb ol { align-items: center; color: var(--muted-text); font-size: 12px; }
.inner-page .breadcrumb a { color: var(--muted-text); text-decoration: none; }
.inner-page .breadcrumb a:hover { color: var(--secondary); text-decoration: underline; }
.inner-page .legal-hero { padding-block: 22px 36px; border-color: #e1edf5; background: #edf7fd; }
.inner-page .legal-title { max-width: 970px; margin-bottom: 16px; font-size: clamp(30px, 3.4vw, 44px); line-height: 1.18; }
.inner-page .legal-summary { max-width: 900px; color: var(--muted-text); font-size: 17px; line-height: 1.7; }
.inner-page .legal-hero .hero-actions { margin-top: 22px; }
.inner-page .article-byline { margin-top: 18px; color: var(--muted-text); font-size: 12px; }
.inner-page .hero-info-note { margin-top: 12px; }
.inner-page .legal-shell { grid-template-columns: 220px minmax(0, 1fr); gap: 32px; padding-top: 32px; }
.inner-page .legal-toc { top: 24px; max-height: calc(100dvh - 48px); overflow-y: auto; scrollbar-width: thin; padding: 12px; border-color: var(--border); border-radius: 10px; box-shadow: var(--shadow-sm); }
.inner-page .legal-toc summary { color: var(--primary); font-size: 13px; }
.inner-page .legal-toc a { color: var(--muted-text); font-size: 13px; line-height: 1.6; }
.inner-page .legal-toc :is(a, summary):hover { background: #edf7fd; color: var(--primary); }
.inner-page .legal-toc a[aria-current="location"] { background: #edf8f8; color: #006e74; font-weight: 600; box-shadow: inset 3px 0 #007f83; }
.inner-page .legal-article { padding: 30px 32px; border: 1px solid var(--border); border-radius: 12px; background: #fff; font-size: 16px; line-height: 1.75; }
.inner-page .content-article > .legal-section > :is(p, ul, ol),
.inner-page .content-article > .legal-section > .calculator-advanced-body > :is(p, ul, ol) { max-width: 72ch; }
.inner-page .legal-section + .legal-section { margin-top: 32px; padding-top: 32px; }
.inner-page .legal-section h2 { font-size: clamp(23px, 2.3vw, 29px); line-height: 1.3; }
.inner-page .legal-section h3 { font-size: 19px; line-height: 1.4; }
.inner-page .legal-section :is(p, li),
.inner-page .legal-contact-card p { color: var(--foreground); }
.inner-page .content-article strong { color: var(--primary); }
.inner-page .legal-meta { color: var(--muted-text); font-size: 12px; }
.inner-page .legal-main { padding-bottom: 48px; }
.inner-page :is(.legal-fact, .legal-contact-card, .provider-card, .route-card, .article-index-card) { border-color: var(--border); border-radius: 10px; box-shadow: var(--shadow-sm); }
.inner-page .provider-card { padding: 24px; background: #fff; }
.inner-page :is(.legal-contact-card, .related-box, .source-box, .formula-box, .content-article .next-step) { border: 1px solid var(--border); border-radius: 10px; background: #edf7fd; }
.inner-page .source-box { padding: 18px 20px; background: #f7f9fc; color: var(--muted-text); font-size: 14px; }
.inner-page .source-box h3 { font-size: 16px; }
.inner-page .related-box { background: #f2f9f8; }
.inner-page .related-box li { padding-block: 5px; }
.inner-page .related-box li a { display: inline-block; padding-block: 4px; }
.inner-page .content-article .next-step { padding: 24px; }
.inner-page .content-article .next-step h2 { font-size: 25px; }
.inner-page .legal-definition-list dt { background: #f3f8fc; color: var(--primary); }
.inner-page .category-quick-facts { gap: 16px; margin-bottom: 0; }
.inner-page .category-quick-facts > div { border-color: var(--border); border-radius: 10px; background: #fff; box-shadow: var(--shadow-sm); }
.inner-page .article-index-card { min-height: 0; padding: 24px; background: #fff; }
.inner-page .article-index-card h3 { margin-block: 14px 10px; font-size: 20px; }
.inner-page .article-index-card p { font-size: 15px; font-weight: 400; }
.inner-page .article-index-card:hover { transform: none; border-color: #95cbd0; box-shadow: var(--shadow-md); }
.inner-page .article-index-card > span { font-size: 11px; font-weight: 600; }
.inner-page .comparison-table-wrap { border-color: var(--border); border-radius: 8px; }
.inner-page .comparison-table thead th { background: #edf7fd; color: var(--primary); }
.inner-page .comparison-table tbody th { background: #f6fafd; color: var(--primary); }
.inner-page .comparison-table :is(th, td) { border-color: var(--border); }

/* Tools keep their field groups, required information and result states. */
.inner-page .tool-heading { max-width: none; margin-top: 0; padding: 30px 32px; border: 1px solid #e1edf5; border-radius: 12px; background: #edf7fd; }
.inner-page .tool-heading h1 { max-width: 900px; font-size: clamp(30px, 3.4vw, 44px); }
.inner-page .tool-heading > p:last-child { max-width: 850px; }
.inner-page .tool-breadcrumb { font-size: 12px; }
.inner-page :is(.tool-panel, .calculator-card, .quote-card, .payoff-details, .contact-form) { border-color: var(--border); border-radius: 10px; box-shadow: var(--shadow-sm); }
.inner-page .calculator-card { padding: 24px; }
.inner-page :is(.field input:not([type="radio"], [type="checkbox"]), .field select, .field textarea, .contact-field input, .contact-field textarea) { min-height: 48px; border-color: #cbdcea; border-radius: 6px; background-color: #fff; color: var(--primary); font-size: 16px; }
.inner-page :is(.field input, .field select, .field textarea)[aria-invalid="true"] { border-color: #b91c1c; }
.inner-page :is(.field label, .contact-field label) { color: var(--primary); font-weight: 600; }
.inner-page .field small:not(.field-error) { color: var(--muted-text); }
.inner-page .calculator-result { border-radius: 8px; }
.inner-page .term-help { border-radius: 8px; background: #f6fafd; }
.inner-page :is(.step-badge, .guide-options label:has(input:checked)) { background: #edf8f8; }
.inner-page .home-editorial { color: var(--muted-text); }
.inner-page .empty-state { padding-block: 56px; }

@media (max-width: 1024px) {
  .inner-page .container { width: calc(100% - 48px); }
  .inner-page .legal-shell { grid-template-columns: 190px minmax(0, 1fr); gap: 24px; }
  .inner-page .legal-article { padding: 24px; }
}
@media (max-width: 900px) {
  .inner-page .legal-shell { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .inner-page .legal-toc { position: static; max-height: none; overflow: visible; }
  .inner-page .legal-toc div { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 620px) {
  .inner-page .container { width: calc(100% - 36px); }
  .inner-page .legal-hero { padding-block: 14px 26px; }
  .inner-page .legal-title, .inner-page .tool-heading h1 { font-size: 30px; line-height: 1.2; }
  .inner-page .legal-summary { font-size: 16px; }
  .inner-page .legal-shell { padding-top: 20px; }
  .inner-page .legal-toc div { grid-template-columns: 1fr; gap: 0; }
  .inner-page .legal-article { padding: 22px 18px; }
  .inner-page .legal-section h2 { font-size: 24px; }
  .inner-page :is(.tool-heading, .tool-panel, .calculator-card, .provider-card, .contact-form, .article-index-card) { padding: 20px 18px; }
  .inner-page .legal-section + .legal-section { margin-top: 26px; padding-top: 26px; }
  .inner-page .content-article .next-step { padding: 20px 16px; }
  .inner-page .button { padding-inline: 15px; }
}
@media print {
  .inner-page { background: #fff; }
  .inner-page .legal-article { padding: 0; border: 0; box-shadow: none; }
  .inner-page .legal-shell { display: block; }
  .inner-page .legal-toc { max-height: none; overflow: visible; }
}
