/* Approach page: light architectural bookends with brand-grid movement. */
.approach-page .page-hero {
  background:
    radial-gradient(circle at 74% 20%, rgba(230, 204, 142, .2), transparent 36%),
    var(--paper);
  color: var(--ink);
}

.approach-page .page-hero .blueprint-grid {
  opacity: .62;
  background-image:
    linear-gradient(rgba(18, 51, 84, .12) 1px, transparent 1px),
    linear-gradient(90deg, rgba(18, 51, 84, .12) 1px, transparent 1px);
  mask-image: radial-gradient(ellipse at center, black 20%, transparent 78%);
}

.approach-page .page-hero .blueprint-grid::before,
.approach-page .page-hero .blueprint-grid::after {
  border-color: rgba(117, 89, 31, .28);
}

.approach-page .page-hero h1 em { color: #75591f; }
.approach-page .page-hero .eyebrow { color: #654b1d; }
.approach-page .page-intro { color: #384653; }

.approach-page .site-header {
  background: linear-gradient(90deg, rgba(4, 11, 20, .98), rgba(11, 26, 44, .96));
  border-bottom: 1px solid rgba(208, 183, 126, .2);
}
.approach-page .site-header .primary-nav a { color: #d9dbda; }
.approach-page .site-header .primary-nav a:hover,
.approach-page .site-header .primary-nav .nav-cta { color: var(--gold-light); }
.approach-page .site-header .primary-nav .nav-cta { border-color: var(--line); }
.approach-page .site-header .brand { color: var(--gold-light); }
.approach-page .page-hero { padding-top: 176px; }

.approach-page .pull-quote {
  position: relative;
  overflow: hidden;
  background: var(--paper);
  color: var(--ink);
  border-top: 1px solid rgba(18, 51, 84, .12);
}

.approach-page .pull-quote::before {
  content: "";
  position: absolute;
  inset: -25%;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(18, 51, 84, .055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(18, 51, 84, .055) 1px, transparent 1px);
  background-size: 64px 64px;
  mask-image: radial-gradient(ellipse at 70% 50%, black, transparent 68%);
  animation: grid-drift 28s linear infinite;
}

.approach-page .pull-quote > * { position: relative; z-index: 1; }
.approach-page .pull-quote .section-kicker { color: #654b1d; }
.approach-page .pull-quote h2 em { color: #75591f; }
.approach-page .pull-quote .text-link { color: #5b4218; }

.approach-page .pull-quote .reveal {
  transform: translateX(-72px);
  transition-duration: 1s;
}
.approach-page .pull-quote h2.reveal {
  transform: translateX(84px);
  transition-delay: .1s;
}
.approach-page .pull-quote .text-link.reveal {
  transition-delay: .22s;
}
.approach-page .pull-quote .reveal.is-visible { transform: translateX(0); }

@media (max-width: 800px) {
  .approach-page .site-header .primary-nav { background: #081725; }
  .approach-page .pull-quote .reveal,
  .approach-page .pull-quote h2.reveal { transform: translateX(36px); }
  .approach-page .pull-quote .reveal.is-visible { transform: translateX(0); }
}

@media (prefers-reduced-motion: reduce) {
  .approach-page .pull-quote::before { animation: none; }
  .approach-page .pull-quote .reveal { transform: none; }
}
