/* Readable copy and comfortable controls across the site. */
body{font-size:16px}
header nav{font-size:16px;gap:20px!important}
header nav a{font-size:16px;font-weight:600;line-height:1.5}
header nav .button{font-size:15px;padding:12px 16px}
@media(min-width:801px) and (max-width:1120px){
  header.wrap{width:96%}
  header nav{gap:12px!important}
  header nav a{font-size:14px}
  header nav .button{font-size:14px;padding:10px 12px}
}
@media(max-width:800px){
  header nav a{font-size:18px;padding:10px 0;min-height:48px}
  header nav .button{font-size:17px;padding:12px 16px}
}
.catalog-intro p,.product-body>p,.product-body li,.offer-copy>p,.offer-copy li,.product-body details p{font-size:15px;line-height:1.75;color:#326782}
.product-tag{font-size:12px}
.catalog h1{font-size:44px}
.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.product-body h2{font-size:29px;line-height:1.2}
.featured-product .product-body h2{font-size:36px}
.product-price{white-space:normal}
.product-price strong{font-size:36px}
.product-price small,.price-label{font-size:12px}
.order-button,.details-button,.product-body summary{font-size:14px;line-height:1.5}
.order-button,.details-button{min-height:46px;padding:11px 12px}
.popular-badge,.offer-badges span{font-size:11px;line-height:1.5}
.offer-copy h2{font-size:38px;line-height:1.2}
.offer-visual span,.offer-visual p{font-size:12px;line-height:1.6}
.offer-visual strong{font-size:25px}
@media(max-width:800px){
  .topbar{font-size:11px;line-height:1.6}
  nav a{font-size:15px;line-height:1.5;padding:7px 0}
  .aqua-heading p,.feature-copy>p,.service-content p,.story-grid p,.contact-intro,.steps p,.faq p,.service-card p,.section-top p,.reference-description{font-size:16px;line-height:1.75}
  .aqua-caption,.eyebrow,.selection-link,.feature-notes,.benefit-strip{font-size:12px;line-height:1.65}
  .button,.service-card a,.reference-actions a{font-size:14px;min-height:46px}
  form label,form>p,.contact-row small{font-size:14px;line-height:1.6}
  form input,form select,form textarea{font-size:16px;min-height:46px}
  .form-note,.footer-bottom,.footer-top p{font-size:12px;line-height:1.75}
  .faq summary{font-size:16px;line-height:1.6}
  .reference-feature h2{font-size:18px}
  .reference-feature p{font-size:15px;line-height:1.65}
  .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .featured-product{grid-template-columns:42% 58%}
  .featured-product .product-body{padding:40px 22px}
  .product-body{padding:23px 20px}
  .office-offer{grid-template-columns:1fr}
  .offer-copy ul{grid-template-columns:1fr}
  .offer-visual{max-width:420px;width:100%;justify-self:center}
}
@media(max-width:640px){
  .catalog{width:92%}
  .catalog h1{font-size:36px;line-height:1.15}
  .catalog-intro p,.product-body>p,.product-body li,.offer-copy>p,.offer-copy li,.product-body details p{font-size:16px;line-height:1.75}
  .product-grid{grid-template-columns:minmax(0,1fr)}
  .featured-product{display:block}
  .featured-product .product-body,.product-body{padding:25px 22px}
  .product-body h2,.featured-product .product-body h2{font-size:31px;line-height:1.2}
  .product-price strong{font-size:38px}
  .order-button,.details-button,.card-actions a{font-size:15px;min-height:48px}
  .offer-copy h2{font-size:32px;line-height:1.2}
  .offer-copy .card-actions{flex-direction:column}
  .offer-badges span{font-size:12px}
}
@media(max-width:360px){
  .catalog h1{font-size:32px}
  .product-body h2,.featured-product .product-body h2{font-size:28px}
  .card-actions{flex-direction:column}
  .topbar .wrap{flex-wrap:wrap;gap:4px}
}
