/* Supporting pages: Esotech's existing type, color, and square geometry. */
.company-preview {
  --company-section-space: clamp(4rem, 7vw, 7rem);
  --company-title-size: clamp(2.65rem, 4.5vw, 4.8rem);
  --company-heading-size: clamp(2rem, 3.3vw, 3.4rem);
  --company-copy-width: 62ch;
}

.company-preview main :where(h1, h2, h3) {
  min-width: 0;
  overflow-wrap: anywhere;
  text-wrap: balance;
}

.company-preview main :where(h1, h2, h3, em) { font-style: normal; }
.company-preview main section[id], .company-preview main header[id] { scroll-margin-top: 7rem; }
.company-preview .text-action { min-height: 2.75rem; }
.company-preview .chapter { padding-block: var(--company-section-space); }
.company-preview main :where(a, button):focus-visible { outline: 2px solid var(--focus); outline-offset: 5px; }
.company-preview main p { text-wrap: pretty; }

/* Origin: the market, the products, then the people. */
.origin-hero { padding-block: clamp(9rem, 13vw, 12rem) var(--company-section-space); border-bottom: 1px solid var(--rule); }
.origin-hero__grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 0.75fr); align-items: center; gap: clamp(3rem, 7vw, 8rem); }
.origin-hero h1 { max-width: 18ch; margin: 0; font: 650 var(--company-title-size)/1.06 var(--font-heading); letter-spacing: -0.05em; }
.origin-hero h1 span { color: var(--brand-blue-bright); }
.origin-hero__copy > p:not(.hero__signal) { max-width: 52ch; margin-block: var(--space-6); color: var(--ink-soft); font-size: 1.2rem; line-height: 1.65; }
.origin-family { border: 1px solid var(--rule); padding: var(--space-6); background: var(--surface-raised); }
.origin-family__parent { display: flex; gap: var(--space-4); align-items: center; padding-bottom: var(--space-6); border-bottom: 1px solid var(--rule); }
.origin-family__parent img { width: 2.75rem; height: 2.75rem; }
.origin-family__parent strong { display: block; font: 600 1.75rem/1.2 var(--font-heading); letter-spacing: -.03em; }
.origin-family :where(span, a) { font-size: .8rem; }
.origin-family__parent span, .origin-family__product > span { display: block; margin-bottom: var(--space-2); color: var(--ink-muted); font-family: var(--font-data); }
.origin-family__product { padding: var(--space-5) var(--space-4) 0; }
.origin-family__product > strong { color: var(--ink-strong); font: 600 2.25rem/1.1 var(--font-heading); letter-spacing: -.035em; }
.origin-family__product p { max-width: 30ch; margin: var(--space-3) 0 0; color: var(--ink-soft); line-height: 1.5; }
.origin-family__connection { display: flex; align-items: center; justify-content: space-between; margin: var(--space-5) var(--space-4); color: var(--brand-blue-bright); border-left: 1px solid var(--brand-blue); padding-left: var(--space-4); }
.origin-family__connection span { color: var(--ink-muted); font-size: .75rem; }
.origin-family__product--next { border: 1px solid var(--brand-blue); padding: var(--space-5) var(--space-4); background: var(--surface-active); }
.origin-family__product--next > strong { color: var(--brand-blue-bright); }
.origin-family__product a { display: flex; justify-content: space-between; align-items: center; min-height: 2.75rem; margin-top: var(--space-4); color: var(--ink-strong); text-decoration: none; border-top: 1px solid var(--rule); }
.origin-family__product a:hover { color: var(--brand-blue-bright); }
.origin-section-intro { display: grid; grid-template-columns: minmax(0, .75fr) minmax(0, 1.25fr); gap: var(--space-7); margin-bottom: var(--space-8); }
.origin-section-intro h2, .origin-people h2, .origin-close h2 { margin: 0; font: 600 var(--company-heading-size)/1.08 var(--font-heading); letter-spacing: -.045em; }
.origin-story__rows article { display: grid; grid-template-columns: minmax(0, .18fr) minmax(0, .8fr) minmax(0, 1.02fr); align-items: start; gap: var(--space-7); border-top: 1px solid var(--rule); padding-block: var(--space-7); }
.origin-story__rows article:last-child { padding-bottom: 0; }
.origin-story__number { color: var(--brand-blue-bright); font: 500 .8rem/1.5 var(--font-data); padding-top: .4rem; }
.origin-story__rows h3 { margin: 0; font: 550 clamp(1.5rem, 2.2vw, 2rem)/1.2 var(--font-heading); letter-spacing: -.035em; }
.origin-story__rows article p { max-width: var(--company-copy-width); margin: 0 0 var(--space-4); color: var(--ink-soft); font-size: 1.08rem; line-height: 1.7; }
.origin-people { background: var(--surface-raised); border-block: 1px solid var(--rule); }
.origin-people__grid, .origin-close__inner { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(3rem, 8vw, 8rem); align-items: start; }
.origin-people__copy p { margin: 0 0 var(--space-5); color: var(--ink-soft); font-size: 1.2rem; line-height: 1.65; }
.origin-preview .founder-story { background: var(--surface-deep); }
.origin-preview .founder-story__inner { grid-template-columns: minmax(0, 1.4fr) minmax(0, .6fr); gap: clamp(3rem, 9vw, 9rem); align-items: center; }
.origin-preview .founder-story__copy > p { color: var(--ink-muted); font: 500 .75rem/1.6 var(--font-data); }
.origin-preview .founder-story__copy h2 { max-width: 26ch; font-size: clamp(2rem, 3.4vw, 3.3rem); line-height: 1.17; letter-spacing: -.035em; }
.origin-founder { margin: 0; max-width: 24rem; }
.origin-founder img { display: block; width: 100%; height: 22rem; object-fit: cover; object-position: 50% 34%; border: 1px solid var(--rule); }
.origin-founder figcaption { margin-top: var(--space-4); color: var(--ink-strong); font-size: .9rem; line-height: 1.6; }
.origin-founder figcaption span { color: var(--ink-muted); font-size: .8rem; }
.origin-preview .mark-story { padding-block: var(--space-7); background: var(--surface-raised); }
.origin-preview .mark-story__inner { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-8); }
.origin-preview .mark-story__copy h2 { max-width: 20ch; font-size: 2rem; line-height: 1.15; }
.origin-preview .mark-story__visual { max-width: 29rem; justify-self: end; }
.origin-preview .mark-story__copy > p { max-width: 52ch; }
.origin-close { border-top: 1px solid var(--rule); }
.origin-close__inner { align-items: center; }
.origin-close__inner > div > p:not(.hero__signal) { color: var(--ink-soft); max-width: 44ch; font-size: 1.15rem; line-height: 1.65; }
.origin-close .hero__actions { flex-wrap: wrap; gap: var(--space-5); }

/* A readable founder's letter with a portrait in its own space. */
.founder-preview .founder-hero { display: block; min-height: 0; background: var(--surface-deep); overflow: clip; }
.founder-preview .founder-hero::before, .founder-preview .founder-hero::after { display: none; }
.founder-preview .founder-hero__grid { display: grid; min-height: 0; padding-block: clamp(8rem, 12vw, 11rem) var(--space-8); grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); align-items: center; gap: clamp(3rem, 7vw, 7rem); }
.founder-preview .founder-hero h1 { max-width: 15ch; font-size: var(--company-title-size); font-weight: 600; line-height: 1.07; letter-spacing: -.05em; }
.founder-preview .founder-hero h1 span { margin-top: .15em; }
.founder-preview .founder-hero__portrait { position: relative; inset: auto; z-index: auto; width: 100%; height: auto; margin: 0; border: 1px solid var(--rule); }
.founder-preview .founder-portrait__image { position: static; width: 100%; height: clamp(25rem, 39vw, 37rem); object-fit: cover; object-position: 50% 29%; opacity: 1; transform: none; filter: none; }
.founder-preview .founder-hero__portrait figcaption { padding: var(--space-3) var(--space-4); color: var(--ink-muted); background: var(--surface-raised); font: 500 .75rem/1.5 var(--font-data); }
.founder-hero__byline { display: grid; gap: var(--space-2); margin-top: var(--space-6); color: var(--ink-strong); }
.founder-hero__byline span { color: var(--ink-muted); font-size: .88rem; }
.founder-chapter-nav { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-4) var(--space-6); padding-block: var(--space-5); }
.founder-chapter-nav > span { color: var(--ink-muted); font: 500 .75rem/1.5 var(--font-data); margin-right: auto; }
.founder-chapter-nav a { display: inline-flex; align-items: center; min-height: 2.75rem; color: var(--ink-soft); font-size: .88rem; text-decoration: none; white-space: nowrap; }
.founder-chapter-nav a:hover { color: var(--brand-blue-bright); }
.founder-preview .founder-chapter { padding-block: var(--company-section-space); }
.founder-preview .founder-chapter__grid { grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr); gap: clamp(3rem, 8vw, 8rem); }
.founder-preview .founder-chapter__rail h2 { max-width: 16ch; font-size: clamp(1.9rem, 3vw, 3rem); line-height: 1.12; letter-spacing: -.035em; }
.founder-preview .founder-chapter__body { max-width: var(--company-copy-width); font-size: 1.13rem; line-height: 1.78; }
.founder-preview .founder-chapter__body > p { margin-bottom: var(--space-5); }
.founder-preview .founder-growth strong { font-size: clamp(2.8rem, 5.5vw, 5rem); }
.founder-preview .founder-declaration, .founder-preview .founder-refusal { font-size: clamp(1.4rem, 2.3vw, 2rem); line-height: 1.4; }
.founder-preview .founder-purpose__jobs, .founder-preview .founder-chapter__close { font-size: 1.2rem; line-height: 1.7; }
.founder-preview .founder-still { font-size: clamp(2.5rem, 4vw, 4rem); }

/* Team: access first; retain the full team below. */
.team-preview .team-hero { min-height: 0; padding-block: clamp(9rem, 13vw, 12rem) var(--company-section-space); background: var(--surface-deep); }
.team-preview .team-hero::before, .team-preview .team-hero::after { display: none; }
.team-preview .team-hero__grid { grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: clamp(3rem, 8vw, 8rem); align-items: center; }
.team-preview .team-hero h1 { max-width: 17ch; font-size: var(--company-title-size); line-height: 1.06; letter-spacing: -.05em; font-weight: 600; }
.team-preview .team-hero__copy > p:not(.team-kicker) { max-width: 49ch; }
.team-quick-access { border-top: 1px solid var(--brand-blue); }
.team-quick-access > p { margin: var(--space-5) 0; color: var(--ink-muted); font: 500 .75rem/1.5 var(--font-data); }
.team-quick-access a { display: grid; gap: var(--space-2); border-top: 1px solid var(--rule); padding-block: var(--space-5); color: var(--ink-strong); text-decoration: none; }
.team-quick-access a strong { font-weight: 500; font-size: 1.1rem; }
.team-quick-access a > span { display: flex; justify-content: space-between; gap: var(--space-3); color: var(--ink-muted); font-size: .86rem; }
.team-quick-access a b { color: var(--brand-blue-bright); font-size: 1rem; }
.team-quick-access a:hover strong { color: var(--brand-blue-bright); }
.team-preview .team-section-head { grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr); gap: var(--space-7); margin-bottom: var(--space-7); }
.team-preview .team-section-head h2 { max-width: 24ch; font-size: var(--company-heading-size); line-height: 1.1; }
.team-preview .contact-person { grid-template-columns: minmax(0, .7fr) minmax(0, 1fr) minmax(0, .65fr); gap: var(--space-3) var(--space-7); padding-block: var(--space-7); }
.team-preview .contact-person > .roster-index { grid-column: 1; }
.team-preview .contact-person__identity { grid-column: 1; grid-row: 2; }
.team-preview .contact-person__story { grid-column: 2; grid-row: 1 / 3; }
.team-preview .contact-person__links { display: grid; grid-column: 3; grid-row: 1 / 3; justify-self: stretch; }
.team-preview .contact-person__identity h3 { font-size: clamp(1.65rem, 2.2vw, 2.25rem); line-height: 1.12; }
.team-preview .contact-person__identity p { color: var(--ink-soft); }
.team-preview .contact-person__links a:first-child { color: var(--brand-blue-bright); }
.team-preview .team-leadership { background: var(--surface-deep); }
.team-preview .founder-roster-row { grid-template-columns: minmax(0, .5fr) minmax(0, 1fr) minmax(0, 1.3fr); gap: var(--space-4) var(--space-6); }
.team-preview .founder-roster-row > .text-action { grid-column: 2 / -1; justify-self: start; }
.team-preview .leadership-ledger article { grid-template-columns: minmax(0, .5fr) minmax(0, 1fr) minmax(0, 1.3fr); gap: var(--space-6); padding-block: var(--space-6); }
.team-preview .founder-roster-row > p, .team-preview .leadership-ledger article > p, .team-preview .accountability-ledger article > p, .team-preview .team-member > p { grid-column: auto; }
.team-preview .team-department { grid-template-columns: minmax(0, .6fr) minmax(0, 1.4fr); gap: clamp(3rem, 6vw, 6rem); }
.team-preview .team-department + .team-department { margin-top: var(--space-8); }
.team-preview .team-department__head h3 { max-width: 17ch; font-size: clamp(1.75rem, 2.5vw, 2.5rem); line-height: 1.12; margin-block: var(--space-4) var(--space-6); }
.team-preview .team-member { grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: var(--space-5); }
.team-preview .team-member h4 { font-size: clamp(1.2rem, 1.8vw, 1.65rem); line-height: 1.2; }
.team-preview .team-member > div > p { font-family: var(--font-body); font-size: .85rem; text-transform: none; letter-spacing: 0; }
.team-preview .accountability-ledger article { grid-template-columns: minmax(0, .5fr) minmax(0, 1fr) minmax(0, 1.3fr); gap: var(--space-6); }
.team-preview .accountability-ledger h3 { font-size: clamp(1.4rem, 2vw, 2rem); }
.team-preview .walkthrough__inner h2 { font-size: var(--company-heading-size); }

@media (max-width: 60rem) {
  .origin-hero__grid, .team-preview .team-hero__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-7); }
  .origin-hero h1, .team-preview .team-hero h1 { max-width: 20ch; }
  .origin-family { max-width: 36rem; width: 100%; }
  .origin-section-intro, .team-preview .team-section-head { grid-template-columns: minmax(0, 1fr); gap: var(--space-4); }
  .origin-story__rows article { grid-template-columns: 2rem minmax(0, .8fr) minmax(0, 1.2fr); gap: var(--space-5); }
  .founder-preview .founder-hero__grid { gap: var(--space-6); }
  .founder-preview .founder-hero h1 { font-size: clamp(2.5rem, 5vw, 4rem); }
  .founder-preview .founder-chapter__grid { gap: var(--space-7); grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr); }
  .team-preview .contact-person { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: var(--space-4) var(--space-6); }
  .team-preview .contact-person__links { grid-column: 2; grid-row: 3; }
  .team-preview .team-department { grid-template-columns: minmax(0, 1fr); gap: var(--space-6); }
  .team-preview .team-department__head { position: static; }
}

@media (max-width: 42rem) {
  .company-preview { --company-title-size: clamp(2.25rem, 9vw, 3.5rem); --company-heading-size: clamp(1.85rem, 7vw, 2.65rem); --company-section-space: var(--space-8); }
  .origin-hero, .team-preview .team-hero { padding-top: 8.5rem; }
  .origin-hero__copy > p:not(.hero__signal) { font-size: 1.08rem; }
  .origin-family { padding: var(--space-5); }
  .origin-story__rows article { grid-template-columns: 1.5rem minmax(0, 1fr); gap: var(--space-4); }
  .origin-story__rows article > div { grid-column: 2; }
  .origin-story__rows h3 br { display: none; }
  .origin-people__grid, .origin-close__inner, .origin-preview .founder-story__inner, .origin-preview .mark-story__inner { grid-template-columns: minmax(0, 1fr); gap: var(--space-6); }
  .origin-preview .founder-story__copy h2 { font-size: 2rem; }
  .origin-founder { width: 100%; max-width: 24rem; }
  .origin-founder img { height: 21rem; }
  .origin-preview .mark-story__visual { width: 100%; max-width: 24rem; justify-self: start; }
  .origin-close .hero__actions { align-items: flex-start; }
  .founder-preview .founder-hero__grid { grid-template-columns: minmax(0, 1fr); padding-top: 8.5rem; gap: var(--space-7); }
  .founder-preview .founder-hero h1 { max-width: 18ch; font-size: var(--company-title-size); }
  .founder-preview .founder-portrait__image { height: 23rem; object-position: 50% 28%; }
  .founder-preview .founder-hero__portrait { max-width: 28rem; }
  .founder-chapter-nav { gap: var(--space-2) var(--space-5); }
  .founder-chapter-nav > span { flex-basis: 100%; }
  .founder-preview .founder-chapter__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-6); }
  .founder-preview .founder-chapter__rail { position: static; }
  .founder-preview .founder-chapter__rail h2 { max-width: 23ch; font-size: var(--company-heading-size); }
  .founder-preview .founder-chapter__body { font-size: 1.04rem; }
  .founder-preview .founder-growth strong { font-size: clamp(2.25rem, 10vw, 3rem); }
  .founder-preview .founder-signature { align-items: flex-start; gap: var(--space-5); }
  .team-preview .contact-person { grid-template-columns: minmax(0, 1fr); gap: var(--space-4); }
  .team-preview .contact-person > .roster-index, .team-preview .contact-person__identity, .team-preview .contact-person__story, .team-preview .contact-person__links { grid-column: auto; grid-row: auto; }
  .team-preview .contact-person__links { margin-top: var(--space-2); }
  .team-preview .founder-roster-row, .team-preview .leadership-ledger article, .team-preview .accountability-ledger article { grid-template-columns: minmax(0, 1fr); gap: var(--space-4); }
  .team-preview .founder-roster-row > .text-action { grid-column: auto; }
  .team-preview .team-member { grid-template-columns: minmax(0, 1fr); gap: var(--space-3); padding-block: var(--space-5); }
  .team-preview .team-subgroup-title { flex-wrap: wrap; }
}

@media (max-width: 48rem) {
  .founder-preview .founder-hero__grid { display: grid; grid-template-columns: minmax(0, 1fr); align-items: start; gap: var(--space-7); }
  .founder-preview .founder-hero__copy { grid-column: 1; grid-row: 1; width: 100%; }
  .founder-preview .founder-hero h1 { width: 100%; max-width: 24ch; font-size: clamp(2.25rem, 7vw, 3.5rem); line-height: 1.08; }
  .founder-preview .founder-hero__portrait { grid-column: 1; grid-row: 2; width: 100%; max-width: 28rem; }
  .founder-preview .founder-portrait__image { height: 23rem; object-position: 50% 28%; }
}
