/*
 * GENERATED — do not edit. Run: node wordpress/tools/build-typography-fix.mjs
 *
 * Every design rule that sets a typography or colour property, re-emitted with
 * its leading class doubled. Same rule, one more class, so it outranks the
 * kit typography Elementor prints inline for every widget.
 *
 * Nothing here is a new value. If a weight or colour is wrong, fix it in the
 * component stylesheet and regenerate; editing this file will be overwritten.
 *
 * Anything an editor sets on a widget in Elementor still wins: Elementor writes
 * those per element (.elementor-element-abc123), which outranks this.
 */

/*
 * A design class sitting directly ON a heading widget is the one case doubling
 * does not reach: Elementor renders the title in an inner element and styles
 * that element, so a rule on the widget never applies to the text. Those get a
 * companion rule below, emitted only for selectors that are a single class —
 * never for a descendant rule, which would otherwise recolour headings the
 * design deliberately styles differently.
 */

/* ---- about-teaser.css ---- */

.np-about-teaser__section-tag.np-about-teaser__section-tag {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--green2);
}

.np-about-teaser__heading.np-about-teaser__heading {
  font-family: var(--font-head);
  font-size: clamp(28px, 4vw, 44px);
  font-weight: 600;
  color: var(--navy);
  line-height: 1.1;
  letter-spacing: -0.01em;
}

.np-about-teaser__content.np-about-teaser__content p {
  color: var(--muted);
  font-size: 16px;
  line-height: 1.75;
}

.np-about-teaser__content.np-about-teaser__content p strong {
  color: var(--text);
  font-weight: 500;
}

.np-about-teaser__link.np-about-teaser__link {
  color: var(--green2);
  font-weight: 500;
  font-size: 15px;
}

.np-about-teaser__badge.np-about-teaser__badge {
  color: white;
  font-family: var(--font-head);
}

.np-about-teaser__badge.np-about-teaser__badge span:first-child {
  font-size: 24px;
  font-weight: 700;
  line-height: 1;
}

.np-about-teaser__badge.np-about-teaser__badge span:last-child {
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

/* ---- about.css ---- */

.np-about__intro.np-about__intro p {
  font-size: 16px;
  color: var(--muted);
  line-height: 1.8;
}

.np-about__intro.np-about__intro p strong {
  color: var(--text);
  font-weight: 500;
}

.np-about__stat-num.np-about__stat-num {
  font-family: var(--font-head);
  font-size: 34px;
  font-weight: 700;
  color: var(--green2);
  line-height: 1;
}

.np-about__stat-label.np-about__stat-label {
  font-size: 12px;
  color: var(--muted);
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.np-about__heritage-panel.np-about__heritage-panel h2 {
  font-family: var(--font-head);
  font-size: 24px;
  font-weight: 600;
  color: var(--navy);
}

.np-about__heritage-panel.np-about__heritage-panel p {
  font-size: 15px;
  color: var(--muted);
  line-height: 1.75;
}

.np-about__closing-panel.np-about__closing-panel h3 {
  font-family: var(--font-head);
  font-size: 20px;
  font-weight: 600;
  color: var(--navy);
}

.np-about__closing-cta.np-about__closing-cta {
  color: #fff;
  font-size: 13px;
  font-weight: 600;
}

/* ---- article-blocks.css ---- */

.np-article-blocks__article.np-article-blocks__article h2 {
  font-family: var(--font-head);
  font-size: 26px;
  font-weight: 600;
  color: var(--navy);
  line-height: 1.2;
}

.np-article-blocks__article.np-article-blocks__article p {
  color: var(--muted);
  font-size: 15px;
  line-height: 1.8;
}

.np-article-blocks__article.np-article-blocks__article ul li {
  color: var(--muted);
  font-size: 15px;
  line-height: 1.75;
}

.np-article-blocks__article.np-article-blocks__article ul li::marker {
  color: var(--green);
}

.np-article-blocks__highlight.np-article-blocks__highlight {
  font-size: 15px;
  color: var(--text);
}

.np-article-blocks__article-caption.np-article-blocks__article-caption {
  font-size: 13px;
  color: var(--muted);
  font-style: italic;
}

.np-article-blocks__testimonial-quote-mark.np-article-blocks__testimonial-quote-mark {
  font-family: var(--font-head);
  font-size: 56px;
  line-height: 1;
  color: var(--green);
}

.np-article-blocks__testimonial-quote.np-article-blocks__testimonial-quote {
  font-size: 16px;
  font-style: italic;
  color: var(--text);
  line-height: 1.7;
}

.np-article-blocks__testimonial-attribution.np-article-blocks__testimonial-attribution {
  font-style: normal;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: var(--navy);
}

.np-article-blocks__spec-table.np-article-blocks__spec-table {
  font-size: 14px;
}

.np-article-blocks__spec-table.np-article-blocks__spec-table thead th {
  color: rgba(255, 255, 255, 0.7);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.np-article-blocks__spec-table.np-article-blocks__spec-table tbody td {
  color: var(--muted);
}

.np-article-blocks__spec-table.np-article-blocks__spec-table tbody td:first-child {
  color: var(--text);
  font-weight: 500;
}

/* ---- case-studies-preview.css ---- */

.np-case-studies-preview__section-tag.np-case-studies-preview__section-tag {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--green2);
}

.np-case-studies-preview__heading.np-case-studies-preview__heading {
  font-family: var(--font-head);
  font-size: clamp(28px, 4vw, 44px);
  font-weight: 600;
  color: var(--navy);
  line-height: 1.1;
  letter-spacing: -0.01em;
}

.np-case-studies-preview__view-all.np-case-studies-preview__view-all {
  color: var(--green2);
  font-weight: 500;
  font-size: 15px;
}

.np-case-studies-preview__placeholder-text.np-case-studies-preview__placeholder-text {
  font-size: 12px;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.6);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.np-case-studies-preview__tag.np-case-studies-preview__tag {
  color: white;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.np-case-studies-preview__content.np-case-studies-preview__content h3 {
  font-family: var(--font-head);
  font-size: 17px;
  font-weight: 600;
  color: var(--navy);
  line-height: 1.25;
}

.np-case-studies-preview__content.np-case-studies-preview__content p,
.np-case-studies-preview__content.np-case-studies-preview__content .elementor-widget-theme-post-excerpt {
  font-size: 13px;
  color: var(--muted);
  line-height: 1.65;
}

.np-case-studies-preview__link.np-case-studies-preview__link {
  color: var(--green2);
  font-size: 13px;
  font-weight: 500;
}

/* ---- case-study-card.css ---- */

.np-case-study-card__tag.np-case-study-card__tag {
  color: #fff;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.np-case-study-card__body.np-case-study-card__body h3 {
  font-family: var(--font-head);
  font-size: 20px;
  font-weight: 600;
  color: var(--navy);
  line-height: 1.2;
}

.np-case-study-card__body-compact.np-case-study-card__body-compact h3 {
  font-size: 17px;
}

.np-case-study-card__body.np-case-study-card__body p,
.np-case-study-card__body.np-case-study-card__body .elementor-widget-theme-post-excerpt {
  font-size: 14px;
  color: var(--muted);
  line-height: 1.65;
}

.np-case-study-card__link.np-case-study-card__link {
  color: var(--green2);
  font-size: 13px;
  font-weight: 600;
}

/* ---- contact-form.css ---- */

.np-contact-form__required-note.np-contact-form__required-note {
  font-size: 13px;
  color: var(--muted);
}

.np-contact-form__req.np-contact-form__req {
  color: var(--orange);
  font-weight: 600;
}

.np-contact-form__field.np-contact-form__field label {
  font-size: 13px;
  font-weight: 600;
  color: var(--text);
  letter-spacing: 0.02em;
}

.np-contact-form__field.np-contact-form__field input,
.np-contact-form__field.np-contact-form__field select,
.np-contact-form__field.np-contact-form__field textarea {
  font-family: var(--font-body);
  font-size: 14px;
  font-weight: 400;
  color: var(--text);
}

.np-contact-form__field.np-contact-form__field textarea {
  line-height: 1.55;
}

.np-contact-form__submit-btn.np-contact-form__submit-btn {
  font-family: var(--font-body);
  color: white;
  font-size: 15px;
  font-weight: 500;
}

.np-contact-form__submit-note.np-contact-form__submit-note {
  font-size: 12px;
  color: var(--muted);
  line-height: 1.5;
}

.np-contact-form__success.np-contact-form__success {
  font-size: 15px;
  color: var(--text);
}

/* ---- contact-panel.css ---- */

.np-contact-panel__panel.np-contact-panel__panel {
  color: #fff;
}

.np-contact-panel__panel.np-contact-panel__panel h3 {
  font-family: var(--font-head);
  font-size: 26px;
  font-weight: 600;
  color: #fff;
}

.np-contact-panel__panel.np-contact-panel__panel p {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.6);
  line-height: 1.6;
}

.np-contact-panel__panel.np-contact-panel__panel label {
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.5);
}

.np-contact-panel__panel.np-contact-panel__panel input,
.np-contact-panel__panel.np-contact-panel__panel textarea,
.np-contact-panel__panel.np-contact-panel__panel select {
  font-size: 14px;
  color: #fff;
  font-family: var(--font-body);
}

.np-contact-panel__panel.np-contact-panel__panel input::placeholder,
.np-contact-panel__panel.np-contact-panel__panel textarea::placeholder {
  color: rgba(255, 255, 255, 0.35);
}

.np-contact-panel__panel.np-contact-panel__panel select option {
  color: #fff;
}

.np-contact-panel__submit-btn.np-contact-panel__submit-btn {
  color: #fff;
  font-family: var(--font-body);
  font-size: 14px;
  font-weight: 500;
}

.np-contact-panel__success.np-contact-panel__success {
  font-size: 14px;
  color: #fff;
}

/* ---- contact-section.css ---- */

.np-contact-section__section-tag.np-contact-section__section-tag {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--green);
}

.np-contact-section__intro.np-contact-section__intro h2 {
  font-family: var(--font-head);
  font-size: clamp(32px, 4vw, 44px);
  font-weight: 600;
  color: white;
  line-height: 1.05;
  letter-spacing: -0.01em;
}

.np-contact-section__intro.np-contact-section__intro p {
  font-size: 16px;
  color: rgba(255, 255, 255, 0.65);
  line-height: 1.7;
}

.np-contact-section__cta.np-contact-section__cta {
  color: #fff;
  font-size: 15px;
  font-weight: 600;
}

/* ---- content-blocks.css ---- */

.np-content-blocks__content.np-content-blocks__content h2 {
  font-family: var(--font-head);
  font-size: 28px;
  font-weight: 600;
  color: var(--navy);
  line-height: 1.2;
}

.np-content-blocks__content.np-content-blocks__content p {
  color: var(--muted);
  font-size: 15px;
  line-height: 1.8;
}

.np-content-blocks__content.np-content-blocks__content ul li {
  color: var(--muted);
  font-size: 15px;
  line-height: 1.75;
}

.np-content-blocks__content.np-content-blocks__content ul li::marker {
  color: var(--green);
}

.np-content-blocks__highlight-box.np-content-blocks__highlight-box {
  font-size: 15px;
  color: var(--text);
}

.np-content-blocks__highlight-box.np-content-blocks__highlight-box strong {
  color: var(--navy);
}

.np-content-blocks__benefit-card.np-content-blocks__benefit-card h3 {
  font-family: var(--font-head);
  font-size: 16px;
  font-weight: 600;
  color: var(--navy);
}

.np-content-blocks__benefit-card.np-content-blocks__benefit-card p {
  font-size: 13px;
  color: var(--muted);
  line-height: 1.6;
}

.np-content-blocks__step-num.np-content-blocks__step-num {
  font-family: var(--font-head);
  font-size: 20px;
  font-weight: 700;
  color: var(--green2);
}

.np-content-blocks__step-body.np-content-blocks__step-body h3 {
  font-size: 15px;
  font-weight: 600;
  color: var(--text);
}

.np-content-blocks__step-body.np-content-blocks__step-body p {
  font-size: 14px;
  color: var(--muted);
  line-height: 1.65;
}

.np-content-blocks__doc-link-icon.np-content-blocks__doc-link-icon {
  font-size: 16px;
  color: var(--green2);
}

.np-content-blocks__doc-link-text.np-content-blocks__doc-link-text {
  font-size: 13px;
  color: var(--muted);
}

.np-content-blocks__doc-link-text.np-content-blocks__doc-link-text strong {
  color: var(--text);
  font-size: 14px;
  font-weight: 600;
}

.np-content-blocks__video-group-header.np-content-blocks__video-group-header h3 {
  font-size: 14px;
  font-weight: 600;
  color: var(--text);
}

.np-content-blocks__video-play-icon.np-content-blocks__video-play-icon {
  font-size: 18px;
  color: white;
}

.np-content-blocks__video-tile.np-content-blocks__video-tile .np-content-blocks__video-label {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.5);
}

.np-content-blocks__video-tile.np-content-blocks__video-tile p {
  font-size: 11px;
  color: rgba(255, 255, 255, 0.3);
}

/* ---- cta-panel.css ---- */

.np-cta-panel__panel.np-cta-panel__panel h3 {
  font-family: var(--font-head);
  font-size: 24px;
  color: #fff;
}

.np-cta-panel__panel.np-cta-panel__panel .np-cta-panel__text {
  color: #fff;
}

.np-cta-panel__button.np-cta-panel__button {
  color: #fff;
  font-size: 14px;
  font-weight: 500;
}

/* ---- featured-news-card.css ---- */

.np-featured-news-card__tag.np-featured-news-card__tag {
  color: var(--green2);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.np-featured-news-card__body.np-featured-news-card__body h2 {
  font-family: var(--font-head);
  font-size: 32px;
  font-weight: 700;
  color: var(--navy);
  line-height: 1.12;
}

.np-featured-news-card__body.np-featured-news-card__body p,
.np-featured-news-card__body.np-featured-news-card__body .elementor-widget-theme-post-excerpt {
  font-size: 15px;
  color: var(--muted);
  line-height: 1.8;
}

.np-featured-news-card__button.np-featured-news-card__button {
  color: #fff;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.02em;
}

@media (max-width: 900px) {
  .np-featured-news-card__body.np-featured-news-card__body h2 {
    font-size: 26px;
  }
}

/* ---- footer.css ---- */

.np-footer__brand.np-footer__brand p {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.6);
  line-height: 1.6;
}

.np-footer__contact-list.np-footer__contact-list li {
  font-size: 13px;
  line-height: 1.5;
}

.np-footer__contact-label.np-footer__contact-label {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.65);
}

.np-footer__contact-list.np-footer__contact-list a,
.np-footer__contact-list.np-footer__contact-list span {
  color: #fff;
}

.np-footer__contact-list.np-footer__contact-list a:hover {
  color: var(--green);
}

.np-footer__col.np-footer__col h2 {
  font-family: var(--font-head);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.65);
}

.np-footer__col.np-footer__col ul a,
.np-footer__col.np-footer__col ul span {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.65);
}

.np-footer__col.np-footer__col ul a:hover {
  color: var(--green);
}

.np-footer__bottom.np-footer__bottom {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.65);
}

.np-footer__bottom-links.np-footer__bottom-links a {
  color: rgba(255, 255, 255, 0.65);
}

.np-footer__bottom-links.np-footer__bottom-links a:hover {
  color: var(--green);
}

/* ---- home-hero.css ---- */

.np-home-hero__tag.np-home-hero__tag {
  color: var(--green);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.np-home-hero__inner.np-home-hero__inner h1 {
  font-family: var(--font-head);
  font-size: clamp(32px, 4.5vw, 56px);
  font-weight: 700;
  line-height: 1.05;
  color: white;
  letter-spacing: -0.01em;
}

.np-home-hero__inner.np-home-hero__inner h1 em {
  font-style: normal;
  color: var(--orange2);
}

.np-home-hero__sub.np-home-hero__sub {
  font-size: 16px;
  font-weight: 300;
  color: rgba(255, 255, 255, 0.8);
  line-height: 1.6;
}

/* ---- how-to-guide-card.css ---- */

.np-how-to-guide-card__tag.np-how-to-guide-card__tag {
  color: white;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.np-how-to-guide-card__content.np-how-to-guide-card__content h3 {
  font-family: var(--font-head);
  font-size: 17px;
  font-weight: 600;
  color: var(--navy);
  line-height: 1.3;
}

.np-how-to-guide-card__content.np-how-to-guide-card__content p,
.np-how-to-guide-card__content.np-how-to-guide-card__content .elementor-widget-theme-post-excerpt {
  font-size: 13px;
  color: var(--muted);
  line-height: 1.65;
}

.np-how-to-guide-card__link.np-how-to-guide-card__link {
  color: var(--green2);
  font-size: 13px;
  font-weight: 500;
}

/* ---- how-to-library.css ---- */

.np-how-to-library__header.np-how-to-library__header h2 {
  font-family: var(--font-head);
  font-size: clamp(26px, 3.5vw, 34px);
  font-weight: 700;
  color: var(--navy);
}

.np-how-to-library__category.np-how-to-library__category h3 {
  font-family: var(--font-head);
  font-style: italic;
  font-size: 17px;
  font-weight: 500;
  color: var(--text);
}

/* ---- industry-filter.css ---- */

.np-industry-filter__filter-label.np-industry-filter__filter-label {
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--muted);
}

.np-industry-filter__filter-btn.np-industry-filter__filter-btn {
  font-size: 13px;
  font-weight: 400;
  color: var(--muted);
}

.np-industry-filter__filter-btn.np-industry-filter__filter-btn:hover {
  color: var(--green2);
}

.np-industry-filter__filter-btn-active.np-industry-filter__filter-btn-active {
  color: #fff;
}

.np-industry-filter__filter-btn-active.np-industry-filter__filter-btn-active:hover {
  color: #fff;
}

.np-industry-filter__empty.np-industry-filter__empty {
  color: var(--muted);
  font-size: 15px;
}

/* ---- news-article.css ---- */

.np-news-article__tag.np-news-article__tag {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.np-news-article__tag-media.np-news-article__tag-media,
.np-news-article__tag-category.np-news-article__tag-category {
  color: var(--green);
}

.np-news-article__title.np-news-article__title {
  font-family: var(--font-head);
  font-size: clamp(28px, 4vw, 42px);
  font-weight: 700;
  color: #fff;
  line-height: 1.08;
}

.np-news-article__byline.np-news-article__byline {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.6);
}

.np-news-article__byline.np-news-article__byline strong {
  color: #fff;
  font-weight: 600;
}

.np-news-article__lead.np-news-article__lead {
  font-size: 18px;
  line-height: 1.75;
  color: var(--text);
  font-weight: 400;
}

.np-news-article__back-link.np-news-article__back-link {
  color: var(--green2);
  font-size: 14px;
  font-weight: 600;
}

/* ---- news-card.css ---- */

.np-news-card__tag.np-news-card__tag {
  color: white;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.np-news-card__date.np-news-card__date {
  color: white;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.06em;
}

.np-news-card__content.np-news-card__content h3 {
  font-family: var(--font-head);
  font-size: 17px;
  font-weight: 600;
  color: var(--navy);
  line-height: 1.3;
}

.np-news-card__content.np-news-card__content p,
.np-news-card__content.np-news-card__content .elementor-widget-theme-post-excerpt {
  font-size: 13px;
  color: var(--muted);
  line-height: 1.65;
}

.np-news-card__link.np-news-card__link {
  color: var(--green2);
  font-size: 13px;
  font-weight: 500;
}

/* ---- news-meta-strip.css ---- */

.np-news-meta-strip__field.np-news-meta-strip__field {
  font-size: 14px;
  color: var(--text);
}

.np-news-meta-strip__field.np-news-meta-strip__field strong {
  font-weight: 600;
}

.np-news-meta-strip__field.np-news-meta-strip__field span {
  color: var(--green2);
}

/* ---- news-preview.css ---- */

.np-news-preview__section-tag.np-news-preview__section-tag {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--green2);
}

.np-news-preview__heading.np-news-preview__heading {
  font-family: var(--font-head);
  font-size: clamp(28px, 4vw, 44px);
  font-weight: 600;
  color: var(--navy);
  line-height: 1.1;
  letter-spacing: -0.01em;
}

.np-news-preview__view-all.np-news-preview__view-all {
  color: var(--green2);
  font-weight: 500;
  font-size: 15px;
}

/* ---- news.css ---- */

.np-news__section-eyebrow.np-news__section-eyebrow {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--green2);
}

.np-news__heading.np-news__heading {
  font-family: var(--font-head);
  font-size: 30px;
  font-weight: 600;
  color: var(--navy);
  line-height: 1.1;
}

/* ---- page-header.css ---- */

.np-page-header__eyebrow.np-page-header__eyebrow {
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.5);
}

.np-page-header__inner.np-page-header__inner h1 {
  font-family: var(--font-head);
  font-size: 48px;
  font-weight: 700;
  color: #fff;
  line-height: 1.05;
}

.np-page-header__inner.np-page-header__inner h1 span {
  color: var(--green);
}

.np-page-header__sub.np-page-header__sub {
  font-size: 16px;
  color: rgba(255, 255, 255, 0.75);
}

/* ---- process-section.css ---- */

.np-process-section__section-tag.np-process-section__section-tag {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--green2);
}

.np-process-section__heading.np-process-section__heading {
  font-family: var(--font-head);
  font-size: clamp(28px, 4vw, 44px);
  font-weight: 600;
  color: var(--navy);
  line-height: 1.1;
  letter-spacing: -0.01em;
}

.np-process-section__intro.np-process-section__intro {
  font-size: 16px;
  color: var(--muted);
  line-height: 1.7;
}

.np-process-section__card.np-process-section__card h3 {
  font-family: var(--font-head);
  font-size: 18px;
  font-weight: 600;
  color: var(--navy);
  letter-spacing: 0.01em;
}

.np-process-section__card.np-process-section__card p {
  font-size: 14px;
  color: var(--muted);
  line-height: 1.65;
}

.np-process-section__spec-label.np-process-section__spec-label {
  font-size: 20px;
  font-weight: 600;
  font-family: var(--font-body);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--navy);
}

.np-process-section__spec-value.np-process-section__spec-value {
  font-family: var(--font-body);
  font-size: 13px;
  font-weight: 100;
  color: var(--navy);
  line-height: 1.5;
}

/* ---- product-card.css ---- */

.np-product-card__image-placeholder.np-product-card__image-placeholder span {
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.85);
}

.np-product-card__tag.np-product-card__tag {
  color: #fff;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.np-product-card__body.np-product-card__body h2 {
  font-family: var(--font-head);
  font-size: 28px;
  font-weight: 600;
  color: var(--navy);
  line-height: 1.15;
}

.np-product-card__subtitle.np-product-card__subtitle {
  font-size: 14px;
  color: var(--green2);
  font-weight: 500;
}

.np-product-card__body.np-product-card__body p,
.np-product-card__body.np-product-card__body .elementor-widget-theme-post-excerpt {
  font-size: 15px;
  color: var(--muted);
  line-height: 1.7;
}

.np-product-card__feature-list.np-product-card__feature-list li {
  font-size: 12px;
  font-weight: 500;
  color: var(--text);
}

.np-product-card__feature-list.np-product-card__feature-list li::before {
  color: var(--green2);
  font-weight: 700;
}

.np-product-card__cta.np-product-card__cta {
  color: #fff;
  font-size: 13px;
  font-weight: 600;
}

/* ---- related-case-studies.css ---- */

.np-related-case-studies__eyebrow.np-related-case-studies__eyebrow {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--green2);
}

.np-related-case-studies__inner.np-related-case-studies__inner h2 {
  font-family: var(--font-head);
  font-size: 28px;
  font-weight: 600;
  color: var(--navy);
}

/* ---- testimonials.css ---- */

.np-testimonials__section-tag.np-testimonials__section-tag {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--green2);
}

.np-testimonials__heading.np-testimonials__heading {
  font-family: var(--font-head);
  font-size: clamp(28px, 4vw, 44px);
  font-weight: 600;
  color: var(--navy);
  line-height: 1.1;
  letter-spacing: -0.01em;
}

.np-testimonials__quote-mark.np-testimonials__quote-mark {
  font-family: Georgia, serif;
  font-size: 72px;
  color: var(--green2);
  line-height: 0.6;
}

.np-testimonials__text.np-testimonials__text {
  font-size: 19px;
  font-weight: 300;
  color: var(--text);
  line-height: 1.75;
  font-style: italic;
}

.np-testimonials__avatar.np-testimonials__avatar {
  color: white;
  font-family: var(--font-head);
  font-size: 16px;
  font-weight: 600;
}

.np-testimonials__author-name.np-testimonials__author-name {
  font-size: 15px;
  font-weight: 600;
  color: var(--text);
}

.np-testimonials__author-role.np-testimonials__author-role {
  font-size: 13px;
  color: var(--muted);
}

.np-testimonials__arrow.np-testimonials__arrow {
  color: var(--text);
  font-size: 18px;
}

.np-testimonials__arrow.np-testimonials__arrow:hover {
  color: white;
}

@media (max-width: 600px) {
  .np-testimonials__quote-mark.np-testimonials__quote-mark {
    font-size: 48px;
  }

  .np-testimonials__text.np-testimonials__text {
    font-size: 16px;
  }
}

/* ---- video-preview.css ---- */

.np-video-preview__section-tag.np-video-preview__section-tag {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--green2);
}

.np-video-preview__heading.np-video-preview__heading {
  font-family: var(--font-head);
  font-size: clamp(28px, 4vw, 44px);
  font-weight: 600;
  color: var(--navy);
  line-height: 1.1;
  letter-spacing: -0.01em;
}

.np-video-preview__sub.np-video-preview__sub {
  font-size: 16px;
  color: var(--muted);
  line-height: 1.7;
}

.np-video-preview__play-badge.np-video-preview__play-badge {
  color: #fff;
  font-size: 18px;
}

.np-video-preview__title-bar.np-video-preview__title-bar {
  font-family: var(--font-head);
  font-size: 15px;
  font-weight: 600;
  color: var(--navy);
  line-height: 1.4;
}

/* ---- why-section.css ---- */

.np-why-section__section-tag.np-why-section__section-tag {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--green2);
}

.np-why-section__heading.np-why-section__heading {
  font-family: var(--font-head);
  font-size: clamp(28px, 4vw, 44px);
  font-weight: 600;
  color: var(--navy);
  line-height: 1.1;
  letter-spacing: -0.01em;
}

.np-why-section__point-num.np-why-section__point-num {
  font-family: var(--font-head);
  font-size: 36px;
  font-weight: 700;
  color: #6b8f77;
  line-height: 1;
}

.np-why-section__point-content.np-why-section__point-content h3 {
  font-family: var(--font-head);
  font-size: 18px;
  font-weight: 600;
  color: var(--navy);
}

.np-why-section__point-content.np-why-section__point-content p {
  font-size: 14px;
  color: var(--muted);
  line-height: 1.65;
}

.np-why-section__quote-mark.np-why-section__quote-mark {
  font-family: var(--font-head);
  font-size: 80px;
  line-height: 0.7;
  color: var(--orange);
}

.np-why-section__quote.np-why-section__quote p {
  font-family: var(--font-head);
  font-size: 22px;
  font-weight: 500;
  color: white;
  line-height: 1.4;
}

.np-why-section__quote-source.np-why-section__quote-source {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.5);
}

/* ---- apply-nanoprep.css ---- */

.np-apply-nanoprep__intro.np-apply-nanoprep__intro {
  font-size: 17px;
  color: var(--text);
  line-height: 1.75;
  font-weight: 400;
}

.np-apply-nanoprep__intro-sub.np-apply-nanoprep__intro-sub {
  font-size: 15px;
  color: var(--muted);
  line-height: 1.75;
}

.np-apply-nanoprep__step-num.np-apply-nanoprep__step-num {
  color: #fff;
  font-family: var(--font-head);
  font-size: 22px;
  font-weight: 700;
}

.np-apply-nanoprep__step-body.np-apply-nanoprep__step-body h3 {
  font-family: var(--font-head);
  font-size: 23px;
  font-weight: 600;
  color: var(--navy);
  line-height: 1.15;
}

.np-apply-nanoprep__step-body.np-apply-nanoprep__step-body p {
  font-size: 15.5px;
  color: var(--text);
  line-height: 1.75;
  font-weight: 300;
}

.np-apply-nanoprep__facts.np-apply-nanoprep__facts h2 {
  font-family: var(--font-head);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--navy);
}

.np-apply-nanoprep__facts-list.np-apply-nanoprep__facts-list dt {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--muted);
}

.np-apply-nanoprep__facts-list.np-apply-nanoprep__facts-list dd {
  font-size: 14px;
  color: var(--text);
  font-weight: 400;
  line-height: 1.5;
}

.np-apply-nanoprep__toc.np-apply-nanoprep__toc h3 {
  font-family: var(--font-head);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--navy);
}

.np-apply-nanoprep__toc.np-apply-nanoprep__toc a {
  font-size: 13px;
  color: var(--muted);
  line-height: 1.4;
}

.np-apply-nanoprep__toc.np-apply-nanoprep__toc a:hover {
  color: var(--green2);
}

.np-apply-nanoprep__toc-num.np-apply-nanoprep__toc-num {
  color: var(--green2);
  font-size: 10px;
  font-weight: 600;
}

@media (max-width: 820px) {
  .np-apply-nanoprep__step-num.np-apply-nanoprep__step-num {
    font-size: 19px;
  }
}

/* ---- article-blocks.css ---- */

.np-article-blocks__article.np-article-blocks__article h2 {
  font-family: var(--font-head);
  font-size: 26px;
  font-weight: 600;
  color: var(--navy);
  line-height: 1.2;
}

.np-article-blocks__article.np-article-blocks__article p {
  color: var(--muted);
  font-size: 15px;
  line-height: 1.8;
}

.np-article-blocks__article.np-article-blocks__article ul li {
  color: var(--muted);
  font-size: 15px;
  line-height: 1.75;
}

.np-article-blocks__article.np-article-blocks__article ul li::marker {
  color: var(--green);
}

.np-article-blocks__highlight.np-article-blocks__highlight {
  font-size: 15px;
  color: var(--text);
}

.np-article-blocks__article-caption.np-article-blocks__article-caption {
  font-size: 13px;
  color: var(--muted);
  font-style: italic;
}

.np-article-blocks__testimonial-quote-mark.np-article-blocks__testimonial-quote-mark {
  font-family: var(--font-head);
  font-size: 56px;
  line-height: 1;
  color: var(--green);
}

.np-article-blocks__testimonial-quote.np-article-blocks__testimonial-quote {
  font-size: 16px;
  font-style: italic;
  color: var(--text);
  line-height: 1.7;
}

.np-article-blocks__testimonial-attribution.np-article-blocks__testimonial-attribution {
  font-style: normal;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: var(--navy);
}

.np-article-blocks__spec-table.np-article-blocks__spec-table {
  font-size: 14px;
}

.np-article-blocks__spec-table.np-article-blocks__spec-table thead th {
  color: rgba(255, 255, 255, 0.7);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.np-article-blocks__spec-table.np-article-blocks__spec-table tbody td {
  color: var(--muted);
}

.np-article-blocks__spec-table.np-article-blocks__spec-table tbody td:first-child {
  color: var(--text);
  font-weight: 500;
}

/* ---- back-to-top.css ---- */

.np-back-to-top__button.np-back-to-top__button {
  color: #fff;
}

/* ---- breadcrumbs.css ---- */

.np-breadcrumbs__breadcrumb.np-breadcrumbs__breadcrumb {
  font-size: 13px;
  color: var(--muted);
}

.np-breadcrumbs__inner.np-breadcrumbs__inner a {
  color: var(--green2);
}

.np-breadcrumbs__current.np-breadcrumbs__current {
  color: var(--muted);
}

/* ---- button.css ---- */

.np-button__btn.np-button__btn:not(.elementor-widget),
.np-button__btn.np-button__btn.elementor-widget-button .elementor-button {
  font-family: var(--font-body);
  font-size: 15px;
  font-weight: 500;
  letter-spacing: 0.02em;
}

.np-button__primary.np-button__primary:not(.elementor-widget),
.np-button__primary.np-button__primary.elementor-widget-button .elementor-button {
  color: #fff;
}

.np-button__secondary.np-button__secondary:not(.elementor-widget),
.np-button__secondary.np-button__secondary.elementor-widget-button .elementor-button {
  color: #fff;
  font-weight: 400;
}

.np-button__white.np-button__white:not(.elementor-widget),
.np-button__white.np-button__white.elementor-widget-button .elementor-button {
  color: var(--green2);
  font-weight: 600;
}

.np-button__outline-white.np-button__outline-white:not(.elementor-widget),
.np-button__outline-white.np-button__outline-white.elementor-widget-button .elementor-button {
  color: #fff;
}

/* ---- case-study-card.css ---- */

.np-case-study-card__tag.np-case-study-card__tag {
  color: #fff;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.np-case-study-card__body.np-case-study-card__body h3 {
  font-family: var(--font-head);
  font-size: 20px;
  font-weight: 600;
  color: var(--navy);
  line-height: 1.2;
}

.np-case-study-card__body-compact.np-case-study-card__body-compact h3 {
  font-size: 17px;
}

.np-case-study-card__body.np-case-study-card__body p,
.np-case-study-card__body.np-case-study-card__body .elementor-widget-theme-post-excerpt {
  font-size: 14px;
  color: var(--muted);
  line-height: 1.65;
}

.np-case-study-card__link.np-case-study-card__link {
  color: var(--green2);
  font-size: 13px;
  font-weight: 600;
}

/* ---- compat-panel.css ---- */

.np-compat-panel__text.np-compat-panel__text h3 {
  font-family: var(--font-head);
  font-size: 20px;
  color: #fff;
}

.np-compat-panel__text.np-compat-panel__text p {
  color: rgba(255, 255, 255, 0.55);
  font-size: 14px;
  line-height: 1.6;
}

.np-compat-panel__link.np-compat-panel__link {
  color: #fff;
  font-size: 13px;
  font-weight: 600;
}

/* ---- contact-form.css ---- */

.np-contact-form__required-note.np-contact-form__required-note {
  font-size: 13px;
  color: var(--muted);
}

.np-contact-form__req.np-contact-form__req {
  color: var(--orange);
  font-weight: 600;
}

.np-contact-form__field.np-contact-form__field label {
  font-size: 13px;
  font-weight: 600;
  color: var(--text);
  letter-spacing: 0.02em;
}

.np-contact-form__field.np-contact-form__field input,
.np-contact-form__field.np-contact-form__field select,
.np-contact-form__field.np-contact-form__field textarea {
  font-family: var(--font-body);
  font-size: 14px;
  font-weight: 400;
  color: var(--text);
}

.np-contact-form__field.np-contact-form__field textarea {
  line-height: 1.55;
}

.np-contact-form__submit-btn.np-contact-form__submit-btn {
  font-family: var(--font-body);
  color: white;
  font-size: 15px;
  font-weight: 500;
}

.np-contact-form__submit-note.np-contact-form__submit-note {
  font-size: 12px;
  color: var(--muted);
  line-height: 1.5;
}

.np-contact-form__success.np-contact-form__success {
  font-size: 15px;
  color: var(--text);
}

/* ---- contact-panel.css ---- */

.np-contact-panel__panel.np-contact-panel__panel {
  color: #fff;
}

.np-contact-panel__panel.np-contact-panel__panel h3 {
  font-family: var(--font-head);
  font-size: 26px;
  font-weight: 600;
  color: #fff;
}

.np-contact-panel__panel.np-contact-panel__panel p {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.6);
  line-height: 1.6;
}

.np-contact-panel__panel.np-contact-panel__panel label {
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.5);
}

.np-contact-panel__panel.np-contact-panel__panel input,
.np-contact-panel__panel.np-contact-panel__panel textarea,
.np-contact-panel__panel.np-contact-panel__panel select {
  font-size: 14px;
  color: #fff;
  font-family: var(--font-body);
}

.np-contact-panel__panel.np-contact-panel__panel input::placeholder,
.np-contact-panel__panel.np-contact-panel__panel textarea::placeholder {
  color: rgba(255, 255, 255, 0.35);
}

.np-contact-panel__panel.np-contact-panel__panel select option {
  color: #fff;
}

.np-contact-panel__submit-btn.np-contact-panel__submit-btn {
  color: #fff;
  font-family: var(--font-body);
  font-size: 14px;
  font-weight: 500;
}

.np-contact-panel__success.np-contact-panel__success {
  font-size: 14px;
  color: #fff;
}

/* ---- contact.css ---- */

.np-contact__card.np-contact__card h3 {
  font-family: var(--font-head);
  font-size: 19px;
  font-weight: 700;
  color: var(--navy);
}

.np-contact__card.np-contact__card p {
  font-size: 14px;
  color: var(--muted);
  line-height: 1.6;
}

.np-contact__card.np-contact__card p a {
  color: var(--muted);
}

.np-contact__card.np-contact__card p a:hover {
  color: var(--green2);
}

.np-contact__office.np-contact__office h3 {
  font-family: var(--font-head);
  font-size: 20px;
  font-weight: 700;
  color: var(--navy);
}

.np-contact__office-address.np-contact__office-address {
  font-style: normal;
  color: var(--text);
  font-size: 14px;
  line-height: 1.7;
}

.np-contact__office-line.np-contact__office-line {
  color: var(--text);
  font-size: 14px;
  line-height: 1.7;
}

.np-contact__office-line.np-contact__office-line:hover {
  color: var(--green2);
}

.np-contact__directions.np-contact__directions {
  font-size: 13px;
  font-weight: 600;
  color: var(--green2);
}

.np-contact__directions.np-contact__directions:hover {
  color: var(--green);
}

/* ---- content-blocks.css ---- */

.np-content-blocks__content.np-content-blocks__content h2 {
  font-family: var(--font-head);
  font-size: 28px;
  font-weight: 600;
  color: var(--navy);
  line-height: 1.2;
}

.np-content-blocks__content.np-content-blocks__content p {
  color: var(--muted);
  font-size: 15px;
  line-height: 1.8;
}

.np-content-blocks__content.np-content-blocks__content ul li {
  color: var(--muted);
  font-size: 15px;
  line-height: 1.75;
}

.np-content-blocks__content.np-content-blocks__content ul li::marker {
  color: var(--green);
}

.np-content-blocks__highlight-box.np-content-blocks__highlight-box {
  font-size: 15px;
  color: var(--text);
}

.np-content-blocks__highlight-box.np-content-blocks__highlight-box strong {
  color: var(--navy);
}

.np-content-blocks__benefit-card.np-content-blocks__benefit-card h3 {
  font-family: var(--font-head);
  font-size: 16px;
  font-weight: 600;
  color: var(--navy);
}

.np-content-blocks__benefit-card.np-content-blocks__benefit-card p {
  font-size: 13px;
  color: var(--muted);
  line-height: 1.6;
}

.np-content-blocks__step-num.np-content-blocks__step-num {
  font-family: var(--font-head);
  font-size: 20px;
  font-weight: 700;
  color: var(--green2);
}

.np-content-blocks__step-body.np-content-blocks__step-body h3 {
  font-size: 15px;
  font-weight: 600;
  color: var(--text);
}

.np-content-blocks__step-body.np-content-blocks__step-body p {
  font-size: 14px;
  color: var(--muted);
  line-height: 1.65;
}

.np-content-blocks__doc-link-icon.np-content-blocks__doc-link-icon {
  font-size: 16px;
  color: var(--green2);
}

.np-content-blocks__doc-link-text.np-content-blocks__doc-link-text {
  font-size: 13px;
  color: var(--muted);
}

.np-content-blocks__doc-link-text.np-content-blocks__doc-link-text strong {
  color: var(--text);
  font-size: 14px;
  font-weight: 600;
}

.np-content-blocks__video-group-header.np-content-blocks__video-group-header h3 {
  font-size: 14px;
  font-weight: 600;
  color: var(--text);
}

.np-content-blocks__video-play-icon.np-content-blocks__video-play-icon {
  font-size: 18px;
  color: white;
}

.np-content-blocks__video-tile.np-content-blocks__video-tile .np-content-blocks__video-label {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.5);
}

.np-content-blocks__video-tile.np-content-blocks__video-tile p {
  font-size: 11px;
  color: rgba(255, 255, 255, 0.3);
}

/* ---- cta-panel.css ---- */

.np-cta-panel__panel.np-cta-panel__panel h3 {
  font-family: var(--font-head);
  font-size: 24px;
  color: #fff;
}

.np-cta-panel__panel.np-cta-panel__panel .np-cta-panel__text {
  color: #fff;
}

.np-cta-panel__button.np-cta-panel__button {
  color: #fff;
  font-size: 14px;
  font-weight: 500;
}

/* ---- detail-hero.css ---- */

.np-detail-hero__placeholder.np-detail-hero__placeholder span {
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.06em;
  color: rgba(255, 255, 255, 0.5);
  text-transform: uppercase;
}

.np-detail-hero__tag.np-detail-hero__tag {
  color: #fff;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.np-detail-hero__content.np-detail-hero__content h1 {
  font-family: var(--font-head);
  font-size: 42px;
  font-weight: 700;
  color: #fff;
  line-height: 1.05;
}

.np-detail-hero__sub.np-detail-hero__sub {
  font-size: 16px;
  color: rgba(255, 255, 255, 0.75);
}

.np-detail-hero__download-link.np-detail-hero__download-link {
  color: #fff;
  font-size: 14px;
  font-weight: 600;
}

@media (max-width: 640px) {
  .np-detail-hero__content.np-detail-hero__content h1 {
    font-size: clamp(26px, 8vw, 34px);
  }

  .np-detail-hero__sub.np-detail-hero__sub {
    font-size: 14px;
  }

  .np-detail-hero__download-link.np-detail-hero__download-link {
    font-size: 13px;
  }
}

/* ---- faq.css ---- */

.np-faq__faq.np-faq__faq .np-faq__heading {
  font-family: var(--font-head);
  font-size: 28px;
  font-weight: 600;
  color: var(--navy);
  line-height: 1.2;
}

.np-faq__question.np-faq__question {
  font-family: var(--font-head);
  font-size: 19px;
  font-weight: 600;
  color: var(--navy);
  line-height: 1.35;
}

.np-faq__question.np-faq__question:hover {
  color: var(--green2);
}

.np-faq__faq.np-faq__faq .np-faq__answer p {
  color: var(--muted);
  font-size: 15px;
  line-height: 1.8;
}

.np-faq__toggle.np-faq__toggle:hover .schema-faq-question {
  color: var(--green2);
}

@media (max-width: 700px) {
  .np-faq__question.np-faq__question {
    font-size: 18px;
  }
}

/* ---- feature-strip.css ---- */

.np-feature-strip__pill.np-feature-strip__pill {
  font-size: 13px;
  font-weight: 500;
  color: var(--text);
}

.np-feature-strip__pill.np-feature-strip__pill::before {
  color: var(--green2);
  font-weight: 700;
}

/* ---- header.css ---- */

.np-header__links.np-header__links a {
  font-size: 13px;
  font-weight: 500;
  color: var(--text);
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.np-header__links.np-header__links a:not(.np-header__cta):hover,
.np-header__links.np-header__links a:not(.np-header__cta).np-header__active {
  color: var(--green2);
}

.np-header__cta.np-header__cta {
  color: #fff !important;
}

.np-header__dropdown.np-header__dropdown a {
  font-size: 13px;
  color: var(--text) !important;
  font-weight: 400 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

.np-header__dropdown.np-header__dropdown a:hover {
  color: var(--green2) !important;
}

.np-header__dropdown-parent.np-header__dropdown-parent {
  font-weight: 600 !important;
}

.np-header__dropdown-child.np-header__dropdown-child {
  font-size: 12px !important;
  color: var(--muted) !important;
}

.np-header__dropdown-label.np-header__dropdown-label {
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--muted);
}

/* ---- hero-breadcrumbs.css ---- */

.np-hero-breadcrumbs__breadcrumb.np-hero-breadcrumbs__breadcrumb {
  font-size: 13px;
}

.np-hero-breadcrumbs__item.np-hero-breadcrumbs__item {
  color: rgba(255, 255, 255, 0.45);
}

.np-hero-breadcrumbs__inner.np-hero-breadcrumbs__inner a {
  color: rgba(255, 255, 255, 0.7);
}

.np-hero-breadcrumbs__inner.np-hero-breadcrumbs__inner a:hover {
  color: #fff;
}

.np-hero-breadcrumbs__current.np-hero-breadcrumbs__current {
  color: rgba(255, 255, 255, 0.7);
}

/* ---- image-gallery.css ---- */

.np-image-gallery__header.np-image-gallery__header h3 {
  font-size: 14px;
  font-weight: 600;
  color: var(--text);
}

.np-image-gallery__badge.np-image-gallery__badge {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.np-image-gallery__badge-before.np-image-gallery__badge-before {
  color: #c0392b;
}

.np-image-gallery__badge-during.np-image-gallery__badge-during {
  color: #f47920;
}

.np-image-gallery__badge-after.np-image-gallery__badge-after {
  color: var(--green2);
}

.np-image-gallery__placeholder.np-image-gallery__placeholder span {
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #aaa;
}

.np-image-gallery__caption.np-image-gallery__caption {
  font-size: 12px;
  color: var(--muted);
}

.np-image-gallery__plain-caption.np-image-gallery__plain-caption {
  font-size: 13px;
  color: var(--muted);
}

/* ---- industry-filter.css ---- */

.np-industry-filter__filter-label.np-industry-filter__filter-label {
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--muted);
}

.np-industry-filter__filter-btn.np-industry-filter__filter-btn {
  font-size: 13px;
  font-weight: 400;
  color: var(--muted);
}

.np-industry-filter__filter-btn.np-industry-filter__filter-btn:hover {
  color: var(--green2);
}

.np-industry-filter__filter-btn-active.np-industry-filter__filter-btn-active {
  color: #fff;
}

.np-industry-filter__filter-btn-active.np-industry-filter__filter-btn-active:hover {
  color: #fff;
}

.np-industry-filter__empty.np-industry-filter__empty {
  color: var(--muted);
  font-size: 15px;
}

/* ---- meta-strip.css ---- */

.np-meta-strip__field.np-meta-strip__field {
  font-size: 14px;
  color: var(--text);
}

.np-meta-strip__field.np-meta-strip__field strong {
  font-weight: 600;
  color: var(--text);
}

.np-meta-strip__field.np-meta-strip__field span {
  color: var(--green2);
}

.np-meta-strip__download-btn.np-meta-strip__download-btn {
  color: #fff;
  font-size: 13px;
  font-weight: 500;
}

.np-meta-strip__download-btn.np-meta-strip__download-btn::before {
  font-size: 15px;
}

/* ---- mobile-menu.css ---- */

.np-mobile-menu__menu-toggle.np-mobile-menu__menu-toggle {
  color: var(--text);
}

.np-mobile-menu__link.np-mobile-menu__link {
  font-size: 15px;
  font-weight: 500;
  color: var(--text);
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.np-mobile-menu__group-link.np-mobile-menu__group-link {
  font-size: 15px;
  font-weight: 500;
  color: var(--text);
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.np-mobile-menu__group-toggle.np-mobile-menu__group-toggle {
  color: var(--text);
}

.np-mobile-menu__group-toggle.np-mobile-menu__group-toggle:hover,
.np-mobile-menu__group-toggle.np-mobile-menu__group-toggle:focus-visible {
  color: var(--green2);
}

.np-mobile-menu__group-label.np-mobile-menu__group-label {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--muted);
}

.np-mobile-menu__sub-link.np-mobile-menu__sub-link {
  font-size: 14px;
  color: var(--text);
}

.np-mobile-menu__sub-link-parent.np-mobile-menu__sub-link-parent {
  font-size: 14px;
  font-weight: 700;
  color: var(--text);
}

.np-mobile-menu__sub-link-child.np-mobile-menu__sub-link-child {
  font-size: 13px;
  color: var(--muted);
}

.np-mobile-menu__cta.np-mobile-menu__cta {
  color: #fff;
  font-weight: 600;
  text-transform: uppercase;
  font-size: 14px;
}

/* ---- news-article.css ---- */

.np-news-article__tag.np-news-article__tag {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.np-news-article__tag-media.np-news-article__tag-media,
.np-news-article__tag-category.np-news-article__tag-category {
  color: var(--green);
}

.np-news-article__title.np-news-article__title {
  font-family: var(--font-head);
  font-size: clamp(28px, 4vw, 42px);
  font-weight: 700;
  color: #fff;
  line-height: 1.08;
}

.np-news-article__byline.np-news-article__byline {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.6);
}

.np-news-article__byline.np-news-article__byline strong {
  color: #fff;
  font-weight: 600;
}

.np-news-article__lead.np-news-article__lead {
  font-size: 18px;
  line-height: 1.75;
  color: var(--text);
  font-weight: 400;
}

.np-news-article__back-link.np-news-article__back-link {
  color: var(--green2);
  font-size: 14px;
  font-weight: 600;
}

/* ---- news-meta-strip.css ---- */

.np-news-meta-strip__field.np-news-meta-strip__field {
  font-size: 14px;
  color: var(--text);
}

.np-news-meta-strip__field.np-news-meta-strip__field strong {
  font-weight: 600;
}

.np-news-meta-strip__field.np-news-meta-strip__field span {
  color: var(--green2);
}

/* ---- page-header.css ---- */

.np-page-header__eyebrow.np-page-header__eyebrow {
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.5);
}

.np-page-header__inner.np-page-header__inner h1 {
  font-family: var(--font-head);
  font-size: 48px;
  font-weight: 700;
  color: #fff;
  line-height: 1.05;
}

.np-page-header__inner.np-page-header__inner h1 span {
  color: var(--green);
}

.np-page-header__sub.np-page-header__sub {
  font-size: 16px;
  color: rgba(255, 255, 255, 0.75);
}

/* ---- promo-banner.css ---- */

.np-promo-banner__tag.np-promo-banner__tag {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--green);
}

.np-promo-banner__text.np-promo-banner__text h3 {
  font-family: var(--font-head);
  font-size: 24px;
  font-weight: 700;
  color: #fff;
  line-height: 1.2;
}

.np-promo-banner__text.np-promo-banner__text p {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.7);
  line-height: 1.6;
}

.np-promo-banner__button.np-promo-banner__button {
  color: #fff;
  font-size: 14px;
  font-weight: 600;
}

/* ---- related-case-studies.css ---- */

.np-related-case-studies__eyebrow.np-related-case-studies__eyebrow {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--green2);
}

.np-related-case-studies__inner.np-related-case-studies__inner h2 {
  font-family: var(--font-head);
  font-size: 28px;
  font-weight: 600;
  color: var(--navy);
}

/* ---- resource-group-card.css ---- */

.np-resource-group-card__header.np-resource-group-card__header h2 {
  font-family: var(--font-head);
  font-size: 24px;
  font-weight: 700;
  color: var(--navy);
}

.np-resource-group-card__tag.np-resource-group-card__tag {
  color: var(--green2);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.np-resource-group-card__description.np-resource-group-card__description {
  font-size: 15px;
  color: var(--muted);
}

.np-resource-group-card__item-text.np-resource-group-card__item-text strong {
  font-size: 15px;
  font-weight: 600;
  color: var(--navy);
  line-height: 1.3;
}

.np-resource-group-card__item-sub.np-resource-group-card__item-sub {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--green2);
}

/* ---- slideshow.css ---- */

.np-slideshow__arrow.np-slideshow__arrow {
  color: #fff;
  font-size: 22px;
  line-height: 1;
}

.np-slideshow__arrow-compact.np-slideshow__arrow-compact {
  font-size: 17px;
}

@media (max-width: 640px) {
  .np-slideshow__arrow.np-slideshow__arrow:not(.np-slideshow__arrow-compact) {
    font-size: 18px;
  }
}

/* ---- video-placeholder.css ---- */

.np-video-placeholder__inline-header.np-video-placeholder__inline-header h3 {
  font-size: 14px;
  font-weight: 600;
  color: var(--text);
}

.np-video-placeholder__inline-badge.np-video-placeholder__inline-badge {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #f47920;
}

.np-video-placeholder__inline-body.np-video-placeholder__inline-body span {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.5);
}

.np-video-placeholder__inline-body.np-video-placeholder__inline-body p {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.35);
}

.np-video-placeholder__play-icon.np-video-placeholder__play-icon {
  font-size: 22px;
  color: white;
}

.np-video-placeholder__featured-badge.np-video-placeholder__featured-badge {
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.np-video-placeholder__featured-label.np-video-placeholder__featured-label span:last-child {
  font-size: 13px;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.7);
}

.np-video-placeholder__featured-body.np-video-placeholder__featured-body span {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.45);
}

.np-video-placeholder__featured-body.np-video-placeholder__featured-body p {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.3);
}

.np-video-placeholder__featured-play-icon.np-video-placeholder__featured-play-icon {
  font-size: 26px;
  color: white;
}

.np-video-placeholder__inline-thumb-caption.np-video-placeholder__inline-thumb-caption {
  font-size: 13px;
  font-weight: 500;
  color: #fff;
}
