/* A reading-first document using the site's spacing, typography and rounded panels. */
.policy-page .privacy-hero { width: min(calc(100% - var(--gutter)*2),1280px); padding-block: 128px 48px; }
.policy-page .privacy-hero__inner { border: 0; padding: 0; }
.policy-page .privacy-hero h1 { font-size: clamp(48px,6vw,80px); letter-spacing: -.04em; line-height: 1.04; }
.policy-page .privacy-hero__summary { font-size: 17px; line-height: 1.7; max-width: 65ch; }
.policy-page .privacy-meta { padding-bottom: 24px; border-bottom: 1px solid var(--line); }
.policy-page .privacy-shell { width: min(calc(100% - var(--gutter)*2),1280px); grid-template-columns: 240px minmax(0,740px); gap: clamp(32px,6vw,80px); padding-bottom: 80px; }
.policy-page .privacy-aside { top: 108px; border-radius: 0; }
.policy-page .privacy-index { background: var(--wash); border-radius: 22px; padding: 22px; }
.policy-page .privacy-index ol { font-size: 14px; line-height: 1.5; }
.policy-page .privacy-index a { display: inline-flex; align-items: center; min-height: 44px; padding-block: 10px; }
.policy-page .controller-card { border: 1px solid var(--line); border-radius: 22px; padding: 24px; }
.policy-page .controller-card h2 { font-size: 30px; line-height: 1.1; }
.policy-page .controller-card dl > div { grid-template-columns: 125px minmax(0,1fr); gap: 20px; }
.policy-page .policy-section { padding-top: 38px; }
.policy-page .policy-section h2 { font-size: clamp(24px,2.4vw,30px); }
.policy-page .policy-section p,.policy-page .policy-section li { font-size: 16px; line-height: 1.8; }
.policy-page .privacy-contact h2 { font-size: 30px; }
@media (max-width:760px) {
  .policy-page .privacy-hero { padding-block: 104px 32px; }
  .policy-page .privacy-shell { grid-template-columns: minmax(0,1fr); gap: 32px; }
  .policy-page .privacy-index { padding: 20px; }
  .policy-page .privacy-index ol { columns: auto; display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 0 24px; }
  .policy-page .controller-card { padding: 22px; }
  .policy-page .controller-card dl > div { grid-template-columns: minmax(0,1fr); gap: 4px; }
}
@media (max-width:360px) {
  .policy-page .privacy-index ol { grid-template-columns: minmax(0,1fr); }
}
