  :root{
    --navy:#1B2435;
    --navy-2:#232E44;
    --navy-deep:#151D2C;
    --gold:#B8922A;
    --gold-2:#CBA85A;
    --paper:#FBFAF6;
    --paper-2:#F2EFE7;
    --ink:#262A31;
    --ink-soft:#5A5F6A;
    --line:#E4DFD4;

    --serif:"Glacial Indifference","Futura","Century Gothic",-apple-system,BlinkMacSystemFont,sans-serif;
    --geo:"Glacial Indifference","Futura","Century Gothic",-apple-system,BlinkMacSystemFont,sans-serif;
    --body:"Glacial Indifference","Futura","Century Gothic",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  }

  *{box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{
    margin:0;
    font-family:var(--body);
    color:var(--ink);
    background:var(--paper);
    font-size:17px;
    line-height:1.72;
    -webkit-font-smoothing:antialiased;
  }
  @media (prefers-reduced-motion:reduce){
    html{scroll-behavior:auto}
    *{animation:none!important;transition:none!important}
  }

  .wrap{max-width:1080px;margin:0 auto;padding:0 28px}
  .narrow{max-width:780px}

  .eyebrow{
    font-family:var(--geo);
    font-size:12px;
    letter-spacing:.22em;
    text-transform:uppercase;
    font-weight:400;
    color:var(--gold);
    margin:0 0 22px;
  }
  h2{
    font-family:var(--serif);
    font-weight:400;
    font-size:clamp(26px,3.6vw,40px);
    line-height:1.15;
    letter-spacing:-.01em;
    margin:0 0 26px;
  }
  p{margin:0 0 18px}
  a{color:inherit}

  /* ---------- NAV ---------- */
  header.nav{
    position:sticky;top:0;z-index:50;
    background:rgba(21,29,44,.92);
    backdrop-filter:saturate(140%) blur(8px);
    border-bottom:1px solid rgba(184,146,42,.18);
  }
  .nav-inner{display:flex;align-items:center;justify-content:space-between;height:64px}
  .wordmark{
    font-family:var(--geo);
    letter-spacing:.28em;
    font-size:14px;
    color:var(--paper);
    text-decoration:none;
    font-weight:400;
  }
  .nav-links{display:flex;gap:30px;align-items:center}
  .nav-links a{
    font-family:var(--geo);
    font-size:13px;letter-spacing:.08em;
    color:#C7CBD4;text-decoration:none;
    transition:color .2s ease;
  }
  .nav-links a:hover,.nav-links a:focus-visible{color:var(--gold-2)}
  .nav-links .nav-cta{
    color:var(--navy);background:var(--gold-2);
    padding:9px 16px;border-radius:2px;
  }
  .nav-links .nav-cta:hover{background:var(--gold);color:var(--navy);}
  @media(max-width:820px){ .nav-links a:not(.nav-cta){display:none} }

  /* ---------- HERO ---------- */
  .hero{background:var(--navy);color:var(--paper);position:relative;overflow:hidden}
  .hero::after{ /* faint vertical light from the right */
    content:"";position:absolute;top:-20%;right:-10%;width:55%;height:140%;
    background:radial-gradient(closest-side,rgba(203,168,90,.10),transparent 70%);
    pointer-events:none;
  }
  .hero .wrap{position:relative;z-index:1;padding-top:110px;padding-bottom:118px}
  .hero h1{
    font-family:var(--serif);
    font-weight:400;
    font-size:clamp(32px,5.4vw,62px);
    line-height:1.1;
    letter-spacing:-.015em;
    margin:0 0 34px;
    max-width:none;
  }
  .hero h1 em{font-style:normal;color:var(--gold-2)}
  .offer-lead{font-family:var(--body);font-size:16.5px;line-height:1.65;color:#C7CBD4;max-width:56ch;margin:0 0 38px}
  .hero-cta{
    display:inline-block;font-family:var(--geo);font-size:13px;letter-spacing:.12em;
    text-transform:uppercase;text-decoration:none;
    color:var(--navy);background:var(--gold-2);
    padding:15px 30px;border-radius:2px;transition:background .2s ease,transform .2s ease;
  }
  .hero-cta:hover{background:var(--gold)}

  /* ---------- SECTIONS ---------- */
  section{padding:104px 0}
  .on-paper{background:var(--paper)}
  .on-paper-2{background:var(--paper-2)}
  .on-navy{background:var(--navy);color:var(--paper)}
  .on-navy .eyebrow{color:var(--gold-2)}
  .on-navy h2{color:var(--paper)}

  /* ---------- ABOUT ---------- */
  .on-paper p{color:var(--ink)}
  p.lead{font-size:21px;line-height:1.55;color:var(--ink);margin-bottom:26px}
  p.buyer-bridge{
    border-left:3px solid var(--gold-2);
    padding:4px 0 4px 22px;
    margin-top:8px;
    color:var(--ink);
  }
  .figures{
    display:flex;flex-wrap:wrap;gap:0;margin-top:40px;
    border-top:1px solid var(--line);
  }
  .figure{flex:1 1 0;min-width:140px;padding:22px 22px 22px 0}
  .figure .n{font-family:var(--serif);font-size:30px;color:var(--gold);line-height:1;margin-bottom:8px;font-weight:400}
  .figure .l{font-family:var(--geo);font-size:12px;letter-spacing:.08em;color:var(--ink-soft);text-transform:uppercase}

  /* ---------- MODEL (signature) ---------- */
  .model-intro{max-width:680px;margin-bottom:54px}
  .model-intro p{color:#CFD3DC}
  .formula{font-family:var(--geo);letter-spacing:.06em;color:var(--gold-2);font-weight:400}
  .stack{display:flex;flex-direction:column;gap:14px;max-width:760px}
  .layer{
    display:grid;grid-template-columns:auto 1fr;gap:26px;align-items:baseline;
    padding:24px 28px;border-radius:3px;
    background:var(--navy-2);
    border-left:3px solid rgba(203,168,90,.35);
    transition:border-color .25s ease,transform .25s ease;
  }
  .layer:hover{transform:translateX(4px)}
  .layer .name{font-family:var(--serif);font-size:23px;font-weight:400;color:var(--paper)}
  .layer .desc{color:#BFC4CE;font-size:16px;line-height:1.6}
  .layer.base{border-left-color:var(--gold);background:var(--navy-deep)}
  .layer.mid{border-left-color:var(--gold-2)}
  .layer .step{font-family:var(--geo);font-size:12px;letter-spacing:.1em;color:var(--gold-2);text-transform:uppercase}

  /* ---------- FÜR WEN ---------- */
  .fuer-wen-list{
    list-style:none;padding:0;margin:0;
    display:flex;flex-direction:column;gap:22px;
    max-width:780px;
  }
  .fuer-wen-list li{
    font-family:var(--serif);
    font-size:clamp(19px,2.2vw,24px);
    line-height:1.4;
    color:var(--ink);
    padding-left:30px;
    position:relative;
  }
  .fuer-wen-list li::before{
    content:"—";
    position:absolute;left:0;top:0;
    color:var(--gold);
    font-weight:400;
  }

  /* ---------- ANGEBOT (was wird trainiert) ---------- */
  .level-head{display:flex;align-items:center;gap:18px;margin:46px 0 22px}
  .level-head:first-of-type{margin-top:0}
  .level-head .lname{font-family:var(--geo);font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);font-weight:400;white-space:nowrap}
  .level-head .rule{flex:1;height:1px;background:var(--line)}
  .cards{display:grid;grid-template-columns:1fr 1fr;gap:18px}
  .card{
    padding:26px 28px;border:1px solid var(--line);border-radius:3px;background:#fff;
    transition:border-color .22s ease,transform .22s ease,box-shadow .22s ease;
  }
  .card:hover{border-color:var(--gold);transform:translateY(-2px);box-shadow:0 8px 24px rgba(27,36,53,.06)}
  .card h3{font-family:var(--geo);font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--gold);margin:0 0 10px;font-weight:400}
  .card p{font-size:15.5px;color:var(--ink-soft);margin:0;line-height:1.62}
  @media(max-width:680px){ .cards{grid-template-columns:1fr} }

  /* ---------- NACH DEM TRAINING ---------- */
  .outcome-intro{max-width:680px;margin-bottom:44px}
  .outcome-intro p{color:#CFD3DC}
  .outcomes{display:flex;flex-direction:column;gap:32px;max-width:820px}
  .outcome{
    display:grid;grid-template-columns:180px 1fr;gap:36px;align-items:baseline;
    padding-bottom:28px;
    border-bottom:1px solid rgba(203,168,90,.18);
  }
  .outcome:last-child{border-bottom:none}
  .outcome .lbl{
    font-family:var(--geo);font-size:12px;letter-spacing:.2em;text-transform:uppercase;
    color:var(--gold-2);font-weight:400;
  }
  .outcome p{color:#D8DBE2;margin:0;line-height:1.65;font-size:16.5px}
  @media(max-width:680px){
    .outcome{grid-template-columns:1fr;gap:10px}
  }

  /* ---------- GRUNDLAGE ---------- */
  .grundlage{max-width:780px}
  .grundlage p{color:var(--ink);font-size:17px;line-height:1.75}
  .grundlage p.close{
    font-family:var(--serif);
    font-size:20px;
    line-height:1.5;
    color:var(--ink);
    margin-top:34px;
    padding-top:26px;
    border-top:1px solid var(--line);
  }
  .grundlage em{font-style:normal;color:var(--gold)}

  /* ---------- FORMATE (mit Preisen) ---------- */
  .format-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:8px}
  .fcard{
    padding:32px 30px;border:1px solid var(--line);border-radius:3px;background:#fff;
    display:flex;flex-direction:column;
  }
  .fcard h3{font-family:var(--serif);font-size:23px;font-weight:400;margin:0 0 12px;line-height:1.25}
  .fcard p{margin:0 0 20px;color:var(--ink-soft);font-size:15.5px;line-height:1.6;flex:1}
  .fcard .price{
    font-family:var(--geo);
    font-size:14px;letter-spacing:.06em;
    color:var(--gold);
    padding-top:18px;
    border-top:1px solid var(--line);
  }
  .fcard .price small{
    display:block;font-family:var(--body);font-size:12.5px;letter-spacing:0;
    color:var(--ink-soft);margin-top:4px;
  }
  @media(max-width:900px){ .format-cards{grid-template-columns:1fr} }

  /* ---------- ABLAUF ---------- */
  .steps{display:flex;flex-direction:column;gap:0;max-width:820px}
  .step-item{
    display:grid;grid-template-columns:88px 1fr;gap:32px;
    padding:32px 0;
    border-bottom:1px solid rgba(203,168,90,.2);
  }
  .step-item:last-child{border-bottom:none}
  .step-item:first-child{padding-top:8px}
  .step-item .num{
    font-family:var(--serif);
    font-size:44px;
    line-height:1;
    color:var(--gold-2);
    font-weight:400;
  }
  .step-item h3{
    font-family:var(--serif);
    font-size:22px;font-weight:400;
    color:var(--paper);
    margin:0 0 8px;
  }
  .step-item p{color:#CFD3DC;margin:0;font-size:16px;line-height:1.65}
  @media(max-width:680px){
    .step-item{grid-template-columns:1fr;gap:8px}
    .step-item .num{font-size:32px}
  }

  /* ---------- FAQ ---------- */
  .faq{max-width:820px;margin-top:8px}
  .faq details{
    border-bottom:1px solid var(--line);
    padding:22px 0;
  }
  .faq details:first-child{border-top:1px solid var(--line)}
  .faq summary{
    font-family:var(--serif);
    font-size:19px;font-weight:400;
    color:var(--ink);
    cursor:pointer;
    list-style:none;
    display:flex;align-items:flex-start;justify-content:space-between;gap:24px;
    line-height:1.4;
  }
  .faq summary::-webkit-details-marker{display:none}
  .faq summary::after{
    content:"+";
    font-family:var(--geo);
    font-size:22px;
    color:var(--gold);
    line-height:1;
    flex-shrink:0;
    transition:transform .25s ease;
  }
  .faq details[open] summary::after{content:"–"}
  .faq details p{
    margin:16px 0 0;
    color:var(--ink-soft);
    font-size:16px;
    line-height:1.7;
    max-width:70ch;
  }

  /* ---------- KONTAKT ---------- */
  .contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
  .contact-grid p{color:#CFD3DC}
  .field{margin-bottom:18px}
  .field label{display:block;font-family:var(--geo);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#9AA0AC;margin-bottom:8px}
  .field input,.field textarea{
    width:100%;padding:13px 15px;border-radius:3px;
    border:1px solid rgba(255,255,255,.16);
    background:rgba(255,255,255,.04);color:var(--paper);
    font-family:var(--body);font-size:16px;
  }
  .field input::placeholder,.field textarea::placeholder{color:#6E7585}
  .field input:focus,.field textarea:focus{outline:none;border-color:var(--gold-2);background:rgba(255,255,255,.06)}
  .field textarea{resize:vertical;min-height:120px}
  .send{
    font-family:var(--geo);font-size:13px;letter-spacing:.12em;text-transform:uppercase;
    color:var(--navy);background:var(--gold-2);border:none;
    padding:15px 30px;border-radius:2px;cursor:pointer;transition:background .2s ease;
  }
  .send:hover{background:var(--gold)}
  .direct a{color:var(--gold-2);text-decoration:none;border-bottom:1px solid rgba(203,168,90,.3)}
  .direct a:hover{border-color:var(--gold-2)}
  .direct .row{margin-bottom:14px;font-family:var(--body)}
  .direct .k{font-family:var(--geo);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#9AA0AC;display:block;margin-bottom:3px}
  @media(max-width:760px){ .contact-grid{grid-template-columns:1fr;gap:40px} }

  /* ---------- FOOTER ---------- */
  footer{background:var(--navy-deep);color:#8E94A0;padding:40px 0;border-top:1px solid rgba(184,146,42,.16)}
  .foot-inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px}
  .foot-inner .wordmark{color:#C7CBD4}
  .foot-links{display:flex;gap:24px;font-family:var(--geo);font-size:12px;letter-spacing:.08em}
  .foot-links a{color:#8E94A0;text-decoration:none}
  .foot-links a:hover{color:var(--gold-2)}

  /* ---------- text link (e.g. "Mehr erfahren") ---------- */
  .text-link{
    display:inline-flex;align-items:center;gap:6px;
    font-family:var(--geo);font-size:14px;letter-spacing:.04em;
    color:var(--gold);text-decoration:none;
    border-bottom:1px solid rgba(184,146,42,.35);
    padding-bottom:2px;margin-top:6px;
    transition:border-color .2s ease,color .2s ease;
  }
  .text-link:hover{color:var(--gold-2);border-color:var(--gold-2)}

  /* ---------- reveal ---------- */
  .reveal{opacity:0;transform:translateY(16px);transition:opacity .7s ease,transform .7s ease}
  .reveal.in{opacity:1;transform:none}
  @media (prefers-reduced-motion:reduce){ .reveal{opacity:1;transform:none} }
