.elementor-widget-vizy_stadtwerke_hero{width:100%;max-width:none!important}
.vsh-hero{
    --vsh-primary:#002349;
    --vsh-accent:#1689c9;
    --vsh-text:#274554;
    --vsh-surface:#f4f8fb;
    --vsh-card:#fff;
    position:relative;
    overflow:hidden;
    width:100%;
    background:var(--vsh-surface);
    color:var(--vsh-text);
    padding:46px 34px 28px;
}
.vsh-hero *,.vsh-hero *::before,.vsh-hero *::after{box-sizing:border-box}
.vsh-hero-rail{position:absolute;inset:0 0 auto;height:7px;background:var(--vsh-primary)}
.vsh-hero-rail span{display:block;position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 18px,var(--vsh-accent) 18px 24px);opacity:.85}
.vsh-hero-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:26px}
.vsh-hero-eyebrow,.vsh-hero-kicker{margin-bottom:9px;font-size:11px!important;font-weight:800;line-height:1!important;text-transform:uppercase;letter-spacing:.14em;color:var(--vsh-accent)}
.vsh-hero h1{margin:0!important;color:var(--vsh-primary)!important;font-size:clamp(38px,5vw,68px)!important;line-height:.98!important;letter-spacing:-.035em!important}
.vsh-hero-intro{max-width:720px;margin-top:18px;font-size:16px;line-height:1.65}
.vsh-hero-intro p{margin:0!important}
.vsh-hero-main{display:grid;grid-template-columns:minmax(300px,.78fr) minmax(420px,1.22fr);min-height:430px;background:var(--vsh-card);border-top:1px solid rgba(0,35,73,.15);border-bottom:1px solid rgba(0,35,73,.15)}
.vsh-hero-contact{position:relative;display:flex;flex-direction:column;justify-content:center;padding:clamp(30px,4vw,54px);border-right:1px solid rgba(0,35,73,.15);overflow:hidden}
.vsh-hero-contact::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--vsh-accent)}
.vsh-hero-contact h2{margin:0 0 7px!important;color:var(--vsh-primary)!important;font-size:clamp(25px,2.6vw,40px)!important;line-height:1.08!important;letter-spacing:-.025em!important}
.vsh-hero-company{margin:0 0 16px;color:var(--vsh-accent);font-size:13px;font-weight:700}
.vsh-hero-address{font-size:17px;line-height:1.55}
.vsh-hero-contactlines{display:flex;flex-direction:column;gap:7px;margin-top:18px}
.vsh-hero-contactlines a,.vsh-hero-contactlines div{display:flex;flex-wrap:wrap;gap:6px 10px;color:var(--vsh-primary)!important;text-decoration:none!important;font-weight:650}
.vsh-hero-contactlines span{min-width:58px;color:var(--vsh-text);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;opacity:.72}
.vsh-hero-contactlines a:hover{text-decoration:underline!important}
.vsh-hero-route{display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;min-height:46px;margin-top:26px;padding:11px 18px;border:1px solid var(--vsh-primary)!important;border-radius:0!important;background:var(--vsh-primary)!important;color:#fff!important;font-family:inherit!important;font-size:14px!important;font-weight:700!important;line-height:1.1!important;letter-spacing:normal!important;text-transform:none!important;text-decoration:none!important;cursor:pointer;transition:transform .2s ease,background-color .2s ease}
.vsh-hero-route:hover,.vsh-hero-route:focus{transform:translateY(-2px);background:var(--vsh-accent)!important;color:#fff!important}
.vsh-hero-track{display:flex;align-items:center;margin-top:38px;color:var(--vsh-primary)}
.vsh-hero-track span{width:10px;height:10px;border:2px solid currentColor;border-radius:50%}
.vsh-hero-track i{height:2px;flex:1;margin-left:6px;background:repeating-linear-gradient(90deg,currentColor 0 10px,transparent 10px 15px);opacity:.3}
.vsh-hero-track b{font-size:24px;font-weight:400;line-height:1;margin-left:3px}
.vsh-hero-map{position:relative;min-height:430px;background:#eef5f8;overflow:hidden}
.vsh-hero-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
.vsh-hero-travel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:16px;border-top:1px solid rgba(0,35,73,.14);border-left:1px solid rgba(0,35,73,.14)}
.vsh-hero-travel article{display:grid;grid-template-columns:42px minmax(0,1fr);gap:16px;min-height:130px;padding:24px;background:#fff;border-right:1px solid rgba(0,35,73,.14);border-bottom:1px solid rgba(0,35,73,.14);transition:transform .2s ease,box-shadow .2s ease}
.vsh-hero-travel article:hover{transform:translateY(-3px);box-shadow:0 10px 30px rgba(0,35,73,.06);z-index:1}
.vsh-hero-icon{width:42px;height:42px;display:grid;place-items:center;color:var(--vsh-primary);background:color-mix(in srgb,var(--vsh-accent) 12%,transparent)}
.vsh-hero .vsh-hero-icon svg{display:block!important;width:20px!important;height:20px!important;min-width:20px!important;min-height:20px!important;max-width:20px!important;max-height:20px!important;fill:currentColor!important}
.vsh-hero-travel h3{margin:2px 0 8px!important;color:var(--vsh-primary)!important;font-size:18px!important}
.vsh-hero-travel p{margin:0!important;font-size:14px!important;line-height:1.55!important}
.vsh-hero-travel a{color:var(--vsh-primary)!important;text-decoration:none!important;font-weight:700}
.vsh-hero-travel a:hover{text-decoration:underline!important}

@media(max-width:900px){
    .vsh-hero-main{grid-template-columns:1fr 1fr}
}
@media(max-width:767px){
    .vsh-hero{padding:24px 10px 16px}
    .vsh-hero-rail{height:5px}
    .vsh-hero-head{margin-bottom:15px}
    .vsh-hero-eyebrow{font-size:9px!important;margin-bottom:6px}
    .vsh-hero h1{font-size:30px!important;line-height:1.02!important}
    .vsh-hero-intro{margin-top:10px;font-size:13px}
    .vsh-hero-main{grid-template-columns:1fr;min-height:0}
    .vsh-hero-contact{padding:20px 16px 18px 20px;border-right:0;border-bottom:1px solid rgba(0,35,73,.14)}
    .vsh-hero-contact::before{width:3px}
    .vsh-hero-kicker{display:none}
    .vsh-hero-contact h2{font-size:21px!important;margin-bottom:5px!important}
    .vsh-hero-company{margin-bottom:9px;font-size:11px}
    .vsh-hero-address{font-size:13px;line-height:1.45}
    .vsh-hero-contactlines{margin-top:12px;font-size:12px}
    .vsh-hero-contactlines span{min-width:51px;font-size:9px}
    .vsh-hero-route{min-height:39px;margin-top:15px;padding:8px 10px;font-size:11px!important}
    .vsh-hero-track{display:none}
    .vsh-hero-map{min-height:260px}
    .vsh-hero-travel{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:10px}
    .vsh-hero-travel article{grid-template-columns:30px minmax(0,1fr);gap:8px;min-height:0;padding:11px 10px}
    .vsh-hero-icon{width:30px;height:30px}
    .vsh-hero .vsh-hero-icon svg{width:14px!important;height:14px!important;min-width:14px!important;min-height:14px!important;max-width:14px!important;max-height:14px!important}
    .vsh-hero-travel h3{margin:1px 0 4px!important;font-size:12px!important}
    .vsh-hero-travel p{font-size:10px!important;line-height:1.35!important}
}
