.svc-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:26px;perspective:1200px;margin-top:40px}
.svc-float{width:calc(25% - 20px);min-width:240px;animation:fl 6s ease-in-out infinite;animation-delay:var(--d)}
@keyframes fl{50%{transform:translateY(-12px)}}
.svc{position:relative;aspect-ratio:3/4;border-radius:20px;overflow:hidden;cursor:pointer;background:#ffffff;border:1px solid rgba(255,255,255,.08);transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .15s ease-out,border-color .3s,box-shadow .3s;box-shadow:0 20px 50px rgba(0,0,0,.45)}
.svc:hover,.svc:focus-visible{border-color:var(--orange);box-shadow:0 30px 70px rgba(34,78,158,.25);outline:0}
.svc-media,.svc-media img,.svc-media video,.svc-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.svc-media video{opacity:0;transition:opacity .5s}.svc-media video.on{opacity:1}
.svc-art{display:grid;place-items:center;font-size:4.5rem;color:var(--orange);background:radial-gradient(circle at 30% 20%,rgba(34,78,158,.4),transparent 55%),linear-gradient(160deg,#0f3a8a,#061a40);animation:artp 5s ease-in-out infinite}
@keyframes artp{50%{filter:brightness(1.5)}}
.svc::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,rgba(6,20,48,.96) 10%,rgba(6,20,48,.3) 60%,rgba(6,20,48,.5))}
.svc-glow{position:absolute;inset:0;z-index:2;opacity:0;transition:opacity .3s;pointer-events:none;background:radial-gradient(260px circle at var(--mx,50%) var(--my,50%),rgba(34,78,158,.3),transparent 60%)}
.svc:hover .svc-glow{opacity:1}
.svc-top{position:absolute;z-index:3;top:16px;left:18px;right:18px;display:flex;justify-content:space-between;color:var(--orange);font-weight:600}
.svc-body{position:absolute;z-index:3;left:18px;right:18px;bottom:18px}
.svc-body h3{font-size:1.35rem;margin-bottom:6px;color:#fff}.svc-body p{color:#d6e2f7;font-size:.9rem}
.svc-body ul,.svc-body .svc-q{max-height:0;opacity:0;overflow:hidden;margin:0;padding:0;transition:max-height .5s,opacity .4s,margin .4s}
.svc:hover ul,.svc:focus-visible ul{max-height:130px;opacity:1;margin-top:10px}
.svc:hover .svc-q,.svc:focus-visible .svc-q{max-height:52px;opacity:1;margin-top:12px}
.svc li{list-style:none;font-size:.82rem;color:#fff;padding:2px 0}.svc li::before,.svc-pt li::before{content:"\2713  ";color:var(--orange)}
.svc-q{background:var(--orange);color:#fff;border:0;border-radius:10px;padding:11px 16px;font-weight:600;cursor:pointer;font-family:inherit}
.svc-modal{position:fixed;inset:0;z-index:2000;display:grid;place-items:center;padding:20px;background:rgba(6,20,48,.72);backdrop-filter:blur(8px);opacity:0;pointer-events:none;transition:opacity .35s}
.svc-modal.open{opacity:1;pointer-events:auto}
.svc-panel{position:relative;display:grid;grid-template-columns:1fr 1fr;width:min(920px,100%);max-height:90vh;overflow:auto;border-radius:22px;background:#ffffff;border:1px solid rgba(34,78,158,.4);transform:translateY(30px) scale(.97);transition:transform .4s}
.svc-modal.open .svc-panel{transform:none}
.svc-pm{position:relative;min-height:320px}.svc-pm img,.svc-pm video,.svc-pm .svc-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.svc-pt{padding:36px 32px}.svc-pt small{color:var(--orange);letter-spacing:.2em;text-transform:uppercase;font-weight:600}
.svc-pt h3{font-size:2rem;margin:10px 0 14px}.svc-pt p{color:#4b5b78}.svc-pt ul{padding:0;margin:18px 0 24px}.svc-pt li{list-style:none;padding:5px 0}
.svc-pt .svc-q{max-height:none;opacity:1}.svc-x{position:absolute;top:12px;right:14px;z-index:5;background:rgba(0,0,0,.5);color:#fff;border:0;width:36px;height:36px;border-radius:50%;font-size:1.3rem;cursor:pointer}
@media(max-width:800px){.svc-panel{grid-template-columns:1fr}.svc-pm{min-height:200px}}
@media(max-width:1000px){.svc-float{width:calc(50% - 20px)}}
@media(hover:none){.svc{transform:none}.svc ul{display:none}.svc .svc-q{max-height:52px;opacity:1;margin-top:10px}}
@media(prefers-reduced-motion:reduce){.svc-float,.svc-art{animation:none}.svc{transform:none}}
.svc-media::after{content:"";position:absolute;inset:0;background:rgba(34,78,158,.6);mix-blend-mode:color;pointer-events:none;transition:opacity .4s}
.svc:hover .svc-media::after{opacity:.55}
.svc-hint{display:block;margin-top:10px;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:#9cc0ff;opacity:0;max-height:0;overflow:hidden;transition:opacity .4s,max-height .4s}
.svc:hover .svc-hint{opacity:1;max-height:24px}
.svc-top,.svc-top i{color:#9cc0ff}.svc-pt{color:#0b1b3a}.svc-pt small{color:#224e9e}.svc-pt .svc-q{color:#fff}

/* ===== unique card upgrades ===== */
@property --a{syntax:"<angle>";inherits:false;initial-value:0deg}
.svc-float{position:relative}
.svc-float::before{content:"";position:absolute;inset:-2px;border-radius:22px;background:conic-gradient(from var(--a),transparent 0 52%,#7db2ff 76%,#fff 88%,transparent);opacity:0;transition:opacity .4s;animation:svcspin 3s linear infinite}
.svc-float:hover::before{opacity:1}
@keyframes svcspin{to{--a:360deg}}
@media(min-width:1001px){.svc-float:nth-child(even){margin-top:36px}}
.svc::after{content:"";position:absolute;inset:-40% -70%;z-index:4;pointer-events:none;background:linear-gradient(100deg,transparent 42%,rgba(255,255,255,.3) 50%,transparent 58%);transform:translateX(-75%);transition:transform 1s ease}
.svc:hover::after{transform:translateX(75%)}
.svc-media img,.svc-media video{transform:scale(1.14) translate(calc(var(--ox,0)*-12px),calc(var(--oy,0)*-12px));transition:transform .3s ease-out}
.svc-top i{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.14);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.3);color:#fff;transition:transform .6s,background .3s}
.svc:hover .svc-top i{transform:rotate(360deg) scale(1.1);background:#3b82f6}
.svc-top span{font:600 .85rem 'Space Grotesk',sans-serif;letter-spacing:.2em;color:#cfe0ff}
.svc-bg-n{position:absolute;z-index:2;right:14px;top:62px;font:700 5.6rem/1 'Space Grotesk',sans-serif;color:transparent;-webkit-text-stroke:1.5px rgba(255,255,255,.22);transition:transform .6s,-webkit-text-stroke-color .4s;pointer-events:none}
.svc:hover .svc-bg-n{transform:translateY(-16px) scale(.88);opacity:.4;-webkit-text-stroke-color:rgba(160,200,255,.7)}
.svc ul{display:flex;flex-wrap:wrap;gap:0}
.svc li{display:inline-block;padding:5px 11px;margin:0 6px 7px 0;border-radius:99px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);font-size:.74rem;opacity:0;transform:translateY(10px);transition:opacity .4s,transform .4s;transition-delay:0s}
.svc li::before{content:none!important}
.svc:hover li{opacity:1;transform:none;transition-delay:calc(var(--k)*80ms + .15s)}
.svc-q{display:inline-flex;align-items:center;gap:10px;border-radius:99px;background:#fff;color:#0a2a66;box-shadow:0 8px 22px rgba(0,0,0,.3)}
.svc-q i{transition:transform .3s}.svc-q:hover i{transform:translateX(6px)}
.svc:hover{box-shadow:0 34px 80px rgba(34,78,158,.45)}

/* modal: Get quote button was white-on-white */
.svc-pt .svc-q{background:linear-gradient(135deg,#224e9e,#3b82f6);color:#fff;border:0;box-shadow:0 12px 28px rgba(34,78,158,.35);transition:transform .25s,box-shadow .25s,filter .25s}
.svc-pt .svc-q:hover,.svc-pt .svc-q:focus-visible{transform:translateY(-2px);box-shadow:0 16px 34px rgba(34,78,158,.5);filter:brightness(1.08);outline:0}
.svc-pt .svc-q i{color:#fff}
.svc-pt h3{color:#0a2a66}
