/* ========================================
   PAGES — Page-Specific Styles
   Mobile-first (375px base)
   ======================================== */

/* Hero */
.hero {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 58px 1rem 2rem;
  max-width: var(--max-w);
  margin: 0 auto;
  position: relative;
}

.hero::after {
  content: '';
  position: absolute;
  top: 0; right: 0;
  width: 40%; height: 100%;
  background: radial-gradient(ellipse at 80% 20%, rgba(200, 164, 110, .05), transparent 60%);
  pointer-events: none;
}

.hero-tagline {
  font-family: var(--f1);
  font-size: 1.1rem;
  font-style: italic;
  color: var(--gold3);
  margin-top: .6rem;
  max-width: 500px;
  line-height: 1.55;
}

/* Pace theme overrides */
.pace-theme .section-label { color: var(--pace3); }
.pace-theme h1 em,
.pace-theme h2 em,
.pace-theme h3.pace-accent { color: var(--pace); }
.pace-theme .quote { color: var(--pace); border-color: rgba(58, 158, 92, .12); }
.pace-theme .tag { color: var(--pace); background: rgba(58, 158, 92, .08); }
.pace-theme .elevated { background: rgba(58, 158, 92, .02); border: 1px solid rgba(58, 158, 92, .06); }
.pace-theme .disclaimer { border-color: rgba(58, 158, 92, .1); }
.pace-theme .disclaimer-title { color: var(--pace); }

.pace-theme .btn-primary {
  background: var(--pace);
  color: #fff;
}

.pace-theme .btn-primary:hover {
  background: var(--pace2);
  color: #fff;
}

.pace-theme .btn-secondary {
  border-color: var(--pace3);
  color: var(--pace);
}

.pace-theme .btn-secondary:hover {
  border-color: var(--pace);
  background: rgba(58, 158, 92, .03);
  color: var(--pace);
}

/* Services: featured tag for blue border */
.tag-blue {
  color: var(--blue);
  background: rgba(74, 127, 181, .07);
}

/* Contact email link */
.contact-email {
  font-size: .95rem;
  color: var(--gold);
  margin-top: .8rem;
}

/* Legal */
.legal-text {
  font-size: .75rem;
  color: var(--text3);
  margin-top: .4rem;
}

/* Hero subtitle for inner pages */
.page-header {
  padding: 7rem 1rem 3rem;
  max-width: var(--max-w);
  margin: 0 auto;
}

/* Responsive hero */
@media (min-width: 900px) {
  .hero { padding: 58px 1.5rem 2rem; }
  .page-header { padding: 7rem 1.5rem 3rem; }
}
