:root {
  --privacy-ink: #151513;
  --privacy-paper: #f4f1eb;
  --privacy-sand: #e8dfd2;
  --privacy-muted: #6d6961;
  --privacy-line: rgb(21 21 19 / 18%);
  --privacy-coral: #e9a28f;
  --privacy-blue: #9bcff0;
  --privacy-max: 1240px;
}

html, body { min-width: 320px; }
body { margin: 0; color: var(--privacy-ink); background: var(--privacy-paper); font-family: Manrope, Arial, sans-serif; }
a { color: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }

/* The helper header is an opaque, reserved shell rather than a hero. */
[data-homepage-region="01-header-hero"] { min-height: 124px; color: #fff; background: var(--privacy-ink); }
[data-homepage-region="01-header-hero"] [data-homepage-region-content] { min-height: 124px; height: 124px; overflow: visible; background: var(--privacy-ink); }
[data-homepage-region="01-header-hero"] .hero-region-navigation { min-height: 124px; background: var(--privacy-ink); }
[data-homepage-region="01-header-hero"] .hero-region-backdrop, [data-homepage-region="01-header-hero"] .hero-region-body { display: none; }
[data-homepage-region="01-header-hero"] .hero-region-nav a, [data-homepage-region="01-header-hero"] .hero-region-brand, [data-homepage-region="01-header-hero"] .hero-region-menu-toggle { color: #fff; }

.privacy-page { width: min(100%, 1600px); margin: 0 auto; padding: 0 clamp(20px, 7vw, 120px) 120px; }
.privacy-page > section, .privacy-reading-layout { width: min(100%, var(--privacy-max)); margin-inline: auto; }
.privacy-hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, .84fr); gap: clamp(40px, 8vw, 132px); align-items: end; min-height: 590px; padding-block: clamp(72px, 9vw, 140px) clamp(74px, 10vw, 150px); border-bottom: 1px solid var(--privacy-line); }
.privacy-hero__copy { max-width: 560px; }
.privacy-kicker, .privacy-index__label { margin: 0 0 18px; color: var(--privacy-muted); font-size: 12px; font-weight: 700; letter-spacing: .16em; line-height: 1.2; text-transform: uppercase; }
.privacy-hero h1 { margin: 0; font-size: clamp(64px, 8vw, 126px); font-weight: 600; letter-spacing: -.075em; line-height: .88; }
.privacy-hero__lead { max-width: 500px; margin: 42px 0 0; font-size: clamp(18px, 1.5vw, 24px); line-height: 1.35; }
.privacy-hero__updated { margin: 36px 0 0; color: var(--privacy-muted); font-size: 13px; }
.privacy-hero__media { margin: 0; }
.privacy-hero__media img { display: block; width: 100%; aspect-ratio: 1.22; object-fit: cover; }
.privacy-hero__media figcaption { margin-top: 13px; color: var(--privacy-muted); font-size: 12px; line-height: 1.35; }

.privacy-reading-layout { display: grid; grid-template-columns: 180px minmax(0, 1fr); gap: clamp(48px, 9vw, 150px); padding-top: 110px; }
.privacy-index { align-self: start; position: sticky; top: 28px; }
.privacy-index nav { display: grid; gap: 13px; }
.privacy-index a { color: var(--privacy-muted); font-size: 14px; line-height: 1.25; text-decoration: none; }
.privacy-index a:hover, .privacy-index a:focus-visible { color: var(--privacy-ink); text-decoration: underline; text-underline-offset: 4px; }
.privacy-sections { min-width: 0; }
.privacy-section { display: grid; grid-template-columns: 92px minmax(0, 1fr); gap: 20px; padding: 0 0 94px; margin-bottom: 94px; border-bottom: 1px solid var(--privacy-line); }
.privacy-section__number { margin: 4px 0 0; color: var(--privacy-muted); font-size: 12px; font-weight: 700; letter-spacing: .11em; }
.privacy-section__body { min-width: 0; max-width: 700px; }
.privacy-section h2 { max-width: 690px; margin: 0; font-size: clamp(34px, 4vw, 60px); font-weight: 600; letter-spacing: -.065em; line-height: .98; }
.privacy-section p:not(.privacy-kicker):not(.privacy-section__number) { max-width: 650px; margin: 24px 0 0; font-size: 17px; line-height: 1.58; }
.privacy-section--intro { padding-top: 0; }
.privacy-section--choice { grid-template-columns: 92px minmax(0, 1fr); padding: 48px 48px 56px; border: 0; background: var(--privacy-blue); }
.privacy-section--choice .privacy-section__body { max-width: 620px; }
.privacy-choice-button, .privacy-button { display: inline-flex; align-items: center; justify-content: space-between; gap: 28px; min-height: 54px; margin-top: 32px; padding: 14px 20px; border: 1px solid var(--privacy-ink); color: var(--privacy-ink); background: transparent; font: inherit; font-size: 14px; font-weight: 700; text-decoration: none; cursor: pointer; }
.privacy-choice-button:hover, .privacy-choice-button:focus-visible, .privacy-button:hover, .privacy-button:focus-visible { color: var(--privacy-paper); background: var(--privacy-ink); }
.privacy-points { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-top: 38px; }
.privacy-point { display: grid; gap: 10px; padding-top: 16px; border-top: 1px solid var(--privacy-line); }
.privacy-point strong { font-size: 13px; letter-spacing: .1em; text-transform: uppercase; }
.privacy-point span { color: var(--privacy-muted); font-size: 14px; line-height: 1.4; }
.privacy-section--split { grid-template-columns: 92px minmax(0, 1fr) minmax(180px, .42fr); }
.privacy-aside { align-self: end; padding: 24px; background: var(--privacy-sand); }
.privacy-aside__mark { display: block; font-size: 40px; line-height: 1; }
.privacy-aside p { margin-top: 24px !important; color: var(--privacy-muted); font-size: 14px !important; line-height: 1.45 !important; }
.privacy-section--last { margin-bottom: 0; border-bottom: 0; }
.privacy-inline-link { text-decoration-thickness: 1px; text-underline-offset: 4px; }

.privacy-consent-panel { position: fixed; inset: 0; z-index: 1001; display: grid; place-items: center; padding: 20px; background: rgb(0 0 0 / 58%); }
.privacy-consent-panel[hidden] { display: none; }
.privacy-consent-panel__card { width: min(32rem, 100%); padding: clamp(24px, 5vw, 42px); color: var(--privacy-ink); background: var(--privacy-paper); box-shadow: 0 24px 64px rgb(0 0 0 / 28%); }
.privacy-consent-panel__card h2 { margin: 0; font-size: clamp(30px, 5vw, 46px); letter-spacing: -.06em; line-height: 1; }
.privacy-consent-panel__card > p:not(.privacy-kicker) { margin: 16px 0 24px; color: var(--privacy-muted); line-height: 1.5; }
.privacy-consent-option { display: flex; gap: 13px; padding: 16px 0; border-top: 1px solid var(--privacy-line); cursor: pointer; }
.privacy-consent-option input { flex: 0 0 auto; width: 18px; height: 18px; accent-color: var(--privacy-ink); }
.privacy-consent-option span { display: grid; gap: 5px; }
.privacy-consent-option small { color: var(--privacy-muted); line-height: 1.4; }
.privacy-consent-panel__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.privacy-consent-button { min-height: 46px; padding: 12px 18px; border: 1px solid var(--privacy-ink); background: transparent; color: var(--privacy-ink); cursor: pointer; font: inherit; font-weight: 700; }
.privacy-consent-button--primary { color: var(--privacy-paper); background: var(--privacy-ink); }
.privacy-consent-button:hover, .privacy-consent-button:focus-visible { opacity: .78; }

@media (max-width: 800px) {
  .privacy-hero { grid-template-columns: 1fr; gap: 54px; min-height: auto; padding-block: 70px 80px; }
  .privacy-hero__media { width: min(100%, 560px); margin-inline: auto; }
  .privacy-reading-layout { grid-template-columns: 1fr; gap: 56px; padding-top: 70px; }
  .privacy-index { position: static; }
  .privacy-index nav { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 20px; padding-bottom: 8px; }
  .privacy-section--split { grid-template-columns: 64px minmax(0, 1fr); }
  .privacy-aside { grid-column: 2; }
}

@media (max-width: 560px) {
  .privacy-page { padding-inline: 18px; padding-bottom: 72px; }
  .privacy-hero h1 { font-size: clamp(58px, 17vw, 92px); }
  .privacy-hero__lead { margin-top: 30px; font-size: 18px; }
  .privacy-hero__updated { margin-top: 24px; }
  .privacy-reading-layout { padding-top: 56px; }
  .privacy-index nav { grid-template-columns: 1fr; }
  .privacy-section, .privacy-section--choice, .privacy-section--split { grid-template-columns: 1fr; gap: 14px; padding: 0 0 62px; margin-bottom: 62px; }
  .privacy-section--choice { padding: 28px 22px 32px; }
  .privacy-section--choice .privacy-section__number { padding-top: 0; }
  .privacy-section h2 { font-size: clamp(34px, 11vw, 50px); }
  .privacy-section p:not(.privacy-kicker):not(.privacy-section__number) { font-size: 16px; }
  .privacy-points { grid-template-columns: 1fr; gap: 14px; }
  .privacy-aside { grid-column: auto; }
  .privacy-choice-button, .privacy-button { width: 100%; }
  .privacy-consent-panel__actions { flex-direction: column; }
  .privacy-consent-button { width: 100%; }
}
