.container { width: min(calc(100% - 2.5rem), var(--content-width)); margin-inline: auto; }
.site-header { border-bottom: 1px solid var(--color-line); }
.site-header__inner { display: flex; flex-wrap: wrap; gap: 1rem; justify-content: space-between; align-items: center; padding-block: 1.5rem; }
.hero, .content-section { padding-block: var(--section-space); }
.hero__intro { max-width: 42rem; font-size: 1.15rem; margin-bottom: 2rem; }
.contact-section { padding-block: var(--section-space); background: var(--color-sand); }
.contact-layout { display: grid; gap: 2.5rem; }
.site-footer { border-top: 1px solid var(--color-line); }
.site-footer .container { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; padding-block: 1.5rem; font-size: .8rem; }
.entry { max-width: 48rem; margin-bottom: 3rem; }
@media (min-width: 48rem) {
  .contact-layout { grid-template-columns: 1fr 1.2fr; gap: 5rem; }
}

.section { padding-block: var(--section-space); }
.sand, .facts { background: var(--color-sand); }
.split, .hero--portrait, .facts-grid, .cards, .venture-grid { display: grid; gap: 2rem; }
.split > *, .hero--portrait > *, .cards > *, .venture-grid > * { min-width: 0; }
.hero--portrait { align-items: center; }
.hero--portrait h1 { font-size: clamp(2.7rem, 5.5vw, 5.6rem); }
.hero--portrait > div { max-width: 45rem; }
.portrait-frame { margin: 0; position: relative; background: var(--color-sand); }
.portrait { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: center top; }
.portrait-frame figcaption { padding: 1rem; font-size: .75rem; }
.facts { padding-block: 2rem; }
.facts-grid { text-align: center; }
.facts-grid > div { min-width: 0; }
.facts strong { display: block; font-family: var(--font-heading); font-size: clamp(1.5rem,2.6vw,2rem); line-height: 1.3; font-weight: 450; color: var(--color-ink); }
.facts p { max-width: 44ch; margin-inline: auto; font-size: .85rem; margin-bottom: 0; }
.dark { background: var(--color-ink); color: var(--color-paper); }
.dark h2, .dark a { color: inherit; }
.statement { max-width: 24ch; font-size: clamp(2.5rem,5vw,4.5rem); }
.prose { max-width: 48rem; }
.prose p:first-child { margin-top: 0; }
.prose p + p { margin-top: 1.3rem; }
.lead { font-size: clamp(1.2rem,2vw,1.6rem); }
.cta { max-width: 55rem; text-align: center; }
.cta h2 { font-size: clamp(2.5rem,5vw,4rem); }
.venture-detail { border-bottom: 1px solid var(--color-line); scroll-margin-top: 6rem; }
@media(min-width:36rem) { .venture-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media(min-width:48rem) { .split { grid-template-columns: 1fr 1.2fr; gap: 5rem; } .hero--portrait { grid-template-columns: 1.4fr 1fr; gap: 4rem; } .facts-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 3rem; } .two { grid-template-columns: repeat(2,minmax(0,1fr)); } .three { grid-template-columns: repeat(3,minmax(0,1fr)); } .venture-grid { grid-template-columns: repeat(3,minmax(0,1fr)); } }
@media(min-width:75rem) { .venture-grid { grid-template-columns: repeat(5,minmax(0,1fr)); gap: 1rem; } }
@media(min-width:90rem) { :root { --content-width: 85rem; } }
