:root{--ink:#0B2A2C;--petrol:#003B3E;--petrol2:#0A5558;--cream:#F5F3EE;--pastel:#D9E8E3;--paper:#FCFBF8;--accent:#6FA8A3;--line:#D8D4C8;--muted:#40585A}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:5rem}
body{margin:0;font:1.0625rem/1.65 "Segoe UI",Helvetica,Arial,sans-serif;color:var(--ink);background:var(--cream)}
h1,h2,h3{font-family:"Segoe UI",Helvetica,Arial,sans-serif;font-weight:600;line-height:1.2;margin:0 0 .6em;letter-spacing:-.01em}
h1{font-size:clamp(2.1rem,5vw,3.4rem)}h2{font-size:clamp(1.65rem,3.2vw,2.3rem)}h3{font-size:1.25rem}
p{margin:0 0 1em;max-width:62ch}
a{color:var(--petrol)}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.wrap{max-width:1100px;margin:0 auto;padding:0 1.25rem}
section{padding:5.5rem 0}
.alt{background:var(--pastel)}
header{position:sticky;top:0;z-index:10;background:rgba(245,243,238,.97);border-bottom:1px solid var(--line)}
header .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:4rem}
.logo{font:600 1.15rem Palatino,Georgia,serif;color:var(--ink);text-decoration:none}
nav{display:flex;gap:1.5rem;align-items:center}
nav a.l{color:var(--ink);text-decoration:none;font-size:.95rem}
nav a.l:hover{text-decoration:underline}
.btn{display:inline-block;background:var(--petrol);color:#fff;text-decoration:none;padding:.85rem 1.5rem;border-radius:4px;font-weight:600}
.btn:hover{background:var(--petrol2)}
.btn.s{padding:.55rem 1rem;font-size:.95rem}
.btn.o{background:transparent;color:var(--petrol);border:2px solid var(--petrol)}
.btn.o:hover{background:var(--petrol);color:#fff}
.micro{font-size:.92rem;color:var(--muted);margin:.75rem 0 0}
.cta{margin-top:2rem}
.cta .row{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}
.hero{padding:4rem 0 5rem}
.hero .wrap{display:grid;grid-template-columns:1.3fr .7fr;gap:3rem;align-items:center}
.lead{font-size:1.2rem;color:var(--muted)}
.compass{width:100%;max-width:320px;justify-self:center}
.three{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.three>div{border-top:3px solid var(--petrol);padding-top:1rem}
.recog{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem 3rem;list-style:none;padding:0;margin:2rem 0}
.recog li{padding:1rem 0 1rem 1.25rem;border-left:3px solid var(--accent)}
.offer{display:grid;gap:1.5rem}
.card{background:var(--paper);border:1px solid var(--line);padding:1.75rem;display:grid;grid-template-columns:1fr 2fr;gap:1.5rem 2.5rem}
.card dl{margin:0}.card dt{font-weight:600;margin-top:.8rem}.card dt:first-child{margin-top:0}.card dd{margin:0;color:var(--muted)}
.about{display:grid;grid-template-columns:.8fr 1.2fr;gap:3rem;align-items:start}
.photo{aspect-ratio:4/5;background:var(--pastel);display:grid;place-items:center;text-align:center;color:var(--muted);font-size:.9rem;padding:1rem}
.photo img{width:100%;height:100%;object-fit:cover}
.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin:2rem 0}
.facts b{display:block;font:600 1.15rem Palatino,Georgia,serif}
.steps{list-style:none;counter-reset:s;padding:0;margin:2rem 0;display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.steps li{counter-increment:s;background:var(--paper);border:1px solid var(--line);padding:1.25rem}
.steps li::before{content:counter(s);display:grid;place-items:center;width:2rem;height:2rem;border-radius:50%;background:var(--petrol);color:#fff;font-weight:600;margin-bottom:.75rem}
.kompass{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem;margin-top:2rem}
.kompass div{border-top:3px solid var(--accent);padding-top:.75rem;font-size:.95rem}
.kompass b{display:block;font-size:1.05rem}
.quals{columns:2;gap:3rem;padding-left:1.2rem}.quals li{margin-bottom:.4rem}
.note{font-size:.92rem;color:var(--muted);border-left:3px solid var(--line);padding-left:1rem;margin-top:1.5rem}
.ph{background:#FFF4D6;padding:0 .25em;border-radius:2px}
details{border-bottom:1px solid var(--line);padding:1rem 0;max-width:760px}
summary{cursor:pointer;font-weight:600;font-size:1.05rem}
details p{margin:.75rem 0 0}
footer{padding:2rem 0;font-size:.92rem;color:var(--muted)}
footer .wrap{display:flex;flex-wrap:wrap;gap:1rem 2rem;justify-content:space-between}
@media(max-width:820px){
 nav a.l{display:none}
 .hero .wrap,.about,.card{grid-template-columns:1fr}
 .three,.recog,.steps,.facts{grid-template-columns:1fr}
 .kompass{grid-template-columns:1fr 1fr}.quals{columns:1}
 .compass{max-width:200px}section{padding:3.25rem 0}
}
@media(prefers-reduced-motion:no-preference){.needle{transform-origin:100px 100px;animation:sw 2.4s ease-out 1}}
@keyframes sw{from{transform:rotate(-70deg)}to{transform:rotate(0)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.two{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem 3rem;margin:2rem 0}
.two>div{border-top:3px solid var(--petrol);padding-top:1rem}
.two p,.three p{margin:0}
.bl{padding-left:1.2rem}.bl li{margin-bottom:.5rem}
@media(max-width:820px){.two{grid-template-columns:1fr}}

h1,h2,h3{font-weight:500}
h1{font-size:clamp(2.2rem,5vw,3.6rem)}
.dark,.contact{background:var(--petrol);color:var(--cream)}
.dark h1,.dark h2,.dark h3,.contact h2{color:#fff}
.dark .lead,.dark .micro,.contact .micro{color:var(--pastel)}
.dark a:not(.btn),.contact a:not(.btn){color:var(--pastel)}
.dark .btn,.contact .btn{background:var(--cream);color:var(--petrol)}
.dark .btn:hover,.contact .btn:hover{background:var(--pastel)}
.dark .btn.o,.contact .btn.o{background:transparent;color:var(--cream);border-color:var(--cream)}
.dark .btn.o:hover,.contact .btn.o:hover{background:var(--cream);color:var(--petrol)}
.dark .three>div{border-top-color:var(--accent)}
.dark .ph,.contact .ph{color:var(--ink)}
.card,.steps li{background:var(--paper)}
.recog li{border-left-color:var(--petrol)}
.compass circle:nth-child(2){fill:var(--pastel)}

h1,h2,h3{font-weight:500;letter-spacing:-.015em}
.logo{font:500 1.35rem "Segoe UI",Helvetica,Arial,sans-serif;line-height:1.2}
.logo small{display:block;font-size:.72rem;font-weight:400;color:var(--muted);letter-spacing:0}
.links{display:flex;gap:1.75rem}.links a{color:var(--ink);text-decoration:none;font-size:.95rem}.links a:hover{text-decoration:underline}
.dark .btn,.contact .btn{background:var(--pastel);color:var(--petrol)}
.dark .btn:hover,.contact .btn:hover{background:var(--cream)}
.hero2{padding:0;display:grid;grid-template-columns:1fr 1fr;min-height:520px}
.h2l{padding:1.75rem 3rem 1.75rem max(1.25rem,calc((100vw - 1100px)/2 + 1.25rem));display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.h2l h1{font-size:clamp(2.4rem,5vw,4rem);font-weight:300;margin-bottom:.5em;color:#fff}
.eyebrow{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;font-weight:600;color:var(--pastel);margin:0 0 1.25rem}
.h2l .lead{margin-bottom:1.25rem}
.h2r img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 25%}
.strip{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.strip h3{margin-bottom:.4em}.strip p{margin:0;color:var(--muted);font-size:.98rem}
.chk{color:var(--petrol);margin-right:.6rem}
.photo img{display:block}
@media(max-width:820px){
 header .wrap{flex-wrap:wrap;padding-top:.6rem;padding-bottom:.4rem}
 .links{order:3;width:100%;overflow-x:auto;white-space:nowrap;gap:1.25rem;padding-bottom:.4rem}
 .hero2{grid-template-columns:1fr;min-height:0}
 .h2l{padding:3rem 1.25rem}.h2r img{height:380px}
 .strip{grid-template-columns:1fr}
}

.recog li{padding:1.1rem 0 1.1rem 1.5rem}.recog li strong{display:block;font-weight:700;font-size:1.12rem;line-height:1.3;margin-bottom:.45rem}

.quote{margin:2.5rem 0;padding:1.25rem 0 1.25rem 1.75rem;border-left:4px solid var(--petrol);font:300 clamp(1.5rem,3vw,2.1rem)/1.3 "Segoe UI",Helvetica,Arial,sans-serif;max-width:26em;color:var(--petrol)}

.phases{list-style:none;padding:0;margin:2.5rem 0 0}
.phases li{display:grid;grid-template-columns:4.5rem 1fr;gap:1.5rem;padding:1.5rem 0;border-top:1px solid #9FBFB8}
.phases .n{font:300 2.4rem/1 "Segoe UI",Helvetica,Arial,sans-serif;color:var(--petrol)}
.phases h3{margin:0 0 .2rem}.phases .sub{display:block;font-size:1rem;font-weight:600;color:var(--petrol);margin-top:.2rem}
.phases p{margin:.5rem 0 0}
@media(max-width:820px){.phases li{grid-template-columns:3rem 1fr;gap:1rem}.phases .n{font-size:1.8rem}}

.split{display:grid;grid-template-columns:1.1fr .9fr;gap:3rem;align-items:center}
.split img{display:block;width:100%;height:auto;border-radius:2px}
@media(max-width:820px){.split{grid-template-columns:1fr;gap:2rem}}

.kform{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}
.kform form label{display:block;font-size:.92rem;margin:1rem 0 .3rem;color:var(--pastel)}
.kform input[type=text],.kform textarea{width:100%;font:inherit;padding:.75rem .9rem;border:2px solid transparent;border-radius:4px;background:var(--cream);color:var(--ink)}
.kform input:focus,.kform textarea:focus{border-color:var(--accent);outline:0}
.kform textarea{resize:vertical;min-height:7rem}
.kform form .check{display:flex;gap:.75rem;align-items:flex-start;margin:1.25rem 0;font-size:.92rem;line-height:1.5;color:var(--cream)}
.check input{margin-top:.25rem;width:1.15rem;height:1.15rem;flex:none;accent-color:var(--pastel)}
.kform button.btn{border:0;cursor:pointer;font:inherit;font-weight:600}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.legal{max-width:760px}.legal h2{font-size:1.4rem;margin:2.5rem 0 .6rem}.legal p,.legal li{max-width:none}.legal ul{padding-left:1.2rem}
@media(max-width:820px){.kform{grid-template-columns:1fr;gap:2rem}}

@media(max-width:820px){html{scroll-padding-top:8rem}}

.kasten{display:inline-block;border:1px solid rgba(255,255,255,.55);background:rgba(255,255,255,.07);padding:.7rem 1.25rem;border-radius:4px;color:var(--cream);line-height:1.35}
.kasten small{display:block;font-size:.74rem;letter-spacing:.07em;text-transform:uppercase;color:var(--pastel)}
.kasten a,.contact .kasten a{color:#fff;font-weight:600;font-size:1.05rem;text-decoration:none}
.kasten a:hover{text-decoration:underline}
.kasten-row{display:flex;flex-wrap:wrap;gap:.75rem}

/* Kompakter Titelbereich auf grossen Bildschirmen; Mobilansicht unveraendert */
@media(min-width:821px){.hero2{min-height:520px}.h2r{min-height:0}.h2r img{height:100%;max-height:600px}}
