/* Services page redesign. Uses the hn- tokens from home-new.css, extra classes start with sv- */
.sv-banner{position:relative;overflow:hidden;background:linear-gradient(135deg,#1e2a6b 0%,#141d4d 100%);color:#fff;padding:72px 0 64px}
.sv-banner::before{content:"";position:absolute;right:-100px;top:-120px;width:420px;height:420px;border-radius:50%;background:rgba(61,220,132,.12)}
.sv-banner .hn-wrap{position:relative}
.sv-crumb{font-size:.92rem;opacity:.85;margin-bottom:14px}
.sv-crumb a{color:#fff}.sv-crumb a:hover{color:#3ddc84}
.sv-banner h1{font-size:clamp(2.2rem,5vw,3.6rem);font-weight:800;letter-spacing:-.02em;margin:0 0 12px;line-height:1.05}
.sv-banner p{max-width:38em;line-height:1.7;font-size:1.1rem;opacity:.92;margin:0 0 26px}
.sv-nav{background:#fff;border-bottom:1px solid #e1e8e3;position:sticky;top:0;z-index:20}
.sv-nav .hn-wrap{display:flex;gap:10px;overflow-x:auto;padding-top:14px;padding-bottom:14px}
.sv-nav a{flex:0 0 auto;padding:9px 18px;border-radius:999px;background:var(--mint);color:var(--n);font-weight:700;font-size:.93rem;white-space:nowrap;transition:background .2s,color .2s}
.sv-nav a:hover,.sv-nav a:focus-visible{background:var(--g);color:#fff;outline:none}
.sv-group{padding:64px 0 8px;scroll-margin-top:70px}
.sv-group__head{display:flex;gap:16px;align-items:center;margin-bottom:28px}
.sv-group__head i{flex:0 0 54px;height:54px;border-radius:16px;background:var(--g);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.4rem}
.sv-group__head h2{font-size:clamp(1.5rem,3vw,2.1rem);font-weight:800;color:var(--n);margin:0;line-height:1.15}
.sv-group__head p{margin:4px 0 0;color:var(--mute)}
.sv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.sv-card{background:#fff;border:1px solid #e1e8e3;border-radius:22px;overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .25s,transform .25s,border-color .25s;scroll-margin-top:90px}
.sv-card:hover,.sv-card:target{box-shadow:0 16px 36px rgba(30,42,107,.14);transform:translateY(-4px);border-color:var(--g)}
.sv-img,.sv-ph{width:100%;aspect-ratio:3/2;display:block}
.sv-img{object-fit:cover}
.sv-ph{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--mint),#d6ecdc);color:var(--g);font-size:3rem}
.sv-card:nth-child(3n+2) .sv-ph{background:linear-gradient(135deg,#fdeeee,#f8d5d6);color:var(--r)}
.sv-card:nth-child(3n) .sv-ph{background:linear-gradient(135deg,#eceefa,#d5d9f0);color:var(--n)}
.sv-body{padding:22px 24px 26px;display:flex;flex-direction:column;flex:1}
.sv-body h3{font-size:1.2rem;font-weight:800;margin:0 0 8px;color:var(--ink)}
.sv-body p{margin:0 0 16px;color:var(--mute);line-height:1.6;font-size:.97rem;flex:1}
.sv-body a{font-weight:800;color:var(--g);font-size:.95rem}
.sv-body a:hover{color:var(--r)}
.sv-cta{margin-top:72px}
@media (max-width:900px){.sv-grid{grid-template-columns:1fr 1fr}.sv-banner{padding:56px 0 48px}}
@media (max-width:560px){.sv-grid{grid-template-columns:1fr}.sv-group{padding-top:48px}}
@media (prefers-reduced-motion:reduce){.sv-card{transition:none}}

/* Card style: photo on top, text panel directly underneath (no overlap, photo fully visible) */
.sv-body{position:relative;padding:22px 24px 24px}
.sv-card:target{box-shadow:0 0 0 3px var(--g),0 16px 36px rgba(30,42,107,.14)}
.sv-mini{display:block;color:var(--g);font-size:1.3rem;margin-bottom:8px}
.sv-badge{position:absolute;right:16px;top:16px;width:26px;height:26px;border-radius:50%;background:var(--mint);color:var(--g);display:flex;align-items:center;justify-content:center;font-size:.72rem}
.sv-body h3{padding-right:34px}