/* Shared fluid type scale. Keep the browser's root size and zoom preferences. */
:root{
  --type-body:1rem;
  --type-copy:clamp(1rem,calc(.975rem + .1vw),1.025rem);
  --type-lead:clamp(1rem,calc(.94rem + .25vw),1.0625rem);
  --type-h1:clamp(1.75rem,calc(1.5rem + 1.5vw),2.75rem);
  --type-display:clamp(2rem,calc(1.6rem + 2vw),3.5rem);
  --type-detail:clamp(1.5rem,calc(1.25rem + 1.25vw),2.125rem);
  --type-h2:clamp(1.375rem,calc(1.2rem + .75vw),1.875rem);
  --type-h3:clamp(1.125rem,calc(1.05rem + .3vw),1.25rem);
  --type-card:clamp(.9375rem,calc(.9rem + .12vw),1rem);
}
body{font-size:var(--type-body);line-height:1.6}
h1,h2,h3{overflow-wrap:break-word;letter-spacing:-.025em}
h1,.page-heading h1,.journal-heading h1,.error-main h1{font-size:var(--type-h1);line-height:1.16}
.hero h1{font-size:var(--type-display);line-height:1.12}
.detail-title{font-size:var(--type-detail);line-height:1.22}
h2,.prose h2,.category-copy h2,.journal-article .prose h2,.journal-next h2{font-size:var(--type-h2);line-height:1.25}
h3,.category-copy h3,.journal-article .prose h3{font-size:var(--type-h3);line-height:1.35}
.prose,.category-copy{font-size:var(--type-copy);line-height:1.65}
.hero-lede,.category-intro,.page-lede,.error-description,.journal-heading p:not(.eyebrow){font-size:var(--type-lead);line-height:1.6}
.page-heading{padding-block:clamp(1.75rem,3vw,2.75rem) 1.5rem}
.page-heading h1{margin-block:.5em .4em}
.prose h2,.category-copy h2,.journal-article .prose h2{margin-block:1.6em .65em}
.prose h3,.category-copy h3,.journal-article .prose h3{margin-block:1.4em .6em}
.prose>h2:first-child,.category-copy>h2:first-child{margin-top:0}
.prose p,.journal-article .prose p{margin-bottom:1.1em}
.prose li,.journal-article .prose li{margin-bottom:.5em}
.journal-card h2{font-size:clamp(1.25rem,calc(1.1rem + .6vw),1.625rem);line-height:1.3;margin-block:.8em .6em}
.journal-heading h1{margin-block:.5em .6em}
.journal-heading .breadcrumbs{margin-bottom:1.5rem}
.product-card__name,.category-child-name,.category-card__title{font-size:var(--type-card);line-height:1.4}
.category-child-description{font-size:.75em;line-height:1.6}
.filter-panel h2,.filter-heading{font-size:1.0625rem;line-height:1.35}
.empty-state h2{font-size:var(--type-h2)}
.auth-card h1,.admin-main>h1,.quote-confirmation-title{font-size:var(--type-detail);line-height:1.25}
/* Keep form controls at 1rem, including on iOS; compact text must not shrink targets. */
input,select,textarea{font-size:1rem}
.journal-article .prose table{font-size:.9375rem;line-height:1.55}
/* Reflow rather than clipping when the reader increases the default text size. */
.header-inner{flex-wrap:wrap;row-gap:.5rem;padding-block:.5rem}
.primary-nav,.header-actions{min-width:0;max-width:100%;flex-wrap:wrap}
.auth-card,.auth-card .field{min-width:0;max-width:100%;overflow-wrap:anywhere}
.auth-card input{min-width:0}
@media(max-width:760px){.primary-nav{top:100%}}
