/* Legal page uses the same global typography as the rest of the site. */
.elementor-widget-jj-privacy-page,
.jj-privacy-page--elementor-widget,
.elementor-widget-jj-cookie-policy,
.jj-cookie-policy--elementor-widget {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
}

/* Cookie policy: branded reading layout for Complianz-generated content. */
.jj-cookie-policy-page {
  --cookie-paper: #f2efe8;
  --cookie-paper-deep: #e8e3da;
  --cookie-ink: #302c2a;
  --cookie-red: #9E1820;
  --cookie-wine: #651012;
  --cookie-line: #d6d2cb;
  padding: clamp(7rem, 11vw, 10rem) max(7vw, 1.4rem) 6rem;
  background: var(--cookie-paper);
  color: var(--cookie-ink);
  font-family: var(--body);
}

/* Elementor adds a default 10px container gutter; remove it so no dark seam shows. */
.elementor-element-jjcookies01 { padding: 0 !important; }
.elementor-element-jjcookies02 { margin-left: 0 !important; }

.jj-cookie-policy-page > * {
  width: min(100%, 850px);
  margin-right: auto;
  margin-left: auto;
}

.jj-cookie-policy-page h1 {
  margin: 0 0 1.5rem;
  color: var(--cookie-wine);
  font: 800 clamp(2.2rem, 5vw, 4.5rem)/1.02 var(--display);
  letter-spacing: -.07em;
  text-transform: uppercase;
}

.jj-cookie-policy-page h1 + p {
  max-width: 660px;
  margin-bottom: 3.5rem;
  color: #686562;
  font-size: 1.05rem;
  line-height: 1.75;
}

.jj-cookie-policy-page h2 {
  margin: 3.2rem 0 .8rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--cookie-line);
  color: var(--cookie-wine);
  font: 800 clamp(1.35rem, 2.5vw, 2rem)/1.12 var(--display);
  letter-spacing: -.05em;
  text-transform: uppercase;
}

.jj-cookie-policy-page h3 {
  margin: 2rem 0 .55rem;
  color: var(--cookie-red);
  font: 800 1rem/1.2 var(--display);
  letter-spacing: -.03em;
  text-transform: uppercase;
}

.jj-cookie-policy-page p,
.jj-cookie-policy-page li {
  color: #504e4b;
  font-size: .95rem;
  line-height: 1.75;
}

.jj-cookie-policy-page a { color: var(--cookie-red); font-weight: 800; }
.jj-cookie-policy-page ul { padding-left: 1.25rem; }
.jj-cookie-policy-page button { color: var(--cookie-red); }

@media (max-width: 760px) {
  .jj-cookie-policy-page { padding: 6.75rem 7% 4rem; }
  .jj-cookie-policy-page h1 { font-size: 2.25rem; }
  .jj-cookie-policy-page p, .jj-cookie-policy-page li { font-size: .86rem; }
}

.legal-page-hero h1,
.legal-page-document h2,
.legal-page-document h3,
.legal-page-contact h2 {
  font-family: var(--display) !important;
  font-weight: 800 !important;
  letter-spacing: -.07em !important;
  text-transform: uppercase;
}

.legal-page-hero h1 {
  font-size: clamp(2.2rem, 4.5vw, 3.85rem) !important;
  line-height: .98;
  letter-spacing: -.1em !important;
}

.legal-page-hero {
  padding-top: calc(clamp(5rem, 9vw, 8rem) + 9rem) !important;
}

.legal-page-hero .eyebrow {
  margin-bottom: 1.35rem !important;
}

.legal-page-contact {
  width: 100%;
  margin-top: 0 !important;
  padding: 3.5rem max(9%, 2rem) !important;
}

.legal-page-contact-inner {
  width: min(100%, 1100px);
  margin: 0 auto;
}

.legal-page,
.legal-page-hero p:not(.eyebrow),
.legal-page-hero small,
.legal-page-document p,
.legal-page-document ul,
.legal-page-callout,
.legal-page-contact p {
  font-family: var(--body) !important;
}

@media (max-width: 1024px) {
  .legal-page-hero {
    padding-top: calc(clamp(5rem, 9vw, 8rem) + 6.75rem) !important;
  }
}

@media (max-width: 760px) {
  .legal-page-hero {
    padding-top: calc(4rem + 6.75rem) !important;
  }

  .legal-page-hero h1 {
    font-size: 2.05rem !important;
  }

  .legal-page-contact {
    padding: 2rem 7% !important;
  }
}
