/* DM Sans is self-hosted; see assets/fonts for its source and OFL license. */
@font-face {
  font-family: "DM Sans";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("../fonts/dm-sans-latin.woff2") format("woff2");
}

body.landing-refresh {
  font-family: "DM Sans", "Segoe UI", Arial, sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  line-height: 1.65;
}

body.landing-refresh:is(.projectnube-home, .apptaller-landing) :is(h1, h2, h3, h4, h5, h6) {
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: -.025em;
  text-wrap: balance;
}

body.landing-refresh :is(.menu-items a, .menu-items a:visited) {
  font-size: 15px;
  font-weight: 500;
}

body.landing-refresh :is(a.sitename, a:visited.sitename) {
  font-weight: 600;
  letter-spacing: -.025em;
}

body.landing-refresh:is(.projectnube-home, .apptaller-landing) :is(.home-kicker, .hero-kicker, .section-eyebrow, .home-section-eyebrow, .home-platform-badge, .license-badge, .solution-label) {
  font-size: 12px;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: .07em;
}

body.landing-refresh :is(.home-hero-actions, .hero-actions, .conversion-actions) :is(.btn, .button, a),
body.landing-refresh.apptaller-landing .button,
body.landing-refresh.apptaller-landing .customer-qr-copy > .btn,
body.landing-refresh.projectnube-home .page-title a {
  font-weight: 600;
  letter-spacing: 0;
}

body.landing-refresh :is(.home-trust, .hero-trust, .trust-strip) span {
  font-weight: 400;
  letter-spacing: 0;
}

/* The brand and headline have distinct weights rather than competing in bold. */
body.projectnube-home.landing-refresh .firstdescription {
  font-size: clamp(42px, 6.5vw, 82px);
  line-height: 1.08;
  letter-spacing: -.04em;
}

body.projectnube-home.landing-refresh .firstdescription strong { font-weight: 650; }

body.projectnube-home.landing-refresh .descriptionsec {
  font-size: clamp(24px, 3vw, 40px);
  font-weight: 600;
  line-height: 1.22;
  letter-spacing: -.025em;
}

body.projectnube-home.landing-refresh .home-hero-subtitle {
  max-width: 740px;
  font-size: clamp(17px, 1.6vw, 20px);
  font-weight: 400;
  line-height: 1.7;
}

body.projectnube-home.landing-refresh .page-title h2 {
  font-size: clamp(28px, 3.3vw, 40px);
  font-weight: 600;
  line-height: 1.2;
}

body.projectnube-home.landing-refresh .home-platform-card h3 {
  font-size: 28px;
  font-weight: 600;
}

body.projectnube-home.landing-refresh .home-platform-card p,
body.projectnube-home.landing-refresh .home-solution-guide :is(p, ul),
body.projectnube-home.landing-refresh .home-related-solution p {
  font-weight: 400;
  line-height: 1.7;
}

body.projectnube-home.landing-refresh :is(.home-solution-guide, .home-related-solution) h3 {
  font-weight: 600;
  line-height: 1.3;
}

body.apptaller-landing.landing-refresh .app-hero-brand .firstdescription strong { font-weight: 650; }

body.apptaller-landing.landing-refresh .descriptionsec h1 {
  max-width: 720px;
  font-size: clamp(34px, 4.1vw, 54px);
  font-weight: 650;
  line-height: 1.14;
  letter-spacing: -.03em;
}

body.apptaller-landing.landing-refresh .hero-subtitle {
  font-size: clamp(18px, 1.5vw, 20px);
  font-weight: 400;
  line-height: 1.65;
  letter-spacing: 0;
  text-wrap: pretty;
}

body.apptaller-landing.landing-refresh :is(.page-title, .solution-heading, .product-preview-heading, .customer-qr-copy, .fiscal-arca-copy, .conversion-footer) h2 {
  font-size: clamp(28px, 3.1vw, 40px);
  font-weight: 600;
  line-height: 1.2;
}

body.apptaller-landing.landing-refresh :is(.box, .solution-card) h3 {
  font-weight: 600;
  line-height: 1.25;
}

body.apptaller-landing.landing-refresh :is(.price-title, .license-subtitle, .tier-price, .license-list a) { font-weight: 600; }
body.apptaller-landing.landing-refresh .amount .big { font-weight: 600; letter-spacing: -.035em; }
body.apptaller-landing.landing-refresh .tier-name { font-weight: 500; }
body.apptaller-landing.landing-refresh .tier-meta { font-weight: 400; }
body.apptaller-landing.landing-refresh :is(.new-feature-badge, .customer-qr-status, .workflow-number, .workflow-photo figcaption > span) { font-weight: 600; }
body.apptaller-landing.landing-refresh .license-list { line-height: 1.7; }
body.apptaller-landing.landing-refresh .conversion-actions > a:last-child { font-weight: 600; }

body.landing-refresh .page-footer h6 { letter-spacing: .07em; }

@media (max-width: 575.98px) {
  body.apptaller-landing.landing-refresh .descriptionsec h1 {
    font-size: clamp(32px, 8.5vw, 38px);
    line-height: 1.16;
    letter-spacing: -.03em;
  }

  body.apptaller-landing.landing-refresh .hero-subtitle,
  body.projectnube-home.landing-refresh .home-hero-subtitle { font-size: 17px; line-height: 1.65; }

  body.landing-refresh:is(.projectnube-home, .apptaller-landing) :is(.home-kicker, .hero-kicker) { font-size: 11px; }
}
