/* =========================================================
   PRIVACY POLICY PAGE — scoped styles
   All rules are prefixed with .privacy-* or .policy-*
   to avoid leaking into global styles or other pages.
   ========================================================= */

/* =========================================================
   PAGE ENTRY TRANSITION
   (mirrors .page-loaded pattern used site-wide in app.js)
   ========================================================= */

.privacy-page main {
  opacity: 0;
  transform: translateY(12px);
  transition: opacity 0.3s ease, transform 0.3s ease;
}

.page-loaded .privacy-page main,
.privacy-page.page-loaded main {
  opacity: 1;
  transform: translateY(0);
}

/* =========================================================
   HERO SECTION
   ========================================================= */

.privacy-hero {
  padding-top: calc(68px + 88px);
  padding-bottom: 64px;
  padding-left: 24px;
  padding-right: 24px;
  background: #ffffff;
  text-align: center;
}

.privacy-hero-inner {
  max-width: var(--container);
  margin: 0 auto;
}

.privacy-hero h1 {
  margin: 0 0 14px;
  font-size: clamp(2.4rem, 6vw, 4.9rem);
  line-height: 1.05;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--ink);
}

.privacy-hero-meta {
  font-size: 0.9375rem;
  color: var(--muted);
  margin: 0;
  line-height: 1.5;
}

/* =========================================================
   CONTENT SECTION WRAPPER
   ========================================================= */

.privacy-content-section {
  background: #ffffff;
  padding: 0 24px 112px;
}

/* =========================================================
   POLICY CONTENT COLUMN
   Narrow readable measure — optimal line length for legal text
   ========================================================= */

.privacy-content {
  max-width: 940px;
  margin: 0 auto;
  padding-top: 16px;
}

/* =========================================================
   POLICY BLOCKS — each section
   ========================================================= */

.policy-block {
  padding-bottom: 48px;
  margin-bottom: 48px;
  border-bottom: 1px solid rgba(15, 15, 15, 0.08);
}

.policy-block--last {
  border-bottom: none;
  margin-bottom: 0;
}

/* =========================================================
   HEADINGS
   ========================================================= */

.privacy-page .policy-heading {
  font-size: 1rem !important; /* specificity 0,2,0 beats global body:not() h2 rule at 0,1,2 */
  font-weight: 700;
  color: var(--ink);
  margin: 0 0 16px;
  line-height: 1.3;
  letter-spacing: -0.01em;
  text-transform: none;
}

/* =========================================================
   BODY TEXT
   ========================================================= */

.privacy-content p {
  font-size: 0.9375rem;
  color: var(--muted);
  line-height: 1.75;
  margin: 0 0 12px;
}

.privacy-content p:last-child {
  margin-bottom: 0;
}

/* =========================================================
   LISTS
   ========================================================= */

.policy-list {
  margin: 4px 0 16px 0;
  padding-left: 0;
  list-style: none;
}

.policy-list li {
  font-size: 0.9375rem;
  color: var(--muted);
  line-height: 1.75;
  padding: 4px 0 4px 20px;
  position: relative;
}

.policy-list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 13px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--brand-teal);
  opacity: 0.7;
}

/* =========================================================
   INLINE LINK (email address)
   ========================================================= */

.policy-contact-line {
  font-size: 0.9375rem;
  color: var(--muted);
  line-height: 1.75;
  margin: 8px 0 0;
}

.policy-contact-line a {
  color: var(--ink);
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-color: rgba(15, 15, 15, 0.3);
  transition: text-decoration-color 0.2s ease;
}

.policy-contact-line a:hover {
  text-decoration-color: var(--brand-teal);
}


/* =========================================================
   RESPONSIVE — MOBILE (max 767px)
   ========================================================= */

@media (max-width: 767px) {
  .privacy-hero {
    padding-top: calc(68px + 56px);
    padding-bottom: 48px;
    padding-left: 20px;
    padding-right: 20px;
  }

  .privacy-hero h1 {
    font-size: clamp(2rem, 8vw, 2.75rem);
  }

  .privacy-content-section {
    padding: 0 16px 80px;
  }

  .policy-block {
    padding-bottom: 36px;
    margin-bottom: 36px;
  }
}

/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {
  .privacy-page main {
    transition: none;
  }
}
