/* ETERNAL production hardening — accessibility, responsive resilience and non-invasive polish. */
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body { min-width: 320px; }
img, video, svg { max-width: 100%; }
img { height: auto; }

/* Preserve the visual system while bringing low-opacity utility text closer to WCAG-readable levels. */
.text-white\/20 { color: rgba(255,255,255,.52) !important; }
.text-white\/30 { color: rgba(255,255,255,.58) !important; }
.text-white\/40 { color: rgba(255,255,255,.64) !important; }
.text-gray-500 { color: rgb(161 161 170) !important; }
.placeholder-white\/30::placeholder { color: rgba(255,255,255,.58) !important; opacity: 1; }

:where(a, button, input, textarea, select, summary):focus-visible {
  outline: 2px solid rgba(216,180,254,.95) !important;
  outline-offset: 3px;
}
:where(button, [role="button"], input[type="submit"], input[type="button"]) { touch-action: manipulation; }

.eternal-compliance-links {
  width: min(1180px, 92%);
  margin: 0 auto;
  padding: 1.1rem 0 1.5rem;
  border-top: 1px solid rgba(255,255,255,.07);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: .55rem 1rem;
  color: rgba(255,255,255,.64);
  font-size: 11px;
  line-height: 1.4;
  letter-spacing: .04em;
}
.eternal-compliance-links a { color: inherit; text-decoration: none; transition: color .2s ease, opacity .2s ease; }
.eternal-compliance-links a:hover { color: #fff; }
.eternal-compliance-links .social-link { color: #E9D5FF; font-weight: 700; }
.eternal-compliance-links .legal-label { color: rgba(255,255,255,.44); }

.eternal-form-status { min-height: 1.35rem; margin-top: .65rem; font-size: .75rem; color: rgba(255,255,255,.72); }
.eternal-hp { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; opacity: 0 !important; pointer-events: none !important; }

/* Long legal tables and embedded content must never force horizontal page overflow on phones/iPad. */
.policy-section, .legal-section { min-width: 0; }
.policy-section table, .legal-section table { display: block; width: 100%; max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }

@media (max-width: 1024px) {
  .glass-container { border-radius: 28px !important; }
  nav.fixed { max-width: calc(100vw - 24px); }
}
@media (max-width: 768px) {
  .eternal-compliance-links { justify-content: flex-start; padding-inline: .25rem; }
  .glass-container { padding: 1.4rem !important; border-radius: 24px !important; }
  .policy-section h2, .legal-section h2 { line-height: 1.25; overflow-wrap: anywhere; }
  .policy-section td, .policy-section th { min-width: 150px; }
}
@media (max-width: 430px) {
  nav.fixed { width: calc(100vw - 16px) !important; padding-left: .8rem !important; padding-right: .8rem !important; }
  .eternal-compliance-links { font-size: 10px; gap: .5rem .8rem; }
}

@media (prefers-reduced-motion: reduce) {
  html:focus-within { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; scroll-behavior: auto !important; }
}
