/* Homepage — business-first landing */

.home-band {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.section.home-band,
.home-page .section {
  width: min(100%, var(--page-max));
  margin-inline: auto;
}

body[data-nav="home"] .section {
  width: min(100%, var(--page-max));
  margin-inline: auto;
}

.home-band--sand { background: var(--color-sand); }
.home-band--forest { background: var(--color-forest); }

#hero {
  padding: 72px var(--gutter) 56px;
  gap: 40px;
}

.home-hero {
  display: flex;
  flex-direction: column;
  gap: 22px;
  max-width: 920px;
}

.home-hero .display--xl {
  font-size: 64px;
  line-height: 1.02;
  letter-spacing: -1.2px;
  max-width: 920px;
}

.home-hero__note {
  font-size: 18px;
  line-height: 1.5;
  color: var(--color-accent);
  margin: 0;
  max-width: 720px;
}

.home-hero__ctas {
  display: flex;
  flex-wrap: wrap;
  gap: 18px 32px;
  align-items: center;
  margin-top: 8px;
}

.home-hero__media {
  width: 100%;
  max-width: 1088px;
  aspect-ratio: 1088 / 420;
}

.home-link {
  font-size: 16px;
  font-weight: 600;
  color: var(--color-accent);
  text-decoration: underline;
  text-underline-offset: 4px;
}

.home-link:hover { color: var(--color-ink); }

.home-link--on-dark {
  color: var(--color-on-dark-muted);
}

.home-link--on-dark:hover { color: var(--color-on-dark); }

#home-situations {
  padding: 88px var(--gutter);
  gap: 28px;
}

.home-situ-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px 40px;
  max-width: 980px;
}

.home-situ-grid p {
  margin: 0;
  font-size: 18px;
  line-height: 1.5;
  padding-top: 14px;
  border-top: 1px solid rgba(38, 53, 44, 0.18);
}

.home-pull {
  font-family: var(--font-serif);
  font-size: 32px;
  font-weight: 500;
  line-height: 1.25;
  letter-spacing: -0.4px;
  max-width: 820px;
  margin: 12px 0 0;
}

#home-focus {
  padding: 96px var(--gutter);
  gap: 28px;
}

.home-focus-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px 36px;
}

.home-focus-card h3 {
  font-family: var(--font-serif);
  font-size: 28px;
  font-weight: 500;
  margin: 0 0 10px;
  letter-spacing: -0.3px;
}

.home-focus-card p {
  margin: 0;
  font-size: 16px;
  line-height: 1.5;
}

#home-principle {
  padding: 96px var(--gutter);
  gap: 20px;
}

#home-principle .display {
  font-size: 48px;
  line-height: 1.08;
  max-width: 900px;
}

#home-who,
#home-method,
#home-closing {
  padding: 96px var(--gutter);
  gap: 22px;
}

#home-who .body,
#home-method .body,
#home-closing .body {
  max-width: 820px;
}

#home-paths {
  padding: 96px var(--gutter);
  gap: 28px;
}

.home-paths-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px;
}

.home-path {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 8px 0;
}

.home-path h3 {
  font-family: var(--font-serif);
  font-size: 28px;
  font-weight: 500;
  margin: 0;
  letter-spacing: -0.3px;
}

.home-path p {
  margin: 0;
  font-size: 16px;
  line-height: 1.5;
  flex: 1;
}

.home-path .home-link {
  align-self: flex-start;
  margin-top: 8px;
}

#home-human {
  padding: 96px var(--gutter);
  gap: 22px;
}

#home-human .display {
  font-size: 48px;
  max-width: 900px;
}

#home-human .body {
  max-width: 820px;
}

@media (max-width: 1199px) {
  .home-hero .display--xl { font-size: 48px; }
  .home-focus-grid,
  .home-paths-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 809px) {
  #hero { padding: 48px var(--gutter) 40px; }
  .home-hero .display--xl { font-size: 36px; }
  .home-situ-grid,
  .home-focus-grid,
  .home-paths-grid { grid-template-columns: 1fr; }
  .home-pull { font-size: 26px; }
  #home-principle .display,
  #home-human .display { font-size: 34px; }
  #home-situations,
  #home-focus,
  #home-principle,
  #home-who,
  #home-paths,
  #home-method,
  #home-human,
  #home-closing { padding: 64px var(--gutter); }
}
