/* Shared by static pages and the Soro importer. Keep after page styles. */
:root{--teal:#097baa;--coral:#097baa;--coral-dark:#075d81;--muted:#514d49}
html{scroll-padding-top:16px}
body{font-size:18px}
section[id],main[id]{scroll-margin-top:0}
#kassen{scroll-margin-top:80px}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #0e2a3f!important;outline-offset:4px}
.btn{min-height:48px;justify-content:center;text-align:center;line-height:1.45}
.field label,.field input,.field select,.field textarea,.form-hint{font-size:1rem}
.field input,.field select,.field textarea{min-height:48px}
.field input,.field select,.field textarea{border-color:#83929b}
.topbar{background:#097baa;font-size:1rem}
header.nav .container{max-width:1480px}
header.nav nav{margin-left:auto}
header.nav nav ul{gap:clamp(14px,1.35vw,24px);flex-wrap:nowrap}
header.nav nav a{font-size:.92rem;white-space:nowrap}
.nav-inner{gap:24px}
.nav-cta{flex-shrink:0}
.nav-cta .phone-pill{display:none}
.hero h1{overflow-wrap:break-word}
.hero p.lead{color:#45413d}
.anrufleiste{display:none!important}
.mobile-cta{padding-bottom:calc(10px + env(safe-area-inset-bottom,0px))}
.mobile-cta .btn{font-size:1rem;min-width:0}
.audience-section{padding:36px 0;background:#fff}
.audience-section h2{font-size:1.65rem;margin-bottom:22px}
.audience-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.audience-card{display:flex;flex-direction:column;gap:12px;border:2px solid #c5dce8;border-radius:18px;padding:24px;text-decoration:none;background:#f3f9fc}
.audience-card h3{font-size:1.2rem}
.audience-card p{font-size:1rem;color:#45413d}
.audience-card span{margin-top:auto;color:#075d81;font-size:1rem;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.audience-card:hover{border-color:#097baa}
.budget-note{background:#eef7fb;border-left:4px solid #097baa;border-radius:12px;padding:24px;margin:28px 0}
.budget-note p{margin-top:12px;color:#45413d}
.budget-note a,.narrow-content a:not(.btn){color:#075d81;text-decoration:underline;text-underline-offset:3px}
.editorial-intro{background:#fff;border:2px solid #c5dce8;border-radius:14px;padding:22px 24px;margin:24px 0}
.editorial-intro strong{display:block;color:#075d81;margin-bottom:6px}
.editorial-intro p,.editorial-section p{color:#45413d}
.editorial-additions{margin-top:34px}
.editorial-section{margin:28px 0}
.editorial-section h2{font-size:1.45rem;margin-bottom:12px}
.editorial-review{background:#f4f6f7;border-radius:12px;padding:20px 22px;margin:30px 0;font-size:.95rem}
.editorial-review h2{font-size:1.2rem;margin-bottom:8px}
.editorial-review ul{padding-left:22px;margin-top:10px}
.editorial-review li{margin:7px 0}
.editorial-review a{color:#075d81;text-decoration:underline;text-underline-offset:3px}
.narrow-content{max-width:850px}
.narrow-content h2{margin:28px 0 16px}
.service-list{padding-left:24px;margin:16px 0 24px}
.service-list li{margin-bottom:12px}
.ez-zeile{align-items:flex-end}
.ez-zeile label{flex:1 1 220px;max-width:300px;text-align:left;font-weight:700;font-size:1rem}
.ez-zeile label input{display:block;width:100%;min-width:0;max-width:none;margin-top:8px;font:inherit}
.ez-zeile .btn{margin-top:8px}
.ez-ds{line-height:1.6}
.mobile-menu{max-height:calc(100dvh - 100px);overflow-y:auto}
.mobile-menu a{min-height:48px}
@media(min-width:961px) and (max-width:1180px){
  header.nav nav ul{display:none}
  header.nav .burger{display:block}
  header.nav .nav-cta>.btn{display:inline-flex}
}
@media(max-width:960px){
  html{scroll-padding-top:28px}
  body{padding-bottom:calc(90px + env(safe-area-inset-bottom,0px))}
  .mobile-cta{display:flex;z-index:60}
  .a-schalter{bottom:calc(94px + env(safe-area-inset-bottom,0px));font-size:.9rem;padding:10px 14px}
  .audience-grid{grid-template-columns:1fr}
  .audience-card{padding:20px}
  .hero{padding-top:32px}
  .hero-grid{gap:28px}
  .hero-actions>.btn{width:100%}
  .tel-gross{width:100%;padding:14px 16px;min-width:0}
  .tel-gross b{font-size:clamp(1.2rem,5vw,1.7rem)}
  .form-card{padding:28px 20px}
  .ez-box{padding:28px 20px}
  .ez-zeile label{max-width:none;flex-basis:100%}
  .ez-zeile>.btn{width:100%}
  .container{padding-left:20px;padding-right:20px}
  .foto-badge{position:static;margin-top:12px;border-radius:12px;white-space:normal}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.reveal{opacity:1!important;transform:none!important}}
