/* Privacy documents follow the shared Manrope scale and navy/orange palette. */
.privacy-hero {
  color: #fff;
  background: linear-gradient(110deg, #003251 0%, #072b45 54%, #111c28 100%);
  padding-top: 28px;
}
.privacy-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) 130px minmax(0, .9fr);
  align-items: center;
  padding: 24px 0 54px;
}
.privacy-hero-copy, .privacy-hero-summary { min-width: 0; }
.privacy-hero-copy .eyebrow {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 20px;
}
.privacy-hero-copy .eyebrow::before {
  content: "";
  width: 28px;
  height: 2px;
  flex: 0 0 28px;
  background: var(--orange);
}
.privacy-page .privacy-hero h1 {
  font-size: clamp(34px, 3.55vw, 50px);
  line-height: 1.2;
  letter-spacing: -.035em;
  overflow-wrap: break-word;
}
.privacy-hero-divider { --hero-separator-height: 255px; }
.privacy-hero-summary {
  padding-left: 12px;
  color: #c5d8e5;
  font-size: var(--type-label);
  font-weight: var(--weight-body);
  line-height: 1.75;
}
.privacy-hero-summary .privacy-hero-meta {
  margin-top: 24px;
  color: #a7becf;
  font-size: var(--type-meta);
  line-height: 1.6;
}
.privacy-hero .regional-breadcrumbs a {
  text-decoration: underline;
  text-decoration-color: transparent;
  text-underline-offset: 5px;
  transition: color .2s, text-decoration-color .2s;
}
.privacy-hero .regional-breadcrumbs a:is(:hover, :focus-visible) {
  color: #fff;
  text-decoration-color: var(--orange);
}
.privacy-page-nav {
  display: flex;
  align-items: center;
  gap: 30px;
  border-top: 1px solid #ffffff26;
  padding: 21px 0;
  color: #bed0de;
  font-size: var(--type-meta);
  line-height: 1.6;
}
.privacy-page-nav > a {
  text-decoration: underline;
  text-decoration-color: transparent;
  text-decoration-thickness: 2px;
  text-underline-offset: 8px;
  transition: color .2s, text-decoration-color .2s;
}
.privacy-page-nav > a:is(:hover, :focus-visible) {
  color: #fff;
  text-decoration-color: var(--orange);
}
.privacy-page-nav > a[aria-current="page"] {
  color: #fff;
  text-decoration-color: var(--orange);
}
.privacy-page-nav .text-link {
  margin-left: auto;
  color: #bed0de;
  font-size: var(--type-meta);
  white-space: nowrap;
}
.privacy-page-nav .text-link:is(:hover, :focus-visible) { color: #fff; }
.privacy-document { padding: 64px 0 88px; }
.privacy-layout {
  display: grid;
  grid-template-columns: 240px minmax(0, 900px);
  justify-content: space-between;
  align-items: start;
  gap: 64px;
}
.privacy-sidebar {
  position: sticky;
  top: 28px;
  min-width: 0;
}
.privacy-toc { display: grid; gap: 15px; }
.privacy-toc h2 {
  margin-bottom: 7px;
  font-size: var(--type-label);
  font-weight: var(--weight-emphasis);
  line-height: 1.5;
  letter-spacing: 0;
}
.privacy-toc ol, .privacy-toc ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.privacy-toc li + li { margin-top: 15px; }
.privacy-toc a {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  color: var(--muted);
  font-size: var(--type-meta);
  font-weight: var(--weight-body);
  line-height: 1.6;
  text-decoration: underline;
  text-decoration-color: transparent;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
  transition: color .2s, text-decoration-color .2s;
}
.privacy-toc a:is(:hover, :focus-visible) {
  color: var(--blue);
  text-decoration-color: var(--orange);
}
.privacy-toc a > span:first-child { flex: 0 0 22px; color: #91a7ba; font-variant-numeric: tabular-nums; }
.privacy-content {
  min-width: 0;
  max-width: 900px;
  color: var(--ink);
  font-size: var(--type-label);
  font-weight: var(--weight-body);
  line-height: 1.8;
  overflow-wrap: break-word;
}
.privacy-content > section + section {
  margin-top: 44px;
  padding-top: 38px;
  border-top: 1px solid var(--line);
}
.privacy-content section { scroll-margin-top: 28px; }
.privacy-content h2 {
  display: flex;
  align-items: baseline;
  gap: 18px;
  margin-bottom: 24px;
  font-size: clamp(27px, 2.3vw, 32px);
  font-weight: var(--weight-emphasis);
  line-height: 1.35;
  letter-spacing: -.025em;
}
.privacy-section-number {
  flex: 0 0 auto;
  color: #91a7ba;
  font-size: var(--type-meta);
  font-weight: var(--weight-body);
  letter-spacing: .06em;
  white-space: nowrap;
}
.privacy-content h3 {
  margin: 24px 0 12px;
  font-size: var(--type-label);
  font-weight: var(--weight-emphasis);
  line-height: 1.55;
  letter-spacing: 0;
}
.privacy-content p + p,
.privacy-content p + ul,
.privacy-content p + ol,
.privacy-content ul + p,
.privacy-content ol + p,
.privacy-content dl + p,
.privacy-content .privacy-table-wrap + p { margin-top: 18px; }
.privacy-content ul, .privacy-content ol {
  margin: 18px 0 0;
  padding-left: 1.3em;
}
.privacy-content li + li { margin-top: 10px; }
.privacy-content strong { font-weight: var(--weight-emphasis); }
.privacy-content a:not(.text-link) {
  color: var(--blue);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
  transition: color .2s, text-decoration-color .2s;
}
.privacy-content a:not(.text-link):is(:hover, :focus-visible) {
  color: var(--ink);
  text-decoration-color: var(--orange);
}
.privacy-operator-list { margin: 24px 0 0; }
.privacy-operator-list > div {
  display: grid;
  grid-template-columns: 160px minmax(0, 1fr);
  gap: 24px;
  padding: 15px 0;
  border-bottom: 1px solid var(--line);
}
.privacy-operator-list > div:first-child { border-top: 1px solid var(--line); }
.privacy-operator-list dt {
  color: var(--muted);
  font-size: var(--type-body);
  line-height: 1.8;
}
.privacy-operator-list dd {
  margin: 0;
  font-size: var(--type-body);
  line-height: 1.8;
  overflow-wrap: anywhere;
}
.privacy-table-wrap {
  max-width: 100%;
  margin-top: 24px;
  overflow-x: auto;
  border: 1px solid var(--line);
  border-radius: 8px;
}
.privacy-data-table {
  width: 100%;
  min-width: 600px;
  table-layout: fixed;
  border-collapse: collapse;
  font-size: var(--type-body);
  line-height: 1.65;
}
.privacy-data-table caption {
  padding: 16px 20px;
  border-bottom: 1px solid var(--line);
  text-align: left;
  color: var(--muted);
  font-size: var(--type-meta);
  line-height: 1.6;
}
.privacy-data-table tr > :first-child { width: 30%; }
.privacy-data-table tr > :last-child { width: 70%; }
.privacy-data-table th, .privacy-data-table td {
  padding: 18px 20px;
  text-align: left;
  vertical-align: top;
  border-bottom: 1px solid var(--line);
}
.privacy-data-table th {
  background: #f3f6f8;
  font-weight: var(--weight-emphasis);
}
.privacy-data-table tbody tr:last-child > * { border-bottom: 0; }
.privacy-data-table tr > * + * { border-left: 1px solid var(--line); }
.privacy-callout {
  margin-top: 28px;
  padding: 24px 28px;
  border-left: 2px solid var(--orange);
  background: #f5f7f8;
}
.privacy-callout h3 { margin-top: 0; }
.privacy-callout .text-link { margin-top: 18px; }
.privacy-document-note {
  margin-top: 38px;
  padding-top: 22px;
  border-top: 1px solid var(--line);
  color: var(--muted);
  font-size: var(--type-meta);
  line-height: 1.75;
}
@media (max-width: 1100px) {
  .privacy-hero-grid { grid-template-columns: minmax(0, 1.1fr) 90px minmax(0, .9fr); }
  .privacy-hero-divider { --hero-separator-height: 215px; }
  .privacy-layout { grid-template-columns: 200px minmax(0, 1fr); gap: 36px; }
  .privacy-page-nav { gap: 24px; }
}
@media (max-width: 800px) {
  .privacy-hero-grid { grid-template-columns: 1fr; gap: 24px; padding: 18px 0 36px; }
  .privacy-hero-summary { max-width: 650px; padding-left: 0; font-size: var(--type-body); }
  .privacy-hero-summary .privacy-hero-meta { margin-top: 18px; }
  .privacy-page-nav { flex-wrap: wrap; gap: 18px 28px; }
  .privacy-page-nav .text-link { margin-left: 0; }
  .privacy-document { padding: 46px 0 64px; }
  .privacy-layout { grid-template-columns: 1fr; gap: 36px; }
  .privacy-sidebar { position: static; padding-bottom: 30px; border-bottom: 1px solid var(--line); }
  .privacy-toc { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 28px; }
  .privacy-toc h2, .privacy-toc > ol, .privacy-toc > ul { grid-column: 1 / -1; }
  .privacy-toc ol, .privacy-toc ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 28px; }
  .privacy-toc li + li { margin-top: 0; }
}
@media screen and (max-width: 540px) {
  .privacy-hero { padding-top: 24px; }
  .privacy-hero-grid { padding-top: 0; gap: 22px; }
  .privacy-hero-copy .eyebrow::before { flex-basis: 20px; width: 20px; }
  .privacy-page .privacy-hero h1 { font-size: 32px; line-height: 1.25; }
  .privacy-page-nav { align-items: flex-start; gap: 18px; padding-block: 20px; }
  .privacy-page-nav > a { width: 100%; }
  .privacy-toc { grid-template-columns: 1fr; gap: 12px; }
  .privacy-toc ol, .privacy-toc ul { grid-template-columns: 1fr; gap: 12px; }
  .privacy-content { font-size: var(--type-body); line-height: 1.8; }
  .privacy-content > section + section { margin-top: 32px; padding-top: 30px; }
  .privacy-content h2 { font-size: 25px; gap: 12px; margin-bottom: 20px; }
  .privacy-section-number { font-size: 12px; }
  .privacy-operator-list > div { grid-template-columns: 1fr; gap: 4px; padding: 14px 0; }
  .privacy-operator-list dt { font-size: var(--type-meta); }
  .privacy-callout { padding: 20px; }
  .privacy-table-wrap { overflow: visible; }
  .privacy-data-table, .privacy-data-table caption,
  .privacy-data-table tbody, .privacy-data-table tr,
  .privacy-data-table th, .privacy-data-table td { display: block; }
  .privacy-data-table { min-width: 0; }
  .privacy-data-table caption { padding: 14px 16px; }
  .privacy-data-table thead {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
  }
  .privacy-data-table tr > :first-child,
  .privacy-data-table tr > :last-child { width: 100%; }
  .privacy-data-table th, .privacy-data-table td { padding: 14px 16px; }
  .privacy-data-table tbody th, .privacy-data-table tbody td { border: 0; }
  .privacy-data-table tbody th { padding-bottom: 12px; }
  .privacy-data-table tbody tr + tr { border-top: 1px solid var(--line); }
}
@media (prefers-reduced-motion: reduce) {
  .privacy-page a, .privacy-page .text-link .icon { transition: none; }
}
@media print {
  @page { size: A4; margin: 16mm; }
  html, .privacy-page { scroll-behavior: auto; }
  .privacy-page { background: #fff; color: #000; font-size: 10pt; }
  .privacy-page .site-header,
  .privacy-page .footer,
  .privacy-page .dialog,
  .privacy-page .svg-defs,
  .privacy-page .skip-link,
  .privacy-page .mobile-menu,
  .privacy-page .mobile-toggle,
  .privacy-page .privacy-sidebar,
  .privacy-page .privacy-page-nav,
  .privacy-page .regional-breadcrumbs,
  .privacy-page .hero-separator { display: none !important; }
  .privacy-page .container { width: 100%; max-width: none; margin: 0; }
  .privacy-hero { padding: 0; color: #000; background: #fff; overflow: visible; }
  .privacy-hero-grid { display: block; padding: 0 0 8mm; }
  .privacy-hero-copy .eyebrow { color: #555; font-size: 9pt; margin-bottom: 4mm; }
  .privacy-hero-copy .eyebrow::before { display: none; }
  .privacy-page .privacy-hero h1 { color: #000; font-size: 22pt; line-height: 1.2; }
  .privacy-page .privacy-hero h1 span { color: #000; }
  .privacy-hero-summary { max-width: none; padding: 0; margin-top: 4mm; color: #333; font-size: 10pt; line-height: 1.55; }
  .privacy-hero-summary .privacy-hero-meta { color: #555; margin-top: 3mm; font-size: 9pt; }
  .privacy-document { padding: 0; }
  .privacy-layout { display: block; }
  .privacy-content { max-width: none; font-size: 10pt; line-height: 1.55; color: #000; }
  .privacy-content > section + section { margin-top: 7mm; padding-top: 5mm; border-color: #bbb; }
  .privacy-content h2 { font-size: 15pt; line-height: 1.35; margin-bottom: 4mm; break-after: avoid; page-break-after: avoid; }
  .privacy-content h3 { font-size: 11pt; break-after: avoid; page-break-after: avoid; }
  .privacy-section-number { font-size: 9pt; color: #555; }
  .privacy-content p, .privacy-content li { orphans: 3; widows: 3; }
  .privacy-content a { color: #000; text-decoration-color: #777; }
  .privacy-operator-list dt, .privacy-operator-list dd { font-size: 10pt; }
  .privacy-operator-list > div { grid-template-columns: 35mm minmax(0, 1fr); gap: 5mm; padding: 3mm 0; break-inside: avoid; }
  .privacy-table-wrap { overflow: visible; border-radius: 0; }
  .privacy-data-table { display: table; min-width: 0; width: 100%; table-layout: fixed; font-size: 9pt; }
  .privacy-data-table caption { display: table-caption; padding: 3mm; color: #555; font-size: 9pt; }
  .privacy-data-table th, .privacy-data-table td { display: table-cell; padding: 3mm; overflow-wrap: anywhere; border-bottom: 1px solid #bbb; }
  .privacy-data-table tr > :first-child { width: 30%; }
  .privacy-data-table tr > :last-child { width: 70%; }
  .privacy-data-table tr > * + * { border-left: 1px solid #bbb; }
  .privacy-data-table thead { display: table-header-group; position: static; width: auto; height: auto; margin: 0; overflow: visible; clip-path: none; white-space: normal; }
  .privacy-data-table tbody { display: table-row-group; }
  .privacy-data-table tbody th { padding-bottom: 3mm; }
  .privacy-data-table tr { display: table-row; break-inside: avoid; page-break-inside: avoid; }
  .privacy-callout { margin-top: 5mm; padding: 3mm 0 3mm 4mm; background: #fff; border-color: #777; break-inside: avoid; }
  .privacy-callout .text-link { font-size: 10pt; }
  .privacy-callout .text-link .icon { display: none; }
  .privacy-document-note { margin-top: 6mm; padding-top: 4mm; font-size: 9pt; color: #555; }
}
