/* Shared responsive scale. Loaded after the captured Webflow styles.
 * Specificity/important deliberately retire legacy viewport-sized headings,
 * without changing semantic levels, brand fonts, body text or component spacing.
 * rem + vw preserves text zoom; no overflow clipping or fixed-height headings.
 */
:root {
  --prix-type-h1: clamp(2rem, 1.45rem + 2vw, 3.5rem);
  --prix-type-h2: clamp(1.625rem, 1.25rem + 1.4vw, 2.5rem);
  --prix-type-h3: clamp(1.25rem, 1.1rem + .55vw, 1.5rem);
  --prix-type-h4: clamp(1.125rem, 1.05rem + .3vw, 1.25rem);
  --prix-type-prose-h2: clamp(1.5rem, 1.25rem + 1vw, 2rem);
}
body[data-prix-type="home"] { --prix-type-h1: clamp(2.25rem, 1.55rem + 2.6vw, 4rem); }
body[data-prix-type="article"] { --prix-type-h1: clamp(2rem, 1.4rem + 2vw, 3.25rem); }
/* Legacy hero's automatic grid minimum was wider than a phone because of its
 * proof/logo row. Let the text column shrink instead of clipping the title. */
body[data-prix-type] .home_hero-header_content > * { min-width: 0; }
@media (max-width: 767px) {
  body[data-prix-type] .home_hero-header_content { grid-template-columns: minmax(0, 1fr); }
}

body[data-prix-type][data-prix-type] :is(h1,.heading-style-h1) {
  font-size: var(--prix-type-h1) !important;
  line-height: 1.12 !important;
  letter-spacing: -.035em !important;
  text-wrap: balance;
  overflow-wrap: break-word;
}
body[data-prix-type][data-prix-type] :is(h2,.heading-style-h2):not(h1) {
  font-size: var(--prix-type-h2) !important;
  line-height: 1.2 !important;
  letter-spacing: -.025em !important;
  text-wrap: balance;
  overflow-wrap: break-word;
}
body[data-prix-type][data-prix-type] :is(h3,.heading-style-h3):not(h1) {
  font-size: var(--prix-type-h3) !important;
  line-height: 1.3 !important;
  letter-spacing: -.015em !important;
}
body[data-prix-type][data-prix-type] :is(h4,.heading-style-h4):not(h1) {
  font-size: var(--prix-type-h4) !important;
  line-height: 1.35 !important;
}
/* Reading headings and card titles stay quieter than section headings. */
body[data-prix-type][data-prix-type] :is(.w-richtext,.px-reading-body,.px-article-prose,.svc-rich,.tool-copy) h2 {
  font-size: var(--prix-type-prose-h2) !important;
}
body[data-prix-type][data-prix-type] :is(h1,h2,h3,h4) :is(span,em,strong,b) {
  font-size: inherit !important;
  line-height: inherit !important;
}
/* Existing label semantics and small form/consent controls are not hero text. */
body[data-prix-type][data-prix-type] :is(.heading-style-h6,.text-style-tagline) {
  font-size: 1rem !important;
  line-height: 1.5 !important;
}
body[data-prix-type][data-prix-type] :is(.prix-form-dialog,.prix-enquiry) h2 {
  font-size: var(--prix-type-prose-h2) !important;
}
body[data-prix-type][data-prix-type] #prix-tracking-preferences h2 {
  font-size: 1.125rem !important;
  line-height: 1.35 !important;
}
