.hero { display: grid; grid-template-columns: minmax(0, .91fr) minmax(0, 1.2fr); gap: 16px; align-items: center; padding: 58px 0 40px; }
.hero-copy { padding-bottom: 28px; }
.hero .lc-eyebrow { margin: 0 0 36px; }
h1 { font-size: clamp(2.5rem, 3.85vw, 3.4rem); line-height: 1.06; letter-spacing: -.055em; margin: 0; text-wrap: balance; }
.story-section h1 { text-wrap: balance; max-width: 22ch; }
.hero-lede { max-width: 31ch; font-size: clamp(1.125rem, 1.8vw, 1.55rem); line-height: 1.4; margin: 34px 0 36px; }
.hero-art { margin: 0; min-width: 0; }
.hero-art img { display: block; width: 100%; }
.hero .lc-button { font-size: 1.12rem; }
.projects { border-top: 1px solid var(--lc-green); padding-top: 24px; }
.projects h2 { margin: 0 0 28px; font-size: 2.1rem; line-height: 1.2; letter-spacing: -.035em; }
.project-pair, .status-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
.project-pair article + article { border-left: 1px solid var(--lc-rule); padding-left: 40px; }
.project-pair h3 { font-size: 2.65rem; margin: 0; line-height: 1.1; letter-spacing: -.04em; }
.project-pair h3 a { color: var(--lc-ink); text-decoration: none; }
.project-pair h3 a:hover { text-decoration: underline; }
.project-pair p { margin: 8px 0; font-size: 1.15rem; }
.text-link { display: inline-block; padding-block: 9px; font-weight: 700; }
.projects > .text-link { margin-top: 23px; }
.direction-line { font: italic 1.3rem/1.5 var(--lc-display); padding-top: 20px; margin: 24px 0 0; border-top: 1px solid var(--lc-rule); }
.story-section { padding-top: 80px; }
.story-section > h2 { max-width: 24ch; font-size: clamp(2rem, 3.3vw, 3rem); line-height: 1.15; letter-spacing: -.04em; margin: 18px 0 28px; }
.reading-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 44px; max-width: 1060px; }
.reading-columns p { max-width: 52ch; margin: 0; font-size: 1.1rem; }
.approach-list { margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(3, 1fr); gap: 34px; }
.approach-list li { border-top: 1px solid var(--lc-rule); padding-top: 18px; }
.approach-list h3, .status-pair h3 { font-size: 1.5rem; line-height: 1.2; margin: 0 0 16px; letter-spacing: -.025em; }
.approach-list p { margin: 0; }
.section-note { color: var(--lc-muted); max-width: 75ch; margin-top: 30px; }
.status-pair article { border-top: 1px solid var(--lc-rule); padding-top: 24px; }
.vision-details { border-block: 1px solid var(--lc-rule); margin-top: 30px; padding-block: 12px; }
.vision-details summary { padding: 12px 0; color: var(--lc-green); font-weight: 700; cursor: pointer; }
.vision-details p { max-width: 76ch; }
.lc-family-note { margin-top: 70px; padding-bottom: 40px; }
.lc-family-note p { margin: 0 0 8px; }
.menu-toggle { border: 1px solid var(--lc-rule); background: transparent; color: var(--lc-green); border-radius: 6px; padding: 8px 12px; min-height: 44px; cursor: pointer; }
@media (max-width: 1100px) and (min-width: 721px) {
  .hero { display: flex; flex-direction: column; align-items: stretch; gap: 16px; padding-top: 36px; }
  h1 { font-size: 3rem; }
  .hero-copy { padding-bottom: 0; }
  .hero .lc-eyebrow { margin-bottom: 24px; }
  .hero-lede { max-width: 42ch; margin-block: 24px; }
  .hero-art { width: min(100%, 540px); align-self: center; }
}
@media (max-width: 720px) {
  #main-nav { width: 100%; padding-top: 8px; }
  .hero { display: flex; flex-direction: column; gap: 20px; padding: 20px 0 28px; align-items: stretch; }
  .hero-copy { padding: 0; }
  .hero .lc-eyebrow { margin-bottom: 12px; max-width: 30ch; font-size: .8rem; }
  h1 { font-size: clamp(1.95rem, 8.4vw, 2.65rem); letter-spacing: -.05em; line-height: 1.05; }
  .hero-lede { font-size: 1.08rem; max-width: none; line-height: 1.38; margin: 15px 0 18px; }
  .hero .lc-button { width: 100%; font-size: 1rem; }
  .hero-art { width: min(100%, 430px); align-self: center; }
  .projects { padding-top: 18px; }
  .projects h2 { font-size: clamp(1.1rem, 5.2vw, 1.3rem); margin-bottom: 14px; }
  .project-pair, .status-pair, .reading-columns, .approach-list { grid-template-columns: 1fr; gap: 22px; }
  .project-pair { gap: 12px; }
  .project-pair article + article { border-left: 0; border-top: 1px solid var(--lc-rule); padding: 12px 0 0; }
  .project-pair h3 { font-size: 1.55rem; }
  .project-pair p { font-size: .95rem; margin-block: 6px; }
  .projects > .text-link { margin-top: 12px; }
  .direction-line { font-size: 1.1rem; margin-top: 16px; padding-top: 12px; }
  .story-section { padding-top: 52px; }
  .story-section > h2 { font-size: 2rem; }
  .reading-columns p { font-size: 1rem; }
}
