/* RULESHIFT readable type scale. Keep this sheet after the layout styles. */
@media (min-width: 651px) {
  body { --muted:#56636b; }
  .hero-secondary,.text-link { font-size:16px; line-height:1.65; color:#65517f; }
  .eyebrow,.hero .eyebrow { font-size:13px; letter-spacing:.07em; line-height:1.6; }
  .hero-chip,.tag { font-size:13px; line-height:1.5; color:#536359; }
  .announcement { font-size:14px; line-height:1.6; }
  .product-label { font-size:13px; letter-spacing:.035em; text-transform:none; max-width:calc(100% - 24px); line-height:1.5; }
  .product-line { flex-wrap:wrap; align-items:baseline; gap:8px 15px; }
  .product-line h3 { font-size:21px; line-height:1.4; max-width:none; flex:1 1 190px; }
  .product-line .price { font-size:19px; line-height:1.5; margin-left:auto; }
  .product p,.product .result { font-size:18px; line-height:1.7; color:#56636b; }
  .product .result { color:#35483f; }
  .product .quick-buy { font-size:16px; min-height:50px; padding:13px 17px; }
  .disclosure,.kit-mini,.kit-copy .kit-mini { font-size:14px!important; line-height:1.7; color:#586570; }
  .kit-list li { font-size:17px; line-height:1.6; flex-wrap:wrap; align-items:baseline; }
  .kit-list li span { font-size:15px; line-height:1.6; color:#635970; }
  .kit-price small { font-size:14px; line-height:1.6; max-width:210px; color:#635970; }
  .kit-stamp { font-size:13px; letter-spacing:.07em; }
  .trust-top p,.trust-grid p,.faq-section .sub,.faq-section details p,.change-line p { font-size:18px; line-height:1.75; color:#56636b; }
  .trust-grid h3,.change-line b { font-size:19px; line-height:1.5; }
  .faq-section summary { font-size:18px; line-height:1.6; }
  .footer p,.footer-links,.footer-bottom,.legal-links { font-size:14px; line-height:1.8; color:#56636b; }
  .footer-links { flex-wrap:wrap; }
  .hotspot { width:44px; height:44px; font-size:15px; }
  .hotspot span { font-size:14px; line-height:1.5; color:#56456b; white-space:normal; width:max-content; max-width:180px; }
  .hs2 span { right:47px; } .hs1 span,.hs3 span { left:47px; }
  .trans-copy h3 { font-size:34px; }
  .change-line { grid-template-columns:28px minmax(0,1fr); }
  .change-line span { width:28px; height:28px; font-size:13px; }
  .detail-copy p,.detail-copy li,.detail-copy details p { font-size:17px; line-height:1.75; color:#56636b; }
  .detail-copy .detail-benefit { font-size:20px; color:#6f568b; }
  .detail-copy .detail-price { font-size:25px!important; }
  .detail-price small { font-size:14px!important; }
  .detail-copy .eyebrow { font-size:13px; }
  .detail-copy summary,.complements h3 { font-size:17px; line-height:1.6; }
  .complements>p { font-size:15px; }
  .complement,.complement b { font-size:15px; line-height:1.5; }
  .complement { flex-wrap:wrap; }
  .detail-copy .purchase-note,.gallery-note { font-size:14px; line-height:1.6; color:#56636b; }
  .gallery-tab { width:115px; } .gallery-tab span { font-size:13px; }
  .detail-buy .cta,.drawer .cta { font-size:16px; line-height:1.5; }
  .quantity { font-size:18px; min-width:120px; }
  .cart-item b { font-size:18px; line-height:1.5; }
  .cart-item small,.cart-item .line-price,.remove { font-size:15px; line-height:1.6; }
  .drawer-note,.empty,.saved-plan { font-size:16px; line-height:1.75; }
  .total { font-size:20px; }
  .toast { font-size:16px; line-height:1.5; }
}
@media (min-width: 1101px) {
  .wrap { max-width:1600px; padding-left:4%; padding-right:4%; }
  .header nav { min-height:76px; height:auto; padding-top:12px; padding-bottom:12px; gap:22px; flex-wrap:wrap; }
  .navlinks,.cart-btn { font-size:16px; line-height:1.5; }
  .navlinks { gap:26px; flex-wrap:wrap; }
  .hero p,.intro p,.section-head p,.kit-copy p,.last-cta p { font-size:18px; line-height:1.75; color:#56636b; }
  .hero p { max-width:460px; } .intro p { max-width:680px; }
  .section-head p { max-width:420px; } .kit-copy p { max-width:470px; }
  .hero .cta,.kit-copy .cta,.last-cta .cta { font-size:16px; line-height:1.5; min-height:56px; }
  .hero-caption { bottom:78px; font-size:15px; line-height:1.6; max-width:275px; }
  .hero-caption span { font-size:22px; }
  .hero-small { max-width:480px!important; }
  .image-badge { font-size:14px; }
  .image-note { font-size:14px; line-height:1.4; max-width:290px; color:#414a50; }
  .hero-image .image-note { max-width:235px; text-align:right; }
  .benefit b { font-size:17px; line-height:1.5; }
  .benefit small { font-size:15px; line-height:1.5; }
  .benefit { padding:0 18px; }
  .trust-top p { max-width:420px; }
  .trust-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .trust-grid>div { min-width:0; }
  .dialog { width:min(1140px,95%); }
  .drawer { width:min(520px,100%); }
  .last-cta { max-width:1472px; margin-left:auto; margin-right:auto; width:92%; }
}
@media (min-width: 1800px) {
  .wrap { max-width:1720px; }
  .last-cta { max-width:1582px; }
}
/* Preserve the mobile scale and allow zoom/reflow without text clipping. */
.product-line h3,.trust-grid h3,.complement,.navlinks a { overflow-wrap:break-word; }

