/* V45: consistent catalogue/category presentation, distinct individual detail layout.
   Scoped to services pages; legacy page designs are not affected. */
.v45-catalog,.v45-detail{--v45-ink:#102e50;--v45-muted:#59768f;--v45-blue:#068bc6;--v45-line:#dceaf4}
.v45-catalog .v43-introduction{background:linear-gradient(110deg,#fff,#f5fbff 80%);padding:35px 0 28px}
.v45-catalog .v43-introduction h1{margin:0;max-width:900px;font-size:clamp(30px,3.4vw,43px);font-weight:850;letter-spacing:-.04em}
.v45-catalog .v43-introduction p{margin:12px 0 0;max-width:810px;color:var(--v45-muted)}
.v45-catalog .v43-stage{background:linear-gradient(110deg,#f6fbff,#edf7fd);padding:15px 0 31px}
.v45-catalog .v43-stage-grid{grid-template-columns:235px minmax(0,1fr);gap:22px;min-height:450px}
.v45-catalog .v43-side{min-height:450px;border-radius:18px;padding:26px 14px;box-shadow:0 10px 25px rgba(16,58,87,.045)}
.v45-catalog .v43-side-item{min-height:60px}
.v45-catalog .v43-panel-stack{min-height:450px}
.v45-catalog .v45-category-panel,
.v45-catalog .v43-stage-selected .v45-category-panel{min-height:450px;background:linear-gradient(112deg,#fff 0%,#f9fcff 72%,#edf8ff 100%);grid-template-columns:minmax(0,.96fr) minmax(0,1.04fr);border-color:#dceaf4;border-radius:20px}
.v45-catalog .v45-category-panel .v43-panel-body,
.v45-catalog .v43-stage-selected .v45-category-panel .v43-panel-body{padding:37px 0 36px 39px}
.v45-catalog .v45-category-panel .v43-panel-body h2{font-size:clamp(29px,2.8vw,39px);margin:12px 0 0;line-height:1.14}
.v45-catalog .v45-category-panel .v43-panel-body>p{font-size:13.5px;line-height:1.76;margin:13px 0 17px}
.v45-catalog .v45-category-panel .v43-panel-list-label{margin:3px 0 13px}
.v45-catalog .v45-panel-features,
.v45-catalog .v43-stage-selected .v45-panel-features{display:grid;grid-template-columns:1fr;gap:11px;max-width:415px}
.v45-catalog .v45-panel-features li,
.v45-catalog .v43-stage-selected .v45-panel-features li{display:flex;gap:11px;align-items:center;padding:0;min-height:0;background:transparent;border:0;border-radius:0;box-shadow:none;transform:none}
.v45-catalog .v45-panel-features li a{font-size:12.5px;color:#2b5573!important;font-weight:680;line-height:1.5}
.v45-catalog .v45-panel-features li:hover{background:transparent;border:0;transform:none}
.v45-catalog .v43-panel-actions{gap:10px;padding-top:23px;margin-top:auto}
.v45-catalog .v43-panel-image{min-height:450px}
.v45-catalog .v43-stage-selected .v45-category-panel .v43-panel-body>p{margin:13px 0 17px}

/* Subservices: compact editorial rows instead of tall empty cards. */
.v45-catalog .v43-results-section{background:#fff;border-top:1px solid #e1edf4;padding:43px 0 68px}
.v45-catalog .v43-results-layout{max-width:1320px}
.v45-catalog .v43-results-head{margin-bottom:22px;padding:0 0 21px}
.v45-catalog .v43-results-head h2{font-size:clamp(25px,2.7vw,34px);margin-top:6px}
.v45-catalog .v45-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px!important}
.v45-catalog .v45-service-card{position:relative;min-height:0!important;border:1px solid var(--v45-line);border-radius:16px;background:#fff;box-shadow:0 5px 19px rgba(20,65,94,.035);overflow:hidden;transition:border-color .2s,box-shadow .2s,transform .2s}
.v45-catalog .v45-service-card:before{content:'';position:absolute;top:16px;bottom:16px;left:0;width:3px;border-radius:0 3px 3px 0;background:#0a92ce;opacity:0;transition:opacity .2s}
.v45-catalog .v45-service-card:hover{transform:translateY(-2px);border-color:#9bd1ec;box-shadow:0 11px 27px rgba(20,87,132,.095)}
.v45-catalog .v45-service-card:hover:before,.v45-catalog .v45-service-card:focus-within:before{opacity:1}
.v45-catalog .v45-service-card>a,
.v45-catalog .v45-service-card>a:hover{display:grid!important;grid-template-columns:45px minmax(0,1fr)!important;align-items:start;gap:15px;min-height:0!important;height:100%;padding:20px 22px!important}
.v45-catalog .v45-service-card .v43-service-icon{width:45px;height:45px;border-radius:12px;display:grid;place-items:center;background:#ecf7fe;color:#0a8ec8}
.v45-catalog .v45-service-card .v43-service-icon svg{width:23px;height:23px}
.v45-service-card-content{display:flex;flex-direction:column;align-items:flex-start;gap:7px;min-width:0}
.v45-catalog .v45-service-card .v43-service-title{font-size:15.5px;line-height:1.3;font-weight:800;color:#102f50}
.v45-catalog .v45-service-card .v43-service-summary{font-size:12px;line-height:1.6;color:#688399}
.v45-catalog .v45-service-card .v43-service-tech{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 0}
.v45-catalog .v45-service-card .v43-service-tech>span{font-size:10px;padding:4px 8px;border-radius:6px;background:#f0f7fc;color:#3f708e}
.v45-service-action{display:inline-block;margin-top:6px;color:#0a7eaf;font-size:11.5px;font-weight:800;line-height:1.4}
.v45-catalog .v43-service-group{margin-bottom:26px}
.v45-catalog .v43-results-side{border-radius:17px;background:#f8fcff}

/* Individual service: unlike a category, details have a distinct text/image hero without sidebar. */
.v45-detail{background:#fff}
.v45-detail .v45-detail-top{padding:22px 0 47px;background:linear-gradient(135deg,#f9fcff,#eaf6fe);border-bottom:1px solid #e3eef5}
.v45-detail-nav{display:flex;align-items:center;justify-content:flex-start;margin-bottom:18px}
.v45-detail .v45-back-button{min-height:43px;padding:10px 20px;margin:0;border:1px solid #b9d7e9;border-radius:10px;background:#fff;color:#156c97!important;font-size:13px;font-weight:800;box-shadow:none}
.v45-detail .v45-back-button:hover{background:#e9f6fe;color:#0a537a!important;border-color:#87c4e5}
.v45-detail-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);min-height:430px;overflow:hidden;border:1px solid #dceaf4;background:#fff;border-radius:22px;box-shadow:0 16px 43px rgba(16,69,109,.065)}
.v45-detail-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:44px 50px 45px}
.v45-detail-eyebrow{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:17px}
.v45-detail-badge{display:inline-flex;align-items:center;min-height:30px;padding:7px 12px;border-radius:8px;background:#e6f5ff;color:#087daf;font-size:10px;font-weight:850;letter-spacing:.12em}
.v45-detail-category{font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#6d8fa6}
.v45-detail-copy h1{margin:0;color:#092a4a;font-size:clamp(31px,3.2vw,45px);font-weight:870;letter-spacing:-.045em;line-height:1.13;max-width:670px}
.v45-detail-lead{font-size:15px;line-height:1.75;color:#56768d;max-width:620px;margin:17px 0 0}
.v45-detail-tags{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:23px}
.v45-detail-tags span{display:inline-flex;padding:8px 11px;border:1px solid #d6eaf6;background:#f5fbff;border-radius:9px;color:#34749b;font-size:11px;font-weight:750;line-height:1.35}
.v45-detail-actions{display:flex;flex-wrap:wrap;gap:11px;padding-top:30px;margin-top:auto}
.v45-detail-actions .v43-btn{min-width:124px}
.v45-detail-visual{position:relative;min-height:430px;overflow:hidden;background:#cfe6f5}
.v45-detail-visual img{width:100%;height:100%;display:block;object-fit:cover;object-position:center;filter:saturate(.95)}
.v45-detail-visual:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(17,72,110,.035),transparent 60%)}
.v45-detail .v37-scope-section{padding:49px 0 43px;border-top:0}
.v45-detail .v37-section-heading-row{grid-template-columns:1fr;gap:0;align-items:start;margin-bottom:24px}
.v45-detail .v37-section-heading-row>p{display:none!important}
.v45-detail .v37-process-section{padding:43px 0 65px}
.v45-detail .v37-process-heading{margin-bottom:18px}
.v45-detail .v43-process-foot{display:none!important}
@media(max-width:1160px){
 .v45-catalog .v43-stage-grid{grid-template-columns:205px minmax(0,1fr);gap:15px}
 .v45-catalog .v43-panel-body,.v45-catalog .v43-stage-selected .v45-category-panel .v43-panel-body{padding:30px 0 31px 28px}
 .v45-detail-copy{padding:37px 34px}
}
@media(max-width:860px){
 .v45-catalog .v43-stage-grid{grid-template-columns:1fr;gap:15px;min-height:0}
 .v45-catalog .v43-side{min-height:0;padding:14px}
 .v45-catalog .v43-panel-stack,.v45-catalog .v45-category-panel{min-height:0}
 .v45-catalog .v45-category-panel .v43-panel-body{padding:30px 0 32px 30px}
 .v45-catalog .v43-panel-image{min-height:420px}
 .v45-detail-hero{grid-template-columns:minmax(0,1fr) minmax(0,.83fr)}
 .v45-detail-copy{padding:32px 26px}
 .v45-detail-lead{font-size:13.5px}
}
@media(max-width:640px){
 .v45-catalog .v43-introduction{padding:25px 0 23px}
 .v45-catalog .v43-introduction h1{font-size:clamp(28px,8vw,35px)}
 .v45-catalog .v43-stage{padding:10px 0 24px}
 .v45-catalog .v43-stage-grid{gap:11px}
 .v45-catalog .v43-panel-image{height:210px;min-height:210px}
 .v45-catalog .v45-category-panel .v43-panel-body,.v45-catalog .v43-stage-selected .v45-category-panel .v43-panel-body{padding:25px 23px 28px}
 .v45-catalog .v45-category-panel .v43-panel-body h2{font-size:29px}
 .v45-catalog .v43-results-section{padding:28px 0 44px}
 .v45-catalog .v45-service-grid{grid-template-columns:1fr;gap:11px!important}
 .v45-catalog .v45-service-card>a,.v45-catalog .v45-service-card>a:hover{min-height:0!important;padding:17px 16px!important;gap:12px;grid-template-columns:41px minmax(0,1fr)!important}
 .v45-catalog .v45-service-card .v43-service-icon{width:40px;height:40px}
 .v45-catalog .v45-service-card .v43-service-title{font-size:14.5px}
 .v45-detail .v45-detail-top{padding:13px 0 29px}
 .v45-detail-nav{margin-bottom:12px}
 .v45-detail-hero{display:flex;flex-direction:column;border-radius:17px}
 .v45-detail-visual{order:-1;min-height:220px;height:220px;flex:none}
 .v45-detail-copy{padding:25px 23px 29px}
 .v45-detail-copy h1{font-size:clamp(28px,8vw,37px)}
 .v45-detail-lead{margin-top:13px;font-size:13.5px}
 .v45-detail-actions{width:100%;padding-top:22px;margin-top:0}
 .v45-detail-actions .v43-btn{flex:1;min-width:115px}
 .v45-detail .v37-scope-section{padding:35px 0}
 .v45-detail .v37-process-section{padding:31px 0 45px}
}
@media(prefers-reduced-motion:reduce){.v45-catalog .v45-service-card{transition:none!important}}
