.home-hero {
  padding: var(--pad-hero-y) var(--pad-hero-x) var(--s-16);
}

.home-kicker {
  font-weight: var(--weight-semibold);
  font-size: var(--fs-small);
  line-height: var(--lh-small);
  color: var(--color-teal-dark);
  margin-bottom: var(--s-6);
}

.home-brand {
  font-family: var(--font-display);
  font-weight: var(--weight-semibold);
  font-variation-settings: 'SHRP' 0, 'wght' 600;
  font-size: var(--fs-hero);
  line-height: var(--lh-hero);
  letter-spacing: clamp(-0.022em, -0.5vw, -0.015em);
  color: var(--color-iron);
  margin-bottom: var(--s-6);
}

.home-rule {
  width: 100%;
  height: 1px;
  background: rgba(18, 18, 18, 0.2);
  border: 0;
  margin: 0 0 var(--s-6);
}

.home-tagline {
  font-family: var(--font-display);
  font-weight: var(--weight-medium);
  font-variation-settings: 'SHRP' 0, 'wght' 500;
  font-size: var(--fs-page);
  line-height: var(--lh-thesis);
  letter-spacing: var(--ls-page);
  color: var(--color-iron);
  margin-bottom: var(--s-6);
  max-width: 22ch;
}

.home-lede {
  font-weight: var(--weight-regular);
  font-size: var(--fs-lede);
  line-height: var(--lh-lede);
  color: var(--color-iron);
  max-width: var(--measure-lede);
}

/* 01 · Terrain */

.home-section {
  padding: var(--pad-section-y) var(--pad-section-x);
  border-top: 1px solid var(--rule-subtle);
}

.home-section-inner {
  display: grid;
  grid-template-columns: 1fr 2.3fr;
  gap: var(--s-12);
  align-items: start;
}

.home-section-marker {
  font-weight: var(--weight-semibold);
  font-size: var(--fs-small);
  line-height: var(--lh-small);
  color: var(--color-teal-dark);
}

.home-section-body {
  max-width: var(--measure-body);
}

.home-section-heading {
  font-family: var(--font-display);
  font-weight: var(--weight-medium);
  font-variation-settings: 'SHRP' 0, 'wght' 500;
  font-size: var(--fs-page);
  line-height: var(--lh-thesis);
  letter-spacing: var(--ls-page);
  color: var(--color-iron);
  margin-bottom: var(--s-5);
}

.home-section-body p + p { margin-top: var(--s-4); }

/* Iron statement panel */

.home-statement {
  background: var(--color-iron);
  color: var(--color-vellum);
  padding: var(--s-16) var(--pad-section-x);
}

.home-statement-kicker {
  font-weight: var(--weight-semibold);
  font-size: var(--fs-small);
  line-height: var(--lh-small);
  color: var(--color-teal-iron);
  margin-bottom: var(--s-6);
}

.statement-text {
  font-family: var(--font-display);
  font-weight: var(--weight-medium);
  font-variation-settings: 'SHRP' 0, 'wght' 500;
  font-size: var(--fs-page);
  line-height: var(--lh-thesis);
  letter-spacing: var(--ls-page);
  color: var(--color-vellum);
  max-width: 24ch;
}

.statement-text em {
  font-style: normal;
  color: var(--color-amber);
}

/* Approach (three ways) */

.home-approach {
  padding: var(--pad-section-y) var(--pad-section-x);
}

.home-approach-kicker {
  font-weight: var(--weight-semibold);
  font-size: var(--fs-small);
  line-height: var(--lh-small);
  color: var(--color-teal-dark);
  margin-bottom: var(--s-6);
}

.home-approach-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--s-12);
  padding-top: var(--s-5);
  border-top: 1px solid var(--rule-subtle);
}

.home-approach-num {
  font-weight: var(--weight-medium);
  font-size: 32px;
  line-height: 1;
  color: var(--color-teal);
  margin-bottom: var(--s-5);
}

.home-approach-title {
  font-weight: var(--weight-medium);
  font-size: var(--fs-service);
  line-height: var(--lh-service);
  color: var(--color-iron);
  margin-bottom: var(--s-2);
}

.home-approach-body {
  font-weight: var(--weight-regular);
  font-size: var(--fs-body);
  line-height: var(--lh-body);
  color: var(--color-iron);
  opacity: 0.72;
  max-width: 36ch;
}

/* Featured engagement */

.home-featured {
  padding: var(--pad-section-y) var(--pad-section-x);
  border-top: 1px solid var(--rule-subtle);
}

.home-featured-kicker {
  font-weight: var(--weight-semibold);
  font-size: var(--fs-small);
  line-height: var(--lh-small);
  color: var(--color-teal-dark);
  margin-bottom: var(--s-12);
}

.featured-meta {
  font-weight: var(--weight-regular);
  font-size: var(--fs-small);
  line-height: var(--lh-small);
  color: var(--color-iron);
  opacity: 0.72;
  margin-bottom: var(--s-4);
  margin-left: 22%;
}

.featured-title {
  font-weight: var(--weight-medium);
  font-size: var(--fs-section);
  line-height: var(--lh-section);
  color: var(--color-iron);
  margin-bottom: var(--s-6);
  margin-left: 22%;
  max-width: 32ch;
}

.featured-body {
  font-weight: var(--weight-regular);
  font-size: var(--fs-body);
  line-height: var(--lh-body);
  color: var(--color-iron);
  max-width: var(--measure-body);
  margin-left: 22%;
  margin-bottom: var(--s-6);
}

.featured-link {
  font-weight: var(--weight-medium);
  font-size: var(--fs-small);
  line-height: var(--lh-small);
  color: var(--color-orange-deep);
  letter-spacing: 0;
  margin-left: 22%;
  transition: color var(--duration-fast) var(--ease-standard);
}

.featured-link:hover {
  color: var(--color-orange);
}

.featured-link:focus-visible {
  outline: 2px solid var(--color-teal-dark);
  outline-offset: 4px;
}

.featured-arrow {
  color: var(--color-orange-deep);
  margin-left: 4px;
}

/* Tabular numerals for inline meta */

.featured-meta {
  font-feature-settings: 'kern', 'liga', 'tnum';
}

/* Oldstyle figures on inline markers (kicker-class type, not chapter
   marks). 32px .principle-num and similar block numerals keep lining. */

.home-section-marker, .home-approach-kicker {
  font-feature-settings: 'kern', 'liga', 'onum';
}

/* Responsive */

@media (max-width: 960px) {
  .home-section-inner {
    grid-template-columns: 1fr;
    gap: var(--s-5);
  }
  .home-approach-grid {
    grid-template-columns: 1fr;
    gap: var(--s-8);
  }
  .featured-meta, .featured-title, .featured-body, .featured-link {
    margin-left: 0;
  }
}

@media (max-width: 720px) {
  .home-hero, .home-section, .home-approach, .home-featured, .home-statement {
    padding-left: var(--s-5);
    padding-right: var(--s-5);
  }
}
