/* Eine Schrift für die ganze Website: Inter (SIL Open Font License), lokal eingebunden – keine Verbindung zu Google Fonts. */
@font-face{font-family:"Inter";font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/inter-latin-wght-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Inter";font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/inter-latin-ext-wght-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}:root{--font:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;--primary:#00acaf;--primary-d:#006d70;--btn:#007c7f;--accent:#0ed0d3;--text:#3d3d3d;--muted:#5b5b5b;--bg:#fff;--alt:#ebeced;--radius:12px}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:72px}
body{margin:0;font:1rem/1.65 var(--font);font-optical-sizing:auto;-webkit-font-smoothing:antialiased;color:var(--text);background:var(--bg)}
img{max-width:100%;height:auto;display:block}
a{color:var(--primary-d)}
h1,h2,h3,h4{font-family:inherit;line-height:1.2;margin:0 0 .6em;color:#1f2a2b;letter-spacing:-.01em}h1,h2{font-weight:800}h3,h4{font-weight:700}
h1{font-size:clamp(2rem,5vw,3.4rem)}
h2{font-size:clamp(1.5rem,3vw,2rem)}
.wrap{width:min(1120px,100% - 2rem);margin-inline:auto}
.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;background:#fff;padding:.5rem 1rem;z-index:100}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.95);backdrop-filter:blur(8px);border-bottom:1px solid var(--alt)}
.header-in{display:flex;align-items:center;justify-content:space-between;min-height:64px}
.brand{font-weight:800;font-size:1.3rem;text-decoration:none;color:#1f2a2b}.brand b{color:var(--primary)}
.brand img{max-height:44px;width:auto}
.nav{display:flex;gap:1.25rem;align-items:center}.nav a:not(.btn){text-decoration:none;color:var(--muted)}
.btn{display:inline-block;background:var(--btn);color:#fff;border:0;border-radius:999px;padding:.8rem 1.6rem;font:inherit;font-weight:600;text-decoration:none;cursor:pointer;transition:background .2s}
.btn:hover,.btn:focus-visible{background:var(--primary-d)}.btn-sm{padding:.45rem 1.1rem}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.hero{padding:clamp(2rem,6vw,4rem) 0 clamp(1.5rem,4vw,2.5rem);background:linear-gradient(135deg,#e6fafa,#fff 60%);}
.hero .lead{font-size:clamp(1rem,1.9vw,1.25rem);max-width:none;text-wrap:balance;color:var(--muted);margin-bottom:1.25rem}
.section{padding:clamp(1.75rem,4vw,3rem) 0}.alt{background:var(--alt)}
.split{display:grid;gap:1.5rem 2rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.gallery{list-style:none;margin:0;padding:0;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
.gallery img{border-radius:var(--radius);aspect-ratio:4/3;object-fit:cover;width:100%}
.form{display:grid;gap:1rem}
.form label{display:grid;gap:.25rem;font-weight:600;font-size:.95rem}
.form input:not([type=checkbox]){padding:.75rem;border:1px solid #bbb;border-radius:8px;font:inherit}
.form .check{display:flex;gap:.6rem;font-weight:400;align-items:flex-start}
.hp{position:absolute;left:-9999px}
.notice{padding:.8rem 1rem;border-radius:8px;margin:0}.ok{background:#e3f7ea}.err{background:#fde8e8}
.site-footer{background:#1f2a2b;color:#cfd8d8;padding:1.75rem 0}.site-footer a{color:#fff}
.foot-in{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
address{font-style:normal}.foot-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:1rem}.copy{margin:0;font-size:.9rem}
.prose{max-width:760px}
@media (max-width:640px){.nav a:not(.btn){display:none}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.btn-ghost{background:transparent;color:var(--primary-d);box-shadow:inset 0 0 0 2px var(--primary);margin-left:.5rem}.btn-ghost:hover,.btn-ghost:focus-visible{background:var(--btn);color:#fff}
.video video{width:100%;height:auto;aspect-ratio:16/9;border-radius:var(--radius);background:#000;box-shadow:0 8px 30px rgba(0,0,0,.15)}
.brand img{height:44px;width:auto}.foot-logo{height:48px;width:auto;margin-bottom:.75rem}
.gallery a{display:block}.gallery img{transition:transform .2s}.gallery a:hover img{transform:scale(1.02)}
@media (max-width:640px){.btn-ghost{margin:.75rem 0 0}.header-in .brand img{height:36px}}
.field-error{color:#b42318;font-weight:400;font-size:.875rem;min-height:0}
.form .invalid:not([type=checkbox]){border-color:#b42318;box-shadow:0 0 0 2px rgba(180,35,24,.15)}
.map{margin-top:1rem;border-radius:var(--radius);overflow:hidden;background:var(--alt);min-height:260px;display:grid}
.map-consent{padding:1.5rem;display:grid;gap:.75rem;align-content:center;justify-items:start}
.map-consent p{margin:0}.map-note{font-size:.85rem;color:var(--muted)}
.map.map-live{display:block;height:360px;z-index:0}
.contact-list{list-style:none;margin:.5rem 0 0;padding:0;display:grid;gap:.5rem}
.contact-list a{display:inline-flex;align-items:center;gap:.6rem;text-decoration:none;font-weight:600}
.contact-list a:hover span,.contact-list a:focus-visible span{text-decoration:underline}
.ico{width:2rem;height:2rem;padding:.45rem;border-radius:50%;background:var(--btn);fill:#fff;flex:none}
.legal-head{background:linear-gradient(135deg,#e6fafa,#fff 60%);padding:clamp(1.25rem,3vw,2rem) 0 clamp(1rem,2.5vw,1.5rem);border-bottom:1px solid var(--alt)}
.legal-head h1{margin:.4rem 0 0;font-size:clamp(1.8rem,4vw,2.6rem)}
.back{text-decoration:none;font-weight:600;font-size:.95rem}.back:hover{text-decoration:underline}
.legal-body{padding-block:clamp(1.25rem,3vw,2rem)}
.legal-body.has-toc{display:grid;gap:2.5rem;grid-template-columns:260px minmax(0,1fr);align-items:start}
.toc{position:sticky;top:84px;max-height:calc(100vh - 110px);overflow:auto;padding:1.1rem 1.2rem;background:var(--alt);border-radius:var(--radius);font-size:.95rem}
.toc ol{margin:.6rem 0 0;padding-left:1.1rem;display:grid;gap:.35rem}.toc a{text-decoration:none;color:var(--text)}.toc a:hover{color:var(--primary-d);text-decoration:underline}
.legal-text{max-width:75ch;overflow-wrap:anywhere;hyphens:auto}
.legal-text h2{margin-top:2.2em;padding-top:.6em;border-top:2px solid var(--alt);font-size:1.5rem;scroll-margin-top:84px}
.legal-text h2:first-child{margin-top:0;border-top:0;padding-top:0}
.legal-text h3{margin:1.8em 0 .5em;font-size:1.2rem;color:var(--primary-d)}
.legal-text h4{margin:1.4em 0 .4em;font-size:1.05rem}
.legal-text p{margin:0 0 1em}
@media (max-width:860px){.legal-body.has-toc{grid-template-columns:1fr}.toc{position:static;max-height:none}}
.contact-list .row{display:inline-flex;align-items:center;gap:.6rem}
.site-footer .contact-list{margin-top:.75rem}.site-footer .contact-list a{font-weight:400}
.site-footer .ico{width:1.9rem;height:1.9rem}
.legal-text mark{background:#fff3bf;padding:.1em .35em;border-radius:4px}
.legal-text ul{margin:0 0 1em;padding-left:1.3rem}.legal-text li{margin:.2em 0}
.apply{min-height:60vh;padding:clamp(1rem,3vw,2.25rem) 0;background:linear-gradient(160deg,#006d70,#00959a 55%,#00acaf)}
.apply .back{color:#fff}
.apply-wrap{display:grid;gap:1rem}
.apply-card{background:rgba(255,255,255,.96);border-radius:20px;padding:clamp(1.5rem,5vw,3rem);box-shadow:0 20px 50px rgba(0,60,62,.25);max-width:760px;width:100%;margin-inline:auto}
.quiz-title{font-size:clamp(1.1rem,2.5vw,1.3rem);color:var(--primary-d);margin:0 0 1rem;text-align:center}
.progress{height:6px;background:var(--alt);border-radius:99px;overflow:hidden;margin-bottom:2rem}
.progress span{display:block;height:100%;width:8%;background:var(--primary);border-radius:99px;transition:width .3s}
.step{border:0;margin:0;padding:0;min-width:0;text-align:center}
.step legend{display:block;width:100%;padding:0;font-size:clamp(1.4rem,3.5vw,2rem);font-weight:700;line-height:1.25;color:#1f2a2b;margin-bottom:1.5rem}
.step legend small,.step h2+p{display:block;margin-top:.5rem;font-size:1rem;font-weight:400;color:var(--muted)}
.step h2{font-size:clamp(1.3rem,3vw,1.7rem)}
.choices{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}
.choice{position:relative;cursor:pointer}
.choice input{position:absolute;opacity:0;inset:0;cursor:pointer}
.choice span{display:block;min-width:7rem;padding:.9rem 1.6rem;border:2px solid var(--alt);border-radius:12px;font-weight:600;background:#fff;transition:border-color .15s,background .15s,transform .15s}
.choice:hover span{border-color:var(--accent);transform:translateY(-1px)}
.choice input:checked+span{border-color:var(--primary);background:#e6fafa;color:var(--primary-d)}
.choice input:focus-visible+span{outline:3px solid var(--accent);outline-offset:2px}
.form-step{text-align:left}.form-step legend{text-align:center}
.fields{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-bottom:1rem}
.fields label,.apply .check{display:grid;gap:.25rem;font-weight:600;font-size:.95rem}
.apply .check{display:flex;gap:.6rem;font-weight:400;align-items:flex-start;margin-bottom:1.25rem}
.apply input:not([type=checkbox]):not([type=radio]){padding:.75rem;border:1px solid #bbb;border-radius:8px;font:inherit;width:100%}
.apply input.invalid{border-color:#b42318}
.form-step .btn{width:100%}
.quiz-nav{display:flex;justify-content:center;gap:.75rem;margin-top:1.75rem}
.quiz-nav .btn-ghost{margin:0}
.quiz-js .step[hidden],.quiz-js .quiz-nav [hidden]{display:none}
.quiz:not(.quiz-js) .step{margin-bottom:2rem}.quiz:not(.quiz-js) .stop{display:none}
.thanks{text-align:center;display:grid;justify-items:center;gap:.5rem}.thanks .ico{width:4rem;height:4rem;padding:0;background:none;fill:var(--primary)}
.thanks p{margin:0 0 1rem}
.lightbox{border:0;padding:0;background:transparent;max-width:100vw;max-height:100vh;width:100%;height:100%;color:#fff}
.lightbox::backdrop{background:rgba(10,20,20,.92)}
.lightbox[open]{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.5rem;padding:1rem}
.lightbox figure{margin:0;display:grid;justify-items:center;gap:.5rem;min-width:0}
.lightbox img{max-width:100%;max-height:calc(100vh - 6rem);width:auto;height:auto;object-fit:contain;border-radius:8px}
.lightbox figcaption{font-size:.95rem;opacity:.85}
.lightbox button{background:rgba(255,255,255,.14);color:#fff;border:0;border-radius:50%;width:3rem;height:3rem;font-size:2rem;line-height:1;cursor:pointer;transition:background .15s}
.lightbox button:hover,.lightbox button:focus-visible{background:var(--btn)}
.lb-close{position:absolute;top:1rem;right:1rem;z-index:1}
@media (max-width:640px){.lightbox[open]{grid-template-columns:minmax(0,1fr);grid-template-rows:1fr auto;padding:.5rem}.lightbox figure{grid-row:1}.lb-prev,.lb-next{position:absolute;bottom:1rem;z-index:1}.lb-prev{left:1rem}.lb-next{right:1rem}}
/* Stabiles Layout: Meldungsplatz ist immer reserviert, Felder bleiben ausgerichtet */
.field-error{display:block;min-height:1.35em;line-height:1.35}
.apply .check .field-error,.form .check .field-error{flex:0 0 100%;min-height:0}
.apply .check,.form .check{flex-wrap:wrap}
.apply .check>span:not(.field-error),.form .check>span:not(.field-error){flex:1 1 0;min-width:0}
.fields{align-items:start;gap:.25rem 1rem}
.form{gap:.4rem}
.fields input,.form input:not([type=checkbox]){height:3rem}
.hero-cta{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem}.hero-cta .btn-ghost{margin:0}
.hero{text-align:center}.hero .lead{margin-inline:auto}.usp{text-align:left}
.usp{margin-top:clamp(1.5rem,3.5vw,2.25rem);text-align:center}
.usp h2{margin:0 0 1rem;font-size:clamp(1.3rem,2.6vw,1.7rem);color:#1f2a2b}
.usp h2::after{content:"";display:block;width:3.5rem;height:4px;margin:.7rem auto 0;border-radius:99px;background:linear-gradient(90deg,var(--primary),var(--accent))}
.usp ul{list-style:none;margin:0;padding:0;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}
.usp li{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:1.25rem 1rem;background:#fff;border:1px solid #d9eeee;border-radius:16px;box-shadow:0 4px 18px rgba(0,100,102,.07);font-weight:600;line-height:1.4;color:#1f2a2b;transition:transform .2s,box-shadow .2s}
.usp li:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(0,100,102,.14)}
.usp .ico{width:3.25rem;height:3.25rem;padding:.8rem;background:linear-gradient(135deg,var(--btn),var(--primary));fill:#fff;box-shadow:0 6px 14px rgba(0,172,175,.35)}
@media (prefers-reduced-motion:reduce){.usp li{transition:none}.usp li:hover{transform:none}}
.btn-route{display:inline-flex;align-items:center;gap:.5rem;margin-top:1rem}.btn-route .ico{width:1.35rem;height:1.35rem;padding:0;background:none;fill:#fff}

h2{margin-bottom:.5em}.section h2{margin-bottom:.6em}
.map.map-live iframe{width:100%;height:100%;border:0;display:block}

button,input,select,textarea,optgroup,legend,fieldset,summary,address,figcaption,small{font-family:inherit}
input,select,textarea,button{font-size:1rem}
.hero .eyebrow{margin:0 0 .6rem;font-size:.85rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--primary-d)}
.hero h1{max-width:24em;margin-inline:auto;font-size:clamp(1.7rem,4vw,2.8rem);text-wrap:balance}
.hero .sub{margin:0 auto .5rem;font-size:clamp(1.05rem,2vw,1.35rem);font-weight:600;color:#1f2a2b}
.hero .lead{margin-bottom:1.25rem}
.hero .trust{margin:1rem 0 0;font-size:.9rem;font-weight:600;color:var(--muted)}
.form-lead{margin:0 0 1rem;color:var(--muted)}
.form label .opt{font-weight:400;color:var(--muted);font-size:.85rem}
.form textarea{padding:.75rem;border:1px solid #bbb;border-radius:8px;font:inherit;resize:vertical;min-height:5.5rem;width:100%}
.form textarea:focus{border-color:var(--primary);outline:0;box-shadow:0 0 0 3px rgba(14,208,211,.3)}
.section-title{text-align:center;margin-bottom:.4em}.section-lead{max-width:48rem;margin:0 auto 1.5rem;text-align:center;color:var(--muted)}
.usp ul{grid-template-columns:repeat(4,1fr)}@media (max-width:900px){.usp ul{grid-template-columns:repeat(2,1fr)}}@media (max-width:480px){.usp ul{grid-template-columns:1fr}.usp li{flex-direction:row;text-align:left;gap:1rem}}
#ablauf h2{text-align:center}
#ablauf h2::after{content:"";display:block;width:3.5rem;height:4px;margin:.7rem auto 0;border-radius:99px;background:linear-gradient(90deg,var(--primary),var(--accent))}
.about{display:grid;gap:1.25rem;grid-template-columns:repeat(2,1fr)}
.about-card{position:relative;overflow:hidden;background:#fff;border:1px solid #d9eeee;border-radius:16px;padding:1.75rem 1.75rem 1.75rem 6rem;box-shadow:0 4px 18px rgba(0,100,102,.07)}
.about-card::before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:linear-gradient(180deg,var(--btn),var(--accent))}
.about-card .ico{position:absolute;left:1.5rem;top:1.75rem;width:3.25rem;height:3.25rem;padding:.8rem;background:linear-gradient(135deg,var(--btn),var(--primary));fill:#fff;box-shadow:0 6px 14px rgba(0,172,175,.35)}
.about-card .eyebrow{margin:0 0 .35rem;font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--primary-d)}
.about-card h2{font-size:clamp(1.25rem,2.4vw,1.55rem);margin-bottom:.6rem}
.about-card p:last-child{margin:0;color:var(--text)}
@media (max-width:860px){.about{grid-template-columns:1fr}}
@media (max-width:480px){.about-card{padding:5.5rem 1.25rem 1.5rem}.about-card .ico{left:1.25rem;top:1.25rem}.about-card::before{inset:0 0 auto 0;width:auto;height:5px;background:linear-gradient(90deg,var(--btn),var(--accent))}}
.section-title::after{content:"";display:block;width:3.5rem;height:4px;margin:.7rem auto 0;border-radius:99px;background:linear-gradient(90deg,var(--primary),var(--accent))}
.cards{display:grid;gap:1.25rem;grid-template-columns:repeat(3,1fr)}
.card{position:relative;overflow:hidden;background:#fff;border:1px solid #d9eeee;border-radius:16px;padding:1.5rem 1.5rem 1.5rem;box-shadow:0 4px 18px rgba(0,100,102,.07);transition:transform .2s,box-shadow .2s}
.card::before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:linear-gradient(90deg,var(--btn),var(--accent))}
.card:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(0,100,102,.14)}
.card .ico{width:3rem;height:3rem;padding:.75rem;margin-bottom:.9rem;background:linear-gradient(135deg,var(--btn),var(--primary));fill:#fff;box-shadow:0 6px 14px rgba(0,172,175,.3)}
.card h2{font-size:1.2rem;margin-bottom:.4rem;color:#1f2a2b}
.card p{margin:0;color:var(--text)}
@media (max-width:860px){.cards{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.card{transition:none}.card:hover{transform:none}}

/* ===== Feinschliff: einheitliches Erscheinungsbild ===== */
.site-header{transition:box-shadow .2s}.site-header.scrolled{box-shadow:0 4px 18px rgba(0,60,62,.1)}
.section.alt{background:#eef8f8}
.video .wrap{max-width:960px}
.video video{box-shadow:0 14px 40px rgba(0,60,62,.22)}
.btn{box-shadow:0 6px 16px rgba(0,124,127,.28);transition:background .2s,transform .2s,box-shadow .2s}
.btn:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgba(0,124,127,.34)}
.btn-ghost,.btn-ghost:hover{box-shadow:inset 0 0 0 2px var(--btn)}
.btn-ghost{background:transparent;color:var(--primary-d)}
.gallery li{overflow:hidden;border-radius:var(--radius);box-shadow:0 4px 16px rgba(0,60,62,.12)}
.gallery img{border-radius:0;transition:transform .35s}
.gallery a:hover img{transform:scale(1.05)}
.hero{background:radial-gradient(1200px 400px at 50% -10%,#d8f6f6,transparent 70%),linear-gradient(180deg,#f2fcfc,#fff)}
.site-footer{background:linear-gradient(180deg,#0b3a3c,#06292b);color:#cfe3e3}
@media (prefers-reduced-motion:reduce){.btn,.gallery img{transition:none}.btn:hover,.gallery a:hover img{transform:none}}

/* ===== Kontaktbereich ===== */
.contact{background:linear-gradient(180deg,#fff,#eef8f8)}
.contact-grid{display:grid;gap:1.5rem;grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:start}
.contact-info{background:linear-gradient(160deg,#006d70,#005a5d);color:#fff;border-radius:20px;padding:clamp(1.5rem,3vw,2.25rem);box-shadow:0 14px 36px rgba(0,60,62,.22)}
.contact-info h2{color:#fff;font-size:clamp(1.5rem,2.8vw,2rem)}
.contact-info .form-lead{color:rgba(255,255,255,.88);margin-bottom:1.25rem}
.contact-info p{color:#fff}.contact-info strong{color:#fff}
.contact-info .contact-list a{color:#fff}
.contact-info .ico{background:#fff;fill:var(--primary-d);box-shadow:none}
.contact-info .map{background:rgba(255,255,255,.1);min-height:200px;margin-top:1.25rem}
.contact-info .map-consent{padding:1.25rem}
.contact-info .map-note,.contact-info .map-note a{color:rgba(255,255,255,.85)}
.contact-info a{color:#fff}
.contact-info .btn{background:#fff;color:var(--primary-d);box-shadow:none}
.contact-info .btn:hover,.contact-info .btn:focus-visible{background:#e6fafa;transform:none}
.contact-info .btn .ico{background:none;fill:var(--primary-d)}
.contact-info .map.map-live{height:300px}
.form{background:#fff;border:1px solid #d9eeee;border-radius:20px;padding:clamp(1.5rem,3vw,2.25rem);box-shadow:0 14px 36px rgba(0,60,62,.1);grid-template-columns:1fr 1fr;gap:.35rem 1rem;align-content:start}
.form>.notice,.form>.check,.form>.btn,.form>label:has(textarea){grid-column:1 / -1}
.form>.btn{width:100%;margin-top:.5rem}
.form input:not([type=checkbox]):not([type=hidden]),.form textarea{width:100%;background:#fbfefe}
@media (max-width:900px){.contact-grid{grid-template-columns:1fr}}
@media (max-width:560px){.form{grid-template-columns:1fr}}
.form label:not(.check){display:flex;flex-wrap:wrap;align-items:baseline;gap:.25rem .4rem}
.form label:not(.check) input,.form label:not(.check) textarea,.form label:not(.check) .field-error{flex:1 0 100%}
.gallery{grid-template-columns:repeat(4,1fr)}@media (max-width:900px){.gallery{grid-template-columns:repeat(2,1fr)}}

/* ===== Hero-Kacheln: einheitliche Höhe, zentriert, mit Farbstreifen ===== */
.usp ul{align-items:stretch}
.usp li{position:relative;overflow:hidden;justify-content:center;min-height:11rem;padding:1.75rem 1.25rem 1.5rem;text-align:center;font-size:1.02rem;gap:1rem}
.usp li::before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:linear-gradient(90deg,var(--btn),var(--accent))}
.usp .ico{width:3.75rem;height:3.75rem;padding:.95rem;box-shadow:0 0 0 7px rgba(0,172,175,.12),0 8px 18px rgba(0,124,127,.3)}
.usp li span{max-width:15rem;text-wrap:balance}
.usp li{min-height:9.5rem}.usp li span{max-width:18rem}

/* ===== Ablauf: Zeitleiste mit Nummern, darunter gleich hohe Karten ===== */
.steps{list-style:none;counter-reset:s;margin:1.5rem 0 0;padding:0;display:grid;gap:1.25rem;grid-template-columns:repeat(3,1fr)}
.steps li{counter-increment:s;position:relative;display:flex;flex-direction:column;align-items:center;gap:1rem;padding:0;background:none;border:0;box-shadow:none;text-align:center}
.steps li::before{content:counter(s);position:relative;z-index:1;display:grid;place-items:center;flex:none;width:3.5rem;height:3.5rem;border-radius:50%;background:linear-gradient(135deg,var(--btn),var(--primary));color:#fff;font-size:1.5rem;font-weight:800;box-shadow:0 0 0 7px rgba(0,172,175,.14),0 8px 18px rgba(0,124,127,.3);position:relative;top:auto;left:auto;transform:none}
.steps li:not(:last-child)::after{content:"";position:absolute;top:1.75rem;left:calc(50% + 2.6rem);width:calc(100% + 1.25rem - 5.2rem);border-top:3px dotted #7cc9cb;transform:translateY(-50%)}
.steps li b{display:flex;align-items:center;justify-content:center;flex:1;width:100%;min-height:5.5rem;padding:1.1rem 1.25rem;background:#fff;border:1px solid #d9eeee;border-radius:16px;box-shadow:0 4px 18px rgba(0,100,102,.07);font-size:1.1rem;line-height:1.4;color:#1f2a2b;transition:transform .2s,box-shadow .2s}
.steps li:hover b{transform:translateY(-3px);box-shadow:0 12px 28px rgba(0,100,102,.14)}
@media (prefers-reduced-motion:reduce){.steps li b{transition:none}.steps li:hover b{transform:none}}
@media (max-width:760px){.steps{grid-template-columns:1fr;gap:1.75rem;max-width:26rem;margin-inline:auto}.steps li:not(:last-child)::after{top:100%;left:50%;width:0;height:1.75rem;border-top:0;border-left:3px dotted #7cc9cb;transform:translateX(-50%)}.steps li b{min-height:4.5rem}}

/* ===== Mobil: kompakter, damit weniger gescrollt werden muss ===== */
@media (max-width:640px){
.usp ul{grid-template-columns:1fr 1fr;gap:.75rem}
.usp li{flex-direction:column;min-height:0;padding:1.1rem .75rem;gap:.6rem;text-align:center;font-size:.9rem;line-height:1.3}
.usp li::before{inset:0 0 auto 0;width:auto;height:4px}
.usp .ico{width:2.75rem;height:2.75rem;padding:.7rem;box-shadow:0 0 0 5px rgba(0,172,175,.12)}
.usp li span{max-width:none;text-align:center}
.hero{padding-bottom:1.5rem}
.cards{gap:.75rem}
.card{display:grid;grid-template-columns:auto 1fr;column-gap:1rem;align-items:start;padding:1.1rem 1.1rem 1.1rem 1.1rem}
.card .ico{grid-row:1 / span 2;margin:0;width:2.75rem;height:2.75rem;padding:.7rem}
.card h2{align-self:end;margin:0 0 .15rem;font-size:1.1rem}
.card p{grid-column:2}
}
