/* Shared sizing applies to website copy outside cards, panels and invitation previews. */
.material-site {
  --site-heading-size: clamp(24px, 7.5vw, 60px);
  --site-subheading-size: clamp(22px, 5.6vw, 34px);
  --site-body-size: clamp(15px, calc(14px + .25vw), 16px);
}

.material-site main :is(h1, h2):not(.home-intro h1):not(.site-type-box, .site-type-box *, .studio-theme-card *):not(.device-phone *, .studio-phone *, .preview-dialog *, .studio-fullscreen *) {
  font-size: var(--site-heading-size);
  line-height: 1.12;
  letter-spacing: -.6px;
}

.material-site main h3:not(.site-type-box, .site-type-box *, .studio-theme-card *):not(.device-phone *, .studio-phone *, .preview-dialog *, .studio-fullscreen *) {
  font-size: var(--site-subheading-size);
  line-height: 1.2;
  letter-spacing: -.3px;
}

.material-site main :is(p, li, label, legend):not(.eyebrow, .price, .add-on-badge):not(.site-type-box, .site-type-box *, .studio-theme-card *):not(.device-phone *, .studio-phone *, .preview-dialog *, .studio-fullscreen *),
.material-site main .feature-list strong:not(.site-type-box, .site-type-box *),
.material-site :is(#studio-personal-summary, #studio-gallery-status):not(.site-type-box, .site-type-box *),
.material-site .site-footer .footer-top > p,
.material-site .site-footer .footer-bottom,
.material-site .site-footer .footer-bottom > div {
  font-size: var(--site-body-size);
  line-height: 1.75;
}

/* Each requested phrase stays on its own line, shrinking only when space requires it. */
.material-site .home-two-line-heading:not(.site-type-box, .site-type-box *) { container-type: inline-size; }
.material-site .home-two-line-heading:not(.site-type-box, .site-type-box *) > .heading-line {
  font-size: min(var(--site-heading-size), 8.5cqi);
}
.material-site .editorial-copy .home-two-line-heading:not(.site-type-box, .site-type-box *) > .heading-line {
  font-size: min(var(--site-heading-size), 9.5cqi);
}
