/* =========================================================
   TYPOGRAPHY V3 — Unified, tight, agency-scale
   Loaded LAST. Overrides v2 and base.
   Two goals:
   1. Fix the mixed-font look — accent words match display type
   2. Reduce sizes another 30% to true agency scale
   ========================================================= */

/* ============ UNIFY THE ACCENT — no more italic light-weight ============ */
/* This is the biggest fix: accent words were 300-weight italic which looked
   like a completely different font next to 800-weight display type.
   Now they're the same weight, same case, just green. */

.hero__title .accent,
.h-display .accent,
.h-section .accent,
.page-header__title .accent,
.ctaband__title .accent,
.approach__title .accent,
.csd-hero__title .accent,
.csd-story__content h2 .accent,
.csd-results__head h2 .accent,
.csd-final h2 .accent {
  color: var(--green) !important;
  font-weight: inherit !important;
  font-style: normal !important;
  text-transform: inherit !important;
  letter-spacing: inherit !important;
  font-family: inherit !important;
}

/* ============ HERO — smaller, tighter ============ */
.hero__title {
  font-size: clamp(30px, 3.6vw, 44px) !important;
  line-height: 1.05 !important;
  letter-spacing: -0.025em !important;
  font-weight: 800 !important;
}
.hero__copy p {
  font-size: clamp(14px, 0.95vw, 15px) !important;
  line-height: 1.55 !important;
  max-width: 52ch !important;
}
.hero {
  padding: clamp(36px, 4vh, 56px) 0 clamp(28px, 3vh, 44px) !important;
}
.hero__ctas { margin-top: 24px !important; gap: 10px !important; }
.hero__tag { margin-bottom: 20px !important; }
.hero__copy { margin-top: 20px !important; }
.hero__right { min-height: 200px !important; padding: 22px !important; }
.hero__stat {
  font-size: clamp(30px, 3vw, 42px) !important;
  line-height: 1 !important;
}
.hero__stat-sub { font-size: 11px !important; margin-top: 6px !important; }
.hero__right-label { font-size: 10px !important; }
.hero__marquee { padding: 10px 0 !important; margin-top: 32px !important; }
.hero__marquee-inner { font-size: 10px !important; }

/* ============ DISPLAY / SECTION HEADINGS ============ */
.h-display {
  font-size: clamp(24px, 2.8vw, 36px) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.02em !important;
  font-weight: 800 !important;
}
.h-section {
  font-size: clamp(22px, 2.2vw, 30px) !important;
  line-height: 1.1 !important;
  letter-spacing: -0.018em !important;
  font-weight: 800 !important;
}
.h-card {
  font-size: clamp(15px, 1.15vw, 17px) !important;
  font-weight: 700 !important;
}

/* ============ PAGE HEADERS ============ */
.page-header {
  padding: clamp(32px, 4vw, 56px) 0 clamp(24px, 3vw, 40px) !important;
}
.page-header__title {
  font-size: clamp(26px, 3vw, 40px) !important;
  line-height: 1.05 !important;
  letter-spacing: -0.022em !important;
  font-weight: 800 !important;
  max-width: 22ch !important;
}
.page-header__lead {
  font-size: clamp(13px, 0.95vw, 15px) !important;
  line-height: 1.55 !important;
  margin-top: 16px !important;
  max-width: 62ch !important;
}
.page-header__crumbs { font-size: 10px !important; margin-bottom: 18px !important; }

/* ============ LEAD BODY COPY ============ */
.lead {
  font-size: clamp(13px, 0.95vw, 15px) !important;
  line-height: 1.6 !important;
}

/* ============ PROBLEM SECTION ============ */
.problem { padding: clamp(36px, 4vw, 64px) 0 !important; }
.problem__text {
  font-size: clamp(14px, 1.1vw, 17px) !important;
  line-height: 1.5 !important;
  font-weight: 400 !important;
}
.problem__text strong { font-weight: 700 !important; }
.problem__text + .problem__text { margin-top: 14px !important; }
.problem__cta { margin-top: 24px !important; }

/* ============ STATS STRIP ============ */
.stats__item { padding: 24px 18px !important; }
.stats__num {
  font-size: clamp(24px, 2.4vw, 32px) !important;
  line-height: 1 !important;
}
.stats__label { font-size: 10px !important; margin-top: 8px !important; line-height: 1.35 !important; }
.stats__foot { font-size: 9px !important; padding: 12px 18px !important; }

/* ============ APPROACH ============ */
.approach { padding: clamp(36px, 4vw, 64px) 0 !important; }
.approach__head { max-width: 640px !important; margin-bottom: 40px !important; }
.approach__intro {
  font-size: clamp(13px, 0.95vw, 15px) !important;
  margin-top: 14px !important;
}
.approach__item { padding: 24px 18px 40px !important; }
.approach__item h3 {
  font-size: clamp(13px, 0.95vw, 15px) !important;
  line-height: 1.3 !important;
  margin-bottom: 10px !important;
  font-weight: 700 !important;
}
.approach__item p { font-size: 12px !important; line-height: 1.55 !important; }
.approach__num { font-size: 10px !important; margin-bottom: 36px !important; }

/* ============ SERVICES GRID ============ */
.services__head { margin-bottom: 36px !important; }
.services__intro { font-size: clamp(13px, 0.95vw, 15px) !important; }
.service-card {
  min-height: 220px !important;
  padding: 24px 22px !important;
}
.service-card h3 {
  font-size: clamp(15px, 1.2vw, 18px) !important;
  margin-top: 28px !important;
  line-height: 1.15 !important;
  font-weight: 800 !important;
}
.service-card p { font-size: 13px !important; line-height: 1.55 !important; margin-top: 10px !important; }
.service-card__num { font-size: 10px !important; }
.service-card__arrow {
  width: 38px !important; height: 38px !important; font-size: 15px !important;
  bottom: 20px !important; right: 20px !important;
}

/* ============ TESTIMONIALS ============ */
.testimonials { padding: clamp(36px, 4vw, 64px) 0 !important; }
.testimonials__head { margin-bottom: 36px !important; }
.testimonial {
  min-height: 240px !important;
  padding: 26px 22px !important;
}
.testimonial__quote-mark { font-size: 36px !important; margin-bottom: 12px !important; }
.testimonial__text { font-size: 13px !important; line-height: 1.55 !important; }
.testimonial__result { font-size: 9px !important; padding: 4px 9px !important; margin-top: 14px !important; }
.testimonial__author { margin-top: 16px !important; padding-top: 14px !important; }
.testimonial__avatar { width: 36px !important; height: 36px !important; font-size: 12px !important; }
.testimonial__author-name { font-size: 12px !important; }
.testimonial__author-role { font-size: 10px !important; }

/* ============ CLIENTS ROW ============ */
.clients { padding: 48px 0 !important; }
.clients__cell {
  font-size: clamp(11px, 0.9vw, 13px) !important;
}

/* ============ CTA BAND ============ */
.ctaband { padding: clamp(36px, 4vw, 60px) 0 !important; }
.ctaband__title {
  font-size: clamp(20px, 2.4vw, 32px) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.018em !important;
  font-weight: 800 !important;
}

/* ============ SECTIONS SPACING ============ */
.section { padding: clamp(36px, 4vw, 64px) 0 !important; }
.section--tight { padding: clamp(20px, 2.5vw, 36px) 0 !important; }

/* ============ BUTTONS ============ */
.btn {
  padding: 11px 18px !important;
  font-size: 11px !important;
  letter-spacing: .12em !important;
}
.btn--sm { padding: 8px 12px !important; font-size: 10px !important; }
.btn::after { font-size: 14px !important; }

/* ============ HEADER / NAV ============ */
.header__inner { height: 60px !important; }
.logo { font-size: 15px !important; }
.logo__mark { width: 24px !important; height: 24px !important; }
.nav__link { font-size: 12px !important; }
.nav__list { gap: 22px !important; }
.nav { gap: 26px !important; }

/* ============ CONSTRUCTION BANNER ============ */
.construction { padding: 6px 0 !important; font-size: 10px !important; }

/* ============ ABOUT PAGE ============ */
.about-block h3 { font-size: 10px !important; margin-bottom: 12px !important; }
.about-block p {
  font-size: clamp(13px, 0.95vw, 15px) !important;
  line-height: 1.6 !important;
}
.about-block + .about-block { margin-top: 32px !important; }
.mv { padding: clamp(36px, 4vw, 64px) 0 !important; }
.mv__card { padding: 32px 26px !important; }
.mv__label { font-size: 10px !important; margin-bottom: 12px !important; }
.mv__title {
  font-size: clamp(18px, 2vw, 26px) !important;
  margin-bottom: 12px !important;
  font-weight: 800 !important;
}
.mv__body { font-size: 13px !important; line-height: 1.55 !important; }
.team { padding: clamp(36px, 4vw, 64px) 0 !important; }
.team__grid { margin-top: 32px !important; gap: 20px !important; }
.team__card { padding: 18px !important; }
.team__avatar { font-size: 26px !important; margin-bottom: 12px !important; }
.team__name { font-size: 14px !important; }
.team__role { font-size: 10px !important; }
.timeline { padding: clamp(36px, 4vw, 64px) 0 !important; }
.timeline__list { margin-top: 36px !important; }
.timeline__item { padding: 18px 0 !important; }
.timeline__year { font-size: 18px !important; }
.timeline__event { font-size: 13px !important; }
.timeline__dot { width: 10px !important; height: 10px !important; }

/* ============ SERVICE DETAIL PAGES ============ */
.svc-intro h2 { margin-bottom: 14px !important; }
.svc-intro p {
  font-size: clamp(13px, 0.95vw, 15px) !important;
  line-height: 1.65 !important;
}
.svc-intro p + p { margin-top: 10px !important; }
.svc-process { padding: clamp(36px, 4vw, 64px) 0 !important; }
.svc-process__head { margin-bottom: 36px !important; }
.svc-step {
  min-height: 200px !important;
  padding: 24px 20px !important;
}
.svc-step__num {
  width: 34px !important; height: 34px !important;
  font-size: 12px !important;
  margin-bottom: 16px !important;
}
.svc-step h4 { font-size: 15px !important; margin-bottom: 8px !important; line-height: 1.2 !important; font-weight: 700 !important; }
.svc-step p { font-size: 12px !important; line-height: 1.55 !important; }
.svc-deliverables { padding: clamp(36px, 4vw, 64px) 0 !important; }
.svc-deliverables__grid { gap: 48px !important; }
.svc-deliverables__list li {
  font-size: 13px !important;
  padding: 14px 0 !important;
}

/* ============ FAQ ============ */
.faq { padding: clamp(36px, 4vw, 64px) 0 !important; }
.faq__grid { gap: 48px !important; }
.faq__q {
  font-size: clamp(13px, 1vw, 15px) !important;
  padding: 18px 0 !important;
  font-weight: 700 !important;
}
.faq__icon {
  width: 26px !important; height: 26px !important;
  font-size: 15px !important;
  margin-left: 14px !important;
}
.faq__a-inner {
  font-size: 13px !important;
  line-height: 1.6 !important;
  padding: 0 0 18px !important;
}

/* ============ CASE STUDY INDEX CARDS ============ */
.cs-card { min-height: 320px !important; }
.cs-card__body { padding: 22px !important; }
.cs-card__industry { font-size: 9px !important; margin-bottom: 8px !important; }
.cs-card__title {
  font-size: clamp(14px, 1.15vw, 17px) !important;
  margin-bottom: 8px !important;
  line-height: 1.15 !important;
  font-weight: 800 !important;
}
.cs-card__desc { font-size: 12px !important; line-height: 1.5 !important; }
.cs-card__foot { margin-top: 16px !important; padding-top: 12px !important; font-size: 10px !important; }
.cs-card__metric-value { font-size: clamp(26px, 3vw, 40px) !important; }
.cs-card__metric-label { font-size: 9px !important; }
.cs-card__tag { font-size: 9px !important; padding: 4px 9px !important; }
.cs-card__result { font-size: 9px !important; padding: 4px 9px !important; }

/* ============ CASE STUDY DETAIL PAGE ============ */
.csd-hero { padding: clamp(36px, 4vw, 60px) 0 clamp(24px, 3vw, 44px) !important; }
.csd-hero::before { width: 180px !important; height: 180px !important; }
.csd-hero__crumbs { font-size: 10px !important; margin-bottom: 24px !important; }
.csd-hero__tags { margin-bottom: 18px !important; }
.csd-hero__tag { font-size: 9px !important; padding: 4px 10px !important; }
.csd-hero__client { font-size: 10px !important; margin-bottom: 10px !important; }
.csd-hero__title {
  font-size: clamp(22px, 2.6vw, 36px) !important;
  line-height: 1.05 !important;
  letter-spacing: -0.02em !important;
  font-weight: 800 !important;
}
.csd-hero__lede {
  font-size: clamp(13px, 0.95vw, 15px) !important;
  line-height: 1.55 !important;
  margin-top: 14px !important;
}
.csd-stats__item { padding: 22px 18px !important; }
.csd-stats__value {
  font-size: clamp(20px, 2.2vw, 30px) !important;
  line-height: 1 !important;
}
.csd-stats__label { font-size: 9px !important; margin-top: 8px !important; }
.csd-meta { padding: 20px 0 !important; }
.csd-meta__label { font-size: 9px !important; margin-bottom: 4px !important; }
.csd-meta__value { font-size: 12px !important; }
.csd-story__grid { gap: 48px !important; }
.csd-story__num { font-size: 11px !important; }
.csd-story__num strong {
  font-size: 36px !important;
  margin-bottom: 8px !important;
  font-weight: 800 !important;
}
.csd-story__content h2 {
  font-size: clamp(18px, 2vw, 26px) !important;
  margin-bottom: 16px !important;
  line-height: 1.08 !important;
  font-weight: 800 !important;
}
.csd-story__content p {
  font-size: clamp(13px, 0.95vw, 15px) !important;
  line-height: 1.65 !important;
  margin-bottom: 14px !important;
}
.csd-story__content p.lead-para {
  font-size: clamp(14px, 1.05vw, 16px) !important;
  line-height: 1.5 !important;
  margin-bottom: 18px !important;
  font-weight: 500 !important;
}
.csd-pullquote {
  font-size: clamp(13px, 1.15vw, 16px) !important;
  padding: 22px 26px !important;
  margin: 24px 0 !important;
  line-height: 1.4 !important;
}
.csd-checklist li {
  font-size: 13px !important;
  padding: 10px 0 10px 26px !important;
}
.csd-checklist li::before { font-size: 14px !important; }
.csd-inline-stats { gap: 14px !important; margin: 20px 0 !important; }
.csd-inline-stat { padding: 16px !important; }
.csd-inline-stat__value { font-size: 24px !important; }
.csd-inline-stat__label { font-size: 9px !important; }
.csd-mid-cta { padding: 32px 0 !important; }
.csd-mid-cta__text {
  font-size: clamp(14px, 1.35vw, 18px) !important;
  line-height: 1.3 !important;
  font-weight: 700 !important;
}
.csd-results { padding: clamp(36px, 4vw, 64px) 0 !important; }
.csd-results__head { margin-bottom: 36px !important; }
.csd-results__head h2 {
  font-size: clamp(20px, 2.4vw, 32px) !important;
  font-weight: 800 !important;
}
.csd-results__head p { font-size: clamp(13px, 0.95vw, 15px) !important; }
.csd-results__item { padding: 24px 18px !important; }
.csd-results__value {
  font-size: clamp(22px, 2.6vw, 32px) !important;
}
.csd-results__label { font-size: 11px !important; margin-top: 10px !important; }
.csd-testimonial { padding: clamp(36px, 4vw, 56px) 0 !important; }
.csd-testimonial__mark { font-size: 42px !important; margin-bottom: 18px !important; }
.csd-testimonial__quote {
  font-size: clamp(13px, 1.25vw, 17px) !important;
  line-height: 1.4 !important;
  margin-bottom: 22px !important;
}
.csd-testimonial__name { font-size: 12px !important; }
.csd-testimonial__role { font-size: 10px !important; }
.csd-testimonial__avatar { width: 36px !important; height: 36px !important; font-size: 11px !important; }
.csd-related { padding: clamp(36px, 4vw, 56px) 0 !important; }
.csd-related__head { margin-bottom: 32px !important; }
.csd-related__title {
  font-size: clamp(18px, 2vw, 26px) !important;
  font-weight: 800 !important;
}
.csd-final { padding: clamp(36px, 4vw, 56px) 0 !important; }
.csd-final h2 {
  font-size: clamp(20px, 2.4vw, 32px) !important;
  margin-bottom: 12px !important;
  font-weight: 800 !important;
}
.csd-final p { font-size: clamp(13px, 0.95vw, 15px) !important; }

/* ============ CONTACT PAGE ============ */
.contact-form { padding: 32px 28px !important; }
.contact-info { padding: 32px 28px !important; }
.contact-form h3, .contact-info h3 {
  font-size: clamp(16px, 1.6vw, 20px) !important;
  margin-bottom: 6px !important;
  font-weight: 800 !important;
}
.contact-form__note { font-size: 12px !important; margin-bottom: 20px !important; }
.contact-info > p { font-size: 12px !important; margin-bottom: 22px !important; }
.contact-info__block { padding: 14px 0 !important; }
.contact-info__label { font-size: 9px !important; margin-bottom: 4px !important; }
.contact-info__value { font-size: 13px !important; }
.contact-info__footer { font-size: 11px !important; padding-top: 20px !important; }
.contact-field { margin-bottom: 16px !important; }
.contact-field label { font-size: 9px !important; margin-bottom: 5px !important; }
.contact-field input, .contact-field select, .contact-field textarea {
  font-size: 13px !important;
  padding: 8px 0 !important;
}
.contact-field textarea { min-height: 72px !important; }

/* ============ EYEBROWS ============ */
.eyebrow {
  font-size: 9px !important;
  letter-spacing: .2em !important;
  gap: 8px !important;
  font-weight: 600 !important;
}
.eyebrow::before { width: 20px !important; height: 2px !important; }

/* ============ TRUST BAR ============ */
.trust-bar { padding: 22px 0 !important; }
.trust-bar__value {
  font-size: clamp(18px, 2vw, 24px) !important;
}
.trust-bar__label { font-size: 9px !important; margin-top: 5px !important; }

/* ============ EXIT MODAL ============ */
.exit-modal__inner { padding: 32px 28px 28px !important; }
.exit-modal__title {
  font-size: clamp(18px, 2vw, 24px) !important;
  margin-bottom: 12px !important;
  font-weight: 800 !important;
}
.exit-modal__body { font-size: 13px !important; line-height: 1.55 !important; margin-bottom: 18px !important; }
.exit-modal__eyebrow { font-size: 9px !important; margin-bottom: 8px !important; }
.exit-modal__row input { padding: 10px 12px !important; font-size: 13px !important; }
.exit-modal__mini { font-size: 10px !important; }

/* ============ MOBILE STICKY CTA ============ */
.mobile-cta-bar__btn {
  padding: 10px 16px !important;
  font-size: 12px !important;
}

/* ============ FOOTER ============ */
.footer { padding: 44px 0 20px !important; }
.footer__top { padding-bottom: 32px !important; gap: 26px !important; }
.footer__brand p { font-size: 12px !important; margin-top: 12px !important; }
.footer__col h4 { font-size: 9px !important; margin-bottom: 12px !important; }
.footer__col li { margin-bottom: 8px !important; }
.footer__col a { font-size: 12px !important; }
.footer__bottom { padding-top: 20px !important; }
.footer__copy { font-size: 10px !important; }
.footer__social a { width: 28px !important; height: 28px !important; font-size: 11px !important; }

/* ============ MOBILE OVERRIDES ============ */
@media (max-width: 768px) {
  .hero__title { font-size: clamp(22px, 6vw, 32px) !important; }
  .page-header__title { font-size: clamp(22px, 6vw, 32px) !important; }
  .h-display { font-size: clamp(20px, 5vw, 28px) !important; }
  .h-section { font-size: clamp(18px, 4.5vw, 24px) !important; }
  .ctaband__title { font-size: clamp(18px, 4.5vw, 24px) !important; }
  .csd-hero__title { font-size: clamp(20px, 5.5vw, 28px) !important; }
  .csd-story__num strong { font-size: 30px !important; }
  .csd-story__content h2 { font-size: clamp(17px, 4.5vw, 22px) !important; }
  .csd-final h2 { font-size: clamp(18px, 4.5vw, 24px) !important; }
  .csd-results__head h2 { font-size: clamp(18px, 4.5vw, 24px) !important; }
  .mv__title { font-size: clamp(17px, 4.5vw, 22px) !important; }
  .problem__text { font-size: clamp(14px, 3.5vw, 16px) !important; }
  .csd-mid-cta__text { font-size: clamp(14px, 3.5vw, 16px) !important; }
}
