/* Shared casing policy. Load after all component styles.
   Capitalize each word of interface titles, labels and actions. Do not rewrite
   source strings or stored values; existing acronym/internal brand casing stays.
   New h1-h6, buttons, labels and navigation inherit this policy automatically. */
:is(#main, #modal, .site-header, .site-footer) :is(
  h1, h2, h3, h4, h5, h6, [role="heading"],
  nav a, [role="navigation"] a, button, [role="button"],
  input[type="button"], input[type="submit"], input[type="reset"],
  label, legend, summary, dt, th,
  .btn, .btn-secondary, .text-link, .source-link,
  .account-signin, .account-nav-link, .account-back, .account-guest-link,
  .account-switch a, .account-panel-heading > a,
  .hero-links a, .fdc-brand-link, .bd-document strong,
  .fdd-map-selection > a, .fdd-map-sources a,
  .eyebrow, .surface-tag, .stack-top, .consult-steps > *,
  .rec-topline > strong, .fact-chips span, .brief-lines span,
  .bd-fact-label, .bd-edition-title, .bd-source-chip,
  .card-topline, .card-photo-label, .fdc-category,
  .bd-cost-range > span, .bd-investment-scale > div > span,
  .bd-revenue-figure > span:first-child, .bd-network-summary > div > span,
  .bd-inline-action strong, .bd-chart-caption strong,
  .result-money small, .profile-summary small, .summary-list small,
  .document-fact > span, .reported-result p > b,
  .loan-reference-title, .fdd-map-heading strong, .fdd-map-selected-label,
  .account-value-list strong, .account-stats > a > span,
  .account-answer-status > span, .account-preview-label,
  .decision-tag, .account-shortlist-items em
) {
  text-transform: capitalize;
}
.skip { text-transform: capitalize; }

/* Labels contain controls and help text. Preserve those descendants rather
   than capitalizing names, email addresses, notes, source data or sentences. */
:is(#main, #modal, .site-header, .site-footer) :is(
  input:not([type="button"]):not([type="submit"]):not([type="reset"]),
  textarea, select, option, [contenteditable="true"],
  .hint, .account-field-error, .account-field-hint,
  label p, .fdd-location-search, .fdd-location-panel,
  .fdd-map-row, .fdd-map-selected-label > span,
  .suggestion, [data-preserve-case]
) {
  text-transform: none;
}
input::placeholder, textarea::placeholder { text-transform: none; }
.activity-opt .hint { display: block; }
