/* GRO's policies stay readable, printable and navigable without scripting. */
.legal-hero { padding: 84px 0 74px; background: var(--deep, #0e0e13); }
.legal-eyebrow { display: flex; gap: 16px; color: #fcc530; font-size: 12px; letter-spacing: .12em; text-transform: uppercase; font-weight: 600; margin-bottom: 28px; }
.legal-eyebrow span { color: #9a9aa4; }
.legal-hero .h1 { font-size: clamp(2.35rem, 5.5vw, 4rem); margin-bottom: 24px; max-width: 20ch; }
.legal-intro { color: #d3d3d7; font-size: clamp(1rem, 1.7vw, 1.25rem); line-height: 1.7; max-width: 56ch; }
.legal-version { margin-top: 32px; color: #a9a9b2; font-size: 13px; line-height: 1.8; }
.legal-version span { margin-inline: 10px; }
.legal-reading { background: #fbfbf7; color: #202024; padding-block: 80px 96px; }
.legal-grid { display: grid; grid-template-columns: 250px minmax(0, 760px); gap: clamp(40px, 6vw, 88px); align-items: start; }
.legal-index { position: sticky; top: 112px; max-height: calc(100vh - 140px); overflow-y: auto; padding-right: 12px; }
.legal-index nav>p { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .12em; margin-bottom: 16px; }
.legal-index ol { padding: 0; margin: 0; list-style: none; }
.legal-index a { display: flex; align-items: baseline; gap: 12px; min-height: 44px; padding-block: 10px; color: #45454f; font-size: 13px; line-height: 1.5; text-decoration: none; }
.legal-index a:hover { color: #151517; text-decoration: underline; text-underline-offset: 4px; }
.legal-index a:focus-visible, .legal-document a:focus-visible { outline: 3px solid #866100; outline-offset: 4px; }
.legal-index a span { color: #707078; font-variant-numeric: tabular-nums; font-size: 11px; }
.legal-index .legal-back { margin-top: 24px; border-top: 1px solid #d6d6d1; padding-top: 18px; font-weight: 600; }
.legal-summary { padding: 30px; background: #f0f0e9; border-left: 3px solid #fcc530; margin-bottom: 56px; }
.legal-summary__label { font-size: 12px; letter-spacing: .1em; text-transform: uppercase; font-weight: 700; margin-bottom: 18px; }
.legal-summary ul { padding-left: 20px; margin: 0; font-size: 16px; line-height: 1.7; }
.legal-summary li+li { margin-top: 12px; }
.legal-summary__note { font-size: 12px; line-height: 1.6; color: #62626a; margin-top: 20px; }
.legal-section { scroll-margin-top: 112px; padding-bottom: 42px; margin-bottom: 42px; border-bottom: 1px solid #dddcd6; }
.legal-section h2 { color: #151517; font-size: clamp(1.35rem, 2vw, 1.65rem); line-height: 1.35; font-weight: 600; margin: 0 0 24px; }
.legal-section h2 span { color: #756025; }
.legal-section h3 { font-weight: 600; font-size: 18px; line-height: 1.4; margin: 0 0 16px; }
.legal-section p, .legal-section li, .legal-section address { font-size: 16px; line-height: 1.9; }
.legal-section p+p, .legal-section p+ul, .legal-section ul+p { margin-top: 20px; }
.legal-section ul { padding-left: 24px; }
.legal-section li+li { margin-top: 14px; }
.legal-section strong { font-weight: 600; }
.legal-section a { color: #34343d; text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; overflow-wrap: anywhere; }
.legal-contact { padding: 24px; margin-top: 24px; background: #f0f0e9; border-radius: 8px; }
.legal-contact address { font-style: normal; margin-block: 12px; }
.legal-table-wrap { overflow-x: auto; margin-block: 24px; }
.legal-table-wrap table { width: 100%; border-collapse: collapse; font-size: 14px; line-height: 1.7; }
.legal-table-wrap caption { text-align: left; font-weight: 600; margin-bottom: 16px; }
.legal-table-wrap th { background: #ededE5; color: #202024; text-align: left; font-weight: 600; }
.legal-table-wrap td, .legal-table-wrap th { padding: 18px; border: 1px solid #d8d8d0; vertical-align: top; }
.legal-table-wrap code { overflow-wrap: anywhere; font-size: 13px; }
.legal-top { display: inline-flex; align-items: center; gap: 16px; min-height: 44px; font-size: 14px; font-weight: 600; text-decoration: underline; text-underline-offset: 4px; }
.privacy-choice { padding: 28px; background: #eeeEE6; border: 1px solid #d0d0c7; border-radius: 10px; margin-bottom: 24px; }
.privacy-choice .privacy-choice__status { font-weight: 600; font-size: 14px; }
.privacy-choice .privacy-choice__note { font-size: 13px; line-height: 1.7; }
.privacy-choice .privacy-actions { margin-block: 20px; }
.privacy-choice .privacy-actions button { color: #151517; border-color: #5a5a63; }
.privacy-choice .privacy-actions button:hover { background: #deded2; }
.privacy-choice .privacy-actions button[aria-pressed="true"] { background: #151517; color: #fff; }
.privacy-choice .privacy-actions button:focus-visible { outline-color: #866100; }
@media (max-width: 900px) {
  .legal-grid { grid-template-columns: minmax(0, 1fr); gap: 40px; }
  .legal-index { position: static; max-height: none; padding-right: 0; }
  .legal-index ol { columns: 2; column-gap: 28px; }
  .legal-index li { break-inside: avoid; }
  .legal-index .legal-back { margin-top: 12px; }
}
@media (max-width: 600px) {
  .legal-hero { padding: 56px 0; }
  .legal-reading { padding-block: 40px 64px; }
  .legal-index ol { columns: 1; }
  .legal-summary, .privacy-choice { padding: 22px; }
  .legal-section { margin-bottom: 32px; padding-bottom: 32px; }
  .legal-section p, .legal-section li, .legal-section address { font-size: 15px; line-height: 1.85; }
  .legal-table-wrap th, .legal-table-wrap td { padding: 12px 10px; font-size: 12px; }
  .legal-table-wrap code { font-size: 11px; }
  .legal-table-wrap table, .legal-table-wrap tbody, .legal-table-wrap tr, .legal-table-wrap td { display: block; }
  .legal-table-wrap caption { display: block; }
  .legal-table-wrap thead { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
  .legal-table-wrap tr { border: 1px solid #d8d8d0; border-radius: 8px; margin-bottom: 16px; padding: 8px 20px; }
  .legal-table-wrap td { padding: 14px 0; border: 0; font-size: 15px; line-height: 1.8; }
  .legal-table-wrap td+td { border-top: 1px solid #e1e1d9; }
  .legal-table-wrap td::before { content: attr(data-label); display: block; margin-bottom: 6px; color: #62626a; font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; }
  .legal-table-wrap code { font-size: 13px; }
}
@media print {
  body, .legal-reading, .legal-hero { color: #000 !important; background: #fff !important; }
  .hdr, .rail, .proof-band, .ftr, .float-cta, .legal-index, .legal-top, .privacy-actions { display: none !important; }
  .legal-grid { display: block; }
  .shell { width: 100%; max-width: none; padding: 0; }
  .legal-hero { padding: 0 0 24px; }
  .legal-hero *, .legal-section a { color: #000 !important; }
  .legal-reading { padding: 0; }
  .legal-section { break-inside: auto; margin-bottom: 24px; padding-bottom: 24px; }
  .legal-section h2, .legal-section h3 { break-after: avoid; }
  .legal-section p, .legal-section li { orphans: 3; widows: 3; font-size: 10pt; line-height: 1.6; }
  .legal-summary, .legal-contact { break-inside: avoid; }
  .legal-table-wrap { overflow: visible; }
  tr { break-inside: avoid; }
}
