/* Services hub only. Shared header, detail pages and homepage keep their own styles. */
.services-hub {background:#f2f1eb;color:#0b1d2a;}
.services-hub .svc-container,.services-hub .home-footer>.container {width:min(1184px,calc(100% - 96px));margin-inline:auto;}
.services-hub .svc-intro {padding-top:116px;padding-bottom:56px;}
.services-hub .svc-breadcrumb {display:flex;gap:12px;align-items:center;margin-bottom:38px;font-size:11px;line-height:1.5;color:#5c6b73;}
.services-hub .svc-breadcrumb a {text-decoration:none;min-height:24px;display:flex;align-items:center;}
.services-hub .svc-section-line {display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid #ccd1d1;padding-top:15px;font-size:11px;font-weight:650;letter-spacing:.12em;line-height:1.6;}
.services-hub .svc-section-line>span:last-child {font-size:10px;color:#526c79;}
.services-hub .svc-intro-grid {display:grid;grid-template-columns:1.2fr 1fr;align-items:end;gap:80px;margin-block:36px 40px;}
.services-hub h1 {margin:0;font-size:clamp(40px,3.7vw,52px);font-weight:800;line-height:1.09;letter-spacing:-.055em;}
.services-hub h1 span {color:#6b818d;}
.services-hub .svc-intro-grid>p {margin:0 0 3px;max-width:440px;font-size:16px;line-height:1.8;color:#54616b;}
.services-hub .svc-index {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-block:1px solid #b9c3c7;}
.services-hub .svc-index>a {display:grid;grid-template-columns:22px 1fr 20px;align-items:center;gap:14px;min-height:100px;padding:20px 22px;color:inherit;text-decoration:none;border-right:1px solid #cbd1d2;font-size:14px;font-weight:650;line-height:1.5;transition:background .2s;}
.services-hub .svc-index>a:first-child {padding-left:0;}
.services-hub .svc-index>a:last-child {border-right:0;padding-right:0;}
.services-hub .svc-index-number {font-size:10px;font-weight:500;color:#526c79;align-self:start;padding-top:4px;}
.services-hub .svc-index .icon {width:20px;height:20px;color:#0967d9;}
.services-hub .svc-index>a:hover {background:#e6eaE8;}
.services-hub .svc-service {display:grid;grid-template-columns:1.12fr 1fr;column-gap:80px;grid-template-areas:'photo heading' 'photo scope';grid-template-rows:auto 1fr;padding-block:64px;border-top:1px solid #ccd1d1;scroll-margin-top:100px;}
.services-hub .svc-service-first {border-top:0;padding-top:8px;}
.services-hub .svc-service-heading {grid-area:heading;min-width:0;}
.services-hub .svc-kicker {margin:0 0 12px;font-size:12px;line-height:1.6;letter-spacing:.12em;font-weight:650;color:#526c79;}
.services-hub h2 {margin:0;font-size:34px;font-weight:750;line-height:1.15;letter-spacing:-.045em;}
.services-hub .svc-description {margin:22px 0 0;color:#54616b;font-size:15px;line-height:1.8;max-width:490px;}
.services-hub .svc-photo {grid-area:photo;min-width:0;margin:0;}
.services-hub .svc-photo img {display:block;width:100%;height:520px;object-fit:cover;}
.services-hub .svc-photo figcaption {font-size:10px;line-height:1.6;color:#526c79;margin-top:12px;}
.services-hub .svc-scope {grid-area:scope;margin-top:30px;min-width:0;}
.services-hub .svc-small-label {margin:0 0 10px;font-size:11px;font-weight:650;line-height:1.6;letter-spacing:.12em;color:#526c79;}
.services-hub .svc-scope ul {margin:0 0 25px;padding:0;list-style:none;border-top:1px solid #cbd1d2;}
.services-hub .svc-scope li {padding:11px 0;border-bottom:1px solid #cbd1d2;font-size:15px;line-height:1.6;}
.services-hub .svc-detail-link {display:inline-flex;align-items:center;justify-content:space-between;gap:22px;min-height:46px;max-width:100%;text-decoration:none;color:#0b1d2a;font-size:13px;font-weight:650;line-height:1.5;}
.services-hub .svc-arrow {display:grid;place-items:center;width:44px;min-width:44px;height:44px;flex:0 0 44px;border:1px solid #b5c4cc;color:#0967d9;transition:background .2s,color .2s;}
.services-hub .svc-arrow .icon {display:block;width:22px;height:22px;}
.services-hub .svc-detail-link:hover .svc-arrow {background:#0967d9;color:white;border-color:#0967d9;}
.services-hub .svc-reference {display:flex;flex-direction:column;align-items:start;gap:6px;margin-top:25px;padding-top:15px;border-top:1px solid #ccd1d1;text-decoration:none;color:#0b1d2a;}
.services-hub .svc-reference>span {letter-spacing:normal;color:#526c79;}
.services-hub .svc-reference>span:last-child {display:flex;align-items:center;gap:14px;font-size:14px;line-height:1.6;min-height:28px;}
.services-hub .svc-reference .icon {width:16px;height:16px;color:#0967d9;flex:0 0 16px;}
.services-hub .svc-service-reverse {grid-template-areas:'heading photo' 'scope photo';grid-template-columns:1fr 1.12fr;}
.services-hub .svc-service-reverse .svc-photo img {object-position:54% center;}
.services-hub .svc-service-wide {grid-template-areas:'photo heading' 'photo scope';grid-template-columns:1.2fr 1fr;gap:0 80px;}
.services-hub .svc-service-wide .svc-scope {margin-top:30px;}
.services-hub .svc-service-wide .svc-photo img {height:clamp(440px,34vw,500px);aspect-ratio:auto;object-position:center 38%;}
.services-hub .svc-service-wide .svc-reference {margin-top:20px;}
.services-hub .svc-other-band {background:#0a2331;color:#f2f1eb;margin-top:4px;}
.services-hub .svc-service-other {grid-template-columns:1fr 1fr;column-gap:100px;border:0;padding-block:64px;}
.services-hub .svc-service-other .svc-photo img {height:550px;object-position:center 42%;}
.services-hub .svc-service-other .svc-description {color:#b2c2ca;}
.services-hub .svc-service-other .svc-kicker,.services-hub .svc-service-other .svc-small-label,.services-hub .svc-service-other figcaption {color:#9eb6c3;}
.services-hub .svc-service-other ul,.services-hub .svc-service-other li {border-color:#36505e;}
.services-hub .svc-service-other .svc-detail-link {color:#f2f1eb;}
.services-hub .svc-service-other .svc-arrow {color:#a5cce6;border-color:#58717e;}
.services-hub .svc-final {padding-block:64px 70px;}
.services-hub .svc-final-grid {display:grid;grid-template-columns:1.2fr 1fr;gap:80px;align-items:end;margin-top:36px;}
.services-hub .svc-final h2 {font-size:34px;}
.services-hub .svc-final-grid>div>p:not(.svc-small-label) {max-width:490px;color:#54616b;font-size:15px;line-height:1.8;margin:20px 0 24px;}
.services-hub .svc-final-action {background:#0967d9;color:white;gap:26px;padding-left:20px;min-height:50px;}
.services-hub .svc-final-action .svc-arrow {width:50px;min-width:50px;flex-basis:50px;height:50px;border:0;border-left:1px solid #6a9de3;color:white;}
.services-hub .svc-direct {padding-left:40px;border-left:1px solid #cbd1d2;align-self:center;}
.services-hub .svc-direct a {display:flex;align-items:center;min-height:40px;width:fit-content;max-width:100%;font-size:16px;text-decoration:none;overflow-wrap:anywhere;}
.services-hub .svc-direct a:last-child {font-size:14px;color:#54616b;}
.services-hub main a:focus-visible {outline:2px solid #0967d9;outline-offset:5px;}
.services-hub .svc-other-band a:focus-visible {outline-color:#8ccaff;}
@media(min-width:1600px){.services-hub .svc-container,.services-hub .home-footer>.container{width:min(1280px,calc(100% - 160px));}.services-hub .svc-photo img{height:540px;}}
@media(max-width:1000px){
.services-hub .svc-container,.services-hub .home-footer>.container{width:calc(100% - 64px);}
.services-hub .svc-intro-grid{gap:40px;grid-template-columns:1fr 1fr;}
.services-hub .svc-intro-grid>p{font-size:15px;}
.services-hub .svc-index>a{padding-inline:14px;gap:8px;font-size:12px;grid-template-columns:18px 1fr 18px;}
.services-hub .svc-service{column-gap:40px;}
.services-hub .svc-photo img{height:490px;}
.services-hub h2{font-size:30px;}
.services-hub .svc-service-wide{gap:0 40px;}
.services-hub .svc-service-other{column-gap:40px;}
.services-hub .svc-service-other .svc-photo img{height:550px;}
.services-hub .svc-final-grid{gap:40px;}
.services-hub .svc-final h2{font-size:30px;}
.services-hub .svc-direct{padding-left:25px;}
}
@media(max-width:700px){
.services-hub .svc-container,.services-hub .home-footer>.container{width:calc(100% - 40px);}
.services-hub .svc-intro{padding-top:78px;padding-bottom:38px;}
.services-hub .svc-breadcrumb{margin-bottom:25px;font-size:10px;}
.services-hub .svc-section-line{font-size:10px;gap:14px;padding-top:12px;}
.services-hub .svc-section-line>span:last-child{font-size:9px;}
.services-hub .svc-intro-grid{display:block;margin-block:27px 26px;}
.services-hub h1{font-size:34px;line-height:1.12;letter-spacing:-.05em;}
.services-hub .svc-intro-grid>p{font-size:15px;line-height:1.75;margin-top:23px;}
.services-hub .svc-index{grid-template-columns:repeat(2,minmax(0,1fr));}
.services-hub .svc-index>a{min-height:90px;font-size:12px;gap:8px;padding:15px 12px;grid-template-columns:16px 1fr 16px;}
.services-hub .svc-index>a:nth-child(odd){padding-left:0;}
.services-hub .svc-index>a:nth-child(even){border-right:0;padding-right:0;}
.services-hub .svc-index>a:nth-child(-n+2){border-bottom:1px solid #cbd1d2;}
.services-hub .svc-index .icon{width:17px;height:17px;}
.services-hub .svc-index-number{font-size:9px;}
.services-hub .svc-service,.services-hub .svc-service-reverse,.services-hub .svc-service-wide,.services-hub .svc-service-other{grid-template-columns:minmax(0,1fr);grid-template-areas:'heading' 'photo' 'scope';gap:0;padding-block:38px;scroll-margin-top:99px;}
.services-hub .svc-service-first{padding-top:0;}
.services-hub .svc-kicker{margin-bottom:12px;font-size:9px;}
.services-hub h2{font-size:28px;line-height:1.16;}
.services-hub .svc-description{font-size:15px;line-height:1.75;margin-top:17px;}
.services-hub .svc-photo{margin-top:25px;}
.services-hub .svc-photo img,.services-hub .svc-service-wide .svc-photo img{height:auto;aspect-ratio:1.2;object-fit:cover;}
.services-hub .svc-service-reverse .svc-photo img{aspect-ratio:1.13;object-position:center;}
.services-hub .svc-photo figcaption{font-size:10px;line-height:1.6;margin-top:9px;}
.services-hub .svc-scope,.services-hub .svc-service-wide .svc-scope{margin-top:25px;}
.services-hub .svc-small-label{font-size:10px;}
.services-hub .svc-scope li{font-size:15px;padding-block:11px;}
.services-hub .svc-scope ul{margin-bottom:19px;}
.services-hub .svc-detail-link{font-size:13px;}
.services-hub .svc-reference{margin-top:20px;padding-top:13px;}
.services-hub .svc-reference>span:last-child{min-height:32px;}
.services-hub .svc-service-other .svc-photo img{height:auto;aspect-ratio:1.05;object-position:center 42%;}
.services-hub .svc-other-band{margin-top:0;}
.services-hub .svc-final{padding-block:38px 42px;}
.services-hub .svc-final-grid{grid-template-columns:1fr;gap:30px;margin-top:27px;}
.services-hub .svc-final h2{font-size:28px;}
.services-hub .svc-final-grid>div>p:not(.svc-small-label){font-size:15px;line-height:1.75;margin-top:17px;}
.services-hub .svc-direct{border-left:0;border-top:1px solid #cbd1d2;padding:22px 0 0;}
.services-hub .svc-direct a{font-size:16px;min-height:38px;}
}
@media(max-width:359px){.services-hub h1{font-size:30px;}.services-hub .svc-index>a{font-size:10px;gap:5px;}.services-hub h2,.services-hub .svc-final h2{font-size:26px;}}
@media(prefers-reduced-motion:reduce){.services-hub .svc-index>a,.services-hub .svc-arrow{transition:none;}}

/* Consistent image context and readable secondary information. */
.services-hub .svc-photo{position:relative;overflow:hidden;align-self:start;}
.services-hub .svc-photo figcaption{position:absolute;inset:auto 0 0;margin:0;padding:48px 20px 17px;font-size:13px;line-height:1.55;font-weight:500;font-style:normal;color:#fff;background:linear-gradient(transparent,rgba(3,15,23,.78));}
.services-hub .svc-reference{margin-top:20px;padding-top:14px;}
.services-hub .svc-reference>span{min-height:36px;}
@media(max-width:700px){
.services-hub .svc-photo figcaption{padding:45px 16px 14px;font-size:12px;}
.services-hub .svc-kicker{font-size:11px;}
.services-hub .svc-reference>span:last-child{font-size:13px;}
}

/* Decorative architectural linework balances the final contact column. */
.services-hub .svc-final-drawing{display:none}
@media(min-width:1100px){
.services-hub .svc-final .svc-direct{display:grid;grid-template-columns:minmax(190px,1fr) minmax(0,1.25fr);align-items:center;gap:12px;padding-left:25px}
.services-hub .svc-direct-copy{min-width:0}
.services-hub .svc-final-drawing{display:block;min-width:0;color:#637e8c;pointer-events:none}
.services-hub .svc-final-drawing svg{display:block;width:100%;height:auto}
}
