/* Services listing page. */
.services-page { color:#252a31; }
.services-page * { box-sizing:border-box; }
.services-page .svc-wrap { width:min(100% - 40px, 1180px); margin-inline:auto; }
.svc-intro { padding:84px 0 45px; background:#fff; }
.svc-eyebrow { display:inline-flex; align-items:center; gap:10px; margin-bottom:17px; color:#a90819; font-size:12px; font-weight:700; letter-spacing:.15em; text-transform:uppercase; }
.svc-eyebrow::before { content:""; width:25px; height:2px; background:currentColor; }
.svc-intro-grid { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,.7fr); align-items:end; gap:55px; }
.svc-intro h2 { max-width:710px; margin:0; color:#20252c; font-size:clamp(30px,3.6vw,48px); font-weight:700; letter-spacing:-.045em; line-height:1.17; }
.svc-intro p { max-width:400px; margin:0 0 3px; color:#626d78; font-size:16px; line-height:1.75; }
.svc-group { padding:39px 0 86px; background:#fff; }
.svc-group-alt { padding:79px 0 95px; background:#f6f7f9; }
.svc-group-heading { display:flex; align-items:end; justify-content:space-between; gap:30px; margin-bottom:28px; }
.svc-group-heading h2 { margin:0; color:#252a31; font-size:clamp(24px,2.5vw,32px); font-weight:700; letter-spacing:-.035em; }
.svc-group-heading p { max-width:460px; margin:0; color:#68727e; font-size:14px; line-height:1.65; }
.svc-security-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.svc-card { display:flex; min-width:0; overflow:hidden; border:1px solid #e4e8ed; border-radius:10px; background:#fff; box-shadow:0 8px 26px rgba(24,32,43,.04); color:#252a31!important; transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease; }
.svc-card:hover,.svc-card:focus-visible { transform:translateY(-4px); border-color:#d2d8e0; box-shadow:0 18px 38px rgba(24,32,43,.1); color:#252a31!important; }
.svc-card:focus-visible { outline:2px solid #a90819; outline-offset:3px; }
.svc-security-card { min-height:188px; align-items:stretch; }
.svc-security-card .svc-card-media { display:grid; place-items:center; flex:0 0 165px; padding:28px; background:#f4f6f9; }
.svc-security-card .svc-card-media img { display:block; width:100%; height:100%; max-height:120px; object-fit:contain; }
.svc-card-body { display:flex; flex:1; flex-direction:column; min-width:0; padding:25px 26px 22px; }
.svc-card h3 { margin:0 0 10px; color:#252a31; font-size:20px; font-weight:700; line-height:1.35; }
.svc-card p { margin:0 0 20px; color:#65707c; font-size:14px; line-height:1.65; }
.svc-card-link { display:inline-flex; align-items:center; width:max-content; max-width:100%; margin-top:auto; color:#a90819; font-size:13px; font-weight:700; }
.svc-card-link i { font-size:11px; transition:transform .2s ease; }
.svc-card:hover .svc-card-link i { transform:translateX(4px); }
.svc-it-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.svc-it-card { flex-direction:column; min-height:385px; }
.svc-it-card .svc-card-media { display:block; height:195px; overflow:hidden; background:#e7eaf0; }
.svc-it-card .svc-card-media img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .3s ease; }
.svc-it-card:hover .svc-card-media img { transform:scale(1.04); }
.svc-it-card .svc-card-body { padding:23px 23px 22px; }
.svc-it-card h3 { font-size:19px; }
.svc-cta { padding:56px 0; background:#202226; color:#fff; }
.svc-cta-inner { display:flex; align-items:center; justify-content:space-between; gap:35px; }
.svc-cta h2 { margin:0 0 7px; color:#fff; font-size:clamp(23px,2.5vw,31px); font-weight:700; letter-spacing:-.03em; }
.svc-cta p { margin:0; color:#c4c7cc; font-size:15px; line-height:1.65; }
.svc-cta a { display:inline-flex; flex:none; align-items:center; justify-content:center; gap:12px; min-height:48px; padding:12px 22px; border-radius:5px; background:#a90819; color:#fff!important; font-size:14px; font-weight:700; transition:background-color .2s ease; }
.svc-cta a:hover { background:#860614; }
@media(max-width:950px) { .svc-security-card .svc-card-media { flex-basis:125px; padding:20px; } .svc-card-body { padding:22px; } .svc-it-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:767px) { .svc-intro { padding:65px 0 36px; } .svc-intro-grid { grid-template-columns:1fr; gap:18px; } .svc-security-grid { grid-template-columns:1fr; } .svc-group { padding-bottom:65px; } .svc-group-alt { padding:65px 0 75px; } .svc-group-heading { display:block; } .svc-group-heading p { margin-top:10px; } .svc-cta-inner { display:block; } .svc-cta a { margin-top:23px; } }
@media(max-width:540px) { .services-page .svc-wrap { width:min(100% - 36px,1180px); } .svc-it-grid { grid-template-columns:1fr; } .svc-it-card { min-height:0; } .svc-security-card .svc-card-media { flex-basis:105px; padding:17px; } .svc-security-card .svc-card-body { padding:19px; } .svc-security-card h3 { font-size:17px; } .svc-security-card p { font-size:13px; } .svc-it-card .svc-card-media { height:205px; } }
@media(prefers-reduced-motion:reduce) { .svc-card,.svc-card-link i,.svc-it-card .svc-card-media img,.svc-cta a { transition:none; } }
