/*
 * Legal / policy / accessibility pages.
 * One calm glass document surface, no imagery and no decorative card grids.
 */
.injurease-legal-page {
  position: relative;
  overflow: hidden;
  background: #fff;
  color: var(--inj-ink);
}

/*
 * Legal-page reveal motion intentionally uses relative top movement instead of
 * transform/translate3d. This keeps text on the same rasterisation path when
 * the generic reveal classes are removed after transitionend, preventing the
 * subtle horizontal text nudge that can otherwise appear at the end.
 */
.injurease-legal-page .injurease-reveal {
  position: relative;
  top: var(--inj-motion-distance, 18px);
  opacity: 0;
  transform: none;
  will-change: opacity;
  transition: opacity var(--inj-motion-duration, 620ms) cubic-bezier(.22,.78,.24,1),
              top var(--inj-motion-duration, 620ms) cubic-bezier(.22,.78,.24,1);
  transition-delay: var(--inj-reveal-delay, 0ms);
}

.injurease-legal-page .injurease-reveal.is-revealed {
  top: 0;
  opacity: 1;
  transform: none;
}

.injurease-legal-shell {
  padding: clamp(28px, 3.2vw, 44px) 0 clamp(36px, 4vw, 56px);
}

.injurease-legal-shell__inner {
  width: min(calc(100% - 40px), 1040px);
}

.injurease-legal-glass {
  position: relative;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--inj-border) 84%, #dfe7df);
  border-radius: 30px;
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 8px 26px rgba(8, 63, 28, .045);
  backdrop-filter: blur(16px) saturate(108%);
  -webkit-backdrop-filter: blur(16px) saturate(108%);
}

.injurease-legal-glass::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .98), transparent);
  pointer-events: none;
}

.injurease-legal-hero {
  padding: clamp(46px, 5.5vw, 66px) clamp(32px, 5.5vw, 66px) clamp(38px, 4.8vw, 54px);
  border-bottom: 1px solid color-mix(in srgb, var(--inj-border) 74%, transparent);
}

.injurease-legal-hero__eyebrow {
  margin: 0 0 12px;
  color: var(--inj-secondary);
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.injurease-legal-hero h1 {
  max-width: 19ch;
  margin: 0;
  color: var(--inj-heading);
  font-size: clamp(2.4rem, 5vw, 4.35rem);
  line-height: 1.04;
  letter-spacing: -.045em;
}

.injurease-legal-hero__lead {
  max-width: 770px;
  margin: 20px 0 0;
  color: var(--inj-muted);
  font-size: clamp(1rem, 1.35vw, 1.12rem);
  line-height: 1.75;
}

.injurease-legal-hero__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  margin-top: 25px;
  padding: 11px 17px;
  border: 1px solid color-mix(in srgb, var(--inj-primary) 19%, transparent);
  border-radius: 999px;
  background: rgba(255, 255, 255, .58);
  color: var(--inj-primary);
  box-shadow: 0 8px 24px rgba(8, 63, 28, .05);
  font-size: .89rem;
  font-weight: 800;
  line-height: 1;
  text-decoration: none;
  transition: transform .2s ease, border-color .2s ease, background-color .2s ease, color .2s ease;
}

.injurease-legal-hero__link:hover,
.injurease-legal-hero__link:focus-visible {
  transform: translateY(-1px);
  border-color: color-mix(in srgb, var(--inj-secondary) 38%, transparent);
  background: rgba(255, 255, 255, .9);
  color: var(--inj-secondary);
}

.injurease-legal-content {
  padding: clamp(40px, 5vw, 60px) clamp(32px, 5.5vw, 66px) clamp(50px, 6vw, 72px);
}

.injurease-legal-section {
  padding: 0 0 clamp(31px, 3.7vw, 44px);
  margin: 0 0 clamp(31px, 3.7vw, 44px);
  border-bottom: 1px solid color-mix(in srgb, var(--inj-border) 74%, transparent);
}

.injurease-legal-section:last-child {
  padding-bottom: 0;
  margin-bottom: 0;
  border-bottom: 0;
}

.injurease-legal-section h2 {
  max-width: 32ch;
  margin: 0 0 17px;
  color: var(--inj-heading);
  font-size: clamp(1.4rem, 2vw, 1.82rem);
  line-height: 1.25;
  letter-spacing: -.025em;
}

.injurease-legal-prose {
  color: var(--inj-ink);
  font-size: 1rem;
  line-height: 1.8;
}

.injurease-legal-prose > :first-child {
  margin-top: 0;
}

.injurease-legal-prose > :last-child {
  margin-bottom: 0;
}

.injurease-legal-prose p {
  margin: 0 0 1.08em;
}

.injurease-legal-prose h3 {
  margin: 28px 0 12px;
  color: var(--inj-heading);
  font-size: 1.1rem;
  line-height: 1.35;
}

.injurease-legal-prose ul,
.injurease-legal-prose ol {
  margin: 18px 0 22px;
  padding-left: 1.35rem;
}

.injurease-legal-prose li {
  margin: 0 0 9px;
  padding-left: 4px;
}

.injurease-legal-prose li:last-child {
  margin-bottom: 0;
}

.injurease-legal-prose a {
  color: var(--inj-primary);
  font-weight: 700;
  text-decoration: underline;
  text-decoration-color: color-mix(in srgb, var(--inj-secondary) 46%, transparent);
  text-underline-offset: 3px;
  overflow-wrap: anywhere;
}

.injurease-legal-prose a:hover,
.injurease-legal-prose a:focus-visible {
  color: var(--inj-secondary);
}

.injurease-legal-prose strong {
  color: var(--inj-heading);
}

.injurease-legal-prose em {
  color: var(--inj-muted);
}

.injurease-legal-prose blockquote {
  margin: 24px 0;
  padding: 4px 0 4px 20px;
  border-left: 3px solid var(--inj-soft);
  color: var(--inj-muted);
}

.injurease-legal-prose table {
  width: 100%;
  margin: 24px 0;
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--inj-border) 90%, transparent);
  border-radius: 14px;
  font-size: .95rem;
}

.injurease-legal-prose th,
.injurease-legal-prose td {
  padding: 12px 14px;
  border-right: 1px solid var(--inj-border);
  border-bottom: 1px solid var(--inj-border);
  text-align: left;
  vertical-align: top;
}

.injurease-legal-prose tr:last-child > * {
  border-bottom: 0;
}

.injurease-legal-prose tr > *:last-child {
  border-right: 0;
}

.injurease-legal-prose th {
  background: rgba(246, 248, 243, .72);
  color: var(--inj-heading);
  font-weight: 800;
}

@media (max-width: 767px) {
  .injurease-legal-shell {
    padding: 20px 0 34px;
  }

  .injurease-legal-shell__inner {
    width: min(calc(100% - 24px), 1040px);
  }

  .injurease-legal-glass {
    border-radius: 22px;
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 6px 20px rgba(8, 63, 28, .04);
  }

  .injurease-legal-hero {
    padding: 35px 24px 32px;
  }

  .injurease-legal-hero h1 {
    font-size: clamp(2.05rem, 11vw, 3rem);
  }

  .injurease-legal-hero__lead {
    margin-top: 15px;
    font-size: .98rem;
  }

  .injurease-legal-hero__link {
    margin-top: 21px;
  }

  .injurease-legal-content {
    padding: 34px 24px 44px;
  }

  .injurease-legal-section {
    padding-bottom: 28px;
    margin-bottom: 28px;
  }

  .injurease-legal-section h2 {
    margin-bottom: 13px;
    font-size: 1.34rem;
  }

  .injurease-legal-prose {
    font-size: .97rem;
    line-height: 1.74;
  }

  .injurease-legal-prose table {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    border-radius: 12px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .injurease-legal-hero__link {
    transition: none;
  }
}
