/* ============================================================
   LEGAL PAGES (Privacy Policy) — homepage light-theme rollout
   Styles /privacy-policy/ (default page template, plain block
   content in the DB, body.page-id-138):

     - White ground + #08222E ink, homepage type rules: Inter
       headings (-0.02em), 20px/1.7 body copy, teal links.
     - One 880px reading measure for the title + document body
       (the homepage FAQ column width — 20px legal text needs a
       reading measure, not the 1680px band inner).
     - 10rem top clearance for the fixed header pill (no dark
       hero on this page — same treatment as the ROI calculator).
     - Footer retoned to the homepage light treatment + 9rem
       gutters (mirrors ac-roi-system.css).

   To extend to future legal pages (e.g. terms), add their
   body.page-id-N to every selector. Loads AFTER
   ac-interior-system (same 101-priority block). Fully
   reversible: delete this file + its wp_enqueue_style().
   Applied 2026-07-31.
   ============================================================ */

body.page-id-138 {
  --lt-page:      #FFFFFF;
  --lt-surface:   #FFFFFF;
  --lt-tint:      #E9F3F7;
  --lt-ink:       #08222E;
  --lt-grey:      #5A6B75;
  --lt-border:    rgba(9, 32, 42, 0.10);
  --lt-border-brand: rgba(7, 169, 209, 0.22);
  --lt-brand-ink: #0B6F88;

  background-color: var(--lt-page) !important;
  color: var(--lt-ink) !important;
}

/* ── HEADER — LIGHT liquid-glass pill state. The base dark smoky
      glass was designed to sit over a dark hero; this page is white
      top-to-bottom, so the homepage's .past-hero light state (light
      cyan-tinted glass, dark text) applies from the start. Mirrors
      ac-homepage-light.css State B.
      GUARDED with :not(:has(.ac-hamburger.active)): while the DARK
      full-screen mobile menu overlay is open, the header falls back
      to its base dark-overlay chrome — otherwise the close X and
      the phone/email icons paint ink-on-dark and disappear. ── */
body.page-id-138:not(:has(.ac-hamburger.active)) .ac-header-pill {
  background: linear-gradient(160deg, rgba(255,255,255,0.48) 0%, rgba(226,244,249,0.38) 100%) !important;
  -webkit-backdrop-filter: blur(32px) saturate(180%) brightness(1.05) !important;
          backdrop-filter: blur(32px) saturate(180%) brightness(1.05) !important;
  box-shadow: 0 12px 42px rgba(12,60,80,0.18),
              inset 0 1px 0 rgba(255,255,255,0.95),
              inset 0 -1px 1px rgba(7,169,209,0.10) !important;
}
body.page-id-138:not(:has(.ac-hamburger.active)) .ac-nav__list a { color: var(--lt-ink) !important; }
body.page-id-138:not(:has(.ac-hamburger.active)) .ac-nav__list a:hover { color: var(--ac-primary) !important; }
body.page-id-138:not(:has(.ac-hamburger.active)) .ac-nav__list a.active {
  background: rgba(7, 169, 209, 0.10) !important;
  color: var(--lt-brand-ink) !important;
}
body.page-id-138:not(:has(.ac-hamburger.active)) .ac-header-icon {
  color: var(--lt-ink) !important;
  background: rgba(8, 34, 46, 0.06) !important;
  border-color: rgba(8, 34, 46, 0.22) !important;
}
body.page-id-138:not(:has(.ac-hamburger.active)) .ac-header-icon:hover {
  background: rgba(8, 34, 46, 0.12) !important;
  border-color: rgba(8, 34, 46, 0.38) !important;
}
body.page-id-138:not(:has(.ac-hamburger.active)) .ac-header-icon svg,
body.page-id-138:not(:has(.ac-hamburger.active)) .ac-header-icon svg * { stroke: var(--lt-ink) !important; }
body.page-id-138:not(:has(.ac-hamburger.active)) .ac-hamburger span { background: var(--lt-ink) !important; }

/* ── Document frame: clear the fixed header pill, 7rem bottom,
      and the site's 9rem side gutters (→3rem ≤960, →1.25rem ≤600) ──
   (parent 2025 page.html: main > div.alignfull > title + content) */
body.page-id-138 main.wp-block-group { margin-top: 0 !important; }
body.page-id-138 main.wp-block-group > .wp-block-group.alignfull {
  padding-top: 10rem !important;
  padding-bottom: 7rem !important;
  padding-left: 9rem !important;
  padding-right: 9rem !important;
}
@media (max-width: 960px) {
  body.page-id-138 main.wp-block-group > .wp-block-group.alignfull {
    padding-top: 8rem !important;
    padding-bottom: 5rem !important;
    padding-left: 3rem !important;
    padding-right: 3rem !important;
  }
}
@media (max-width: 600px) {
  body.page-id-138 main.wp-block-group > .wp-block-group.alignfull {
    padding-top: 7rem !important;
    padding-bottom: 3.5rem !important;
    padding-left: 1.25rem !important;
    padding-right: 1.25rem !important;
  }
}

/* The alignfull post-content escapes its parent's padding with
   negative margins + re-adds the root global padding — cancel both
   so the band's 9rem gutters above are what actually frames the
   document. */
body.page-id-138 .entry-content {
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* ── TWO-COLUMN LAYOUT (2026-07-31): sticky sidebar left (page
      title + section nav, built by ac-legal-toc.js), document
      right. Before the JS runs the grid children are the bare
      title + content, which lay out into the same two columns. ── */
body.page-id-138 main.wp-block-group > .wp-block-group.alignfull {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  column-gap: 6rem;
  align-items: start;
}
body.page-id-138 .ac-legal-sidebar {
  position: sticky;
  top: 9rem;
  /* cancel the WP constrained-layout auto margins that centre
     non-full children — the sidebar hugs the left gutter */
  margin-left: 0 !important;
  margin-right: 0 !important;
  width: 100%;
}

/* Section nav */
body.page-id-138 .ac-legal-toc {
  display: flex;
  flex-direction: column;
  margin-top: 2.5rem;
  border-left: 1px solid var(--lt-border);
}
body.page-id-138 .ac-legal-toc a {
  font-family: 'Inter', system-ui, sans-serif;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.4;
  color: var(--lt-grey, #5A6B75);
  text-decoration: none;
  padding: 0.55rem 0 0.55rem 1.25rem;
  margin-left: -1px;
  border-left: 2px solid transparent;
  transition: color 0.2s ease, border-color 0.2s ease;
}
body.page-id-138 .ac-legal-toc a:hover { color: var(--ac-primary, #07A9D1); }
body.page-id-138 .ac-legal-toc a.is-active {
  color: var(--lt-ink);
  border-left-color: var(--ac-primary, #07A9D1);
}

/* Anchored sections stop clear of the fixed header pill */
body.page-id-138 .entry-content h2 { scroll-margin-top: 9rem; }
html:has(body.page-id-138) { scroll-behavior: smooth; }

/* ── Reading measure: the document caps at 880px inside its column ── */
body.page-id-138 .wp-block-post-title,
body.page-id-138 .entry-content > * {
  max-width: 880px !important;
  margin-left: 0 !important;
  margin-right: auto !important;
}

/* ── Page title — homepage h1 spec, sized for the sidebar column ── */
body.page-id-138 .wp-block-post-title {
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: clamp(2.25rem, 3vw, 3.25rem) !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
  letter-spacing: -0.02em !important;
  color: var(--lt-ink) !important;
  margin-bottom: 0 !important;
  text-wrap: balance;
}
@media (max-width: 768px) {
  body.page-id-138 .wp-block-post-title {
    font-size: clamp(2rem, 8vw, 2.75rem) !important;
  }
}

/* ── Stacked layout ≤1024: heading + nav above, document below ── */
@media (max-width: 1024px) {
  body.page-id-138 main.wp-block-group > .wp-block-group.alignfull {
    grid-template-columns: 1fr;
    row-gap: 3rem;
  }
  body.page-id-138 .ac-legal-sidebar { position: static; }
  body.page-id-138 .ac-legal-toc { margin-top: 2rem; }
}

/* ── Section headings — Inter, stepped down from the 20px body ── */
body.page-id-138 .entry-content h2 {
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: 32px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  letter-spacing: -0.01em !important;
  color: var(--lt-ink) !important;
  margin-top: 3.5rem !important;
  margin-bottom: 1.25rem !important;
}
body.page-id-138 .entry-content > h2:first-child { margin-top: 0 !important; }
body.page-id-138 .entry-content h3 {
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: 24px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  color: var(--lt-ink) !important;
  margin-top: 2.5rem !important;
  margin-bottom: 1rem !important;
}

/* ── Body copy — 20px/1.7 ink (site body-text spec) ── */
body.page-id-138 .entry-content p,
body.page-id-138 .entry-content li {
  font-size: 20px !important;
  line-height: 1.7 !important;
  color: var(--lt-ink) !important;
}
body.page-id-138 .entry-content p { margin-bottom: 1.25rem !important; }
body.page-id-138 .entry-content ul,
body.page-id-138 .entry-content ol {
  padding-left: 1.4rem !important;
  margin-bottom: 1.5rem !important;
}
body.page-id-138 .entry-content li { margin: 0.6rem 0 !important; }
body.page-id-138 .entry-content li::marker { color: var(--ac-primary, #07A9D1); }
body.page-id-138 .entry-content strong { color: var(--lt-ink) !important; font-weight: 700; }

/* ── Links — readable brand cyan, teal on hover ── */
body.page-id-138 .entry-content a {
  color: var(--lt-brand-ink) !important;
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-color: var(--lt-border-brand);
  transition: color 0.2s ease;
}
body.page-id-138 .entry-content a:hover {
  color: var(--ac-primary, #07A9D1) !important;
  text-decoration-color: currentColor;
}

/* ── FOOTER — homepage light footer treatment + 9rem gutters
      (mirrors ac-roi-system.css) ── */
body.page-id-138 .ac-footer {
  background: #FFFFFF !important;
  color: var(--lt-ink) !important;
  padding-left: 9rem !important;
  padding-right: 9rem !important;
}
@media (max-width: 960px) {
  body.page-id-138 .ac-footer { padding-left: 3rem !important; padding-right: 3rem !important; }
}
@media (max-width: 600px) {
  body.page-id-138 .ac-footer { padding-left: 1.25rem !important; padding-right: 1.25rem !important; }
}
body.page-id-138 :is(
  .ac-footer__heading,
  .ac-footer__desc,
  .ac-footer__reach-cta
) { color: var(--lt-ink) !important; }
body.page-id-138 .ac-footer__brand .ac-logo span { color: var(--lt-ink) !important; }
body.page-id-138 .ac-footer a { color: var(--lt-ink) !important; }
body.page-id-138 .ac-footer a:hover { color: var(--ac-primary) !important; }
body.page-id-138 .ac-footer a.ac-footer__email-link,
body.page-id-138 .ac-footer a.ac-footer__phone { color: var(--lt-ink) !important; }
body.page-id-138 .ac-footer__email svg { stroke: var(--lt-ink) !important; }
body.page-id-138 .ac-footer a.ac-pill-cta.ac-footer__map-pill {
  color: var(--lt-ink) !important;
  border: 1.5px solid rgba(8, 34, 46, 0.18);
}
body.page-id-138 .ac-footer__linkedin svg path { fill: var(--lt-ink) !important; }
body.page-id-138 .ac-footer__linkedin--min { border-color: var(--lt-ink) !important; }
body.page-id-138 .ac-footer__linkedin--min:hover { border-color: var(--ac-primary) !important; }
body.page-id-138 .ac-footer__linkedin--min:hover svg path { fill: var(--ac-primary) !important; }
body.page-id-138 .ac-footer__divider {
  background-color: var(--lt-border) !important;
  color: var(--lt-border) !important;
  opacity: 1 !important;
}
