/* Privacy notice layout; typography, header, footer and buttons use styles.css. */
.shell { width: min(1100px,calc(100% - 60px)); margin-inline: auto; }
.policy-masthead { border-bottom: 1px solid var(--line); }
.policy-masthead__inner { padding-block: 32px 28px; text-align: center; }
.policy-crumb { display: flex; justify-content: center; gap: 12px; font-size: 11px; margin-bottom: 30px; color: var(--muted); }
.policy-masthead .eyebrow { margin-bottom: 18px; }
.policy-masthead .eyebrow>span { display: none; }
.policy-masthead h1 em { display: block; }
.policy-masthead h1 { max-width: 850px; margin: 0 auto 20px; font-weight: 600; }
.policy-masthead__lede { color: var(--muted); font-size: 16px; }
.policy-meta { padding-bottom: 30px; }
.policy-meta dl { border-top: 1px solid var(--gold); margin: 0; padding-top: 22px; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 20px; }
.policy-meta dl>div+div { border-left: 1px solid var(--line); padding-left: 25px; }
.policy-meta dt { color: var(--bronze); font: 500 9px/1.6 'DM Mono',monospace; text-transform: uppercase; letter-spacing: .08em; }
.policy-meta dd { margin: 5px 0 0; color: var(--navy); font-size: 12px; font-weight: 650; overflow-wrap: anywhere; }
.policy-summary { padding-top: 40px; }
.policy-summary__card { background: var(--sand); border-left: 3px solid var(--gold); padding: 30px 35px; }
.policy-summary__card p { font-size: 14px; line-height: 1.8; color: #405768; margin-bottom: 14px; }
.policy-summary__card p:last-child { margin-bottom: 0; }
.policy-summary__card .eyebrow { color: var(--bronze); font-size: 10px; }
.policy-body { padding-block: 50px 0; }
.policy-layout { display: grid; grid-template-columns: 235px minmax(0,1fr); gap: 60px; align-items: start; }
.policy-index { position: sticky; top: 24px; padding: 20px; background: white; border: 1px solid var(--line); border-top: 3px solid var(--gold); }
.policy-index__label { font: 500 10px/1.6 'DM Mono',monospace; text-transform: uppercase; color: var(--bronze); margin-bottom: 12px; }
.policy-index__nav { display: grid; }
.policy-index__nav a { display: flex; gap: 12px; text-decoration: none; font-size: 11px; line-height: 1.55; color: var(--navy); border-bottom: 1px solid var(--line); padding: 10px 0; }
.policy-index__nav a>span { color: var(--bronze); }
.policy-content { min-width: 0; }
.policy-section { padding: 28px 0; border-top: 1px solid var(--line); }
.policy-section:first-child { padding-top: 0; border: 0; }
.policy-section h2 { display: flex; gap: 18px; font-size: 27px; line-height: 1.3; margin-bottom: 22px; }
.policy-section__num { flex: none; color: var(--bronze); font: 500 11px/2.8 'DM Mono',monospace; }
.policy-section p,.policy-section li { font-size: 14px; line-height: 1.85; color: var(--muted); }
.policy-section p { margin-bottom: 14px; }
.policy-section ul { padding-left: 21px; margin: 0 0 14px; }
.policy-section li { margin-bottom: 8px; }
.policy-section li::marker { color: var(--bronze); }
.policy-section h3 { font-size: 18px; margin: 23px 0 12px; }
.policy-section strong { color: var(--navy); }
.policy-lead { display: block; margin-bottom: 5px; }
.policy-content a,.policy-summary__card a { color: var(--bronze); overflow-wrap: anywhere; }
.policy-facts,.policy-pairs { margin: 22px 0; border-top: 2px solid var(--gold); }
.policy-facts>div,.policy-pairs>div { display: grid; gap: 24px; padding-block: 14px; border-bottom: 1px solid var(--line); }
.policy-facts>div { grid-template-columns: 155px minmax(0,1fr); }
.policy-facts dt { font: 500 10px/1.6 'DM Mono',monospace; text-transform: uppercase; color: var(--navy); }
.policy-facts dd,.policy-pairs dd { margin: 0; color: var(--muted); font-size: 13px; overflow-wrap: anywhere; }
.policy-pairs>div,.policy-content .policy-pairs__legend { grid-template-columns: minmax(0,1fr) minmax(0,.76fr); }
.policy-content .policy-pairs__legend { display: grid; gap: 24px; font: 500 10px/1.6 'DM Mono',monospace; color: var(--bronze); text-transform: uppercase; }
.policy-pairs dt { font-size: 14px; font-weight: 650; color: var(--navy); }
.policy-pairs dd::before { display: none; content: attr(data-label); color: var(--bronze); font: 500 10px/1.6 'DM Mono',monospace; margin-bottom: 5px; }
.policy-note { background: var(--sand); border-left: 3px solid var(--gold); padding: 22px; margin-block: 22px; }
.policy-note p:last-child { margin-bottom: 0; }
.policy-close { background: var(--sand); padding: 30px; margin-block: 30px 45px; border-top: 2px solid var(--gold); }
.policy-close p { color: var(--muted); max-width: 700px; }
.policy-close strong { color: var(--navy); display: block; font-size: 22px; margin-bottom: 12px; }
.policy-close__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
@media (max-width: 820px) {
  .policy-layout { grid-template-columns: 1fr; gap: 35px; }
  .policy-index { position: static; }
  .policy-index__nav { grid-template-columns: 1fr 1fr; gap: 0 24px; }
  .policy-meta dl { grid-template-columns: 1fr 1fr; }
  .policy-meta dl>div+div { border: 0; padding-left: 0; }
}
@media (max-width: 520px) {
  .shell { width: calc(100% - 36px); }
  .policy-summary__card { padding: 23px; }
  .policy-meta dd { font-size: 11px; }
  .policy-section h2 { font-size: 24px; gap: 12px; }
  .policy-index__nav { grid-template-columns: 1fr; }
  .policy-facts>div,.policy-pairs>div { grid-template-columns: 1fr; gap: 8px; }
  .policy-content .policy-pairs__legend { display: none; }
  .policy-pairs dd::before { display: block; }
}
@media print {
  .header,.footer,.skip,.policy-index,.policy-close { display: none; }
  body { background: white; color: black; }
  .shell { width: 100%; }
  .policy-layout { display: block; }
  .policy-body { padding-top: 25px; }
  .policy-section h2,.policy-section h3 { break-after: avoid; }
  .policy-facts>div,.policy-pairs>div,.policy-note { break-inside: avoid; }
}
