/* Homepage composition uses the shared typography, palette, and site shell. */
.home-hero { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); gap: clamp(36px, 5vw, 80px); padding-block: clamp(44px, 5vw, 76px) 64px; }
.home-introduction > .home-eyebrow { margin-bottom: 25px; }
.home-introduction h1 { max-width: 23ch; font-size: clamp(40px, 4.1vw, 64px); line-height: 1.09; text-wrap: pretty; }
.home-founder { margin: 22px 0 0; font-size: 18px; }
.home-founder a { border: 0; font-family: var(--font-heading); font-size: 25px; }
.home-intro-copy { max-width: 58ch; margin: 22px 0 0; color: var(--color-muted); font-size: 18px; line-height: 1.55; }
.home-hero-actions { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; margin-top: 30px; }
.home-button { justify-content: space-between; }
.home-button span { font-size: 22px; line-height: 1; }
.home-button-outline { border-color: var(--color-border); background: transparent; color: var(--color-text); }
.home-button-outline:hover { background: transparent; color: var(--color-accent); border-color: var(--color-accent); }
.home-current { min-width: 0; padding: 4px 0 0 clamp(28px, 3.5vw, 56px); border-left: 1px solid var(--color-border); }
.home-current > h2 { display: flex; align-items: center; gap: 10px; }
.home-status { width: 6px; height: 6px; border-radius: 50%; background: var(--color-accent); }
.home-project-list { margin: 24px 0 16px; padding: 0; list-style: none; }
.home-project-list li { margin: 0; padding-block: 22px; border-bottom: 1px solid var(--color-border); }
.home-project-list li:first-child { padding-top: 0; }
.home-project-kind { margin: 0 0 9px; color: var(--color-muted); font-size: 11px; line-height: 1.5; }
.home-project-title { display: block; padding-block: 5px; border: 0; color: var(--color-text); font: 450 clamp(21px, 1.85vw, 27px)/1.25 var(--font-heading); letter-spacing: -.025em; }
.home-project-title:hover { color: var(--color-accent); }
.home-project-description { margin: 7px 0 0; color: var(--color-muted); font-size: 14px; line-height: 1.55; }
.home-project-description a { color: inherit; }
.home-text-link { display: inline-flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 44px; border: 0; color: var(--color-text); font-size: 14px; }
.home-text-link:hover { color: var(--color-accent); }
.home-text-link > span { font-size: 22px; }
.home-section { padding-block: 36px 48px; border-top: 1px solid var(--color-border); }
.home-section-top { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin-bottom: 28px; }
.home-section-top .home-eyebrow { margin: 0; }
.home-section-top > p { margin: 0; color: var(--color-muted); font-size: 14px; }
.home-articles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; }
.home-articles article + article { padding-left: 32px; border-left: 1px solid var(--color-border); }
.home-article-link { display: block; min-height: 100%; border: 0; color: var(--color-text); }
.home-article-link time { color: var(--color-muted); font-size: 10px; letter-spacing: .16em; text-transform: uppercase; }
.home-article-link h3 { margin: 15px 0 0; font-size: clamp(23px, 2.1vw, 31px); line-height: 1.2; }
.home-article-link:hover { color: var(--color-accent); }
.home-story, .home-newsletter { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(40px, 7vw, 110px); padding-block: 56px 64px; }
.home-story h2, .home-newsletter h2 { margin: 20px 0; font-size: clamp(32px, 3.5vw, 48px); line-height: 1.15; text-wrap: balance; }
.home-story-copy > p:first-child, .home-newsletter-content > p:first-child { margin-top: 0; }
.home-story-copy p, .home-newsletter-content p { color: var(--color-muted); }
.home-approach { margin-top: 32px; padding-left: 24px; border-left: 2px solid var(--color-accent); }
.home-approach p { margin-bottom: 0; font: 450 23px/1.4 var(--font-heading); letter-spacing: -.015em; }
.home-approach strong { color: var(--color-text); font-weight: 500; }
.home-people { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 48px; margin: 0; padding: 0; list-style: none; }
.home-people li { margin: 0; border-bottom: 1px solid var(--color-border); }
.home-people a { display: flex; flex-direction: column; gap: 5px; padding-block: 20px; border: 0; color: var(--color-text); }
.home-people a:hover { color: var(--color-accent); }
.home-person-name { font-size: 20px; }
.home-person-discipline { color: var(--color-muted); font-size: 13px; }
.home-newsletter-content { align-self: center; }
.home-newsletter .newsletter-form { max-width: none; }
.home-page { padding-bottom: 0; }

@media (max-width: 1100px) {
    .home-hero { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 32px; }
    .home-current { padding-left: 28px; }
    .home-introduction h1 { font-size: 44px; }
}
@media (max-width: 960px) {
    .home-hero { grid-template-columns: 1fr; gap: 48px; }
    .home-introduction h1 { max-width: 24ch; font-size: clamp(40px, 6.5vw, 58px); }
    .home-current { padding: 32px 0 0; border-left: 0; border-top: 1px solid var(--color-border); }
    .home-project-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 36px; }
    .home-project-list li:first-child { padding-top: 22px; }
    .home-project-title { font-size: 24px; }
    .home-articles, .home-people { column-gap: 24px; }
    .home-articles article + article { padding-left: 24px; }
    .home-story, .home-newsletter { gap: 36px; }
}
@media (max-width: 600px) {
    .home-hero { padding-block: 40px; }
    .home-introduction > .home-eyebrow { max-width: 32ch; margin-bottom: 20px; font-size: 10px; line-height: 1.8; letter-spacing: .16em; }
    .home-introduction h1 { font-size: clamp(34px, 8.6vw, 49px); line-height: 1.1; }
    .home-intro-copy { font-size: 17px; }
    .home-hero-actions { gap: 12px; }
    .home-button { flex: 1 1 auto; gap: 16px; padding-inline: 18px; font-size: 14px; }
    .home-project-list, .home-articles, .home-story, .home-newsletter { grid-template-columns: 1fr; }
    .home-project-list { margin-top: 28px; }
    .home-project-list li:first-child { padding-top: 0; }
    .home-section { padding-block: 28px 36px; }
    .home-section-top { gap: 12px; margin-bottom: 20px; }
    .home-section-top .home-text-link { gap: 10px; font-size: 13px; }
    .home-articles { gap: 0; }
    .home-articles article + article { padding: 24px 0 0; border-left: 0; border-top: 1px solid var(--color-border); }
    .home-articles article:not(:last-child) { padding-bottom: 24px; }
    .home-article-link h3 { font-size: 28px; }
    .home-story, .home-newsletter { gap: 24px; padding-block: 36px 40px; }
    .home-story h2, .home-newsletter h2 { margin: 16px 0 12px; }
    .home-approach { padding-left: 18px; }
    .home-approach p { font-size: 22px; }
    .home-people { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 24px; }
    .home-person-name { font-size: 18px; }
    .home-person-discipline { font-size: 12px; }
}
