:root{--black:#080808;--bronze:#c99a5b;--bronze2:#e0b678;--white:#f4f4f4;--muted:#b0b4b9;--line:rgba(210,170,110,.28);--hh:78px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:var(--hh)}
body{margin:0;background:var(--black);color:var(--white);font-family:Arial,Helvetica,sans-serif;min-height:100vh;display:flex;flex-direction:column;overflow-x:hidden;padding-top:var(--hh)}
body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-2;background:radial-gradient(circle at 50% 12%,rgba(201,154,91,.11),transparent 36%),linear-gradient(180deg,#080808,#101112 52%,#080808)}
main{flex:1}
a{color:var(--bronze2)}
:focus-visible{outline:2px solid var(--bronze2);outline-offset:3px}
.skip{position:absolute;left:-999px;top:8px;background:var(--bronze);color:#0b0b0b;padding:10px 16px;z-index:300;font-weight:700}.skip:focus{left:8px}

/* Header */
.site-header{position:fixed;top:0;left:0;right:0;height:var(--hh);background:rgba(7,7,7,.86);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid rgba(201,154,91,.18);z-index:200;display:flex;align-items:center;justify-content:space-between;padding:0 5vw}
.site-brand img{width:122px;height:auto;display:block}
.site-nav{display:flex;align-items:center;gap:30px;font-size:12px;letter-spacing:2px;text-transform:uppercase}
.site-nav a{color:#ddd;text-decoration:none;padding:6px 0;border-bottom:1px solid transparent;transition:color .25s,border-color .25s}
.site-nav a:hover,.site-nav a[aria-current="page"]{color:var(--bronze2);border-bottom-color:var(--bronze2)}

/* Footer */
.footer{width:100%;max-width:1200px;margin:55px auto 0;padding:18px 28px;border-top:1px solid rgba(201,154,91,.16);display:flex;align-items:center;justify-content:space-between;gap:24px;color:#8a8a8a;font-size:11px;letter-spacing:1.8px;text-transform:uppercase}
.footer-copy{white-space:nowrap}
.footer-nav{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.footer-nav a{color:#8a8a8a;text-decoration:none;transition:color .25s}.footer-nav a:hover{color:var(--bronze2)}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:14px 22px;background:var(--bronze);color:#0b0b0b;text-decoration:none;border:0;font:inherit;font-weight:800;letter-spacing:1px;text-transform:uppercase;font-size:12px;cursor:pointer;transition:background .25s,transform .25s}
.btn:hover{background:var(--bronze2);transform:translateX(3px)}
.btn.ghost{background:transparent;color:#ddd;border:1px solid rgba(224,182,120,.35)}.btn.ghost:hover{background:var(--bronze2);color:#0b0b0b}

/* Hero (Startseite) */
.hero{min-height:calc(100vh - var(--hh));position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}
.hero-bg{position:absolute;inset:0;overflow:hidden}
.hero-slide{position:absolute;inset:-3%;opacity:0;transition:opacity 1.2s ease,transform 7s ease;transform:scale(1.04)}
.hero-slide.active{opacity:1;transform:scale(1.10)}
.hero-slide:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.84),rgba(0,0,0,.48) 45%,rgba(0,0,0,.78)),linear-gradient(180deg,rgba(0,0,0,.25),rgba(0,0,0,.86))}
.visual{position:absolute;inset:0;background-position:center;background-size:cover;filter:saturate(.72)}
.v-fitness{background-image:url('hero-fitness.webp');filter:saturate(.72) contrast(1.05)}.v-nutri{background-image:url('hero-nutri.webp')}.v-body{background-image:url('hero-body.webp')}
.hero-content{position:relative;z-index:2;width:min(1120px,90vw);padding:60px 0 90px;display:grid;grid-template-columns:1.15fr .85fr;gap:60px;align-items:center}
.eyebrow{font-size:12px;letter-spacing:5px;color:var(--bronze2);text-transform:uppercase;margin-bottom:22px}
.hero h1{font-size:clamp(44px,7vw,92px);line-height:.95;margin:0 0 28px;font-weight:800;letter-spacing:-3px}.hero h1 span{display:block;color:var(--bronze2)}
.hero-copy{max-width:660px;font-size:18px;line-height:1.75;color:#ddd}.hero-copy strong{color:#fff}
.hero-panel{justify-self:end;width:min(390px,100%);padding:30px;background:rgba(8,8,8,.58);border:1px solid var(--line);box-shadow:0 24px 80px rgba(0,0,0,.42);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.hero-panel .mini{font-size:11px;letter-spacing:3px;color:#aaa;text-transform:uppercase}.hero-panel h2{font-size:32px;margin:12px 0 8px}.hero-panel p{color:#c4c4c4;line-height:1.6;margin:0;min-height:3.2em}.hero-panel .bar{height:2px;background:var(--bronze);width:70px;margin:22px 0}
.dots{position:absolute;left:5vw;bottom:36px;z-index:4;display:flex;gap:9px}
.dot{width:34px;height:14px;padding:0;border:0;background:none;cursor:pointer;position:relative}.dot:before{content:"";position:absolute;left:0;right:0;top:5px;height:3px;background:rgba(255,255,255,.3);transition:.35s}.dot.active{width:58px}.dot.active:before{background:var(--bronze2)}
.scroll{position:absolute;right:5vw;bottom:32px;z-index:4;color:#aaa;font-size:10px;letter-spacing:3px;text-transform:uppercase;writing-mode:vertical-rl}
.swap{transition:opacity .35s ease}.swap.out{opacity:0}

/* App-Karten */
.apps{padding:110px 5vw 120px;background:linear-gradient(180deg,#090a0a,#111214 50%,#090a0a)}
.section-head{max-width:820px;margin:0 auto 60px;text-align:center}.section-head .eyebrow{margin-bottom:14px}.section-head h2{font-size:clamp(34px,5vw,62px);margin:0 0 18px}.section-head p{color:#aaa;line-height:1.7;font-size:17px}
.cards{width:min(1220px,100%);margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.card{background:linear-gradient(160deg,#171819,#0e0f10);border:1px solid var(--line);overflow:hidden;min-height:540px;display:flex;flex-direction:column;transition:transform .35s,border-color .35s,box-shadow .35s}
.card:hover{transform:translateY(-7px);border-color:rgba(224,182,120,.7);box-shadow:0 25px 70px rgba(0,0,0,.38)}
.card-icon{height:275px;overflow:hidden;position:relative;background:#080808}.card-icon img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s}.card:hover .card-icon img{transform:scale(1.045)}.card-icon:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(8,8,8,.92))}
.card-body{padding:28px 28px 30px;display:flex;flex-direction:column;flex:1}
.card-logo{height:72px;width:100%;object-fit:contain;object-position:left center;margin-bottom:18px}
.card p{color:#aaa;line-height:1.65;margin:0 0 26px}.card .btn{margin-top:auto}

/* Unterseiten allgemein */
.page{width:min(1280px,94vw);margin:0 auto}
.page-head{padding:70px 30px 55px;text-align:center}
.header-logo{width:min(360px,72vw);height:auto;max-height:105px;object-fit:contain;margin:0 auto 26px;display:block}
.kicker{color:var(--bronze2);font-size:12px;letter-spacing:6px;text-transform:uppercase;margin-bottom:16px;text-align:center}
.page-head h1{font-size:clamp(40px,6vw,78px);line-height:.98;margin:0 0 18px;letter-spacing:-2px}
.lead{max-width:760px;margin:0 auto;color:var(--muted);font-size:clamp(17px,2vw,22px);line-height:1.5}
.pills{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:30px}
.pill{border:1px solid var(--line);background:#101214;border-radius:999px;padding:11px 18px;color:#d9dde0;font-size:13px;letter-spacing:1.2px;text-transform:uppercase}
.gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:38px 34px;padding:10px 0 70px}
.feature{background:linear-gradient(145deg,#151719,#0e1011);border:1px solid rgba(255,255,255,.10);border-radius:30px;padding:30px 24px 34px;box-shadow:0 18px 55px rgba(0,0,0,.34)}
.feature-copy{min-height:120px;padding:0 6px 16px}.feature-number{color:var(--bronze2);font-size:11px;letter-spacing:4px;text-transform:uppercase;margin-bottom:10px}.feature h2{margin:0 0 9px;font-size:28px}.feature p{margin:0;color:var(--muted);line-height:1.5;font-size:16px}
.phone-wrap{display:flex;justify-content:center;padding:10px 0 4px}
.phone{position:relative;width:min(330px,78vw);aspect-ratio:1054/2048;padding:7px;border-radius:43px;background:linear-gradient(145deg,#6c6f72 0%,#202224 12%,#0d0e10 48%,#55585b 92%,#17191a 100%);box-shadow:0 28px 55px rgba(0,0,0,.58),inset 1px 1px 0 rgba(255,255,255,.30),inset -2px -2px 0 rgba(0,0,0,.65)}
.phone:after{content:"";position:absolute;right:-4px;top:150px;width:4px;height:80px;border-radius:0 4px 4px 0;background:#45484a;box-shadow:0 94px 0 #45484a}
.screen{width:100%;height:100%;display:block;object-fit:cover;object-position:top center;border-radius:37px;background:#090a0b}
.caption{margin-top:20px;text-align:center}.caption strong{font-size:18px}.caption span{display:block;color:#8b9097;font-size:12px;margin-top:5px;letter-spacing:1.4px;text-transform:uppercase}
.cta{margin:10px auto 40px;width:min(980px,100%);padding:45px 30px;text-align:center;border:1px solid var(--line);border-radius:28px;background:linear-gradient(120deg,#141618,#1c1a16)}
.cta h2{margin:0 0 12px;font-size:clamp(28px,4vw,46px)}.cta p{margin:0 auto 24px;color:var(--muted);max-width:650px;font-size:18px;line-height:1.5}
.cta .actions{display:flex;justify-content:center;gap:14px;flex-wrap:wrap}
.soon{display:inline-block;margin-top:26px;padding:8px 16px;border:1px solid var(--line);color:var(--bronze2);font-size:12px;letter-spacing:3px;text-transform:uppercase}

/* Textseiten (Impressum, Datenschutz, Kontakt) */
.card-page{width:min(980px,calc(100% - 36px));margin:40px auto 0;padding:58px 42px 46px;background:linear-gradient(160deg,#171819,#0e0f10);border:1px solid var(--line);box-shadow:0 25px 70px rgba(0,0,0,.38)}
.card-page .logo{width:210px;max-width:70%;height:auto;display:block;margin:0 auto 24px}
.title{text-align:center;font-size:clamp(34px,6vw,64px);margin:0 0 30px;font-weight:800;letter-spacing:-2px;overflow-wrap:anywhere}
.content{max-width:760px;margin:0 auto 36px;color:#cfcfcf;line-height:1.75;font-size:15px}
.content h2{color:var(--bronze2);font-size:15px;letter-spacing:2px;text-transform:uppercase;margin:34px 0 10px}.content p{margin:0 0 14px}
.content mark{background:rgba(201,154,91,.22);color:#fff;padding:0 4px}
.back-row{text-align:center}
.intro{text-align:center;max-width:700px;margin:0 auto 36px;color:#bbb;line-height:1.7;font-size:16px}
.form{max-width:760px;margin:0 auto}.row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{margin-bottom:18px}
.field label{display:block;color:#ddd;font-size:12px;letter-spacing:1px;text-transform:uppercase;margin-bottom:8px}
.field input,.field select,.field textarea{width:100%;padding:14px 15px;background:#0b0c0d;border:1px solid rgba(224,182,120,.22);color:#fff;font:inherit;border-radius:0}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--bronze);box-shadow:0 0 0 2px rgba(201,154,91,.25)}
.field textarea{min-height:180px;resize:vertical}.required{color:var(--bronze2)}
.consent{display:flex;gap:10px;align-items:flex-start;color:#aaa;font-size:13px;line-height:1.5;margin:6px 0 22px}.consent input{margin-top:3px;accent-color:var(--bronze)}
.actions{display:flex;justify-content:center;gap:14px;flex-wrap:wrap}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.notice{display:none;max-width:760px;margin:0 auto 24px;padding:14px 18px;border:1px solid rgba(224,182,120,.35);background:rgba(201,154,91,.08);color:#e8e8e8;line-height:1.5}.notice.show{display:block}

/* Seitenübergang */
.transition{position:fixed;inset:0;z-index:300;display:flex;align-items:center;justify-content:center;pointer-events:none;visibility:hidden}
.transition:before{content:"";position:absolute;inset:0;background:var(--bronze);clip-path:polygon(0 100%,0 100%,100% 0,100% 0);z-index:-1}
.transition.up:before{background:#5bb1b6}
.transition-inner{text-align:center;opacity:0;transform:translateY(18px);transition:opacity .63s ease .405s,transform .945s ease .405s;padding:0 20px}
.transition-kicker{font-size:11px;letter-spacing:6px;color:#1a130b;text-transform:uppercase;margin-bottom:15px}
.transition-title{font-size:clamp(40px,8vw,100px);font-weight:800;letter-spacing:-2px;margin:0;color:#0b0b0b;overflow-wrap:anywhere}
.transition-sub{font-size:clamp(14px,2.5vw,28px);letter-spacing:5px;color:#21170d;text-transform:uppercase;margin-top:12px}
.transition-line{width:100px;height:2px;background:#0b0b0b;margin:28px auto 0}
.transition.show{visibility:visible}.transition.show:before{animation:sweep 1.395s cubic-bezier(.77,0,.18,1) forwards}.transition.show .transition-inner{opacity:1;transform:none}
@keyframes sweep{0%{clip-path:polygon(0 100%,0 100%,100% 0,100% 0)}100%{clip-path:polygon(0 0,0 100%,100% 100%,100% 0)}}

@media(max-width:900px){.hero-content{grid-template-columns:1fr;gap:25px}.hero-panel{justify-self:start}.cards{grid-template-columns:1fr}.card{min-height:500px}.card-icon{height:300px}.gallery{grid-template-columns:1fr;gap:28px}.feature{padding:26px 18px 28px}.scroll{display:none}}
@media(max-width:760px){:root{--hh:70px}.site-header{padding:0 18px}.site-brand img{width:105px}.site-nav{gap:14px;font-size:10px;letter-spacing:1.2px}.row{grid-template-columns:1fr}.card-page{padding:40px 20px 30px;margin-top:20px}.page-head{padding:44px 12px 40px}}
@media(max-width:600px){.footer{padding:18px 14px;gap:12px;font-size:9px;letter-spacing:1.2px;flex-direction:column;align-items:flex-start}.footer-nav{gap:14px}}
@media(max-width:420px){.site-nav{gap:10px;font-size:9px;letter-spacing:.8px}.site-brand img{width:90px}}
@media(max-width:560px){.hero h1{font-size:46px;letter-spacing:-2px}.hero-copy{font-size:16px}.hero-panel{padding:22px}.apps{padding:80px 22px}.dots{left:22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation-duration:.01ms!important;transition-duration:.01ms!important}.hero-slide,.hero-slide.active{transform:none}}
.header-logo.freisteller{width:auto;height:clamp(190px,28vw,300px);max-width:80vw;max-height:none;margin-bottom:22px}
