* { box-sizing: border-box; }
html, body { width: 100%; max-width: 100%; margin: 0; min-height: 0; overflow-x: hidden; background: #fff; color: #171717; }
.policy-section { width: min(1240px, calc(100% - 144px)); margin: 0 auto; padding: 48px 0 24px; }
.policy-section h2 { margin: 0 0 28px; font-size: clamp(22px, 1.9vw, 28px); font-weight: 600; line-height: 1.35; letter-spacing: -.025em; text-wrap: balance; }
.policy-layout { display: grid; width: 100%; max-width: 100%; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(40px, 5vw, 72px); align-items: start; }
.policy-visual-group { min-width: 0; }
/* Display only the original left illustration; headings and right-hand copy are HTML. */
.policy-illustration { position: relative; width: 100%; aspect-ratio: 1100 / 570; overflow: hidden; }
.policy-illustration img { position: absolute; display: block; width: 181.545455%; max-width: none; height: auto; left: 0; top: -29.824561%; pointer-events: none; }
.policy-content { min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
.policy-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0 0 26px; }
.policy-stats > div { position: relative; display: flex; flex-direction: column; gap: 8px; padding-left: 16%; }
.policy-stats > div:first-child { padding-left: 0; }
.policy-stats > div + div::before { position: absolute; content: ''; left: 0; top: 10%; height: 65%; width: 1px; background: #dedee2; }
.policy-stats dt { color: #777b87; font-size: 14px; line-height: 1.5; }
html body .policy-stats dd { order: -1; margin: 0; min-width: 0; white-space: nowrap; word-break: keep-all; font-family: Georgia, "Iowan Old Style", Baskerville, "Times New Roman", serif; font-size: clamp(29px, 3vw, 46px) !important; line-height: 1 !important; font-weight: 500 !important; letter-spacing: -.05em; font-variant-numeric: lining-nums tabular-nums; }
html body .policy-content h3 { margin: 0 0 16px; color: #5f626b; font-size: 14px !important; line-height: 1.65; font-weight: 500; letter-spacing: .015em; text-wrap: pretty; }
.policy-content p { margin: 0; color: #777b87; font-size: 16px; line-height: 1.8; }
.policy-content p + p { margin-top: 24px; }
.policy-cta { display: inline-flex; align-items: center; gap: 16px; min-height: 44px; margin-top: 28px; color: #171717; text-decoration: none; font-size: 18px; border-radius: 999px; }
.policy-cta-arrow { display: grid; place-items: center; width: 48px; aspect-ratio: 1; border: 1px solid #777; border-radius: 50%; font-size: 28px; transition: background .2s, color .2s, transform .2s; }
.policy-cta:hover .policy-cta-arrow { background: #171717; color: #fff; transform: translateX(3px); }
.policy-cta:active .policy-cta-arrow { transform: scale(.97); }
.policy-cta:focus-visible { outline: 2px solid #171717; outline-offset: 6px; }
@media (max-width: 1000px) {
  .policy-section { width: calc(100% - 64px); padding: 40px 0 24px; }
  .policy-layout { gap: 32px; }
  .policy-stats > div { padding-left: 10%; }
}
@media (max-width: 760px) {
  .policy-section { width: calc(100% - 40px); padding: 32px 0 20px; }
  .policy-section h2 { margin-bottom: 24px; font-size: 24px; }
  .policy-layout { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .policy-illustration { width: 100%; margin-left: 0; }
  .policy-stats { margin-bottom: 28px; }
  html body .policy-stats dd { font-size: clamp(26px, 6vw, 42px) !important; }
  html body .policy-content h3 { font-size: 13px !important; }
  .policy-content p { font-size: 15px; }
}
@media (prefers-reduced-motion: reduce) { .policy-cta-arrow { transition: none; } }

