/* SYNC typography system — v1.31.0
 * A single, late-loading layer that harmonises type without changing layout.
 */
:root {
  --sync-type-display: clamp(3.65rem, 6.15vw, 6.5rem);
  --sync-type-h1: clamp(3.2rem, 5.2vw, 5.75rem);
  --sync-type-h2: clamp(2.35rem, 3.85vw, 4.35rem);
  --sync-type-h3: clamp(1.35rem, 2.25vw, 2.45rem);
  --sync-type-body: clamp(1rem, .95rem + .18vw, 1.125rem);
  --sync-type-small: clamp(.8125rem, .79rem + .08vw, .9rem);
  --sync-type-ui: .8125rem;
  --sync-type-label: .6875rem;
  --sync-weight-display: 460;
  --sync-weight-heading: 480;
  --sync-weight-subheading: 520;
  --sync-weight-ui: 520;
  --sync-leading-display: .94;
  --sync-leading-heading: 1.04;
  --sync-leading-body: 1.72;
  --sync-tracking-display: -.058em;
  --sync-tracking-heading: -.042em;
}

body {
  font-weight: 400;
  font-kerning: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Display hierarchy across all public page families. */
:where(
  .v14-hero,
  .sv2-hero,
  .service-detail-hero,
  .sd-hero,
  .workx-hero,
  .casex-hero,
  .academy-hero,
  .academy-track-hero,
  .academy-lesson-hero,
  .academy-simple-hero,
  .av2-hero,
  .fv1-hero,
  .contact-v2-hero,
  .article-hero,
  .inner-hero,
  .tools-hero
) h1 {
  font-family: var(--font-sans);
  font-weight: var(--sync-weight-display);
  line-height: var(--sync-leading-display);
  letter-spacing: var(--sync-tracking-display);
  text-wrap: balance;
}

.v14-hero h1,
.workx-hero-copy h1,
.casex-title h1,
.av2-hero h1,
.fv1-hero h1,
.inner-hero h1 {
  font-size: var(--sync-type-display);
  font-weight: var(--sync-weight-display);
  line-height: var(--sync-leading-display);
  letter-spacing: var(--sync-tracking-display);
  text-wrap: balance;
}

.sv2-hero h1,
.sd-hero h1,
.service-detail-hero h1,
.academy-hero__copy h1,
.academy-track-hero h1,
.academy-lesson-hero h1,
.academy-simple-hero h1,
.contact-v2-intro h1,
.article-hero h1 {
  font-size: var(--sync-type-h1);
  font-weight: var(--sync-weight-display);
  line-height: var(--sync-leading-display);
  letter-spacing: var(--sync-tracking-display);
  text-wrap: balance;
}

.contact-v2-intro h1,
.contact-v2-form-head h2,
.contact-v2-result h2,
.tools-hero-copy h1 {
  font-weight: var(--sync-weight-heading);
}

.tools-home--bento .tools-hero h1 {
  font-size: clamp(2.8rem, 4.25vw, 4.2rem);
  line-height: .98;
  letter-spacing: -.05em;
  max-width: 14ch;
}

/* Section hierarchy: quieter than the display tier, but still authoritative. */
:where(
  .home-v14,
  .services-v2,
  .service-detail-v2,
  .workx-page,
  .casex-page,
  .about-v2,
  .founder-v1,
  .contact-v2,
  .academy,
  .inner-page,
  .standard-page,
  .tool-page,
  .tools-home
) h2 {
  font-family: var(--font-sans);
  font-weight: var(--sync-weight-heading);
  line-height: var(--sync-leading-heading);
  letter-spacing: var(--sync-tracking-heading);
  text-wrap: balance;
}

:where(
  .v14-section-intro,
  .v14-process-head,
  .v14-proof-copy,
  .v14-close,
  .sv2-info,
  .sv2-close,
  .workx-heading,
  .workx-section-head,
  .casex-needed,
  .casex-did,
  .casex-work,
  .casex-result,
  .casex-next,
  .av2-section-head,
  .fv1-section-head,
  .fv1-note-card,
  .academy-heading,
  .case-outcome
) h2 {
  font-size: var(--sync-type-h2);
  font-weight: var(--sync-weight-heading);
  line-height: var(--sync-leading-heading);
  letter-spacing: var(--sync-tracking-heading);
  text-wrap: balance;
}

:where(
  .home-v14,
  .services-v2,
  .service-detail-v2,
  .workx-page,
  .casex-page,
  .about-v2,
  .founder-v1,
  .contact-v2,
  .academy,
  .inner-page,
  .standard-page,
  .tool-page,
  .tools-home
) h3 {
  font-family: var(--font-sans);
  font-weight: var(--sync-weight-subheading);
  line-height: 1.12;
  letter-spacing: -.032em;
  text-wrap: balance;
}

.home-v14 h3,
.services-v2 h3,
.service-detail-v2 h3,
.workx-page h3,
.casex-page h3,
.about-v2 h3,
.founder-v1 h3,
.contact-v2 h3,
.academy h3,
.inner-page h3,
.standard-page h3,
.tool-page h3,
.tools-home h3 {
  font-family: var(--font-sans);
  font-weight: var(--sync-weight-subheading);
  line-height: 1.12;
  letter-spacing: -.032em;
  text-wrap: balance;
}

/* Long-form reading keeps a stable measure and calmer rhythm. */
:where(.editorial-content, .legal-content, .academy-reading, .academy-example__card, .fv1-note-copy) {
  font-size: var(--sync-type-body);
  line-height: var(--sync-leading-body);
}

.editorial-content,
.legal-content,
.academy-reading,
.academy-example__card,
.fv1-note-copy {
  font-size: var(--sync-type-body);
  line-height: var(--sync-leading-body);
}

:where(.editorial-content, .legal-content, .academy-reading, .fv1-note-copy) p {
  max-width: 68ch;
  line-height: var(--sync-leading-body);
}

.editorial-content {
  line-height: var(--sync-leading-body);
}

.editorial-content h2 {
  font-size: clamp(2.35rem, 3.8vw, 4.25rem);
  line-height: 1.04;
  margin-top: clamp(3.75rem, 7vw, 5rem);
}

.editorial-content h3 {
  font-size: var(--sync-type-h3);
  line-height: 1.14;
  margin-top: clamp(2.25rem, 5vw, 3.25rem);
}

.editorial-content :where(li, td, th),
.academy-reading :where(li, td, th) {
  line-height: 1.62;
}

.academy-reading,
.academy-example__card {
  font-size: clamp(1rem, .95rem + .15vw, 1.075rem);
  line-height: 1.76;
}

.academy-reading .academy-lead {
  font-weight: 480;
  font-size: clamp(1.25rem, 1.8vw, 1.55rem);
  line-height: 1.46;
}

.academy-lesson-main .academy-lesson-hero h1 {
  font-size: clamp(3.25rem, 5.6vw, 5rem);
  max-width: 13ch;
}

.academy-objectives h2,
.academy-try h2,
.academy-quiz>header h2,
.academy-resource-fields h2,
.academy-resource-section h2 {
  font-weight: var(--sync-weight-subheading);
  letter-spacing: -.025em;
}

.academy-table-wrap table {
  font-size: .875rem;
  line-height: 1.58;
}

/* UI typography is compact, legible and consistent. */
:where(.eyebrow, .av2-label, .fv1-label, .sv2-label, .academy-kicker, .panel-kicker) {
  font-size: var(--sync-type-label);
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: .15em;
}

:where(.button, .v14-text-link, .sync-header-v18 a, .mobile-dock a, .sync-footer-group a, .sync-footer-group button) {
  font-weight: var(--sync-weight-ui);
}

.button {
  font-size: var(--sync-type-ui);
  line-height: 1.2;
  letter-spacing: -.005em;
}

.sync-header-v18 :where(.desktop-nav, .header-cta) {
  font-size: .8125rem;
  font-weight: var(--sync-weight-ui);
  letter-spacing: -.01em;
}

.sync-mega-content :where(h3, strong) {
  font-weight: var(--sync-weight-subheading);
}

.mobile-dock a {
  font-size: .625rem;
  font-weight: 520;
  line-height: 1.1;
}

.sync-footer-heading p {
  font-weight: 520;
}

.sync-footer-group>strong {
  font-size: .6875rem;
}

.sync-footer-group a,
.sync-footer-group button {
  font-size: .9375rem;
}

/* Tools: app-like density without shrinking useful labels. */
.tool-bento-copy small {
  font-size: .6875rem;
}

.tool-bento-copy strong {
  font-weight: var(--sync-weight-subheading);
  line-height: 1.12;
  letter-spacing: -.025em;
}

.tool-bento-copy span,
.tools-promise--compact p {
  font-size: .8125rem;
  line-height: 1.55;
}

.tool-inputs h2,
.tool-result h2 {
  font-weight: var(--sync-weight-heading);
}

.tool-inputs label,
.result-head h3,
.tool-tabs button {
  font-size: .8125rem;
  font-weight: var(--sync-weight-ui);
}

.syncboard {
  font-family: var(--font-sans);
  font-size: .875rem;
  line-height: 1.45;
}

.syncboard-brand strong,
.syncboard-status span,
.syncboard-panel label,
.syncboard-panel small {
  font-size: .75rem;
  line-height: 1.4;
}

.syncboard-panel h2 {
  font-weight: var(--sync-weight-subheading)!important;
  letter-spacing: -.025em;
  line-height: 1.1;
}

.syncboard-app-rail button {
  font-size: .6875rem!important;
  font-weight: var(--sync-weight-ui)!important;
  line-height: 1.15;
}

@media (max-width: 700px) {
  :root {
    --sync-type-display: clamp(2.8rem, 11.8vw, 3.65rem);
    --sync-type-h1: clamp(2.65rem, 10.9vw, 3.45rem);
    --sync-type-h2: clamp(2.15rem, 8.8vw, 2.95rem);
    --sync-type-h3: clamp(1.3rem, 5.8vw, 1.75rem);
    --sync-leading-display: .97;
    --sync-leading-heading: 1.06;
    --sync-tracking-display: -.052em;
  }

  .v14-hero h1,
  .workx-hero-copy h1,
  .casex-title h1,
  .av2-hero h1,
  .fv1-hero h1,
  .inner-hero h1,
  .sv2-hero h1,
  .sd-hero h1,
  .service-detail-hero h1,
  .academy-hero__copy h1,
  .academy-track-hero h1,
  .academy-lesson-hero h1,
  .academy-simple-hero h1,
  .contact-v2-intro h1,
  .article-hero h1 {
    font-size: var(--sync-type-h1);
    line-height: var(--sync-leading-display);
    letter-spacing: var(--sync-tracking-display);
  }

  .v14-hero h1,
  .workx-hero-copy h1,
  .casex-title h1,
  .av2-hero h1,
  .fv1-hero h1,
  .inner-hero h1 {
    font-size: var(--sync-type-display);
  }

  .tools-home--bento .tools-hero h1 {
    font-size: clamp(2.45rem, 11.7vw, 3.15rem);
    line-height: 1;
  }

  .academy-lesson-main .academy-lesson-hero h1 {
    font-size: clamp(2.75rem, 11.8vw, 3.55rem);
    max-width: 14ch;
  }

  :where(.editorial-content, .legal-content, .academy-reading, .academy-example__card, .fv1-note-copy) {
    font-size: 1rem;
    line-height: 1.75;
  }

  .editorial-content h2,
  .academy-heading h2 {
    font-size: clamp(2.25rem, 9.8vw, 3rem);
    line-height: 1.07;
  }

  .academy-resource-fields h2,
  .academy-resource-section h2 {
    font-size: clamp(1.45rem, 6.4vw, 2rem);
  }

  .contact-v2-stage legend {
    font-size: 1.3125rem!important;
    line-height: 1.25;
  }

  .tool-bento-copy strong {
    font-size: 1.1875rem;
  }

  .tool-bento-copy span {
    font-size: .75rem;
  }

  .syncboard-app-rail button {
    font-size: 0!important;
  }
}

@media (max-width: 380px) {
  :root {
    --sync-type-display: clamp(2.65rem, 11.4vw, 3.2rem);
    --sync-type-h1: clamp(2.55rem, 10.8vw, 3.05rem);
    --sync-type-h2: clamp(2.05rem, 8.7vw, 2.65rem);
  }

  .button {
    font-size: .78125rem;
  }

  .sync-footer-group a,
  .sync-footer-group button {
    font-size: .9rem;
  }
}

@media print {
  body {
    font-size: 11pt;
    line-height: 1.5;
  }

  .academy-simple-hero h1 {
    font-weight: 520!important;
    letter-spacing: -.03em!important;
  }
}
