
:root{color-scheme:light;--bg:#fbfaf8;--text:#333b40;--muted:#737878;--mint:#84a99d;--blue:#5a829b;--border:#e5e4df;--surface:#f2f2ed}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,'Segoe UI',Arial,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-underline-offset:4px}a:hover{color:#426e77}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #4e7d91;outline-offset:3px}header{border-bottom:1px solid var(--border)}.wrap{max-width:1120px;margin:auto;padding:0 26px}.top{min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-family:Georgia,'Times New Roman',serif;font-size:1.2rem}.brand img{width:48px;height:48px;object-fit:contain}.top nav{display:flex;align-items:center;gap:28px;font-size:.92rem}.top nav a{text-decoration:none}.top nav a[aria-current=page]{border-bottom:2px solid var(--mint)}.hero{min-height:calc(100svh - 170px);display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:54px 18px 80px}.hero img{width:clamp(160px,23vw,255px);height:auto}.hero h1{font:400 clamp(2.3rem,5vw,4.3rem)/1.13 Georgia,'Times New Roman',serif;letter-spacing:-.03em;margin:21px 0 8px}.sub{font-size:clamp(.9rem,1.8vw,1.28rem);letter-spacing:.11em;text-transform:uppercase;color:#555e60;margin:0 0 36px}.button,button{display:inline-block;border:0;background:var(--blue);color:#fff;padding:13px 27px;border-radius:6px;text-decoration:none;font:600 1rem system-ui,sans-serif;cursor:pointer;transition:background .2s}.button:hover,button:hover{background:#3e697f;color:white}.details{background:var(--surface);border-top:1px solid var(--border);padding:40px 0}.details-inner{display:flex;justify-content:center;gap:65px;flex-wrap:wrap;text-align:center}.details-inner p{margin:0}.details strong{display:block;font-size:.82rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;margin-bottom:4px}.page{max-width:760px;margin:64px auto 100px;padding:0 26px}.page h1{font:400 clamp(2.1rem,4vw,3.2rem)/1.2 Georgia,serif;margin:0 0 24px}.page h2{font-size:1.1rem;margin:32px 0 6px}.page p{margin:7px 0 16px}.page a{color:#3a6d86}.note{border-left:3px solid var(--mint);padding:12px 18px;background:var(--surface);margin:24px 0}.form{display:grid;gap:18px;margin-top:28px}.field{display:grid;gap:6px}.field label{font-weight:600}.field input,.field select{width:100%;border:1px solid #b9c0bf;border-radius:5px;padding:13px 12px;background:white;color:var(--text);font:inherit}.form small{color:#5b6363}.hiddenfield{position:absolute;left:-100vw;opacity:0}.message{background:#edf3f0;padding:14px;border-left:3px solid var(--mint)}footer{border-top:1px solid var(--border);font-size:.83rem;color:#697274}footer .wrap{min-height:80px;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;padding-top:16px;padding-bottom:16px}footer nav{display:flex;gap:20px}footer a{text-decoration:none}.skip{position:absolute;left:-9999px;top:0}.skip:focus{left:10px;top:10px;background:white;padding:12px;z-index:10}.check{display:flex;align-items:start;gap:12px}.check input{margin-top:6px;accent-color:#527d8c}.check label{font-size:.91rem}@media(max-width:650px){.top{min-height:78px;gap:8px}.brand{font-size:1rem}.brand img{width:40px;height:40px}.top nav{gap:16px;font-size:.85rem}.top nav a:not(.primary-nav){display:none}.hero{min-height:65svh;padding:50px 16px 70px}.sub{letter-spacing:.06em}.details-inner{gap:25px;display:grid}.page{margin:48px auto 65px}footer .wrap{justify-content:center;text-align:center;flex-direction:column;gap:4px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* v3: Startseite ohne Scrollzwang auf üblichen Desktop-Displays.
   Unterseiten behalten ihr normales, barrierefreies Scrollverhalten. */
.home{min-height:100vh;min-height:100svh;display:flex;flex-direction:column}
.home header{flex:none}.home .top{min-height:62px}.home .brand{font-size:1.07rem}.home .top nav{gap:14px}
.home-main{flex:1;min-height:0;display:flex;flex-direction:column}
.home .hero{flex:1;min-height:0;padding:16px 18px 18px;gap:0}
.home .hero img{width:clamp(150px,25vh,235px);height:auto;max-height:31svh;object-fit:contain}
.home .hero h1{font-size:clamp(1.9rem,3.8vw,3.45rem);margin:13px 0 5px}
.home .sub{font-size:clamp(.76rem,1.45vw,1rem);margin:0 0 22px;letter-spacing:.07em}
.home .button{padding:10px 22px;font-size:.94rem}
.home .details{flex:none;padding:15px 0}.home .details-inner{gap:12px 32px;align-items:center;flex-wrap:wrap}
.home .details-inner p{font-size:.83rem;line-height:1.45}.home .details strong{font-size:.68rem;margin-bottom:2px}
.home .contact-separator{color:#9aa4a4;margin:0 5px}
.home footer{flex:none}.home footer .wrap{min-height:47px;padding-top:8px;padding-bottom:8px;font-size:.76rem}
@media(max-width:650px){.home .top{min-height:60px}.home .wrap{padding-left:16px;padding-right:16px}.home .brand{font-size:.91rem}.home .top nav{font-size:.78rem}.home .hero{padding:12px 12px 15px}.home .hero img{width:clamp(110px,20vh,160px)}.home .hero h1{font-size:clamp(1.65rem,6vw,2.5rem);margin:8px 0 3px}.home .sub{font-size:.76rem;margin-bottom:16px;letter-spacing:.03em}.home .details{padding:10px 0}.home .details-inner{display:flex;gap:9px 22px}.home .details-inner p{font-size:.78rem}.home footer .wrap{flex-direction:row;justify-content:center;gap:5px 14px;min-height:50px}.home footer nav{gap:12px}}
@media(max-height:640px){.home .hero{padding:8px 12px}.home .hero img{width:clamp(95px,16vh,135px)}.home .hero h1{font-size:clamp(1.55rem,3vw,2.6rem);margin:5px 0 3px}.home .sub{margin-bottom:12px}.home .details{padding:8px 0}.home footer .wrap{min-height:38px;padding-top:5px;padding-bottom:5px}}
@media(max-width:420px) and (max-height:720px){.home .details-inner{gap:5px 16px}.home .details-inner p{font-size:.74rem}.home .details strong{display:inline;margin-right:6px}.home footer .wrap{font-size:.7rem}}


/* V13 – kompakte Typografie nach freigegebener Schriftvorlage.
   Keine Änderungen an Struktur, Rechtsseiten, Formularlogik oder Branding. */
body{font-family:Arial,Helvetica,'Segoe UI',sans-serif;line-height:1.55}
.brand,.page h1,.hero h1{font-family:Arial,Helvetica,'Segoe UI',sans-serif;font-weight:400;letter-spacing:-.035em}
.page h1{font-size:clamp(1.9rem,3.4vw,2.7rem)}
.page h2{font-weight:600}
.home .top{min-height:58px}
.home .brand{font-family:Arial,Helvetica,'Segoe UI',sans-serif;font-size:1.08rem;letter-spacing:-.02em}
.home .hero{padding:18px 16px 22px}
.home .hero img{width:clamp(132px,20vh,190px);max-height:24svh}
.home .hero h1{font-family:Arial,Helvetica,'Segoe UI',sans-serif;font-weight:300;letter-spacing:-.045em;font-size:clamp(2.05rem,3.65vw,3.45rem);line-height:1.15;margin:13px 0 8px}
.home .sub{text-transform:none;font-size:clamp(.95rem,1.55vw,1.3rem);letter-spacing:0;margin-bottom:24px;line-height:1.35}
.home .button{font-weight:400;font-size:1rem;padding:11px 26px;border-radius:8px}
.home .details{padding:12px 0}
.home .details-inner{gap:12px 25px}
.home footer .wrap{min-height:43px}
@media(max-width:650px){
  .home .top{min-height:56px}
  .home .hero{padding:18px 12px 20px}
  .home .hero img{width:clamp(118px,22vh,160px);max-height:26svh}
  .home .hero h1{font-size:clamp(1.65rem,6.3vw,2.35rem);margin:11px 0 7px}
  .home .sub{font-size:clamp(.82rem,3.5vw,1rem);margin-bottom:19px}
  .home .button{font-size:.95rem;padding:10px 21px}
  .home .details{padding:10px 0}
}
@media(max-height:640px){
  .home .hero img{width:clamp(90px,16vh,125px)}
  .home .hero h1{font-size:clamp(1.55rem,3.4vw,2.4rem)}
  .home .sub{margin-bottom:12px}
}
