/*
Theme Name: DIGISALE 2026
Theme URI: https://digisale.org
Author: ruf-media
Description: Neues DIGISALE Theme (Redesign 2026) auf Basis der Homepage-v9-Vorlage. Kein Page-Builder, klassisches Theme.
Version: 0.1.0
Requires PHP: 7.4
Text Domain: digisale2026
*/

/* ===== Lokale Fonts (kein Google-Fonts-Request, DSGVO) ===== */
@font-face{
  font-family:'Lato';
  font-style:italic;
  font-weight:400;
  font-display:swap;
  src:url('assets/fonts/lato-400-italic-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face{
  font-family:'Lato';
  font-style:italic;
  font-weight:400;
  font-display:swap;
  src:url('assets/fonts/lato-400-italic-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face{
  font-family:'Lato';
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:url('assets/fonts/lato-400-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face{
  font-family:'Lato';
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:url('assets/fonts/lato-400-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face{
  font-family:'Lato';
  font-style:normal;
  font-weight:700;
  font-display:swap;
  src:url('assets/fonts/lato-700-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face{
  font-family:'Lato';
  font-style:normal;
  font-weight:700;
  font-display:swap;
  src:url('assets/fonts/lato-700-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face{
  font-family:'Lato';
  font-style:normal;
  font-weight:900;
  font-display:swap;
  src:url('assets/fonts/lato-900-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face{
  font-family:'Lato';
  font-style:normal;
  font-weight:900;
  font-display:swap;
  src:url('assets/fonts/lato-900-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face{
  font-family:'Poppins';
  font-style:normal;
  font-weight:600;
  font-display:swap;
  src:url('assets/fonts/poppins-600-devanagari.woff2') format('woff2');
  unicode-range:U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B09;
}
@font-face{
  font-family:'Poppins';
  font-style:normal;
  font-weight:600;
  font-display:swap;
  src:url('assets/fonts/poppins-600-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face{
  font-family:'Poppins';
  font-style:normal;
  font-weight:600;
  font-display:swap;
  src:url('assets/fonts/poppins-600-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face{
  font-family:'Poppins';
  font-style:normal;
  font-weight:700;
  font-display:swap;
  src:url('assets/fonts/poppins-700-devanagari.woff2') format('woff2');
  unicode-range:U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B09;
}
@font-face{
  font-family:'Poppins';
  font-style:normal;
  font-weight:700;
  font-display:swap;
  src:url('assets/fonts/poppins-700-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face{
  font-family:'Poppins';
  font-style:normal;
  font-weight:700;
  font-display:swap;
  src:url('assets/fonts/poppins-700-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

  :root{
    --navy:#204059;
    --teal:#1B6B93;
    --gray:#595959;
    --lightgray:#EDEDED;
    --black:#12181c;
    --white:#ffffff;
    --font-display:'Lato', -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --font-body:'Lato', -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --font-hero:'Poppins', -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --maxw:1240px;
    --nav-h:76px;
    --radius:15px;
    --shadow:0 4px 6px rgba(0,0,0,0.1);
  }

  *,*::before,*::after{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    font-family:var(--font-body);
    color:var(--black);
    background:var(--white);
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  img{max-width:100%;display:block;}
  a{color:inherit;text-decoration:none;}
  h1,h2,h3,h4{font-family:var(--font-display);font-weight:700;margin:0;line-height:1.08;color:var(--navy);}
  p{margin:0;line-height:1.6;color:var(--gray);}
  section{scroll-margin-top:var(--nav-h);}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px;}
  .eyebrow{
    display:block;
    font-family:var(--font-body);
    font-size:0.78rem;
    font-weight:700;
    letter-spacing:0.14em;
    text-transform:uppercase;
    color:var(--teal);
    margin-bottom:14px;
  }
  .skip-link{
    position:absolute;left:-999px;top:0;background:var(--navy);color:#fff;padding:12px 20px;z-index:1000;
  }
  .skip-link:focus{left:12px;top:12px;}

  /* Buttons */
  .btn{
    display:inline-flex;align-items:center;justify-content:center;gap:8px;
    padding:15px 28px;
    font-family:var(--font-body);
    font-size:0.95rem;
    font-weight:700;
    border-radius:2px;
    border:1.5px solid transparent;
    transition:background .18s ease, color .18s ease, border-color .18s ease, transform .18s ease;
    cursor:pointer;
    white-space:nowrap;
  }
  .btn-primary{background:var(--navy);color:#fff;}
  .btn-primary:hover{background:var(--teal);transform:translateY(-1px);}
  .btn-secondary{background:transparent;color:var(--navy);border-color:var(--navy);}
  .btn-secondary:hover{background:var(--navy);color:#fff;}
  .btn-light{background:#fff;color:var(--navy);}
  .btn-light:hover{background:var(--lightgray);}

  /* Header */
  header{
    position:fixed;top:0;left:0;right:0;z-index:500;
    height:var(--nav-h);
    display:flex;align-items:center;
    background:rgba(255,255,255,0.94);
    backdrop-filter:blur(8px);
    transition:box-shadow .25s ease, border-color .25s ease;
    border-bottom:1px solid var(--lightgray);
  }
  header.scrolled{box-shadow:0 4px 20px -12px rgba(18,24,28,0.18);}
  header .wrap{display:flex;align-items:center;justify-content:space-between;width:100%;}
  .logo img{height:34px;width:auto;}
  nav.primary-nav{display:none;align-items:center;gap:32px;}
  nav.primary-nav a{
    font-size:0.92rem;font-weight:700;color:var(--navy);position:relative;padding:6px 0;
  }
  nav.primary-nav a::after{
    content:"";position:absolute;left:0;bottom:0;width:0;height:2px;background:var(--teal);transition:width .2s ease;
  }
  nav.primary-nav a:hover::after{width:100%;}
  .header-actions{display:flex;align-items:center;gap:18px;}
  .mediadaten-link{
    display:none;
    font-size:0.82rem;font-weight:700;color:var(--gray);
    border-bottom:1px solid var(--gray);
    padding-bottom:1px;
  }
  .mediadaten-link:hover{color:var(--navy);border-color:var(--navy);}
  .menu-toggle{
    display:flex;flex-direction:column;justify-content:center;gap:5px;
    width:40px;height:40px;border:none;background:transparent;cursor:pointer;padding:0;
  }
  .menu-toggle span{display:block;width:24px;height:2px;background:var(--navy);}

  .mobile-nav{
    position:fixed;inset:0;background:#fff;z-index:600;
    display:flex;flex-direction:column;
    padding:24px;
    transform:translateY(-100%);
    transition:transform .28s ease;
  }
  .mobile-nav.open{transform:translateY(0);}
  .mobile-nav-top{display:flex;align-items:center;justify-content:space-between;height:var(--nav-h);}
  .mobile-nav-close{background:none;border:none;font-size:1.8rem;line-height:1;color:var(--navy);cursor:pointer;}
  .mobile-nav a{
    display:block;font-family:var(--font-display);font-size:1.9rem;color:var(--navy);padding:14px 0;border-bottom:1px solid var(--lightgray);
  }
  .mobile-nav .mediadaten-link{display:block;margin-top:24px;font-size:0.95rem;}

  /* Hero banner — compact image band, matches live site's ~500px slider height */
  .hero-banner{
    position:relative;overflow:hidden;
    height:clamp(360px, 52vw, 520px);
    margin-top:var(--nav-h);
    display:flex;align-items:center;
    background:#EDEDED;
  }
  .hero-banner img{
    position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 42%;
    filter:grayscale(1) brightness(1.14) contrast(0.85);
  }
  .hero-banner::after{
    content:"";position:absolute;inset:0;background:rgba(237,237,237,0.55);
  }
  .hero-dots{
    position:absolute;top:28px;right:6%;width:170px;height:110px;z-index:1;
    background-image:radial-gradient(rgba(32,64,89,0.35) 1.5px, transparent 1.5px);
    background-size:14px 14px;
    pointer-events:none;
  }
  .hero-lines{position:absolute;inset:0;z-index:1;pointer-events:none;}
  .hero-lines span{position:absolute;bottom:0;width:1px;background:rgba(32,64,89,0.4);}
  .hero-banner .wrap{position:relative;z-index:2;width:100%;}
  .hero-banner h1{
    font-family:var(--font-hero);
    font-size:clamp(2.1rem, 5vw, 3.6rem);
    font-weight:700;letter-spacing:-0.01em;color:var(--navy);
    max-width:600px;
  }

  /* Hero content — subline + CTAs, plain white section right after the banner */
  .hero-content{padding:40px 0 24px;}
  .hero-content p.sub{font-size:clamp(1rem, 1.3vw, 1.14rem);color:var(--gray);max-width:620px;}
  .hero-ctas{display:flex;flex-wrap:wrap;gap:16px;margin-top:28px;}

  /* Floating contact widget — matches live site's fixed pill */
  .floating-contact{
    position:fixed;bottom:24px;right:0;z-index:400;
    display:flex;align-items:center;gap:10px;
    background:#f8f8f8;border-radius:15px 0 0 15px;
    padding:10px;box-shadow:0 4px 8px rgba(0,0,0,0.1);
  }
  .floating-contact span{font-size:0.95rem;font-weight:700;color:var(--navy);padding-left:6px;}
  .floating-contact img{width:50px;height:50px;border-radius:50%;object-fit:cover;}

  @media (max-width:639px){
    .hero-banner{height:clamp(320px, 78vw, 440px);}
    .floating-contact span{display:none;}
    .floating-contact{padding:6px;}
  }

  /* Section spacing */
  .section{padding:96px 0;}
  .section-top-tight{padding-top:24px;}
  .section-tight{padding:72px 0;}
  .section-head{max-width:680px;margin-bottom:56px;}
  .section-head h2{font-size:clamp(2rem, 3.4vw, 2.85rem);}
  .section-head .divider{width:56px;height:4px;background:var(--navy);margin-top:18px;}
  .section-head p{margin-top:18px;font-size:1.08rem;}
  .bg-light{background:var(--lightgray);}
  .bg-navy{background:var(--navy);}
  .bg-navy .section-head .divider{background:#fff;}
  .bg-navy .eyebrow{color:#8fc4dc;}
  .bg-navy h2, .bg-navy h3, .bg-navy h4{color:#fff;}
  .bg-navy p{color:#c9d6e0;}

  /* Buttons — pill (matches live site's card CTAs) */
  .btn-pill{
    display:inline-flex;align-items:center;gap:6px;
    background:#000;color:#fff;
    border-radius:10px;padding:9px 18px;
    font-size:0.82rem;font-weight:700;
  }
  .btn-pill:hover{background:var(--navy);}

  /* Referenzen — feature cards */
  .feature-grid{display:grid;grid-template-columns:1fr;gap:32px;}
  .feature-card{
    display:grid;grid-template-columns:180px 1fr;gap:24px;
    background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);
    padding:24px;align-items:center;
    transition:box-shadow .2s ease, transform .2s ease;
  }
  @media (max-width:559px){
    .feature-card{grid-template-columns:1fr;}
    .feature-card .cover{max-width:200px;margin:0 auto;}
  }
  @media (min-width:640px){
    .feature-grid{grid-template-columns:repeat(2,1fr);gap:24px;}
    .feature-card{grid-template-columns:1fr;align-items:start;padding:20px;}
    .feature-card .cover{max-width:220px;margin:0 auto;}
  }
  .feature-card:hover{box-shadow:0 18px 40px -20px rgba(32,64,89,0.32);transform:translateY(-2px);}
  .feature-card .cover{width:100%;border-radius:10px;overflow:hidden;box-shadow:0 10px 24px -12px rgba(0,0,0,0.35);}
  .feature-card .cover img{aspect-ratio:5/7;object-fit:cover;}
  .feature-logo{height:26px;width:auto;margin-bottom:14px;opacity:0.85;}
  .feature-card h3{font-size:1.5rem;margin-bottom:10px;}
  .feature-card p{font-size:0.98rem;}
  .feature-card .goto{display:inline-flex;margin-top:18px;}

  /* Portfolio grid */
  .portfolio-grid{
    display:grid;grid-template-columns:repeat(2,1fr);gap:28px 24px;
  }
  .portfolio-card{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:16px;}
  .portfolio-card .cover{border-radius:10px;box-shadow:0 12px 26px -16px rgba(0,0,0,0.3);margin-bottom:14px;overflow:hidden;}
  .portfolio-card .cover img{aspect-ratio:5/7;object-fit:cover;transition:transform .35s ease;}
  .portfolio-card:hover .cover img{transform:scale(1.035);}
  .portfolio-card h4{font-size:1.02rem;font-weight:700;margin-bottom:4px;}
  .portfolio-card .kind{font-size:0.84rem;color:var(--gray);}

  /* Pillars */
  .pillars{display:grid;grid-template-columns:1fr;gap:24px;}
  .pillar{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:44px 36px;}
  .pillar .num{
    font-family:var(--font-display);font-size:0.95rem;font-weight:700;color:var(--teal);
    display:inline-block;margin-bottom:18px;letter-spacing:0.04em;
  }
  .pillar h3{font-size:1.5rem;margin-bottom:14px;}
  .pillar p{font-size:0.98rem;}

  /* Warum / facts */
  .warum-grid{display:grid;grid-template-columns:1fr;gap:56px;align-items:start;}
  .facts-list{list-style:none;margin:0;padding:0;display:grid;gap:14px;}
  .facts-list li{
    display:flex;align-items:flex-start;gap:12px;font-size:1.02rem;color:var(--black);padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,0.14);
  }
  .facts-list li::before{content:"—";color:var(--teal);font-weight:700;flex:none;}
  .quote-block{border-left:3px solid var(--teal);padding-left:24px;}
  .quote-block blockquote{
    margin:0;font-family:var(--font-display);font-size:1.28rem;font-style:italic;color:#fff;line-height:1.5;
  }
  .quote-person{display:flex;align-items:center;gap:14px;margin-top:22px;}
  .quote-person img{width:56px;height:56px;border-radius:50%;object-fit:cover;}
  .quote-person .name{font-weight:700;color:#fff;font-size:0.95rem;}
  .quote-person .role{font-size:0.84rem;color:#a9bccb;}

  /* Team — compact round portraits */
  .team-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:34px 20px;
    align-items:start;
  }
  .team-card{text-align:center;min-width:0;}
  .team-photo{
    width:104px;
    height:104px;
    border-radius:50%;
    background:#f3f0e9;
    overflow:hidden;
    margin:0 auto 12px;
    border:1px solid #e5e0d7;
    box-shadow:0 8px 22px -18px rgba(18,24,28,.45);
  }
  .team-photo img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center 18%;
    display:block;
  }
  .team-photo.placeholder{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    background:
      radial-gradient(circle at 14px 14px, rgba(32,64,89,.13) 1.1px, transparent 1.3px) 0 0/22px 22px,
      linear-gradient(160deg,#f7f4ed 0%,#ece7dd 100%);
  }
  .team-photo.placeholder::before{
    content:"";
    position:absolute;
    left:18%;right:18%;bottom:27%;height:1px;
    background:rgba(32,64,89,.22);
    transform:rotate(-7deg);
  }
  .team-photo.placeholder span{
    position:relative;
    z-index:1;
    font-family:var(--font-display);
    font-size:1.55rem;
    font-weight:700;
    letter-spacing:.06em;
    color:var(--navy);
  }
  .team-card h4{font-size:1.02rem;margin-bottom:3px;color:var(--navy);}
  .team-card .role{font-size:0.84rem;color:var(--gray);line-height:1.4;}
  @media (min-width:640px){
    .team-grid{grid-template-columns:repeat(3,1fr);gap:38px 24px;}
    .team-photo{width:112px;height:112px;}
  }
  @media (min-width:1024px){
    .team-grid{grid-template-columns:repeat(5,1fr);gap:42px 26px;}
    .team-photo{width:118px;height:118px;}
  }

  /* Workflow */
  .workflow-grid{display:grid;grid-template-columns:1fr;gap:36px;}
  .workflow-step .num{
    font-family:var(--font-display);font-size:2.6rem;color:var(--teal);display:block;margin-bottom:12px;
  }
  .workflow-step p{font-size:1.05rem;color:var(--black);}

  /* Testimonials */
  .testi-grid{display:grid;grid-template-columns:1fr;gap:28px;}
  .testi-card{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:32px;display:flex;flex-direction:column;gap:20px;}
  .testi-card blockquote{margin:0;font-size:1.05rem;color:var(--black);font-style:italic;line-height:1.6;}
  .testi-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;}
  .testi-person{display:flex;align-items:center;gap:12px;}
  .testi-person img{width:48px;height:48px;border-radius:50%;object-fit:cover;}
  .testi-person .name{font-weight:700;font-size:0.92rem;color:var(--navy);}
  .testi-person .role{font-size:0.8rem;color:var(--gray);}
  .testi-logo{height:22px;width:auto;opacity:0.75;}

  /* Final CTA */
  .final-cta{text-align:center;}
  .final-cta h2{font-size:clamp(2.1rem,4vw,3.2rem);max-width:760px;margin:0 auto;}
  .final-cta p{max-width:520px;margin:20px auto 0;font-size:1.08rem;}
  .final-cta .btn{margin-top:34px;}

  /* Footer */
  footer{background:var(--black);color:#c7ccd0;padding:64px 0 28px;}
  .footer-grid{display:grid;grid-template-columns:1fr;gap:44px;padding-bottom:44px;border-bottom:1px solid #2a3238;}
  .footer-logo img{height:30px;filter:brightness(0) invert(1);margin-bottom:16px;}
  .footer-col h5{font-family:var(--font-body);font-size:0.78rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:#8993a0;margin-bottom:16px;}
  .footer-col a, .footer-col p{display:block;font-size:0.92rem;color:#c7ccd0;margin-bottom:10px;}
  .footer-col a:hover{color:#fff;}
  a.media-download{
    display:inline-flex;align-items:center;gap:10px;
    background:#fff;border:2px solid #D7263D;border-radius:12px;
    padding:10px 16px;margin-top:8px;
    transition:transform .18s ease, box-shadow .18s ease;
  }
  .media-download:hover{transform:translateY(-2px);box-shadow:0 12px 24px -14px rgba(0,0,0,0.4);color:#fff;}
  .media-download-icon{color:#D7263D;flex:none;display:flex;}
  .media-download-icon svg{width:22px;height:22px;display:block;}
  .media-download-label{font-size:0.86rem;font-weight:700;color:var(--navy);margin:0;}
  .footer-bottom{display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;align-items:center;padding-top:24px;font-size:0.8rem;color:#7d8590;}
  .footer-bottom .legal a{margin-left:18px;color:#7d8590;}
  .footer-bottom .legal a:hover{color:#fff;}

  @media (min-width: 640px){
    .portfolio-grid{grid-template-columns:repeat(3,1fr);}
    .team-grid{grid-template-columns:repeat(3,1fr);}
    .pillars{grid-template-columns:repeat(3,1fr);}
    .footer-grid{grid-template-columns:1.4fr 1fr 1fr;}
    .footer-bottom{flex-wrap:nowrap;}
  }

  @media (min-width: 860px){
    .warum-grid{grid-template-columns:1fr 1fr;}
    .workflow-grid{grid-template-columns:repeat(4,1fr);}
    .testi-grid{grid-template-columns:repeat(2,1fr);}
  }

  @media (min-width: 1024px){
    nav.primary-nav{display:flex;}
    .mediadaten-link{display:inline-block;}
    .menu-toggle{display:none;}
    .mobile-nav{display:none;}
    .portfolio-grid{grid-template-columns:repeat(5,1fr);}
    .feature-card{grid-template-columns:220px 1fr;padding:36px;gap:36px;}
  }


  /* ===== V2 editorial refinements ===== */
  :root{--teal:#204059;}

  .hero-banner img{
    filter:grayscale(1) brightness(1.04) contrast(0.98);
  }
  .hero-banner::after{background:rgba(237,237,237,0.26);}
  .hero-dots{opacity:.55;}

  /* Editorial references: less card UI, more magazine */
  .feature-grid{gap:56px;}
  .feature-card{
    background:transparent;
    border-radius:0;
    box-shadow:none;
    padding:24px 0 0;
    border-top:1px solid #d9dfe3;
    align-items:start;
    transition:none;
  }
  .feature-card:hover{box-shadow:none;transform:none;}
  .feature-card .cover{
    border-radius:2px;
    box-shadow:0 18px 34px -22px rgba(0,0,0,.42);
  }
  .feature-card h3{font-size:1.7rem;}
  .feature-card p{max-width:430px;}
  .feature-logo{height:24px;}

  .portfolio-grid{gap:40px 24px;}
  .portfolio-card{
    background:transparent;
    border-radius:0;
    box-shadow:none;
    padding:0;
  }
  .portfolio-card .cover{
    border-radius:2px;
    box-shadow:0 16px 28px -20px rgba(0,0,0,.38);
    margin-bottom:16px;
  }
  .portfolio-card h4{font-size:1.05rem;}
  .portfolio-card .kind{line-height:1.35;}

  /* Service pillars: editorial columns instead of cards */
  .pillars{gap:48px;}
  .pillar{
    background:transparent;
    border-radius:0;
    box-shadow:none;
    border-top:2px solid var(--navy);
    padding:26px 0 0;
  }
  .pillar .num{margin-bottom:22px;}
  .pillar h3{font-size:1.6rem;}
  .pillar p{font-size:1rem;max-width:360px;}
  .service-tags{
    margin-top:22px;
    font-size:.82rem;
    font-weight:700;
    letter-spacing:.02em;
    color:var(--navy);
  }

  /* Visual digital-publishing explanation */
  .digital-showcase{overflow:hidden;}
  .digital-grid{display:grid;grid-template-columns:1fr;gap:56px;align-items:center;}
  .digital-copy h2{font-size:clamp(2rem,3.4vw,2.85rem);}
  .digital-copy p{font-size:1.08rem;max-width:560px;margin-top:20px;}
  .digital-points{display:grid;grid-template-columns:1fr 1fr;gap:18px 28px;margin-top:30px;}
  .digital-point{border-top:1px solid #d9dfe3;padding-top:12px;font-size:.95rem;color:var(--black);}
  .device-stage{position:relative;min-height:430px;display:flex;align-items:center;justify-content:center;}
  .browser-mock{
    width:min(100%,620px);aspect-ratio:16/10;background:#fff;border:1px solid #d6dce0;
    box-shadow:0 28px 70px -38px rgba(20,40,55,.42);border-radius:12px;overflow:hidden;
  }
  .browser-top{height:34px;background:#f4f5f6;border-bottom:1px solid #e0e4e7;display:flex;align-items:center;gap:6px;padding:0 12px;}
  .browser-top i{width:7px;height:7px;border-radius:50%;background:#c2c8cc;display:block;}
  .browser-content{padding:28px;display:grid;grid-template-columns:1.1fr .9fr;gap:24px;height:calc(100% - 34px);}
  .mock-hero{background:#e9edf0;min-height:150px;display:flex;align-items:flex-end;padding:18px;}
  .mock-title{width:72%;height:12px;background:var(--navy);box-shadow:0 22px 0 #9da9b1,0 44px 0 #c4cbd0;}
  .mock-list{display:grid;gap:12px;align-content:start;}
  .mock-card{display:grid;grid-template-columns:62px 1fr;gap:12px;align-items:center;}
  .mock-thumb{height:52px;background:#dfe5e8;}
  .mock-lines{height:7px;background:#8394a0;box-shadow:0 13px 0 #c1c9ce,0 26px 0 #d5dadd;}
  .phone-mock{
    position:absolute;right:2%;bottom:-14px;width:126px;height:250px;background:#fff;border:7px solid var(--navy);
    border-radius:24px;box-shadow:0 20px 50px -28px rgba(20,40,55,.5);padding:20px 10px 12px;
  }
  .phone-mock:before{content:"";position:absolute;top:6px;left:42px;width:28px;height:4px;border-radius:4px;background:#81909a;}
  .phone-block{height:62px;background:#e9edf0;margin-bottom:12px;}
  .phone-line{height:6px;background:#8797a1;margin:9px 0;}
  .phone-line.short{width:62%;background:#c2cbd0;}
  .mock-caption{font-size:.78rem;color:#7b858c;margin-top:14px;text-align:center;}

  /* Why DIGISALE: a principle instead of a founder/AI quote */
  .principle-block{border-left:3px solid rgba(255,255,255,.75);padding-left:28px;}
  .principle-block .eyebrow{color:#c9d6e0;margin-bottom:12px;}
  .principle-block h3{font-size:1.65rem;line-height:1.25;margin-bottom:18px;color:#fff;}
  .principle-block p{font-size:1.02rem;color:#c9d6e0;max-width:520px;}

  /* Smaller, focused team */
  .team-grid{grid-template-columns:repeat(2,1fr);gap:36px 28px;}
  .team-note{margin-top:42px;max-width:760px;padding-top:24px;border-top:1px solid #d9dfe3;font-size:1rem;}

  /* Testimonials remain one of the few deliberate card elements */
  .testimonials-v2 .testi-card{box-shadow:0 12px 36px -28px rgba(32,64,89,.45);}

  @media (min-width:640px){
    .feature-grid{grid-template-columns:repeat(2,1fr);}
    .feature-card{grid-template-columns:170px 1fr;gap:28px;}
    .feature-card .cover{max-width:none;margin:0;}
    .team-grid{grid-template-columns:repeat(3,1fr);}
  }
  @media (min-width:860px){
    .digital-grid{grid-template-columns:.85fr 1.15fr;gap:80px;}
  }
  @media (min-width:1024px){
    .feature-card{grid-template-columns:220px 1fr;padding:30px 0 0;gap:36px;}
    .portfolio-grid{grid-template-columns:repeat(5,1fr);}
  }
  @media (max-width:639px){
    .digital-points{grid-template-columns:1fr;}
    .device-stage{min-height:350px;}
    .browser-content{grid-template-columns:1fr;padding:20px;}
    .mock-list{display:none;}
    .phone-mock{right:0;width:108px;height:215px;}
  }


  /* ===== V3: service-led editorial structure ===== */
  .trust-strip{border-top:1px solid #e4e7e9;border-bottom:1px solid #e4e7e9;background:#fff;}
  .trust-strip-inner{min-height:72px;display:flex;align-items:center;gap:30px;flex-wrap:wrap;color:var(--gray);font-size:.9rem;}
  .trust-strip-inner strong{color:var(--navy);font-size:1rem;}
  .trust-strip-inner span{position:relative;padding-left:18px;}
  .trust-strip-inner span:before{content:"";position:absolute;left:0;top:50%;width:6px;height:6px;border-radius:50%;background:var(--navy);transform:translateY(-50%);opacity:.45;}

  .service-chapter{padding:110px 0;}
  .chapter-grid{display:grid;grid-template-columns:1fr;gap:58px;align-items:center;}
  .chapter-copy{max-width:560px;}
  .chapter-copy h2{font-size:clamp(2.25rem,4vw,3.7rem);letter-spacing:-.025em;max-width:680px;}
  .chapter-lead{font-size:1.18rem;line-height:1.65;margin-top:26px;color:#384750;}
  .chapter-detail{font-size:1rem;line-height:1.7;margin-top:18px;max-width:540px;}
  .chapter-note{font-weight:700;color:var(--navy);margin-top:26px;}
  .chapter-visual{min-width:0;}

  .chapter-references{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;align-items:start;}
  .chapter-ref{display:block;min-width:0;}
  .chapter-ref .cover{background:#f3f4f4;padding:20px 20px 0;box-shadow:none;border-radius:0;}
  .chapter-ref .cover img{width:100%;aspect-ratio:5/7;object-fit:cover;box-shadow:0 20px 38px -26px rgba(0,0,0,.55);}
  .chapter-ref-meta{padding:18px 2px 0;}
  .chapter-ref-meta .feature-logo{height:22px;margin:0 0 10px;max-width:120px;object-fit:contain;object-position:left center;}
  .chapter-ref-meta h3{font-size:1.2rem;margin-bottom:8px;}
  .chapter-ref-meta span{font-size:.83rem;font-weight:700;color:var(--navy);}

  .digital-visual .device-stage{min-height:440px;}
  .chapter-points{display:grid;grid-template-columns:1fr;gap:0;margin-top:30px;border-top:1px solid #cfd6da;}
  .chapter-points span{padding:14px 0;border-bottom:1px solid #cfd6da;color:#2d3940;font-size:.98rem;}

  .proof-stack{border-left:1px solid #d9dfe3;padding-left:38px;}
  .proof-kicker{font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;font-weight:700;color:var(--navy);margin-bottom:22px;}
  .proof-cards{display:grid;gap:28px;}
  .proof-quote{padding:0 0 28px;border-bottom:1px solid #d9dfe3;}
  .proof-quote:last-child{border-bottom:0;padding-bottom:0;}
  .proof-quote blockquote{margin:0;font-size:1.05rem;line-height:1.65;color:#2b373e;font-style:italic;}
  .proof-quote .testi-foot{margin-top:18px;}
  .proof-quote .testi-logo{height:20px;}

  .portfolio-section{padding-top:96px;}
  .portfolio-head{max-width:820px;}
  .portfolio-grid-wide{grid-template-columns:repeat(2,1fr);}

  .bg-navy .facts-list li{color:#fff;}
  .bg-navy .facts-list li::before{color:#fff;opacity:.72;}
  .bg-navy .facts-list li{border-bottom-color:rgba(255,255,255,.18);}
  .bg-navy .section-head{margin-bottom:48px;}
  .bg-navy .section-head h2{color:#fff;}

  @media (min-width:760px){
    .chapter-grid{grid-template-columns:.84fr 1.16fr;gap:72px;}
    .chapter-grid-reverse{grid-template-columns:1.16fr .84fr;}
    .portfolio-grid-wide{grid-template-columns:repeat(3,1fr);}
  }
  @media (min-width:1024px){
    .service-chapter{padding:126px 0;}
    .chapter-grid{gap:96px;}
    .portfolio-grid-wide{grid-template-columns:repeat(5,1fr);}
  }
  @media (max-width:759px){
    .trust-strip-inner{gap:12px 18px;padding-top:18px;padding-bottom:18px;}
    .trust-strip-inner strong{width:100%;}
    .service-chapter{padding:78px 0;}
    .chapter-references{gap:16px;}
    .chapter-ref .cover{padding:12px 12px 0;}
    .proof-stack{border-left:0;border-top:1px solid #d9dfe3;padding-left:0;padding-top:30px;}
  }


/* V6: team portraits pre-cropped with real headroom; never crop again in CSS */
.team-photo img{width:100%;height:100%;object-fit:contain !important;object-position:center center !important;transform:none !important;}

/* V7: echtes Sporthilfe-Webmag statt schematischem Mock-up */
.digital-visual{
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:0;
}
.sporthilfe-device-mockup{
  display:block;
  width:min(100%, 760px);
  height:auto;
  margin:0 auto;
  filter:drop-shadow(0 18px 28px rgba(18,24,28,.14));
}
@media (max-width: 859px){
  .sporthilfe-device-mockup{width:min(100%, 680px);}
}

/* V8 Feinschliff */
.chapter-live-link{
  display:inline-flex;align-items:center;gap:8px;margin-top:22px;
  color:var(--navy);font-weight:700;font-size:.95rem;
  border-bottom:1px solid rgba(32,64,89,.35);padding-bottom:3px;
  transition:color .18s ease,border-color .18s ease,transform .18s ease;
}
.chapter-live-link:hover{color:var(--teal);border-color:var(--teal);transform:translateX(2px);}
.sporthilfe-mockup-link{display:block;width:100%;}
.sporthilfe-mockup-link .sporthilfe-device-mockup{transition:transform .22s ease,filter .22s ease;}
.sporthilfe-mockup-link:hover .sporthilfe-device-mockup{transform:translateY(-3px);filter:drop-shadow(0 22px 32px rgba(18,24,28,.19));}

/* V9 navigation */
@media (min-width:1024px){
  nav.primary-nav{gap:30px;}
}
nav.primary-nav a.nav-media{margin-left:18px;}

/* Altbestand neutralisieren (nichts gelöscht):
   Das Elementor-Custom-Code-Snippet "cta" (ID 562) injiziert das alte
   KONTAKT-Floating-Widget – im neuen Theme ersetzt durch .floating-contact. */
.contact-label{display:none !important;}

/* ===== Elementor-Kit-Neutralisierung =====
   Das Kit-CSS (.elementor-kit-7 a, Spezifität 0,1,1) überschreibt sonst alle
   Linkfarben mit der Kit-Primärfarbe #212a3e – Buttons und Footer verlieren
   dadurch ihren Kontrast. Hier mit 0,1,2 zurückgeholt. */
body.wp-theme-digisale2026 a{color:inherit;}
body.wp-theme-digisale2026 .skip-link{color:#fff;}
body.wp-theme-digisale2026 nav.primary-nav a{color:var(--navy);}
body.wp-theme-digisale2026 .mediadaten-link{color:var(--gray);}
body.wp-theme-digisale2026 .mediadaten-link:hover{color:var(--navy);}
body.wp-theme-digisale2026 .mobile-nav a{color:var(--navy);}
body.wp-theme-digisale2026 .btn-primary{color:#fff;}
body.wp-theme-digisale2026 .btn-primary:hover{color:#fff;}
body.wp-theme-digisale2026 .btn-secondary{color:var(--navy);}
body.wp-theme-digisale2026 .btn-secondary:hover{color:#fff;}
body.wp-theme-digisale2026 .btn-light{color:var(--navy);}
body.wp-theme-digisale2026 .btn-light:hover{color:var(--navy);}
body.wp-theme-digisale2026 .btn-pill{color:#fff;}
body.wp-theme-digisale2026 .btn-pill:hover{color:#fff;}
body.wp-theme-digisale2026 .chapter-live-link{color:var(--navy);}
body.wp-theme-digisale2026 .chapter-live-link:hover{color:var(--teal);}
body.wp-theme-digisale2026 .footer-col a{color:#c7ccd0;}
body.wp-theme-digisale2026 .footer-col a:hover{color:#fff;}
body.wp-theme-digisale2026 .footer-bottom .legal a{color:#7d8590;}
body.wp-theme-digisale2026 .footer-bottom .legal a:hover{color:#fff;}
body.wp-theme-digisale2026 .media-download:hover{color:#fff;}

/* ===== Responsive-Fixes Navbar =====
   1) Hamburger-Balken: Altbestand-CSS lässt die spans per flex-shrink auf 0
      kollabieren – flex:none + min-height sichern die 2px ab. */
.menu-toggle span{flex:none;min-height:2px;}

/* 2) Zwischenbreite 1024–1199px: Nav-Abstände verkleinern, damit die
      Menüpunkte nicht am Logo kleben bzw. umbrechen. */
@media (min-width:1024px) and (max-width:1199px){
  nav.primary-nav{gap:16px;}
  nav.primary-nav a{font-size:0.84rem;}
  nav.primary-nav a.nav-media{margin-left:6px;}
  .logo img{height:30px;}
}

/* ===== Magazin-Einzelseiten (CPT magazin) =====
   Elementor-freier Nachbau des alten Templates 873 – Maße/Farben aus dem
   gerenderten Original übernommen. */
.mag-single{color:#212A3E;}
.mag-wrap{max-width:1140px;margin:0 auto;padding:0 20px;}

.mag-hero{position:relative;margin-top:var(--nav-h);padding:81px 0 80px;min-height:770px;background:#fff;}
.mag-hero-bg{
  position:absolute;inset:0;
  background-position:center center;background-repeat:no-repeat;background-size:cover;
  filter:saturate(0) blur(4.3px);
  opacity:0.07;
  pointer-events:none;
}
.mag-hero .mag-wrap{position:relative;z-index:1;}
.mag-back{
  display:inline-block;background:#000;color:#fff;
  font-family:var(--font-body);font-size:15px;font-weight:500;
  border-radius:10px;padding:8px 12px;margin-bottom:24px;
}
.mag-back:hover{background:var(--navy);color:#fff;}
.mag-cover{width:50%;max-width:569px;height:auto;display:block;}

.mag-body{background:#fff;padding-bottom:96px;}
.mag-cols{display:flex;gap:20px;align-items:flex-start;}
.mag-flipbook{width:37%;min-width:0;}
.mag-flipbook .real3dflipbook{position:relative !important;}
.mag-glass{
  width:63%;min-width:0;
  margin-top:-570px;
  position:relative;z-index:2;
  background:rgba(255,255,255,0.66);
  -webkit-backdrop-filter:blur(7.4px);backdrop-filter:blur(7.4px);
  border:1px solid rgba(255,255,255,0.3);
  border-radius:16px;
  box-shadow:0 4px 30px rgba(0,0,0,0.1);
  padding:20px;
}
.mag-glass-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:0 0 10px;}
.mag-glass-head h1{
  font-family:'Lato',sans-serif;font-size:32px;font-weight:600;color:#212A3E;margin:0;
  align-self:center;
}
.mag-glass-head .mag-logo{width:207px;max-width:40%;height:auto;}
.mag-facts{display:flex;flex-wrap:wrap;justify-content:space-between;}
.mag-facts-col{width:48%;}
.mag-fact{margin-bottom:10px;font-size:13px;line-height:1.5;color:#212A3E;}
.mag-fact strong{font-size:13px;}
.mag-fact a{text-decoration:underline;}
.mag-dl-head{font-family:'Lato',sans-serif;font-size:11px;font-weight:600;color:#212A3E;margin:16px 0 0;}
.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px;margin-top:10px;}
.media-item{text-align:center;}
.download-link{
  display:flex;flex-direction:column;align-items:center;
  background:#fff;border:1px solid #e5e5e5;border-radius:10px;padding:10px;
  color:inherit;cursor:pointer;
}
.download-link:hover{box-shadow:0 4px 14px rgba(0,0,0,0.08);}
.download-icon{width:24px;height:24px;margin-bottom:10px;}
.download-description{font-size:14px;}
.mag-profil h2{font-family:'Lato',sans-serif;font-size:24px;font-weight:600;color:#212A3E;margin:24px 0 10px;}
.mag-profil-text p{font-size:16px;line-height:1.65;color:#212A3E;margin-bottom:12px;}

@media (max-width:767px){
  .mag-hero{padding:40px 0 30px;min-height:0;}
  .mag-cover{width:80%;}
  .mag-cols{flex-direction:column;}
  .mag-glass{width:100%;margin-top:0;}
  .mag-flipbook{width:100%;order:2;}
  .mag-glass{order:1;}
  .mag-glass-head .mag-logo{max-width:46%;}
}

/* ===== Navbar rechtsbündig =====
   Logo links, Menü ganz rechts (Burger/Actions dahinter). */
header .wrap{justify-content:flex-start;gap:24px;}
nav.primary-nav{margin-left:auto;}
.header-actions{margin-left:auto;}
@media (min-width:1024px){
  .header-actions{display:none;}
}
body.wp-theme-digisale2026 .mag-back{color:#fff;}
body.wp-theme-digisale2026 .mag-back:hover{color:#fff;}

/* ===== Hero mit Revolution Slider (peak-header) =====
   Slider füllt die Hero-Fläche wie zuvor das statische Bild; Grauwert-Look
   und Overlay der v9-Vorlage bleiben erhalten (h1 + Dots liegen darüber). */
.hero-slider{
  position:absolute;inset:0;overflow:hidden;
  filter:grayscale(1) brightness(1.04) contrast(0.98);
}
.hero-slider rs-module-wrap,
.hero-slider rs-module,
.hero-slider rs-fullwidth-wrap{height:100% !important;min-height:100%;}

/* ===== Mediadaten-2026-Seite =====
   Aus der Kundenvorlage digisale-mediadaten-2026.html. Bewusst unter
   .media-page gescopt: .media-grid/.media-card existieren in anderer Form
   auch auf den Magazin-Einzelseiten. */
nav.primary-nav a.active::after{width:100%;}
.media-page .media-hero{margin-top:var(--nav-h);padding:108px 0 92px;background:var(--lightgray);}
.media-page .media-hero-inner{max-width:900px;margin-left:auto;margin-right:auto;text-align:center;}
.media-page .media-hero h1{font-family:var(--font-hero);font-size:clamp(3rem,7vw,5.5rem);letter-spacing:-.035em;color:var(--navy);}
.media-page .media-hero p{max-width:720px;margin:26px auto 0;font-size:1.18rem;}
.media-page .media-list-section{padding-top:88px;}
.media-page .media-list-head{display:grid;grid-template-columns:1.4fr .8fr;gap:60px;align-items:end;margin-bottom:58px;}
.media-page .media-list-head h2{font-size:clamp(2rem,3.5vw,3.1rem);}
.media-page .media-list-head>p{font-size:1.06rem;}
.media-page .media-grid{display:grid;grid-template-columns:1fr;gap:26px;margin-top:0;}
.media-page .media-card{display:grid;grid-template-columns:190px 1fr;gap:34px;padding:26px;background:#fff;border:1px solid #e2e5e7;border-radius:12px;align-items:center;}
.media-page .media-cover{background:#f5f5f4;min-height:250px;display:flex;align-items:center;justify-content:center;padding:12px;overflow:hidden;}
.media-page .media-cover img{width:100%;max-height:280px;object-fit:contain;box-shadow:0 14px 28px -20px rgba(0,0,0,.5);}
.media-page .media-kicker{display:block;font-size:.74rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--teal);margin-bottom:8px;}
.media-page .media-card h3{font-size:1.65rem;margin-bottom:10px;}
.media-page .media-desc{max-width:720px;}
.media-page .media-facts{list-style:none;padding:0;margin:18px 0 0;display:flex;flex-wrap:wrap;gap:8px 18px;}
.media-page .media-facts li{font-size:.9rem;font-weight:700;color:var(--navy);}
.media-page .media-facts li:not(:last-child)::after{content:'·';margin-left:18px;color:#aab2b8;}
.media-page .media-note{font-size:.82rem;margin-top:14px;font-style:italic;color:#777;}
.media-page .media-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px;}
.media-page .media-actions .btn{padding:11px 18px;font-size:.86rem;}
.media-page .media-contact-inner{display:grid;grid-template-columns:1.3fr .7fr;gap:64px;align-items:center;}
.media-page .media-contact h2{font-size:clamp(2rem,3.5vw,3rem);}
.media-page .media-contact p{margin-top:16px;max-width:670px;}
.media-page .media-contact-actions{display:flex;flex-direction:column;align-items:flex-start;gap:16px;}
.media-page .media-phone{color:#fff;font-weight:700;border-bottom:1px solid rgba(255,255,255,.5);padding-bottom:2px;}
body.wp-theme-digisale2026 .media-page .media-phone{color:#fff;}
@media (min-width:900px){
  .media-page .media-grid{grid-template-columns:repeat(2,1fr);}
  .media-page .media-card{grid-template-columns:145px 1fr;gap:24px;align-items:start;}
  .media-page .media-cover{min-height:220px;}
  .media-page .media-cover img{max-height:230px;}
  .media-page .media-facts{display:grid;grid-template-columns:1fr;gap:5px;}
  .media-page .media-facts li:not(:last-child)::after{content:'';margin:0;}
}
@media (max-width:760px){
  .media-page .media-hero{padding:72px 0 64px;}
  .media-page .media-list-head,.media-page .media-contact-inner{grid-template-columns:1fr;gap:22px;}
  .media-page .media-card{grid-template-columns:110px 1fr;gap:18px;padding:16px;}
  .media-page .media-cover{min-height:165px;padding:8px;}
  .media-page .media-cover img{max-height:180px;}
  .media-page .media-card h3{font-size:1.32rem;}
  .media-page .media-desc{font-size:.9rem;}
  .media-page .media-facts{display:block;}
  .media-page .media-facts li{margin:4px 0;}
  .media-page .media-facts li:not(:last-child)::after{content:'';margin:0;}
  .media-page .media-actions{grid-column:1/-1;}
  .media-page .media-actions .btn{width:100%;}
  .media-page .media-contact-actions{margin-top:8px;}
}

/* ===== Adminbar-Offset =====
   Eingeloggt sitzt die fixe Navbar sonst hinter der WP-Adminbar
   (32px Desktop, 46px bis 782px Breite). Gilt auch fürs Mobile-Overlay. */
body.admin-bar header{top:32px;}
body.admin-bar .mobile-nav{top:32px;}
@media (max-width:782px){
  body.admin-bar header{top:46px;}
  body.admin-bar .mobile-nav{top:46px;}
}

/* ===== Hero-Parallax =====
   Bild ist höher als der Hero und wird beim Scrollen langsamer bewegt
   (translateY via main.js). Bleed oben/unten verhindert weiße Kanten. */
#hero-parallax{
  height:140%;
  top:-20%;
  will-change:transform;
}
@media (prefers-reduced-motion:reduce){
  #hero-parallax{height:100%;top:0;transform:none !important;}
}

/* Hero-Video: gleiche Behandlung wie das Hero-Bild (cover + v9-Graufilter). */
.hero-banner video{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 42%;
  filter:grayscale(1) brightness(1.04) contrast(0.98);
}
video#hero-parallax{height:140%;top:-20%;will-change:transform;}
@media (prefers-reduced-motion:reduce){
  video#hero-parallax{height:100%;top:0;transform:none !important;}
}

/* ===== Headline-Animation (Hero) =====
   21st.dev-Style: Buchstaben steigen mit Stagger, Blur und Fade ein.
   JS zerlegt die H1 erst zur Laufzeit – ohne JS steht der Text normal da. */
.hero-banner h1 .anim-word{display:inline-block;white-space:nowrap;}
.hero-banner h1 .anim-char{
  display:inline-block;
  opacity:0;
  transform:translateY(0.65em);
  filter:blur(10px);
  animation:hero-char-in .75s cubic-bezier(.22,1,.36,1) forwards;
  animation-delay:var(--d,0s);
}
@keyframes hero-char-in{
  to{opacity:1;transform:translateY(0);filter:blur(0);}
}
@media (prefers-reduced-motion:reduce){
  .hero-banner h1 .anim-char{opacity:1;transform:none;filter:none;animation:none;}
}

/* ===== Team-Hover-Videos =====
   Foto bleibt stehen; beim Hovern blendet das animierte Porträt ein
   (Marcus zwinkert einmal, Evis Haar bewegt sich im Loop). */
.team-photo-video{position:relative;}
.team-photo-video video{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:contain;object-position:center center;
  opacity:0;transition:opacity .12s ease;
  pointer-events:none;
}
.team-photo-video.playing video{opacity:1;}

/* ===== "So arbeiten wir" – Process-Rail =====
   Adaptiert vom Kelvin-Process-Layout: horizontale Fortschrittslinie mit
   Nodes und großen Nummern. Farben/Fonts aus dem DIGISALE-System (Navy,
   Poppins für Nummern, Lato für Copy). Reveal via IntersectionObserver
   (.in-view), kein GSAP nötig. */
.process-section{padding:120px 0;}
.process-head{display:flex;flex-direction:column;gap:16px;align-items:flex-start;margin-bottom:80px;}
.process-head h2{font-size:clamp(2rem,3.4vw,2.85rem);color:#fff;letter-spacing:-0.02em;}
.process-head .is-dim{color:rgba(244,245,246,.55);}
.process-head .divider{width:56px;height:4px;background:#fff;margin-top:2px;}
.process-rail{position:relative;}
.process-line{position:absolute;top:6px;left:0;right:0;height:1px;background:rgba(244,245,246,.12);overflow:hidden;}
.process-line-fill{position:absolute;inset:0;background:#fff;transform:scaleX(0);transform-origin:0 50%;transition:transform 1.2s cubic-bezier(.45,0,.2,1) .3s;}
.process-track{display:grid;grid-template-columns:repeat(4,1fr);gap:48px;position:relative;}
.process-step{
  display:flex;flex-direction:column;align-items:flex-start;gap:14px;
  padding-top:40px;position:relative;
  opacity:0;transform:translateY(26px);
  transition:opacity .6s cubic-bezier(.22,1,.36,1),transform .6s cubic-bezier(.22,1,.36,1);
}
.process-step:nth-child(1){transition-delay:.30s;}
.process-step:nth-child(2){transition-delay:.44s;}
.process-step:nth-child(3){transition-delay:.58s;}
.process-step:nth-child(4){transition-delay:.72s;}
.process-node{position:absolute;top:0;left:0;width:13px;height:13px;border-radius:50%;background:var(--navy);border:1px solid rgba(244,245,246,.3);}
.process-num{
  font-family:var(--font-hero);font-size:56px;font-weight:700;line-height:1;
  letter-spacing:-1px;color:rgba(244,245,246,.35);
}
.process-step h3{font-family:var(--font-hero);font-size:1.9rem;font-weight:600;color:#fff;margin:0;letter-spacing:-0.01em;}
.process-step p{font-size:1rem;color:rgba(244,245,246,.6);max-width:30ch;margin:0;}
.process-head{opacity:0;transform:translateY(20px);transition:opacity .6s cubic-bezier(.22,1,.36,1),transform .6s cubic-bezier(.22,1,.36,1);}
.process-section.in-view .process-head{opacity:1;transform:none;}
.process-section.in-view .process-line-fill{transform:scaleX(1);}
.process-section.in-view .process-step{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){
  .process-head,.process-step{opacity:1;transform:none;transition:none;}
  .process-line-fill{transform:scaleX(1);transition:none;}
}
@media (max-width:991px){
  .process-section{padding:96px 0;}
  .process-line,.process-node{display:none;}
  .process-track{grid-template-columns:repeat(2,1fr);gap:48px 40px;}
  .process-step{border-top:1px solid rgba(244,245,246,.12);padding-top:32px;}
}
@media (max-width:479px){
  .process-track{grid-template-columns:1fr;}
  .process-num{font-size:44px;}
}

/* ===== Final-CTA: Reveal + Magnet-Button =====
   Wie cta-4-Vorlage: Elemente steigen gestaffelt ein, der Button folgt dem
   Cursor leicht (Magnet-Effekt via main.js) und federt zurück. */
.final-cta .cta-reveal{
  opacity:0;transform:translateY(24px);
  transition:opacity .6s cubic-bezier(.22,1,.36,1),transform .6s cubic-bezier(.22,1,.36,1);
}
.final-cta .cta-reveal:nth-child(1){transition-delay:.05s;}
.final-cta .cta-reveal:nth-child(2){transition-delay:.18s;}
.final-cta .cta-reveal:nth-child(3){transition-delay:.31s;}
.final-cta.in-view .cta-reveal{opacity:1;transform:none;}
.cta-magnet{display:inline-flex;padding:40px;margin-top:-6px;}
.cta-magnet .btn{
  will-change:transform;margin-top:0 !important;
  transition:background .18s ease,color .18s ease,transform .25s cubic-bezier(.22,1,.36,1);
}
@media (prefers-reduced-motion:reduce){
  .final-cta .cta-reveal{opacity:1;transform:none;transition:none;}
}

/* ===== Hero-Eingangszoom =====
   Wrapper ist 165% groß; Start bei scale(0.606) zeigt das Panorama in voller
   Breite (maximal rausgezoomt OHNE Ränder – weiter geht es formatbedingt
   nicht), Ende scale(1) = Ruhestand. Danach laufen Wolken-Video und
   Parallax normal weiter. */
.hero-media{
  position:absolute;left:-32.5%;top:-32.5%;width:165%;height:165%;
  animation:hero-zoom-in 7s cubic-bezier(.16,1,.3,1) both;
  will-change:transform;
}
@keyframes hero-zoom-in{
  from{transform:scale(0.606);}
  to{transform:scale(1);}
}
.hero-media img,
.hero-media video{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 42%;
}
.hero-media #hero-parallax{height:100%;top:0;}
@media (prefers-reduced-motion:reduce){
  .hero-media{animation:none;}
}

/* ===== Team-Videos: Touch-Geräte =====
   Auf Touch (kein echter Hover) werden die Videos komplett ausgeblendet –
   sonst übernimmt iOS beim Antippen das Video und zeigt es als Rechteck
   über dem runden Porträt. */
/* Android-Chrome hebt ein laufendes <video> auf eine eigene Compositing-
   Ebene; border-radius und overflow:hidden des Elternteils greifen dort
   nicht mehr, das Video erschien beim Antippen eckig. clip-path wird im
   Compositor ausgewertet und schneidet deshalb zuverlässig rund. */
.team-photo-video video{
  border-radius:50%;
  -webkit-clip-path:circle(50% at 50% 50%);
  clip-path:circle(50% at 50% 50%);
  pointer-events:none;
}
/* Eigener Stacking-Context, damit das Video-Layer im Kreis bleibt. */
.team-photo-video{isolation:isolate;}
@media (hover:none),(pointer:coarse){
  /* Touch: Video bleibt geladen, Start per Tap (siehe main.js). Der Tap
     trifft die Karte, nicht das Video – sonst öffnet iOS den Player. */
  .team-photo-video{cursor:pointer;-webkit-tap-highlight-color:transparent;}
  .team-photo-video video{pointer-events:none !important;}
}

/* ===== ePaper (Magazin-Seiten) =====
   Flipbook läuft im Lightbox-Modus: sichtbar ist nur das Cover, das PDF
   (16–94 MB) lädt erst beim Öffnen. */
.mag-epaper{display:flex;flex-direction:column;align-items:center;gap:10px;}
.mag-epaper .flipbook-lightbox-trigger,
.mag-epaper > div:first-child{width:100%;cursor:pointer;}
.mag-epaper img{width:100%;height:auto;display:block;}
.mag-epaper-cta{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  margin-top:4px;padding:11px 20px;
  background:#000;color:#fff;border-radius:10px;
  font-family:var(--font-body);font-size:.9rem;font-weight:700;
  pointer-events:none;
}
body.wp-theme-digisale2026 .mag-epaper-cta{color:#fff;}
.mag-epaper-cta svg{width:18px;height:18px;flex:none;}

/* ===== Landingpages (Consulting, Abo-Gewinnung) ===== */
.landing-hero{
  margin-top:var(--nav-h);padding:96px 0 72px;background:var(--lightgray);
}
.landing-hero h1{
  font-family:var(--font-hero);font-size:clamp(2.2rem,4.6vw,3.9rem);
  letter-spacing:-.025em;color:var(--navy);max-width:20ch;margin-top:6px;
}
.landing-lead{margin-top:22px;font-size:1.15rem;line-height:1.6;max-width:60ch;}
.landing-cta{margin-top:32px;}
.landing-section .section-head{max-width:760px;}
.landing-cards{display:grid;grid-template-columns:1fr;gap:28px;}
.landing-card{
  background:#fff;border:1px solid #e2e5e7;border-radius:12px;padding:30px 28px;
}
.bg-light .landing-card{background:#fff;}
.landing-card-num{
  display:block;font-family:var(--font-hero);font-size:.95rem;font-weight:700;
  color:var(--teal);letter-spacing:.06em;margin-bottom:14px;
}
.landing-card h3{font-size:1.32rem;margin-bottom:10px;color:var(--navy);}
.landing-card p{font-size:.99rem;}
.landing-video-link{margin-top:8px;}
@media (min-width:760px){
  .landing-cards{grid-template-columns:repeat(2,1fr);}
  .landing-cards-3{grid-template-columns:repeat(3,1fr);}
}
@media (max-width:759px){
  .landing-hero{padding:64px 0 52px;}
}

/* ===== Radwelt-Angebotsseite ===== */
.radwelt-args{list-style:none;padding:0;margin:0;display:grid;gap:16px;max-width:60ch;}
.radwelt-args li{padding-left:20px;position:relative;font-size:1.02rem;color:var(--black);}
.radwelt-args li:before{content:"—";position:absolute;left:0;color:var(--teal);font-weight:700;}
.radwelt-args strong{color:var(--navy);}
.paket-grid{display:grid;grid-template-columns:1fr;gap:26px;}
.paket{
  position:relative;background:#fff;border:1px solid #e2e5e7;border-radius:12px;
  padding:30px 28px;display:flex;flex-direction:column;
}
.paket-empfohlen{border-color:var(--navy);box-shadow:0 18px 40px -28px rgba(32,64,89,.5);}
.paket-badge{
  position:absolute;top:-12px;left:28px;background:var(--navy);color:#fff;
  font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  padding:5px 12px;border-radius:20px;
}
.paket h3{font-size:1.28rem;color:var(--navy);margin-bottom:16px;}
.paket ul{list-style:none;padding:0;margin:0 0 20px;display:grid;gap:10px;}
.paket li{font-size:.94rem;line-height:1.5;color:var(--gray);padding-left:16px;position:relative;}
.paket li:before{content:"·";position:absolute;left:2px;color:var(--navy);font-weight:700;}
.paket-preis{margin-top:auto;padding-top:16px;border-top:1px solid #e6e9eb;}
.paket-original{display:block;font-size:.82rem;color:#8a939a;margin-bottom:4px;}
.paket-preis strong{font-family:var(--font-hero);font-size:1.65rem;color:var(--navy);display:block;margin-bottom:18px;}
@media (min-width:760px){.paket-grid{grid-template-columns:repeat(2,1fr);}}

/* Akkordeon (details/summary, ohne JS) */
.akkordeon{display:grid;gap:12px;max-width:920px;}
.akkordeon details{background:#fff;border:1px solid #e2e5e7;border-radius:10px;padding:0;}
.bg-light .akkordeon details{background:#fff;}
.akkordeon summary{
  cursor:pointer;list-style:none;padding:18px 22px;
  font-weight:700;color:var(--navy);font-size:1.02rem;
  display:flex;align-items:center;justify-content:space-between;gap:16px;
}
.akkordeon summary::-webkit-details-marker{display:none;}
.akkordeon summary:after{content:"+";font-size:1.35rem;color:var(--teal);line-height:1;}
.akkordeon details[open] summary:after{content:"–";}
.akkordeon-inhalt{padding:0 22px 20px;}
.akkordeon-inhalt p{font-size:.96rem;margin-bottom:10px;}
.radwelt-profil{margin-top:56px;padding-top:32px;border-top:1px solid #d9dfe3;max-width:70ch;}
.radwelt-profil h3{font-size:1.4rem;color:var(--navy);margin-bottom:12px;}

/* Kontaktbereich + Formular */
.kontakt-grid{display:grid;grid-template-columns:1fr;gap:48px;align-items:start;}
.kontakt-person{display:flex;align-items:center;gap:16px;margin-top:28px;}
.kontakt-person img{width:64px;height:64px;border-radius:50%;object-fit:cover;}
.kontakt-person strong{display:block;color:#fff;margin-bottom:4px;}
.kontakt-person a{display:block;color:#c9d6e0;font-size:.94rem;}
body.wp-theme-digisale2026 .kontakt-person a{color:#c9d6e0;}
body.wp-theme-digisale2026 .kontakt-person a:hover{color:#fff;}
.kontakt-form{display:grid;gap:16px;}
.kontakt-form label{display:grid;gap:6px;font-size:.86rem;font-weight:700;color:#fff;letter-spacing:.02em;}
.kontakt-form input,.kontakt-form textarea{
  font-family:var(--font-body);font-size:1rem;color:var(--black);
  padding:12px 14px;border:1px solid rgba(255,255,255,.25);border-radius:8px;background:#fff;
}
.kontakt-form textarea{resize:vertical;}
.kontakt-form .btn{justify-self:start;}
.hp-feld{position:absolute;left:-9999px;height:0;overflow:hidden;}
.form-hinweis{padding:12px 16px;border-radius:8px;font-size:.94rem;}
.form-ok{background:rgba(255,255,255,.14);color:#fff;}
.form-fehler{background:rgba(215,38,61,.18);color:#fff;}
@media (min-width:860px){.kontakt-grid{grid-template-columns:1fr 1fr;gap:72px;}}

/* ===== Hero 2: Sketch-Variante (Alternative zum Foto-Hero) =====
   Illustration über die volle Breite auf Weiß (das beige Papier der
   KI-Generierung wird per Entsättigung + Weißpunkt neutralisiert). */
.hero-sketch{position:relative;background:#fff;overflow:hidden;}
.hero-sketch-img{
  display:block;width:100%;height:auto;
}
.hero-sketch-copy{
  position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);
  pointer-events:none;
}
.hero-sketch-copy h2{
  font-family:var(--font-hero);font-size:clamp(1.8rem,3.6vw,3.2rem);
  color:var(--navy);letter-spacing:-.02em;line-height:1.06;max-width:14ch;
}
@media (max-width:639px){
  .hero-sketch-copy h2{font-size:1.5rem;}
}
/* Sketch-Hero als Video: identische Darstellung wie das Standbild. */
video.hero-sketch-img{display:block;width:100%;height:auto;}
@media (prefers-reduced-motion:reduce){
  video.hero-sketch-img{display:none;}
}

/* ===== Typografie der Service-Kapitel vereinheitlichen =====
   Vorher standen dort fünf Schriftgrößen übereinander (Eyebrow 12,5 /
   Tags 13,1 / Detail 16 / Lead 18,9 / H2). Jetzt nur noch drei Stufen:
   Label (0.78rem), Fließtext (1.06rem) und Headline. */
.service-chapter .chapter-lead{font-size:1.06rem;line-height:1.65;}
.service-chapter .chapter-detail{font-size:1.06rem;line-height:1.65;}
.service-chapter .service-tags{font-size:0.78rem;letter-spacing:.06em;}
.service-chapter .chapter-note{font-size:1.06rem;}
.service-chapter .chapter-points span{font-size:1.06rem;}

/* Sketch-Hero: Motiv rechts ausrichten, damit die Headline links auf
   freier Fläche steht (das bergfreie Motiv reicht weiter nach links). */
@media (min-width:860px){
  video.hero-sketch-img,
  img.hero-sketch-img{width:76%;margin-left:auto;}
  /* Weißer Verlauf links, damit die Headline immer auf Weiß steht –
     das Story-Video hat weniger internen Weißraum als das Standbild. */
  .hero-sketch::after{
    content:"";position:absolute;inset:0;pointer-events:none;
    background:linear-gradient(90deg,#fff 16%,rgba(255,255,255,0) 46%);
  }
  .hero-sketch-copy{position:absolute;z-index:2;}
}

/* Sketch-Hero mobil: Headline nicht über die Illustration legen (dort ist
   das Motiv nur ~160px hoch), sondern darüber stapeln. */
@media (max-width:859px){
  .hero-sketch{display:flex;flex-direction:column-reverse;padding-top:34px;}
  .hero-sketch-copy{position:static;transform:none;padding-bottom:18px;}
  .hero-sketch-copy h2{font-size:1.75rem;max-width:none;}
  video.hero-sketch-img,
  img.hero-sketch-img{width:100%;margin-left:0;}
}

/* ===== Blätter-Hero =====
   Die Sketch-Illustration (blätternde Magazine) ersetzt das Alpenpanorama
   als Haupt-Hero und wird wie zuvor in der Sketch-Sektion gezeigt:
   volle Breite, natürliche Höhe, kein Cover-Zuschnitt, kein Zoom/Parallax. */
.hero-banner{height:auto;display:block;background:#fff;}
.hero-banner::after{content:none;}
.hero-dots{display:none;}
.hero-media{
  position:relative;left:auto;top:auto;width:100%;height:auto;
  animation:none;will-change:auto;
}
.hero-banner img,
.hero-banner video,
#hero-parallax,
video#hero-parallax{
  position:static;width:100%;height:auto;top:auto;
  object-fit:unset;object-position:unset;
  transform:none !important;will-change:auto;
}
.hero-banner .wrap{
  position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);z-index:2;
}
/* Motiv rechts ausrichten, damit die H1 links auf freier Fläche steht. */
@media (min-width:860px){
  .hero-media{width:76%;margin-left:auto;}
  /* Sehr breite Monitore: Der Hero darf nicht bis an den Bildschirmrand
     laufen – sonst klebt das Motiv ganz rechts, während der übrige Inhalt
     schon bei 1240px zentriert endet, und die Headline steht verloren weit
     links. Mit Maximalbreite + Zentrierung bleibt die H1 exakt auf der
     Fluchtlinie des restlichen Seiteninhalts (weil .wrap innerhalb des
     ebenfalls zentrierten Heros zentriert wird). */
  .hero-banner{max-width:1760px;margin-left:auto;margin-right:auto;}
}
/* Mobil: H1 über der Illustration stapeln statt überlagern. */
@media (max-width:859px){
  .hero-banner{display:flex;flex-direction:column-reverse;padding-top:24px;}
  .hero-banner .wrap{position:static;transform:none;padding-bottom:14px;}
}

/* ===== Zusammenarbeits-Modelle =====
   Drei Karten unter „Warum DIGISALE": von der Einzelleistung
   bis zum kompletten Magazin. */
.modelle-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:44px;
}
.modell-card{
  background:#fff;padding:34px 30px 38px;
  border-top:3px solid var(--navy);
}
.modell-card h3{
  font-family:var(--font-hero);font-size:1.25rem;font-weight:600;
  color:var(--navy);margin:0 0 14px;letter-spacing:-0.01em;
}
.modell-card p{font-size:1.06rem;line-height:1.65;color:var(--gray);margin:0;}
@media (max-width:859px){
  .modelle-grid{grid-template-columns:1fr;gap:18px;margin-top:32px;}
}
