/* ---------------------------------------------------------------
   Page sections — hero, firm, ownership quants, operating model,
   contact.
   --------------------------------------------------------------- */

/* Section heads ------------------------------------------------- */

.split-head .label { margin-bottom: 14px; }

.split-head h2 { max-width: 20ch; }

/* Hero ---------------------------------------------------------- */

.hero-label { margin-bottom: clamp(20px, 3vh, 30px); }

.hero h1 {
  max-width: 17ch;
  line-height: 1.02;
  letter-spacing: -0.02em;
}

/* The second line is the quieter half of the same statement. */
.hero h1 .line-2 {
  display: block;
  color: var(--muted);
}

.hero-lede { margin-top: clamp(24px, 3.4vh, 34px); }

.hero-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 18px 26px;
  margin-top: clamp(32px, 4.5vh, 46px);
}

/* The mark holds the right column, sized off the type, not the viewport. */
.hero-mark {
  width: clamp(84px, 15vw, 196px);
  aspect-ratio: 919 / 931;
  color: var(--ink);
  justify-self: start;
}

@media (min-width: 860px) {
  .hero-mark { justify-self: end; }
}

/* Stacked, the mark reads as a crest above the statement rather than
   as a leftover block beneath it. */
@media (max-width: 859px) {
  .hero-mark { order: -1; width: clamp(72px, 14vw, 104px); }
}

/* Firm ---------------------------------------------------------- */

.firm-meta { margin-top: clamp(28px, 4vh, 40px); }
.firm-meta .label { margin-bottom: 12px; }

/* Ownership quants --------------------------------------------- */

.quants-grid { margin-top: clamp(30px, 4vh, 44px); }

.quants-close {
  margin-top: clamp(28px, 4vh, 40px);
  padding-top: clamp(22px, 3vh, 30px);
  border-top: 1px solid var(--rule);
}

/* Operating model ---------------------------------------------- */
/* Deliberately the sparsest block on the page. */

.model-statement {
  max-width: 24ch;
  font-family: var(--serif);
  font-size: clamp(22px, 2.6vw, 31px);
  line-height: 1.22;
  letter-spacing: -0.012em;
  color: var(--ink);
}

.model-list { margin-top: clamp(30px, 4vh, 42px); }
.model-list li { border-top-color: var(--rule); }

.model-close { margin-top: clamp(26px, 3.4vh, 36px); }

/* Contact and identity ---------------------------------------- */

.contact-address {
  display: inline-block;
  margin-top: 14px;
  font-family: var(--serif);
  font-size: clamp(24px, 3.4vw, 40px);
  line-height: 1.1;
  letter-spacing: -0.014em;
  color: var(--ink);
  border-bottom: 1px solid var(--rule);
  padding-bottom: 4px;
  transition: border-color 0.3s var(--ease);
}
.contact-address:hover { border-bottom-color: var(--accent); }

.identity { display: grid; gap: 10px; }

.identity-row {
  display: flex;
  align-items: baseline;
  gap: 14px;
  font-size: 15px;
  color: var(--ink-soft);
}

.identity-glyph {
  font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', Helvetica,
    Arial, sans-serif;
  font-size: 19px;
  line-height: 1;
  color: var(--ink);
}

.disclaimer {
  max-width: 66ch;
  font-size: 13px;
  line-height: 1.65;
  color: var(--muted);
}

.foot-meta {
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--faint);
}
