/* MACHBAR – gemeinsames Stylesheet (index ist maßgebend) */
:root{
    --ink:#0A0A0B;        /* base background */
    --coal:#0F1012;       /* raised */
    --steel:#15161A;      /* cards */
    --steel-2:#1C1E23;    /* card hover / borders */
    --line:#26282E;       /* hairlines */
    --ash:#8C8E96;        /* muted text */
    --ash-2:#B6B8BE;      /* secondary text */
    --bone:#F4F4F2;       /* near white */
    --gold:#DDB56E;       /* brand accent */
    --gold-deep:#B8914F;  /* depth */
    --gold-soft:rgba(221,181,110,.14);
    --paper:#ECEDE9;      /* heller Block-Hintergrund */
    --paper-ink:#3D3F45;  /* Text auf hellem Grund */
    --maxw:1240px;
    --r:14px;
    --ease:cubic-bezier(.16,.84,.44,1);
  }

  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
  body{
    background:var(--ink);
    color:var(--bone);
    font-family:"Inter",system-ui,-apple-system,sans-serif;
    font-size:17px;line-height:1.6;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  img{display:block;max-width:100%}
  a{color:inherit;text-decoration:none}
  ::selection{background:var(--gold);color:#000}

  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}

  /* ---------- shared type ---------- */
  .display{
    font-family:"Anton",sans-serif;
    font-weight:400;line-height:1.12;
    letter-spacing:.01em;text-transform:uppercase;
  }
  .eyebrow{
    font-size:.74rem;font-weight:700;letter-spacing:.26em;line-height:1.6;
    text-transform:uppercase;color:var(--gold);
    display:inline-flex;align-items:center;gap:.65rem;
  }
  .eyebrow::before{
    content:"";width:26px;height:2px;background:var(--gold);display:inline-block;
  }
  .gold{color:var(--gold)}
  .muted{color:var(--ash)}

  /* ---------- buttons ---------- */
  .btn{
    --bg:var(--gold);--fg:#0A0A0B;
    display:inline-flex;align-items:center;gap:.6rem;
    background:var(--bg);color:var(--fg);
    font-weight:800;font-size:.93rem;letter-spacing:.04em;
    text-transform:uppercase;
    padding:16px 26px;border-radius:8px;border:none;cursor:pointer;
    transition:transform .25s var(--ease),box-shadow .25s var(--ease),background .2s;
    will-change:transform;
  }
  .btn svg{width:16px;height:16px}
  .btn:hover{transform:translateY(-2px);box-shadow:0 12px 30px -10px rgba(221,181,110,.5)}
  .btn:active{transform:translateY(0)}
  .btn.ghost{
    --bg:transparent;--fg:var(--bone);
    border:1px solid var(--line);box-shadow:none;
  }
  .btn.ghost:hover{border-color:var(--gold);color:var(--gold);box-shadow:none;background:var(--gold-soft)}
  .btn.ghost.btn--edge{border-color:var(--gold);color:var(--gold)}
  .btn.ghost.btn--edge:hover{background:var(--gold);color:#0A0A0B}
  .btn:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
  a:focus-visible,button:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:4px}

  /* ---------- nav ---------- */
  header.nav{
    position:fixed;top:0;left:0;right:0;z-index:100;
    transition:background .3s,backdrop-filter .3s,border-color .3s;
    border-bottom:1px solid transparent;
  }
  header.nav.scrolled{
    background:rgba(10,10,11,.82);backdrop-filter:blur(14px) saturate(140%);
    border-bottom:1px solid var(--line);
  }
  .nav-inner{display:flex;align-items:center;justify-content:space-between;height:74px}
  .logo{font-family:"Anton",sans-serif;font-size:1.5rem;letter-spacing:.04em;color:var(--bone);text-transform:uppercase;display:inline-flex;align-items:center}
  .logo img{height:40px;width:auto;display:block;filter:brightness(0) invert(1)}
  .logo b{color:var(--gold);font-weight:400}
  .nav-links{display:flex;align-items:center;gap:34px}
  .nav-links a{font-size:.84rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--bone);transition:color .2s;position:relative}
  .nav-links a:hover{color:var(--bone)}
  .nav-links a::after{content:"";position:absolute;left:0;bottom:-6px;height:2px;width:0;background:var(--gold);transition:width .25s var(--ease)}
  .nav-links a:hover::after{width:100%}
  .nav-cta{display:flex;align-items:center;gap:14px}
  .nav-cta .btn{padding:11px 18px;font-size:.8rem}
  .burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:8px}
  .burger span{width:26px;height:2px;background:var(--bone);transition:.3s}
  .burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .burger.open span:nth-child(2){opacity:0}
  .burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

  .mobile-menu{
    position:fixed;inset:74px 0 auto 0;z-index:99;
    background:var(--coal);border-bottom:1px solid var(--line);
    transform:translateY(-120%);transition:transform .4s var(--ease);
    padding:18px 24px 30px;
  }
  .mobile-menu.open{transform:translateY(0)}
  .mobile-menu a{display:block;padding:15px 0;font-size:1.05rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;border-bottom:1px solid var(--line);color:var(--bone)}
  .mobile-menu a:last-of-type{border:none}
  .mobile-menu .btn{width:100%;justify-content:center;margin-top:18px}

  /* ---------- hero ---------- */
  .hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden}
  .hero-bg{position:absolute;inset:0;z-index:0}
  .hero-bg img{width:100%;height:100%;object-fit:cover;filter:contrast(1.08) brightness(.62) saturate(.92)}
  .hero-bg::after{
    content:"";position:absolute;inset:0;
    background:
      linear-gradient(180deg,rgba(10,10,11,.55) 0%,rgba(10,10,11,.2) 30%,rgba(10,10,11,.78) 78%,var(--ink) 100%),
      radial-gradient(110% 80% at 12% 90%,rgba(10,10,11,.85),transparent 60%);
  }
  .hero-inner{position:relative;z-index:2;width:100%;padding-bottom:24px}
  .hero h1{font-size:clamp(3.6rem,12.5vw,9.5rem);margin:18px 0 0;line-height:1.0}
  .hero h1 span{display:block}
  .hero-sub{max-width:560px;margin:26px 0 30px;font-size:1.12rem;color:var(--ash-2)}
  .hero-cta{display:flex;flex-wrap:wrap;gap:14px}
  .hero-eyebrow{font-size:.78rem}

  /* marquee */
  .marquee{
    position:relative;z-index:2;border-top:1px solid var(--line);border-bottom:1px solid var(--line);
    background:rgba(10,10,11,.6);backdrop-filter:blur(4px);
    overflow:hidden;white-space:nowrap;padding:15px 0;
  }
  .marquee-track{display:inline-flex;gap:0;will-change:transform;animation:scroll 32s linear infinite}
  .marquee:hover .marquee-track{animation-play-state:paused}
  .marquee-track span{font-family:"Anton",sans-serif;font-size:1.15rem;letter-spacing:.06em;text-transform:uppercase;padding:0 28px;color:var(--ash-2)}
  .marquee-track span b{color:var(--gold);font-weight:400}
  @keyframes scroll{to{transform:translateX(-50%)}}

  /* ---------- stats ---------- */
  .stats{border-bottom:1px solid var(--line);background:var(--coal)}
  .stats-grid{display:grid;grid-template-columns:repeat(4,1fr)}
  .stat{padding:42px 26px;border-right:1px solid var(--line);position:relative}
  .stat:last-child{border-right:none}
  .stat .num{font-family:"Anton",sans-serif;font-size:clamp(2.6rem,5vw,3.7rem);line-height:1;color:var(--gold)}
  .stat .num small{font-size:.5em;color:var(--bone)}
  .stat .lbl{margin-top:10px;font-size:.78rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ash)}

  /* ---------- section frame ---------- */
  section{padding:clamp(70px,9vw,128px) 0}
  .sec-head{max-width:760px;margin-bottom:54px}
  .sec-head h2{font-size:clamp(2.4rem,6vw,4.6rem);margin:18px 0 0;line-height:1.14}
  .sec-head p{margin-top:22px;font-size:1.1rem;color:var(--ash-2);max-width:620px}

  /* intro split */
  .split{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center}
  .split-media{position:relative;border-radius:var(--r);overflow:hidden;aspect-ratio:4/5}
  .split-media img{width:100%;height:100%;object-fit:cover;filter:contrast(1.06) brightness(.86) saturate(.9);transition:transform .8s var(--ease)}
  .split-media:hover img{transform:scale(1.05)}
  .split-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(10,10,11,.55))}
  .corner{position:absolute;width:34px;height:34px;border:2px solid var(--gold);z-index:2}
  .corner.tl{top:18px;left:18px;border-right:none;border-bottom:none}
  .corner.br{bottom:18px;right:18px;border-left:none;border-top:none}
  .split-body h2{font-size:clamp(2.2rem,4.6vw,3.6rem);margin:18px 0 24px}
  .split-body p{color:var(--ash-2);margin-bottom:18px}
  .split-body .claim{font-family:"Anton",sans-serif;font-size:1.5rem;text-transform:uppercase;color:var(--bone);margin:28px 0;line-height:1.1}

  /* intro „Dein System" — heller Block (nur diese Section) */
  #training{background:var(--paper)}
  #training .split-media{aspect-ratio:6/5}
  #training .split-body .eyebrow{color:var(--gold-deep)}
  #training .split-body .eyebrow::before{background:var(--gold-deep)}
  #training .split-body h2{color:var(--ink)}
  #training .split-body p{color:var(--paper-ink)}
  #training .split-body .claim{color:var(--ink)}
  #training .split-body .claim .gold{color:var(--gold-deep)}
  #training .split-body .btn.ghost{--fg:var(--ink);border-color:rgba(10,10,11,.18)}
  #training .split-body .btn.ghost:hover{border-color:var(--gold-deep);color:var(--gold-deep);background:rgba(184,145,79,.1)}

  /* pillars */
  .pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;margin-top:46px}
  .pillar{background:var(--steel);padding:38px 32px;transition:background .3s}
  .pillar:hover{background:var(--steel-2)}
  .pillar .pn{font-family:"Anton",sans-serif;color:var(--gold);font-size:1.1rem;letter-spacing:.1em}
  .pillar h3{font-family:"Anton",sans-serif;text-transform:uppercase;font-size:1.5rem;margin:14px 0 12px;letter-spacing:.02em}
  .pillar p{color:var(--ash);font-size:.98rem}

  /* ---------- auswahl: gym / physio ---------- */
  .choose-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
  .choose-card{position:relative;border-radius:var(--r);overflow:hidden;min-height:430px;display:flex;align-items:flex-end;border:1px solid var(--line);transition:border-color .35s,transform .35s var(--ease)}
  .choose-card:hover{border-color:var(--gold);transform:translateY(-4px)}
  .cc-bg{position:absolute;inset:0}
  .cc-bg img{width:100%;height:100%;object-fit:cover;filter:contrast(1.06) brightness(.5) saturate(.85);transition:transform .8s var(--ease)}
  .choose-card:hover .cc-bg img{transform:scale(1.06)}
  .cc-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,10,11,.15),rgba(10,10,11,.92))}
  .cc-body{position:relative;z-index:2;padding:36px 34px;width:100%}
  .cc-body .tag{font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}
  .cc-body h3{font-family:"Anton",sans-serif;text-transform:uppercase;font-size:2.6rem;margin:8px 0 12px;letter-spacing:.02em}
  .cc-body p{color:var(--ash-2);font-size:.98rem;margin-bottom:22px;max-width:40ch}
  .cc-arrow{display:inline-flex;align-items:center;gap:.6rem;font-weight:800;font-size:.86rem;letter-spacing:.06em;text-transform:uppercase;color:var(--gold)}
  .cc-arrow svg{width:16px;height:16px;transition:transform .25s var(--ease)}
  .choose-card:hover .cc-arrow svg{transform:translateX(5px)}

  /* leistungen cards */
  .cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
  .card{
    position:relative;background:var(--steel);border:1px solid var(--line);
    border-radius:var(--r);padding:34px 30px 32px;overflow:hidden;
    transition:transform .35s var(--ease),border-color .35s,background .35s;
  }
  .card::before{
    content:"";position:absolute;left:0;top:0;height:3px;width:0;background:var(--gold);transition:width .4s var(--ease);
  }
  .card:hover{transform:translateY(-6px);border-color:var(--steel-2);background:var(--steel-2)}
  .card:hover::before{width:100%}
  .card .ic{width:46px;height:46px;border-radius:10px;background:var(--gold-soft);display:grid;place-items:center;margin-bottom:22px}
  .card .ic svg{width:24px;height:24px;stroke:var(--gold)}
  .card h3{font-family:"Anton",sans-serif;text-transform:uppercase;font-size:1.4rem;letter-spacing:.02em;margin-bottom:12px}
  .card p{color:var(--ash);font-size:.97rem;margin-bottom:18px}
  .card .more{font-size:.8rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);display:inline-flex;align-items:center;gap:8px;transition:gap .25s}
  .card:hover .more{gap:13px}

  /* gym / equipment */
  .gym{background:var(--coal);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
  .brandbar{display:flex;flex-wrap:wrap;align-items:center;gap:42px;margin:0px 0 32px;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
  .brandbar img{height:30px;width:auto;opacity:.62;filter:brightness(0) invert(1);transition:opacity .3s}
  .brandbar img:hover{opacity:1}
  .gallery{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:200px;gap:14px}
  .gallery a{position:relative;border-radius:12px;overflow:hidden;display:block}
  .gallery img{width:100%;height:100%;object-fit:cover;filter:contrast(1.05) brightness(.82) saturate(.85);transition:transform .7s var(--ease),filter .4s}
  .gallery a:hover img{transform:scale(1.07);filter:contrast(1.05) brightness(.95) saturate(1)}
  .gallery .big{grid-column:span 2;grid-row:span 2}
  .gallery .tall{grid-row:span 2}

  /* gym-section hell */
  .gym{background:var(--gold)}
  #gym .sec-head{text-align:center;max-width:none;margin-inline:auto}
  #gym .sec-head h2{color:var(--ink);white-space:nowrap}
  @media (max-width:680px){#gym .sec-head h2{font-size:clamp(1.5rem,7vw,2.2rem)}}
  #gym .sec-head p{color:var(--paper-ink)}
  #gym .sec-head .eyebrow{color:var(--ink)}
  #gym .sec-head .eyebrow::before{background:var(--ink)}
  #gym .brandbar{border-color:rgba(10,10,11,.12)}
  #gym .brandbar img{filter:brightness(0);opacity:.5}
  #gym .brandbar img:hover{opacity:.85}
  /* gym carousel (durchlaufende kacheln) */
  .gym-slider{display:flex;flex-direction:column;gap:16px;width:100%;overflow:hidden;justify-content:center;padding-top:8px}
  .gym-row{overflow:hidden;display:flex;align-items:center}
  .gym-track{display:flex;gap:16px;width:max-content;will-change:transform;animation:gymscroll 80s linear infinite}
  .gym-track--rev{animation-direction:reverse}
  .gym-slider:hover .gym-track{animation-play-state:paused}
  .gym-tile{flex:0 0 240px;height:220px;border-radius:14px;overflow:hidden;border:1px solid rgba(10,10,11,.14)}
  .gym-tile--wide{flex-basis:380px}
  .gym-tile--portrait{flex-basis:160px}
  .gym-tile img{width:100%;height:100%;object-fit:cover;filter:contrast(1.05) brightness(.92) saturate(.92);transition:transform .7s var(--ease)}
  .gym-tile:hover img{transform:scale(1.06)}
  @keyframes gymscroll{to{transform:translateX(-50%)}}
  @media (prefers-reduced-motion:reduce){.gym-track{animation:none}}
  /* gym fullscreen */
  @media (min-width:681px){
    #gym{min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding-top:clamp(48px,6vh,80px);padding-bottom:clamp(48px,6vh,80px)}
    #gym .wrap{flex:0 0 auto;width:100%}
    #gym .sec-head{margin-bottom:clamp(20px,3vh,40px)}
    #gym .gym-slider{flex:1;min-height:0}
    #gym .gym-row{flex:0 0 auto}
    #gym .gym-tile{height:clamp(220px,34svh,440px);flex-basis:clamp(240px,22vw,340px)}
    #gym .gym-tile--wide{flex-basis:clamp(380px,36vw,560px)}
    #gym .gym-tile--portrait{flex-basis:clamp(170px,14vw,230px)}
  }

  /* app */
  #app{padding-top:clamp(56px,7vw,96px);padding-bottom:clamp(56px,7vw,96px)}
  .app .split-media{aspect-ratio:auto;background:transparent}
  .app .split-media img{filter:none;object-fit:contain;padding:6%;max-height:420px;width:auto;max-width:100%;margin-inline:auto}
  .applist{list-style:none;margin-top:8px}
  .applist li{display:flex;gap:14px;align-items:flex-start;padding:13px 0;border-bottom:1px solid var(--line);color:var(--ash-2);font-size:1rem}
  .applist li:last-child{border:none}
  .applist svg{width:20px;height:20px;stroke:var(--gold);flex:none;margin-top:3px}

  /* standorte */
  .loc-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
  .loc{position:relative;border-radius:var(--r);overflow:hidden;min-height:440px;display:flex;align-items:flex-end;border:1px solid var(--line)}
  .loc-bg{position:absolute;inset:0}
  .loc-bg img{width:100%;height:100%;object-fit:cover;filter:contrast(1.06) brightness(.5) saturate(.85);transition:transform .8s var(--ease)}
  .loc:hover .loc-bg img{transform:scale(1.06)}
  .loc-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,10,11,.2),rgba(10,10,11,.92))}
  .loc-body{position:relative;z-index:2;padding:34px 32px;width:100%}
  .loc .tag{font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}
  .loc h3{font-family:"Anton",sans-serif;text-transform:uppercase;font-size:2.4rem;margin:8px 0 14px;letter-spacing:.02em}
  .loc .meta{color:var(--bone);font-size:.96rem;line-height:1.7;margin-bottom:20px}
  .loc .meta b{color:var(--bone);font-weight:600}

  /* team */
  .team{background:var(--coal);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
  .team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
  .member{position:relative;border-radius:var(--r);overflow:hidden;aspect-ratio:3/4;border:1px solid var(--line)}
  .member img{width:100%;height:100%;object-fit:cover;filter:grayscale(.4) contrast(1.05) brightness(.85);transition:transform .7s var(--ease),filter .5s}
  .member:hover img{transform:scale(1.06);filter:grayscale(0) contrast(1.05) brightness(.95)}
  .member::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(10,10,11,.94))}
  .member-body{position:absolute;left:0;bottom:0;z-index:2;padding:22px 20px;width:100%}
  .member .role{font-size:.68rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
  .member h3{font-family:"Anton",sans-serif;text-transform:uppercase;font-size:1.25rem;margin:6px 0 8px;letter-spacing:.02em}
  .member .cred{display:none}
  .member .bio{font-size:.82rem;line-height:1.45;color:var(--ash-2);max-height:0;opacity:0;overflow:hidden;transition:max-height .45s var(--ease),opacity .35s,margin-top .45s}
  .member:hover .bio,.member:focus-within .bio{max-height:260px;opacity:1;margin-top:12px}
  .member:hover::after,.member:focus-within::after{background:linear-gradient(180deg,rgba(10,10,11,.1) 0%,rgba(10,10,11,.97) 55%)}
  @media (hover:none){.member .bio{max-height:260px;opacity:1;margin-top:12px}.member::after{background:linear-gradient(180deg,transparent 30%,rgba(10,10,11,.97))}}

  /* team carousel */
  .team-carousel{position:relative}
  .team-nav{display:flex;gap:10px;justify-content:flex-end;margin-bottom:22px}
  .team-arrow{width:48px;height:48px;border-radius:50%;border:1px solid var(--line);background:var(--steel);color:var(--bone);display:grid;place-items:center;cursor:pointer;transition:border-color .2s,color .2s,background .2s,opacity .2s}
  .team-arrow:hover{border-color:var(--gold);color:var(--gold);background:var(--steel-2)}
  .team-arrow:disabled{opacity:.3;cursor:default;border-color:var(--line);color:var(--bone);background:var(--steel)}
  .team-arrow svg{width:20px;height:20px}
  .team-track{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding-bottom:6px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .team-track::-webkit-scrollbar{display:none}
  .team-track .member{flex:0 0 clamp(210px,23%,260px);scroll-snap-align:start}

  /* feedback */
  .rating{display:flex;align-items:center;gap:16px;margin-bottom:46px;flex-wrap:wrap}
  .rating .big{font-family:"Anton",sans-serif;font-size:3.4rem;color:var(--gold);line-height:1}
  .stars{color:var(--gold);font-size:1.3rem;letter-spacing:2px}
  .rating .src{color:var(--ash);font-size:.92rem}
  .reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
  .review{background:var(--steel);border:1px solid var(--line);border-radius:var(--r);padding:30px 28px}
  .review .stars{margin-bottom:16px;font-size:1.05rem}
  .review p{color:var(--ash-2);font-size:.98rem;margin-bottom:20px}
  .review .who{font-weight:700;font-size:.9rem;letter-spacing:.03em}
  .review .who span{display:block;color:var(--ash);font-weight:500;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;margin-top:3px}

  /* ---------- reviews carousel (hell) ---------- */
  #feedback{background:#FAFAF8}
  /* Trustindex links-buendig mit der Ueberschrift */
  .trustindex-embed{width:100%}
  .trustindex-embed .ti-widget,
  .trustindex-embed .ti-widget-container,
  .trustindex-embed .ti-reviews-container{margin-left:0 !important;padding-left:0 !important}
  #feedback .sec-head h2{color:var(--ink)}
  #feedback .eyebrow{color:var(--gold-deep)}
  #feedback .eyebrow::before{background:var(--gold-deep)}
  #feedback .rating .big{color:var(--gold-deep)}
  #feedback .rating .stars{color:#FBBC04}
  #feedback .src{color:#5b5d63}
  #feedback .src a{color:var(--gold-deep);font-weight:600;text-decoration:underline;text-underline-offset:3px}
  .reviews-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:30px}
  .rv-nav{display:flex;gap:10px;flex:none}
  .rv-arrow{width:48px;height:48px;border-radius:50%;border:1px solid #dcdcd8;background:#fff;color:#222;display:grid;place-items:center;cursor:pointer;box-shadow:0 6px 18px -10px rgba(0,0,0,.4);transition:border-color .2s,color .2s,transform .2s,opacity .2s}
  .rv-arrow:hover{border-color:var(--gold);color:var(--gold-deep);transform:translateY(-2px)}
  .rv-arrow:disabled{opacity:.35;cursor:default;transform:none}
  .rv-arrow svg{width:20px;height:20px}
  .rv-track{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:4px 0 12px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .rv-track::-webkit-scrollbar{display:none}
  .rv-card{flex:0 0 clamp(280px,31%,360px);scroll-snap-align:start;background:#F1F1EF;border-radius:18px;padding:26px 26px 22px;color:#1a1a1c;display:flex;flex-direction:column;transition:transform .3s var(--ease),box-shadow .3s}
  .rv-card:hover{transform:translateY(-4px);box-shadow:0 22px 46px -22px rgba(0,0,0,.45)}
  .rv-top{display:flex;align-items:center;gap:12px;margin-bottom:16px}
  .rv-avatar{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:700;font-size:1.15rem;flex:none}
  .rv-id{flex:1;min-width:0}
  .rv-name{font-weight:700;font-size:1.02rem;color:#1a1a1c;line-height:1.2}
  .rv-when{font-size:.84rem;color:#70737a;margin-top:2px}
  .rv-g{width:22px;height:22px;flex:none}
  .rv-stars{display:flex;align-items:center;gap:8px;color:#FBBC04;font-size:1.08rem;letter-spacing:1px;margin-bottom:14px}
  .rv-verified{width:17px;height:17px;flex:none}
  .rv-text{color:#33353a;font-size:.97rem;line-height:1.55;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:16px}
  .rv-more{margin-top:auto;color:#70737a;font-size:.92rem;font-weight:600}
  .rv-card:hover .rv-more{color:var(--gold-deep)}

  /* final cta */
  .finalcta{position:relative;overflow:hidden;border-top:1px solid var(--line)}
  .finalcta-bg{position:absolute;inset:0;z-index:0}
  .finalcta-bg img{width:100%;height:100%;object-fit:cover;filter:contrast(1.1) brightness(.4) saturate(.8)}
  .finalcta-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,10,11,.6),rgba(10,10,11,.9))}
  .finalcta .wrap{position:relative;z-index:2;text-align:center;padding-top:clamp(80px,10vw,130px);padding-bottom:clamp(80px,10vw,130px)}
  .finalcta h2{font-size:clamp(2.6rem,7vw,5.6rem);margin:20px auto 0;max-width:14ch}
  .finalcta p{max-width:540px;margin:24px auto 34px;color:var(--ash-2);font-size:1.12rem}
  .finalcta .hero-cta{justify-content:center}

  /* footer */
  footer{background:var(--ink);border-top:1px solid var(--line);padding:72px 0 34px}
  .foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px;margin-bottom:54px}
  .foot-logo{font-family:"Anton",sans-serif;font-size:2rem;text-transform:uppercase;letter-spacing:.04em}
  .foot-logo b{color:var(--gold);font-weight:400}
  .foot-col h4{font-size:.76rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:18px}
  .foot-col a,.foot-col p{display:block;color:var(--bone);font-size:.95rem;margin-bottom:11px;transition:color .2s}
  .foot-col a:hover{color:var(--gold)}
  .foot-col p b{color:var(--bone);font-weight:600}
  .foot-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;padding-top:28px;border-top:1px solid var(--line);color:var(--bone);font-size:.85rem}
  .foot-bottom .links{display:flex;gap:22px}
  .foot-bottom a:hover{color:var(--gold)}

  /* reveal */
  .reveal{opacity:0;transform:translateY(26px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
  .reveal.in{opacity:1;transform:none}

  /* ---------- responsive ---------- */
  @media (max-width:1000px){
    .nav-links{display:none}
    .burger{display:flex}
    .nav-cta .btn.desktop-cta{display:none}
    .split{grid-template-columns:1fr;gap:40px}
    .split.app{direction:ltr}
    .cards{grid-template-columns:repeat(2,1fr)}
    .choose-grid{grid-template-columns:repeat(2,1fr)}
    .gallery{grid-template-columns:repeat(2,1fr);grid-auto-rows:170px}
    .gallery .big{grid-column:span 2}
    .team-grid{grid-template-columns:repeat(2,1fr)}
    .reviews{grid-template-columns:1fr}
    .foot-grid{grid-template-columns:1fr 1fr;gap:34px}
  }
  @media (max-width:680px){
    body{font-size:16px}
    .wrap{padding:0 18px}
    .stats-grid{grid-template-columns:repeat(2,1fr)}
    .stat{border-bottom:1px solid var(--line)}
    .stat:nth-child(2){border-right:none}
    .pillars{grid-template-columns:1fr}
    .cards{grid-template-columns:1fr}
    .loc-grid{grid-template-columns:1fr}
    .choose-grid{grid-template-columns:1fr}
    .team-grid{grid-template-columns:1fr 1fr}
    .gallery{grid-template-columns:1fr 1fr;grid-auto-rows:140px}
    .foot-grid{grid-template-columns:1fr}
    .hero-sub{font-size:1.02rem}
    .foot-bottom{flex-direction:column;align-items:flex-start}
  }

  @media (prefers-reduced-motion:reduce){
    *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
    .reveal{opacity:1;transform:none}
  }

  /* =========================================================
     Inner-page Komponenten (Unterseiten) – index-Tokens
     ========================================================= */
  .breadcrumb{display:inline-block;font-size:.76rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ash);margin-bottom:6px}
  #coaching .split-media{aspect-ratio:1/1}
  #partner{padding-top:clamp(36px,5vw,64px);padding-bottom:clamp(36px,5vw,64px)}
  #partner .sec-head{margin-bottom:26px}
  #partner{background:var(--gold)}
  #partner .sec-head h2{color:var(--ink)}
  #partner .eyebrow{color:var(--ink)}
  #partner .eyebrow::before{background:var(--ink)}
  #partner .brandbar{border-color:rgba(10,10,11,.18)}
  #partner .brandbar img{filter:brightness(0);opacity:.78}
  #partner .brandbar img:hover{opacity:1}
  .breadcrumb a{color:var(--gold)}
  .breadcrumb a:hover{color:var(--bone)}

  /* helle Sektion (wie index #gym/#feedback) */
  .section--paper{background:var(--paper)}
  .section--paper .sec-head h2,.section--paper .split-body h2,.section--paper h2.display{color:var(--ink)}
  .section--paper .sec-head p,.section--paper .split-body p{color:var(--paper-ink)}
  .section--paper .eyebrow{color:var(--gold-deep)}
  .section--paper .eyebrow::before{background:var(--gold-deep)}
  .section--paper .applist li{color:var(--paper-ink);border-color:rgba(10,10,11,.12)}
  .section--paper .split-body .btn.ghost{--fg:var(--ink);border-color:rgba(10,10,11,.2)}
  .section--paper .split-body .btn.ghost:hover{color:var(--gold-deep);border-color:var(--gold-deep);background:rgba(184,145,79,.1)}

  /* Formular */
  .form-card{background:var(--steel);border:1px solid var(--line);border-radius:var(--r);padding:clamp(22px,3vw,32px)}
  .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
  .field{display:flex;flex-direction:column;gap:7px}
  .field.col-2{grid-column:1 / -1}
  .field label{font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ash-2)}
  .field input,.field select,.field textarea{background:var(--coal);border:1px solid var(--line);border-radius:8px;padding:.8rem .9rem;color:var(--bone);font:inherit;font-size:.98rem;transition:border-color .2s}
  .field textarea{min-height:110px;resize:vertical}
  .field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--gold)}
  /* Browser-Autofill nicht hell einfärben (dunkles Design beibehalten) */
  .field input:-webkit-autofill,
  .field input:-webkit-autofill:hover,
  .field input:-webkit-autofill:focus,
  .field textarea:-webkit-autofill,
  .field select:-webkit-autofill{
    -webkit-text-fill-color:var(--bone);
    caret-color:var(--bone);
    -webkit-box-shadow:0 0 0 1000px var(--coal) inset;
    box-shadow:0 0 0 1000px var(--coal) inset;
    border-color:var(--line);
    transition:background-color 9999s ease 0s;
  }
  .form-note{margin-top:12px;font-size:.8rem;color:var(--ash)}

  /* FAQ */
  .faq{max-width:820px}
  .faq details{border-bottom:1px solid var(--line)}
  .faq details:first-child{border-top:1px solid var(--line)}
  .faq summary{display:flex;justify-content:space-between;align-items:center;gap:16px;cursor:pointer;padding:20px 2px;font-weight:600;font-size:1.06rem;list-style:none}
  .faq summary::-webkit-details-marker{display:none}
  .faq .pm{color:var(--gold);font-size:1.5rem;line-height:1;transition:transform .25s var(--ease);flex:none}
  .faq details[open] .pm{transform:rotate(45deg)}
  .faq-a{padding:0 2px 22px;color:var(--ash-2);line-height:1.6;max-width:70ch}

  /* Google-Score-Badge (statisch) */
  .reviews-badge{display:inline-flex;align-items:center;gap:12px;margin-top:34px;background:var(--steel);border:1px solid var(--line);border-radius:99px;padding:12px 22px}
  .reviews-badge .g{font-weight:700}
  .reviews-badge .score{font-family:"Anton",sans-serif;color:var(--gold);font-size:1.5rem;line-height:1}
  .reviews-badge .stars{color:#FBBC04;letter-spacing:1px}

  @media (max-width:680px){.form-grid{grid-template-columns:1fr}}

  /* Body-Texte auf dunklem Grund immer weiß statt grau
     (helle Sektionen behalten via ID-/.section--paper-Overrides ihre dunkle Schrift) */
  .hero-sub,.sec-head p,.split-body p,.pillar p,.card p,.applist li{color:var(--bone)}

  /* Weniger Abstand vom Hero zum ersten Block */
  .hero + section{padding-top:clamp(28px,4vw,48px)}
