/*
 * AVERO Business OS — canonical web typography layer.
 *
 * Bricolage Grotesque is reserved for editorial display (H1/H2 and large
 * proof numbers). Manrope carries product stories, UI, navigation and body
 * copy. This file intentionally loads after styles.css so the page has one
 * final, auditable type hierarchy despite older component-level rules.
 */

.home-page {
  --type-display: "Bricolage Grotesque", "Manrope", system-ui, sans-serif;
  --type-ui: "Manrope", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --type-display-xl: clamp(58px, 5.1vw, 78px);
  --type-display-lg: clamp(42px, 3.7vw, 58px);
  --type-story: clamp(31px, 2.7vw, 42px);
  --type-card: clamp(20px, 1.6vw, 26px);
  --type-lead: 18px;
  --type-body: 16px;
  --type-support: 14px;
  --type-label: 12px;
  font-family: var(--type-ui);
  font-size: 16px;
  font-weight: 450;
  line-height: 1.65;
  font-kerning: normal;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: auto;
  -moz-osx-font-smoothing: auto;
}

.home-page h1,
.home-page h2 {
  font-family: var(--type-display);
  font-optical-sizing: auto;
  font-weight: 600;
  text-wrap: balance;
}

.home-page h1 {
  font-size: var(--type-display-xl);
  line-height: .98;
  letter-spacing: -.025em;
}

.home-page .section-heading h2,
.home-page .core-copy h2,
.home-page .gastro-intro h2,
.home-page .live-copy h2,
.home-page .implementation-heading h2,
.home-page .faq-heading h2,
.home-page .contact-copy h2 {
  font-size: var(--type-display-lg);
  line-height: 1.035;
  letter-spacing: -.022em;
}

.home-page h3,
.home-page h4,
.home-page .faq-list summary {
  font-family: var(--type-ui);
  font-optical-sizing: auto;
  font-kerning: normal;
  font-weight: 700;
  line-height: 1.14;
  letter-spacing: -.014em;
  text-wrap: balance;
}

.home-page .kasa-proof__copy h3,
.home-page .platform-scope__heading h3,
.home-page .gastro-stage__copy h3,
.home-page .experience-heading h3,
.home-page .live-prize__copy h3 {
  font-family: var(--type-ui);
  font-kerning: normal;
  font-size: var(--type-story);
  font-weight: 700;
  line-height: 1.12;
  letter-spacing: -.018em;
}

.home-page .beauty-cinema h4,
.home-page .hair-bridge h4,
.home-page .operation-story h4,
.home-page .widget-lab-copy h4,
.home-page .module-directory h4 {
  font-family: var(--type-ui);
  font-weight: 700;
  line-height: 1.16;
  letter-spacing: -.012em;
}

.home-page p {
  text-wrap: pretty;
}

.home-page .hero-lead {
  max-width: 60ch;
  font-size: var(--type-lead);
  font-weight: 500;
  line-height: 1.58;
}

.home-page .section-heading > p,
.home-page .section-heading--split > p,
.home-page .core-copy > p,
.home-page .gastro-intro__copy > p,
.home-page .live-lead,
.home-page .implementation-heading > p,
.home-page .faq-heading > p,
.home-page .contact-copy > p {
  max-width: 62ch;
  font-size: var(--type-body);
  font-weight: 450;
  line-height: 1.65;
}

.home-page .kasa-proof__copy > p,
.home-page .platform-scope__heading p,
.home-page .gastro-stage__copy > p,
.home-page .experience-heading > p,
.home-page .parking-role-story p,
.home-page .beauty-cinema p,
.home-page .widget-lab-copy > p,
.home-page .operation-story > p,
.home-page .ecosystem-experience .experience-heading > p,
.home-page .hair-bridge > p,
.home-page .module-directory article > p {
  max-width: 62ch;
  font-size: 15px;
  font-weight: 450;
  line-height: 1.62;
}

.home-page .platform-scope__grid p,
.home-page .core-principles p,
.home-page .stage-points small,
.home-page .live-process p,
.home-page .faq-list details p,
.home-page .contact-promise p,
.home-page .form-action p,
.home-page .footer-brand p {
  font-size: var(--type-support);
  font-weight: 450;
  line-height: 1.58;
}

.home-page .eyebrow,
.home-page .section-index,
.home-page .stage-kicker,
.home-page .integration-kicker,
.home-page .experience-heading > div > span,
.home-page .module-index__rail > a > span,
.home-page .module-directory article > span {
  font-family: var(--type-ui);
  font-size: var(--type-label);
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: .065em;
}

.home-page .desktop-nav a,
.home-page .login-link,
.home-page .button,
.home-page .product-role-switch button,
.home-page .module-showcase-tabs button,
.home-page .core-flow-tabs button {
  font-family: var(--type-ui);
  font-weight: 700;
}

.home-page .button {
  font-size: 14px;
  letter-spacing: -.008em;
}

.home-page .module-index__rail small {
  font-size: 12px;
  font-weight: 500;
  line-height: 1.5;
}

.home-page .module-showcase-tabs .product-lockup b {
  font-family: var(--type-ui);
  font-weight: 700;
}

.home-page .module-showcase-tabs button small {
  font-size: 11px;
  font-weight: 600;
  line-height: 1.4;
}

.home-page .proof-metrics strong,
.home-page .case-facts strong,
.home-page .kukucorn-case__metrics strong,
.home-page .parking-kpis strong,
.home-page .beauty-kpis strong,
.home-page .avero-widget-card__metric strong {
  font-variant-numeric: tabular-nums;
  letter-spacing: -.025em;
}

.home-page .proof-metrics span,
.home-page .proof-sources a {
  font-size: 11px;
  font-weight: 600;
  line-height: 1.45;
}

/* Labels that explain the product remain readable on a phone. Decorative
   interface microcopy inside device mockups keeps its compact scale. */
.home-page .platform-scope__grid article > div > span,
.home-page .platform-scope__grid article > div > small,
.home-page .kasa-proof__copy > span,
.home-page .live-photo-proof__head > span,
.home-page .live-prize__copy > span,
.home-page .live-prize__screen > span,
.home-page .live-prize__sms > span,
.home-page .module-showcase-intro > span,
.home-page .contact-mail > span,
.home-page .form-card__top span,
.home-page .form-card__top > small {
  font-family: var(--type-ui);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: .065em;
}

.home-page .preview-form-note {
  font-size: 11px;
  line-height: 1.5;
}

/* Readable product proof: small enough to feel like UI, never ornamental dust. */
.home-page .kasa-proof__photo-label,
.home-page .kasa-payment-card figcaption,
.home-page .kasa-event-chip small,
.home-page .kasa-proof__flow em,
.home-page .kasa-proof__flow small {
  font-family: var(--type-ui);
  font-size: 10.5px;
  font-weight: 700;
  line-height: 1.35;
}

.home-page .kasa-event-chip strong {
  font-size: 12px;
  font-weight: 700;
}

.home-page .core-event span,
.home-page .core-system-grid span {
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: .055em;
}

.home-page .core-event strong {
  font-size: 14px;
  font-weight: 700;
}

.home-page .core-event small,
.home-page .core-system-grid small,
.home-page .core-system-board__foot {
  font-size: 11px;
  line-height: 1.45;
}

.home-page .core-system-grid strong {
  font-size: 13px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}

.home-page .core-sync-line b {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .045em;
}

.home-page .core-system-board__foot,
.home-page .core-system-board__foot b {
  font-size: 11px;
}

.home-page .kukucorn-case__intro > div > span,
.home-page .parking-context-photo figcaption span,
.home-page .parking-demo-note,
.home-page .beauty-cinema figcaption > small,
.home-page .widget-lab-kicker {
  font-family: var(--type-ui);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.4;
}

.home-page .live-photo-rail figcaption span,
.home-page .module-index__rail .product-lockup__unit b {
  font-size: 10.5px;
  font-weight: 700;
}

.home-page .live-prize__screen small,
.home-page .live-prize__sms small,
.home-page .parking-process article > span,
.home-page .parking-process small {
  font-size: 11px;
  line-height: 1.45;
}

@media (hover: hover) and (pointer: fine) {
  .home-page .module-index__rail a[data-module]:hover > span,
  .home-page .module-index__rail a[data-module]:hover small {
    color: #fff;
  }
}

@media (max-width: 700px) {
  .home-page {
    --type-display-xl: clamp(44px, 12vw, 50px);
    --type-display-lg: clamp(34px, 9.2vw, 40px);
    --type-story: clamp(27px, 7.5vw, 31px);
    --type-card: clamp(20px, 5.6vw, 24px);
    --type-lead: 16px;
    --type-body: 16px;
    --type-support: 14px;
    --type-label: 11px;
  }

  .home-page h1 {
    line-height: 1.02;
    letter-spacing: -.022em;
  }

  .home-page .section-heading h2,
  .home-page .core-copy h2,
  .home-page .gastro-intro h2,
  .home-page .live-copy h2,
  .home-page .implementation-heading h2,
  .home-page .faq-heading h2,
  .home-page .contact-copy h2 {
    line-height: 1.075;
    letter-spacing: -.017em;
  }

  .home-page .hero .eyebrow {
    font-size: 11px;
    line-height: 1.35;
  }

  .home-page .hero-lead {
    font-size: 16px;
    line-height: 1.62;
  }

  .home-page .section-heading > p,
  .home-page .section-heading--split > p,
  .home-page .core-copy > p,
  .home-page .gastro-intro__copy > p,
  .home-page .live-lead,
  .home-page .implementation-heading > p,
  .home-page .faq-heading > p,
  .home-page .contact-copy > p {
    font-size: 16px !important;
    line-height: 1.62;
  }

  .home-page .kasa-proof__copy > p,
  .home-page .platform-scope__heading p,
  .home-page .gastro-stage__copy > p,
  .home-page .experience-heading > p,
  .home-page .parking-role-story p,
  .home-page .beauty-cinema p,
  .home-page .widget-lab-copy > p,
  .home-page .operation-story > p,
  .home-page .ecosystem-experience .experience-heading > p,
  .home-page .hair-bridge > p,
  .home-page .module-directory article > p {
    font-size: 15px !important;
    line-height: 1.62;
  }

  .home-page .platform-scope__grid p,
  .home-page .core-principles p,
  .home-page .stage-points small,
  .home-page .live-process p,
  .home-page .faq-list details p,
  .home-page .contact-promise p,
  .home-page .form-action p {
    font-size: 14px;
    line-height: 1.58;
  }

  .home-page .platform-scope__grid p {
    font-size: 13.5px;
  }

  .home-page .module-index__rail small {
    font-size: 12px !important;
    line-height: 1.48;
  }

  .home-page .module-showcase-tabs button small {
    font-size: 11px;
  }

  .home-page .proof-metrics span,
  .home-page .proof-sources a {
    font-size: 11px;
  }

  .home-page .current-phone__label,
  .home-page .hero-event-stream small {
    font-size: 10px;
  }

  .home-page .platform-scope__grid article > div > span,
  .home-page .platform-scope__grid article > div > small,
  .home-page .live-prize__copy > span,
  .home-page .live-prize__screen > span,
  .home-page .live-prize__sms > span,
  .home-page .module-showcase-intro > span,
  .home-page .contact-mail > span,
  .home-page .form-card__top span,
  .home-page .form-card__top > small {
    font-size: 11px;
  }

  .home-page .platform-scope__grid h4 {
    font-size: 20px;
  }

  .home-page .module-directory article > span,
  .home-page .module-directory article > small {
    font-size: 11px;
  }

  .home-page .module-directory article > p {
    font-size: 15px !important;
  }

  .home-page .core-sync-line b {
    font-size: 11px;
  }
}

@media (min-width: 701px) and (max-width: 980px) {
  .home-page {
    --type-display-xl: clamp(50px, 7.2vw, 58px);
    --type-display-lg: clamp(40px, 5.2vw, 42px);
    --type-lead: 17px;
  }

  .home-page .platform-scope__grid h4 {
    font-size: clamp(20px, 3vw, 24px);
  }
}

@media (max-width: 374px) {
  .home-page {
    --type-display-xl: 43px;
    --type-display-lg: 34px;
    --type-story: 27px;
  }

  .home-page .proof-metrics span,
  .home-page .proof-sources a,
  .home-page .module-index__rail small {
    font-size: 11px !important;
  }
}
