/* ============================================================
   /for/* pages — hero + section typography aligned with the new
   homepage. Loads after pages.css; tokens come from site.css
   (fallbacks keep the page correct if it is missing).
   ============================================================ */

.pg .pg-hero {
  position: relative; overflow: hidden; isolation: isolate; text-align: center;
  padding: clamp(26px, 3.6vw, 44px) 0 0;
  background:
    radial-gradient(80% 60% at 50% 0%, #fff, transparent 70%),
    linear-gradient(180deg, #F7F2E8 0%, #E3EFE6 72%, #D6E9DD 100%);
}
.pg .pg-hero > .wrap { position: relative; z-index: 4; }
.pg .pg-crumb { font-size: 13.5px; margin-bottom: 18px; color: var(--mute, #6B756F); }
.pg .pg-crumb a { color: var(--ink2, #46504A); }
.pg .pg-hero .eyebrow {
  display: block; margin: 0 0 14px; text-transform: none; letter-spacing: -.005em;
  font-family: var(--serif, "Bricolage Grotesque", "Archivo", system-ui, sans-serif);
  font-size: 15px; font-weight: 600; color: var(--gr, #0E9F6E);
}
.pg .pg-h1 {
  font-family: var(--serif, "Bricolage Grotesque", "Archivo", system-ui, sans-serif);
  font-weight: 700; font-variation-settings: "opsz" 96, "wdth" 92;
  font-size: clamp(31px, 4.2vw, 58px); line-height: 1.02; letter-spacing: -.03em;
  color: var(--ink, #16211B); max-width: 17em; margin: 0 auto; text-wrap: balance;
}
.pg .pg-hero .pg-lead {
  max-width: 60ch; margin: clamp(14px, 1.6vw, 20px) auto 0;
  font-size: clamp(16px, 1.25vw, 18.5px); line-height: 1.55; color: var(--ink2, #46504A);
}
.pg .pg-hero-actions { display: flex; justify-content: center; margin-top: clamp(18px, 2.4vw, 28px); }
.pg .pg-hero-actions .pg-hero-cta { margin: 0; justify-content: center; }

/* the street sits flush with the hero's bottom edge */
.pg-hero .fs { margin-top: clamp(20px, 3vw, 36px); }

/* ---- sections ---- */
.pg .pg-band .eyebrow {
  text-transform: none; letter-spacing: -.005em; font-size: 15px; font-weight: 600;
  font-family: var(--serif, "Bricolage Grotesque", "Archivo", system-ui, sans-serif); color: var(--gr, #0E9F6E);
}
.pg .pg-band .sec-h2 {
  font-family: var(--serif, "Bricolage Grotesque", "Archivo", system-ui, sans-serif);
  font-weight: 700; font-variation-settings: "opsz" 72, "wdth" 94;
  font-size: clamp(30px, 3.8vw, 52px); line-height: 1.02; letter-spacing: -.03em; color: var(--ink, #16211B);
}
.pg .pg-band.srf { background: var(--cream, #FFF8EC); }
.pg .feat-card { border: 1px solid var(--hair, rgba(22, 33, 27, .1)); border-radius: 24px; box-shadow: none; }
.pg a.feat-card { display: block; color: inherit; text-decoration: none; }
@media (hover: hover) and (pointer: fine) {
  .pg a.feat-card { transition: transform .3s var(--e-out, cubic-bezier(.23, 1, .32, 1)), box-shadow .3s ease; }
  .pg a.feat-card:hover { transform: translateY(-4px); box-shadow: 0 24px 40px -24px rgba(22, 33, 27, .35); }
}
.pg .pg-cta { background: var(--night, #04110B); }
.pg .pg-cta h2 { font-weight: 700; letter-spacing: -.035em; }

@media (max-width: 760px) {
  .pg .pg-hero { padding-top: 22px; }
  .pg .pg-crumb { margin-bottom: 12px; }
  .pg .pg-hero-actions .pg-hero-cta { width: 100%; }
  .pg .pg-hero-actions .btn { width: 100%; justify-content: center; }
}
