/* Quiet typography. Uses the site's existing, licensed, self-hosted Open Sans.
   Keep this sheet last so page-specific display styles share one calm scale. */
:root {
  --sans: 'Gulfstream Sans', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --display: var(--sans);
  /* Legacy page modules use --serif for their display face. */
  --serif: var(--display);
  --body-size: 18px;
  --heading-1: clamp(38px, 4.1vw, 66px);
  --heading-2: clamp(30px, 3.05vw, 48px);
  --heading-3: clamp(23px, 2.1vw, 29px);
}
body { font-family: var(--sans); font-size: var(--body-size); line-height: 1.75; }
h1, h2, h3 { font-family: var(--display); font-weight: 400; text-wrap: balance; }
h1, h2 { letter-spacing: -.025em; line-height: 1.2; }
h3 { letter-spacing: -.015em; line-height: 1.35; }
h1 em, h2 em, h3 em { font-style: normal; font-weight: inherit; }
p { line-height: 1.75; }

/* Navigation stays compact enough for all ten primary destinations. */
.header nav, body:has(.education-page) .header nav, .ventures-body > .header nav {
  font-family: var(--sans); font-size: 13px; font-weight: 400; letter-spacing: 0;
}
.button, .text-link, .card-link, .team-nav a { letter-spacing: 0; }
.eyebrow, .section-label, .page-hero .eyebrow, .hero .eyebrow,
.education-page .eyebrow, .society-page .eyebrow, .land-page .eyebrow,
.illustration-pages .eyebrow, .v-kicker, .section-kicker { letter-spacing: .1em; }

/* An open, quieter hero retains the exact Find the Flow wording. */
.hero h1 { font-size: clamp(54px, 6.1vw, 94px); line-height: 1.08; letter-spacing: -.035em; }
.hero-lead { font-family: var(--sans); font-style: normal; font-size: clamp(21px, 1.65vw, 25px); line-height: 1.5; }
.hero-description { font-size: var(--body-size); line-height: 1.75; }
.page-hero h1, .land-hero h1, .education-hero h1, .society-hero h1,
.v-hero h1, .intel-hero h1, .intel-preview-article h1,
.mobile-art-story > h1, .education-course-page-title {
  font-family: var(--display); font-size: var(--heading-1); font-weight: 400;
  line-height: 1.2; letter-spacing: -.025em;
}
.page-hero-copy > p:last-child, .land-hero-copy > p:not(.eyebrow),
.education-hero-copy > p:not(.eyebrow), .society-hero-copy > p:not(.eyebrow),
.v-hero-copy > p, .wealth-service-hero .service-intro {
  font-size: var(--body-size); line-height: 1.75;
}

/* Section headings and prose use one rhythm across every business page. */
h2, .intro h2, .section h2, .feature-copy h2, .landscape-band h2,
.contact h2, .contact-details h2, .team h2, .team-group h2,
.land-page h2, .land-laguna h2, .society-page h2, .society-frontier h2,
.society-quiet h2, .society-principles h2, .society-closing h2,
.education-page h2, .education-intro .education-two-col h2, .education-inquiry-grid h2,
.v-page h2, .v-thesis h2, .v-closing h2, .editorial-copy h2,
.math-heading h2, .intel-focus h2, .intel-reading h2, .intel-more h2,
.intel-posts h2, .intel-social h2, .mobile-art-story > h2 {
  font-family: var(--display); font-size: var(--heading-2); font-weight: 400;
  line-height: 1.23; letter-spacing: -.025em;
}
.article-body h2, .inquiry-form h2, .office-panel h2,
.intel-preview-disclosure h2, .mobile-concept h2 {
  font-size: clamp(27px, 2.5vw, 36px); line-height: 1.3;
}
.education-closing h2, .v-question h2 {
  font-size: clamp(42px, 5.2vw, 74px); line-height: 1.15; letter-spacing: -.03em;
}
.v-notes h2 { font-size: 19px; line-height: 1.4; letter-spacing: 0; }

.person-tile h3, .team-group .person-tile h3, .home-people .person-tile h3,
.editorial-card h3, .edge-grid h3, .visual-intro h3, .strategy-note h3,
.process-steps h3, .selection-pathway h3, .diligence-list h3, .video-copy h3,
.land-page h3, .land-florida-stories h3, .land-community-notes h3, .land-card-copy h3,
.society-page h3, .society-fellows h3, .society-faith-cards h3, .society-youth-grid h3,
.society-community-feature h3, .society-opportunity h3, .society-health h3,
.education-themes h3, .education-course h3, .education-reading h3, .education-draft h3,
.v-frontier h3, .v-company-list h3, .v-holdings h3, .v-principles h3,
.three-observations h3, .source-perspective h3, .comparison-half h3,
.intel-pillars h3, .intel-context h3, .intel-post-card h3, .intel-social-card h3,
.qualitative-risk h3, .risk-comparison h3, .dalio-video h3 {
  font-family: var(--display); font-size: var(--heading-3); font-weight: 400;
  line-height: 1.35; letter-spacing: -.015em;
}
.bio-dialog h2 { font-family: var(--display); font-size: clamp(29px, 3vw, 40px); line-height: 1.25; letter-spacing: -.02em; }

.intro-copy p:not(.large-copy), .feature-copy > p:not(.eyebrow),
.strategy-heading > p, .strategy-note > p, .edge-heading > p, .edge-grid p,
.audience-grid p, .process-steps p, .selection-pathway p, .selection-pathway li,
.founder-layout > div:last-child > p, .section-heading > p, .person-tile > p,
.team-group .person-tile details p, .bio-prose p, .article-body > p, .article-body li,
.diligence-list p, .editorial-card > p, .video-copy p, .contact-details > p,
.contact-details address, .contact-right > p, .office-description, .office-details address,
.editorial-copy > p:not(.eyebrow):not(.figure-note), .three-observations p,
.source-perspective > div > p, .intel-hero-copy > p:not(.eyebrow):not(.intel-lead),
.intel-pillars p, .intel-reading-grid p, .intel-context p:not(.eyebrow),
.intel-post-card p:not(.eyebrow), .intel-social-copy > p, .intel-preview-context,
.land-intro-copy p:not(.land-deck), .land-section-head > p,
.land-section-head > div > p:not(.eyebrow), .land-wide-head > div > p:not(.eyebrow),
.land-card-copy > p:not(.eyebrow), .land-florida-stories p:not(.eyebrow),
.land-laguna p:not(.eyebrow), .land-bridgeland p:not(.eyebrow), .land-arizona p:not(.eyebrow),
.land-community-notes p:not(.eyebrow), .land-philosophy p:not(.eyebrow),
.land-opportunities p:not(.eyebrow):not(.land-deck), .land-focus li,
.society-prose > p, .society-leadership .society-prose p,
.society-faith-intro > div > p, .society-faith-cards p, .society-youth-grid p,
.society-frontier .society-prose > p, .society-community .society-prose p,
.society-community-feature > p:not(.eyebrow), .society-opportunity .society-prose p,
.society-health p:not(.eyebrow), .society-quiet p:not(.eyebrow),
.society-closing-copy > p:not(.eyebrow), .society-fellows p,
.education-two-col > div > p:not([class]), .education-catalog-heading > p,
.education-closing > .education-wrap > div > p:not([class]),
.education-course-main > p:not(.education-status),
.education-reading p, .education-inquiry-grid > div > p:not(.education-note):not(.eyebrow),
.v-page, .v-prose > p:not([class]), .v-section-heading > p,
.v-section-heading > div:last-child > p:not(.v-kicker), .v-frontier > p:not(.v-small),
.v-thesis-bottom > p, .v-company-list p, .v-holdings p:not(.v-kicker):not(.v-small),
.v-criteria li, .v-principles p, .v-question-copy p,
.v-closing-copy > p:not(.v-kicker):not(.v-inquiry-note):not(.v-closing-signature) {
  font-size: var(--body-size); line-height: 1.75;
}

/* Decks and quotations remain distinct without ornamental display italics. */
.intro-copy .large-copy, .society-prose .society-deck,
.education-page .education-lead, .v-prose .v-lead, .intel-lead,
.math-heading > p:last-child, .mobile-art-story .mobile-deck {
  font-family: var(--display); font-size: clamp(21px, 1.9vw, 26px);
  font-weight: 400; line-height: 1.55; letter-spacing: -.015em;
}
.hero-lead, .footer-top p, .intel-masthead > p:last-child,
.society-frontier .society-motto, .society-quiet .society-quiet-line,
.v-research-question > p, .v-prose .v-gsv-question { font-style: normal; }
.society-quote blockquote { font-family: var(--display); font-style: normal; font-size: clamp(29px, 3.3vw, 46px); line-height: 1.45; letter-spacing: -.02em; }
.footer-top p { font-size: 18px; line-height: 1.6; }
.intel-wordmark { font-size: clamp(40px, 4.4vw, 66px); line-height: 1.2; letter-spacing: -.03em; }

/* Input text stays legible and avoids automatic zoom on narrow touch screens. */
.form-field input, .form-field select, .form-field textarea,
.education-form input, .education-form textarea, .education-draft textarea,
.copy-draft textarea { font-family: var(--sans); font-size: 17px; line-height: 1.65; }
.education-form label, .form-field label { font-size: 14px; line-height: 1.55; }
.education-form label span { font-size: 12px; }
.education-form .button, .education-draft .button, .education-copy { font-size: 14px; }

@media (max-width: 1300px) {
  .header nav a { font-size: 17px; line-height: 1.55; }
}
@media (max-width: 700px) {
  :root {
    --body-size: 17px;
    --heading-1: clamp(34px, 8.8vw, 47px);
    --heading-2: clamp(29px, 7.7vw, 36px);
    --heading-3: 24px;
  }
  .hero h1 { font-size: clamp(49px, 14vw, 72px); line-height: 1.12; }
  .hero-copy { padding-bottom: 122px; }
  .hero-lead { font-size: 21px; }
  .page-hero-copy > p:last-child { max-width: 100%; }
  .education-closing h2, .v-question h2 { font-size: clamp(39px, 11vw, 58px); }
  .hero-description { max-width: 36ch; }
}
