/* ==========================================================================
   GENERATED PAGES (/about, /contact, /services/*) — extends case-study.css.
   Uses the same tokens and type stacks; introduces no new colours or fonts.
   ========================================================================== */

.pg-nav-links { display: flex; gap: clamp(0.9rem, 3vw, 2rem); flex-wrap: wrap; justify-content: flex-end; }
.pg-nav-links .cs-back { color: #999; }
.pg-nav-links .cs-back.is-current, .pg-nav-links .cs-back:hover { color: #FAF9F5; opacity: 1; }
.pg-brand { color: #FAF9F5; }
@media (max-width: 520px) { .pg-brand { display: none; } .pg-nav-links { justify-content: flex-start; } }

/* Founder hero */
.pg-founder { display: grid; grid-template-columns: 1fr; gap: 2.5rem; align-items: end; }
@media (min-width: 860px) { .pg-founder { grid-template-columns: 1.4fr 1fr; } }
.pg-portrait { margin: 0; border: 1px solid var(--divider); border-radius: 1rem; overflow: hidden; background: #08080A; aspect-ratio: 4 / 5; max-width: 420px; }
.pg-portrait img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* Price block */
.pg-price { margin-top: 1.75rem; }
.pg-price-num {
  display: block; font-family: 'Inter Display', Inter, system-ui, sans-serif;
  font-size: clamp(2.4rem, 6vw, 4.4rem); font-weight: 500; letter-spacing: -0.035em; line-height: 1; color: #fff;
}
.pg-price-note { margin-top: 1rem; max-width: 640px; font-family: Inter, system-ui, sans-serif; font-size: 1rem; line-height: 1.6; color: #b8b8be; }

/* FAQ */
.pg-faq { margin-top: 2rem; max-width: 820px; }
.pg-faq-item { border-top: 1px solid var(--divider); }
.pg-faq-item:last-child { border-bottom: 1px solid var(--divider); }
.pg-faq-item summary {
  list-style: none; cursor: pointer; padding: 1.25rem 2.5rem 1.25rem 0; position: relative;
  font-family: 'Inter Display', Inter, system-ui, sans-serif; font-size: clamp(1.05rem, 2.2vw, 1.3rem); color: #fff;
}
.pg-faq-item summary::-webkit-details-marker { display: none; }
.pg-faq-item summary::after {
  content: '+'; position: absolute; right: 0.25rem; top: 1.1rem;
  font-family: 'JetBrains Mono', monospace; font-size: 1.2rem; color: #FAF9F5; transition: transform 0.4s var(--expo);
}
.pg-faq-item[open] summary::after { transform: rotate(45deg); }
.pg-faq-item p { padding: 0 0 1.4rem; max-width: 700px; font-family: Inter, system-ui, sans-serif; font-size: 1.02rem; line-height: 1.7; color: #b8b8be; }

/* Link lists */
.pg-links { list-style: none; padding: 0; margin-top: 2rem; max-width: 780px; }
.pg-links li { border-top: 1px solid var(--divider); }
.pg-links li:last-child { border-bottom: 1px solid var(--divider); }
.pg-links a {
  display: flex; justify-content: space-between; gap: 1rem; padding: 1.1rem 0;
  font-family: 'Inter Display', Inter, system-ui, sans-serif; font-size: clamp(1.05rem, 2.2vw, 1.3rem);
  color: #fff; text-decoration: none;
}
.pg-links a:hover { color: #FAF9F5; opacity: 0.75; }
.pg-small { margin-top: 1.5rem; font-family: 'JetBrains Mono', monospace; font-size: 11px; letter-spacing: 0.08em; line-height: 1.9; color: #888; text-transform: uppercase; }
.pg-small a { color: #ccc; }

/* Footer */
.pg-foot { padding: 3rem clamp(1.5rem, 5vw, 4rem) 2rem; border-top: 1px solid var(--divider); position: relative; z-index: 10; background: #000; }
.pg-foot-links { display: flex; flex-wrap: wrap; gap: 1.5rem; }
.pg-foot-links a, .pg-foot-base {
  font-family: 'JetBrains Mono', monospace; font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: #BBBBBB; text-decoration: none;
}
.pg-foot-links a:hover { color: #FAF9F5; }
.pg-foot-base { margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid var(--divider); display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem; color: #777; }

@media (max-width: 860px) {
  .cs-section:nth-of-type(7) { z-index: 7; }
  .cs-section:nth-of-type(8) { z-index: 8; }
}
