/* Shared responsive layout for the original site and the Pages copy. */
header > a, header > div, .grid > *, #claim .flex > * { min-width: 0; }
header { gap: 1rem; }
header > a { flex-shrink: 0; }
header > div { flex-wrap: wrap; justify-content: flex-end; }
img { max-width: 100%; }
main, footer { overflow-wrap: anywhere; }
button, a, input, select, textarea { touch-action: manipulation; }
.cc { max-height: 85vh; max-height: 85dvh; overflow-y: auto; overscroll-behavior: contain; }
.cc__btn { min-height: 44px; line-height: 1.25; }
.cc__inner { padding-bottom: max(16px, env(safe-area-inset-bottom)); }
#ratifi-claims-container, #ratifi-claims-container iframe { max-width: 100%; min-width: 0; }
@media (max-width: 1100px) {
  header > div > a[title*="SRA"] { display: none; }
  header > a > span:first-child { font-size: 28px; }
}
@media (max-width: 1023px) {
  #claim > .relative > .flex { flex-direction: column; gap: 2rem; }
  #claim > .relative > .flex > div { flex: auto; width: 100%; max-width: 100%; padding-top: 0; }
  #claim > .relative > .flex > div:last-child { max-width: 480px; }
  #claim h1 { font-size: clamp(30px, 4.8vw, 44px); line-height: 1.15; max-width: 22ch; }
  #claim .glass-card { max-width: 100%; }
  #claim > .relative { padding-top: 2rem; }
  .grid.md\:grid-cols-3 { grid-template-columns: 1fr; max-width: 640px; margin-inline: auto; }
  .rlf-hero { grid-template-columns: 1fr; }
  footer .grid.md\:grid-cols-12 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  footer .grid.md\:grid-cols-12 > * { grid-column: auto; }
  footer .grid.md\:grid-cols-12 > :first-child { grid-column: 1 / -1; }
}
@media (max-width: 639px) {
  header { flex-direction: column; align-items: stretch; gap: 14px; padding: 16px; }
  header > a { align-self: center; text-align: center; }
  header > a > span:first-child { font-size: clamp(24px, 6vw, 28px); }
  header > div { width: 100%; justify-content: center; }
  header > div > a[href^="/claims"] { width: 100%; justify-content: center; min-height: 44px; white-space: normal; }
  #root > div > section[class*="py-16"], #root > div > section[class*="py-20"] { padding-block: 44px; }
  #claim > .relative { padding-inline: 16px; padding-top: 24px; }
  #claim h1 { font-size: clamp(28px, 7.6vw, 38px); margin-bottom: 20px; }
  #claim h1 + p { margin-bottom: 20px; }
  #claim .glass-card { padding: 18px; }
  #claim .glass-card > div > .flex:first-child { align-items: flex-start; gap: 12px; }
  #claim .glass-card .grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #root h2 { font-size: clamp(24px, 6.5vw, 30px); line-height: 1.25; overflow-wrap: break-word; }
  #root h2 span { max-width: 100%; }
  #root section a.inline-flex { max-width: 100%; white-space: normal; text-align: center; justify-content: center; }
  #root section a.inline-flex svg { flex-shrink: 0; }
  #root section .grid[class*="grid-cols-[1fr_"] { grid-template-columns: minmax(0, 1fr) 90px; }
  #root section .grid[class*="grid-cols-[1fr_"] > * { padding-inline: 12px; }
  footer { padding-inline: 20px; }
  footer .grid.md\:grid-cols-12 { grid-template-columns: 1fr; gap: 28px; }
  footer .grid.md\:grid-cols-12 > * { grid-column: auto; }
  footer a { overflow-wrap: anywhere; }
  .cc__inner { padding: 14px 16px max(14px, env(safe-area-inset-bottom)); }
  .cc__text p { font-size: 13px; line-height: 1.45; }
  .cc__actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: 12px; }
  .cc__btn { min-width: 0; padding: 10px 8px; }
  .cc__actions > :last-child:nth-child(3) { grid-column: 1 / -1; }
  input:not([type="checkbox"]):not([type="radio"]), select, textarea { font-size: 16px; max-width: 100%; }
  .ratifi-parent { padding: 12px !important; }
  #ms-claim-form { max-width: 100%; }
  #ms-claim-form .field input { font-size: 16px; }
  #ms-claim-form .card { padding: 20px 16px; }
}
@media (prefers-reduced-motion: reduce) {
  .fade-up { opacity: 1 !important; transform: none !important; }
  #root *, #root *::before, #root *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; }
}
