/* Two typefaces and eight shared sizes for every storefront page. */
:root{--font-body:'DM Sans',sans-serif;--font-display:Georgia,serif;--text-caption:12px;--text-small:14px;--text-control:16px;--text-body:18px;--text-title:24px;--text-heading:32px;--text-display:48px;--text-hero:64px}
body{font-family:var(--font-body)}
h1,h2{font-family:var(--font-display)}
.announcement{font-size:var(--text-caption)}
.demotag{font-size:var(--text-caption)}
.logo{font-family:var(--font-display)}
.logo span{font-family:var(--font-body)}
nav{font-size:var(--text-control)}
.bag span{font-size:var(--text-control)}
.eyebrow{font-size:var(--text-caption)}
.hero h1{font-size:var(--text-hero)}
.btn span{font-size:var(--text-body)}
.hero-foot{font-size:var(--text-control)}
.image-caption{font-size:var(--text-caption)}
.image-note{font-size:var(--text-heading);font-family:var(--font-display)}
.brand-strip .eyebrow{font-size:var(--text-caption)}
.brand{font-size:var(--text-body)}
.brand.serif{font-family:var(--font-display)}
.brand.small-brand{font-size:var(--text-control)}
h2{font-size:var(--text-display)}
.section-head p{font-size:var(--text-control)}
.photo .badge{font-size:var(--text-caption)}
.photo .quick{font-size:var(--text-control)}
.product-brand{font-size:var(--text-caption)}
.product h3{font-family:var(--font-display)}
.add{font-size:var(--text-body)}
.catalog-note{font-size:var(--text-caption)}
.catalog-note select{font-size:var(--text-control)}
.wholesale h2{font-size:var(--text-display)}
.wholesale p{font-size:var(--text-control)}
.tier-top{font-size:var(--text-caption)}
.tier-row>span{font-size:var(--text-control)}
.tier-row h3{font-size:var(--text-title);font-family:var(--font-display)}
.tier-row h3 b{font-size:var(--text-caption);font-family:var(--font-body)}
.tier-row strong{font-size:var(--text-title);font-family:var(--font-display)}
.tier-row small{font-size:var(--text-caption);font-family:var(--font-body)}
.tier-area p.tier-note{font-size:var(--text-caption)}
.warehouse-copy>p{font-size:var(--text-control)}
.warehouse-copy label{font-size:var(--text-control)}
.zip-field input{font-size:var(--text-control)}
.zip-field button{font-size:var(--text-title)}
.warehouse-copy .fine{font-size:var(--text-caption)}
.region-buttons button{font-size:var(--text-control)}
.map-point text{font-family:var(--font-body)}
.map-stats strong{font-size:var(--text-title);font-family:var(--font-display)}
.map-stats span{font-size:var(--text-caption)}
.service>span{font-size:var(--text-caption)}
.service h3{font-size:var(--text-heading);font-family:var(--font-display)}
.service p{font-size:var(--text-control)}
.service a,.service button{font-size:var(--text-control)}
.about-copy .lead{font-size:var(--text-title);font-family:var(--font-display)}
.about-copy>p{font-size:var(--text-control)}
.promise>span{font-size:var(--text-title)}
.promise h3{font-size:var(--text-control)}
.promise p{font-size:var(--text-control)}
.faq>div>p{font-size:var(--text-control)}
.questions summary{font-size:var(--text-control)}
.questions summary:after{font-size:var(--text-body)}
.questions p{font-size:var(--text-control)}
.closing h2{font-size:var(--text-hero)}
.closing .fine{font-size:var(--text-caption)}
.footer-main div{font-size:var(--text-control)}
.footer-main button,.footer-bottom button{font-size:var(--text-control)}
.footer-bottom{font-size:var(--text-caption)}
.footer-bottom button{font-size:var(--text-caption)}
dialog h2{font-size:var(--text-heading)}
dialog h3{font-family:var(--font-display);font-size:var(--text-title)}
dialog p{font-size:var(--text-control)}
dialog .close{font-size:var(--text-heading)}
table{font-size:var(--text-control)}
.modal-label{font-size:var(--text-control)}
.cart-row h3{font-size:var(--text-title)}
.cart-total{font-size:var(--text-title)}
.modal-form label{font-size:var(--text-control)}
.success .check{font-size:var(--text-heading)}
#toast{font-size:var(--text-control)}
@media(max-width:1000px){.hero-foot{font-size:var(--text-caption)}}
@media(max-width:1000px){.hero h1{font-size:var(--text-display)}}
@media(max-width:1000px){.wholesale h2{font-size:var(--text-display)}}
@media(max-width:700px){.announcement{font-size:var(--text-caption)}}
@media(max-width:700px){.demotag{font-size:var(--text-caption)}}
@media(max-width:700px){.logo span{font-size:var(--text-caption)}}
@media(max-width:700px){.eyebrow{font-size:var(--text-caption)}}
@media(max-width:700px){.image-note{font-size:var(--text-heading)}}
@media(max-width:700px){.brand{font-size:var(--text-body)}}
@media(max-width:700px){.brand.small-brand{font-size:var(--text-caption)}}
@media(max-width:700px){h2{font-size:var(--text-display)}}
@media(max-width:700px){.wholesale h2{font-size:var(--text-display)}}
@media(max-width:700px){.tier-row h3{font-size:var(--text-title)}}
@media(max-width:700px){.tier-row h3 b{font-size:var(--text-caption)}}
@media(max-width:700px){.map-stats strong{font-size:var(--text-title)}}
@media(max-width:700px){.about-copy .lead{font-size:var(--text-title)}}
@media(max-width:700px){.closing h2{font-size:var(--text-display)}}
@media(max-width:700px){.cart-row h3{font-size:var(--text-body)}}
@media(max-width:700px){.btn{font-size:var(--text-control)}}
@media(max-width:700px){.hero .textlink{font-size:var(--text-control)}}
.logo{font-size:var(--text-title)}
.browse-grid span{font-size:var(--text-caption)}
.browse-grid h3{font-size:var(--text-heading);font-family:var(--font-display)}
.browse-grid p{font-size:var(--text-control)}
.contact-shortcut>span{font-size:var(--text-title)}
.contact-value{font-size:var(--text-body)!important}
.breadcrumbs{font-size:var(--text-control)}
.directory h1,.listing h1,.product-page h1,.checkout-page h1,.empty-checkout h1{font-size:var(--text-hero);font-family:var(--font-display)}
.directory>p,.listing>p{font-size:var(--text-body)}
.directory-card h2{font-size:var(--text-heading)}
.directory-card h2 span{font-size:var(--text-body)}
.shop-sidebar h3{font-size:var(--text-body)}
.shop-sidebar label{font-size:var(--text-control)}
.shop-sidebar select,.listing-controls select,.listing-controls input{font-size:var(--text-control)}
.listing-controls span{font-size:var(--text-control)}
.demo-footnote{font-size:var(--text-control)!important}
.product-description h2{font-size:var(--text-heading)}
.detail-price{font-size:var(--text-heading)}
.product-description caption{font-size:var(--text-control)}
.checkout-heading{font-size:var(--text-control)}
.checkout-page h1{font-size:var(--text-display)}
.checkout-section h2,.order-panel h2{font-size:var(--text-title);font-family:var(--font-display)}
.checkout-section>p{font-size:var(--text-control)}
.form-field>span{font-size:var(--text-control)}
.form-field input,.form-field select{font-size:var(--text-control)}
.shipping-choice{font-size:var(--text-control)}
.order-panel h2 span{font-size:var(--text-control);font-family:var(--font-body)}
.order-image>span{font-size:var(--text-caption)}
.order-line small{font-size:var(--text-caption)}
.order-line h3{font-family:var(--font-display)}
.order-line div>span{font-size:var(--text-caption)}
.grand-total small{font-size:var(--text-caption)}
.pricing-caption{font-size:var(--text-caption)}
.paypal-word{font-size:var(--text-body)}
.checkout-disclaimer{font-size:var(--text-caption)}
.checkout-links{font-size:var(--text-caption)}
.checkout-links button{font-size:var(--text-caption)}
@media(max-width:1000px){.directory-card h2{font-size:var(--text-title)}}
@media(max-width:1000px){nav{font-size:var(--text-control)}}
@media(max-width:1000px){.logo{font-size:var(--text-title)}}
@media(max-width:1000px){.logo span{font-size:var(--text-caption)}}
@media(max-width:700px){header .logo{font-size:var(--text-title)}}
@media(max-width:700px){nav{font-size:var(--text-control)}}
@media(max-width:700px){.directory h1,.listing h1,.product-page h1{font-size:var(--text-display)}}
@media(max-width:700px){.directory-card h2{font-size:var(--text-title)}}
@media(max-width:700px){.related-head h2{font-size:var(--text-heading)}}
@media(max-width:700px){.checkout-page h1{font-size:var(--text-display)}}
@media(max-width:700px){.contact-shortcut small{font-size:var(--text-control)}}
@media(max-width:700px){.footer-main .logo{font-size:var(--text-body)}}
.map-point text{font-size:var(--text-control)}
@media(max-width:700px){.map-key{font-size:var(--text-caption)}}
body{font-size:var(--text-body)}
.hero-copy p{font-size:var(--text-body)}
.logo span{font-size:var(--text-caption)}
.btn{font-size:var(--text-control)}
.textlink{font-size:var(--text-control)}
.tabs button{font-size:var(--text-control)}
.search input{font-size:var(--text-control)}
.product h3{font-size:var(--text-heading)}
.product p{font-size:var(--text-control)}
.product .price{font-size:var(--text-title)}
.product .unit-price{font-size:var(--text-small)}
.price small{font-size:var(--text-small)}
.catalog-note,.demo-footnote,.pricing-caption,.checkout-disclaimer{font-size:var(--text-small)!important}
.tier-row p{font-size:var(--text-control)}
.map-key{font-size:var(--text-caption)}
.warehouse-states{font-size:var(--text-small)}
.warehouse-states b{font-size:var(--text-control)}
.form-field>span,.modal-form label{font-size:var(--text-control)}
.form-field input,.form-field select,.modal-form input,.modal-form select,.modal-form textarea{font-size:var(--text-body)}
.checkbox-line{font-size:var(--text-control)}
.shipping-choice small{font-size:var(--text-small)}
.payment-option{font-size:var(--text-control)}
.card-brands{font-size:var(--text-caption)}
.payment-note{font-size:var(--text-small)}
.order-line h3{font-size:var(--text-title)}
.order-line p{font-size:var(--text-caption)}
.order-line>strong{font-size:var(--text-control)}
.order-totals>div{font-size:var(--text-control)}
.order-totals .grand-total{font-size:var(--text-title)}
.pay-button{font-size:var(--text-body)}
.contact-shortcut small{font-size:var(--text-small)}
.contact-shortcut strong{font-size:var(--text-body)}
.footer-main p{font-size:var(--text-control)}
.brand-strip>.textlink{font-size:var(--text-control)}
.brand-group .brand{font-size:var(--text-title)}
.listing-controls input,.listing-controls select,.shop-sidebar select{font-size:var(--text-control)}
.shop-sidebar a{font-size:var(--text-control)}
.directory-card p{font-size:var(--text-control)}
.cart-row p{font-size:var(--text-small)}
.qty-control{font-size:var(--text-control)}
.remove{font-size:var(--text-small)}
.product-description p{font-size:var(--text-body)}
.product-description table{font-size:var(--text-control)}
.detail-price small{font-size:var(--text-small)}
.detail-buy .qty{font-size:var(--text-body)}
.product-description label{font-size:var(--text-control)}
@media(max-width:1280px){header nav{font-size:var(--text-control)}}
@media(max-width:1280px){.logo span{font-size:var(--text-caption)}}
@media(max-width:700px){body{font-size:var(--text-body)}}
@media(max-width:700px){header nav{font-size:var(--text-control)}}
@media(max-width:700px){.hero-copy p{font-size:var(--text-body)}}
@media(max-width:700px){.hero h1{font-size:var(--text-display)}}
@media(max-width:700px){.hero .btn,.hero .textlink{font-size:var(--text-control)}}
@media(max-width:700px){.hero-foot{font-size:var(--text-small)}}
@media(max-width:700px){.announcement,.demotag{font-size:var(--text-caption)}}
@media(max-width:700px){.section-head p{font-size:var(--text-body)}}
@media(max-width:700px){.tabs button{font-size:var(--text-control)}}
@media(max-width:700px){.search input{font-size:var(--text-body)}}
@media(max-width:700px){.photo .badge{font-size:var(--text-caption)}}
@media(max-width:700px){.photo .quick{font-size:var(--text-small)}}
@media(max-width:700px){.product-brand{font-size:var(--text-caption)}}
@media(max-width:700px){.product h3{font-size:var(--text-title)}}
@media(max-width:700px){.product p{font-size:var(--text-small)}}
@media(max-width:700px){.product .price{font-size:var(--text-title)}}
@media(max-width:700px){.price small{font-size:var(--text-caption)}}
@media(max-width:700px){.product .unit-price{font-size:var(--text-caption)}}
@media(max-width:700px){.catalog-note{font-size:var(--text-small)}}
@media(max-width:700px){.wholesale p{font-size:var(--text-body)}}
@media(max-width:700px){.tier-row p{font-size:var(--text-small)}}
@media(max-width:700px){.tier-row strong{font-size:var(--text-title)}}
@media(max-width:700px){.tier-row small{font-size:var(--text-small)}}
@media(max-width:700px){.tier-area p.tier-note{font-size:var(--text-small)}}
@media(max-width:700px){.warehouse-copy>p{font-size:var(--text-body)}}
@media(max-width:700px){.warehouse-copy .fine{font-size:var(--text-small)}}
@media(max-width:700px){.warehouse-states{font-size:var(--text-small)}}
@media(max-width:700px){.map-stats span{font-size:var(--text-small)}}
@media(max-width:700px){.service p,.about-copy>p,.questions p{font-size:var(--text-control)}}
@media(max-width:700px){.promise p{font-size:var(--text-control)}}
@media(max-width:700px){.promise h3{font-size:var(--text-body)}}
@media(max-width:700px){.questions summary{font-size:var(--text-body)}}
@media(max-width:700px){.faq>div>p{font-size:var(--text-control)}}
@media(max-width:700px){.closing .fine{font-size:var(--text-small)}}
@media(max-width:700px){.footer-main div,.footer-main button,.footer-bottom,.footer-bottom button{font-size:var(--text-small)}}
@media(max-width:700px){.footer-main p{font-size:var(--text-control)}}
@media(max-width:700px){.brand-group .brand{font-size:var(--text-title)}}
@media(max-width:700px){.brand-strip>.textlink{font-size:var(--text-small)}}
@media(max-width:700px){.directory-card p{font-size:var(--text-small)}}
@media(max-width:700px){.directory-card .eyebrow{font-size:var(--text-caption)}}
@media(max-width:700px){.listing-controls span{font-size:var(--text-small)}}
@media(max-width:700px){.checkout-heading{font-size:var(--text-small)}}
@media(max-width:700px){.order-line>strong{font-size:var(--text-small)}}
@media(max-width:700px){.order-line h3{font-size:var(--text-title)}}
@media(max-width:700px){.order-line p{font-size:var(--text-caption)}}
@media(max-width:700px){.order-line small{font-size:var(--text-caption)}}
@media(max-width:700px){.order-line div>span{font-size:var(--text-small)}}
@media(max-width:700px){.order-totals>div{font-size:var(--text-control)}}
@media(max-width:700px){.checkout-section>p{font-size:var(--text-small)}}
@media(max-width:700px){.checkout-links,.checkout-links button{font-size:var(--text-small)}}
@media(max-width:700px){.payment-option{font-size:var(--text-control)}}
@media(max-width:700px){.form-field input,.form-field select{font-size:var(--text-control)}}
@media(max-width:700px){.form-field>span{font-size:var(--text-small)}}
@media(max-width:700px){.product-description p{font-size:var(--text-control)}}
@media(max-width:700px){.product-description table{font-size:var(--text-small)}}
@media(max-width:700px){.breadcrumbs{font-size:var(--text-small)}}
@media(max-width:700px){.browse-grid p{font-size:var(--text-small)}}
@media(max-width:700px){.browse-grid span{font-size:var(--text-caption)}}
@media(max-width:700px){.browse-grid h3{font-size:var(--text-title)}}
@media(max-width:700px){.service a,.service button{font-size:var(--text-control)}}
@media(max-width:700px){dialog p{font-size:var(--text-control)}}
@media(max-width:700px){.cart-row p{font-size:var(--text-small)}}
@media(prefers-reduced-motion:reduce){.brand-group .brand{font-size:var(--text-body)}}

body{font-family:var(--font-body);font-size:var(--text-body);line-height:1.65}
h1,h2,h3,.logo,.brand.serif{font-family:var(--font-display);font-weight:400}
h1,h2{line-height:1.1}h3{line-height:1.25}
.product h3,.order-line h3,.cart-row h3{font-size:var(--text-title)}
.product p,.directory-card p,.order-line p{line-height:1.6}
.eyebrow,.product-brand{letter-spacing:1.2px}
.form-field input,.form-field select,.modal-form input,.modal-form textarea,.modal-form select{font-family:var(--font-body);font-size:var(--text-control);line-height:1.5}
.btn,.textlink,nav{line-height:1.5}
.hero h1{font-size:var(--text-hero)}
@media(max-width:700px){.hero h1,.directory h1,.listing h1,.product-page h1,.checkout-page h1,.closing h2{font-size:var(--text-display)}header .logo span{font-size:var(--text-caption);letter-spacing:0}.hero .eyebrow{letter-spacing:1px}.photo .badge{font-size:var(--text-caption);line-height:1.4}.hero-copy p{font-size:var(--text-body)}}
