/* Inter throughout. Optical sizing adapts the same family to text and display. */
body {
  font-family: var(--font-sans);
  font-weight: 400;
  font-optical-sizing: auto;
  font-synthesis: none;
  font-feature-settings: 'liga' 1, 'calt' 1;
}
button, input, select, textarea { font-family: var(--font-sans); }
input, select, textarea { font-weight: 400; }
h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-sans);
  font-weight: 700;
  line-height: 1.08;
  letter-spacing: -.025em;
  text-wrap: balance;
  overflow-wrap: break-word;
}
h1 { font-size: clamp(2.75rem, 6vw, 6.5rem); }
h2 { font-size: clamp(2.2rem, 4.5vw, 4.8rem); }
h3 { font-size: clamp(1.5rem, 2.4vw, 2.4rem); }
.hero h1 { font-size: clamp(2.5rem, 4.3vw, 4.65rem); line-height: 1.07; }
.product-hero h1, .page-bait-container .product-hero h1,
.eb-hero h1, .rescue-hero h1 {
  font-size: clamp(2.65rem, 5.2vw, 5.65rem);
}
.page-intro h1, .shop-intro h1, .cart-intro h1, .calc-page-head h1 {
  font-size: clamp(2.7rem, 5.8vw, 6.2rem);
}
.shop-purchase h1 { font-size: clamp(2.5rem, 4.4vw, 4.8rem); }
.post-wrap h1 { font-size: clamp(2.45rem, 4.8vw, 4.8rem); line-height: 1.1; }
.container-intro h2 { font-size: clamp(2.2rem, 4.2vw, 4.5rem); }
.technical-sheet h2, .manual-card h2, .net-size-detail h3 {
  font-size: clamp(2.05rem, 3.8vw, 3.9rem);
}
.cart-summary h2, .calc-controls h2, .calc-method h2 {
  font-size: clamp(1.95rem, 3vw, 3.2rem);
}
.post-body h2 { font-size: clamp(1.9rem, 3.2vw, 3rem); line-height: 1.15; }
.post-body h3 { font-size: clamp(1.55rem, 2.5vw, 2.25rem); line-height: 1.15; }
.post-body h4 { font-size: 1.4rem; line-height: 1.2; }
.shop-card h3, .other-products-grid h3, .eb-mount-copy h3 {
  font-size: clamp(1.6rem, 2.35vw, 2.35rem);
}
.shop-card.compact h3, .cart-row h2, .cart-row-summary h2 {
  font-size: clamp(1.4rem, 1.9vw, 1.95rem);
  line-height: 1.15;
}
.shop-group-heading { font-size: clamp(1.9rem, 3vw, 3rem); }
.blog-card h2 { font-size: clamp(1.4rem, 1.85vw, 1.9rem); line-height: 1.2; }
.story-copy h3 { font-size: clamp(2rem, 3.3vw, 3.5rem); }
.brand { font-size: 1.35rem; letter-spacing: .015em; }
.nav { font-size: .94rem; letter-spacing: .015em; }
.eyebrow { font-size: .9rem; font-weight: 600; line-height: 1.3; letter-spacing: .11em; }
.button, .menu-toggle, .basket-copy {
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: .025em;
}
.button { gap: .8rem; }
.sheet-actions .button, .manual-card .button, .calc-quick > .button { font-size: .95rem; }
.text-link, .currency-choice, .cart-row label, .cart-row button,
.calc-quick-fields label, .calc-field-grid label, .calc-reduction label,
.calc-trips summary, .calc-currency { font-weight: 600; }
.currency-choice span, .option-panel label, .quantity-label,
.shop-addon-qty, .calc-quick-top, .calc-quick-out > span, .calc-index,
.calc-net > span, .contact-details span, .eb-mount-copy span {
  font-size: .9rem;
  font-weight: 600;
  line-height: 1.35;
  letter-spacing: .045em;
}
.option-panel legend, .shop-addons legend { font-size: 1.25rem; font-weight: 600; line-height: 1.3; }
.currency-choice select, .shop-purchase input, .shop-purchase select,
.cart-row input, .cart-row select, .shop-addon-qty input,
.calc-quick select, .calc-currency select { font-weight: 400; }
.calc-quick-fields input, .calc-field-grid input { font-weight: 600; }
.faq-item summary { font-size: clamp(1.1rem, 1.5vw, 1.45rem); font-weight: 600; line-height: 1.3; }
.container-more-copy strong { font-size: clamp(1.3rem, 1.7vw, 1.65rem); font-weight: 600; line-height: 1.2; }
.container-intro-steps strong, .spec-strip strong, .eb-charge strong,
.rescue-benefits strong, .box-list li strong {
  font-size: clamp(1.25rem, 1.6vw, 1.5rem);
  line-height: 1.2;
}
.base-sequence li, .shop-addon-choice strong { font-size: 1.1rem; line-height: 1.25; }
.shop-specs dt, .mount-fit-checks > strong, .bait-mounting figcaption,
.rescue-product-gallery figcaption { font-size: 1rem; font-weight: 600; line-height: 1.35; }
.net-size-button { font-size: 1.05rem; font-weight: 600; }
.net-size-bar { font-size: clamp(1rem, 2.1vw, 1.7rem); }
.hero-stats strong { font-size: clamp(1.45rem, 2vw, 2rem); line-height: 1.15; }
.eb-metrics strong { font-size: clamp(1.8rem, 2.7vw, 3rem); line-height: 1.15; }
.performance-grid strong { font-size: clamp(2.2rem, 3.4vw, 3.8rem); line-height: 1.1; }
.calc-quick-out strong { font-size: clamp(2.3rem, 3.8vw, 3.8rem); line-height: 1.1; }
.calc-net strong { font-size: clamp(2.7rem, 4.8vw, 5rem); line-height: 1.1; overflow-wrap: anywhere; }
.calc-secondary strong { font-size: 1.4rem; }
.performance-grid strong, .calc-net strong, .calc-quick-out strong,
.calc-secondary strong, .cart-count { font-variant-numeric: tabular-nums; }
.manual-art span { font-size: clamp(2.4rem, 3.8vw, 4rem); line-height: 1.05; }
.price-request { font-size: 1.5rem; line-height: 1.25; }
.purchase-feedback-copy strong, .basket-toast-copy strong { font-size: 1.1rem; line-height: 1.25; }
.basket-toast-link { font-size: .9rem; font-weight: 600; }
@media (max-width: 1350px) {
  .nav a, .nav button { font-size: 1.1rem; line-height: 1.3; }
}
@media (max-width: 700px) {
  h2 { font-size: clamp(2rem, 8vw, 3rem); }
  .hero h1 { font-size: clamp(2.2rem, 9vw, 3.65rem); }
  .product-hero h1, .page-bait-container .product-hero h1,
  .eb-hero h1, .rescue-hero h1, .shop-purchase h1 {
    font-size: clamp(2.2rem, 9vw, 3.6rem);
  }
  .page-intro h1, .shop-intro h1, .cart-intro h1, .calc-page-head h1 {
    font-size: clamp(2.4rem, 9.5vw, 3.9rem);
  }
  .container-intro h2, .technical-sheet h2, .manual-card h2,
  .net-size-detail h3, .calc-teaser-intro h2 { font-size: clamp(2rem, 8vw, 3rem); }
  .story-copy h3 { font-size: clamp(1.85rem, 7.5vw, 2.8rem); }
  .hero-stats strong { font-size: clamp(1.4rem, 6vw, 2rem); }
  .eb-metrics strong { font-size: clamp(1.7rem, 7vw, 2.6rem); }
  .performance-grid strong { font-size: clamp(2.15rem, 8vw, 3.5rem); }
  .calc-net strong { font-size: clamp(2.45rem, 11vw, 4rem); }
  .calc-secondary strong { font-size: 1.2rem; }
  .basket-toast-link { white-space: normal; }
}
