
  :root{
    --navy:#101E2B;
    --navy-2:#182B3D;
    --cream:#F6F3EC;
    --ink:#17242F;
    --paper:#FFFDF8;
    --violet:#5F4693;
    --violet-soft:#B7A6DD;
    --line-dark:rgba(246,243,236,0.16);
    --line-light:rgba(23,36,47,0.14);
    --font-display:'Fraunces', Georgia, 'Times New Roman', serif;
    --font-body:'IBM Plex Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  }
  :root:not([data-theme="light"]){ }
  :root[data-theme="dark"]{ }
  @media (prefers-color-scheme: dark){
    :root:not([data-theme="light"]){
      --cream:#F6F3EC;
      --paper:#FFFDF8;
    }
  }

  *{box-sizing:border-box;min-width:0;}
  html{scroll-behavior:smooth;overflow-x:hidden;}
  body{
    margin:0;
    background:var(--cream);
    color:var(--ink);
    font-family:var(--font-body);
    line-height:1.55;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
    word-break:break-word;
    overflow-wrap:break-word;
    padding-top:64px;
  }
  img{max-width:100%;display:block;}
  a{color:inherit;}
  ::selection{background:var(--violet);color:#fff;}
  :focus-visible{outline:2px solid var(--violet);outline-offset:3px;}

  .wrap{max-width:1120px;margin:0 auto;padding:0 28px;width:100%;}
  section{padding:96px 0;scroll-margin-top:64px;}
  @media (max-width:720px){ section{padding:64px 0;} }

  h1,h2,h3{font-family:var(--font-display);font-weight:500;margin:0;letter-spacing:-0.01em;}

  /* ---------- NAV ---------- */
  header.site-nav{
    position:fixed;top:0;left:0;right:0;width:100%;z-index:40;
    background:rgba(16,30,43,0.92);
    backdrop-filter:blur(6px);
    border-bottom:1px solid var(--line-dark);
  }
  .nav-inner{
    max-width:1120px;margin:0 auto;padding:0 28px;
    display:flex;align-items:center;justify-content:space-between;gap:16px;
    height:64px;color:#F6F3EC;
  }
  .brand{
    flex:none;
    font-family:var(--font-display);font-size:1.15rem;color:#fff;
    text-decoration:none;white-space:nowrap;
  }
  .brand em{font-style:italic;color:var(--violet-soft);}
  nav.links{
    flex:1 1 auto;min-width:0;
    display:flex;overflow-x:auto;white-space:nowrap;scrollbar-width:none;
    -ms-overflow-style:none;
  }
  nav.links::-webkit-scrollbar{display:none;}
  nav.links a{
    flex:none;
    display:inline-block;
    color:#D9D3C6;text-decoration:none;font-size:0.92rem;white-space:nowrap;
    padding:4px 2px;margin-right:22px;border-bottom:1px solid transparent;transition:border-color .2s, color .2s;
  }
  nav.links a:last-child{margin-right:0;}
  nav.links a:hover{color:#fff;border-color:var(--violet-soft);}
  nav.links a.is-active{color:#fff;border-color:var(--violet-soft);}
  .nav-cta{
    flex:none;
    background:var(--violet);color:#fff;text-decoration:none;
    font-size:0.88rem;padding:9px 16px;border-radius:2px;white-space:nowrap;
    transition:background .2s;
  }
  .nav-cta:hover{background:#4d3a79;}
  @media (max-width:640px){ .nav-cta{display:none;} }

  /* ---------- HERO ---------- */
  .hero{
    position:relative;
    min-height:680px;
    display:flex;
    align-items:center;
    color:#F6F3EC;
    background-image:
      linear-gradient(90deg, rgba(16,30,43,0.10) 0%, rgba(16,30,43,0.55) 42%, rgba(16,30,43,0.94) 68%, var(--navy) 100%),
      url(../images/index-bg-1d75fbf839.jpg);
    background-size:cover;
    background-position:left center;
    background-repeat:no-repeat;
    padding:64px 0;
  }
  @media (max-width:860px){
    .hero{
      min-height:650px;
      align-items:flex-end;
      padding:80px 0 44px;
      background-image:
        linear-gradient(180deg, rgba(16,30,43,0.05) 0%, rgba(16,30,43,0.55) 55%, var(--navy) 92%),
        url(../images/index-bg-1abaea9586.jpg);
      background-position:center top;
      background-size:cover;
    }
  }
  .hero-content{max-width:640px;margin-left:auto;}
  @media (max-width:860px){ .hero-content{max-width:100%;margin-left:0;} }
  .hero h1{
    font-size:clamp(2.1rem, 4.2vw, 3.4rem);
    line-height:1.08;
    max-width:17ch;
    color:#fff;
    text-shadow:0 2px 24px rgba(0,0,0,0.35);
  }
  .hero .lede{
    margin-top:26px;max-width:50ch;font-size:1.08rem;color:#D9D3C6;
  }

  /* ---------- CREDENTIALS / FACTS ---------- */
  .credentials{
    margin-top:36px;
    display:flex;flex-wrap:wrap;gap:0;
    border-top:1px solid var(--line-dark);
    padding-top:22px;
  }
  .credentials .item{
    padding-right:28px;margin-right:28px;
    border-right:1px solid var(--line-dark);
  }
  .credentials .item:last-child{border-right:none;margin-right:0;padding-right:0;}
  .credentials .num{
    font-family:var(--font-display);font-size:1.7rem;color:#fff;display:block;line-height:1.1;
  }
  .credentials .lbl{display:block;font-size:0.8rem;color:#A9A192;line-height:1.3;}
  @media (max-width:640px){
    .credentials{
      display:grid;grid-template-columns:1fr 1fr;
      gap:16px 20px;
    }
    .credentials .item{
      border-right:none;margin-right:0;padding-right:0;
    }
    .credentials .num{font-size:1.4rem;}
    .credentials .lbl{display:block;font-size:0.74rem;line-height:1.3;}
    .credentials .item:last-child{grid-column:1 / -1;}
  }
  .hero-actions{margin-top:40px;display:flex;gap:16px;flex-wrap:wrap;align-items:center;}
  .btn-primary{
    background:var(--violet);color:#fff;text-decoration:none;
    padding:14px 26px;border-radius:2px;font-size:0.98rem;
    transition:background .2s;
  }
  .btn-primary:hover{background:#4d3a79;}
  .btn-ghost{
    color:#F6F3EC;text-decoration:none;font-size:0.95rem;
    border-bottom:1px solid var(--violet-soft);padding-bottom:2px;
  }

  /* ---------- SECTION HEADS ---------- */
  .section-head{max-width:60ch;margin-bottom:56px;}
  .section-head h2{font-size:clamp(1.8rem,3vw,2.5rem);}
  .section-head p{margin-top:16px;font-size:1.05rem;color:#4B5763;max-width:52ch;}

  /* ---------- ROLLEN ---------- */
  .kunden{background:var(--navy);padding:14px 0;border-bottom:1px solid var(--line-dark);}
  .kunden .wrap{display:flex;align-items:center;justify-content:flex-start;gap:48px;flex-wrap:wrap;}
  .kunden-label{font-size:0.78rem;color:#8B95A0;text-transform:uppercase;letter-spacing:0.06em;margin:0;flex:none;white-space:nowrap;}
  .kunden-row{display:flex;gap:32px;flex-wrap:nowrap;align-items:center;justify-content:flex-start;}
  .kunden-slot{
    width:140px;height:44px;perspective:600px;
    display:flex;align-items:center;justify-content:center;
  }
  .kunden-logo{
    max-height:44px;max-width:140px;width:auto;height:auto;
    filter:grayscale(100%) brightness(0) invert(1);opacity:0.8;
    transition:transform .32s ease, opacity .2s;
    transform-style:preserve-3d;backface-visibility:hidden;
  }
  .kunden-slot.is-flipping .kunden-logo{transform:rotateY(90deg);}
  @media (max-width:640px){
    .kunden .wrap{flex-direction:column;align-items:flex-start;gap:14px;}
    .kunden-label{margin:0;}
    .kunden-row{gap:20px;justify-content:flex-start;}
    .kunden-slot{width:184px;height:92px;}
    .kunden-logo{max-height:92px;max-width:184px;}
  }
  @media (max-width:640px){
    .kunden{padding:26px 0;}
  }

  .rollen{background:var(--paper);}
  .rollen-grid{
    display:grid;grid-template-columns:repeat(3,1fr);gap:0;
    border-top:1px solid var(--line-light);
  }
  @media (max-width:860px){ .rollen-grid{grid-template-columns:1fr;} }
  .rollen-col{
    padding:34px 28px 34px 0;border-bottom:1px solid var(--line-light);
  }
  .rollen-grid > .rollen-col:not(:last-child){border-right:1px solid var(--line-light);}
  @media (max-width:860px){
    .rollen-grid > .rollen-col{border-right:none !important;padding-right:0;}
  }
  .rollen-col .category{
    font-size:0.82rem;color:var(--violet);margin-bottom:18px;font-weight:600;
  }
  .role-item{margin-bottom:22px;}
  .role-item:last-child{margin-bottom:0;}
  .role-item h3{font-size:1.15rem;margin-bottom:6px;}
  .role-item p{margin:0;font-size:0.94rem;color:#5A6570;}
  .role-item a{
    display:inline-block;margin-top:8px;font-size:0.88rem;color:var(--violet);
    text-decoration:none;border-bottom:1px solid var(--violet-soft);
  }

  /* ---------- WEG / TIMELINE ---------- */
  .weg{background:var(--cream);}
  .timeline{
    display:grid;grid-template-columns:repeat(4,1fr);gap:24px;
    margin-bottom:52px;
  }
  @media (max-width:760px){ .timeline{grid-template-columns:repeat(2,1fr);} }
  .tl-item{border-top:2px solid var(--violet);padding-top:14px;min-width:0;}
  .tl-year{font-family:var(--font-display);font-size:1.6rem;color:var(--navy);}
  .tl-item p{margin:6px 0 0;font-size:0.92rem;color:#4B5763;}

  /* ---------- ACCORDION ---------- */
  .accordion{border-top:1px solid var(--line-light);}
  .accordion details{border-bottom:1px solid var(--line-light);}
  .accordion summary{
    cursor:pointer;padding:22px 4px;list-style:none;
    display:flex;justify-content:space-between;align-items:center;gap:16px;
    font-family:var(--font-display);font-size:1.2rem;color:var(--navy);
  }
  .accordion summary::-webkit-details-marker{display:none;}
  .accordion summary::after{
    content:'+';font-size:1.5rem;color:var(--violet);flex:none;line-height:1;
  }
  .accordion details[open] summary::after{content:'\2013';}
  .acc-body{padding:0 4px 28px;color:#3C4650;font-size:1rem;line-height:1.75;}
  .acc-body p{margin:0 0 16px;max-width:70ch;}
  .acc-body p:last-child{margin-bottom:0;}
  .acc-body ul{margin:0;padding-left:20px;max-width:70ch;}
  .acc-body li{margin-bottom:10px;}
  .acc-body strong{color:var(--navy);}

  /* ---------- WARUM / FAQ ---------- */
  .warum{background:var(--navy);color:#F6F3EC;}
  .warum .section-head p{color:#B9B2A2;}
  .warum .section-head h2{color:#fff;}
  .faq-item{
    border-top:1px solid var(--line-dark);padding:26px 0;
  }
  .faq-item:last-child{border-bottom:1px solid var(--line-dark);}
  .faq-q{
    font-family:var(--font-display);font-style:italic;font-size:1.2rem;
    color:#fff;margin:0 0 12px;max-width:52ch;
  }
  .faq-a{margin:0;color:#C7C0B1;max-width:58ch;font-size:0.98rem;}

  /* ---------- INSIGHTS ---------- */
  .insights{background:var(--paper);}
  .tabs{
    display:flex;gap:8px;border-bottom:1px solid var(--line-light);margin-bottom:40px;
  }
  .tab-btn{
    font-family:var(--font-body);font-size:0.96rem;color:#5A6570;
    background:none;border:none;cursor:pointer;padding:12px 4px;margin-right:24px;
    border-bottom:2px solid transparent;transition:color .2s, border-color .2s;
  }
  .tab-btn:hover{color:var(--ink);}
  .tab-btn.is-active{color:var(--ink);border-bottom-color:var(--violet);font-weight:500;}
  .tab-empty{font-size:1rem;color:#5A6570;padding:8px 0 4px;max-width:52ch;}
  .insight-row{
    display:grid;grid-template-columns:repeat(3,1fr);gap:36px;
  }
  .insight-card{border-top:1px solid var(--line-light);padding-top:20px;}
  .insight-card h3{font-size:1.08rem;margin-bottom:6px;}
  .insight-card .meta{font-size:0.78rem;color:#8B95A0;margin:0 0 10px;letter-spacing:0.01em;}
  .insight-card p{font-size:0.92rem;color:#5A6570;margin:0 0 12px;}
  .insight-card a{font-size:0.88rem;color:var(--violet);text-decoration:none;border-bottom:1px solid var(--violet-soft);}
  @media (max-width:860px){
    .insight-row{
      display:flex;grid-template-columns:none;
      overflow-x:auto;gap:16px;
      scroll-snap-type:x mandatory;
      -webkit-overflow-scrolling:touch;
      scrollbar-width:none;-ms-overflow-style:none;
      margin:0 -28px;padding:0 28px 8px;
    }
    .insight-row::-webkit-scrollbar{display:none;}
    .insight-card{
      flex:0 0 78%;scroll-snap-align:start;
      border-top:none;padding-top:0;
      background:var(--paper);border:1px solid var(--line-light);
      padding:20px;border-radius:2px;
    }
  }
  @media (max-width:480px){
    .insight-card{flex-basis:86%;}
  }

  /* ---------- KONTAKT ---------- */
  .kontakt{
    background:linear-gradient(180deg,var(--navy-2) 0%, var(--navy) 100%);
    color:#F6F3EC;
  }
  .kontakt h2{font-size:clamp(1.9rem,4vw,3rem);color:#fff;max-width:18ch;}
  .kontakt-head{display:flex;gap:28px;align-items:center;}
  @media (max-width:640px){ .kontakt-head{flex-direction:column;align-items:flex-start;gap:20px;} }
  .kontakt-avatar{
    width:88px;height:88px;border-radius:50%;object-fit:cover;flex:none;
    border:2px solid var(--violet-soft);
  }
  .kontakt-lede{margin-top:20px;max-width:54ch;color:#C7C0B1;font-size:1.05rem;}
  .kontakt-direct{
    margin-top:36px;display:flex;gap:36px;flex-wrap:wrap;
  }
  .kontakt-direct a{
    font-family:var(--font-display);font-size:1.5rem;color:#fff;text-decoration:none;
    border-bottom:1px solid var(--violet-soft);
  }
  .why-grid{
    margin-top:56px;display:grid;grid-template-columns:repeat(2,1fr);
    gap:1px;background:var(--line-dark);border-top:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark);
  }
  .why-item{background:var(--navy);padding:26px 28px;}
  .why-item h3{font-family:var(--font-body);font-weight:600;font-size:0.98rem;color:#fff;margin-bottom:8px;}
  .why-item p{margin:0;font-size:0.9rem;color:#B9B2A2;}
  @media (max-width:640px){
    .why-grid{margin-top:36px;}
    .why-item{padding:16px 14px;}
    .why-item h3{font-size:0.86rem;margin-bottom:5px;}
    .why-item p{font-size:0.78rem;line-height:1.4;}
  }
  @media (max-width:400px){
    .why-grid{grid-template-columns:1fr;}
  }

  footer{
    background:var(--navy);color:#8C8676;
    border-top:1px solid var(--line-dark);
    padding:28px 0;font-size:0.85rem;
  }
  .footer-inner{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;}
  footer a{color:#B9B2A2;text-decoration:none;}
  footer a:hover{color:#fff;}
  .footer-links{display:flex;gap:20px;flex-wrap:wrap;}

  @media (prefers-reduced-motion: reduce){
    html{scroll-behavior:auto;}
    *{transition:none !important;}
  }

.menu-btn{flex:none;width:34px;height:34px;display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:#F6F3EC;margin-left:6px;padding:0;}
.menu-btn svg{width:22px;height:22px;}
.site-menu-overlay{position:fixed;inset:0;background:rgba(16,30,43,0.98);z-index:200;display:none;overflow-y:auto;}
.site-menu-overlay.is-open{display:block;}
.site-menu-inner{max-width:640px;margin:0 auto;padding:96px 28px 60px;}
.site-menu-close{position:fixed;top:18px;right:24px;width:40px;height:40px;background:none;border:none;color:#F6F3EC;font-size:1.6rem;cursor:pointer;z-index:201;line-height:1;}
.site-menu-group{margin-bottom:34px;}
.site-menu-group h3{font-family:var(--font-body);font-weight:600;font-size:0.78rem;text-transform:uppercase;letter-spacing:0.05em;color:var(--violet-soft);margin-bottom:12px;}
.site-menu-group a{display:block;font-family:var(--font-display);font-size:1.25rem;color:#F6F3EC;text-decoration:none;padding:9px 0;border-bottom:1px solid var(--line-dark);}
.site-menu-group a:hover{color:var(--violet-soft);}

.cookie-banner{position:fixed;left:0;right:0;bottom:0;z-index:150;background:var(--navy);border-top:1px solid var(--line-dark);padding:18px 24px;}
.cookie-inner{max-width:900px;margin:0 auto;display:flex;gap:20px;flex-wrap:wrap;align-items:center;justify-content:space-between;}
.cookie-inner p{margin:0;color:#D9D3C6;font-size:0.88rem;max-width:60ch;line-height:1.5;}
.cookie-inner a{color:var(--violet-soft);}
.cookie-actions{display:flex;gap:10px;flex:none;flex-wrap:wrap;}
.cookie-actions button{font-family:var(--font-body);font-size:0.85rem;padding:10px 18px;border-radius:2px;border:none;cursor:pointer;white-space:nowrap;}
#cookieAccept{background:var(--violet);color:#fff;}
#cookieAccept:hover{background:#4d3a79;}
#cookieDecline{background:transparent;color:#D9D3C6;border:1px solid var(--line-dark);}
