/* Eastward typography safety layer.
   Keeps the intentionally tight brand typography while protecting glyphs from
   clipping at section edges, inside clipped/hidden containers and on small screens. */

/* Text containers must be allowed to shrink inside grids without cropping text. */
.hero-copy,
.split-heading > *,
.section-title-row > *,
.statement-grid > *,
.contact-grid > *,
.work-copy,
.why-eastward > *,
.faq-grid > *,
.hero-inner,
.manifesto-grid > *,
.section-head > *,
.belief-grid > *,
.difference-grid > *,
.local-grid > * {
  min-width: 0;
}

/* Small tracked text needs a real line box when it wraps. */
.eyebrow,
.section-kicker,
.kicker,
.capability-kicker,
.work-meta,
.work-browser-top,
.work-preview-brand,
.price-suffix,
.popular,
.contact label,
.trust-row {
  line-height: 1.45;
}

/* Brand lockups: preserve tracking but leave room for the final glyph/spacing. */
.logo strong,
.brand b {
  line-height: 1.15;
}

.logo small,
.brand small {
  line-height: 1.25;
  padding-right: .5em;
}

/* Main-site display typography. The extra inline/bottom breathing room protects
   Manrope and italic Playfair overhangs while remaining visually invisible. */
.hero h1 {
  line-height: 1.01 !important;
  letter-spacing: -.052em !important;
  overflow: visible;
  padding: .055em .055em .09em;
  margin-left: -.055em;
  margin-right: -.055em;
}

.hero h1 em {
  display: inline-block;
  padding-right: .075em;
  margin-right: -.035em;
  overflow: visible;
}

.split-heading h2,
.section-title-row h2,
.about-copy h2,
.contact h2,
.statement h2,
.why-eastward h2,
.faq-grid h2 {
  line-height: 1.075 !important;
  letter-spacing: -.042em !important;
  overflow: visible;
  padding: .035em .035em .07em;
  margin-left: -.035em;
  margin-right: -.035em;
}

.service-card h3,
.solution-card h3,
.work-copy h3,
.capability-steps h4,
.standards h3,
.step h3,
.price-card h3 {
  line-height: 1.16;
  letter-spacing: -.025em;
  overflow: visible;
}

.capability-sticky h3 {
  line-height: 1.035 !important;
  letter-spacing: -.048em !important;
  overflow: visible;
  padding: .035em .035em .065em;
  margin-left: -.035em;
  margin-right: -.035em;
}

.cinematic-break h2 {
  line-height: .94 !important;
  letter-spacing: -.06em !important;
  overflow: visible;
  padding: .045em .045em .08em;
  margin-left: -.045em;
  margin-right: -.045em;
}

.east-lines {
  line-height: .84 !important;
  letter-spacing: -.055em !important;
  padding: .04em .06em .08em .04em;
  margin-left: -.04em;
  overflow: visible;
}

/* Standalone About page. */
.about-hero h1 {
  line-height: .97 !important;
  letter-spacing: -.052em !important;
  overflow: visible;
  padding: .055em .055em .095em;
  margin-left: -.055em;
  margin-right: -.055em;
}

.about-hero h1 em,
.belief h2 em,
.difference h2 em {
  display: inline-block;
  padding-right: .075em;
  margin-right: -.035em;
  overflow: visible;
}

.manifesto h2,
.section-head h2,
.difference h2,
.local h2 {
  line-height: 1.075 !important;
  letter-spacing: -.043em !important;
  overflow: visible;
  padding: .035em .035em .07em;
  margin-left: -.035em;
  margin-right: -.035em;
}

.belief h2 {
  line-height: 1.015 !important;
  letter-spacing: -.052em !important;
  overflow: visible;
  padding: .04em .04em .075em;
  margin-left: -.04em;
  margin-right: -.04em;
}

.capabilities h3,
.principles h3 {
  line-height: 1.16;
  letter-spacing: -.025em;
  overflow: visible;
}

.east-word {
  line-height: .88 !important;
  letter-spacing: -.062em !important;
}

.cta h2 {
  line-height: 1.025 !important;
  letter-spacing: -.05em !important;
  overflow: visible;
  padding: .035em .04em .075em;
  margin-left: -.04em;
  margin-right: -.04em;
}

/* Avoid edge clipping when text sits close to narrow viewport/container bounds. */
@media (max-width: 900px) {
  .hero h1,
  .about-hero h1,
  .cinematic-break h2,
  .capability-sticky h3 {
    max-width: 100%;
  }
}

@media (max-width: 600px) {
  .hero h1 {
    line-height: 1.035 !important;
    letter-spacing: -.045em !important;
    padding-bottom: .11em;
  }

  .split-heading h2,
  .section-title-row h2,
  .about-copy h2,
  .contact h2,
  .statement h2,
  .why-eastward h2,
  .faq-grid h2,
  .manifesto h2,
  .section-head h2,
  .difference h2,
  .local h2 {
    line-height: 1.09 !important;
    letter-spacing: -.037em !important;
    padding-bottom: .085em;
  }

  .capability-sticky h3 {
    line-height: 1.07 !important;
    letter-spacing: -.04em !important;
  }

  .cinematic-break h2 {
    line-height: .985 !important;
    letter-spacing: -.05em !important;
    padding-bottom: .095em;
  }

  .east-lines {
    line-height: .88 !important;
    letter-spacing: -.045em !important;
  }

  .about-hero h1 {
    line-height: 1.015 !important;
    letter-spacing: -.045em !important;
    padding-bottom: .11em;
  }

  .belief h2 {
    line-height: 1.055 !important;
    letter-spacing: -.045em !important;
  }

  .east-word {
    line-height: .92 !important;
    letter-spacing: -.052em !important;
  }

  .cta h2 {
    line-height: 1.065 !important;
    letter-spacing: -.043em !important;
  }

  .eyebrow,
  .section-kicker,
  .kicker,
  .capability-kicker {
    letter-spacing: .16em !important;
  }
}

@media (max-width: 380px) {
  .hero h1,
  .about-hero h1 {
    letter-spacing: -.04em !important;
  }

  .logo small,
  .brand small {
    letter-spacing: .42em !important;
  }
}
