/* Shared text rules. The existing site fonts are local so line wrapping does
   not depend on Google Fonts loading or a temporary system-font fallback. */
@font-face{font-family:Geologica;src:url('a2/case-source/geologica-300.ttf') format('truetype');font-style:normal;font-weight:300;font-display:swap}
@font-face{font-family:Geologica;src:url('a2/case-source/geologica-400.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Geologica;src:url('a2/case-source/geologica-500.ttf') format('truetype');font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:Geologica;src:url('a2/case-source/geologica-600.ttf') format('truetype');font-style:normal;font-weight:600;font-display:swap}

:where(h1,h2,h3,h4,h5,h6){text-wrap:balance;hyphens:manual;word-break:normal}
:where(p,li,dd,dt,blockquote,figcaption,.txt,.ttl){text-wrap:pretty;hyphens:manual;word-break:normal}
a[href^="mailto:"]{overflow-wrap:anywhere}
.crumbs{flex-wrap:wrap}
.crumbs>.crumb-level{display:inline-flex;align-items:baseline;gap:12px;max-width:100%;min-width:0}
.crumbs>.crumb-level>.sep{flex:0 0 auto;margin:0}
.crumbs>.crumb-level>:not(.sep){min-width:0;overflow-wrap:anywhere}
:where(.price,.pg-mini-n,.pg-db-k b){font-variant-numeric:tabular-nums}

/* Off-canvas decorative images must not widen the page. */
.ip-hero{overflow-x:clip}
.consult-questions li.consult-questions-result{grid-template-columns:max-content minmax(0,1fr)}
.pg-stage-demo,#product .pg-stage-demo{display:block;max-width:100%;white-space:normal;text-align:left;text-wrap:pretty}
@media(min-width:761px) and (max-width:1100px){
  .ppc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(min-width:1101px) and (max-width:1350px){
  .ppc-grid.four,.pg-mos{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ppc-five{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media(max-width:640px){
  /* Animation wrappers must not turn whole phrases into unbreakable boxes. */
  h1 .w,h1 .w>i{display:inline;overflow:visible;transform:none;animation:none}
  .hero-copy h1,.ip-hero .head-col h1{font-size:clamp(26px,7.2vw,32px)!important}
  .ip-hero .head-col.w9 h1.tight{font-size:clamp(22px,6.1vw,28px)!important}
  .proc-head h2{font-size:clamp(26px,7.6vw,34px)}
  .ip-hero .head-col.w9 h1 .hero-line{white-space:normal}
}
