/* Opt-in legal presentation; approved Batch 1 and Batch 2 styles are untouched. */
.policy-hero { position: relative; isolation: isolate; overflow: hidden; background: var(--mcm-mist); }
.policy-photo { position: absolute; inset: 0 0 0 auto; width: 78%; height: 100%; object-fit: cover; object-position: center 54%; z-index: -3; }
.policy-wash { position: absolute; inset: 0; z-index: -2; background: linear-gradient(90deg, #eff8f8 3%, #eff8f8f5 29%, #eff8f899 48%, #eff8f800 75%), linear-gradient(0deg, #eff8f8 0%, #eff8f800 35%); }
.policy-hero-inner { position: relative; padding-block: 58px 64px; }
.policy-hero-copy { max-width: 590px; }
.policy-hero-copy h1 { margin-bottom: 22px; }
.policy-hero-copy h1 span { color: var(--mcm-teal); }
.policy-hero-copy > p:not(.eyebrow) { max-width: 430px; color: var(--mcm-muted); font-size: 15px; margin-bottom: 25px; }
.policy-journey { position: absolute; right: 6%; top: 50px; transform: rotate(-8deg); color: #00545d; font-family: Georgia, serif; font-size: 25px; font-style: italic; line-height: 1.4; text-shadow: 0 1px 12px white; }
.policy-journey .mcm-icon { display: block; width: 34px; height: 34px; margin: 16px auto; }
.policy-principles { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); border-bottom: 1px solid var(--mcm-line); padding-block: 25px; gap: 20px; }
.policy-principles a { display: flex; gap: 13px; align-items: center; font-size: 13px; font-weight: 650; color: var(--mcm-ink); text-decoration: none; }
.policy-principles .mcm-icon { box-sizing: content-box; padding: 11px; border-radius: 50%; background: #e7f5f5; color: var(--mcm-teal); }
.policy-layout { display: grid; grid-template-columns: 265px minmax(0, 1fr); gap: 64px; padding-block: 40px 72px; align-items: start; }
.policy-sidebar { position: sticky; top: 20px; }
.policy-toc { padding: 18px 12px; border: 1px solid var(--mcm-line); border-radius: 12px; background: #f8fbfc; max-height: calc(100vh - 145px); overflow-y: auto; }
.policy-toc > p { margin: 0 10px 12px; font-size: 13px; font-weight: 750; }
.policy-toc a, .policy-mobile-toc nav a { display: flex; gap: 10px; color: var(--mcm-muted); font-size: 12px; line-height: 1.5; padding: 8px 10px; text-decoration: none; border-radius: 5px; }
.policy-toc a span, .policy-mobile-toc nav a span { color: var(--mcm-teal); font-size: 10px; font-weight: 700; padding-top: 2px; }
.policy-toc a:hover, .policy-toc a:focus-visible, .policy-mobile-toc nav a:hover { color: var(--mcm-teal); background: #e2f3f3; }
.policy-contact { display: flex; gap: 12px; align-items: center; margin-top: 16px; background: #eaf6f6; border-radius: 10px; padding: 18px; color: var(--mcm-teal); text-decoration: none; font-size: 12px; }
.policy-contact > .mcm-icon:last-child { width: 17px; margin-left: auto; }
.policy-document { min-width: 0; max-width: 810px; color: var(--mcm-muted); font-size: 15px; line-height: 1.85; }
.legal-redesign .policy-document h2 { font-size: 24px; line-height: 1.35; margin: 38px 0 15px; letter-spacing: -.025em; scroll-margin-top: 24px; border-top: 1px solid var(--mcm-line); padding-top: 28px; }
.legal-redesign .policy-document .legal-document-title { margin-top: 0; border-top: 0; padding-top: 0; font-size: 27px; }
.policy-document h3 { font-size: 17px; margin-block: 24px 10px; }
.policy-document p { margin-block: 0 18px; }
.policy-document ul { padding-left: 22px; margin-block: 0 22px; }
.policy-document li { padding-left: 4px; margin-bottom: 7px; }
.policy-document li::marker { color: var(--mcm-teal); }
.policy-document a { color: var(--mcm-teal); overflow-wrap: anywhere; }
.policy-document strong { color: var(--mcm-ink); }
.policy-document > p:first-of-type { font-size: 12px; margin-bottom: 26px; }
.policy-back { display: inline-block; margin-top: 24px; font-size: 13px; }
.policy-mobile-toc { display: none; }
.legal-redesign .mcm-footer a[aria-current="page"] { text-decoration: underline; font-weight: 750; }
@media (max-width: 1100px) {
  .policy-layout { grid-template-columns: 230px minmax(0,1fr); gap: 35px; }
  .policy-hero-copy { max-width: 520px; }
  .policy-journey { right: 0; font-size: 21px; }
}
@media (max-width: 767px) {
  .policy-hero-inner { padding-block: 32px 145px; }
  .policy-hero-copy { max-width: 100%; }
  .policy-hero-copy h1 { font-size: clamp(35px, 8.8vw, 52px); }
  .policy-hero-copy > p:not(.eyebrow) { font-size: 14px; }
  .policy-photo { width: 100%; height: 65%; top: auto; bottom: 0; object-position: 62% 60%; }
  .policy-wash { background: linear-gradient(180deg, #eff8f8 20%, #eff8f8fa 44%, #eff8f840 76%, #eff8f800 100%); }
  .policy-journey { top: auto; bottom: 20px; right: 15px; font-size: 17px; padding: 8px 12px; background: #ffffffde; border-radius: 8px; }
  .policy-journey .mcm-icon { display: none; }
  .policy-principles { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px 12px; padding-block: 22px; }
  .policy-principles a { font-size: 11px; gap: 8px; }
  .policy-principles .mcm-icon { width: 18px; height: 18px; padding: 8px; }
  .policy-layout { display: block; padding-block: 25px 45px; }
  .policy-sidebar { display: none; }
  .policy-mobile-toc { display: block; border: 1px solid var(--mcm-line); background: #f4fafb; border-radius: 10px; margin-bottom: 30px; }
  .policy-mobile-toc summary { cursor: pointer; padding: 15px; color: var(--mcm-teal); font-size: 14px; font-weight: 700; }
  .policy-mobile-toc nav { padding: 0 7px 10px; }
  .policy-mobile-toc nav a { min-height: 44px; align-items: center; }
  .policy-document { font-size: 14px; line-height: 1.8; }
  .legal-redesign .policy-document h2 { font-size: 22px; margin-top: 30px; padding-top: 24px; }
  .legal-redesign .policy-document .legal-document-title { font-size: 24px; }
}
