/* Shared readability scale for the public PicoX experience. */
body {
  font-size: 15px;
}

/* Homepage */
.home-logo { font-size: 24px; }
.home-links a,
.pill { font-size: 14px; }
.hero-copy h1 { font-size: 76px; }
.hero-copy > p { font-size: 18px; }
.hero-copy .hero-sub { font-size: 15px; }
.eyebrow { font-size: 12px; }
.logo-marquee span { font-size: 13px; }
.compliance strong { font-size: 14px; }
.compliance p,
.compliance > span:nth-last-child(-n+2) { font-size: 13px; }
.heading-copy p { font-size: 17px; }
.text-link { font-size: 14px; }
.orbit-core strong,
.model-node { font-size: 13px; }
.stats span { font-size: 13px; }
.diagram-entry { font-size: 11px; }
.diagram-core b { font-size: 12px; }
.diagram-models span { font-size: 10px; }
.uptime-chip,
.price-card span { font-size: 12px; }
.saving,
.security-tags span { font-size: 11px; }
.partner-head > p:not(.eyebrow) { font-size: 16px; }
.partner-grid h3 { font-size: 19px; }
.partner-grid p { font-size: 14px; }
.quote-grid article > p { font-size: 19px; }
.quote-grid footer strong { font-size: 14px; }
.quote-grid footer span { font-size: 13px; }
.latest-grid time { font-size: 11px; }
.latest-grid h3 { font-size: 23px; }
.latest-grid a > div span { font-size: 11px; }
.latest-grid a > div b { font-size: 12px; }
.latest-grid em { font-size: 10px; }
.faq-list summary { font-size: 17px; }
.faq-list details p { font-size: 15px; }
.home-cta p { font-size: 16px; }
.footer-brand-block p,
.footer-brand-block > a:not(.home-logo),
.footer-grid > div:not(.footer-brand-block) a { font-size: 13px; }
.footer-grid h3,
.copyright { font-size: 12px; }

/* Model catalog */
.brand { font-size: 21px; }
.section-name { font-size: 16px; }
.main-nav a { font-size: 15px; }
.hero-title h1 { font-size: 40px; line-height: 50px; }
.hero-title p { font-size: 15px; line-height: 23px; }
.board-tabs button { font-size: 16px; }
.showcase-card .showcase-line strong { font-size: 15px; }
.showcase-details { font-size: 13px; }
.filter-heading strong { font-size: 17px; }
.filter-heading button { font-size: 13px; }
.filter-options em,
.free-only em,
.compact-options { font-size: 14px; }
.toolbar-left > strong { font-size: 22px; line-height: 30px; }
.family { font-size: 13px; }
.title-row h3 { font-size: 20px; line-height: 28px; }
.badge { height: 24px; font-size: 13px; }
.model-card,
.card-inner { min-height: 333px; }
.card-inner { grid-template-rows: auto 88px auto; min-height: 333px; }
.card-description { height: 88px; max-height: 88px; font-size: 15px; line-height: 22px; }
.price span { font-size: 13px; }
.price strong { font-size: 16px; line-height: 22px; }
.card-foot { font-size: 13px; }
.provider-mini { font-size: 10px; }
.footer-column h2 { font-size: 15px; }
.footer-bottom { font-size: 13px; }

/* Model detail */
.detail-breadcrumb { font-size: 13px; }
.detail-model-logo { font-size: 20px; }
.detail-family,
.detail-eyebrow { font-size: 12px; line-height: 17px; }
.detail-title-block h1 { font-size: 38px; line-height: 46px; }
.detail-id-row code { font-size: 13px; }
.detail-badge,
.detail-capability { min-height: 27px; font-size: 13px; line-height: 17px; }
.detail-button { font-size: 14px; }
.detail-section-heading h2,
.detail-aside-section h2 { font-size: 22px; line-height: 30px; }
.detail-description { font-size: 17px; line-height: 28px; }
.detail-metrics dt,
.detail-price-list dt,
.detail-spec-list dt { font-size: 12px; line-height: 17px; }
.detail-metrics dd { font-size: 15px; }
.detail-status { font-size: 13px; }
.detail-provider-table th { font-size: 12px; }
.detail-provider-logo { font-size: 11px; }
.detail-provider-table code { font-size: 12px; }
.detail-provider-table .price-cell,
.detail-availability { font-size: 13px; }
.detail-api-tabs button { height: 32px; font-size: 13px; }
.detail-code-header,
.detail-copy-button { font-size: 12px; }
.detail-code-panel pre { font-size: 13px; line-height: 21px; }
.detail-price-list strong { font-size: 17px; }
.detail-price-list dd span { font-size: 11px; }
.detail-spec-list dd { font-size: 13px; }
.detail-console-link span { font-size: 12px; }
.detail-console-link strong { font-size: 15px; }

@media (max-width: 1100px) {
  .hero-copy h1 { font-size: 64px; }
  .section-heading h2,
  .partner-head h2 { font-size: 52px; }
  .unified-copy h2,
  .feature-copy h2 { font-size: 44px; }
}

@media (max-width: 820px) {
  .home-logo { font-size: 23px; }
  .home-links a { font-size: 16px; }
  .hero-copy h1 { font-size: 54px; }
  .hero-copy > p { font-size: 17px; }
  .section-heading h2,
  .partner-head h2,
  .faq .section-heading h2 { font-size: 46px; }
}

@media (max-width: 640px) {
  .hero-title h1 { font-size: 33px; line-height: 42px; }
  .hero-title p { font-size: 14px; line-height: 22px; }
  .board-tabs button { font-size: 15px; }
  .title-row h3 { font-size: 18px; line-height: 26px; }
  .model-card,
  .card-inner { min-height: 370px; }
  .card-inner { grid-template-rows: auto 110px auto; min-height: 370px; }
  .card-description { height: 110px; max-height: 110px; font-size: 15px; line-height: 22px; }
  .detail-title-block h1 { font-size: 30px; line-height: 38px; }
  .detail-description { font-size: 16px; line-height: 27px; }
  .detail-section-heading h2,
  .detail-aside-section h2 { font-size: 21px; line-height: 29px; }
  .detail-metrics dd { font-size: 14px; }
}

@media (max-width: 540px) {
  .hero-copy h1 { font-size: 43px; }
  .hero-copy > p { font-size: 16px; }
  .hero-copy .hero-sub { font-size: 15px; }
  .section-heading h2,
  .partner-head h2,
  .faq .section-heading h2,
  .feature-copy h2,
  .unified-copy h2 { font-size: 39px; }
  .heading-copy p { font-size: 15px; }
  .quote-grid article > p { font-size: 18px; }
  .faq-list summary { font-size: 16px; }
  .home-cta h2 { font-size: 45px; }
}
