/* One locally hosted family and a role-based hierarchy across every route. */
:root{--font-sans:'Manrope',Arial,sans-serif;--tracking-heading:-.025em;--leading-copy:1.65}
body{font-family:var(--font-sans);font-size:var(--text-16);font-weight:400;line-height:var(--leading-copy);font-synthesis:none}
button,input,select,textarea{font-family:var(--font-sans)}
:is(#main,#menu,#footer) :is(h1,h2,h3){font-family:var(--font-sans);font-style:normal;letter-spacing:var(--tracking-heading);font-weight:500;line-height:1.18;text-wrap:balance}
#main h1{line-height:1.1;letter-spacing:-.035em}
#main .page-heading h1{font-size:clamp(40px,4.6vw,64px)}
#main .range-opening h1{font-size:clamp(48px,6vw,80px)}
#main .detail-copy h1{font-size:clamp(32px,3.3vw,48px)}
#main .product-card h3{font-size:var(--text-18);line-height:1.45;letter-spacing:-.01em;font-weight:600;text-wrap:pretty}
#main p{line-height:var(--leading-copy)}
#main :is(.lead,.product-description,.section-heading>p,.story-step p:not(.eyebrow),.resource-grid p,.contact-layout aside>p){font-size:var(--text-16)}
#main .page-heading .lead{font-size:var(--text-18);max-width:58ch}
:is(#main,#menu,#footer) .eyebrow{font-family:var(--font-sans);font-size:var(--text-12);font-weight:600;letter-spacing:.11em;line-height:1.5}
:is(#main,#menu,#footer) :is(.button,.text-link){font-family:var(--font-sans);font-size:var(--text-14);font-weight:600;letter-spacing:0;line-height:1.5}
.header-finder,.header-descriptor{font-family:var(--font-sans);font-weight:600;letter-spacing:.09em}
.filters label,.contact-layout label{font-weight:500;font-size:var(--text-14);line-height:1.5}
input,select,textarea{font-size:var(--text-16);letter-spacing:0}
#main :is(.code,.product-meta,.note,.results-bar,.card-actions){font-size:var(--text-14);line-height:1.55;letter-spacing:0}
#main .code{font-variant-numeric:tabular-nums}
#footer h3{font-size:var(--text-12);font-weight:600;letter-spacing:.1em;line-height:1.5;text-wrap:initial}
#footer :is(p,a:not(.brand)){font-size:var(--text-14);line-height:1.65}
#menu .menu-primary a{letter-spacing:-.02em;font-weight:500}
@media(max-width:700px){#main .range-opening h1{font-size:var(--text-48)}#main .page-heading h1{font-size:var(--text-40)}#main .page-heading .lead{font-size:var(--text-16)}#main .detail-copy h1{font-size:var(--text-32)}}
@media(max-width:400px){#main .product-card h3{font-size:var(--text-16)}#main .card-actions{font-size:var(--text-12)}}
