/* Fusebox typography refinement: keep the established layout and brand colors. */
:root {
  --display: Manrope, Inter, Arial, sans-serif;
}

h1, h2, h3 {
  font-weight: 650;
  letter-spacing: -.025em;
  text-wrap: balance;
}

h2 { font-size: clamp(32px, 3.1vw, 48px); line-height: 1.18; }
h3 { line-height: 1.3; letter-spacing: -.015em; }
.hero-copy h1 {
  font-size: clamp(42px, 4.2vw, 64px);
  letter-spacing: -.035em;
  line-height: 1.14;
}
.inner-hero h1, .contact-copy h1, .calculator-hero h1 {
  letter-spacing: -.03em;
  line-height: 1.16;
}
.hero-lead { font-size: 18px; line-height: 1.7; max-width: 52ch; }
.eyebrow, .hero-copy .eyebrow, .brand-audience-grid .eyebrow,
.team-person .eyebrow { font-size: 11px; letter-spacing: .08em; }
.hero-facts { font-size: 12px; gap: 14px; line-height: 1.5; }

.site-header nav { font-size: 14px; gap: 25px; }
.button, .hero-actions .button {
  font-size: 14px;
  font-weight: 600;
  min-height: 52px;
  padding: 14px 21px;
}
.nav-cta { min-height: 48px; }
.menu-toggle { min-height: 44px; font-size: 14px; }
.capability-strip p { font-size: 14px; }
.capability-strip > span { font-size: 13px; line-height: 1.55; }
.section-heading > p { font-size: 16px; max-width: 34ch; }
.module-grid h3 { font-size: 22px; }
.module-grid p { font-size: 16px; line-height: 1.7; }
.module-label { font-size: 10px; letter-spacing: .08em; }
.brand-section > div > p:not(.eyebrow),
.brand-audience-grid p, .value-teaser p:not(.eyebrow),
.sector-value p:not(.eyebrow), .sector-intro p:not(.eyebrow),
.sector-platform p:not(.eyebrow), .chapter-list p, .day-timeline p,
.feature-list p, .setup-grid p, .vertical-audience-grid p,
.team-person > p:last-child, .founder-statement > p:last-child,
.faq-section details p, .what-next p {
  font-size: 16px;
  line-height: 1.75;
}
.check-list li { font-size: 14px; line-height: 1.6; }
.audience-link { font-size: 14px; }
.faq-section summary { font-size: 16px; }
.cta-section h2 { font-size: clamp(32px, 3.7vw, 54px); line-height: 1.18; }
.cta-section > p:not(.eyebrow) { font-size: 16px; line-height: 1.75; }

/* Enlarge controls around the illustrative phone without changing its scale. */
.demo-tabs button { font-size: 11px; min-height: 48px; line-height: 1.4; gap: 6px; padding: 8px 5px; }
.demo-disclosure { font-size: 11px; line-height: 1.6; }
.blueprint-top { font-size: 10px; }
.blueprint-modules > div { font-size: 13px; }
.blueprint-brand div > span { font-size: 12px; line-height: 1.5; }
.brand-blueprint > p { font-size: 14px; }

.contact-form-wrap label, .roi-field > label { font-size: 14px; line-height: 1.55; }
.contact-form-wrap input, .contact-form-wrap select,
.contact-form-wrap textarea, .number-wrap input { font-size: 16px; }
.contact-person a, .contact-person span { font-size: 14px; }
.form-note, .result-note { font-size: 12px; line-height: 1.7; }
.roi-results dl > div { font-size: 14px; }
.legal-copy { font-size: 16px; line-height: 1.8; }
.footer-top > div:not(:first-child) { font-size: 14px; gap: 15px; }
.footer-label { font-size: 11px; }
.email-link { font-size: 14px; }
.footer-bottom { font-size: 12px; line-height: 1.65; }

@media (max-width: 1150px) {
  .site-header nav { font-size: 13px; gap: 20px; }
  .hero-copy h1 { font-size: 44px; }
  .hero-actions .button { padding-inline: 16px; }
  .demo-tabs button { flex-direction: column; gap: 5px; }
}

@media (max-width: 980px) {
  .site-header nav { font-size: 16px; gap: 0; }
  .hero-copy h1 { font-size: 38px; }
  .hero-lead { font-size: 16px; }
  .hero-actions .button { font-size: 13px; padding-inline: 14px; }
  .hero-facts { font-size: 11px; gap: 12px; }
}

@media (max-width: 720px) {
  .hero-copy h1 { font-size: clamp(36px, 7.5vw, 50px); letter-spacing: -.03em; }
  .hero-copy .eyebrow { max-width: 100%; text-wrap: balance; }
  .hero-lead { font-size: 16px; line-height: 1.75; }
  .hero-actions .button { font-size: 14px; }
  .hero-facts { font-size: 11px; }
  .capability-strip > span { font-size: 12px; }
  .section-heading > p { font-size: 16px; max-width: 48ch; }
  .module-grid h3 { font-size: 22px; }
  .demo-tabs button { font-size: 11px; min-height: 50px; }
  .roi-field > label { font-size: 13px; }
  .roi-results dl > div { font-size: 13px; }
}

@media (max-width: 460px) {
  .hero-copy h1 { font-size: clamp(32px, 9.4vw, 42px); line-height: 1.15; }
  .hero-copy .eyebrow { font-size: 10px; line-height: 1.6; }
  .hero-actions { display: grid; grid-template-columns: 1fr; }
  .hero-actions .button { width: 100%; }
  .hero-facts { font-size: 11px; gap: 10px 13px; }
  .module-grid article { padding-left: 62px; }
  .module-icon { left: 21px; }
  .module-grid h3 { font-size: 22px; }
  .module-grid p { font-size: 16px; }
  .contact-copy h1 { font-size: clamp(36px, 10vw, 45px); }
  .calculator-hero h1 { font-size: clamp(32px, 9vw, 40px); }
  .blueprint-top { font-size: 9px; letter-spacing: .04em; }
  .footer-bottom > div { gap: 14px; }
}

/* Keep site navigation reachable while reading and show clear hover controls. */
html { scroll-padding-top: 104px; }
.site-header { position: sticky; top: 0; z-index: 40; }
.nav-dropdown summary { display: flex; align-items: center; gap: 7px; }
.nav-chevron { display: block; width: 14px; height: 14px; flex: none; transition: transform .18s; }
.nav-dropdown[open] .nav-chevron { transform: rotate(180deg); }
@media (hover: hover) and (pointer: fine) {
  .faq-section summary span { opacity: 0; transition: opacity .18s, transform .18s; }
  .faq-section details:hover summary span,
  .faq-section details:focus-within summary span,
  .faq-section details[open] summary span { opacity: 1; }
}
@media (max-width: 980px) {
  .site-header nav { max-height: calc(100dvh - 78px); overflow-y: auto; }
}
