/* R21 — compact Truck service line, image-led work states and a same-preview live-page viewer. */
.r21-service-media .r21-service-frame{display:block;position:relative;width:clamp(170px,21vw,340px);height:clamp(84px,10vw,162px);margin-left:clamp(14px,2vw,38px);vertical-align:middle;overflow:hidden;background:#e8e5e0;border-radius:0}.r21-service-media .r21-service-frame img{width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.72) contrast(.96)}
.r21-gallery{margin-top:clamp(130px,18vw,280px)!important;margin-bottom:clamp(130px,18vw,280px)!important}.r21-section-head{display:grid;grid-template-columns:minmax(80px,1fr) minmax(0,10fr);padding-bottom:clamp(30px,5vw,78px);border-bottom:1px solid currentColor}.r21-projects{display:grid;gap:clamp(72px,13vw,220px);padding-top:clamp(54px,8vw,120px)}.r21-project{display:grid;grid-template-columns:minmax(58px,1fr) minmax(0,10fr);grid-template-rows:auto auto;gap:clamp(14px,2vw,30px) var(--gutter,24px);color:inherit;text-decoration:none;cursor:pointer}.r21-index{grid-column:1;grid-row:1;align-self:end}.r21-caption{grid-column:2;grid-row:1;display:block;max-width:14ch;font-size:clamp(34px,5.5vw,112px);line-height:.87;letter-spacing:-.045em;text-wrap:balance}.r21-image{grid-column:2;grid-row:2;display:block;width:100%;min-height:clamp(260px,52vw,730px);aspect-ratio:16/9;overflow:hidden;background:#e7e4df}.r21-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center top;filter:saturate(.88);transition:transform .9s cubic-bezier(.22,1,.36,1),filter .6s ease}.r21-project:hover .r21-image img,.r21-project:focus-visible .r21-image img{transform:scale(1.025);filter:saturate(1.04)}.r21-project:focus-visible{outline:2px solid #b91321;outline-offset:10px}
.r21-modal[hidden]{display:none!important}.r21-modal{position:fixed;inset:0;z-index:2147483000;display:grid;grid-template-rows:auto minmax(0,1fr);background:#fff;color:#101010}.r21-modal-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;min-height:clamp(64px,6.2vw,92px);padding:0 clamp(20px,3vw,56px);border-bottom:1px solid #101010;background:#fff;font-family:var(--font-sans,Arial,sans-serif);letter-spacing:-.025em}.r21-modal-head>.body-md{font-size:11px;line-height:1;letter-spacing:.13em;text-transform:uppercase}.r21-modal-head .heading-xs{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(18px,1.65vw,29px);font-weight:400;line-height:.95;letter-spacing:-.045em}.r21-modal-close{appearance:none;border:0;border-bottom:1px solid currentColor;background:transparent;color:inherit;cursor:pointer;min-height:44px;padding:0 0 2px;font:inherit;font-size:12px;line-height:1;letter-spacing:.11em;text-transform:uppercase}.r21-modal-close:focus-visible{outline:2px solid #b91321;outline-offset:5px}.r21-live-frame{display:block;width:100%;height:100%;border:0;background:#fff;overscroll-behavior:contain}.r21-scroll-locked{position:fixed!important;left:0!important;right:0!important;width:100%!important;overflow:hidden!important}
@media(max-width:760px){.r21-service-media .r21-service-frame{width:clamp(112px,38vw,178px);height:clamp(58px,18vw,88px);margin-left:8px}.r21-gallery{margin-top:110px!important;margin-bottom:130px!important}.r21-section-head{grid-template-columns:auto minmax(0,1fr);gap:10px}.r21-section-head .heading-sm{grid-column:1/-1}.r21-projects{gap:76px;padding-top:44px}.r21-project{grid-template-columns:1fr;gap:11px;min-width:0;max-width:100%}.r21-index{grid-column:1;grid-row:1}.r21-caption{grid-column:1;grid-row:2;min-width:0;width:100%;font-size:clamp(45px,15vw,64px);max-width:12ch;white-space:normal!important;overflow-wrap:anywhere}.r21-image{grid-column:1;grid-row:3;min-width:0;max-width:100%;min-height:0;aspect-ratio:4/3}.r21-modal-head{grid-template-columns:minmax(0,1fr) auto;gap:8px;min-height:58px;padding:0 16px}.r21-modal-head>.body-md{display:none}.r21-modal-head .heading-xs{font-size:20px}.r21-modal-close{font-size:14px}}
@media(scripting:none){.r21-modal{display:none!important}}
