/* Loaded only on the Privacy Policy; shared landing styles remain unchanged. */
.privacy-page { padding: clamp(28px,5vw,64px) 0 clamp(48px,6vw,88px); background: var(--paper, #f5faf9); }
.privacy-container { max-width: 1160px; }
.privacy-intro { max-width: 780px; margin-bottom: 32px; }
.privacy-page a { color: var(--brand-primary-dark, #00767e); text-decoration: underline; text-underline-offset: .2em; text-decoration-thickness: 1px; overflow-wrap: anywhere; }
.privacy-page a:hover { color: var(--brand-primary-hover, #005c63); text-decoration-thickness: 2px; }
.privacy-page a:focus-visible { outline: 3px solid var(--focus-ring, #00767e); outline-offset: 4px; border-radius: 3px; }
.privacy-back,.privacy-top { display: inline-flex; align-items: center; min-height: 44px; }
.privacy-intro .eyebrow { margin: 26px 0 12px; }
.privacy-intro h1 { margin: 0 0 18px; font-size: clamp(2.35rem,5vw,4rem); line-height: 1.12; }
.privacy-subtitle { max-width: 60ch; font-size: clamp(1rem,2vw,1.15rem); line-height: 1.75; }
.privacy-updated { margin-top: 18px; color: var(--text-secondary, #526c72); font-size: .875rem; }
.privacy-layout { display: grid; grid-template-columns: minmax(220px,280px) minmax(0,1fr); gap: 36px; align-items: start; }
.privacy-index { min-width: 0; position: sticky; top: calc(var(--header-offset, 110px) + 16px); max-height: calc(100dvh - var(--header-offset, 110px) - 32px); overflow-y: auto; padding: 22px; border: 1px solid var(--border-soft, #dce7e7); border-top: 3px solid var(--brand-primary-dark, #00767e); border-radius: 16px; background: #fff; }
.privacy-index h2 { margin: 0 0 12px; font: 600 1.05rem/1.4 var(--body-font); letter-spacing: 0; }
.privacy-index ol { margin: 0; padding-left: 22px; list-style: decimal; }
.privacy-index li { padding-left: 3px; color: var(--text-secondary, #526c72); font-size: .9rem; }
.privacy-index a { display: flex; align-items: center; min-height: 44px; padding: 7px 0; line-height: 1.5; }
.privacy-document { min-width: 0; padding: clamp(20px,3vw,40px); border: 1px solid var(--border-soft, #dce7e7); border-radius: 20px; background: #fff; }
.privacy-section { scroll-margin-block: calc(var(--header-offset, 110px) + 20px) 100px; overflow-wrap: anywhere; }
.privacy-section + .privacy-section { margin-top: 36px; padding-top: 30px; border-top: 1px solid var(--border-soft, #dce7e7); }
.privacy-section h2 { margin: 0 0 18px; color: var(--brand-primary-dark, #00767e); font: 600 clamp(1.2rem,2.4vw,1.45rem)/1.4 var(--body-font); letter-spacing: -.01em; }
.privacy-section h3 { margin: 24px 0 10px; font: 600 1.05rem/1.5 var(--body-font); letter-spacing: 0; }
.privacy-section p,.privacy-section li { line-height: 1.85; white-space: pre-line; }
.privacy-section p { margin: 0 0 16px; }
.privacy-section ol { margin: 18px 0; padding-left: 24px; list-style: decimal; }
.privacy-section p > a { display: inline-flex; align-items: center; min-height: 44px; }
.privacy-section li + li { margin-top: 10px; }
.privacy-owner { display: flex; flex-direction: column; align-items: flex-start; font-style: normal; line-height: 1.85; }
.privacy-owner strong { margin-bottom: 10px; }
.privacy-owner a { display: inline-flex; align-items: center; min-height: 44px; margin-top: 8px; }
.privacy-note,.privacy-notice { padding: 20px; border-radius: 12px; background: #edf7f6; border-left: 3px solid var(--brand-primary-dark, #00767e); }
.privacy-note p,.privacy-notice p { margin: 6px 0 0; }
.privacy-notice { margin-bottom: 28px; }
.privacy-pending { color: var(--text-secondary, #526c72); }
.privacy-top { margin-top: 26px; }
#privacy-title { scroll-margin-top: calc(var(--header-offset, 110px) + 20px); }
@media (max-width: 900px) {
  .privacy-layout { grid-template-columns: minmax(0,1fr); gap: 24px; }
  .privacy-index { position: static; max-height: none; overflow-y: visible; }
  .privacy-index ol { columns: 2; column-gap: 36px; }
  .privacy-index li { break-inside: avoid; }
}
@media (max-width: 540px) {
  .privacy-index ol { columns: 1; }
  .privacy-index { padding: 20px; }
  .privacy-document { border-radius: 16px; }
  .privacy-section + .privacy-section { margin-top: 28px; padding-top: 24px; }
}
