.service-deck{padding:80px 4% 60px;background:#fffaf6;color:#171815}.deck-heading{text-align:center;margin-bottom:48px}.deck-heading>p:first-child{font-size:11px;letter-spacing:2px;color:#c34e05;margin:0 0 22px}.deck-heading h2{font-size:clamp(32px,3.4vw,56px);line-height:1.4;letter-spacing:-1px;margin:0;font-weight:700}.deck-heading h2 span{color:#f76200}.deck-description{font-size:14px;line-height:1.9;color:#8b6d59;margin:20px 0 0}.service-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:stretch}.service-card{display:flex;flex-direction:column;min-width:0;background:#fff;border:2px solid #f76200;border-radius:24px 24px 24px 4px;padding:22px 20px 20px;transition:transform .3s,box-shadow .3s;position:relative}.service-card:nth-child(even){margin-top:26px;margin-bottom:-26px;border-radius:24px 4px 24px 24px}.service-card:hover,.service-card:focus-visible{transform:translateY(-8px) rotate(-1deg);box-shadow:0 16px 30px #f762001a}.service-card-top{display:flex;align-items:center;gap:10px;color:#f76200}.service-card-top>span{font-size:24px;font-weight:700;letter-spacing:-1px}.service-card-top small{font-size:7px;letter-spacing:.6px}.service-card-top b{margin-left:auto;font-size:23px;font-weight:400}.service-card h3{font-size:clamp(19px,1.4vw,28px);color:#f76200;margin:25px 0 12px;font-weight:700;letter-spacing:-.5px}.service-card-lead{font-size:12px;line-height:1.8;min-height:44px;margin:0 0 20px}.service-card-image{aspect-ratio:1/1.05;overflow:hidden;border-radius:12px;background:#fff0e5}.service-card-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s}.service-card:hover img{transform:scale(1.04)}.service-card-description{font-size:12px;line-height:1.9;color:#826c5d;margin:20px 0 24px;flex:1}.service-card-link{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #f7620030;padding-top:15px;color:#d35300;font-size:12px}.service-card-link span{font-size:18px}.deck-foot{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:11px;letter-spacing:.5px;color:#957b69;margin:65px 0 0}.deck-foot a{color:#c34e05;border-bottom:1px solid #f7620040;padding-bottom:3px}@media(max-width:1100px){.service-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}.service-card:nth-child(even){margin:0}.service-card h3{font-size:27px}.service-card-lead{min-height:0}.service-card-image{aspect-ratio:4/3}}@media(max-width:600px){.service-deck{padding:50px 5% 40px}.deck-heading{margin-bottom:30px}.deck-heading h2{font-size:32px}.deck-description{font-size:13px}.service-cards{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:10px 0 20px;scrollbar-width:thin;scrollbar-color:#f76200 #ffe6d6}.service-card{flex:0 0 88%;scroll-snap-align:start;padding:20px;transform:none!important}.service-card h3{font-size:27px}.service-card-image{aspect-ratio:1.1}.deck-foot{margin-top:25px;line-height:1.8}.service-card-top small{font-size:8px}}@media(prefers-reduced-motion:reduce){.service-card,.service-card-image img{transition:none}.service-card:hover,.service-card:focus-visible{transform:none}}

@media(min-width:1700px){.service-cards{grid-template-columns:repeat(6,minmax(0,1fr));gap:18px}.service-card{padding:20px 16px}.service-card h3{font-size:22px}}
/* Spacious service carousel: desktop begins 300px from the viewport edge. */
.service-deck{--deck-inset:300px;padding-left:0;padding-right:0;overflow:hidden}
.deck-heading{padding:0 5%;margin-bottom:24px}
.deck-controls{display:flex;justify-content:flex-end;gap:12px;padding:0 5%;margin-bottom:20px}
.deck-controls button{display:grid;place-items:center;width:48px;height:48px;border:1px solid #f76200;border-radius:50%;color:#f76200;background:transparent;font-size:24px;cursor:pointer;transition:background .2s,color .2s}
.deck-controls button:hover:not(:disabled){background:#f76200;color:white}
.deck-controls button:disabled{opacity:.3;cursor:default}
.deck-controls button:focus-visible,.service-cards:focus-visible{outline:2px solid #f76200;outline-offset:4px}
.service-cards{display:flex;gap:28px;align-items:stretch;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:var(--deck-inset);padding:12px var(--deck-inset) 42px;scrollbar-width:none}
.service-cards::-webkit-scrollbar{display:none}
.service-card{flex:0 0 340px;scroll-snap-align:start;padding:22px 20px 20px}
.service-card:nth-child(even){margin-top:26px;margin-bottom:-26px}
.service-card h3{font-size:25px}
.service-card-image{aspect-ratio:1/1.05}
.deck-foot{margin:28px 5% 0}
@media(max-width:1100px){.service-deck{--deck-inset:80px}.service-card{flex-basis:320px}}
@media(max-width:600px){.service-deck{--deck-inset:24px}.service-card{flex-basis:86%;padding:20px}.service-cards{gap:18px}.service-card:nth-child(even){margin-top:0;margin-bottom:0}.service-card h3{font-size:25px}.service-card-image{aspect-ratio:1.1}.deck-controls{padding:0 24px}.deck-controls button{width:44px;height:44px}}

.service-cards,.service-cards .service-card{cursor:grab}
.service-cards{user-select:none;-webkit-user-select:none}
.service-cards img{-webkit-user-drag:none}
.service-cards.is-dragging{scroll-snap-type:none;scroll-behavior:auto}
.service-cards.is-dragging,.service-cards.is-dragging .service-card{cursor:grabbing}
.service-cards.is-dragging .service-card{transform:none;transition:none}

.service-cards.is-scroll-linked{scroll-snap-type:none}

/* Orange service-section color trial. */
.service-deck{background:#f76200}
.service-deck .deck-heading,.service-deck .deck-heading>p:first-child,.service-deck .deck-description,.service-deck .deck-heading h2 span,.service-deck .deck-foot,.service-deck .deck-foot a{color:#fff}
.service-deck .deck-foot a{border-color:#ffffff80}
.service-deck .deck-controls button{border-color:#fff;color:#fff}
.service-deck .deck-controls button:hover:not(:disabled){background:#fff;color:#f76200}
.service-deck .deck-controls button:focus-visible,.service-deck .service-cards:focus-visible{outline-color:#fff}
.service-deck .service-card{border-color:#fff}

.service-card-lead{min-height:68.4px;line-height:1.9;color:#826c5d;margin:0 0 20px}

.service-deck .service-card h3{color:#171815}

.service-deck .service-card-image{background:transparent;border-radius:0}
.service-deck .service-card-image img{object-fit:contain}

/* Extend the orange area below the service cards by 150px. */
.service-deck{padding-bottom:150px}
@media(max-width:600px){.service-deck{padding-bottom:130px}}

/* Uniform rounded corners and 100px less image height per card. */
.service-deck .service-card{border-radius:24px;container-type:inline-size}
.service-deck .service-card-image{aspect-ratio:auto;height:calc(105cqw - 100px);flex-shrink:0}
@media(max-width:600px){.service-deck .service-card-image{height:calc(90.909cqw - 100px)}}

/* A 450px rule followed by carousel controls below the cards. */
.service-deck .deck-controls{justify-content:center;flex-wrap:nowrap;margin:20px auto 0;padding:0 24px;gap:12px}
.service-deck .deck-controls::before{content:'';display:block;width:450px;max-width:calc(100% - 136px);height:1px;background:#ffffff99;margin-right:16px}
.service-deck .deck-controls button{flex-shrink:0}

/* Align the divider with the centers of both navigation buttons. */
.service-deck .deck-controls{align-items:center}
.service-deck .deck-controls::before{align-self:center}

/* The white about panel rises over the service section. */
.service-trades-stack{position:relative;isolation:isolate}
.service-trades-stack>.service-deck{position:sticky;top:var(--service-cover-top,0px);z-index:0}
.service-trades-stack>.trades-story{position:relative;z-index:1;background:#fff}
@media(prefers-reduced-motion:reduce){.service-trades-stack>.service-deck{position:relative;top:auto}}

.service-deck .deck-heading h2{white-space:nowrap;font-size:clamp(18px,4.2vw,56px)}

.service-trades-stack>.service-deck{margin-bottom:var(--service-travel,0px)}

/* Swap artwork for service details on hover or keyboard focus. */
.service-deck .service-card-image{position:relative}
.service-hover-copy{position:absolute;inset:0;display:flex;align-items:center;font-size:15px;line-height:2;color:#65564b;opacity:0;transform:translateY(8px);transition:opacity .25s,transform .25s;pointer-events:none}
.service-deck .service-card-image img{transition:opacity .25s}
.service-card:focus-visible .service-hover-copy{opacity:1;transform:none}
.service-card:focus-visible .service-card-image img{opacity:0}
@media(hover:hover){.service-card:hover .service-hover-copy{opacity:1;transform:none}.service-card:hover .service-card-image img{opacity:0}}
@media(prefers-reduced-motion:reduce){.service-hover-copy,.service-deck .service-card-image img{transition:none}}

/* White service section, with readable heading, controls, and card edges. */
.service-deck{background:#fff;color:#171815}
.service-deck .deck-heading,.service-deck .deck-heading h2,.service-deck .deck-heading h2 span{color:#171815}
.service-deck .deck-heading>p:first-child{color:#65564b}
.service-deck .deck-description,.service-deck .deck-foot{color:#65564b}
.service-deck .deck-foot a{color:#171815;border-color:#d6d6d3}
.service-deck .deck-controls button{border-color:#171815;color:#171815;background:#fff}
.service-deck .deck-controls button:hover:not(:disabled){background:#171815;color:#fff}
.service-deck .deck-controls::before{background:#d6d6d3}
.service-deck .service-card{border:1px solid #e5e5e2}
