/* Home directory / 2.1.0. Scoped styles: the approved header and hero are untouched. */
.cxs-services{color:#102346;background:#f4f7fc;padding:64px 0 36px;position:relative;scroll-margin-top:24px;isolation:isolate}
.cxs-services:before{content:"";position:absolute;left:0;top:0;right:0;height:1px;background:linear-gradient(90deg,transparent,#83b5eb70,transparent);pointer-events:none}
.cxs-services-heading{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(230px,.7fr);gap:36px;align-items:center;margin-bottom:28px}
.cxs-services-eyebrow{display:flex;gap:10px;align-items:center;font-size:9px;line-height:1.6;font-weight:600;letter-spacing:.12em;margin:0 0 13px;color:#5c7291}
.cxs-services-eyebrow>span{color:#1677c7;font-weight:700;white-space:nowrap}
.cxs-services-heading h2{margin:0;font-size:clamp(32px,3.05vw,46px);line-height:1.13;letter-spacing:-.05em;font-weight:900}
.cxs-services-heading h2 strong,.cxs-services-heading h2>span{display:block}
.cxs-services-heading h2 strong{color:#07183d;font-weight:900}
.cxs-services-heading h2>span{color:#477094;font-weight:400}
.cxs-services-intro{margin:0;color:#5f738e;font-size:13px;line-height:1.85;max-width:43ch;justify-self:end}
.cxs-services-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-items:stretch}
.cxs-svc-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;min-width:0;min-height:223px;border:1px solid #e0e7f2;border-radius:19px;padding:22px 21px 18px;background:#fff;isolation:isolate;box-shadow:0 6px 22px #10254b03;transition:transform .25s var(--cxs-ease),border-color .25s,box-shadow .25s}
.cxs-svc-index{position:relative;display:flex;align-items:center;gap:7px;font-size:9px;letter-spacing:.06em;color:#91a1ba;min-height:38px;margin-bottom:6px;pointer-events:none}
.cxs-svc-index>span{width:16px;height:1px;background:#c5d6eb}
.cxs-svc-visual{position:absolute;width:66px;height:57px;right:17px;top:12px;pointer-events:none;transition:transform .35s var(--cxs-ease)}
.cxs-svc-visual picture{display:block;width:100%;height:100%}
.cxs-svc-visual img{width:100%;height:100%;object-fit:var(--svc-fit,contain);object-position:var(--svc-focus-x,50%) var(--svc-focus-y,50%)}
.cxs-svc-copy{position:relative;pointer-events:none;margin-top:7px}
.cxs-svc-copy h3{font-size:18px;font-weight:600;line-height:1.3;letter-spacing:-.04em;color:#0b2147;margin:0 0 10px;overflow-wrap:anywhere}
.cxs-svc-copy p{margin:0;color:#5d708b;font-size:12px;line-height:1.75;max-width:32ch;overflow-wrap:anywhere}
.cxs-svc-link{margin-top:auto;padding-top:20px;display:flex;align-items:center;justify-content:space-between;gap:18px;width:100%;color:#264d7b;font-size:10px;font-weight:500;line-height:1.5}
.cxs-svc-link:after{content:"";position:absolute;inset:0;border-radius:19px;z-index:3}
.cxs-svc-link i{width:25px;height:25px;display:grid;place-items:center;border-radius:8px;font-style:normal;font-size:17px;color:#337fb9;background:#edf5fd;transition:transform .25s,background .25s}
.cxs-svc-link:focus-visible{outline:none}
.cxs-svc-link:focus-visible:after{outline:3px solid #238bdf;outline-offset:4px}
.cxs-svc-card:focus-within{border-color:#83b5eb;box-shadow:0 12px 30px #18375d10}
.cxs-svc-card--featured{grid-column:span 2;background:radial-gradient(ellipse at 90% 90%,#1d519366,transparent 65%),#0b234b;color:#fff;border-color:#284169;padding:25px 25px 20px}
.cxs-svc-card--featured .cxs-svc-index{color:#7f9ec9;min-height:18px;margin-bottom:16px}
.cxs-svc-card--featured .cxs-svc-index>span{background:#52779e}
.cxs-svc-card--featured .cxs-svc-copy{z-index:1;width:50%;margin-top:0}
.cxs-svc-card--featured .cxs-svc-copy h3{font-size:27px;color:#fff;font-weight:600;letter-spacing:-.055em;margin-bottom:12px}
.cxs-svc-card--featured .cxs-svc-copy p{color:#acbed9;font-size:13px;max-width:25ch}
.cxs-svc-card--featured .cxs-svc-visual{width:51%;height:calc(100% - 32px);top:16px;right:4px;opacity:.96}
.cxs-svc-card--featured .cxs-svc-visual img{filter:drop-shadow(0 16px 15px #0003)}
.cxs-svc-card--featured .cxs-svc-link{width:46%;z-index:2;color:#bdcfea}
.cxs-svc-card--featured .cxs-svc-link i{background:#1c3e6f;color:#74c5ff}
.cxs-svc-card--featured .cxs-svc-link:after{z-index:5}
.cxs-svc-card--featured.cxs-svc-card--noimage .cxs-svc-copy{width:100%}
.cxs-services-help{display:flex;justify-content:space-between;align-items:center;gap:18px;border-top:1px solid #dce5f2;margin-top:25px;padding-top:19px}
.cxs-services-help p{font-size:12px;line-height:1.8;margin:0;color:#627896;display:flex;align-items:center;gap:10px}
.cxs-services-help p span{color:#288bd4;font-size:18px}
.cxs-services-help button{padding:10px 0;min-height:44px;border:0;background:none;color:#143b69;font-weight:600;font-size:12px;display:flex;align-items:center;gap:18px}
.cxs-services-help button>span{font-size:18px;color:#1e82cf}
/* Motion is opt-in per element after IntersectionObserver attaches. Never hide content by default. */
.cxs-services [data-cxs-services-reveal].is-observed{opacity:0;transform:translateY(14px)}
.cxs-services [data-cxs-services-reveal].is-observed.is-revealed{opacity:1;transform:none;transition:opacity .48s ease var(--svc-delay,0ms),transform .48s var(--cxs-ease) var(--svc-delay,0ms),border-color .25s,box-shadow .25s}
@media(hover:hover) and (pointer:fine){.cxs-svc-card:hover{border-color:#acc9e7;box-shadow:0 12px 32px #17366510;transform:translateY(-3px)}.cxs-svc-card:hover .cxs-svc-visual{transform:translateY(-3px) rotate(-2deg)}.cxs-svc-card:hover .cxs-svc-link i{transform:translate(2px,-2px);background:#dbeeff}.cxs-svc-card--featured:hover .cxs-svc-link i{background:#2a5283}.cxs-services .cxs-svc-card.is-observed.is-revealed:hover{transform:translateY(-3px)}}
/* Brief modal: useful fallback until the full service page is published. */
.cxs-service-preview{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,.8fr);gap:22px;align-items:center;margin-top:20px}
.cxs-service-preview p{margin:0 0 18px;font-size:14px}
.cxs-service-preview ul{padding:0;margin:0;list-style:none;display:grid;gap:9px;color:#395b81;font-size:12px}
.cxs-service-preview li{padding:10px 0 10px 18px;border-top:1px solid #dde6f2;position:relative;line-height:1.6}
.cxs-service-preview li:before{content:"";width:5px;height:5px;position:absolute;left:0;top:17px;border-radius:50%;background:#2f9ce7}
.cxs-service-preview-image{display:block;width:100%;min-height:195px;height:100%;max-height:280px;border-radius:19px;background:#eaf1fa;padding:18px}
.cxs-service-preview-image img{display:block;width:100%;height:100%;max-height:230px;object-fit:var(--svc-fit,contain);object-position:var(--svc-focus-x,50%) var(--svc-focus-y,50%)}
.cxs-service-preview--noimage{grid-template-columns:1fr}
.cxs-service-preview-foot{display:flex;gap:16px;align-items:center;margin-top:24px;border-top:1px solid #dae4f0;padding-top:18px;flex-wrap:wrap}
.cxs-dialog .cxs-service-preview-foot .cxs-button{margin:0;min-height:48px;font-size:12px}
.cxs-service-preview-foot .cxs-preview-back{min-height:44px;padding:10px 0;border:0;background:none;color:#40668e;font-size:12px}
@media(max-width:1120px){.cxs-services{padding-top:50px}.cxs-svc-card{padding:18px;min-height:223px}.cxs-svc-copy h3{font-size:17px}.cxs-svc-card--featured .cxs-svc-copy h3{font-size:25px}.cxs-svc-card--featured .cxs-svc-copy p{font-size:12px}.cxs-services-heading h2{font-size:37px}.cxs-services-intro{font-size:12px}}
@media(max-width:960px){.cxs-services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cxs-services-heading{grid-template-columns:1fr;gap:15px;margin-bottom:24px}.cxs-services-intro{justify-self:start;max-width:53ch;font-size:13px}.cxs-svc-card{min-height:217px;padding:22px}.cxs-svc-card--featured{min-height:226px}.cxs-svc-copy h3{font-size:19px}.cxs-svc-card--featured .cxs-svc-copy h3{font-size:28px}.cxs-svc-card--featured .cxs-svc-copy p{font-size:13px}}
@media(max-width:600px){.cxs-services{padding:36px 0 24px}.cxs-services-heading h2{font-size:34px}.cxs-services-eyebrow{font-size:8px;margin-bottom:12px;letter-spacing:.08em}.cxs-services-grid{gap:10px}.cxs-svc-card{border-radius:16px;padding:16px 14px 13px;min-height:238px}.cxs-svc-copy{margin-top:6px}.cxs-svc-copy h3{font-size:16px;font-weight:600;line-height:1.35;margin-bottom:8px}.cxs-svc-copy p{font-size:12px;line-height:1.7}.cxs-svc-index{min-height:36px;font-size:8px;margin-bottom:6px}.cxs-svc-visual{width:56px;height:51px;right:9px;top:7px}.cxs-svc-link{font-size:10px;padding-top:15px;gap:8px}.cxs-svc-link:after{border-radius:16px}.cxs-svc-link i{width:24px;height:24px;flex-shrink:0}.cxs-svc-card--featured{padding:20px;min-height:224px}.cxs-svc-card--featured .cxs-svc-copy{width:52%}.cxs-svc-card--featured .cxs-svc-copy h3{font-size:24px}.cxs-svc-card--featured .cxs-svc-copy p{font-size:12px}.cxs-svc-card--featured .cxs-svc-visual{right:0;width:47%;height:calc(100% - 38px);top:19px}.cxs-svc-card--featured .cxs-svc-link{width:49%}.cxs-services-help{align-items:flex-start;flex-direction:column;gap:4px;margin-top:20px;padding-top:13px}.cxs-services-help p{font-size:12px}.cxs-services-help button{font-size:12px}.cxs-service-preview{grid-template-columns:1fr;gap:16px}.cxs-service-preview-image{grid-row:1;height:135px;min-height:0;max-width:100%;padding:12px}.cxs-service-preview-image img{max-height:111px}.cxs-service-preview p{font-size:13px}.cxs-service-preview-foot{gap:6px;flex-direction:column;align-items:stretch}.cxs-service-preview-foot .cxs-preview-back{text-align:center}}
@media(max-width:359px){.cxs-services-grid{grid-template-columns:1fr}.cxs-svc-card--featured{grid-column:auto}.cxs-svc-card:not(.cxs-svc-card--featured){min-height:169px;padding:19px}.cxs-svc-card:not(.cxs-svc-card--featured) .cxs-svc-copy{max-width:78%;margin-top:0}.cxs-svc-card:not(.cxs-svc-card--featured) .cxs-svc-index{min-height:18px;margin-bottom:12px}.cxs-svc-card:not(.cxs-svc-card--featured) .cxs-svc-visual{top:12px;right:12px}.cxs-services-heading h2{font-size:31px}}
@media(prefers-reduced-motion:reduce){.cxs-services [data-cxs-services-reveal].is-observed,.cxs-services [data-cxs-services-reveal].is-revealed{opacity:1;transform:none;transition:none}.cxs-svc-card,.cxs-svc-visual,.cxs-svc-link i{transition:none!important;transform:none!important}}
