/* Load after page styles. Keep this scale on public pages only. */
.public-site{font-size:17px;line-height:1.8}
.public-site nav{font-size:15px;gap:22px}
.public-site .page-hero h1{font-size:clamp(32px,3.5vw,50px);line-height:1.45;margin:18px 0}
.public-site .page-hero p{font-size:18px;line-height:1.85}
.public-site h2{font-size:clamp(27px,2.6vw,34px);line-height:1.5}
.public-site .card h3{font-size:22px;line-height:1.55}
.public-site .card p,.public-site .card>a,.public-site .prose{font-size:17px;line-height:1.85}
.public-site .btn{font-size:16px;min-height:48px;padding:13px 21px}
.public-site .trust-item strong{font-size:18px}
.public-site .expertise-panel .expertise-row strong{font-size:18px}
.public-site .expertise-panel .expertise-row small{font-size:15px;line-height:1.75}
.public-site .photo-caption strong{font-size:25px}
.public-site .service-feature p,.public-site .service-points li{font-size:17px;line-height:1.85}
.public-site .contact-banner h2{font-size:28px}
.public-site .contact-banner p{font-size:17px}
.public-site form label,.public-site input,.public-site textarea,.public-site select{font-size:16px}
.public-site th,.public-site td{font-size:16px}
.public-site footer{font-size:16px}

/* Catalog and product detail. Preserve image sizes and card alignment. */
.public-site.catalog-page .page-hero h1,.public-site.service-page .page-hero h1{font-size:clamp(30px,3vw,42px)}
.public-site.catalog-page .page-hero p,.public-site.service-page .page-hero p{font-size:17px}
.public-site .catalog-section-head h2{font-size:29px}
.public-site .catalog-product-card h3{font-size:20px;line-height:1.6}
.public-site .catalog-card-content>p{font-size:16px;line-height:1.85}
.public-site .catalog-card-model{font-size:14px}
.public-site .catalog-search-field input,.public-site .catalog-filter-row select{font-size:16px}
.public-site .catalog-results-head p{font-size:16px}
.public-site .catalog-support h2{font-size:28px}
.public-site .product-detail{font-size:17px}
.public-site .product-intro h1{font-size:clamp(30px,2.8vw,38px)}
.public-site .product-summary{font-size:18px;line-height:1.85}
.public-site .product-highlights h3,.public-site .product-additional h3,.public-site .product-legacy h3{font-size:21px}
.public-site .product-highlights p,.public-site .product-included p,.public-site .product-additional p,.public-site .product-legacy p,.public-site .product-bullets{font-size:16px;line-height:1.85}
.public-site .product-included strong{font-size:18px}
.public-site .product-spec-table th,.public-site .product-spec-table td,.public-site .product-spec-table thead th{font-size:16px}
.public-site .product-faq summary{font-size:17px}
.public-site .product-contact h2{font-size:27px}

/* Company profile. */
.public-site .about-intro .about-lead{font-size:19px;line-height:1.85}
.public-site .about-intro p,.public-site .about-summary,.public-site .about-topics p{font-size:17px;line-height:1.85}
.public-site .about-specialty h3{font-size:25px}
.public-site .about-topics h4{font-size:19px}

/* Contact: quieter hierarchy and less crowded form. */
.public-site.contact-page .contact-heading p,.public-site.contact-page .contact-form-intro{font-size:16px;line-height:1.85}
.public-site.contact-page h3{font-size:22px}
.public-site.contact-page .contact-channel strong{font-size:18px}
.public-site.contact-page .contact-hours p,.public-site.contact-page .contact-service p{font-size:16px}
.public-site.contact-page .contact-form label{font-size:15px}
.public-site.contact-page .contact-form input:not([type=checkbox]),.public-site.contact-page .contact-form textarea{font-size:16px;padding:12px 13px}
.public-site.contact-page .contact-form .btn{font-size:16px;min-height:48px}
.public-site.contact-page .contact-office h3{font-size:25px}
.public-site.contact-page .contact-office address,.public-site.contact-page .contact-office-actions{font-size:16px;line-height:1.85}
.public-site.contact-page .contact-form{padding:30px}
.public-site.contact-page .contact-channel{padding:18px}
.public-site.contact-page .contact-locations{margin-top:60px}
.public-site .service-intro h2{font-size:28px}
.public-site .service-form legend{font-size:26px}

@media(max-width:760px){
  .public-site{font-size:16px}
  .public-site .page-hero h1{font-size:clamp(29px,7.7vw,36px)}
  .public-site .page-hero p{font-size:17px}
  .public-site h2{font-size:26px}
  .public-site .card h3{font-size:21px}
  .public-site .card p,.public-site .card>a,.public-site .prose{font-size:16px}
  .public-site .expertise-panel .expertise-row strong{font-size:17px}
  .public-site .photo-caption strong{font-size:23px}
  .public-site .contact-banner h2,.public-site .catalog-section-head h2,.public-site .catalog-support h2{font-size:25px}
  .public-site.catalog-page .page-hero h1,.public-site.service-page .page-hero h1{font-size:30px}
  .public-site .catalog-product-card h3{font-size:20px}
  .public-site .catalog-card-content>p{font-size:16px}
  .public-site .product-intro h1{font-size:28px}
  .public-site .product-summary{font-size:17px}
  .public-site .about-intro .about-lead{font-size:18px}
  .public-site .about-intro p,.public-site .about-summary,.public-site .about-topics p{font-size:16px}
  .public-site .about-specialty h3{font-size:23px}
  .public-site .about-topics h4{font-size:18px}
  .public-site.contact-page .contact-form{padding:24px 20px}
  .public-site.contact-page .contact-locations{margin-top:40px}
  .public-site.contact-page .contact-office h3{font-size:23px}
}
