/* Ultra public refinements. Keep first paint and the carousel's 2px snap alignment. */
body[data-ultra-site] .service-carousel-track[data-carousel-track]{scroll-padding-inline:2px}
.social-top>a,.ultra-footer-social>a{display:inline-flex;align-items:center;justify-content:center;flex:0 0 36px;width:36px;min-height:36px;padding:5px;text-decoration:none;border:0}
.social-top>a svg,.ultra-footer-social>a svg{width:20px;height:20px;fill:currentColor}
.social-top>a>span,.ultra-footer-social>a>span{display:none}
.ultra-footer-social{display:flex;align-items:center;gap:3px;flex-wrap:wrap;margin:18px -5px 0}
.social-top>a:focus-visible,.ultra-footer-social>a:focus-visible{outline:2px solid var(--green,#5eca20);outline-offset:2px;border-radius:6px}
.site-footer .footer-grid{grid-template-columns:minmax(205px,1.25fr) repeat(3,minmax(125px,.9fr)) minmax(205px,1.2fr);gap:26px;align-items:start}
.site-footer .ultra-footer-core{display:grid;grid-template-columns:1fr 1fr;column-gap:12px;row-gap:8px;margin-bottom:16px}
.site-footer .ultra-footer-core li,.site-footer .ultra-footer-cities li{margin:0}
.site-footer .ultra-city-group{border-block-start:1px solid #ffffff24;padding:10px 0;font-size:14px}
.site-footer .ultra-city-group summary{cursor:pointer;font-weight:600;line-height:1.5;padding:3px 0;color:#fff}
.site-footer .ultra-footer-cities{display:grid;grid-template-columns:1fr 1fr;gap:9px 14px;padding-top:14px;font-size:13px}
.site-footer .footer-map-link{display:inline-block;margin-top:14px;font-size:14px}
.ultra-footer-badges{display:flex;gap:12px;align-items:center;margin-top:22px;flex-wrap:wrap}
.ultra-license-badge{display:inline-flex;align-items:center;justify-content:center;background:white;border-radius:9px;padding:12px;min-height:60px}
.ultra-license-badge img{width:90px;height:34px;object-fit:contain}
.ultra-veteran-badge{width:82px;height:82px;object-fit:contain}
.site-footer .ultra-hours{margin-top:24px;font-size:13px;max-width:280px}
.site-footer .ultra-hours h3{font-size:14px;color:#fff;margin-bottom:10px}
.site-footer .ultra-hours dl{display:grid;grid-template-columns:auto 1fr;gap:8px 14px;margin:0}
.site-footer .ultra-hours dd{margin:0;text-align:right}.site-footer .ultra-hours p{font-size:12px;line-height:1.6;margin-top:10px}
.ultra-testimonial-tools{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:28px;flex-wrap:wrap}
.ultra-testimonial-tools label{display:grid;gap:8px;flex:1 1 300px;max-width:500px;font-weight:600}
.ultra-testimonial-tools input{width:100%;padding:14px;border:1px solid #ccc;border-radius:9px;font:inherit}
.ultra-testimonial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:start}
.ultra-testimonial{margin:0;padding:25px;border:1px solid #ddd;border-radius:16px;background:#fff;overflow-wrap:anywhere}
.ultra-testimonial blockquote{font-size:16px;line-height:1.75;margin:16px 0 22px;white-space:pre-line}
.ultra-testimonial figcaption{font-weight:700}.ultra-testimonial figcaption small{display:block;font-size:12px;color:#666;font-weight:400;margin-top:5px}
.ultra-review-stars{color:#37780f;font-size:19px;letter-spacing:3px}.ultra-testimonial[hidden]{display:none}
.ultra-review-more{margin:30px auto 0;display:flex}.ultra-article-photo{margin:32px 0}.ultra-article-photo img{display:block;width:100%;height:auto;border-radius:14px}.ultra-article-photo figcaption{font-size:14px;line-height:1.6;color:#555;margin-top:10px}
.ultra-map-popup{font-family:inherit;font-size:15px;line-height:1.6;color:#1e1e1e;max-width:280px;padding:2px 3px 9px}.ultra-map-popup h3{font-size:20px;margin:0 0 9px}.ultra-map-popup p{font-size:14px;margin:0 0 16px}.ultra-map-popup a{display:block;color:#276409;text-decoration:underline;font-weight:650;padding:7px 0}.ultra-map-popup .button{display:inline-flex;color:#111;text-decoration:none;background:var(--green,#5eca20);padding:10px 16px;margin-bottom:6px}
.ultra-card-wrap{padding:64px 20px;background:var(--ivory,#f6f6f6)}
.ultra-contact-card{max-width:720px;margin:auto;background:white;border:1px solid #dedede;border-radius:24px;overflow:hidden;box-shadow:0 16px 55px #0906110c}
.ultra-card-banner{background:var(--pine,#090611);color:#fff;padding:34px 36px;display:flex;align-items:center;gap:26px;border-bottom:5px solid var(--green,#5eca20)}
.ultra-card-banner img{width:104px;height:104px;object-fit:contain}.ultra-card-banner p{font-size:14px;color:#ddd;letter-spacing:.05em}.ultra-card-body{padding:36px}
.ultra-card-person{display:flex;gap:24px;align-items:center;margin-bottom:28px}.ultra-card-person img{width:108px;height:136px;object-fit:cover;object-position:50% 18%;border-radius:14px}.ultra-card-person h1{font-size:40px;line-height:1.1;letter-spacing:-.04em;margin:0 0 10px}.ultra-card-person p{color:#555;font-size:17px}
.ultra-card-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:26px 0}.ultra-card-actions .button{justify-content:center;white-space:normal;min-height:50px;padding:14px;text-align:center}.ultra-card-actions .ultra-card-wide{grid-column:1/-1}
.ultra-contact-details{display:grid;gap:13px;padding:22px 0;border-block:1px solid #ddd;overflow-wrap:anywhere}.ultra-contact-details a{font-weight:600;text-decoration:underline}.ultra-card-note{font-size:13px;line-height:1.7;color:#555;margin-top:18px}.ultra-card-status{min-height:24px;font-size:14px;line-height:1.7;margin-top:16px}
@media(max-width:1100px){.site-footer .footer-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:36px}.site-footer .footer-about{grid-column:span 1}.ultra-testimonial-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.site-footer .footer-grid{grid-template-columns:1fr 1fr;gap:34px 24px}.site-footer .footer-about{grid-column:1/-1}.site-footer .footer-contact{grid-column:1/-1}.site-footer .ultra-hours{max-width:320px}.ultra-testimonial-grid{grid-template-columns:1fr}.ultra-testimonial{padding:22px}.ultra-card-wrap{padding:30px 16px}.ultra-card-body{padding:25px}.ultra-card-banner{padding:24px;gap:18px}.ultra-card-banner img{width:80px;height:80px}.ultra-card-person{gap:18px}.ultra-card-person h1{font-size:34px}.ultra-card-person img{width:84px;height:112px}}
@media(max-width:380px){.site-footer .footer-grid{grid-template-columns:1fr}.site-footer .footer-about,.site-footer .footer-contact{grid-column:auto}.ultra-card-actions{grid-template-columns:1fr}.ultra-card-person h1{font-size:30px}}
