/* Service discovery uses existing SW portfolio imagery and destinations. */
.service-discovery{background:#f5f5f2;padding-block:58px 62px}
.service-discovery h2{max-width:850px}
.service-discovery .service-choices{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:32px}
.service-discovery .service-choice{min-width:0;border:1px solid #d7d7d1;color:var(--ink);background:#fff;transition:border-color .2s ease,box-shadow .2s ease}
.service-discovery .service-choice:hover{border-color:#686d64;box-shadow:0 6px 22px #1b221008}
.service-discovery .service-choice-visual{padding:0;gap:0;overflow:hidden}
.service-choice-media{display:block;aspect-ratio:16/10;background:#e8e9e4;overflow:hidden}
.service-choice-media img{width:100%;height:100%;object-fit:contain;transition:transform .5s ease}
.service-choice-visual:hover .service-choice-media img{transform:scale(1.025)}
.service-choice-copy{display:flex;flex:1;flex-direction:column;gap:12px;padding:24px;min-width:0}
.service-discovery .service-choice-number{font-size:12px;line-height:1.4;color:#71756d;letter-spacing:.06em}
.service-discovery .service-choice strong{font-size:clamp(20px,1.8vw,27px);font-weight:400;line-height:1.25;letter-spacing:-.02em;overflow-wrap:anywhere;color:var(--ink)}
.service-choice-description{display:block;font-size:15px;line-height:1.7;color:#50554f}
.service-discovery .service-choice-project{font-size:12px;line-height:1.5;color:#62675f;padding-top:2px}
.service-discovery .service-choice-action{min-height:44px;padding-top:14px;margin-top:auto;font-size:13px;line-height:1.55;text-underline-offset:4px;gap:12px;color:#242823}
.service-choice-copy .service-choice-action{border-top:1px solid #e2e4de;margin-top:auto}
.service-discovery .service-choice-permit{grid-column:1/-1;display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:24px;padding:25px 28px}
.service-permit-copy{display:flex;flex-direction:column;gap:6px;min-width:0}
.service-discovery .service-choice-permit strong{font-size:23px}
.service-discovery .service-choice-permit .service-choice-action{margin:0;padding:0;max-width:260px}

/* Direct office contact remains distinct from the project inquiry form. */
.contact-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding-block:12px 42px}
.contact-shortcuts>a{display:grid;grid-template-columns:minmax(0,1fr) 20px;gap:8px 16px;align-content:center;align-items:center;min-width:0;min-height:126px;padding:24px;border:1px solid #d4d7d1;background:#f5f5f2;transition:border-color .2s ease,background .2s ease}
.contact-shortcuts>a:hover{border-color:#666f60;background:#eff1eb}
.contact-shortcuts span{grid-column:1;font-size:13px;line-height:1.5;color:#5b6256}
.contact-shortcuts strong{grid-column:1;font-size:clamp(17px,1.7vw,23px);font-weight:400;line-height:1.4;letter-spacing:-.02em;overflow-wrap:anywhere}
.contact-shortcuts svg{grid-column:2;grid-row:1/3;align-self:center}
.contact-shortcuts a[href^="tel:"] strong{direction:ltr;unicode-bidi:isolate}
html[dir=rtl] .contact-shortcuts a[href^="tel:"] strong{text-align:right}

/* Keep a known preview visible while the larger gallery image is requested. */
.lightbox-stage .lightbox-status{position:absolute;inset-inline-start:50%;bottom:12px;transform:translateX(-50%);z-index:1;width:max-content;max-width:min(480px,calc(100% - 24px));margin:0;padding:10px 16px;border:1px solid #ffffff35;border-radius:3px;background:#111815ed;color:#f4f5f3;font-size:13px;line-height:1.5;text-align:center;pointer-events:none}
html[dir=rtl] .lightbox-stage .lightbox-status{transform:translateX(50%)}
.lightbox-stage .lightbox-status:empty{display:none}
@media(min-width:761px) and (max-width:1050px){
 .service-discovery .service-choices{gap:18px}
 .service-choice-copy{padding:20px 18px}
 .service-choice-description{font-size:14px}
 .service-discovery .service-choice-permit{padding:22px;gap:18px}
 .contact-shortcuts>a{padding:20px;gap:8px 12px}
}
@media(max-width:760px){
 .service-discovery{padding-block:34px 38px}
 .service-discovery .service-choices{grid-template-columns:minmax(0,1fr);gap:16px;margin-top:24px}
 .service-discovery .service-choice-visual{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:stretch}
 .service-choice-media{height:100%;min-height:210px;aspect-ratio:auto;display:flex;align-items:center}
 .service-choice-media img{height:auto;max-height:300px;object-fit:contain}
 .service-choice-copy{padding:22px 20px;gap:10px}
 .service-discovery .service-choice strong{font-size:23px}
 .service-discovery .service-choice-permit{grid-template-columns:25px minmax(0,1fr);gap:10px 14px;padding:22px 20px}
 .service-discovery .service-choice-permit .service-choice-action{grid-column:2;max-width:none;justify-content:space-between;min-height:44px;margin-top:4px}
 .contact-shortcuts{grid-template-columns:minmax(0,1fr);gap:12px;padding-block:0 30px}
 .contact-shortcuts>a{min-height:92px;padding:18px 20px;gap:4px 16px}
 .contact-shortcuts strong{font-size:20px}
 .lightbox-stage .lightbox-status{bottom:8px;padding:9px 12px;font-size:12px}
}
@media(max-width:479px){
 .service-discovery .service-choice-visual{grid-template-columns:minmax(0,1fr)}
 .service-choice-media{min-height:0;height:auto;aspect-ratio:16/9;display:block}
 .service-choice-media img{height:100%;max-height:none}
 .service-choice-copy{padding:22px 20px}
 .service-discovery .service-choice strong{font-size:24px}
 .service-discovery .service-choice-permit strong{font-size:22px}
}
@media(prefers-reduced-motion:reduce){
 .service-discovery .service-choice,.service-choice-media img,.contact-shortcuts>a{transition:none}
 .service-choice-visual:hover .service-choice-media img{transform:none}
}
