/* CA LEGAL | viewport-specific rules, no desktop style duplication | v2026.10.24.12 */
@media(max-width:1199.98px){.ca-service-inner{min-height:310px}}
@media(max-width:991.98px){
 .site-header .site-navbar{flex-wrap:wrap;min-height:76px;padding-block:12px}
 .site-brand{max-width:240px}.site-brand #logo{width:min(100%,240px)}
 .site-nav-toggle{display:inline-flex!important}
 .site-header .site-nav-collapse{flex-basis:100%;width:100%;border-top:1px solid #e5e9e9;margin-top:12px;padding:11px 0 18px;max-height:75vh;overflow-y:auto}
 .site-header .site-nav-list{flex-direction:column;align-items:stretch;width:100%;max-height:none;gap:0}
 .site-header .site-nav-list>.nav-item{width:100%;border-bottom:1px solid #e8ecec}
 .site-header .site-nav-pair{width:100%}
 .site-header .site-nav-list .nav-link,.site-header .site-nav-list .site-nav-label{flex:1;min-height:52px;padding:13px 14px!important;text-align:left;white-space:normal;font-size:17px!important}
 .site-header .site-submenu-toggle{flex:0 0 52px;width:52px;min-height:52px;margin:0;border-left:1px solid #e8ecec}
 .site-header .site-dropdown-menu{position:static!important;display:none!important;visibility:visible;opacity:1;pointer-events:auto;width:100%;max-width:none;min-width:0;margin:0;padding:8px 10px 14px 19px;border:0;border-top:1px solid #e8ecec;border-radius:0;box-shadow:none;background:#f6f6f3}
 .site-header .site-dropdown.is-open>.site-dropdown-menu{display:block!important}
 .site-header .site-dropdown-menu .dropdown-item{font-size:16px;padding:12px 14px}
 .ca-hero-shell{display:grid;grid-template-columns:1fr;grid-template-rows:190px auto;min-height:0}
 .ca-hero-visual{grid-row:1;grid-column:1;min-height:190px;background-position:65% 43%}
 .ca-hero-content{grid-row:2;grid-column:1;min-height:270px;border-right:0}
 .ca-original-carousel{padding:30px 52px 66px}.ca-slide-viewport{min-height:155px}
 .ca-about-grid{grid-template-columns:minmax(0,1fr) minmax(210px,.7fr);gap:25px}
 .ca-qa-list ol{grid-template-columns:1fr}
 .ca-embed-grid{grid-template-columns:1fr}
 .site-footer-main{gap:26px}
}
@media(max-width:767.98px){
 body{font-size:17px!important;line-height:1.78}
 .site-topbar-inner{min-height:39px;gap:10px;padding-block:4px}
 .site-topbar-actions a{min-height:0;padding:0;font-size:15px}
 .site-topbar-intro{font-size:12px;line-height:1.4}
 .site-main:not(:has(.ca-hero)){padding-top:18px}
 .site-main :is(.container,.container-fluid){padding-left:18px;padding-right:18px}
 .site-main .row{--bs-gutter-x:1.2rem}.site-main .card{margin-bottom:.8rem}.site-main .card-body{padding:1.15rem}
 .site-main :is(.btn,.form-control,.form-select){min-height:43px}.site-main .input-group{flex-wrap:wrap;row-gap:.6rem}
 .site-main .text-nowrap{white-space:normal!important}.site-main .table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}
 /* At narrow widths the original lettering is in a dark accessible panel, never over a bright photo. */
 .ca-hero{border:0}
 .ca-hero-shell{display:flex;flex-direction:column;min-height:0}
 .ca-hero-content{order:2;min-height:0;border-right:0}
 .ca-hero-content::before{inset:10px;border-color:rgba(214,196,164,.17)}
 .ca-hero-content::after{width:4px}
 .ca-hero-visual{order:1;height:138px;min-height:138px;background-position:66% 49%;background-size:cover}
 .ca-original-carousel{padding:12px 18px 57px}
 .ca-slide-viewport{min-height:0;display:flex;align-items:center;justify-content:center}
 .ca-slide-picture{display:block;max-width:324px;width:100%;margin:auto}
 .ca-slide-viewport img{display:block;width:100%;height:auto;max-width:100%;object-fit:contain;filter:none}
 .ca-slide-controls{left:50%;bottom:13px;transform:translateX(-50%);gap:15px}
 .ca-carousel-arrow{width:38px;height:38px;flex-basis:38px;font-size:25px}
 .ca-home-services{padding:67px 0 76px}
 .ca-section-heading{gap:16px;margin-bottom:26px;padding-bottom:19px}
 .ca-section-heading h2,.ca-section-heading h2 a{font-size:clamp(32px,8vw,44px)!important}
 .ca-services-grid{grid-template-columns:1fr;gap:13px}
 .ca-service-inner{min-height:0;padding:27px 27px 29px}
 .ca-service-title{font-size:32px!important;margin-bottom:14px!important}
 .ca-service-number{margin-bottom:21px}
 .ca-service-body{font-size:18px;line-height:1.87}
 .ca-home-about{padding:72px 0}.ca-about-grid{grid-template-columns:1fr;gap:34px}
 .ca-about-copy{font-size:19px;line-height:1.93;padding:12px 0 12px 22px}
 .ca-about-emblem{min-height:270px}.ca-about-emblem img{width:175px}
 .ca-home-qa{padding:76px 0}.ca-qa-list li{padding:23px 0 27px 48px;font-size:17px;line-height:1.81}.ca-qa-list li::before{top:26px;font-size:16px}
 .ca-home-contact{padding:72px 0}.ca-location-row{grid-template-columns:1fr;padding:29px 23px;gap:20px}.ca-parking img{width:145px}
 .site-footer{padding:40px 0 24px!important}.site-footer-main{grid-template-columns:1fr;gap:21px;padding-bottom:25px}.site-footer-name{font-size:29px}.site-footer-address{text-align:left}.site-footer-address a{font-size:27px}.site-footer-bottom{flex-direction:column;align-items:start;gap:18px}
}
@media(max-width:575.98px){
 .site-topbar-inner{display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:3px;padding-block:6px;min-height:0}
 .site-topbar-actions{justify-content:center}
 .site-topbar-actions a{min-height:0;padding:0;font-size:15px}
 .site-topbar-intro{justify-content:center;text-align:center;font-size:11px;line-height:1.4;gap:6px;overflow-wrap:anywhere}
 .site-topbar-intro .site-topbar-icon{width:14px;height:14px;flex-basis:14px}
}
@media(max-width:400px){.ca-original-carousel{padding-inline:15px}.ca-hero-visual{height:138px;min-height:138px}.site-brand{max-width:205px}.site-brand #logo{width:200px}}
