/*
 * CormackCoreWeb 2.0 — Avesco Legal pages (Privacy Policy, Cookies Notice).
 * Builds on front-page.css (tokens, nav, footer). Minimalistic: a light header
 * bar, then content blocks stacked one under the other in a single column.
 */

.av-legal { background: #fff; }

/* ============================================================
   Header — simple light bar: nav pinned at top, page title below.
   ============================================================ */
.av-legal-hero {
  position: relative;
  background: #fff;
  border-bottom: 1px solid #e6e6e6;
}
.av-legal-hero-inner {
  padding-block: 72px 48px;
}
.av-legal-title {
  font-family: var(--font-sans);
  font-weight: 300;
  font-size: clamp(38px, 5vw, 64px);
  line-height: 1.1;
  letter-spacing: -1px;
  color: var(--grey-900);
  margin: 0;
}

/* ============================================================
   Body — single reading column, blocks stacked one under the other.
   ============================================================ */
.av-legal-body {
  padding-block: 64px 96px;
}
/* Content column caps at the site max width (1600px) per the brief. */
.av-legal-content {
  max-width: 1600px;
}

/* Legal pack: plain and accessible — no scroll-reveal / motion on this page,
   and never hide content waiting for an animation that may not run. */
.av-legal .av-reveal,
.av-legal [class*="av-reveal"] {
  opacity: 1 !important;
  transform: none !important;
}
.av-legal *,
.av-legal *::before,
.av-legal *::after {
  animation: none !important;
  transition: none !important;
}

/* Offset anchored sections (e.g. #cookies) so the heading isn't flush to the
   very top of the viewport when linked to from the footer / consent bar. */
.av-legal-block[id] {
  scroll-margin-top: 24px;
}
.av-legal-block + .av-legal-block {
  margin-top: 56px;
}
.av-legal-block-title {
  font-family: var(--font-sans);
  font-weight: 500;
  font-size: clamp(22px, 2.4vw, 28px);
  line-height: 1.25;
  color: var(--grey-900);
  margin: 0 0 20px;
}
.av-legal-block p {
  font-family: var(--font-sans);
  font-weight: 400;
  font-size: 17px;
  line-height: 1.7;
  color: var(--grey-600);
  margin: 0 0 18px;
}
.av-legal-block p:last-child { margin-bottom: 0; }

/* Sub-headings within a block (e.g. each "right" under Your Rights). */
.av-legal-block-subtitle {
  font-family: var(--font-sans);
  font-weight: 500;
  font-size: clamp(17px, 1.7vw, 19px);
  line-height: 1.35;
  color: var(--grey-900);
  margin: 32px 0 12px;
}

/* Lists — bulleted, same reading colour as paragraphs, with nested support. */
.av-legal-block ul {
  margin: 0 0 18px;
  padding-left: 22px;
  list-style: disc;
}
.av-legal-block li {
  font-family: var(--font-sans);
  font-weight: 400;
  font-size: 17px;
  line-height: 1.7;
  color: var(--grey-600);
  margin: 0 0 10px;
}
.av-legal-block li:last-child { margin-bottom: 0; }
.av-legal-block ul ul {
  margin: 10px 0 0;
  list-style: circle;
}
.av-legal-block li strong { color: var(--grey-900); font-weight: 600; }

/* Links inside legal copy. */
.av-legal-block a {
  color: var(--blue-1);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.av-legal-block a:hover { text-decoration-thickness: 2px; }

/* The intro block sits flush under the title — no top spacing of its own. */
.av-legal-intro { margin-top: 0; }

@media (max-width: 768px) {
  .av-legal-hero-inner { padding-block: 48px 32px; }
  .av-legal-body { padding-block: 48px 72px; }
  .av-legal-block + .av-legal-block { margin-top: 44px; }
}
