/* ============================================
   OSBORN ASSOCIATES - Privacy Policy & 404
   ============================================ */


/* ============================================
   PRIVACY POLICY - Minimal hero + prose
   ============================================ */

.page-hero--minimal {
  background-color: var(--charcoal-deep);
  height: auto; min-height: 0;
  padding-top: clamp(120px, 14vh, 160px);
  padding-bottom: clamp(40px, 5vw, 64px);
}
.page-hero--minimal .page-hero__content { padding-top: 0; }
.page-hero__date {
  font-family: var(--font-sans); font-size: 0.75rem; font-weight: 300;
  color: var(--steel); opacity: 0.5; margin-top: 12px;
}

/* Policy content */
.policy-content { background-color: var(--warm-off-white); }

.policy-inner { max-width: 800px; margin: 0 auto; }

.policy-block { margin-bottom: clamp(36px, 4.5vw, 48px); }
.policy-block:last-child { margin-bottom: 0; }

.policy-block h2 {
  font-family: var(--font-serif); font-size: clamp(1.3rem, 1.8vw, 1.6rem);
  font-weight: 400; line-height: 1.25; color: var(--charcoal);
  margin-bottom: 14px; padding-top: 20px;
  border-top: 1px solid rgba(42,45,50,0.06);
}
.policy-block:first-child h2 { border-top: none; padding-top: 0; }

.policy-block p {
  font-family: var(--font-sans); font-size: 0.84rem; font-weight: 300;
  line-height: 1.85; color: var(--slate-mid);
}
.policy-block p + p { margin-top: 14px; }

.policy-block a { color: var(--muted-blue); text-decoration: none; transition: color var(--dur-base) var(--ease); }
.policy-block a:hover { color: var(--charcoal); }

.policy-list { margin: 12px 0; display: flex; flex-direction: column; gap: 8px; }
.policy-list-item { display: flex; align-items: flex-start; gap: 12px; }
.policy-dot {
  width: 5px; height: 5px; border-radius: 50%;
  background-color: var(--muted-blue); opacity: 0.35;
  flex-shrink: 0; margin-top: 7px;
}
.policy-list-item span:last-child {
  font-family: var(--font-sans); font-size: 0.84rem; font-weight: 300;
  line-height: 1.7; color: var(--slate-mid);
}

/* Contact band at bottom of policy */
.policy-contact {
  background-color: var(--charcoal-deep);
  border-top: 1px solid rgba(122,154,181,0.04);
}

.policy-contact__inner {
  max-width: 800px; margin: 0 auto;
  display: grid; grid-template-columns: 1fr 1fr;
  gap: clamp(40px, 5vw, 80px); align-items: start;
}

.policy-contact__inner h2 {
  font-family: var(--font-serif); font-size: clamp(1.3rem, 1.8vw, 1.6rem);
  font-weight: 400; color: var(--warm-off-white); margin-bottom: 12px;
}
.policy-contact__inner > div:first-child p {
  font-family: var(--font-sans); font-size: 0.84rem; font-weight: 300;
  line-height: 1.8; color: var(--warm-stone); opacity: 0.7;
}

.policy-contact__label {
  font-family: var(--font-sans); font-size: 0.5625rem; font-weight: 400;
  letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--muted-blue); opacity: 0.6;
}
.policy-contact__inner a {
  font-family: var(--font-sans); font-size: 0.875rem; font-weight: 300;
  color: var(--warm-stone); text-decoration: none;
  transition: color var(--dur-base) var(--ease);
}
.policy-contact__inner a:hover { color: var(--warm-off-white); }


/* ============================================
   404 PAGE
   ============================================ */

.error-page {
  min-height: 100vh; display: flex; align-items: center; justify-content: center;
  padding: clamp(80px, 12vw, 160px) var(--section-px);
  position: relative; background-color: var(--charcoal-deep);
}

.error-content { text-align: center; max-width: 560px; position: relative; z-index: 1; }

.error-code {
  font-family: var(--font-serif); font-size: clamp(6rem, 14vw, 10rem);
  font-weight: 400; color: var(--muted-blue); opacity: 0.06;
  line-height: 1; margin-bottom: -20px; user-select: none;
}
.error-heading {
  font-family: var(--font-serif); font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 400; color: var(--warm-off-white); margin-bottom: 16px;
}
.error-text {
  font-family: var(--font-sans); font-size: clamp(0.84rem, 0.92vw, 0.9rem);
  font-weight: 300; line-height: 1.8; color: var(--warm-stone);
  opacity: 0.7; margin-bottom: 36px; max-width: 440px; margin-left: auto; margin-right: auto;
}

.error-buttons { display: flex; align-items: center; justify-content: center; gap: 0; margin-bottom: 48px; }

.error-links { display: flex; align-items: center; justify-content: center; gap: 24px; flex-wrap: wrap; }
.error-links a {
  font-family: var(--font-sans); font-size: 0.6875rem; font-weight: 400;
  letter-spacing: 0.06em; text-transform: uppercase;
  color: var(--warm-stone); opacity: 0.6;
  transition: all var(--dur-base) var(--ease);
}
.error-links a:hover { opacity: 0.8; color: var(--warm-off-white); }


/* ============================================
   RESPONSIVE
   ============================================ */

@media (max-width: 600px) {
  .policy-contact__inner { grid-template-columns: 1fr; gap: 24px; }
  .error-buttons { flex-direction: column; align-items: stretch; max-width: 260px; margin: 0 auto 48px; }
  .error-buttons .btn--primary { border-bottom-color: transparent; }
}