/*
Theme Name: EiFP Theme
Theme URI: https://www.eifp.eu
Description: EiFP GmbH — Experts in Finance Processes
Version: 3.0
Author: EiFP GmbH
*/


    :root{
      --navy:#001D55;--navy-mid:#002A7A;--cyan:#3AD0E6;
      --cyan-glow:rgba(58,208,230,0.15);--light:#F7F7F7;--white:#FFFFFF;
      --ink:#0D0D1A;--mid:#4A4A5A;--muted:#8A8A9A;
      --shadow-ring:rgba(0,0,0,0.07) 0px 0px 0px 1px;
      --shadow-card:rgba(0,0,0,0.07) 0px 0px 0px 1px,rgba(0,0,0,0.04) 0px 2px 4px,#ffffff 0px 0px 0px 1px;
      --shadow-featured:rgba(0,0,0,0.07) 0px 0px 0px 1px,rgba(0,0,0,0.04) 0px 2px 4px,rgba(0,0,0,0.03) 0px 8px 16px -8px,#ffffff 0px 0px 0px 1px;
    }
    *{box-sizing:border-box;margin:0;padding:0;}
    html{scroll-behavior:smooth;}
    body{font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;background:var(--light);color:var(--ink);-webkit-font-smoothing:antialiased;font-feature-settings:"liga" 1,"kern" 1;}

    .t-display{font-size:64px;font-weight:700;line-height:.96;letter-spacing:-2px;}
    .t-section {font-size:48px;font-weight:700;line-height:1.00;letter-spacing:-1.5px;}
    .t-heading {font-size:36px;font-weight:700;line-height:1.10;letter-spacing:-.8px;}
    .t-feature {font-size:24px;font-weight:600;line-height:1.25;letter-spacing:-.4px;}
    .t-sub     {font-size:20px;font-weight:500;line-height:1.30;letter-spacing:-.2px;}
    .t-body-lg {font-size:18px;font-weight:400;line-height:1.70;}
    .t-body    {font-size:16px;font-weight:400;line-height:1.60;}
    .t-caption {font-size:13px;font-weight:400;line-height:1.40;}

    .container{max-width:1200px;margin:0 auto;padding:0 40px;}

    /* Nav */
    .nav{position:fixed;top:0;left:0;right:0;z-index:100;background:var(--white);box-shadow:rgba(0,0,0,0.07) 0px 1px 0px 0px;transition:background 250ms,box-shadow 250ms;}
    .nav.scrolled{background:var(--white);box-shadow:rgba(0,0,0,0.07) 0px 1px 0px 0px;}
    .nav-inner{display:flex;align-items:center;justify-content:space-between;height:68px;}
    .nav-logo-link{display:flex;align-items:center;text-decoration:none;}
    /* Logo: 52px height */
    .nav-logo-img{height:52px;width:auto;display:block;}
    .logo-on-dark {display:none;}
    .logo-on-light{display:block;}
    
    
    .nav-links{display:flex;align-items:center;gap:32px;list-style:none;}
    .nav-links a{font-size:15px;font-weight:500;color:var(--ink);text-decoration:none;transition:color 150ms;}
    
    .nav-links a:hover{color:var(--navy);}
    .nav.scrolled .nav-links a:hover{color:var(--navy);}
    
    
    .nav-tagline{font-size:12px;font-weight:500;color:var(--muted);margin-left:10px;white-space:nowrap;letter-spacing:.01em;}
    
    .nav-cta{display:inline-flex;align-items:center;padding:10px 20px;background:var(--navy);color:var(--white)!important;border-radius:6px;font-size:14px;font-weight:600;text-decoration:none;transition:background 150ms,transform 150ms;}
    
    .nav-cta:hover{transform:translateY(-1px);}

    /* Buttons */
    .btn-primary  {display:inline-flex;align-items:center;gap:8px;padding:14px 28px;background:var(--navy);color:var(--white);border-radius:6px;font-size:14px;font-weight:600;letter-spacing:.2px;text-decoration:none;transition:background 150ms,transform 150ms;border:none;cursor:pointer;}
    .btn-primary:hover{background:var(--navy-mid);transform:translateY(-1px);}
    .btn-ghost    {display:inline-flex;align-items:center;gap:8px;padding:14px 28px;background:transparent;color:var(--white);border-radius:6px;font-size:14px;font-weight:600;text-decoration:none;box-shadow:rgba(255,255,255,.25) 0px 0px 0px 1px;transition:background 150ms,transform 150ms;border:none;cursor:pointer;}
    .btn-ghost:hover{background:rgba(255,255,255,.08);transform:translateY(-1px);}
    .btn-secondary{display:inline-flex;align-items:center;gap:8px;padding:14px 28px;background:var(--white);color:var(--ink);border-radius:6px;font-size:14px;font-weight:600;text-decoration:none;box-shadow:var(--shadow-ring);transition:box-shadow 150ms,transform 150ms;border:none;cursor:pointer;}
    .btn-secondary:hover{box-shadow:rgba(0,0,0,.12) 0px 0px 0px 1px,rgba(0,0,0,.06) 0px 4px 8px;transform:translateY(-1px);}

    /* Cards */
    .card{background:var(--white);border-radius:12px;box-shadow:var(--shadow-card);transition:box-shadow 200ms,transform 200ms;}
    .card:hover{box-shadow:rgba(0,0,0,.10) 0px 0px 0px 1px,rgba(0,0,0,.06) 0px 4px 12px,rgba(0,0,0,.04) 0px 16px 24px -8px;transform:translateY(-2px);}

    .eyebrow     {display:inline-block;font-size:11px;font-weight:600;letter-spacing:.8px;text-transform:uppercase;color:var(--cyan);margin-bottom:16px;}
    .eyebrow-dark{color:rgba(255,255,255,.45);}

    /* Hero */
    .hero{min-height:100vh;background:linear-gradient(135deg,#001D55 0%,#002A7A 60%,#001D55 100%);position:relative;overflow:hidden;display:flex;align-items:center;}
    .hero-cyan-wash{position:absolute;inset:0;background:radial-gradient(ellipse at 70% 50%,rgba(58,208,230,.12) 0%,transparent 70%);pointer-events:none;z-index:1;}
    .hero-content{position:relative;z-index:2;padding:120px 0 100px;max-width:600px;}
    .hero-headline{color:var(--white);}
    .hero-sub{color:rgba(255,255,255,.70);margin-top:24px;max-width:500px;}
    .hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:40px;}
    #dna-canvas{position:absolute;left:50%;top:50%;right:auto;transform:translate(-50%,-50%) rotate(90deg);width:700px;height:1400px;pointer-events:none;z-index:1;opacity:0.7;}

    /* Sections */
    .section      {padding:100px 0;}
    .section-dark {background:linear-gradient(135deg,#001D55 0%,#002A7A 60%,#001D55 100%);position:relative;overflow:hidden;}
    .section-white{background:var(--white);}
    .section-light{background:var(--light);}
    .section-dots {background-image:radial-gradient(circle,rgba(0,0,0,.025) 1px,transparent 1px);background-size:24px 24px;}
    .section-white.section-dots{background-color:var(--white);}
    .section-light.section-dots{background-color:var(--light);background-image:radial-gradient(circle,rgba(0,0,0,.028) 1px,transparent 1px);}

    /* Stats — 2 cells */
    .stat-row{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:rgba(0,0,0,.07);border-radius:12px;overflow:hidden;box-shadow:var(--shadow-ring);margin-top:56px;}
    .stat-cell{background:var(--white);padding:40px;}
    .stat-cell:first-child{border-radius:12px 0 0 12px;}
    .stat-cell:last-child {border-radius:0 12px 12px 0;}

    /* Why */
    .why-grid  {display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start;}
    .why-sticky{position:sticky;top:100px;}
    .why-item  {display:flex;gap:24px;align-items:flex-start;padding:28px 0;border-bottom:1px solid rgba(0,0,0,.07);}
    .why-item:last-child{border-bottom:none;}
    .why-num   {font-size:13px;font-weight:700;color:var(--cyan);letter-spacing:.5px;min-width:28px;padding-top:4px;}
    .why-text h3{font-size:17px;font-weight:600;color:var(--ink);margin-bottom:6px;}
    .why-text p {font-size:15px;color:var(--mid);line-height:1.60;}

    /* Scenarios */
    .scenario-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:56px;}

    /* Fokus — 2-Spalten: Text links, Dreieck rechts */
    .fokus-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;}
    .tri-col{display:flex;justify-content:center;align-items:center;}

    /* Tabs */
    .tab-bar  {display:flex;gap:4px;background:rgba(0,0,0,.05);border-radius:10px;padding:4px;width:fit-content;margin-top:40px;}
    .tab-btn  {padding:10px 24px;border-radius:7px;font-size:14px;font-weight:600;color:var(--mid);background:none;border:none;cursor:pointer;transition:all 150ms;}
    .tab-btn.active{background:var(--white);color:var(--navy);box-shadow:var(--shadow-ring);}
    .tab-panel{display:none;}
    .tab-panel.active{display:grid;}
    .leistung-card{background:var(--white);border-radius:12px;box-shadow:var(--shadow-card);padding:36px;display:flex;flex-direction:column;gap:12px;transition:box-shadow 200ms,transform 200ms;}
    .leistung-card:hover{box-shadow:rgba(0,0,0,.10) 0px 0px 0px 1px,rgba(0,0,0,.06) 0px 4px 12px;transform:translateY(-2px);}
    .leistung-icon{width:44px;height:44px;background:linear-gradient(135deg,var(--navy),var(--navy-mid));border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:visible;} .leistung-icon svg{overflow:visible;}
    .leistung-role{font-size:11px;font-weight:600;letter-spacing:.8px;text-transform:uppercase;color:var(--cyan);}
    .process-strip{margin-top:40px;padding:24px 32px;background:rgba(0,29,85,0.03);border-radius:12px;border:0.5px solid rgba(0,29,85,0.08);}
    .process-strip-label{font-size:10px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:var(--muted);margin-bottom:14px;}
    .process-strip-groups{display:flex;gap:32px;flex-wrap:wrap;align-items:flex-start;}
    .process-group{display:flex;flex-direction:column;gap:6px;}
    .process-group-title{font-size:10px;font-weight:600;color:var(--mid);letter-spacing:.4px;text-transform:uppercase;}
    .process-tags{display:flex;flex-wrap:wrap;gap:5px;}
    .process-tag{font-size:12px;font-weight:500;padding:3px 10px;border-radius:5px;background:var(--white);color:var(--navy);border:0.5px solid rgba(0,29,85,0.14);white-space:nowrap;}

    /* Referenzen */
    .ref-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:56px;}
    .ref-card{background:var(--white);border-radius:12px;box-shadow:var(--shadow-card);padding:28px;display:flex;flex-direction:column;gap:0;transition:box-shadow 200ms,transform 200ms;position:relative;overflow:hidden;}
    .ref-card:hover{box-shadow:rgba(0,0,0,.10) 0px 0px 0px 1px,rgba(0,0,0,.06) 0px 4px 12px;transform:translateY(-2px);}
    .ref-card-accent{position:absolute;top:0;left:0;bottom:0;width:3px;border-radius:2px 0 0 2px;}
    .ref-top{display:flex;align-items:center;gap:8px;margin-bottom:14px;}
    .ref-icon{width:36px;height:36px;border-radius:8px;flex-shrink:0;display:flex;align-items:center;justify-content:center;overflow:visible;} .ref-icon svg{overflow:visible;}
    .ref-industry{font-size:11px;font-weight:600;letter-spacing:.6px;text-transform:uppercase;flex:1;}
    .ref-badge{font-size:10px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;padding:3px 8px;border-radius:5px;background:#fef3c7;color:#92400e;border:0.5px solid #fde68a;white-space:nowrap;flex-shrink:0;}
    .ref-title{font-size:16px;font-weight:700;color:var(--ink);margin-bottom:14px;line-height:1.3;letter-spacing:-.2px;}
    .ref-scope{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:7px;}
    .ref-scope li{font-size:13px;color:var(--mid);line-height:1.55;padding-left:14px;position:relative;}
    .ref-scope li::before{content:'·';position:absolute;left:2px;color:var(--cyan);font-weight:900;font-size:1.1rem;line-height:1.2;}

    /* Mobile burger menu */
    .burger-btn{display:none;background:none;border:none;cursor:pointer;padding:4px;color:rgba(255,255,255,.85);}
    .burger-btn span{display:block;width:22px;height:2px;background:currentColor;margin:5px 0;border-radius:2px;transition:all .25s;}
    .nav.scrolled .burger-btn{color:var(--ink);}
    .mobile-nav{display:none;position:fixed;top:68px;left:0;right:0;background:var(--white);border-top:1px solid var(--border-2);z-index:99;padding:16px 0;box-shadow:0 8px 24px rgba(0,0,0,.1);}
    .mobile-nav.open{display:block;}
    .mobile-nav a{display:block;padding:12px 24px;font-size:15px;font-weight:500;color:var(--ink);text-decoration:none;border-bottom:0.5px solid rgba(0,0,0,.06);}
    .mobile-nav a:hover{background:var(--surface-2);}
    .mobile-nav .mobile-cta{margin:16px 24px 4px;display:block;text-align:center;background:var(--navy);color:#fff;border-radius:6px;padding:12px;font-weight:600;}
    @media(max-width:768px){
      .burger-btn{display:flex;flex-direction:column;justify-content:center;}
      .nav-links{display:none;}
      .nav-tagline{display:none;}
    }
    @media(max-width:1024px){.ref-grid{grid-template-columns:repeat(2,1fr);}}
    @media(max-width:600px){.ref-grid{grid-template-columns:1fr;}}

    /* Team */
    .team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:56px;}
    .avatar   {width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700;color:var(--white);margin-bottom:20px;flex-shrink:0;}
    .team-card{background:var(--white);border-radius:12px;box-shadow:var(--shadow-card);padding:32px 28px;display:flex;flex-direction:column;gap:0;transition:box-shadow 200ms,transform 200ms;}
    .team-card:hover{box-shadow:rgba(0,0,0,.10) 0px 0px 0px 1px,rgba(0,0,0,.06) 0px 4px 12px,rgba(0,0,0,.04) 0px 16px 24px -8px;transform:translateY(-2px);}
    .team-name{font-size:17px;font-weight:700;color:var(--ink);margin-bottom:4px;letter-spacing:-.2px;}
    .team-role{font-size:13px;font-weight:500;color:var(--muted);margin-bottom:16px;line-height:1.4;}
    .team-bio {font-size:14px;color:var(--mid);line-height:1.65;margin-bottom:20px;flex:1;}
    .team-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto;}
    .team-tag {font-size:11px;font-weight:500;padding:3px 9px;border-radius:5px;background:rgba(0,29,85,0.06);color:var(--navy);border:0.5px solid rgba(0,29,85,0.12);}

    /* Mobile burger menu */
    .burger-btn{display:none;background:none;border:none;cursor:pointer;padding:4px;color:rgba(255,255,255,.85);}
    .burger-btn span{display:block;width:22px;height:2px;background:currentColor;margin:5px 0;border-radius:2px;transition:all .25s;}
    .nav.scrolled .burger-btn{color:var(--ink);}
    .mobile-nav{display:none;position:fixed;top:68px;left:0;right:0;background:var(--white);border-top:1px solid var(--border-2);z-index:99;padding:16px 0;box-shadow:0 8px 24px rgba(0,0,0,.1);}
    .mobile-nav.open{display:block;}
    .mobile-nav a{display:block;padding:12px 24px;font-size:15px;font-weight:500;color:var(--ink);text-decoration:none;border-bottom:0.5px solid rgba(0,0,0,.06);}
    .mobile-nav a:hover{background:var(--surface-2);}
    .mobile-nav .mobile-cta{margin:16px 24px 4px;display:block;text-align:center;background:var(--navy);color:#fff;border-radius:6px;padding:12px;font-weight:600;}
    @media(max-width:768px){
      .burger-btn{display:flex;flex-direction:column;justify-content:center;}
      .nav-links{display:none;}
      .nav-tagline{display:none;}
    }
    @media(max-width:1024px){.team-grid{grid-template-columns:repeat(2,1fr);}}
    @media(max-width:600px) {.team-grid{grid-template-columns:1fr;}}

    .contact-card{background:var(--white);border-radius:12px;box-shadow:var(--shadow-featured);padding:64px;text-align:center;max-width:680px;margin:0 auto;}

    /* Footer — Navy */
    .footer{background:var(--navy);padding:48px 0;}
    .footer-inner{display:flex;align-items:center;justify-content:space-between;}
    .footer-logo{font-size:16px;font-weight:700;letter-spacing:-.3px;color:var(--white);}
    .footer-links{display:flex;gap:32px;list-style:none;}
    .footer-links a{font-size:13px;color:rgba(255,255,255,.50);text-decoration:none;transition:color 150ms;}
    .footer-links a:hover{color:rgba(255,255,255,.85);}

    .pill    {display:inline-flex;align-items:center;background:rgba(58,208,230,.12);color:#007A8C;border-radius:9999px;padding:4px 12px;font-size:12px;font-weight:500;}
    .divider {border:none;border-top:1px solid rgba(0,0,0,.07);margin:0;}
    .dark-graphic     {position:absolute;right:-80px;bottom:-80px;width:400px;height:400px;pointer-events:none;opacity:.18;}
    .dark-graphic-left{position:absolute;left:-60px;top:-60px;width:300px;height:300px;pointer-events:none;opacity:.10;}
    .fade-in{opacity:0;transform:translateY(20px);transition:opacity 600ms ease,transform 600ms ease;}
    .fade-in.visible{opacity:1;transform:translateY(0);}


    /* Mobile burger menu */
    .burger-btn{display:none;background:none;border:none;cursor:pointer;padding:4px;color:rgba(255,255,255,.85);}
    .burger-btn span{display:block;width:22px;height:2px;background:currentColor;margin:5px 0;border-radius:2px;transition:all .25s;}
    .nav.scrolled .burger-btn{color:var(--ink);}
    .mobile-nav{display:none;position:fixed;top:68px;left:0;right:0;background:var(--white);border-top:1px solid var(--border-2);z-index:99;padding:16px 0;box-shadow:0 8px 24px rgba(0,0,0,.1);}
    .mobile-nav.open{display:block;}
    .mobile-nav a{display:block;padding:12px 24px;font-size:15px;font-weight:500;color:var(--ink);text-decoration:none;border-bottom:0.5px solid rgba(0,0,0,.06);}
    .mobile-nav a:hover{background:var(--surface-2);}
    .mobile-nav .mobile-cta{margin:16px 24px 4px;display:block;text-align:center;background:var(--navy);color:#fff;border-radius:6px;padding:12px;font-weight:600;}
    @media(max-width:768px){
      .burger-btn{display:flex;flex-direction:column;justify-content:center;}
      .nav-links{display:none;}
      .nav-tagline{display:none;}
    }
    @media(max-width:1024px){
      #dna-canvas{display:none;}.hero-content{max-width:100%;}
      .why-grid,.fokus-grid{grid-template-columns:1fr;gap:48px;}
      .why-sticky{position:static;}
      .tri-col{justify-content:flex-start;}
    }
    @media(max-width:768px){
      .t-display{font-size:42px;}.t-section{font-size:34px;}.section{padding:72px 0;}
      .stat-row{grid-template-columns:1fr;}.scenario-grid{grid-template-columns:1fr;}
      .team-grid{grid-template-columns:repeat(2,1fr);}.contact-card{padding:40px 24px;}
      .tab-bar{flex-direction:column;width:100%;}
    }
  

/* ── Subpage styles (Impressum / Datenschutz) ─────────────────── */
/* Nav */
    .nav{background:var(--white);box-shadow:rgba(0,0,0,0.07) 0px 1px 0px 0px;position:sticky;top:0;z-index:100;}
    .nav-inner{display:flex;align-items:center;justify-content:space-between;height:68px;max-width:1200px;margin:0 auto;padding:0 40px;}
    .nav-logo-link{display:flex;align-items:center;text-decoration:none;}
    .nav-logo-img{height:44px;width:auto;display:block;}
    .nav-tagline{font-size:12px;font-weight:500;color:var(--muted);margin-left:10px;white-space:nowrap;}
    .nav-back{font-size:14px;font-weight:500;color:var(--navy);text-decoration:none;display:flex;align-items:center;gap:6px;}
    .nav-back:hover{color:var(--cyan);}
    .nav-back svg{flex-shrink:0;}

    /* Content */
    .page-hero{background:var(--navy);padding:72px 0 56px;}
    .page-hero .container{max-width:1200px;margin:0 auto;padding:0 40px;}
    .eyebrow{display:inline-block;font-size:11px;font-weight:600;letter-spacing:.8px;text-transform:uppercase;color:var(--cyan);margin-bottom:14px;}
    .page-title{font-size:42px;font-weight:700;color:#fff;line-height:1.05;letter-spacing:-1px;}

    .content{max-width:1200px;margin:0 auto;padding:64px 40px 100px;}
    .content-grid{display:grid;grid-template-columns:220px 1fr;gap:64px;align-items:start;}
    .toc{position:sticky;top:88px;}
    .toc-title{font-size:11px;font-weight:600;letter-spacing:.7px;text-transform:uppercase;color:var(--muted);margin-bottom:16px;}
    .toc a{display:block;font-size:13px;color:var(--mid);text-decoration:none;padding:5px 0;border-left:2px solid transparent;padding-left:10px;transition:all .15s;}
    .toc a:hover,.toc a.active{color:var(--navy);border-left-color:var(--cyan);}

    .prose section{margin-bottom:48px;}
    .prose h2{font-size:22px;font-weight:700;color:var(--ink);margin-bottom:16px;letter-spacing:-.3px;padding-top:4px;}
    .prose h3{font-size:16px;font-weight:600;color:var(--ink);margin:20px 0 8px;}
    .prose p{font-size:15px;color:var(--mid);line-height:1.75;margin-bottom:12px;}
    .prose p:last-child{margin-bottom:0;}
    .prose a{color:var(--navy);text-decoration:underline;}
    .prose a:hover{color:var(--cyan);}
    .review-note{background:#fffbeb;border:1px solid #fde68a;border-radius:8px;padding:12px 16px;font-size:13px;color:#92400e;margin-top:12px;display:flex;gap:8px;align-items:flex-start;line-height:1.5;}
    .review-note::before{content:'⚠';flex-shrink:0;}

    .footer{background:var(--navy);padding:32px 0;}
    .footer-inner{max-width:1200px;margin:0 auto;padding:0 40px;display:flex;align-items:center;justify-content:space-between;}
    .footer-logo{font-size:14px;font-weight:600;color:#fff;}
    .footer-links{display:flex;gap:24px;list-style:none;}
    .footer-links a{font-size:13px;color:rgba(255,255,255,.45);text-decoration:none;}
    .footer-links a:hover{color:rgba(255,255,255,.85);}

    @media(max-width:768px){
      .content-grid{grid-template-columns:1fr;}
      .toc{display:none;}
      .page-title{font-size:30px;}
    }
/* ── Hero v3: DNA as background, text centered on top ───────────── */
.hero{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:100vh;
}
.hero-content-v3{
  max-width:760px;
  text-align:center;
  padding:100px 40px;
  position:relative;
  z-index:2;
}
.hero-content-v3 .hero-actions{
  justify-content:center;
}
