/* Privacy page only: a quiet editorial reading surface derived from the EliteGameNights shell. */
:root {
  --privacy-ink: #30233f;
  --privacy-muted: #6e6481;
  --privacy-purple: #7854a3;
  --privacy-lilac: #e8e5f9;
  --privacy-wash: #f8f6fc;
  --privacy-line: #d9d0e9;
  --privacy-white: #ffffff;
  --privacy-shadow: 0 1.25rem 3rem rgb(48 35 63 / 10%);
}

html { scroll-behavior: smooth; }
body.privacy-page {
  min-width: 320px;
  background: var(--privacy-wash);
  color: var(--privacy-ink);
  font-family: Arial, sans-serif;
  line-height: 1.65;
}

body.privacy-page [data-helper-shell="header"],
body.privacy-page [data-helper-shell="header"] > header {
  position: relative;
  z-index: 10;
  min-height: 149px;
  background: var(--privacy-white);
}
body.privacy-page [data-helper-shell="header"] [data-homepage-region-content] {
  background: var(--privacy-white);
}
body.privacy-page .site-header__navigation a,
body.privacy-page .site-header__auth a,
body.privacy-page .site-header__auth button {
  color: var(--privacy-purple);
  text-decoration: none;
}
body.privacy-page .site-header__navigation a:hover,
body.privacy-page .site-header__navigation a:focus-visible,
body.privacy-page .site-header__auth a:hover,
body.privacy-page .site-header__auth a:focus-visible,
body.privacy-page .site-header__auth button:hover,
body.privacy-page .site-header__auth button:focus-visible {
  text-decoration: underline;
  text-underline-offset: 3px;
}

.privacy-main {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(15rem, 20rem);
  gap: clamp(2.5rem, 5vw, 5.75rem) clamp(2rem, 6vw, 7rem);
  max-width: 1180px;
  margin: 0 auto;
  padding: clamp(3.5rem, 7vw, 7rem) clamp(1.25rem, 5vw, 4rem) clamp(5rem, 9vw, 8rem);
}
.privacy-main > section,
.privacy-main > nav { min-width: 0; }

.privacy-overview {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: minmax(0, 1.1fr) minmax(18rem, .9fr);
  gap: clamp(2rem, 6vw, 7rem);
  align-items: center;
  padding-bottom: clamp(2.5rem, 7vw, 6rem);
  border-bottom: 1px solid var(--privacy-line);
}
.privacy-overview__content { max-width: 640px; }
.privacy-overview__eyebrow,
.privacy-section__index,
.privacy-contact__label,
.privacy-consent-panel__eyebrow,
.privacy-account-panel__eyebrow,
.privacy-news-card__date {
  margin: 0;
  color: var(--privacy-purple);
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .16em;
  line-height: 1.4;
  text-transform: uppercase;
}
.privacy-overview__eyebrow { margin-bottom: 1.25rem; }
.privacy-overview__title {
  max-width: 11ch;
  margin: 0;
  color: var(--privacy-purple);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2.75rem, 6vw, 5.8rem);
  font-weight: 700;
  letter-spacing: -.045em;
  line-height: .98;
}
.privacy-overview__lead {
  max-width: 40rem;
  margin: 2rem 0 0;
  color: var(--privacy-ink);
  font-size: clamp(1.05rem, 1.7vw, 1.3rem);
  line-height: 1.55;
}
.privacy-overview__date {
  margin: 1.75rem 0 0;
  color: var(--privacy-muted);
  font-size: .9rem;
}
.privacy-overview__figure { margin: 0; }
.privacy-overview__figure img {
  display: block;
  width: 100%;
  min-height: 20rem;
  border-radius: 1.5rem 1.5rem .35rem 1.5rem;
  box-shadow: var(--privacy-shadow);
  object-fit: cover;
}
.privacy-overview__figure figcaption {
  margin: .75rem 0 0 1rem;
  color: var(--privacy-muted);
  font-family: Georgia, "Times New Roman", serif;
  font-size: .92rem;
  font-style: italic;
}

.privacy-topic-rail {
  grid-column: 2;
  grid-row: 2 / span 6;
  align-self: start;
  position: sticky;
  top: 2rem;
}
.privacy-topic-rail__card {
  padding: 1.5rem;
  border: 1px solid var(--privacy-line);
  border-radius: 1rem;
  background: rgb(255 255 255 / 72%);
}
.privacy-topic-rail__label { margin: 0 0 1rem; color: var(--privacy-muted); font-size: .85rem; font-weight: 700; }
.privacy-topic-rail__list { display: grid; gap: .25rem; margin: 0; padding: 0; list-style: none; counter-reset: topic; }
.privacy-topic-rail__list li { counter-increment: topic; }
.privacy-topic-rail__list button {
  display: grid;
  grid-template-columns: 1.5rem 1fr;
  width: 100%;
  padding: .55rem 0;
  border: 0;
  background: transparent;
  color: var(--privacy-ink);
  cursor: pointer;
  font: inherit;
  font-size: .9rem;
  line-height: 1.35;
  text-align: left;
}
.privacy-topic-rail__list button::before { content: counter(topic, decimal-leading-zero); color: var(--privacy-purple); font-size: .72rem; font-weight: 700; }
.privacy-topic-rail__list button:hover,
.privacy-topic-rail__list button:focus-visible { color: var(--privacy-purple); }

.privacy-section {
  grid-column: 1;
  display: grid;
  grid-template-columns: minmax(8rem, .25fr) minmax(0, 1fr);
  gap: clamp(1.5rem, 4vw, 4rem);
  scroll-margin-top: 2rem;
  padding-bottom: clamp(3rem, 6vw, 5.75rem);
  border-bottom: 1px solid var(--privacy-line);
}
.privacy-section__heading h2 {
  margin: .55rem 0 0;
  color: var(--privacy-purple);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.8rem, 3vw, 2.8rem);
  letter-spacing: -.035em;
  line-height: 1.05;
}
.privacy-section__body { min-width: 0; max-width: 640px; }
.privacy-section__body > p:first-child { margin-top: 0; }
.privacy-section__body p { margin: 0 0 1.25rem; }
.privacy-section__body p:last-child { margin-bottom: 0; }
.privacy-section__note { color: var(--privacy-muted); font-size: .92rem; }
.privacy-definition-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin: 1.75rem 0; }
.privacy-definition-card { padding: 1.25rem; border: 1px solid var(--privacy-line); border-radius: .8rem; background: var(--privacy-white); }
.privacy-definition-card h3,
.privacy-callout h3,
.privacy-news-card h3 { margin: 0 0 .5rem; color: var(--privacy-ink); font-family: Georgia, "Times New Roman", serif; font-size: 1.25rem; line-height: 1.2; }
.privacy-definition-card p { margin: 0; color: var(--privacy-muted); font-size: .95rem; }
.privacy-check-list { display: grid; gap: .75rem; margin: 1.5rem 0; padding: 0; list-style: none; }
.privacy-check-list li { position: relative; padding-left: 1.8rem; }
.privacy-check-list li::before { position: absolute; top: .55rem; left: 0; width: .6rem; height: .6rem; border-radius: 50%; background: var(--privacy-purple); content: ""; }
.privacy-preference-list { display: grid; gap: .65rem; margin: 1.5rem 0; }
.privacy-preference-list__item { display: grid; grid-template-columns: minmax(8rem, .4fr) minmax(0, 1fr); gap: 1rem; padding: .9rem 1rem; border-left: 3px solid var(--privacy-purple); background: var(--privacy-white); }
.privacy-preference-list__item span { color: var(--privacy-muted); font-size: .94rem; }
.privacy-callout { display: grid; grid-template-columns: 2.5rem 1fr; gap: 1rem; margin-top: 1.75rem; padding: 1.5rem; border-radius: 1rem; background: var(--privacy-lilac); }
.privacy-callout__mark { display: grid; place-items: center; width: 2rem; height: 2rem; margin: 0; border-radius: 50%; background: var(--privacy-purple); color: var(--privacy-white); font-size: 1.4rem; line-height: 1; }
.privacy-callout p { margin: 0; }
.privacy-contact { margin-top: 1.5rem; padding: 1.25rem; border: 1px solid var(--privacy-line); border-radius: 1rem; background: var(--privacy-white); }
.privacy-contact__panel { padding: .5rem; }
.privacy-contact__link { display: inline-block; margin: .45rem 0 .75rem; color: var(--privacy-purple); font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.2rem, 2vw, 1.6rem); font-weight: 700; text-decoration-thickness: 1px; text-underline-offset: .2em; overflow-wrap: anywhere; }
.privacy-contact__small { margin: 0; color: var(--privacy-muted); font-size: .9rem; }
.privacy-news-feed { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin-top: 1.75rem; }
.privacy-news-feed__status { grid-column: 1 / -1; color: var(--privacy-muted); }
.privacy-news-card { overflow: hidden; border: 1px solid var(--privacy-line); border-radius: .85rem; background: var(--privacy-white); }
.privacy-news-card__image { display: block; width: 100%; height: 7.5rem; object-fit: cover; }
.privacy-news-card__copy { padding: 1rem; }
.privacy-news-card__date { margin-bottom: .7rem; font-size: .65rem; }
.privacy-news-card h3 { font-size: 1.1rem; }
.privacy-news-card p { color: var(--privacy-muted); font-size: .9rem; }
.privacy-news-card a { color: var(--privacy-purple); font-size: .88rem; font-weight: 700; text-underline-offset: .2em; }

.site-footer { color: var(--privacy-white); }
.site-footer__legal { align-items: center; flex-wrap: wrap; }
.site-footer__legal-link,
.site-footer__settings { color: inherit; }
.site-footer__settings { appearance: none; min-height: 2.75rem; padding: .6rem 1rem; border: 1px solid currentColor; border-radius: 999px; background: transparent; cursor: pointer; font: inherit; }
.site-footer__settings:hover,
.site-footer__settings:focus-visible { background: rgb(255 255 255 / 12%); }

.privacy-consent-panel,
.privacy-account-panel { position: fixed; z-index: 1100; inset: 0; display: grid; place-items: center; padding: 1rem; background: rgb(28 18 38 / 54%); }
.privacy-consent-panel[hidden],
.privacy-account-panel[hidden] { display: none; }
.privacy-consent-panel__card,
.privacy-account-panel__card { position: relative; width: min(100%, 34rem); max-height: min(90vh, 52rem); overflow-y: auto; padding: clamp(1.5rem, 5vw, 3rem); border-radius: 1.25rem; background: var(--privacy-white); box-shadow: 0 2rem 5rem rgb(30 17 40 / 28%); }
.privacy-consent-panel__card h2,
.privacy-account-panel__card h2 { margin: .5rem 0 .75rem; color: var(--privacy-purple); font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.8rem, 4vw, 2.6rem); line-height: 1.05; }
.privacy-consent-panel__card > p:not(.privacy-consent-panel__eyebrow),
.privacy-account-panel__intro p:last-child { margin: 0 0 1.5rem; color: var(--privacy-muted); }
.privacy-consent-panel__close,
.privacy-account-panel__close { position: absolute; top: 1rem; right: 1rem; width: 2.5rem; height: 2.5rem; border: 0; border-radius: 50%; background: var(--privacy-lilac); color: var(--privacy-purple); cursor: pointer; font-size: 1.5rem; line-height: 1; }
.privacy-consent-panel__option { display: flex; gap: .75rem; align-items: flex-start; padding: 1rem 0; border-top: 1px solid var(--privacy-line); }
.privacy-consent-panel__option input { margin-top: .3rem; accent-color: var(--privacy-purple); }
.privacy-consent-panel__option span { display: grid; gap: .2rem; }
.privacy-consent-panel__option small { color: var(--privacy-muted); }
.privacy-consent-panel__actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.5rem; }
.privacy-consent-panel__actions button,
.privacy-account-form__submit { min-height: 2.75rem; padding: .7rem 1.2rem; border: 1px solid var(--privacy-purple); border-radius: 999px; background: var(--privacy-purple); color: var(--privacy-white); cursor: pointer; font: inherit; font-weight: 700; }
.privacy-consent-panel__text-button { border-color: var(--privacy-line) !important; background: transparent !important; color: var(--privacy-purple) !important; }

.privacy-account-panel__card { width: min(100%, 42rem); }
.privacy-account-panel__intro { padding-right: 2rem; }
.privacy-account-form { display: grid; gap: .9rem; }
.privacy-account-form[hidden],
.privacy-dashboard[hidden] { display: none; }
.privacy-account-form__field { display: grid; gap: .3rem; }
.privacy-account-form__field label { color: var(--privacy-ink); font-size: .9rem; font-weight: 700; }
.privacy-account-form__field input,
.privacy-account-form__field textarea { width: 100%; padding: .75rem .85rem; border: 1px solid var(--privacy-line); border-radius: .55rem; background: var(--privacy-wash); color: var(--privacy-ink); font: inherit; }
.privacy-account-form__field input:focus,
.privacy-account-form__field textarea:focus { border-color: var(--privacy-purple); outline: 3px solid rgb(120 84 163 / 18%); }
.privacy-account-form__field [aria-invalid="true"] { border-color: #a32d52; }
.privacy-account-form__error { min-height: 1.2em; color: #a32d52; font-size: .8rem; }
.privacy-account-form__status { min-height: 1.4em; margin: 0; color: var(--privacy-muted); font-size: .9rem; }
.privacy-account-form__submit { justify-self: start; margin-top: .25rem; }
.privacy-account-form__switch { margin: .25rem 0 0; color: var(--privacy-muted); font-size: .9rem; }
.privacy-account-form__switch button { padding: 0; border: 0; background: transparent; color: var(--privacy-purple); cursor: pointer; font: inherit; font-weight: 700; text-decoration: underline; text-underline-offset: .2em; }
.privacy-dashboard__welcome h3 { margin: .5rem 0 0; color: var(--privacy-purple); font-family: Georgia, "Times New Roman", serif; font-size: 2rem; }
.privacy-dashboard__welcome p:last-child { min-height: 1.4em; margin: .35rem 0 1.25rem; color: var(--privacy-muted); }
.privacy-dashboard__form { display: grid; gap: 1.25rem; }
.privacy-dashboard__avatar-wrap { display: flex; align-items: center; gap: 1rem; }
.privacy-dashboard__avatar { width: 4.5rem; height: 4.5rem; border-radius: 50%; object-fit: cover; animation: privacy-avatar-in .45s ease-out both; }
.privacy-dashboard__avatar[hidden] { display: none; }
.privacy-dashboard__avatar-label { padding: .6rem .9rem; border: 1px solid var(--privacy-purple); border-radius: 999px; color: var(--privacy-purple); cursor: pointer; font-size: .9rem; font-weight: 700; }
.privacy-dashboard__avatar-input { position: absolute; width: 1px; height: 1px; clip-path: inset(50%); }
.privacy-dashboard__fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .9rem; }
.privacy-account-form__field--wide { grid-column: 1 / -1; }
@keyframes privacy-avatar-in { from { opacity: 0; transform: scale(.92); } to { opacity: 1; transform: scale(1); } }

@media (max-width: 900px) {
  .privacy-main { grid-template-columns: minmax(0, 1fr) minmax(13rem, 17rem); gap: 2rem; }
  .privacy-topic-rail { grid-row: 2 / span 6; }
  .privacy-overview { grid-template-columns: minmax(0, 1fr) minmax(15rem, .8fr); gap: 2rem; }
  .privacy-news-feed { grid-template-columns: 1fr; }
  .privacy-news-card { display: grid; grid-template-columns: 8rem 1fr; }
  .privacy-news-card__image { height: 100%; min-height: 10rem; }
}

@media (max-width: 640px) {
  body.privacy-page [data-helper-shell="header"],
  body.privacy-page [data-helper-shell="header"] > header { min-height: 126px; }
  .privacy-main { display: block; padding: 2.5rem 1rem 4rem; }
  .privacy-overview { display: block; padding-bottom: 3rem; }
  .privacy-overview__title { max-width: 12ch; }
  .privacy-overview__figure { margin-top: 2rem; }
  .privacy-overview__figure img { min-height: 12rem; border-radius: 1rem 1rem .25rem 1rem; }
  .privacy-topic-rail { position: static; margin: 2rem 0 3rem; }
  .privacy-topic-rail__card { padding: 1rem; }
  .privacy-topic-rail__list { display: grid; gap: .5rem; padding-bottom: 0; }
  .privacy-topic-rail__list li { min-width: 0; }
  .privacy-topic-rail__list button { width: 100%; min-height: 2.5rem; grid-template-columns: 1.4rem minmax(0, 1fr); padding: .55rem .75rem; border: 1px solid var(--privacy-line); border-radius: .55rem; background: var(--privacy-white); font-size: .8rem; }
  .privacy-section { display: block; padding-bottom: 3.5rem; }
  .privacy-section__heading { margin-bottom: 1.25rem; }
  .privacy-section__heading h2 { margin-top: .35rem; }
  .privacy-definition-grid,
  .privacy-dashboard__fields { grid-template-columns: 1fr; }
  .privacy-account-form__field--wide { grid-column: auto; }
  .privacy-preference-list__item { grid-template-columns: 1fr; gap: .2rem; }
  .privacy-callout { grid-template-columns: 2rem 1fr; padding: 1rem; }
  .privacy-news-card { display: block; }
  .privacy-news-card__image { height: 8rem; min-height: 0; }
  .privacy-consent-panel__actions { align-items: stretch; flex-direction: column; }
  .privacy-consent-panel__actions button { width: 100%; }
}
