/* Preserve the legal pages while sharing the main site contact component. */
.legal-page {
  min-height: 100vh;
  color: #f5f3ee;
  background:
    radial-gradient(circle at 77% 24%, rgba(120,161,140,.13), transparent 27%),
    radial-gradient(circle at 22% 72%, rgba(120,161,140,.07), transparent 34%),
    linear-gradient(145deg, #1d2421 0%, #141917 58%, #0d100f 100%);
}

.legal-page .legal-main {
  display: block;
  width: min(100% - 3rem, 48rem);
  margin-inline: auto;
  padding: 9rem 0 5rem;
}

.legal-eyebrow {
  margin: 0 0 1.25rem;
  color: var(--primary);
  font-size: .65rem;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.legal-main h1 {
  margin: 0 0 4rem;
  font-size: clamp(2.7rem, 8vw, 5rem);
  font-weight: 300;
  line-height: 1;
  letter-spacing: -.045em;
}

.legal-main section {
  padding: 1.75rem 0;
  border-top: 1px solid rgba(245, 243, 238, .14);
}

.legal-main h2 {
  margin: 0 0 .85rem;
  color: #f5f3ee;
  font-size: .72rem;
  font-weight: 500;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.legal-main p {
  margin: 0 0 .8rem;
  color: rgba(245, 243, 238, .68);
  font-size: .9rem;
  font-weight: 300;
  line-height: 1.75;
}

.legal-main p:last-child { margin-bottom: 0; }
.legal-main a {
  color: #f5f3ee;
  text-decoration: underline;
  text-decoration-color: rgba(120, 161, 140, .6);
  text-underline-offset: .2em;
}

.legal-main a:hover { color: var(--primary); }


/* The compact header is in document flow, so no fixed-nav offset is needed. */
.web-projects-body:has(> .brand-header) .web-projects-page { padding-top: 4rem; }
.legal-page > .legal-main { padding-bottom: 0; }
body.legal-page:has([data-contact-footer]) > main::after,
body.web-projects-body:has([data-contact-footer]) > main::after { background: transparent; }
@media (max-width: 900px) {
  .web-projects-body:has(> .brand-header) .web-projects-page { padding-top: 2.5rem; }
  .legal-page:has(> .brand-header) .legal-main { padding-top: 2.5rem; }
}
.legal-main h1 { font-family: "Poiret One", "Century Gothic", sans-serif; font-weight: 400; letter-spacing: -.035em; line-height: .93; }
.legal-main h2 { font-family: "Quicksand", "Century Gothic", sans-serif; font-weight: 600; letter-spacing: -.02em; }

/* Keep legal content clear of the curved mobile navigation. */
body.legal-page > .brand-header { background: #1d2421; }
body.legal-page:has(> .brand-header) > .legal-main { padding-top: 5rem; }
@media (max-width: 900px) {
  body.legal-page > .brand-header:not(.reference-header) {
    position: relative;
    min-height: calc(env(safe-area-inset-top) + var(--nav-logo-folded-height, 12rem));
    pointer-events: none;
  }
  body.legal-page:has(> .brand-header) > .legal-main { padding-top: 3rem; }
  body.legal-page .legal-main :is(h1, h2, section) {
    scroll-margin-top: calc(env(safe-area-inset-top) + var(--nav-logo-folded-height, 12rem) + 2rem);
  }
}
