/* A shared reading rhythm: clear headings, grouped information, deliberate pauses. */
:root { --section-space: clamp(36px, 4vw, 64px); }
.section-heading { align-items: center; border-bottom-width: 1px; padding-bottom: 18px; }
.section-heading h2 { max-width: 26ch; }
.section-intro { max-width: 66ch; }
.page-title-intro, .story-copy { max-width: 62ch; }
.page-index .showcase-kicker { max-width: 44ch; line-height: 1.65; }
.page-index .showcase-description { max-width: 48ch; }
.page-index .site-block--project_highlights { background: #ededed; }
.page-index .project-image { height: clamp(190px, 19vw, 280px); }
.page-index .story-section { padding-block: var(--section-space); }
.page-index .story-grid { grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); gap: clamp(28px,5vw,80px); }
.page-index .story-visual { height: 310px; }
.page-index .story-copy h2 { max-width: 23ch; }
.page-index .story-copy>p:not(.eyebrow) { font-size: 1rem; line-height: 1.65; }
.page-index .process-grid { display: block; }
.page-index .process-grid>div:first-child { border-bottom: 0; padding-bottom: 0; }
.page-index .process-grid>div:first-child::after { display: none; }
.page-index .process-steps { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; margin-top: 28px; border: 0; background: none; }
.page-index .process-steps li, .page-index .process-steps li:first-child, .page-index .process-steps li:last-child { border: 0; border-top: 2px solid #171717; padding: 20px 0 0; align-items: flex-start; gap: 14px; }
.page-index .process-steps h3 { font-size: 1.06rem; }
.page-index .process-steps li>span { width: 32px; height: 32px; flex-basis: 32px; }
.page-about .about-grid { align-items: start; }
.page-about .about-grid .prose p { max-width: 64ch; }
.page-about .person { border-top-width: 2px; background: #fff; }
.page-about .family-quote { padding-block: 32px; }
.page-about .family-quote blockquote { font-size: clamp(1.3rem,2vw,1.9rem); }
.page-projects .portfolio-description h2 { font-size: 1.2rem; }
.page-projects .portfolio-description>p:not(.eyebrow) { max-width: 52ch; }
.project-service-paths { margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--line); }
.project-service-paths h3 { font-size: .78rem; font-weight: 600; line-height: 1.5; color: #565656; }
.project-service-paths ul { list-style: none; padding: 0; margin: 5px 0 0; }
.project-service-paths a { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 44px; padding-block: 8px; color: var(--red); font-size: .875rem; font-weight: 600; line-height: 1.4; }
.project-service-paths li+li { border-top: 1px solid #ececec; }
.project-service-paths a:hover { text-decoration: underline; }
.project-service-paths a span { flex: 0 0 auto; }
.contact-band { padding-block: 32px; }
.contact-band h2 { max-width: 28ch; font-size: clamp(1.7rem,2.5vw,2.4rem); }
@media(max-width:800px) {
  .page-index .story-grid { grid-template-columns: 1fr; }
  .page-index .story-visual { height: 260px; }
  .page-index .process-steps { grid-template-columns: 1fr; gap: 20px; }
  .page-index .process-steps li { max-width: 64ch; }
  .section-heading { align-items: start; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior: auto; } }
@media print { .page-index .story-section { background:#fff; color:#000; } .page-index .story-copy p, .page-index .light-link { color:#000; } }
