/* Final typography authority over legacy page-specific shorthand declarations.
   Important is limited to type/color so existing layouts and image sizes survive. */
:root{
 --type-body:16px;--type-small:14px;--type-label:15px;--type-eyebrow:12px;
 --type-product:18px;--type-h1:clamp(44px,4.2vw,60px);--type-hero:clamp(56px,5vw,72px);
 --type-h2:clamp(32px,3vw,44px);--type-h3:clamp(20px,1.8vw,26px);
 --leading-body:1.65;--leading-heading:1.15;--leading-label:1.5;
 --weight-body:400;--weight-heading:500;--weight-label:600;
 --text-secondary:#59605a;--text-on-dark:#f2f1ec;
 --font-body:var(--type-body);--font-small:var(--type-small);--font-caption:var(--type-small);
}
body{font-family:var(--sans);font-size:var(--type-body);line-height:var(--leading-body)}
body :is(p,li,address){font-family:var(--sans)!important;font-size:var(--type-body)!important;line-height:var(--leading-body)!important}
body :is(h1,h2,h3,h4){font-family:var(--display)!important;font-weight:var(--weight-heading)!important;line-height:var(--leading-heading)!important;letter-spacing:-.035em!important;overflow-wrap:break-word}
body h1{font-size:var(--type-h1)!important}
body .home-banner h1{font-size:var(--type-hero)!important}
body h2{font-size:var(--type-h2)!important}
body h3{font-size:var(--type-h3)!important}
body :is(h1,h2,h3) em{font-family:var(--serif)!important;font-size:inherit!important;font-weight:400!important;letter-spacing:inherit!important}
body :is(button,input,select,textarea,label,legend){font-family:var(--sans)!important;line-height:var(--leading-label)!important}
body :is(input,select,textarea){font-size:var(--type-body)!important}
body :is(label,legend,button,.button,.text-link){font-size:var(--type-label)!important}
body :is(.button,.text-link){font-family:var(--sans)!important;line-height:var(--leading-label)!important;font-weight:var(--weight-label)!important;letter-spacing:0!important}
body :is(.button,button:not(.gallery-thumb),input:not([type=checkbox]):not([type=radio]),select){min-height:44px}
body :is(.primary-nav a,.nav-products-row>a,.products-subnav>a){font-family:var(--sans)!important;font-size:var(--type-label)!important;line-height:var(--leading-label)!important}
body :is(.eyebrow,.home-introduction-eyebrow){font-family:var(--sans)!important;font-size:var(--type-eyebrow)!important;line-height:1.5!important;font-weight:var(--weight-label)!important;letter-spacing:.12em!important}
body :is(.product-meta h3,.product-meta h3 a,.discovery-card h3){font-family:var(--sans)!important;font-size:var(--type-product)!important;line-height:1.45!important;font-weight:var(--weight-label)!important;letter-spacing:0!important}
body :is(dt,dd,th,td,small,figcaption,.image-caption,.image-caption span,.gallery-thumb span,.product-index,.product-code,.breadcrumbs a,.breadcrumbs li,.custom-breadcrumb,.about-breadcrumb,.jar-results,.jar-results a,.filter-reset,.optional,.field-error,.quote-notice,.upload-button){font-family:var(--sans)!important;font-size:var(--type-small)!important;line-height:1.6!important;letter-spacing:0!important}
body :is(dt,th){font-weight:var(--weight-label)!important}
body :is(.product-purchasing,.product-key-facts,.spec-table){font-size:var(--type-small)!important}
body :is(.custom-options a,.custom-options span,.audience-list span,.resource-card>span,.hero-note p,.hero-note strong,.buying-status,.image-note,.custom-note,.quote-hint,.quote-consent,.sample-note,.holder-reference-note,.option-use span,.inquiry-fields label span){font-family:var(--sans)!important;font-size:var(--type-small)!important;line-height:1.6!important}
body :is(.section-aside,.hero-lede,.home-banner-lede,.approach-lede,.product-intro,.product-purchasing dd,.spec-table td,.product-key-facts dd,.breadcrumbs,.breadcrumbs a,.breadcrumbs li,.image-note,.custom-note,.quote-hint,.quote-consent,.sample-note,.gallery-thumb span,.business-details dd,.business-details small){color:var(--text-secondary)!important}
body :is(.approach-list p,.buying-grid p,.custom-copy>p,.resource-card>span,.about-page p,.customization-page p,.product-page p){color:var(--text-secondary)}
body :is(.eyebrow,.home-introduction-eyebrow){color:var(--green)!important}
body :is(.audience-section,.final-cta,.custom-process,.about-coordination) :is(p,li,small,.eyebrow,.section-aside){color:var(--text-on-dark)!important}
body .site-footer :is(p,a,span,small,.footer-pending){font-family:var(--sans)!important;font-size:var(--type-small)!important;line-height:1.6!important;color:var(--text-secondary)!important}
body .site-footer .brand-mark{font-family:var(--serif)!important;font-size:22px!important}
body .site-footer .brand :is(span,b){font-size:17px!important;color:var(--ink)!important}
body :is(.option-card h3,.buying-grid h3,.ordering-grid h3,.overview-grid h3,.hub-category h3,.resource-card h3,.principles h3,.buyer-grid h3,.strength-grid h3,.approach-list h3){font-family:var(--sans)!important}
body :is(.collection-copy strong,.category-info strong){font-family:var(--sans)!important;font-size:var(--type-h3)!important;line-height:1.25!important;font-weight:var(--weight-heading)!important}
body :is(.intro-statement,.coordination-map strong){font-family:var(--sans)!important;font-size:var(--type-h3)!important;line-height:1.5!important}
body .home-introduction h2{font-size:clamp(30px,2.5vw,36px)!important}
body .home-introduction-services dt{font-size:var(--type-label)!important}
body .product-index{background:var(--green);color:white;padding:4px 7px}
body .hero .product-banner .image-caption{display:flex;flex-wrap:wrap;gap:4px 14px}
body .footer-bottom{gap:12px;flex-wrap:wrap;padding-block:12px}
body .footer-links{gap:24px}
body :is(.jar-card,.product-card,.product-hero-copy,.quote-field){min-width:0}
body :is(.product-meta h3,.product-purchasing dd,.spec-table td,.business-details dd){overflow-wrap:anywhere}
body .hero-actions{flex-wrap:wrap}
body .resource-card{height:auto;min-height:190px}
body :is(.custom-copy>p,.discovery-capacity,.hero-note p,.collection-toolbar p,.collection-note,.catalog-note,.jar-faq p,.faq-list p,.product-breadcrumb a,.product-breadcrumb li,.detail-image-grid figcaption,.inquiry-fields label span){color:var(--text-secondary)!important}
body :is(.jar-toolbar p,.jar-disclaimer,.jar-filters+p){color:var(--text-secondary)!important}
body :is(.about-breadcrumb a,.about-breadcrumb span,.custom-breadcrumb a,.custom-breadcrumb span){font-size:var(--type-small)!important;line-height:1.6!important}
body :is(.approach-list>article>span,.quote-form legend span){font-family:var(--sans)!important;font-size:var(--type-eyebrow)!important;line-height:1.5!important;color:var(--green)!important}
body :is(.coordination-map>span,.coordination-map li span,.option-image>span){font-size:var(--type-eyebrow)!important;line-height:1.5!important}
body :is(.collection-status p,.collection-footnote p,.faq-item p,.product-breadcrumbs a,.product-breadcrumbs li,fieldset legend span){color:var(--text-secondary)!important}
body fieldset legend span{font-size:var(--type-eyebrow)!important;line-height:1.5!important}
body .coordination-map>div>span{font-size:var(--type-eyebrow)!important}
body :is(.quote-breadcrumb a,.quote-breadcrumb span,.form-intro span){font-size:var(--type-small)!important}
@media(min-width:761px){body :is(.spec-table th,.spec-table td,.product-key-facts dt,.product-key-facts dd){font-size:var(--type-label)!important}}
@media(max-width:760px){
 :root{--type-hero:clamp(36px,10vw,44px);--type-h1:clamp(32px,9vw,40px);--type-h2:clamp(26px,7.5vw,32px);--type-h3:clamp(19px,5.5vw,22px);--type-product:17px}
 body .primary-nav a{font-size:16px!important}
 body .site-footer .footer-links{grid-template-columns:repeat(2,minmax(0,1fr))}
 body .product-page .gallery-thumb span{font-size:14px!important}
}
