*{margin:0;padding:0;box-sizing:border-box}
:root{--bg:#0f1512;--bg2:#17201b;--ink:#eef3ee;--mut:#98a79c;--line:rgba(255,255,255,.10);--ac:#3fae76;--ac2:#71cf9a;--paper:#e9f0ea;--eout:cubic-bezier(.23,1,.32,1)}
svg{display:block}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font:400 17px/1.7 "Helvetica Neue",Arial,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}
.disp{font-family:"Helvetica Neue",Arial,sans-serif;font-weight:800;letter-spacing:-.03em}
a{color:inherit;text-decoration:none} img{display:block;max-width:100%}
.wrap{max-width:1240px;margin:0 auto;padding:0 32px}
.ey{font-size:.74rem;letter-spacing:.3em;text-transform:uppercase;color:var(--ac);font-weight:700}
header{position:fixed;inset:0 0 auto 0;z-index:60;transition:.4s}
header.solid{background:#0f1512e6;backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:84px}
.brand{font-family:"Helvetica Neue",Arial,sans-serif;font-weight:900;font-size:1.5rem}
.brand b{color:var(--ac)}
.nav nav{display:flex;gap:30px;font-size:.85rem;letter-spacing:.06em;text-transform:uppercase}
.nav nav a{color:var(--mut);transition:.2s}.nav nav a:hover,.nav nav a.on{color:var(--ink)}
.callbtn{border:1.5px solid var(--ac);color:var(--ac);padding:11px 22px;border-radius:99px;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;font-weight:600;transition:.25s}
.callbtn:hover{background:var(--ac);color:#fff}
@media(max-width:900px){.nav nav{display:none}}
.hero{position:relative;height:100vh;min-height:640px;display:flex;align-items:flex-end;overflow:hidden}
.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.05);animation:kb 18s ease-out forwards}
@keyframes kb{to{transform:scale(1)}}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.5) 0%,rgba(0,0,0,.12) 42%,#0f1512f2 100%)}
.hero .wrap{position:relative;z-index:2;padding-bottom:9vh;color:#fff}
.hero h1{font-size:clamp(2.8rem,7vw,6rem);line-height:1.02;max-width:16ch;color:#fff}
.hero h1 em{font-style:normal;color:var(--ac2)}
.hero p{margin-top:24px;max-width:46ch;color:#e9e7e0;font-size:1.15rem}
.meta{display:flex;gap:38px;margin-top:38px;flex-wrap:wrap}
.meta span{display:block;font-family:"Helvetica Neue",Arial,sans-serif;font-weight:800;font-size:2rem;color:var(--ac2)}
.meta small{color:#d7d5cc;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase}
section{padding:118px 0}
.intro{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:end}
.intro h2{font-size:clamp(2rem,4vw,3.1rem);line-height:1.12}
.intro h2 em{font-style:normal;color:var(--ac)}
.intro p{color:var(--mut);margin-bottom:18px}
.rule{height:1px;background:var(--line)}
@media(max-width:860px){.intro{grid-template-columns:1fr;gap:30px}}
.row{display:grid;grid-template-columns:1fr 1fr;align-items:stretch}
.row .ph{position:relative;min-height:520px;overflow:hidden}
.row .ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.3,1)}
.row:hover .ph img{transform:scale(1.06)}
.row .tx{background:var(--bg2);display:flex;flex-direction:column;justify-content:center;padding:70px}
.row.rev .ph{order:2}.row.rev .tx{order:1}
.row .num{font-family:"Helvetica Neue",Arial,sans-serif;font-size:1.05rem;color:var(--ac);letter-spacing:.2em}
.row .tx h3{font-family:"Helvetica Neue",Arial,sans-serif;font-weight:800;font-size:2.1rem;margin:14px 0 16px;line-height:1.15}
.row .tx p{color:var(--mut)}
.row .tx ul{list-style:none;margin-top:22px;display:flex;flex-direction:column;gap:12px}
.row .tx li{display:flex;align-items:center;gap:12px;color:var(--ink);opacity:.9;font-size:.98rem}
.lic{width:19px;height:19px;flex-shrink:0;color:var(--ac)}
@media(max-width:860px){.row{grid-template-columns:1fr}.row .ph{min-height:300px}.row.rev .ph,.row.rev .tx{order:0}.row .tx{padding:44px 32px}}
.galhead{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:42px;gap:20px;flex-wrap:wrap}
.galhead h2{font-family:"Helvetica Neue",Arial,sans-serif;font-weight:800;font-size:clamp(1.9rem,3.5vw,2.7rem)}
.gal{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:220px;gap:14px}
.gal a{position:relative;overflow:hidden;border-radius:14px}
.gal a img{width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.2,.7,.3,1),filter .5s;filter:grayscale(.15)}
.gal a:hover img{transform:scale(1.08);filter:none}
.gal .big{grid-column:span 2;grid-row:span 2}.gal .tall{grid-row:span 2}
@media(max-width:860px){.gal{grid-template-columns:repeat(2,1fr);grid-auto-rows:150px}.gal .big{grid-column:span 2}}
.quote{background:var(--paper);color:#0f1512}
.quote .wrap{display:grid;grid-template-columns:.9fr 1.4fr;gap:56px;align-items:center}
.quote .ph{height:460px;overflow:hidden;border-radius:16px}
.quote .ph img{width:100%;height:100%;object-fit:cover}
.quote blockquote{font-family:"Helvetica Neue",Arial,sans-serif;font-size:clamp(1.5rem,2.8vw,2.3rem);line-height:1.32;font-style:normal}
.quote cite{display:block;margin-top:24px;font-style:normal;font-size:.9rem;letter-spacing:.05em;opacity:.7}
.stars{color:var(--ac);letter-spacing:3px;font-size:1.1rem}
@media(max-width:860px){.quote .wrap{grid-template-columns:1fr}.quote .ph{height:260px}}
.band{position:relative;text-align:center;overflow:hidden}
.band>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.26}
.band::after{content:"";position:absolute;inset:0;background:#0f1512cc}
.band .wrap{position:relative;z-index:2}
.band h2{font-family:"Helvetica Neue",Arial,sans-serif;font-weight:800;font-size:clamp(2.2rem,5vw,4rem);line-height:1.08}
.band h2 em{font-style:normal;color:var(--ac2)}
.band p{color:var(--mut);margin:20px auto 36px;max-width:44ch}
.bigcall{display:inline-flex;align-items:center;gap:14px;background:var(--ac);color:#fff;font-family:"Helvetica Neue",Arial,sans-serif;font-weight:800;font-size:1.4rem;padding:19px 42px;border-radius:99px;transition:.25s}
.bigcall:hover{background:var(--ac2);transform:translateY(-3px)}
.phero{position:relative;height:52vh;min-height:360px;display:flex;align-items:flex-end;overflow:hidden}
.phero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.phero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.4),#0f1512e6)}
.phero .wrap{position:relative;z-index:2;padding-bottom:50px;color:#fff}
.phero h1{font-family:"Helvetica Neue",Arial,sans-serif;font-weight:800;font-size:clamp(2.4rem,5vw,4rem);color:#fff}
.crumb{color:#d7d5cc;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;margin-bottom:16px}
.svc{border-top:1px solid var(--line);padding:44px 0;display:grid;grid-template-columns:78px 1fr 1fr;gap:38px;align-items:start;transition:background .25s var(--eout)}
.svc:hover{background:var(--bg2)}
.svc .sic{width:54px;height:54px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:#3fae7622;color:var(--ac)}
.svc .sic .ic{width:26px;height:26px}
.ic{width:22px;height:22px}
.svc h3{font-family:"Helvetica Neue",Arial,sans-serif;font-weight:800;font-size:1.7rem;margin-bottom:12px}
.svc p{color:var(--mut);font-size:1rem}
.svc .ph{height:190px;overflow:hidden;border-radius:14px}
.svc .ph img{width:100%;height:100%;object-fit:cover}
@media(max-width:860px){.svc{grid-template-columns:1fr;gap:16px;padding:32px 0}}
.ct{display:grid;grid-template-columns:1fr 1fr;gap:64px}
.ct .info h3{font-family:"Helvetica Neue",Arial,sans-serif;font-weight:800;font-size:1.4rem;margin:24px 0 6px}
.ct .info p{color:var(--mut)}.ct .info a{color:var(--ac2)}
.field{margin-bottom:18px}
.field label{display:block;font-size:.76rem;letter-spacing:.09em;text-transform:uppercase;color:var(--mut);margin-bottom:8px}
.field input,.field textarea{width:100%;background:var(--bg2);border:1px solid var(--line);color:var(--ink);padding:14px 16px;border-radius:12px;font:inherit}
.field input:focus,.field textarea:focus{outline:0;border-color:var(--ac)}
.submit{background:var(--ac);color:#fff;border:0;padding:16px 34px;font:700 .95rem/1 inherit;letter-spacing:.06em;text-transform:uppercase;border-radius:99px;cursor:pointer;transition:.25s}
.submit:hover{background:var(--ac2)}
@media(max-width:860px){.ct{grid-template-columns:1fr;gap:38px}}
.legal{max-width:820px;padding:150px 0 100px}
.legal h1{font-family:"Helvetica Neue",Arial,sans-serif;font-weight:800;font-size:2.5rem;margin-bottom:26px}
.legal h2{font-family:"Helvetica Neue",Arial,sans-serif;font-weight:800;font-size:1.35rem;margin:30px 0 8px;color:var(--ac2)}
.legal p{color:var(--mut);margin-bottom:12px}
footer{border-top:1px solid var(--line);padding:66px 0 38px}
.foot{display:grid;grid-template-columns:2fr 1fr 1fr;gap:38px}
.foot .brand{margin-bottom:14px;display:inline-block}
.foot p{color:var(--mut);font-size:.92rem}
.foot h4{font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mut);margin-bottom:14px}
.foot ul{list-style:none;display:flex;flex-direction:column;gap:9px}
.foot ul a{color:var(--ink);opacity:.82;font-size:.94rem}.foot ul a:hover{color:var(--ac2);opacity:1}
.sub{border-top:1px solid var(--line);margin-top:46px;padding-top:24px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;color:var(--mut);font-size:.82rem}
.sub a{color:var(--mut)}.sub a:hover{color:var(--ac2)}
@media(max-width:860px){.foot{grid-template-columns:1fr 1fr}}
/* emil-Standards: starke ease-out-Kurve, GPU-Props (transform/opacity), Stagger, Press-Feedback */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s var(--eout),transform .7s var(--eout)}
.reveal.in{opacity:1;transform:none}
.callbtn,.bigcall,.submit{transition:transform .16s var(--eout),background .25s var(--eout),color .25s var(--eout),box-shadow .25s var(--eout)}
.callbtn:active,.bigcall:active,.submit:active{transform:scale(.97)}
.foot ul li{display:flex;align-items:center}
.fic{width:15px;height:15px;flex-shrink:0;color:var(--ac);opacity:.85;margin-right:9px}
@media (hover:hover) and (pointer:fine){
 .callbtn:hover,.bigcall:hover{transform:translateY(-2px)}
}
/* full-width Feature-Band (bricht das Zickzack) */
.featwide{position:relative;overflow:hidden;padding:130px 0;color:#fff}
.featwide>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.featwide::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0f1512f2 0%,#0f1512cc 45%,#0f151244 100%)}
.featwide .wrap{position:relative;z-index:2;max-width:640px}
.featwide h3{font-family:"Helvetica Neue",Arial,sans-serif;font-weight:800;font-size:clamp(1.9rem,3.6vw,2.9rem);color:#fff;line-height:1.12}
.featwide p{margin-top:16px;color:#e9e7e0;font-size:1.08rem}
.fchips{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.fchips span{border:1px solid rgba(255,255,255,.28);border-radius:99px;padding:9px 18px;font-size:.9rem;color:#fff}
@media(max-width:860px){.featwide{padding:80px 0}}
@media (prefers-reduced-motion: reduce){
 *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
 .reveal{opacity:1!important;transform:none!important}
 .hero>img{transform:none!important}
}
