/* Public site typography; administration keeps its independent layout. */
body{font-size:16px}
.topbar{font-size:13px}.nav nav{font-size:15px}.phone{font-size:17px}
.eyebrow{font-size:11px}.lead{font-size:18px;max-width:530px}.btn{font-size:15px}
.hero-notes{font-size:12px;gap:16px}.section-heading>p{font-size:15px}
.service-card h3{font-size:21px}.service-card p{font-size:14px}.service-card .service-subtitle{font-size:12px}.service-bottom{font-size:13px}.section-foot{font-size:13px}
.business p{font-size:14px}.business .btn{font-size:13px}.business .eyebrow{font-size:10px}
.filter{font-size:13px}.search input{font-size:14px;width:185px}.demo-note{font-size:13px}
.product-category{font-size:11px}.product-body h3{font-size:19px}.condition{font-size:11px}.sample-tag{font-size:10px}
.steps p,.faqs p{font-size:15px}.faqs summary{font-size:17px}.about-text{font-size:17px}.benefits-grid p{font-size:14px}
.reviews-copy>p{font-size:16px}.reviews-source strong{font-size:15px}.reviews-source small{font-size:12px}.reviews-copy .reviews-help{font-size:12px}.reviews-section .btn{font-size:14px}
.contact-address{font-size:17px}.hours,.email-link{font-size:14px}.contact-outline{font-size:14px}.map-caption span{font-size:14px}.map-caption small{font-size:11px}
.footer{font-size:12px}.footer small{font-size:11px}dialog p{font-size:15px}label{font-size:14px}.checkbox{font-size:13px}form>small{font-size:12px}
.hero-call{min-width:190px;gap:12px}.hero-call svg{width:20px;height:20px}.hero-contact-details{display:flex;flex-direction:column;gap:16px;border-top:1px solid #d9e5f4;margin-top:27px;padding-top:21px;max-width:530px}.hero-detail{display:flex;align-items:flex-start;gap:12px}.hero-detail>svg{width:22px;height:22px;flex-shrink:0;color:#2266b2;margin-top:3px}.hero-detail>span:not(.hero-detail-arrow){min-width:0}.hero-detail small{display:block;font-size:9px;letter-spacing:1.4px;color:#647e9f;margin-bottom:3px}.hero-detail strong{display:block;font-size:14px;font-weight:500;line-height:1.7;white-space:pre-line}.hero-detail-arrow{font-size:18px;color:#2266b2}.hero-detail:hover strong{color:#154c80}.hero .hero-notes{margin-top:21px}.hero .hero-visual{align-self:stretch;max-height:640px}.hero-copy{padding-block:5px}
@media(max-width:800px){.hero .hero-visual{min-height:390px;max-height:440px}.hero-call{min-width:0}.hero-contact-details{max-width:600px}.hero-detail strong{font-size:14px}}
@media(max-width:480px){.hero .hero-call{justify-content:center}.hero-contact-details{gap:15px;margin-top:24px;padding-top:19px}.hero-detail strong{font-size:13px}.hero-detail small{font-size:8px}.hero .hero-visual{min-height:320px}.hero .hero-notes{gap:9px}}
/* Two identical groups make a seamless loop, including at the join. */
.brand-strip{display:flex;justify-content:initial;gap:25px;overflow:hidden;padding:28px 0;white-space:normal}
.brand-strip>.brand-strip-label{width:118px;min-width:0;flex-shrink:0;font-size:10px;letter-spacing:1.4px;line-height:1.9}
.brand-viewport{flex:1;min-width:0;overflow:hidden;mask-image:linear-gradient(to right,transparent,#000 4%,#000 96%,transparent)}
.brand-track{display:flex;width:max-content;animation:brand-scroll 42s linear infinite;will-change:transform}
.brand-group{display:flex;align-items:center;gap:58px;padding-right:58px;flex-shrink:0}
.brand-strip .brand-group strong{font-size:27px;line-height:1.4;white-space:nowrap;letter-spacing:-.8px;font-weight:700;color:#466b99;opacity:.76}
.brand-strip .brand-group .canon{font-family:Georgia,serif;font-size:31px}
.brand-viewport:hover .brand-track,.brand-strip[data-paused="true"] .brand-track{animation-play-state:paused}
.brand-motion-toggle{width:34px;height:34px;flex-shrink:0;display:grid;place-items:center;border:1px solid #d2e0f2;border-radius:50%;background:transparent;color:#45678f;font-size:16px;line-height:1;padding:0}
.brand-motion-toggle:hover{background:#edf4ff;border-color:#a3b392}
@keyframes brand-scroll{to{transform:translateX(-50%)}}
@media(max-width:1100px){.nav{gap:20px}.nav nav{font-size:14px;gap:17px}.phone{font-size:15px}.hero-notes{font-size:11px}.service-card h3{font-size:20px}.product-body h3{font-size:18px}}
@media(max-width:800px){.menu-open nav{font-size:17px}.brand-strip{gap:16px}.brand-strip>.brand-strip-label{width:95px;font-size:9px}.brand-group{gap:38px;padding-right:38px}.brand-strip .brand-group strong{font-size:24px}.brand-strip .brand-group .canon{font-size:28px}.about-text{font-size:16px}.steps p{font-size:14px}.reviews-copy>p{font-size:15px}.footer{padding-bottom:105px}}
@media(max-width:480px){.topbar .wrap{font-size:11px}.nav>.phone{font-size:12px}.nav{gap:8px}.lead{font-size:16px}.eyebrow{font-size:9px}.hero-notes{font-size:10px}.hero .btn{font-size:15px}.brand-strip{gap:11px;padding:23px 0}.brand-strip>.brand-strip-label{width:77px;font-size:8px;letter-spacing:1px}.brand-motion-toggle{width:28px;height:28px;font-size:14px}.brand-group{gap:30px;padding-right:30px}.brand-strip .brand-group strong{font-size:23px}.brand-strip .brand-group .canon{font-size:27px}.service-card h3,.services-grid .service-card h3{font-size:17px}.service-card p{font-size:13px}.service-card .service-subtitle{font-size:11px}.service-bottom{font-size:11px}.filter{font-size:12px}.search input{width:100%}.product-body h3{font-size:17px}.product-category{font-size:10px}.benefits-grid p{font-size:13px}.benefits-grid h3{font-size:17px}.reviews-source strong{font-size:13px}.reviews-source small{font-size:11px}.mobile-cta .btn{font-size:13px}.footer>div{font-size:11px}.footer small{font-size:10px}}
@media(prefers-reduced-motion:reduce){.brand-track{animation:none;transform:none;width:auto;will-change:auto}.brand-group{flex-wrap:wrap;gap:14px 22px;padding:0}.brand-group[aria-hidden="true"],.brand-motion-toggle{display:none}.brand-viewport{mask-image:none}.brand-strip{align-items:flex-start}}
