/* Shared type hierarchy. Role-based exceptions keep product cards compact. */
:root{--type-font:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;--type-page:32px;--type-section:28px;--type-sub:18px;--type-small:16px;--type-product:22px;--type-card-name:14px;--type-card-price:17px;--type-detail-price:21px;--type-hero:clamp(44px,4.3vw,60px)}
main :is(h1,h2,h3,h4),.site-dialog :is(h2,h3,h4){font-family:var(--type-font)!important;font-weight:600!important;text-transform:none!important;line-height:1.35!important;letter-spacing:-.02em!important}
main h1{font-size:var(--type-page)!important}main h2{font-size:var(--type-section)!important}main h3{font-size:var(--type-sub)!important}main h4{font-size:var(--type-small)!important}
main .hero h1{font-size:var(--type-hero)!important;font-weight:700!important;line-height:1.13!important;letter-spacing:-.035em!important}
main .product-page h1,.site-dialog .pd-info h3{font-size:var(--type-product)!important;line-height:1.4!important}
main .shop-card h3,main .catalog-grid .catalog-card h2{font-size:var(--type-card-name)!important;font-weight:500!important;line-height:1.45!important;letter-spacing:0!important}
.shop-card .shop-price,.catalog-card .card-price{font-family:var(--type-font);font-size:var(--type-card-price);font-weight:600;line-height:1.35}.product-page .price,.site-dialog .pd-price{font-size:var(--type-detail-price);font-weight:600;line-height:1.35}.v2-mini-price{font-size:15px;font-weight:600}.site-dialog .pd-price .old-price,.product-page .price .compare-price{font-size:13px}
.site-dialog .checkout-top h3,.site-dialog .order-success-card h3{font-size:24px!important}.site-dialog .order-summary h4{font-size:16px!important}.site-dialog .checkout-section-title{font-family:var(--type-font);font-size:16px}.site-dialog .checkout-overview strong{font-size:18px}
main :is(.eyebrow,.acq-kicker,.about-eyebrow,.about-kicker){font-family:var(--type-font)!important;font-size:11px!important;font-weight:600!important;letter-spacing:.08em!important;line-height:1.6!important}
main .strip strong{font-family:var(--type-font);font-size:15px;font-weight:600;line-height:1.4;text-transform:none;letter-spacing:0}main .step .n,main .quote-step-number,main .acq-steps li:before{font-family:var(--type-font);font-size:38px;font-weight:600;line-height:1.2;letter-spacing:-.04em}main .step::after{top:23px;left:62px}main .step::before{top:19px}main .step h3,main .quote-production-steps h3,main .acq-steps strong{font-size:16px!important;line-height:1.4!important}main .step p{font-size:14px;line-height:1.7}
@media(max-width:600px){:root{--type-page:28px;--type-section:24px;--type-sub:16px;--type-small:15px;--type-product:20px;--type-card-name:13px;--type-card-price:15px;--type-detail-price:19px;--type-hero:36px}.v2-mini-price{font-size:14px}.site-dialog .checkout-top h3,.site-dialog .order-success-card h3{font-size:22px!important}.site-dialog .checkout-overview strong{font-size:18px}main .step .n,main .quote-step-number,main .acq-steps li:before{font-size:28px}main .step h3,main .quote-production-steps h3,main .acq-steps strong{font-size:15px!important}}
@media(max-width:350px){:root{--type-hero:32px}}
.opening-sale h2{font-family:var(--type-font)!important;font-size:var(--type-page)!important;font-weight:600!important;line-height:1.3!important;letter-spacing:-.02em!important;text-transform:none!important}.site-dialog .legal-dialog h3{font-size:24px!important}.site-dialog .legal-dialog h4{font-size:16px!important}@media(max-width:600px){.site-dialog .legal-dialog h3{font-size:22px!important}}

body{font-family:var(--type-font)}main legend,.site-dialog legend{font-family:var(--type-font)!important;font-size:var(--type-sub)!important;font-weight:600!important;line-height:1.4!important;text-transform:none!important;letter-spacing:-.01em!important}

.hero h1 .hero-headline-line{display:block}
