.vz-service-page { background:#fff; color:var(--vz-charcoal,#11161a); }
.vz-service-wrap { width:calc(100% - 64px); max-width:1240px; margin-inline:auto; }
.vz-service-page h1,.vz-service-page h2 { margin:0; line-height:1.15; }
.vz-service-page h2 { font-family:var(--vz-font-body); font-size:clamp(1.5rem,2.8vw,2.4rem); letter-spacing:-.035em; text-transform:none; }
.vz-service-kicker { color:var(--vz-red); font-size:.75rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; margin:0 0 18px; }
.vz-service-hero { background:#11161a; color:white; }
.vz-service-hero__grid { display:grid; grid-template-columns:1.05fr 1fr; align-items:stretch; gap:48px; }
.vz-service-hero__copy { padding:30px 0 60px; }
.vz-service-hero nav { display:flex; gap:10px; flex-wrap:wrap; font-size:.78rem; color:#c6cbcd; margin-bottom:48px; }
.vz-service-hero nav a { color:inherit; }
.vz-service-hero h1 { font-size:clamp(2.5rem,5vw,4.6rem); color:white; }
.vz-service-lead { font-size:clamp(1rem,1.8vw,1.3rem); color:#e4e7e8; margin:22px 0 30px; }
.vz-service-hero__grid > img { display:block; width:100%; height:100%; min-height:420px; object-fit:cover; }
.vz-service-intro { padding-block:72px 40px; display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:start; }
.vz-service-intro > p,.vz-service-cards p,.vz-service-prepare p:not(.vz-service-kicker),.vz-service-contact p:not(.vz-service-kicker) { color:#626c74; line-height:1.8; font-size:1rem; margin:0; }
.vz-service-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; padding-bottom:72px; }
.vz-service-cards article { padding:30px; background:#f6f7f7; border-radius:16px; border-top:3px solid var(--vz-red); }
.vz-service-number { display:block; color:var(--vz-red); font-size:.85rem; font-weight:700; margin-bottom:28px; }
.vz-service-cards h2 { font-size:1.3rem; margin-bottom:16px; }
.vz-service-prepare { background:#f6f7f7; padding-block:64px; }
.vz-service-prepare__grid { display:grid; grid-template-columns:1fr 1fr; gap:70px; }
.vz-service-prepare h2 { margin-bottom:22px; }
.vz-service-prepare ol { list-style:none; counter-reset:steps; margin:0; padding:0; }
.vz-service-prepare li { counter-increment:steps; display:flex; align-items:center; gap:18px; padding:18px 0; border-bottom:1px solid #dfe3e5; line-height:1.6; }
.vz-service-prepare li::before { content:counter(steps,decimal-leading-zero); flex:0 0 40px; height:40px; display:grid; place-items:center; border-radius:50%; background:white; color:var(--vz-red); font-size:.8rem; font-weight:700; }
.vz-service-textlink { display:inline-flex; gap:20px; margin-top:24px; font-weight:600; color:var(--vz-red); }
.vz-service-textlink span { color:var(--vz-red); }
.vz-service-contact { padding-block:72px 48px; display:grid; grid-template-columns:1.2fr 1fr; gap:60px; scroll-margin-top:180px; }
.vz-service-contact h2 { margin-bottom:18px; }
.vz-service-contact__links { display:flex; flex-direction:column; align-items:flex-start; gap:16px; }
.vz-service-contact__links > a:not(.vz-button) { font-size:1.25rem; font-weight:600; overflow-wrap:anywhere; }
.vz-service-related { display:grid; grid-template-columns:1fr 1fr; gap:24px; padding-bottom:64px; }
.vz-service-related a { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:24px; border:1px solid #e1e5e7; border-radius:12px; font-weight:600; transition:background .2s; }
.vz-service-related a:hover { background:#f6f7f7; }
.vz-service-related a > span:last-child { color:var(--vz-red); }
.vz-service-page .vz-button { white-space:normal; text-align:center; }
.vz-service-page a:focus-visible { outline:3px solid var(--vz-red); outline-offset:5px; }
@media(max-width:760px) {
 .vz-service-wrap { width:calc(100% - 36px); }
 .vz-service-hero__grid,.vz-service-intro,.vz-service-prepare__grid,.vz-service-contact { grid-template-columns:1fr; gap:28px; }
 .vz-service-hero__copy { padding-bottom:4px; }
 .vz-service-hero nav { margin-bottom:32px; }
 .vz-service-hero__grid > img { min-height:0; height:260px; border-radius:12px 12px 0 0; }
 .vz-service-intro { padding-block:44px 28px; }
 .vz-service-cards { grid-template-columns:1fr; padding-bottom:44px; gap:14px; }
 .vz-service-cards article { padding:24px; }
 .vz-service-number { margin-bottom:16px; }
 .vz-service-prepare { padding-block:40px; }
 .vz-service-contact { padding-block:44px 32px; }
 .vz-service-related { grid-template-columns:1fr; gap:12px; padding-bottom:40px; }
}
