/* Fi's live product-page typography, measured October 20, 2026.
   Scope: font faces plus corresponding ENVIQ product-page text roles.
   ENVIQ's original content and page layout remain separate in styles.css. */
@font-face{font-family:MessinaSans;font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/MessinaSans-Regular.woff2') format('woff2')}
/* Fi maps weight 500 to the Regular font file rather than synthetic medium. */
@font-face{font-family:MessinaSans;font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/MessinaSans-Regular.woff2') format('woff2')}
@font-face{font-family:MessinaSans;font-style:normal;font-weight:600;font-display:swap;src:url('/assets/fonts/MessinaSans-SemiBold.woff2') format('woff2')}
@font-face{font-family:MessinaSans;font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/MessinaSans-Bold.woff2') format('woff2')}
:root{--font:MessinaSans,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif}
body{font-family:var(--font);font-size:16px;font-weight:400;line-height:1.55;letter-spacing:normal}
button,input,select,textarea{font-family:var(--font)}
.wordmark{font-family:var(--font);font-weight:700}
.button{font-family:var(--font);font-size:16px;font-weight:700;line-height:1.15;letter-spacing:normal}

/* HardwareFirstSolo title, amount, offerPill and lede. */
body[data-page="product"] .product-info h1{font-family:var(--font);font-size:30px;font-weight:700;line-height:1.05;letter-spacing:-.02em}
body[data-page="product"] .product-price>strong{font-size:36px;font-weight:700;line-height:1;letter-spacing:-.02em}
body[data-page="product"] .product-price .compare-at{font-size:24px;font-weight:400;line-height:1;letter-spacing:-.02em}
body[data-page="product"] .product-price .badge{font-size:12px;font-weight:700;line-height:1.25;letter-spacing:.02em}
body[data-page="product"] .product-description{font-size:15px;font-weight:400;line-height:1.5;letter-spacing:0}

/* HardwareFirstSolo battery, feature tiles and trust tiles. */
body[data-page="product"] .feature-highlight p{font-size:14px;font-weight:400;line-height:1.3;letter-spacing:normal}
body[data-page="product"] .feature-highlight strong{font-size:16px;font-weight:700;line-height:1.3;letter-spacing:normal}
body[data-page="product"] .feature-grid li{font-size:14px;font-weight:600;line-height:1.3;letter-spacing:0}
body[data-page="product"] .purchase-perks strong{font-size:14px;font-weight:700;line-height:1.3;letter-spacing:normal}
body[data-page="product"] .purchase-perks span{font-size:13px;font-weight:400;line-height:1.3;letter-spacing:normal}
body[data-page="product"] .add-to-bag,
body[data-page="product"] .mobile-purchase .button{font-size:16px;font-weight:700;line-height:1.15;letter-spacing:normal}
body[data-page="product"] .mobile-purchase strong{font-size:18px;font-weight:700;line-height:1.05;letter-spacing:-.8px}
body[data-page="product"] .mobile-purchase>div>span{font-size:11px;font-weight:500;line-height:1.05;letter-spacing:0}
body[data-page="product"] .mobile-purchase .compare-at{font-size:12px;font-weight:400;line-height:1.05;letter-spacing:0}

/* ENVIQ's bundle chooser uses Fi's pricing/plan-card text scale. */
body[data-page="product"] .bundle-fieldset legend{font-size:16px;font-weight:700;line-height:1.3;letter-spacing:normal}
body[data-page="product"] .bundle-intro,
body[data-page="product"] .bundle-unit-price,
body[data-page="product"] .bundle-copy>small{font-size:12px;font-weight:500;line-height:1.25;letter-spacing:-.36px}
body[data-page="product"] .bundle-copy>strong{font-size:14px;font-weight:600;line-height:1.05;letter-spacing:-.42px}
body[data-page="product"] .bundle-price{font-size:20px;font-weight:700;line-height:1.05;letter-spacing:-.8px}
body[data-page="product"] .bundle-pricing .compare-at{font-size:14px;font-weight:400;line-height:1;letter-spacing:0}
body[data-page="product"] .bundle-currency{font-size:10px;font-weight:600;line-height:1.25;letter-spacing:0}
body[data-page="product"] .bundle-recommendation{font-size:10px;font-weight:700;line-height:1.25;letter-spacing:.02em}
body[data-page="product"] .mini-badge{font-size:10px;font-weight:700;line-height:1.25;letter-spacing:.02em}

/* HardwareFirstGpsBand: 20px phone / 24px tablet / 28px desktop. */
body[data-page="product"] .story-copy .eyebrow,
body[data-page="product"] .product-info>.eyebrow,
body[data-page="product"] .section-heading .eyebrow{font-size:12px;font-weight:600;line-height:1.55;letter-spacing:.08em}
body[data-page="product"] .story-copy h2{font-size:20px;font-weight:700;line-height:1.08;letter-spacing:-.024em}
body[data-page="product"] .story-copy>p:not(.eyebrow){font-size:13px;font-weight:400;line-height:1.5;letter-spacing:normal}
body[data-page="product"] .simple-features li{font-size:14px;font-weight:600;line-height:1.3;letter-spacing:normal}

/* HardwareFirstSections, what's-included and hardware-first-faq. */
body[data-page="product"] .section-heading h2,
body[data-page="product"] .faq-section>h2,
body[data-page="product"] .detail-cards h3{font-size:20px;font-weight:700;line-height:1.05;letter-spacing:-.8px}
body[data-page="product"] .section-heading>p:not(.eyebrow){font-size:15px;font-weight:400;line-height:1.5;letter-spacing:normal}
body[data-page="product"] .kit-items article h3{font-size:13px;font-weight:600;line-height:1.05;letter-spacing:-.42px}
body[data-page="product"] .kit-items article p{font-size:12px;font-weight:500;line-height:1.25;letter-spacing:-.36px}
body[data-page="product"] .detail-cards p,
body[data-page="product"] .faq-list summary,
body[data-page="product"] .faq-list details p{font-size:14px;font-weight:500;line-height:1.25;letter-spacing:-.42px}
body[data-page="product"] .all-details summary{font-size:15px;font-weight:500;line-height:1.55;letter-spacing:normal}
body[data-page="product"] dt{font-size:16px;font-weight:600;line-height:1.05;letter-spacing:-.42px}
body[data-page="product"] dd{font-size:13px;font-weight:500;line-height:1.25;letter-spacing:-.36px}
body[data-page="product"] .brand-statement h2{font-size:24px;font-weight:700;line-height:1.05;letter-spacing:-.96px}
body[data-page="product"] .brand-statement p{font-size:16px;font-weight:500;line-height:1.25;letter-spacing:-.48px}

/* Shared bag uses Fi's cart-item and checkout type scale. */
.bag-line h3{font-size:20px;font-weight:700;line-height:1.05;letter-spacing:-.8px}
.bag-line p,.bag-status,.bag-totals p,.remove-item{font-size:12px;font-weight:500;line-height:1.25;letter-spacing:-.36px}
.bag-line .bag-line-price{font-size:20px;font-weight:700;line-height:1.05;letter-spacing:-.8px}
.bag-line .compare-at{font-size:14px;font-weight:400;line-height:1.05;letter-spacing:0}

@media(min-width:700px) and (max-width:1023px){
 body[data-page="product"] .story-copy h2{font-size:24px}
 body[data-page="product"] .story-copy>p:not(.eyebrow){font-size:14px}
}
@media(min-width:1024px){
 body[data-page="product"] .product-info h1{font-size:40px}
 body[data-page="product"] .product-description{font-size:16px}
 body[data-page="product"] .story-copy h2{font-size:28px}
 body[data-page="product"] .story-copy>p:not(.eyebrow){font-size:15px}
 body[data-page="product"] .mobile-purchase strong{font-size:20px}
}
