/* Thoughtful.design-inspired typography and left/right content rhythm. */
@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Poppins:wght@400;500&display=swap');
:root {
  --nx-font-body: 'Poppins', sans-serif;
  --nx-font-display: 'Manrope', 'Plus Jakarta Sans', sans-serif;
}
html, body {
  font-family: var(--nx-font-body);
  font-weight: 400;
  line-height: 1.68;
}
body, button, input, textarea, select {
  font-family: var(--nx-font-body);
  font-weight: 400;
}
h1, h2, h3, h4, h5, h6,
.nx-home-hero h1, .nx-section-intro h2, .nx-delivery-copy h2,
.nx-beyond-head h2, .nx-about-copy h2, .nx-cta-section h2,
.page-hero h1, .feature-copy h2, .section-title {
  font-family: var(--nx-font-display);
  font-weight: 700;
  letter-spacing: -0.035em;
  text-wrap: balance;
}
h1 {
  font-size: 68px;
  font-weight: 800;
  line-height: 1.08;
  letter-spacing: -1.75px;
  max-width: 820px;
}
/* Keep paragraph reading comfortable: flush-left, not full-justified. */
p, li, .feature-copy, .nx-hero-lede, .page-hero p {
  text-align: left;
  text-justify: auto;
  text-wrap: pretty;
}
/* The reference uses clear editorial hierarchy and generous spacing. */
.nx-home-container, .page-hero-inner { margin-inline: auto; }
.nx-section-intro, .nx-delivery-copy, .nx-about-copy, .feature-copy {
  text-align: left;
}
.nx-section-intro h2, .nx-delivery-copy h2, .nx-about-copy h2,
.feature-copy h2 { max-width: 15ch; line-height: 1.08; }
.nx-section-intro p, .nx-delivery-copy p, .nx-about-copy p,
.feature-copy > p:not(.eyebrow) { max-width: 66ch; font-size: 18px; font-weight: 400; line-height: 1.65; }
/* Preserve the alternating left/right visual arrangement on service pages. */
.feature-row { display: flex; align-items: center; }
.feature-row:not(.reverse) .feature-copy { text-align: left; }
.feature-row.reverse { flex-direction: row-reverse; }
.feature-row.reverse .feature-copy { text-align: left; }
/* Header and small labels use a restrained, consistent type treatment. */
nav, .nav-links, .nav-dropdown, .nx-btn, .software-chip,
.nx-eyebrow, .page-hero .eyebrow { font-family: var(--nx-font-body); }
@media (max-width: 760px) {
  .feature-row, .feature-row.reverse { flex-direction: column; }
  .feature-copy, .feature-row.reverse .feature-copy { text-align: left; }
  .nx-home-container { width: min(100% - 36px, 1240px); }
}

/* Typography system */
#nx-chat-root,
.plant-scroll,
.plant-stage,
nav, .nav-links, .nav-dropdown, .nx-btn, .software-chip,
.nx-eyebrow, .page-hero .eyebrow {
  font-family: var(--nx-font-body);
}
#nx-chat-root {
  font-weight: 400;
}
@media (max-width: 760px) {
  h1 {
    font-size: 48px;
    line-height: 1.08;
    letter-spacing: -1.25px;
  }
}
