  :root{
    --bg-0:#171B22; --bg-1:#1E232C; --bg-2:#262C36; --bg-3:#2C3444;
    --line:#333A46; --line-strong:#4A5262;
    --text-0:#EDEFF2; --text-1:#AAB2C0; --text-2:#7A8393;
    --accent:#4A80CB; --accent-hover:#5F95DD; --accent-text:#7AA5E0;
    --steel:#5B9BD1;
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  h1,h2,h3,h4,p,li,span,a,button{overflow-wrap:break-word; word-break:break-word; hyphens:auto;}
  html{scroll-behavior:smooth;}
  body{background:var(--bg-0); color:var(--text-0); font-family:'IBM Plex Sans', sans-serif; line-height:1.6; -webkit-font-smoothing:antialiased;}
  .wrap{max-width:1120px; margin:0 auto; padding:0 32px;}
  h1,h2,h3{font-family:'Space Grotesk', sans-serif; font-weight:600; letter-spacing:-0.01em;}
  .eyebrow{font-family:'IBM Plex Mono', monospace; font-size:12px; letter-spacing:0.12em; text-transform:uppercase; color:var(--accent-text);}
  a{color:inherit;}

  header{position:sticky; top:0; z-index:50; background:#000; border-bottom:1px solid var(--line);}
  nav{display:flex; align-items:center; justify-content:space-between; padding:18px 32px; max-width:1120px; margin:0 auto;}
  .logo{display:flex; flex-direction:column; align-items:flex-start; line-height:1.1; cursor:pointer;}
  .logo .name{font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:18px; letter-spacing:0.02em;}
  .logo-img{height:64px; display:block; background:#000; padding:8px 14px; border-radius:4px;}
  .logo .sub{font-family:'IBM Plex Mono',monospace; font-size:10px; letter-spacing:0.14em; color:var(--text-2); text-transform:uppercase; margin-top:2px;}
  .navlinks{display:flex; align-items:center; gap:4px; font-size:14px; color:var(--text-1);}
  .navlinks > a, .nav-dropdown > a{display:inline-block; padding:8px 14px; border-radius:4px; text-decoration:none; color:var(--text-1); transition:background 0.12s ease, color 0.12s ease;}
  .navlinks > a:hover, .nav-dropdown > a:hover{background:var(--bg-2); color:var(--text-0);}
  .nav-dropdown{position:relative;}
  .nav-dropdown-menu{position:absolute; top:100%; left:0; background:var(--bg-2); border:1px solid var(--line-strong); border-radius:6px; padding:6px; min-width:240px; display:none; flex-direction:column; box-shadow:0 16px 40px rgba(0,0,0,0.5); z-index:50;}
  .nav-dropdown:hover .nav-dropdown-menu{display:flex;}
  .nav-dropdown-menu a{padding:10px 14px; font-size:13px; color:var(--text-1); border-radius:4px; white-space:nowrap; text-decoration:none; transition:background 0.12s ease, color 0.12s ease;}
  .nav-dropdown-menu a:hover{background:var(--bg-1); color:var(--text-0);}
  .navlinks a:hover{color:var(--text-0);}
  .nav-actions{display:flex; align-items:center; gap:10px;}
  .cta{font-family:'IBM Plex Mono', monospace; font-size:13px; border:1px solid var(--accent); color:var(--accent-text); padding:9px 18px; border-radius:2px; white-space:nowrap; text-decoration:none; display:inline-block;}
  .cta-ghost{border-color:var(--line-strong); color:var(--text-1);}
  .cta-ghost:hover{border-color:var(--text-1); color:var(--text-0); background:transparent;}
  .cta:hover{background:var(--accent); color:#0B0E13;}

  /* HERO */
  .hero{padding:88px 32px 0; border-bottom:1px solid var(--line);}
  .hero-inner{max-width:1120px; margin:0 auto; display:grid; grid-template-columns:1.1fr 0.9fr; gap:56px; align-items:center; padding-bottom:56px;}
  .hero h1{font-size:46px; line-height:1.08; margin:16px 0 20px;}
  .hero h1 .accent{color:var(--accent-text); display:block;}
  .hero .tags{font-family:'IBM Plex Mono',monospace; font-size:12px; letter-spacing:0.08em; color:var(--text-2); text-transform:uppercase; margin-bottom:18px;}
  .hero .tags span{color:var(--text-1);}
  .hero .tags b{color:var(--accent-text); font-weight:500;}
  .hero p.lead{font-size:16px; color:var(--text-1); max-width:none; margin-bottom:14px;}
  .hero p.lead-sub{font-size:16px; color:var(--text-1); max-width:none; margin-bottom:32px;}
  .hero-note{display:inline-flex; align-items:center; gap:9px; font-size:13px; color:var(--accent-text); background:rgba(74,128,203,0.1); border:1px solid rgba(74,128,203,0.3); border-radius:20px; padding:8px 16px; margin-top:-14px; margin-bottom:28px;}
  .hero-note svg{width:14px; height:14px; flex:none; stroke:currentColor; fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round;}
  .btn-primary{background:var(--accent); color:#0B0E13; font-weight:500; font-size:14px; padding:13px 22px; border-radius:2px; font-family:'IBM Plex Sans',sans-serif; text-decoration:none; display:inline-block;}
  .btn-primary:hover{background:var(--accent-hover);}
  .btn-secondary{border:1px solid var(--line-strong); font-size:14px; padding:13px 22px; border-radius:2px; color:var(--text-1); text-decoration:none; display:inline-block;}
  .btn-secondary:hover{color:var(--text-0); border-color:var(--text-1);}

  .hero-photo{position:relative; background:var(--bg-1); border:1px solid var(--line); border-radius:4px; overflow:hidden; display:flex; align-items:center; justify-content:center; padding:32px 0;}
  .hero-photo .visual{height:320px;}
  .hero-logo-mask{
    width:44%; aspect-ratio:220/483;
    -webkit-mask-size:contain; mask-size:contain;
    -webkit-mask-repeat:no-repeat; mask-repeat:no-repeat;
    -webkit-mask-position:center; mask-position:center;
    overflow:hidden; position:relative; display:block;
  }
  .hero-slide-single{
    position:absolute; inset:-6%;
    background-size:cover; background-position:center;
    animation:heroKenBurns 20s ease-in-out infinite alternate;
  }
  .hero-video{
    position:absolute; inset:0;
    width:100%; height:100%;
    object-fit:cover; object-position:center;
    pointer-events:none;
  }
  .hero-slide{
    position:absolute; inset:-6%;
    background-size:cover; background-position:center;
    opacity:0;
    animation:heroSlideCycle 20s infinite, heroKenBurns 20s ease-in-out infinite alternate;
  }
  .hero-slide.s1{animation-delay:0s, 0s;}
  .hero-slide.s2{animation-delay:5s, 5s;}
  .hero-slide.s3{animation-delay:10s, 10s;}
  .hero-slide.s4{animation-delay:15s, 15s;}
  @keyframes heroSlideCycle{
    0%{opacity:0;}
    3%{opacity:1;}
    22%{opacity:1;}
    27%{opacity:0;}
    100%{opacity:0;}
  }
  @keyframes heroKenBurns{
    0%{transform:scale(1.0) translate(0,0);}
    100%{transform:scale(1.1) translate(-1%,-1.5%);}
  }
  .hero-logo-tagline{margin-top:20px; font-family:'IBM Plex Mono',monospace; font-size:13px; letter-spacing:0.14em; text-transform:uppercase; color:var(--text-1);}

  /* STATS */
  .stats-grid{display:flex; flex-wrap:wrap; justify-content:center; gap:16px; max-width:1000px; margin:0 auto;}

  /* tile visuals: soft glow + film-grain instead of ruled/grid patterns, with a topic icon */
  .tile-visual{position:relative; overflow:hidden; background-color:var(--bg-2); display:flex; align-items:center; justify-content:center;}
  .tile-visual::before{content:''; position:absolute; inset:0; background:radial-gradient(circle at var(--gx,50%) var(--gy,50%), rgba(74,128,203,0.55), transparent 62%);}
  .tile-visual::after{content:''; position:absolute; inset:0; opacity:0.15; mix-blend-mode:overlay; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}
  .tile-visual svg{position:relative; z-index:1; width:26px; height:26px; stroke:var(--text-0); fill:none; stroke-width:1.4; stroke-linecap:round; stroke-linejoin:round; opacity:0.92;}
  .tile-visual--hero svg{width:64px; height:64px; opacity:0.5;}
  .tile-photo{position:relative; background-size:cover; background-position:center; overflow:hidden;}
  .tile-photo::after{content:''; position:absolute; inset:0; background:linear-gradient(160deg, rgba(11,14,19,0.6), rgba(11,14,19,0.1));}
  .overlay-photo{height:240px; border-radius:4px; margin:20px 0 4px;}
  .overlay-portrait{width:160px; aspect-ratio:4/5; border-radius:4px; margin-bottom:20px; overflow:hidden;}
  .overlay-portrait img{width:100%; height:100%; object-fit:cover; display:block;}

  section{padding:80px 32px;}
  .section-light{
    --bg-0:#3A3D42; --bg-1:#44474D; --bg-2:#4C4F55; --bg-3:#4B5262;
    --text-0:#F5F6F7; --text-1:#C9CBCE; --text-2:#9A9DA2;
    --line:#54575D; --line-strong:#6C6F75;
    --accent-text:#A9C6F2;
    background:var(--bg-0);
  }
  .section-head{max-width:none; margin-bottom:44px;}
  .section-head h2{font-size:28px; margin-top:8px;}
  .section-head p{color:var(--text-1); margin-top:12px; font-size:15px;}

  /* LEISTUNGEN CARDS */
  .leistungen{border-bottom:1px solid var(--line);}
  .lcard-product{position:relative; margin:4px 0 16px; padding:14px 14px 12px; border-radius:6px; background:var(--bg-2); border:1px solid var(--line); border-top:2px solid var(--accent); touch-action:pan-y;}
  .lcard-product-head{display:flex; flex-direction:column; align-items:center; text-align:center; gap:6px; margin-bottom:11px;}
  .lcard-product-icon{width:22px; height:26px; flex:none;}
  .lcard-product-headtext{display:flex; flex-direction:column; gap:2px; min-width:0; align-items:center;}
  .lcard-product-eyebrow{font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:11.5px; line-height:1.25; color:var(--text-0); white-space:nowrap;}
  .lcard-product-sub{font-family:'IBM Plex Mono',monospace; font-size:9px; letter-spacing:0.06em; text-transform:uppercase; color:var(--text-2); white-space:nowrap;}
  .lcard-product-divider{height:1px; background:var(--line); margin:0 0 12px;}
  .lcard-product-row{display:flex; align-items:center; gap:2px;}
  .lcard-audit-arrow{width:18px; height:18px; flex:none; display:flex; align-items:center; justify-content:center; color:var(--text-2); background:none; border:none; padding:0; cursor:pointer;}
  .lcard-audit-arrow svg{width:10px; height:10px; stroke:currentColor; fill:none; stroke-width:2.4; stroke-linecap:round; stroke-linejoin:round;}
  .lcard-audit-arrow:hover{color:var(--accent-text);}
  .lcard-audit-center{flex:1; min-width:0; text-align:center; cursor:pointer;}
  .lcard-audit-name{display:block; font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:16px; color:var(--text-0); white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
  .lcard-audit-price{display:block; font-size:11.5px; color:var(--accent-text); margin-top:3px; font-weight:600;}
  .lcard-audit-price .cur{font-family:'IBM Plex Mono',monospace; font-weight:400; color:var(--text-2); font-size:10px; margin-right:2px;}
  .card-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:16px;}
  .lcard{background:var(--bg-1); border:1px solid var(--line); border-radius:4px; overflow:hidden; display:flex; flex-direction:column;}
  .lcard-body{display:flex; flex-direction:column; flex:1;}
  .lcard-body .go{margin-top:auto; padding-top:4px;}
  .audience-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:8px;}
  .audience-card{background:var(--bg-1); border:1px solid var(--line); border-radius:4px; padding:22px 18px;}
  .audience-card svg{width:28px; height:28px; stroke:var(--accent); fill:none; stroke-width:1.4; margin-bottom:14px;}
  .audience-card h4{font-size:15px; margin-bottom:8px; line-height:1.3;}
  .audience-card p{font-size:13px; color:var(--text-1); line-height:1.5;}
  .lcard-img{height:96px;}
  .lcard-body{padding:20px 18px;}
  .lcard h3{font-size:15px; margin-bottom:8px; hyphens:none; -webkit-hyphens:none;}
  .lcard p{font-size:13px; color:var(--text-1); margin-bottom:14px;}
  .lcard .go{font-family:'IBM Plex Mono',monospace; font-size:12px; color:var(--accent-text); text-decoration:none; display:inline-block;}
  .lcard .go:hover{color:var(--accent-hover);}

  /* DETAIL BLOCKS */
  .detail-grid{display:grid; grid-template-columns:1fr 1fr; gap:40px 56px;}
  .detail-block{scroll-margin-top:90px;}
  .detail-block h3{font-size:18px; margin:6px 0 4px;}
  .detail-block .sub{font-size:13px; color:var(--text-2); margin-bottom:12px;}
  .detail-list{list-style:none;}
  .detail-list li{font-size:14px; color:var(--text-1); padding:9px 0; border-top:1px solid var(--line);}
  .detail-list li:first-child{border-top:none;}

  /* EQUATION */
  .equation{background:var(--bg-1); border-bottom:1px solid var(--line);}
  .eq-row{display:flex; align-items:center; justify-content:flex-start; gap:28px; flex-wrap:wrap; margin-top:36px;}
  .eq-item{display:flex; flex-direction:column; align-items:center; gap:14px; width:auto;}
  .eq-icon{min-width:160px; height:160px; padding:0 20px; border:1px solid var(--line-strong); border-radius:32px; display:flex; align-items:center; justify-content:center; font-family:'Space Grotesk',sans-serif; font-weight:600; color:var(--accent-text); font-size:26px; background:var(--bg-0); white-space:nowrap;}
  .eq-item span{font-size:14px; color:var(--text-1); text-align:center;}
  .eq-op{font-family:'Space Grotesk',sans-serif; font-size:28px; color:var(--text-2);}
  .eq-result .eq-icon{background:var(--accent); color:#0B0E13; border-color:var(--accent);}
  .eq-icon-logo{padding:28px !important; background:#000 !important; border-color:#000 !important;}
  .eq-icon-logo img{height:100%; width:auto; display:block;}

  /* PROCESS FLOW */
  .process{border-bottom:1px solid var(--line);}
  .flow-circle{position:relative; width:100%; max-width:1440px; aspect-ratio:1; margin:16px auto 12px;}
  .flow-ring{position:absolute; top:50%; left:50%; width:68%; height:68%; transform:translate(-50%,-50%); border-radius:50%; border:2px solid var(--line-strong); background:conic-gradient(from -25.71deg, var(--bg-1) 0deg 51.43deg, var(--bg-2) 51.43deg 102.86deg, var(--bg-1) 102.86deg 154.29deg, var(--bg-2) 154.29deg 205.71deg, var(--bg-1) 205.71deg 257.14deg, var(--bg-2) 257.14deg 308.57deg, var(--bg-3) 308.57deg 360deg);}
  .flow-center{position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:38%; height:38%; border-radius:50%; overflow:hidden; border:3px solid var(--bg-0); box-shadow:0 0 0 2px var(--line-strong);}
  .flow-center-slide{position:absolute; inset:-6%; background-size:cover; background-position:center; opacity:0; animation:fcCycle 24s infinite;}
  .flow-center-slide.fc1{animation-delay:0s;}
  .flow-center-slide.fc2{animation-delay:4s;}
  .flow-center-slide.fc3{animation-delay:8s;}
  .flow-center-slide.fc4{animation-delay:12s;}
  .flow-center-slide.fc5{animation-delay:16s;}
  .flow-center-slide.fc6{animation-delay:20s;}
  @keyframes fcCycle{
    0%{opacity:0;}
    3%{opacity:1;}
    15%{opacity:1;}
    19%{opacity:0;}
    100%{opacity:0;}
  }
  .flow-center-caption{position:absolute; left:0; right:0; bottom:0; background:var(--accent); color:#fff; font-family:'IBM Plex Mono',monospace; font-size:10px; text-transform:uppercase; letter-spacing:0.04em; text-align:center; padding:7px 4px; line-height:1.4;}
  .flow-segment{position:absolute; display:flex; flex-direction:column; align-items:center; gap:4px; transform:translate(-50%,-50%);}
  .flow-segment svg{width:24px; height:24px; stroke:var(--text-0); fill:none; stroke-width:1.5;}
  .flow-segment span{font-family:'IBM Plex Mono',monospace; font-size:12px; font-weight:600; color:var(--accent-text);}

  .ablauf-grid{display:grid; grid-template-columns:1fr 2fr; gap:40px; align-items:center; margin-top:8px;}
  .ablauf-timeline{order:1;}
  .flow-circle{order:2;}
  .ablauf-timeline{position:relative;}
  .ablauf-timeline > .eyebrow{display:block; margin-bottom:20px;}
  .timeline-item{display:grid; grid-template-columns:44px 1fr; gap:14px; align-items:start; position:relative; padding-bottom:28px;}
  .timeline-item:last-child{padding-bottom:0;}
  .timeline-item::before{content:''; position:absolute; left:21px; top:44px; bottom:-28px; width:2px; background:var(--line-strong);}
  .timeline-item:last-child::before{display:none;}
  .timeline-marker{width:44px; height:44px; border-radius:50%; background:var(--accent); color:#fff; display:flex; align-items:center; justify-content:center; font-family:'IBM Plex Mono',monospace; font-size:13px; font-weight:600; position:relative; z-index:1;}
  .timeline-body h4{font-size:16px; margin-bottom:4px;}
  .timeline-body p{font-size:13px; color:var(--text-1);}

  /* DIGITAL */
  .digital-intro{border-bottom:1px solid var(--line); padding-bottom:56px;}
  .digital-block{padding-top:48px; margin-top:48px; border-top:1px solid var(--line);}
  .digital-block:first-of-type{padding-top:0; margin-top:0; border-top:none;}
  .digital-block h3{font-size:22px; margin:8px 0 0;}
  .digital-sub{font-size:14px; color:var(--text-1); max-width:600px; margin:10px 0 24px;}
  .digital-kicker{font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:20px; max-width:600px; margin:0 0 10px; line-height:1.35;}
  .legal-content p.digital-kicker{color:var(--accent-text);}
  .showcase{display:grid; grid-template-columns:0.9fr 1.1fr; gap:56px; align-items:center;}
  .showcase ul{list-style:none; margin-bottom:24px;}
  .showcase li{font-size:14px; color:var(--text-1); padding:8px 0; border-top:1px solid var(--line);}
  .showcase li:first-child{border-top:none;}
  .device-cluster{position:relative; height:280px; border-radius:4px;}
  .device-cluster.tile-photo{padding:0;}

  .ampel-card{background:var(--bg-1); border:1px solid var(--line); border-radius:4px; padding:16px 18px; margin:20px 0;}
  .ampel-card .eyebrow{display:block; margin-bottom:10px;}
  .ampel-row{display:flex; align-items:center; justify-content:space-between; font-size:13px; color:var(--text-1); padding:7px 0; border-top:1px solid var(--line);}
  .ampel-row:first-of-type{border-top:none;}
  .ampel-dot{width:11px; height:11px; border-radius:50%; display:inline-block;}
  .ampel-dot.green{background:#4CAF6D;}
  .ampel-dot.amber{background:#D9A824;}
  .ampel-dot.red{background:#D9534F;}
  .device-monitor{position:absolute; left:0; top:6px; width:58%; height:190px; background:var(--bg-1); border:1px solid var(--line-strong); border-radius:4px; padding:8px;}
  .device-monitor .screen{width:100%; height:100%;}
  .device-tablet{position:absolute; right:12%; top:56px; width:32%; height:160px; background:var(--bg-1); border:1px solid var(--line-strong); border-radius:10px; padding:8px;}
  .device-tablet .screen{width:100%; height:100%; border-radius:4px;}
  .device-phone{position:absolute; right:0; bottom:0; width:15%; height:130px; background:var(--bg-1); border:1px solid var(--line-strong); border-radius:14px; padding:6px;}
  .device-phone .screen{width:100%; height:100%; border-radius:6px;}

  .nia-overlay-wrap{max-width:1120px; padding-top:56px; padding-bottom:80px;}
  .nia-overlay-grid{display:grid; grid-template-columns:1.2fr 0.8fr; gap:56px; align-items:center;}
  .nia-figure{display:flex; align-items:center; justify-content:center;}
  .nia-figure svg{width:100%; max-width:340px; height:auto;}
  .nia-widget{background:var(--bg-1); border:1px solid var(--line); border-radius:4px; padding:22px;}
  .nia-head{display:flex; align-items:center; gap:12px; margin-bottom:16px;}
  .nia-avatar{width:40px; height:40px; border-radius:50%; background:var(--accent); color:#0B0E13; display:flex; align-items:center; justify-content:center; font-family:'Space Grotesk',sans-serif; font-weight:600;}
  .nia-head b{font-size:14px; display:block;}
  .nia-head span{font-size:12px; color:var(--text-2);}
  .nia-chips{display:flex; flex-wrap:wrap; gap:8px; transition:opacity 0.15s;}
  .nia-chips.locked{opacity:0.35; pointer-events:none;}
  .nia-chips span{font-family:'IBM Plex Mono',monospace; font-size:12px; border:1px solid var(--line-strong); color:var(--text-1); padding:8px 12px; border-radius:2px; cursor:pointer;}
  .nia-chips span:hover{border-color:var(--accent); color:var(--text-0);}
  .nia-log{max-height:200px; overflow-y:auto; display:flex; flex-direction:column; gap:8px; margin-bottom:14px; padding-right:4px;}
  .nia-msg{font-size:13px; padding:9px 12px; border-radius:4px; max-width:82%; line-height:1.5;}
  .nia-msg.bot{background:var(--bg-0); border:1px solid var(--line); align-self:flex-start; color:var(--text-1);}
  .nia-msg.user{background:var(--accent); color:#EDEFF2; align-self:flex-end;}
  .nia-input-row{display:flex; align-items:center; gap:8px; margin-top:14px;}
  .nia-input-avatar{width:38px; height:38px; border-radius:50%; background:var(--accent); display:flex; align-items:center; justify-content:center; flex-shrink:0;}
  .nia-input-avatar svg{width:26px; height:26px;}
  .nia-input{display:flex; gap:8px; align-items:center; flex:1; min-width:0;}
  .nia-upload-btn{background:none; border:1px solid var(--line-strong); color:var(--text-1); width:38px; height:38px; border-radius:2px; display:flex; align-items:center; justify-content:center; flex-shrink:0; cursor:pointer;}
  .nia-upload-btn:hover{border-color:var(--accent); color:var(--text-0);}
  .nia-upload-btn svg{width:16px; height:16px; stroke:currentColor; fill:none; stroke-width:1.6;}
  .nia-input input[type="text"]{flex:1; background:var(--bg-0); border:1px solid var(--line); color:var(--text-0); padding:10px 12px; border-radius:2px; font-size:13px; font-family:'IBM Plex Sans',sans-serif;}
  .nia-input input:disabled, .nia-upload-btn:disabled, .nia-input button:disabled{opacity:0.4; cursor:not-allowed;}
  .nia-input input:focus{outline:none; border-color:var(--accent);}
  .nia-input button{background:var(--accent); color:#EDEFF2; border:none; padding:10px 18px; border-radius:2px; font-size:13px; font-family:'IBM Plex Sans',sans-serif; cursor:pointer;}
  .nia-input button:hover{background:var(--accent-hover);}
  .nia-msg.file{display:flex; align-items:center; gap:8px;}
  .nia-msg.file svg{width:14px; height:14px; stroke:currentColor; fill:none; stroke-width:1.6; flex-shrink:0;}
  .nia-reset{display:inline-block; margin-top:10px; font-family:'IBM Plex Mono',monospace; font-size:11px; color:var(--text-2); cursor:pointer;}
  .nia-reset:hover{color:var(--text-1);}

  .digital-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:16px;}
  /* AUDIT PRODUCT CAROUSEL */
  .audit-positioning{background:var(--bg-2); border:1px solid var(--line); border-radius:4px; padding:20px 24px; margin:28px 0 32px; font-size:14px; color:var(--text-1); line-height:1.65;}
  .audit-positioning strong{color:var(--text-0);}
  .audit-viewport{overflow:hidden; border-radius:4px; border:1px solid var(--line); background:var(--bg-1);}
  .audit-track{display:flex; transition:transform 0.38s cubic-bezier(.4,0,.2,1); touch-action:pan-y;}
  .audit-slide{flex:0 0 100%; padding:32px 28px 28px; box-sizing:border-box; min-width:0;}
  .audit-level{display:flex; gap:3px; align-items:flex-end; height:16px; margin-bottom:10px;}
  .audit-level span{width:4px; border-radius:1px; background:var(--line-strong);}
  .audit-level span:nth-child(1){height:6px;}
  .audit-level span:nth-child(2){height:11px;}
  .audit-level span:nth-child(3){height:16px;}
  .audit-level span.on{background:var(--accent);}
  .audit-tier-eyebrow{display:flex; align-items:center; gap:10px;}
  .audit-tier-name{font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:23px; color:var(--text-0); margin:6px 0 3px;}
  .audit-ziel{font-size:14px; color:var(--accent-text); margin-bottom:22px;}
  .audit-cols{display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-bottom:22px;}
  .audit-cols h5{font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:0.08em; text-transform:uppercase; color:var(--text-2); margin:0 0 10px;}
  .audit-cols ul{list-style:none; padding:0; margin:0; font-size:14px; color:var(--text-1); display:flex; flex-direction:column; gap:7px;}
  .audit-cols li{padding-left:14px; position:relative;}
  .audit-cols li::before{content:'\2013'; position:absolute; left:0; color:var(--text-2);}
  .audit-price-box{background:var(--bg-2); border:1px solid var(--line); border-radius:4px; padding:16px 18px; display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:22px; flex-wrap:wrap;}
  .audit-price-box .label{font-family:'IBM Plex Mono',monospace; font-size:11px; text-transform:uppercase; letter-spacing:0.08em; color:var(--text-2);}
  .audit-price-box .value{font-size:19px; font-weight:700; color:var(--text-0); font-family:'Space Grotesk',sans-serif;}
  .audit-nav{display:flex; align-items:center; justify-content:center; gap:18px; margin-top:20px;}
  .audit-arrow{width:34px; height:34px; border-radius:50%; border:1px solid var(--line-strong); background:transparent; color:var(--text-0); display:flex; align-items:center; justify-content:center; cursor:pointer; flex:none; padding:0;}
  .audit-arrow svg{width:16px; height:16px; stroke:currentColor; fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round;}
  .audit-arrow:hover{border-color:var(--accent); color:var(--accent-text);}
  .audit-dots{display:flex; gap:8px;}
  .audit-dot{width:7px; height:7px; border-radius:50%; background:var(--line-strong); border:none; padding:0; cursor:pointer;}
  .audit-dot.active{background:var(--accent); width:20px; border-radius:4px;}
  .audit-disclaimer{font-size:12.5px; color:var(--text-2); margin-top:20px; line-height:1.6;}
  @media (max-width:640px){
    .audit-cols{grid-template-columns:1fr;}
    .audit-slide{padding:26px 20px 22px;}
  }
  .dcard{background:var(--bg-1); border:1px solid var(--line); border-radius:4px; overflow:hidden;}
  .dcard-img{height:56px;}
  .dcard-body{padding:18px 16px;}
  .tag{font-family:'IBM Plex Mono',monospace; font-size:10px; color:var(--text-2); text-transform:uppercase; letter-spacing:0.08em; margin-bottom:10px; display:block;}
  .audit-tier-eyebrow .tag{margin:0;}
  .audit-tier-badge{display:inline-flex; padding:4px 12px; border-radius:20px; background:var(--bg-2); border:1px solid var(--line-strong); margin:0;}
  .audit-body{display:flex; gap:26px; align-items:flex-start; margin:18px 0 22px;}
  .audit-visual{flex:0 0 auto; display:flex; flex-direction:column; align-items:center; gap:10px; padding:20px 22px; background:var(--bg-2); border:1px solid var(--line); border-radius:4px;}
  .audit-ring{width:88px; height:100px; flex:none;}
  .audit-ring rect{transition:fill 0.3s ease;}
  .audit-ring-label{text-align:center;}
  .audit-ring-label strong{display:block; font-family:'Space Grotesk',sans-serif; font-size:23px; color:var(--text-0); line-height:1.2;}
  .audit-ring-label span{font-family:'IBM Plex Mono',monospace; font-size:10.5px; text-transform:uppercase; letter-spacing:0.08em; color:var(--text-2);}
  .audit-leistungen{flex:1; min-width:0;}
  .audit-leistungen h5{font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:0.08em; text-transform:uppercase; color:var(--text-2); margin:0 0 12px;}
  .audit-leistungen ul{list-style:none; padding:0; margin:0; font-size:14.5px; color:var(--text-1); display:flex; flex-direction:column; gap:9px;}
  .audit-leistungen li{padding-left:16px; position:relative;}
  .audit-leistungen li::before{content:'\2013'; position:absolute; left:0; color:var(--text-2);}
  @media (max-width:640px){
    .audit-body{flex-direction:column; align-items:stretch;}
    .audit-visual{flex-direction:row; justify-content:center;}
  }
  .dcard h4{font-size:14px; font-weight:500; margin-bottom:10px;}
  .dcard ul{list-style:none; font-size:12px; color:var(--text-1);}
  .dcard li{padding:3px 0;}
  .dcard li::before{content:'\2013\0020';}




  /* ABOUT */
  .about{border-bottom:1px solid var(--line);}
  .about-grid{display:grid; grid-template-columns:200px 1fr; gap:40px; align-items:start;}
  .about-photo{aspect-ratio:4/5; max-width:200px; background:var(--bg-2); border:1px solid var(--line); border-radius:4px; overflow:hidden;}
  .about-photo img{width:100%; height:100%; object-fit:cover; display:block;}
  .about h2{font-size:28px; margin-bottom:16px;}
  .about p{color:var(--text-1); font-size:15px; margin-bottom:16px; max-width:580px;}
  .about-facts{display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:24px;}
  .fact{border-top:1px solid var(--line); padding-top:12px;}
  .fact b{display:block; font-size:14px; margin-bottom:4px;}
  .fact span{font-size:13px; color:var(--text-2);}

  /* CONTACT */
  .contact-inner{display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:start;}
  .nia-promo{display:flex; gap:28px; align-items:flex-start; background:var(--bg-1); border:1px solid var(--line); border-radius:6px; padding:32px;}
  .nia-promo-icon{width:76px; height:76px; border-radius:50%; background:var(--accent); display:flex; align-items:center; justify-content:center; flex-shrink:0;}
  .nia-promo-icon svg{width:44px; height:44px;}
  .nia-promo-body h3{font-size:19px; margin:6px 0 10px;}
  .nia-promo-body p{font-size:14px; color:var(--text-1); margin-bottom:16px; max-width:640px;}
  .nia-checklist{list-style:none; display:flex; flex-wrap:wrap; gap:8px 24px; margin-bottom:20px;}
  .nia-checklist li{font-size:13px; color:var(--text-1);}
  .nia-checklist li::before{content:'\2713\0020'; color:var(--accent-text); font-weight:600;}
  .nia-disclaimer{font-size:12px; color:var(--text-2); margin-top:16px; max-width:640px;}
  .nia-fab{position:fixed; bottom:24px; right:24px; width:104px; height:104px; border-radius:50%; background:var(--accent); border:none; display:flex; align-items:center; justify-content:center; box-shadow:0 8px 24px rgba(0,0,0,0.45); cursor:pointer; z-index:2301; transition:background 0.15s ease, transform 0.15s ease;}
  .nia-fab:hover{background:var(--accent-hover); transform:scale(1.06);}
  .nia-fab svg{width:88px; height:88px;}
  .nia-panel{position:fixed; bottom:24px; right:24px; width:420px; max-width:calc(100vw - 32px); height:min(560px, calc(100vh - 48px)); background:var(--bg-1); border:1px solid var(--line-strong); border-radius:12px; box-shadow:0 20px 60px rgba(0,0,0,0.5); z-index:2300; display:none; flex-direction:column; align-items:stretch; overflow:hidden; box-sizing:border-box;}
  .nia-panel.open{display:flex;}
  .nia-panel-header{display:flex; align-items:center; gap:12px; padding:14px 16px; background:#0B0E13; border-bottom:1px solid var(--line); flex:0 0 auto;}
  .nia-panel-header .nia-mascot-small{width:38px; height:38px; flex-shrink:0;}
  .nia-panel-header-text{flex:1 1 auto; min-width:0;}
  .nia-panel-header-text b{display:block; font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:15px; color:#fff;}
  .nia-panel-header-text span{display:block; font-family:'IBM Plex Mono',monospace; font-size:10px; color:var(--text-2); text-transform:uppercase; letter-spacing:0.06em; margin-top:2px;}
  .nia-panel-close-btn{background:none; border:none; color:#fff; font-size:20px; line-height:1; cursor:pointer; padding:4px 6px; flex-shrink:0; border-radius:4px;}
  .nia-panel-close-btn:hover{color:var(--accent-hover);}
  .nia-panel-body{flex:1 1 auto; overflow-y:auto; overflow-x:hidden; padding:16px; display:flex; flex-direction:column; align-items:stretch; min-height:0; width:100%; box-sizing:border-box;}
  .nia-intro{font-size:13px; color:var(--text-1); line-height:1.6; margin:0 0 14px; width:100%;}
  .nia-log-spacer{display:none;}
  .nia-panel .nia-log{flex:1 1 auto; display:flex; flex-direction:column; align-items:stretch; gap:10px; width:100%;}
  .nia-panel .nia-input{padding:12px 16px; margin:0; border-top:1px solid var(--line); flex:0 0 auto; display:flex; align-items:flex-end; gap:8px; width:100%; box-sizing:border-box;}
  .nia-panel .nia-input textarea{flex:1 1 auto; width:100%; min-width:0; resize:none; max-height:140px; overflow-y:auto; background:var(--bg-0); border:1px solid var(--line); color:var(--text-0); padding:10px 12px; border-radius:2px; font-size:13px; font-family:'IBM Plex Sans',sans-serif; line-height:1.5; box-sizing:border-box;}
  .nia-panel .nia-input textarea:focus{outline:none; border-color:var(--accent);}
  .nia-panel .nia-disclaimer{padding:0 16px 14px; margin:0; font-size:10px; max-width:none; width:100%; box-sizing:border-box; flex-shrink:0;}
  .nia-msg{align-self:flex-start; white-space:pre-wrap;}
  .nia-msg.user{background:#5A6272; color:#fff; align-self:flex-end;}
  .nia-msg.bot{background:var(--accent); color:#fff; border:none; align-self:flex-start;}
  .nia-msg.bot.typing{opacity:0.7; font-style:italic;}
  .nia-msg.bot.error{background:#8A3A3A;}
  .nia-msg.file{display:flex; align-items:center; gap:8px;}
  .nia-msg.file svg{width:22px; height:22px; stroke:currentColor; fill:none; stroke-width:1.8; flex-shrink:0;}
  @media (max-width:600px){
    .nia-panel{top:auto; left:12px; right:12px; bottom:12px; width:auto; height:min(70vh, 520px); border-radius:12px; border:1px solid var(--line-strong);}
  }
  .cookie-banner{position:fixed; left:0; right:0; bottom:0; z-index:2200; background:#0B0E13; border-top:1px solid var(--line-strong); display:none; align-items:center; justify-content:space-between; gap:24px; padding:18px 32px; flex-wrap:wrap; box-shadow:0 -8px 30px rgba(0,0,0,0.4);}
  .cookie-banner.open{display:flex;}
  .cookie-text{max-width:720px; color:var(--text-1); font-size:13px; line-height:1.5;}
  .cookie-text b{display:block; color:var(--text-0); font-size:14px; margin-bottom:4px;}
  .cookie-text a{color:var(--accent-text);}
  .cookie-actions{display:flex; gap:10px; flex-wrap:wrap; flex-shrink:0;}
  .cookie-btn{font-family:'IBM Plex Sans',sans-serif; font-size:13px; padding:10px 18px; border-radius:2px; cursor:pointer;}
  .cookie-btn.ghost{background:none; border:1px solid var(--line-strong); color:var(--text-1);}
  .cookie-btn.ghost:hover{border-color:var(--accent); color:var(--text-0);}
  .cookie-btn.primary{background:var(--accent); border:1px solid var(--accent); color:#fff;}
  .cookie-btn.primary:hover{background:var(--accent-hover);}
  @media (max-width:700px){
    .cookie-banner{padding:16px 20px; flex-direction:column; align-items:stretch;}
    .cookie-actions{justify-content:stretch;}
    .cookie-btn{flex:1;}
  }
  .nia-eye{transform-origin:center; transform-box:fill-box; animation:niaBlink 4.5s ease-in-out infinite;}
  @keyframes niaBlink{0%,92%,100%{transform:scaleY(1);} 96%{transform:scaleY(0.08);}}
  .contact h2{font-size:28px; margin-bottom:16px;}
  .contact p{color:var(--text-1); font-size:15px; max-width:420px; margin-bottom:28px;}
  .contact-detail{font-family:'IBM Plex Mono',monospace; font-size:14px; color:var(--text-1); margin-bottom:8px;}
  form{display:flex; flex-direction:column; gap:14px;}
  form label{display:flex; flex-direction:column; gap:6px; font-size:12px; color:var(--text-2); font-family:'IBM Plex Mono',monospace; text-transform:uppercase; letter-spacing:0.04em;}
  input,textarea,select{background:var(--bg-1); border:1px solid var(--line); color:var(--text-0); padding:12px 14px; font-family:'IBM Plex Sans',sans-serif; font-size:14px; border-radius:2px;}
  select{appearance:none; background-image:linear-gradient(45deg, transparent 50%, var(--text-2) 50%), linear-gradient(135deg, var(--text-2) 50%, transparent 50%); background-position:calc(100% - 18px) center, calc(100% - 13px) center; background-size:5px 5px, 5px 5px; background-repeat:no-repeat;}
  input:focus,textarea:focus,select:focus{outline:none; border-color:var(--accent);}
  textarea{resize:vertical; min-height:100px;}
  .form-row{display:grid; grid-template-columns:1fr 1fr; gap:14px;}
  .form-rest{display:none; flex-direction:column; gap:14px;}
  .form-rest.open{display:flex; animation:formReveal 0.25s ease;}
  @keyframes formReveal{from{opacity:0; transform:translateY(-6px);} to{opacity:1; transform:translateY(0);}}
  .form-hint{font-size:12px; color:var(--text-2); margin-top:-8px; line-height:1.5;}
  .form-hint-akut{display:none; color:#E8A33C;}
  a.bwcard{display:block; color:inherit; text-decoration:none;}
  a.bwcard .lcard-img{height:150px;}
  a.bwcard:hover{border-color:var(--accent);}
  .form-hint-akut.show{display:block;}
  .form-status{font-size:13px; line-height:1.5; margin-top:4px; display:none;}
  .form-status.sending{display:block; color:var(--text-1);}
  .form-status.success{display:block; color:#7FD99A;}
  .form-status.error{display:block; color:#E37D82;}
  form button[disabled]{opacity:0.6; cursor:not-allowed;}
  .checkbox-row{flex-direction:row; align-items:flex-start; gap:10px; text-transform:none; font-family:'IBM Plex Sans',sans-serif; font-size:13px; color:var(--text-1);}
  .checkbox-row input{width:16px; height:16px; margin-top:2px; flex-shrink:0;}
  .checkbox-row a{color:var(--accent-text);}
  form button{background:var(--accent); color:#0B0E13; font-weight:500; padding:13px; border-radius:2px; font-size:14px; margin-top:4px;}

  footer{border-top:1px solid var(--line); padding:32px;}
  .foot-badges{display:flex; gap:14px; flex-wrap:wrap; margin-bottom:20px; align-items:center;}
  .foot-badge{display:flex; align-items:center; gap:12px; background:#F2F2F3; border:1px solid #DADBDE; border-radius:6px; padding:10px 20px 10px 10px; position:relative;}
  .foot-badge img{height:52px; width:auto; display:block; background:#fff; padding:4px; border-radius:4px; transition:transform 0.2s ease; transform-origin:left center; cursor:zoom-in;}
  .foot-badge:hover img{transform:scale(3.4); position:relative; z-index:50; box-shadow:0 8px 24px rgba(0,0,0,0.35);}
  .foot-badge span{font-family:'IBM Plex Mono',monospace; font-size:13px; color:#3A3F46; white-space:nowrap;}
  .foot-badge.text-only{padding:14px 22px;}
  .foot-inner{max-width:1120px; margin:0 auto; display:flex; justify-content:space-between; align-items:center; font-size:12px; color:var(--text-2); flex-wrap:wrap; gap:12px;}
  .foot-inner a{color:var(--text-2);}
  .foot-inner a:hover{color:var(--text-0);}

  .nav-burger{display:none; flex-direction:column; justify-content:center; gap:5px; width:36px; height:36px; background:none; border:none; cursor:pointer; padding:0;}
  .nav-burger span{display:block; width:22px; height:2px; background:var(--text-0);}
  .nav-mobile{display:none; flex-direction:column; background:var(--bg-0); border-bottom:1px solid var(--line); padding:8px 32px 20px;}
  .nav-mobile.open{display:flex;}
  .nav-mobile a{padding:12px 0; border-top:1px solid var(--line); font-size:15px; color:var(--text-1); text-decoration:none;}
  .nav-mobile a:first-child{border-top:none;}
  .nav-mobile-cta{color:var(--accent-text) !important; font-family:'IBM Plex Mono',monospace; font-size:14px !important; text-decoration:none;}

  @media (max-width:1000px){
    .topbar-navlinks{gap:0;}
    .topbar-navlinks > a, .nav-dropdown > a{padding:8px 8px; font-size:13px;}
  }
  @media (max-width:860px){
    .nia-overlay-grid{grid-template-columns:1fr; gap:32px;}
    .nia-figure{order:-1;}
    .nia-figure svg{max-width:180px;}
    .ablauf-grid{grid-template-columns:1fr;}
    .section-head{margin-bottom:24px;}
    .eq-row{flex-direction:column;}
    .navlinks, .nav-actions{display:none;}
    .topbar-navlinks{display:none;}
    .nav-burger{display:flex;}
    .hero-inner{grid-template-columns:1fr;}
    .card-grid{grid-template-columns:1fr 1fr;}
    .audience-grid{grid-template-columns:1fr 1fr;}
    .showcase{grid-template-columns:1fr;}
    .about-grid{grid-template-columns:1fr;}
    .contact-inner{grid-template-columns:1fr;}
    .detail-grid{grid-template-columns:1fr; gap:36px;}
    .hero h1{font-size:32px;}
  }

  @media (max-width:600px){
    .nia-fab{width:88px; height:88px; bottom:16px; right:16px;}
    .nia-fab svg{width:72px; height:72px;}
    .nia-promo{flex-direction:column; padding:24px;}
    .form-row{grid-template-columns:1fr;}
    section{padding:56px 20px;}
    .wrap{padding:0 20px;}
    nav{padding:14px 20px;}
    .nav-mobile{padding:8px 20px 20px;}
    .hero{padding:64px 20px 0;}
    .hero h1{font-size:28px;}
    .section-head h2{font-size:23px;}
    .digital-block h3{font-size:19px;}
    h2[style*="42px"]{font-size:30px !important;}
    .card-grid{grid-template-columns:1fr;}
    .audience-grid{grid-template-columns:1fr;}
    .digital-grid{grid-template-columns:1fr;}
    .eq-row{flex-direction:column; gap:10px;}
    .eq-item{width:auto;}
    .eq-icon{min-width:110px; height:110px; font-size:18px;}
    .eq-op{font-size:20px;}
    .stats-grid{gap:10px;}
    .foot-badge{padding:8px 14px 8px 8px;}
    .foot-badge img{height:40px;}
    .foot-badge span{font-size:12px;}
    /* circle diagram: shrink dots/labels so they fit a narrow ring */
    .flow-circle{max-width:520px; margin:16px auto 24px;}
    .timeline-item{grid-template-columns:36px 1fr; padding-bottom:18px; gap:10px;}
    .timeline-item::before{left:17px;}
    .timeline-body h4{font-size:14px;}
    .timeline-body p{font-size:11px;}
    .timeline-marker{width:36px; height:36px; font-size:11px;}
    .flow-segment svg{width:18px; height:18px;}
    .flow-segment span{font-size:10px;}
    .flow-center-caption{font-size:8px; padding:4px 2px;}
    .device-cluster{height:200px;}
    .device-monitor{width:56%; height:140px;}
    .device-tablet{width:32%; height:120px; top:40px;}
    .device-phone{width:16%; height:96px;}
    .about-photo{max-width:150px;}
    .nia-chips span{font-size:11px; padding:7px 10px;}
  }


  /* KUNDENPORTAL OVERLAY (coming soon) */
  .portal-overlay{position:fixed; inset:0; background:var(--bg-0); z-index:999; overflow-y:auto; display:none;}
  .portal-overlay.open{display:block;}
  .portal-topbar{position:sticky; top:0; z-index:2; background:#000; border-bottom:1px solid var(--line);}
  .topbar-inner{display:flex; align-items:center; gap:16px; flex-wrap:wrap; padding:18px 32px; max-width:1120px; margin:0 auto; box-sizing:border-box;}
  .topbar-actions{display:flex; align-items:center; gap:8px; margin-left:auto; flex-wrap:wrap;}
  .topbar-navlinks{display:flex; align-items:center; gap:4px; font-size:14px; color:var(--text-1);}
  .topbar-navlinks > a{display:inline-block; padding:8px 14px; border-radius:4px; text-decoration:none; color:var(--text-1); transition:background 0.12s ease, color 0.12s ease; hyphens:none; white-space:nowrap;}
  .nav-dropdown-menu a{hyphens:none;}
  .topbar-navlinks > a:hover{background:var(--bg-2); color:var(--text-0);}
  .portal-topbar .logo{display:flex; align-items:center; gap:10px;}
  .portal-topbar .logo img{height:44px; width:auto; display:block; background:#000; padding:6px 10px; border-radius:4px;}
  .portal-topbar .logo span{font-family:'IBM Plex Mono',monospace; font-size:10px; letter-spacing:0.1em; color:var(--text-2); text-transform:uppercase;}
  .portal-close{font-family:'IBM Plex Mono',monospace; font-size:13px; color:var(--text-1); border:1px solid var(--line-strong); padding:8px 16px; border-radius:2px; background:none; cursor:pointer;}
  .portal-close:hover{color:var(--text-0); border-color:var(--text-1);}

  /* Kontaktformular: Erfolgs-Dialog */
  .kontakt-success-modal{position:fixed; inset:0; background:rgba(0,0,0,0.6); z-index:1200; display:none; align-items:center; justify-content:center; padding:24px; box-sizing:border-box;}
  .kontakt-success-modal.open{display:flex;}
  .kontakt-success-box{position:relative; background:var(--bg-0); border:1px solid var(--line-strong); border-radius:6px; max-width:440px; width:100%; padding:36px 32px; box-sizing:border-box; text-align:center; box-shadow:0 30px 70px rgba(0,0,0,0.45);}
  .kontakt-success-box .portal-close{position:absolute; top:12px; right:12px; padding:6px 10px; font-size:14px;}
  .kontakt-success-icon{width:52px; height:52px; margin:0 auto 18px; border-radius:50%; background:var(--bg-2); display:flex; align-items:center; justify-content:center;}
  .kontakt-success-icon svg{width:26px; height:26px; stroke:#4CAF7D; fill:none; stroke-width:2.4; stroke-linecap:round; stroke-linejoin:round;}
  .kontakt-success-box h3{margin:0 0 12px; font-size:20px;}
  .kontakt-success-box p{margin:0 0 24px; font-size:14px; color:var(--text-2); line-height:1.6;}
  .kontakt-success-box button.cta{width:100%;}
  .portal-hero{padding:72px 32px 48px; text-align:center; border-bottom:1px solid var(--line);}
  .portal-hero h2{font-size:32px; line-height:1.2; max-width:640px; margin:14px auto 16px;}
  .portal-hero p{color:var(--text-1); font-size:15px; max-width:520px; margin:0 auto;}
  .progress{max-width:300px; margin:28px auto 0; height:6px; background:var(--bg-2); border-radius:3px; overflow:hidden;}
  .progress-bar{width:55%; height:100%; background:var(--accent);}
  .progress-label{font-family:'IBM Plex Mono',monospace; font-size:11px; color:var(--text-2); margin-top:10px; text-transform:uppercase; letter-spacing:0.08em;}
  .portal-section{padding:56px 32px; border-bottom:1px solid var(--line); max-width:900px; margin:0 auto;}
  .benefits{display:grid; grid-template-columns:repeat(2,1fr); gap:16px; max-width:760px; margin:0 auto;}
  .benefit{background:var(--bg-1); border:1px solid var(--line); border-radius:4px; padding:20px 22px;}
  .dash-project-head{display:flex; gap:20px; align-items:center; background:var(--bg-1); border:1px solid var(--line); border-radius:6px; padding:20px; margin-bottom:20px;}
  .dash-project-photo{width:100px; height:100px; border-radius:4px; background-size:cover; background-position:center; flex-shrink:0;}
  .dash-badge{display:inline-block; font-family:'IBM Plex Mono',monospace; font-size:11px; text-transform:uppercase; letter-spacing:0.04em; color:var(--accent-text); background:rgba(74,128,203,0.12); padding:4px 10px; border-radius:2px; margin-bottom:8px;}
  .dash-project-info h3{font-size:18px; margin-bottom:4px;}
  .dash-project-info p{font-size:13px; color:var(--text-1);}
  .dash-kpi-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-bottom:20px;}
  .dash-kpi{background:var(--bg-1); border:1px solid var(--line); border-radius:6px; padding:18px;}
  .dash-kpi-label{display:block; font-family:'IBM Plex Mono',monospace; font-size:11px; text-transform:uppercase; letter-spacing:0.04em; color:var(--text-2); margin-bottom:8px;}
  .dash-kpi-status{display:inline-block; font-size:14px; font-weight:600; padding:3px 10px; border-radius:12px; margin-bottom:10px;}
  .dash-kpi-status.ok{background:rgba(93,179,107,0.15); color:#7ED399;}
  .dash-kpi-status.warn{background:rgba(224,168,68,0.15); color:#E8B95A;}
  .dash-kpi p{font-size:12px; color:var(--text-1); line-height:1.5;}

  .dash-cost-budget-bar{display:flex; height:10px; border-radius:5px; overflow:hidden; margin-top:10px;}
  .dash-cost-seg.base{background:#4A80CB;}
  .dash-cost-seg.nachtrag{background:#E0954A;}
  .dash-cost-legend{display:flex; flex-direction:column; gap:4px; margin-top:8px; font-size:11px; color:var(--text-1);}
  .dash-cost-legend .dot, .dash-cost-progress-legend .dot{display:inline-block; width:8px; height:8px; border-radius:2px; margin-right:6px; vertical-align:middle;}
  .dash-cost-legend .dot.base{background:#4A80CB;}
  .dash-cost-legend .dot.nachtrag{background:#E0954A;}
  .dash-cost-total{font-family:'Space Grotesk',sans-serif; font-size:13px; margin-top:8px; padding-top:8px; border-top:1px solid var(--line);}
  .dash-cost-progress-bar{position:relative; height:10px; border-radius:5px; background:var(--bg-0); margin-top:14px;}
  .dash-cost-progress-fill{height:100%; border-radius:5px; background:#5DB36B;}
  .dash-cost-progress-marker{position:absolute; top:-3px; width:3px; height:16px; background:var(--text-0); border-radius:2px;}
  .dash-cost-progress-legend{display:flex; flex-direction:column; gap:4px; margin-top:8px; font-size:11px; color:var(--text-1);}
  .dash-cost-progress-legend .dot.fill{background:#5DB36B; border-radius:50%;}
  .dash-cost-progress-legend .dot.marker{background:var(--text-0); border-radius:1px; width:3px; height:10px;}
  .dash-lower-grid{display:grid; grid-template-columns:1.3fr 1fr; gap:16px; margin-bottom:16px;}
  .dash-docs-full{width:100%; box-sizing:border-box; margin-bottom:16px;}
  .dash-ask-full{width:100%; box-sizing:border-box; margin-bottom:16px;}
  .dash-photo-folders-scroll{max-height:420px; overflow-y:auto; padding-right:4px;}
  .dash-docs, .dash-chat{background:var(--bg-1); border:1px solid var(--line); border-radius:6px; padding:20px;}
  .dash-docs h4, .dash-chat h4{font-size:15px; margin-bottom:14px;}
  .dash-doc-cats{display:grid; grid-template-columns:1fr 1fr; gap:10px;}
  .dash-doc-cat{display:flex; align-items:center; gap:10px; background:var(--bg-0); border:1px solid var(--line); border-radius:4px; padding:12px; cursor:pointer; transition:border-color 0.12s ease;}
  .dash-doc-cat:hover{border-color:var(--accent);}
  .dash-doc-cat.locked{cursor:default; opacity:0.7; border-style:dashed;}
  .dash-doc-cat.locked:hover{border-color:var(--line);}
  .dash-doc-cat svg{width:20px; height:20px; stroke:var(--accent); fill:none; stroke-width:1.5; flex-shrink:0;}
  .dash-doc-cat span{flex:1; font-size:13px; color:var(--text-1);}
  .dash-doc-cat b{font-family:'IBM Plex Mono',monospace; font-size:13px; color:var(--text-0);}
  .dash-chat{text-align:center;}
  .dash-chat-avatar{width:56px; height:56px; margin:0 auto 12px; border-radius:50%; background:var(--accent); display:flex; align-items:center; justify-content:center;}
  .dash-chat-avatar svg{width:40px; height:40px;}
  .dash-chat p{font-size:12px; color:var(--text-1); margin-bottom:16px; line-height:1.5;}
  .dash-disclaimer{font-size:11px; color:var(--text-2); margin-top:16px; text-align:center;}

  .dash-rating-head{display:flex; align-items:center; justify-content:space-between; margin-bottom:14px;}
  .dash-rating-head h4{font-size:15px;}
  .dash-info-btn{display:flex; align-items:center; gap:6px; background:none; border:1px solid var(--line-strong); color:var(--text-1); font-size:12px; padding:6px 12px; border-radius:20px; cursor:pointer;}
  .dash-info-btn svg{width:14px; height:14px; stroke:currentColor; fill:none; stroke-width:1.8;}
  .dash-info-btn:hover{border-color:var(--accent); color:var(--text-0);}
  .dash-criteria{display:none; background:var(--bg-0); border:1px solid var(--line); border-radius:6px; padding:16px 18px; margin-bottom:16px; font-size:12px; color:var(--text-1); line-height:1.6;}
  .dash-criteria.open{display:block;}
  .dash-criteria h5{font-size:13px; color:var(--text-0); margin-bottom:10px;}
  .dash-criteria-grades{display:flex; flex-wrap:wrap; gap:14px; margin-bottom:12px;}
  .dash-criteria-grades span{font-size:12px; color:var(--text-1);}
  .dash-criteria-grades b{color:var(--accent-text); margin-right:4px;}

  .dash-grade-overall{background:var(--bg-1); border:1px solid var(--line); border-radius:6px; padding:20px; margin-bottom:16px;}
  .dash-grade-bar{margin:10px 0 4px;}
  .dash-grade-track{position:relative; height:8px; border-radius:4px; background:linear-gradient(90deg,#5DB36B 0%,#9BC95A 20%,#E8B95A 40%,#E0954A 60%,#D9683F 80%,#C94F4F 100%);}
  .dash-grade-bar.large .dash-grade-track{height:12px; border-radius:6px;}
  .dash-grade-marker{position:absolute; top:50%; width:14px; height:14px; border-radius:50%; background:#fff; border:3px solid var(--bg-0); box-shadow:0 0 0 1px var(--line-strong); transform:translate(-50%,-50%);}
  .dash-grade-bar.large .dash-grade-marker{width:18px; height:18px;}
  .dash-grade-scale-labels{display:flex; justify-content:space-between; font-family:'IBM Plex Mono',monospace; font-size:10px; color:var(--text-2); margin-top:6px;}
  .dash-grade-value{font-family:'Space Grotesk',sans-serif; font-weight:600; font-size:16px; margin-top:8px;}
  .dash-grade-value.small{font-size:13px; margin-top:8px; margin-bottom:6px;}

  .dash-folder-head{display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px; margin-bottom:14px;}
  .dash-folder-toggle{display:flex; gap:6px; background:var(--bg-0); border:1px solid var(--line); border-radius:20px; padding:3px;}
  .dash-folder-toggle button{background:none; border:none; color:var(--text-1); font-size:11px; padding:6px 12px; border-radius:16px; cursor:pointer;}
  .dash-folder-toggle button.active{background:var(--accent); color:#fff;}
  .dash-doc-cat.locked svg{stroke:var(--text-2);}
  .dash-folder-note{font-size:11px; color:var(--text-2); margin-top:12px; line-height:1.5;}
  .dash-doc-files{display:none; margin-top:14px; background:var(--bg-0); border:1px solid var(--line); border-radius:6px; padding:14px;}
  .dash-doc-files.open{display:block;}
  .dash-doc-files-head{display:flex; align-items:center; justify-content:space-between; margin-bottom:10px;}
  .dash-doc-files-head b{font-size:13px; color:var(--text-0);}
  .dash-doc-files-head button{background:none; border:none; color:var(--text-2); font-size:20px; cursor:pointer; line-height:1;}
  .dash-doc-file{display:flex; align-items:center; gap:10px; padding:8px 4px; cursor:pointer; border-radius:3px; font-size:12px; color:var(--text-1);}
  .dash-doc-file:hover{background:var(--bg-1); color:var(--text-0);}
  .dash-doc-file svg{width:16px; height:16px; stroke:var(--accent); fill:none; stroke-width:1.6; flex-shrink:0;}
  .dash-upload-zone.drag-active{border-color:var(--accent); background:rgba(74,128,203,0.08); color:var(--text-0);}
  .dash-photo-search{display:flex; align-items:center; gap:8px; background:var(--bg-0); border:1px solid var(--line); border-radius:20px; padding:8px 14px; margin-bottom:12px;}
  .dash-photo-search svg{width:16px; height:16px; stroke:var(--text-2); fill:none; stroke-width:1.8; flex-shrink:0;}
  .dash-photo-search input{flex:1; background:none; border:none; color:var(--text-0); font-size:12px; font-family:'IBM Plex Sans',sans-serif;}
  .dash-photo-search input:focus{outline:none;}
  .dash-photo-tile.hidden{display:none;}
  .dash-photo-folder.hidden{display:none;}

  .dash-ask textarea{width:100%; background:var(--bg-0); border:1px solid var(--line); color:var(--text-0); padding:10px 12px; border-radius:2px; font-size:13px; font-family:'IBM Plex Sans',sans-serif; resize:vertical; margin-bottom:12px; box-sizing:border-box;}
  .dash-ask textarea:focus{outline:none; border-color:var(--accent);}
  .dash-ask-head{display:flex; align-items:center; gap:12px; margin-bottom:14px;}
  .dash-ask-avatar{width:38px; height:38px; border-radius:50%; background:var(--accent); display:flex; align-items:center; justify-content:center; flex-shrink:0;}
  .dash-ask-avatar svg{width:28px; height:28px;}
  .dash-ask-head h4{font-size:14px; margin-bottom:2px;}
  .dash-ask-sub{font-size:11px; color:var(--text-2);}
  .dash-project-log{display:flex; flex-direction:column; gap:8px; max-height:220px; overflow-y:auto; margin-bottom:12px; padding-right:4px;}
  .dash-msg{font-size:12px; padding:8px 11px; border-radius:4px; max-width:88%; line-height:1.5;}
  .dash-msg.user{background:#5A6272; color:#fff; align-self:flex-end;}
  .dash-msg.bot{background:var(--accent); color:#fff; align-self:flex-start;}
  .dash-ask-form{display:flex; gap:8px;}
  .dash-ask-form input[type="text"]{flex:1; background:var(--bg-0); border:1px solid var(--line); color:var(--text-0); padding:9px 11px; border-radius:2px; font-size:12px; font-family:'IBM Plex Sans',sans-serif; min-width:0;}
  .dash-ask-form input[type="text"]:focus{outline:none; border-color:var(--accent);}
  .dash-ask-form button{white-space:nowrap; font-size:12px; padding:9px 16px;}

  .dash-upload-zone{display:flex; align-items:center; gap:10px; border:1.5px dashed var(--line-strong); border-radius:6px; padding:16px; font-size:12px; color:var(--text-1); cursor:pointer; margin-bottom:14px;}
  .dash-upload-zone svg{width:22px; height:22px; stroke:var(--accent); fill:none; stroke-width:1.6; flex-shrink:0;}
  .dash-upload-list{display:flex; flex-direction:column; gap:10px;}
  .dash-upload-item{display:flex; align-items:center; gap:12px;}
  .dash-upload-thumb{width:44px; height:44px; border-radius:4px; background-size:cover; background-position:center; flex-shrink:0;}
  .dash-upload-item b{display:block; font-size:12px; color:var(--text-0);}
  .dash-upload-item span{font-size:11px; color:var(--text-2);}

  .dash-qr{text-align:center;}
  .dash-qr p{font-size:12px; color:var(--text-1); line-height:1.5; margin-bottom:16px; text-align:left;}
  .dash-qr-wrap{position:relative; width:180px; height:180px; margin:0 auto; background:#fff; border-radius:8px; padding:12px; box-sizing:border-box;}
  .dash-qr-img-real{width:100%; height:100%; display:block;}
  .dash-qr-logo-overlay{position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:36px; height:36px; object-fit:contain; background:#fff; padding:3px; border-radius:4px; box-shadow:0 0 0 2px #fff;}
  .dash-qr-project{display:block; font-family:'Space Grotesk',sans-serif; font-size:12px; font-weight:600; color:var(--text-0); text-align:center; margin-top:12px;}

  .dash-history{background:var(--bg-1); border:1px solid var(--line); border-radius:6px; padding:20px; margin-bottom:16px;}
  .dash-history-head{display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px; margin-bottom:8px;}
  .dash-history-head h4{font-size:15px;}
  .dash-history-legend{display:flex; gap:16px; font-size:11px; color:var(--text-1);}
  .dash-history-legend .dot{display:inline-block; width:8px; height:8px; border-radius:50%; margin-right:5px; vertical-align:middle;}
  .dash-history-legend .dot.termine{background:#4A80CB;}
  .dash-history-legend .dot.qualitaet{background:#E0954A;}
  .dash-history-legend .dot.gesamt{background:#5DB36B;}
  .dash-history-chart{width:100%; height:auto; display:block;}
  .dash-grid{stroke:var(--line); stroke-width:1;}
  .dash-axis-label{font-family:'IBM Plex Mono',monospace; font-size:10px; fill:var(--text-2);}
  .dash-axis-label.center{text-anchor:middle;}
  .dash-axis-label.strong{fill:var(--text-0); font-weight:600;}
  .dash-line{fill:none; stroke-width:2.5; stroke-linejoin:round; stroke-linecap:round;}
  .dash-line.termine{stroke:#4A80CB;}
  .dash-line.qualitaet{stroke:#E0954A;}
  .dash-line.gesamt{stroke:#5DB36B;}
  .dash-point.termine{fill:#4A80CB;}
  .dash-point.qualitaet{fill:#E0954A;}
  .dash-point.gesamt{fill:#5DB36B;}
  .dash-history-note{font-size:11px; color:var(--text-2); margin-top:10px;}

  .dash-photo-folders{display:flex; flex-direction:column; gap:10px;}
  .dash-photo-folder{border:1px solid var(--line); border-radius:6px; overflow:hidden;}
  .dash-photo-folder-head{display:flex; align-items:center; justify-content:space-between; padding:12px 14px; background:var(--bg-0); cursor:pointer;}
  .dash-photo-folder-title{display:flex; align-items:center; gap:10px;}
  .dash-photo-folder-title svg{width:20px; height:20px; stroke:var(--accent); fill:none; stroke-width:1.5; flex-shrink:0;}
  .dash-photo-folder-title b{display:block; font-size:13px; color:var(--text-0);}
  .dash-photo-folder-title span{font-size:11px; color:var(--text-2);}
  .dash-chevron{width:16px; height:16px; stroke:var(--text-2); fill:none; stroke-width:2; transition:transform 0.15s ease;}
  .dash-photo-folder-head.open .dash-chevron{transform:rotate(180deg);}
  .dash-photo-grid{display:none; grid-template-columns:repeat(auto-fill,88px); gap:8px; padding:12px 14px;}
  .dash-photo-grid.open{display:grid;}
  .dash-photo-tile{aspect-ratio:1; border-radius:4px; background-size:cover; background-position:center; cursor:pointer; transition:transform 0.12s ease; position:relative; overflow:hidden;}
  .dash-photo-tile-date{position:absolute; left:3px; bottom:3px; font-family:'IBM Plex Mono',monospace; font-size:9px; color:#fff; background:rgba(0,0,0,0.6); padding:2px 5px; border-radius:3px;}
  .dash-photo-tile:hover{transform:scale(1.04);}
  .dash-upload-thumb{cursor:pointer;}

  .dash-lightbox{position:fixed; inset:0; background:rgba(11,14,19,0.92); z-index:2400; display:none; align-items:center; justify-content:center; padding:40px;}
  .dash-lightbox.open{display:flex;}
  .dash-lightbox img{max-width:100%; max-height:100%; border-radius:6px; box-shadow:0 20px 60px rgba(0,0,0,0.5);}
  .dash-lightbox-close{position:fixed; top:20px; right:24px; background:none; border:none; color:#fff; font-size:32px; line-height:1; cursor:pointer; z-index:2401;}
  .dash-lightbox-arrow{position:fixed; top:50%; transform:translateY(-50%); background:rgba(255,255,255,0.1); border:none; color:#fff; font-size:36px; line-height:1; width:52px; height:52px; border-radius:50%; cursor:pointer; z-index:2401; display:flex; align-items:center; justify-content:center;}
  .dash-lightbox-arrow:hover{background:rgba(255,255,255,0.2);}
  .dash-lightbox-arrow.left{left:20px;}
  .dash-lightbox-arrow.right{right:20px;}
  .dash-lightbox-frame{display:flex; flex-direction:column; align-items:center; max-width:100%; max-height:100%;}
  .dash-lightbox-date{margin-top:14px; font-family:'IBM Plex Mono',monospace; font-size:13px; color:#fff; background:rgba(255,255,255,0.1); padding:6px 14px; border-radius:20px;}
  .dash-lightbox-tags{display:flex; gap:8px; flex-wrap:wrap; justify-content:center; margin-top:10px; max-width:400px;}
  .dash-lightbox-tags span{font-family:'IBM Plex Mono',monospace; font-size:11px; color:var(--accent-hover); background:rgba(74,128,203,0.18); padding:4px 10px; border-radius:12px;}

  .dash-gate{background:var(--bg-1); border:1px solid var(--line); border-radius:6px; padding:24px;}
  .dash-gate-tabs{display:flex; gap:6px; background:var(--bg-0); border:1px solid var(--line); border-radius:20px; padding:3px; margin-bottom:20px;}
  .dash-gate-tabs button{flex:1; background:none; border:none; color:var(--text-1); font-size:12px; padding:8px 10px; border-radius:16px; cursor:pointer;}
  .dash-gate-tabs button.active{background:var(--accent); color:#fff;}
  .dash-gate-form{display:flex; flex-direction:column; gap:14px;}
  .dash-gate-form label{display:flex; flex-direction:column; gap:6px; font-family:'IBM Plex Mono',monospace; font-size:11px; text-transform:uppercase; letter-spacing:0.04em; color:var(--text-2);}
  .dash-gate-form input[type="email"], .dash-gate-form input[type="password"], .dash-gate-form input[type="text"]{background:var(--bg-0); border:1px solid var(--line); color:var(--text-0); padding:10px 12px; border-radius:2px; font-size:13px; font-family:'IBM Plex Sans',sans-serif; text-transform:none; letter-spacing:normal;}
  .dash-gate-form input:focus{outline:none; border-color:var(--accent);}
  .dash-gate-form input[readonly]{color:var(--text-1); background:var(--bg-2);}
  .dash-gate-forgot{font-size:11px; color:var(--accent-text); text-decoration:none; margin-top:-6px;}
  .dash-gate-check{flex-direction:row !important; align-items:flex-start; gap:10px !important; text-transform:none; font-size:12px; letter-spacing:normal; color:var(--text-1); cursor:pointer;}
  .dash-gate-check input{margin-top:2px; flex-shrink:0;}
  .dash-gate-check a{color:var(--accent-text);}
  .dash-gate-demo{text-align:center; font-size:11px; color:var(--text-2); margin-top:16px;}
  .dash-gate-info{font-size:13px; line-height:1.55; color:var(--text-1); background:var(--bg-1); border:1px solid var(--line); border-radius:4px; padding:12px 14px; margin:0 0 18px;}
  .dash-gate-msg{font-size:12.5px; line-height:1.5; color:#E8A33C; margin:12px 0 0; min-height:0;}
  .dash-gate-msg:empty{display:none;}
  .dash-gate-demo a{color:var(--accent-text);}

  @media (max-width:700px){
    .dash-rating-head{flex-direction:column; align-items:flex-start; gap:10px;}
    .dash-folder-head{flex-direction:column; align-items:flex-start;}
  }

  .dash-trend{display:inline-flex; align-items:center; gap:4px; font-family:'IBM Plex Mono',monospace; font-size:11px; font-weight:400; margin-left:8px; padding:2px 8px; border-radius:10px; vertical-align:middle;}
  .dash-trend svg{width:12px; height:12px; stroke:currentColor; fill:none; stroke-width:2.2;}
  .dash-trend.up{color:#5DB36B; background:rgba(93,179,107,0.12);}
  .dash-trend.down{color:#C94F4F; background:rgba(201,79,79,0.12);}
  .dash-trend.flat{color:var(--text-2); background:var(--bg-0);}

  .dash-basis-btn{background:none; border:none; color:var(--accent-text); font-size:11px; padding:0; margin-top:10px; cursor:pointer; text-decoration:underline;}
  .dash-basis{display:none; flex-direction:column; gap:6px; margin-top:10px; padding-top:10px; border-top:1px solid var(--line);}
  .dash-basis.open{display:flex;}
  .dash-basis-item{display:flex; align-items:flex-start; gap:6px; font-size:11px; color:var(--text-1); line-height:1.4;}
  .dash-basis-item svg{width:14px; height:14px; flex-shrink:0; margin-top:1px; fill:none; stroke-width:2;}
  .dash-basis-item.ok svg{stroke:#5DB36B;}
  .dash-basis-item.warn svg{stroke:#E8B95A;}
  @media (max-width:700px){
    .dash-kpi-grid{grid-template-columns:1fr;}
    .dash-lower-grid{grid-template-columns:1fr;}
    .dash-project-head{flex-direction:column; text-align:center;}
    .dash-doc-cats{grid-template-columns:1fr;}
  }
  .benefit h3{font-size:15px; margin-bottom:8px;}
  .benefit p{font-size:13px; color:var(--text-1);}
  .previews{display:grid; grid-template-columns:1.1fr 0.9fr; gap:20px; max-width:900px; margin:0 auto;}
  .preview-card{background:var(--bg-1); border:1px solid var(--line); border-radius:4px; overflow:hidden;}
  .preview-head{padding:14px 16px; border-bottom:1px solid var(--line); font-family:'IBM Plex Mono',monospace; font-size:11px; color:var(--text-2); text-transform:uppercase; letter-spacing:0.06em;}
  .preview-body{padding:18px;}
  .mock-row{display:flex; align-items:center; gap:10px; padding:8px 0; border-top:1px solid var(--line); font-size:12px; color:var(--text-1);}
  .mock-row:first-child{border-top:none;}
  .mock-bar{height:8px; background:var(--bg-2); border-radius:2px; flex:1;}
  .mock-bar.short{max-width:40%;}
  .mock-dot{width:9px; height:9px; border-radius:50%; flex-shrink:0;}
  .mock-dot.green{background:#4CAF6D;}
  .mock-dot.amber{background:#D9A824;}
  .phone-mock{width:130px; height:230px; background:var(--bg-2); border:1px solid var(--line-strong); border-radius:16px; margin:0 auto; padding:14px 10px; display:flex; flex-direction:column; gap:8px;}
  .phone-mock .chip{height:22px; background:var(--bg-1); border:1px solid var(--line); border-radius:11px;}
  .phone-mock .chip.wide{width:100%;}
  .phone-mock .chip.half{width:55%;}
  .phone-mock .block{height:44px; background:var(--bg-1); border:1px solid var(--line); border-radius:6px; margin-top:6px;}
  .portal-cta{text-align:center; border-bottom:none; padding-bottom:80px;}

  .legal-content{max-width:760px; margin:0 auto; padding:56px 32px 80px;}
  .legal-content h2{font-size:26px; margin-bottom:8px;}
  .legal-content .updated{font-family:'IBM Plex Mono',monospace; font-size:12px; color:var(--text-2); margin-bottom:36px; display:block;}
  .legal-content h3{font-size:16px; margin:32px 0 10px;}
  .legal-content p{font-size:14px; color:var(--text-1); margin-bottom:12px;}
  .legal-content ul{margin:0 0 12px 20px; font-size:14px; color:var(--text-1);}
  .legal-content li{margin-bottom:6px;}
  .legal-content a{color:var(--accent-text);}
  .legal-placeholder{color:var(--text-2); font-style:italic;}
  .legal-note{background:var(--bg-1); border:1px solid var(--line); border-radius:4px; padding:16px 18px; font-size:13px; color:var(--text-1); margin-bottom:32px;}
  .qual-list{list-style:none; margin:16px 0 20px;}
  .qual-list li{font-size:14px; color:var(--text-1); padding:10px 0; border-top:1px solid var(--line); display:flex; align-items:center; gap:14px;}
  .qual-list li:first-child{border-top:none;}
  .qual-item{position:relative;}
  .qstamp{position:absolute; left:-240px; top:50%; transform:translateY(-50%); width:224px; height:224px; padding:14px; background:#fff; border-radius:8px; box-shadow:0 16px 40px rgba(0,0,0,0.5); opacity:0; visibility:hidden; z-index:20; pointer-events:none;}
  .qstamp img{width:100%; height:100%; display:block;}
  .qual-item:hover .qstamp{visibility:visible; opacity:1; transition:opacity 0.15s ease;}
  @media (max-width:700px){
    .benefits{grid-template-columns:1fr;}
    .previews{grid-template-columns:1fr;}
  }

  /* ---- Blocksatz für Fließtexte ---- */
  p{text-align:justify; -webkit-hyphens:auto; hyphens:auto;}
  .hero-note, .form-hint, .form-status, .cookie-banner p, .nia-panel p, .nia-log p, [class^="dash-"] p, [class*=" dash-"] p,
  .dash-msg, .audit-ziel, .foot-inner p, .kontakt-success-box p, .dash-gate-info, .dash-gate-msg, .dash-gate-demo{text-align:left;}
  .hero-note{hyphens:none; -webkit-hyphens:none;}
  /* schmale Kacheln: Blocksatz würde große Lücken reißen */
  .lcard p, .audience-card p, .timeline-body p, .bw-card p, .bw-step p, .dcard p, .eq-item p{text-align:left;}

  /* ---- Blauer Hinweiskasten (wie Hero-Hinweis) ---- */
  .note-box{display:flex; gap:12px; align-items:flex-start; margin:28px 0 8px; padding:16px 20px; border-radius:12px;
    background:rgba(74,128,203,0.1); border:1px solid rgba(74,128,203,0.3); color:var(--text-0); font-size:14px; line-height:1.6;}
  .note-box svg{width:16px; height:16px; flex:none; margin-top:3px; stroke:var(--accent); fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round;}
  .note-box b{display:block; font-family:'Space Grotesk',sans-serif; color:var(--accent-text); font-size:15px; margin-bottom:4px;}
  .note-box p{color:var(--text-1); margin:0 0 8px;}
  .note-box p:last-child{margin-bottom:0;}

  /* ---- Bauwerke-Kacheln ---- */
  a.bwcard{display:flex; color:inherit; text-decoration:none;}
  a.bwcard .lcard-img{height:150px;}
  a.bwcard:hover{border-color:var(--accent);}

  /* ---- Ablauf: größerer Kreis, kompaktere Liste ---- */
  .ablauf-grid{grid-template-columns:290px 1fr; gap:28px;}
  .flow-center{width:44%; height:44%;}
  .ablauf-timeline > .eyebrow{margin-bottom:14px;}
  .timeline-item{grid-template-columns:34px 1fr; gap:12px; padding-bottom:14px;}
  .timeline-marker{width:34px; height:34px; font-size:12px;}
  .timeline-body h4{font-size:15px; margin-bottom:2px;}
  .timeline-body p{font-size:12.5px; line-height:1.5;}
  @media (max-width:860px){ .ablauf-grid{grid-template-columns:1fr;} }
  .timeline-item::before{left:16px; top:34px; bottom:0;}
  @media (min-width:861px){ .flow-circle{transform:scale(1.3); transform-origin:center; margin:-40px auto -40px;} }

  /* ---- Einsatzgebiet im Kontaktbereich ---- */
  .contact p{text-align:left;}
  .contact-area{display:flex; align-items:center; gap:8px; font-size:14px; color:var(--text-0); margin-top:4px;}
  #bestandsbegehung{scroll-margin-top:110px;}
  .note-box p.nb-link{text-align:left;}
  .contact-area svg{width:16px; height:16px; flex:none; stroke:var(--accent); fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round;}
  .audience-card p a{color:var(--accent-text); text-decoration:none; white-space:nowrap;}
  .audience-card p a:hover{text-decoration:underline;}

  /* ---- Ablaufkreis auf Handy/Tablet größer (Ring nutzt sonst nur 68 % der Fläche) ---- */
  .process{overflow-x:clip;}
  @media (max-width:860px){ .flow-circle{max-width:440px; transform:scale(1.42); transform-origin:center; margin:36px auto 44px;} }

  /* Rückruf-Button */
  .contact-callback{margin-top:16px; font-size:13px; padding:10px 18px; cursor:pointer; background:none;}

  /* ---- Fußzeile: Zeilen linksbündig untereinander ---- */
  .foot-inner{display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-start; gap:10px; padding-right:110px;}
  .foot-row{display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 0; line-height:1.7;}
  .foot-label{font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:0.1em; text-transform:uppercase; color:var(--text-1); min-width:110px;}
  .foot-sep{margin:0 8px; color:var(--text-2);}
  .foot-legal{margin-top:8px; padding-top:12px; border-top:1px solid var(--line); width:100%;}
  @media (max-width:600px){ .foot-inner{padding-right:0; padding-bottom:70px;} .foot-label{min-width:100%;} }
  .foot-row a{white-space:nowrap;}

  /* ---- NIA-Hinweis ---- */
  .nia-teaser{position:fixed; right:24px; bottom:140px; width:290px; padding:16px 18px; background:var(--bg-1); color:var(--text-0); border:1px solid var(--accent); border-radius:12px; box-shadow:0 12px 36px rgba(0,0,0,0.45); z-index:9998; font-size:14px; line-height:1.5; cursor:pointer; opacity:0; transform:translateY(10px); pointer-events:none; transition:opacity .35s ease, transform .35s ease;}
  .nia-teaser.show{opacity:1; transform:none; pointer-events:auto;}
  .nia-teaser:after{content:''; position:absolute; right:42px; bottom:-8px; width:14px; height:14px; background:var(--bg-1); border-right:1px solid var(--accent); border-bottom:1px solid var(--accent); transform:rotate(45deg);}
  .nia-teaser b{display:block; font-family:'Space Grotesk',sans-serif; font-size:16px; margin-bottom:4px;}
  .nia-teaser span{display:block; color:var(--text-1);}
  .nia-teaser em{display:block; font-style:normal; margin-top:8px; color:var(--accent-text); font-family:'IBM Plex Mono',monospace; font-size:12px;}
  .nia-teaser-close{position:absolute; top:6px; right:8px; background:none; border:none; color:var(--text-2); font-size:20px; line-height:1; cursor:pointer; padding:4px;}
  @media (max-width:600px){ .nia-teaser{width:auto; left:16px;} }

  /* ---- Desktop: größere Schrift (Feedback) ---- */
  @media (min-width:1100px){
    body{font-size:17px;}
    .eyebrow{font-size:13.5px;}
    .logo .name{font-size:20px;}
    .logo .sub{font-size:11px;}
    .navlinks{font-size:15.5px;}
    .nav-dropdown-menu a{font-size:14.5px;}
    .cta{font-size:14.5px;}
    .hero .tags{font-size:13.5px;}
    .hero p.lead{font-size:18px;}
    .hero p.lead-sub{font-size:18px;}
    .hero-note{font-size:14.5px;}
    .btn-primary{font-size:15.5px;}
    .btn-secondary{font-size:15.5px;}
    .hero-logo-tagline{font-size:14.5px;}
    .section-head p{font-size:17px;}
    .lcard-product-eyebrow{font-size:13px;}
    .lcard-product-sub{font-size:10px;}
    .lcard-audit-name{font-size:18px;}
    .lcard-audit-price{font-size:13px;}
    .lcard-audit-price .cur{font-size:11px;}
    .audience-card h4{font-size:17px;}
    .audience-card p{font-size:14.5px;}
    .lcard h3{font-size:16px; overflow-wrap:normal; word-break:normal;}
    .lcard p{font-size:14.5px;}
    .lcard .go{font-size:13.5px;}
    .detail-block h3{font-size:20px;}
    .detail-block .sub{font-size:14.5px;}
    .detail-list li{font-size:15.5px;}
    .eq-item span{font-size:15.5px;}
    .flow-center-caption{font-size:11px;}
    .flow-segment span{font-size:13.5px;}
    .timeline-marker{font-size:14.5px;}
    .timeline-body h4{font-size:18px;}
    .timeline-body p{font-size:14.5px;}
    .digital-sub{font-size:15.5px;}
    .showcase li{font-size:15.5px;}
    .ampel-row{font-size:14.5px;}
    .audit-positioning{font-size:15.5px;}
    .audit-ziel{font-size:15.5px;}
    .audit-cols h5{font-size:12.5px;}
    .audit-cols ul{font-size:15.5px;}
    .audit-price-box .label{font-size:12.5px;}
    .audit-disclaimer{font-size:14px;}
    .tag{font-size:11px;}
    .audit-ring-label span{font-size:12px;}
    .audit-leistungen h5{font-size:12.5px;}
    .audit-leistungen ul{font-size:16px;}
    .dcard h4{font-size:15.5px;}
    .dcard ul{font-size:13.5px;}
    .about p{font-size:17px;}
    .fact b{font-size:15.5px;}
    .fact span{font-size:14.5px;}
    .contact p{font-size:17px;}
    .contact-detail{font-size:15.5px;}
    form label{font-size:13.5px;}
    input,textarea,select{font-size:15.5px;}
    .form-hint{font-size:13.5px;}
    .form-status{font-size:14.5px;}
    .checkbox-row{font-size:14.5px;}
    form button{font-size:15.5px;}
    .foot-badge span{font-size:14.5px;}
    .foot-inner{font-size:13.5px;}
    .nav-mobile a{font-size:17px;}
    .nav-mobile-cta{font-size:15.5px;}
    .topbar-navlinks{font-size:15.5px;}
    .portal-topbar .logo span{font-size:11px;}
    .portal-close{font-size:14.5px;}
    .kontakt-success-box .portal-close{font-size:15.5px;}
    .kontakt-success-box p{font-size:15.5px;}
    .portal-hero p{font-size:17px;}
    .progress-label{font-size:12.5px;}
    .benefit h3{font-size:17px;}
    .benefit p{font-size:14.5px;}
    .preview-head{font-size:12.5px;}
    .mock-row{font-size:13.5px;}
    .legal-content .updated{font-size:13.5px;}
    .legal-content h3{font-size:18px;}
    .legal-content p{font-size:15.5px;}
    .legal-content ul{font-size:15.5px;}
    .legal-note{font-size:14.5px;}
    .qual-list li{font-size:15.5px;}
    .note-box{font-size:15.5px;}
    .note-box b{font-size:17px;}
    .timeline-marker{font-size:13.5px;}
    .timeline-body h4{font-size:17px;}
    .timeline-body p{font-size:14px;}
    .contact-area{font-size:15.5px;}
    .contact-callback{font-size:14.5px;}
    .foot-label{font-size:12.5px;}
  }

  @media (min-width:1100px){
    html .bw-crumb{font-size:13.5px;}
    html .bw-hero p{font-size:19px;}
    html .bw-card h3{font-size:19px;}
    html .bw-card p{font-size:15.5px;}
    html .bw-step-head span{font-size:14.5px;}
    html .bw-step h3{font-size:18px;}
    html .bw-step p{font-size:15px;}
    html .bw-list li{font-size:17px;}
    html .bw-box h3{font-size:22.5px;}
    html .bw-box p{font-size:17px;}
    html .bw-box ul{font-size:15.5px;}
    html .bw-faq summary{font-size:19px;}
    html .bw-faq p{font-size:17px;}
    html .bw-more b{font-size:18px;}
    html .bw-btn{font-size:17px;}
    html .foot-inner{font-size:14.5px;}
    html .lp-crumb{font-size:13.5px;}
  }

  /* ---- BauwerksAudit360 als Unterpunkt ---- */
  .nav-dropdown-menu a.nav-sub{padding-left:30px; font-size:0.92em; color:var(--text-1); position:relative;}
  .nav-dropdown-menu a.nav-sub:before{content:'\2514'; position:absolute; left:14px; color:var(--text-2);}
  .nav-mobile a.nav-mobile-sub{padding-left:16px; font-size:14px;}
  .nav-mobile a.nav-mobile-sub2{padding-left:32px;}
  .audit-teaser{margin:28px 0 8px; padding:22px 24px; border-radius:12px; border:1px solid var(--accent); background:linear-gradient(135deg, rgba(74,128,203,0.16), rgba(74,128,203,0.04));}
  .audit-teaser h3{margin:6px 0 8px;}
  .audit-teaser p{color:var(--text-1); margin-bottom:16px;}
  .audit-teaser .cta{display:inline-block;}
  .audit-steps{margin:12px 0 0 20px; color:var(--text-1);}
  .audit-steps li{margin-bottom:10px; text-align:left;}
  .audit-steps b{color:var(--text-0);}

  /* ---- NIA: größerer Chat und größere Schrift (Feedback) ---- */
  .nia-panel{width:500px; height:min(680px, calc(100vh - 48px));}
  .nia-panel-header-text b{font-size:18px;}
  .nia-panel-header-text span{font-size:12px;}
  .nia-intro{font-size:16px; line-height:1.6;}
  .nia-msg{font-size:16px; line-height:1.55; padding:11px 14px; max-width:86%;}
  .nia-panel .nia-input textarea, .nia-input input[type="text"]{font-size:16px;}
  .nia-input button{font-size:15px;}
  .nia-panel .nia-disclaimer{font-size:12px;}
  .nia-reset{font-size:12px;}
  .nia-teaser{width:340px; padding:18px 20px; font-size:16px;}
  .nia-teaser b{font-size:19px;}
  .nia-teaser em{font-size:14px;}
  @media (max-width:600px){
    .nia-panel{height:min(78vh, 600px);}
    .nia-msg, .nia-intro, .nia-panel .nia-input textarea{font-size:16px;}
    .nia-teaser{width:auto; font-size:15px;}
  }
  .nia-input button, .nia-panel .nia-input button{white-space:nowrap; flex-shrink:0; padding:12px 18px;}
  /* ---- NIA: Chatverlauf ohne eigene Scrollleiste, größeres Fenster ---- */
  .nia-panel{width:560px; height:min(760px, calc(100vh - 48px));}
  .nia-panel .nia-log{max-height:none; overflow:visible;}
  .nia-msg ul{margin:6px 0 6px 18px; padding:0;}
  .nia-msg li{margin:2px 0;}
  .nia-msg b{font-weight:600;}
  @media (max-width:600px){ .nia-panel{height:calc(100vh - 24px); height:calc(100dvh - 24px); top:12px;} }
  .nia-new{color:var(--accent-text); white-space:nowrap; margin-left:4px;}
  /* ---- NIA: Verlauf als Anfrage senden ---- */
  .nia-send-open{display:none; margin:0 16px 10px; align-self:flex-start; background:none; border:1px solid var(--accent); color:var(--accent-text); border-radius:6px; padding:8px 14px; font-size:14px; cursor:pointer; font-family:'IBM Plex Sans',sans-serif;}
  .nia-send-open.show{display:inline-block;}
  .nia-send-open:hover{background:rgba(74,128,203,0.15);}
  .nia-send{display:none; position:absolute; left:0; right:0; bottom:0; top:72px; background:var(--bg-1); z-index:5; overflow-y:auto; padding:18px 20px;}
  .nia-send.open{display:block;}
  .nia-send b{display:block; font-family:'Space Grotesk',sans-serif; font-size:19px; margin-bottom:6px;}
  .nia-send p{font-size:14px; color:var(--text-1); text-align:left; margin-bottom:12px;}
  .nia-send input[type=text], .nia-send input[type=email], .nia-send input[type=tel], .nia-send textarea{width:100%; box-sizing:border-box; margin-bottom:10px; background:var(--bg-0); border:1px solid var(--line); color:var(--text-0); padding:11px 12px; border-radius:4px; font-size:16px; font-family:'IBM Plex Sans',sans-serif;}
  .nia-send textarea{resize:vertical;}
  .nia-send-file{display:block; font-size:13px; color:var(--text-1); margin-bottom:10px;}
  .nia-send-file input{display:block; margin-top:6px; font-size:13px; color:var(--text-1);}
  .nia-send-check{display:flex; gap:8px; align-items:flex-start; font-size:13px; color:var(--text-1); margin:4px 0 14px; line-height:1.45;}
  .nia-send-check a{color:var(--accent-text);}
  .nia-send-actions{display:flex; gap:10px;}
  .nia-send-actions button{background:var(--accent); color:#fff; border:none; border-radius:4px; padding:12px 18px; font-size:15px; cursor:pointer; font-family:'IBM Plex Sans',sans-serif;}
  .nia-send-actions button.ghost{background:none; border:1px solid var(--line-strong); color:var(--text-1);}
  .nia-send-actions button:disabled{opacity:0.6;}
  .nia-send-status{margin-top:10px; font-size:14px;}
  .nia-send-status.error{color:#F0A0A0;}
  .nia-msg.nia-suggest{background:var(--bg-0); color:var(--text-0); border:1px solid var(--accent);}
  .nia-msg.nia-suggest a{color:var(--accent-text); white-space:nowrap; font-weight:600;}
  .nia-msg.system{opacity:0.95;}
  .nia-send label, .nia-send-file, .nia-send-check{text-transform:none; letter-spacing:normal; font-family:'IBM Plex Sans',sans-serif;}
  .nia-send .nia-send-check{flex-direction:row; display:flex;} .nia-send .nia-send-check input{width:auto; margin-top:3px; flex:none;}

  /* Fußzeile: Link-Zeilen auf dem Handy ausblenden, nur Rechtliches bleibt */
  @media (max-width:700px){ footer .foot-row:not(.foot-legal){display:none;} }

  /* Handy-Menü: scrollbar, damit „Kontakt aufnehmen" immer erreichbar ist */
  .nav-mobile.open{max-height:calc(100vh - 96px); max-height:calc(100dvh - 96px); overflow-y:auto; -webkit-overflow-scrolling:touch; overscroll-behavior:contain;}

  /* Über-mich-Block: Text über die volle Breite */
  .about p{max-width:none;}

  /* ---- NIA: Anhänge (+) ---- */
  .nia-panel .nia-input .nia-attach-btn{flex:0 0 auto; width:46px; height:46px; padding:0; border-radius:50%; background:transparent; border:1px solid var(--line-strong); color:var(--text-0); font-size:26px; line-height:1; display:flex; align-items:center; justify-content:center; cursor:pointer;}
  .nia-panel .nia-input .nia-attach-btn:hover, .nia-panel .nia-input .nia-attach-btn[aria-expanded="true"]{background:var(--bg-2); border-color:var(--accent);}
  .nia-attach-menu{display:none; position:absolute; left:16px; bottom:150px; z-index:5; background:var(--bg-1); border:1px solid var(--line-strong); border-radius:10px; box-shadow:0 12px 32px rgba(0,0,0,0.5); padding:6px; width:260px; max-width:calc(100% - 32px); flex-direction:column;}
  .nia-attach-menu.open{display:flex;}
  .nia-attach-menu button{background:none; border:none; color:var(--text-0); text-align:left; padding:12px 12px; font-size:16px; font-family:'IBM Plex Sans',sans-serif; border-radius:6px; cursor:pointer; display:flex; gap:10px; align-items:center;}
  .nia-attach-menu button:hover{background:var(--bg-2);}
  .nia-attach-menu small{color:var(--text-2); font-size:12px; line-height:1.4; padding:6px 12px 8px;}
  .nia-msg.nia-attach{position:relative; display:flex; flex-direction:column; gap:6px; padding:8px; white-space:normal;}
  .nia-msg.nia-attach img{display:block; max-width:220px; max-height:220px; border-radius:4px; object-fit:cover;}
  .nia-msg.nia-attach span{font-size:13px; word-break:break-all; padding-right:22px;}
  .nia-attach-x{position:absolute; top:4px; right:4px; width:26px; height:26px; border-radius:50%; border:none; background:rgba(0,0,0,0.55); color:#fff; font-size:18px; line-height:1; cursor:pointer; padding:0;}
  .nia-send-anhang{color:var(--accent-text); font-size:14px; margin:0;}
  .nia-send-anhang:empty{display:none;}
  .nia-msg.nia-attach em{font-style:normal; font-size:12px; opacity:0.85;}

  /* ---- Hellere Farbstufe (Okt. 2026): dunkle Flächen anthrazit statt fast schwarz ---- */
  :root{--bg-0:#2F3641; --bg-1:#38404C; --bg-2:#414956; --bg-3:#485365; --line:#515A68; --line-strong:#687284; --text-2:#929BAA; --accent-text:#8DB3E8;}
  .section-light{--bg-0:#585C63; --bg-1:#63676E; --bg-2:#6B6F76; --bg-3:#697184; --line:#75797F; --line-strong:#8B8F95; --text-1:#E4E6E8; --text-2:#C9CBCE; --accent-text:#C4DAF7;}
  header, .portal-topbar{background:#1F252D;}
  .logo-img, .portal-topbar .logo img{background:#1F252D;}
  .eq-icon-logo{background:#1F252D !important; border-color:#1F252D !important;}

  /* ---- Kräftigere blaue Akzente (Links, Pfeile, Symbole) ---- */
  :root{--accent-text:#8FC1FF;}
  .section-light{--accent-text:#A9D2FF;}
  .lcard .go, a.go{font-weight:600; letter-spacing:0.01em;}
  .lcard .go{font-size:14px;}
  .audience-card svg{stroke:#8FC1FF; stroke-width:1.8;}
  .section-light .audience-card svg{stroke:#A9D2FF;}
  .bw-more b:after{color:#8FC1FF !important; font-weight:700; font-size:1.2em;}
  .section-light .bw-more b:after{color:#A9D2FF !important;}

  /* Kachel-Überschriften: Trennung nur an vorgegebener Stelle (z. B. Sachverständigen-/leistungen) */
  .lcard h3{hyphens:manual !important; -webkit-hyphens:manual !important;}

  /* Hero-Video: keinen Play-Knopf anzeigen, falls das Handy Autoplay blockiert (Standbild bleibt sichtbar) */
  .hero-video::-webkit-media-controls, .hero-video::-webkit-media-controls-start-playback-button, .hero-video::-webkit-media-controls-overlay-play-button{display:none !important; -webkit-appearance:none; opacity:0 !important;}
  .hero-video{pointer-events:none;}

  /* Ablauf-Kreis auf Tablet/Handy: Symbol über Nummer, eng zusammen und mittig im Ring */
  @media (max-width:860px){
    .flow-segment{flex-direction:column; gap:1px;}
    .flow-segment span{line-height:1;}
    .flow-circle .flow-segment:nth-of-type(3){left:50.00% !important; top:22.00% !important;}
    .flow-circle .flow-segment:nth-of-type(4){left:71.89% !important; top:32.54% !important;}
    .flow-circle .flow-segment:nth-of-type(5){left:77.30% !important; top:56.23% !important;}
    .flow-circle .flow-segment:nth-of-type(6){left:62.15% !important; top:75.23% !important;}
    .flow-circle .flow-segment:nth-of-type(7){left:37.85% !important; top:75.23% !important;}
    .flow-circle .flow-segment:nth-of-type(8){left:22.70% !important; top:56.23% !important;}
    .flow-circle .flow-segment:nth-of-type(9){left:28.11% !important; top:32.54% !important;}
  }
  @media (max-width:480px){
    .flow-segment svg{width:16px; height:16px;}
    .flow-segment span{font-size:10.5px;}
  }

/* Kundenportal-Overlay: auf dem Handy nur Logo und Schließen, keine Desktop-Navigation */
@media (max-width:860px){
  .portal-topbar .topbar-navlinks{display:none !important;}
  .portal-overlay .portal-topbar .topbar-actions .cta{display:none;}
}
.nav-dropdown > a{white-space:nowrap; hyphens:none; -webkit-hyphens:none;}
/* Startseite: Claim ohne Silbentrennung, auf dem Handy je Satz eine Zeile in gleicher Größe */
.hero h1.hero-claim, .hero h1.hero-claim span{hyphens:none; -webkit-hyphens:none; word-break:normal; overflow-wrap:normal;}
.hero h1.hero-claim .claim-line{display:block;}
/* Beide Sätze immer je eine Zeile; Schriftgröße passt sich der Spaltenbreite an */
.hero-copy{container-type:inline-size; min-width:0;}
.hero h1.hero-claim{font-size:min(46px, 100cqw / 14.2);}
.hero h1.hero-claim .claim-line{white-space:nowrap;}
/* Keine automatische Silbentrennung im gesamten Text (nur bewusst gesetzte Trennstellen &shy;) */
html *, html *::before, html *::after{-webkit-hyphens:manual !important; hyphens:manual !important;}
/* Ohne Silbentrennung entstehen im Blocksatz auf dem Handy große Lücken – dort linksbündig */
@media (max-width:600px){
  p, li{text-align:left !important;}
}

/* Hinweis Rissbreitenschablone auf den Bauwerksseiten */
.bw-tool{display:flex; gap:14px; align-items:flex-start; margin:20px 0 24px; padding:16px 18px; border:1px solid var(--line); border-radius:6px; background:var(--bg-2, rgba(255,255,255,.04));}
.bw-tool svg{width:26px; height:26px; flex:none; margin-top:2px; fill:none; stroke:var(--accent-text); stroke-width:1.7; stroke-linecap:round;}
.bw-tool p{margin:0; text-align:left;}
.bw-tool a{color:var(--accent-text); font-weight:500; white-space:nowrap;}
@media (max-width:600px){ .bw-tool a{white-space:normal;} }

/* Bauwerksseiten: Hinweis Zusammenarbeit mit Fachplanern */
.bw-partner{display:flex; gap:12px; align-items:flex-start; margin-top:20px; padding:14px 16px; border-left:none; border:1px solid var(--line); border-radius:6px; color:var(--text-1); font-size:15px; text-align:left;}
.bw-partner svg{width:24px; height:24px; flex:none; fill:none; stroke:var(--accent-text); stroke-width:1.6; stroke-linecap:round; margin-top:1px;}
/* Digitale Lösungen: Link zur Kundenportal-Vorschau */
.dcard-link{display:inline-block; margin-top:14px; color:var(--accent-text); font-weight:500; text-decoration:none;}
.dcard-link:hover{text-decoration:underline;}
/* Schadensbilder: Foto erscheint beim Darüberfahren bzw. Antippen */
.bw-card[data-img]{position:relative; cursor:pointer;}
.bw-card[data-img] h3::after{content:""; display:inline-block; width:15px; height:15px; margin-left:7px; vertical-align:-1px; background:var(--accent-text); -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M4 8h3l2-3h6l2 3h3v11H4z'/%3E%3Ccircle cx='12' cy='13' r='3.5'/%3E%3C/svg%3E") center/contain no-repeat; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M4 8h3l2-3h6l2 3h3v11H4z'/%3E%3Ccircle cx='12' cy='13' r='3.5'/%3E%3C/svg%3E") center/contain no-repeat;}
.bw-card .bw-pop{position:absolute; inset:0; border-radius:inherit; background:var(--bg-0) center/cover no-repeat; opacity:0; pointer-events:none; transition:opacity .2s ease; z-index:2;}
.bw-card .bw-pop span{position:absolute; left:0; right:0; bottom:0; padding:10px 14px; background:rgba(11,14,19,.78); color:#EDEFF2; font-size:13px; border-radius:0 0 4px 4px;}
.bw-card[data-img]:hover .bw-pop, .bw-card.show-img .bw-pop{opacity:1;}
@media (prefers-reduced-motion:reduce){ .bw-card .bw-pop{transition:none;} }

/* Startseite: "Warum NIGGENABER" und Profil in einem Block */
.warum-profil .wp-grid{display:grid; grid-template-columns:260px 1fr; gap:48px; align-items:start;}
.warum-profil .wp-photo{max-width:260px;}
.warum-profil .wp-body{min-width:0;}
.warum-profil .eq-row{gap:14px; margin-top:22px;}
.warum-profil .eq-icon{min-width:96px; height:96px; font-size:17px; border-radius:22px; padding:0 14px;}
.warum-profil .eq-op{font-size:20px;}
.warum-profil .eq-icon-logo{padding:18px !important;}
.warum-profil .wp-btn{display:inline-block; margin-top:26px;}
@media (max-width:860px){
  .warum-profil .wp-grid{grid-template-columns:1fr; gap:28px;}
  .warum-profil .wp-photo{max-width:180px;}
  .warum-profil .eq-row{flex-direction:row; flex-wrap:wrap; gap:10px;}
  .warum-profil .eq-icon{min-width:72px; height:72px; font-size:14px; border-radius:16px; padding:0 10px;}
  .warum-profil .eq-op{font-size:16px;}
  .warum-profil .eq-icon-logo{padding:12px !important;}
}
@media (max-width:430px){
  .warum-profil .eq-row{gap:6px; flex-wrap:nowrap;}
  .warum-profil .eq-icon{min-width:0; height:52px; font-size:12px; border-radius:12px; padding:0 8px;}
  .warum-profil .eq-op{font-size:13px;}
  .warum-profil .eq-icon-logo{width:52px; padding:9px !important;}
}

/* Schadensbilder: Blocksatz */
html .bw-card p{text-align:justify; text-align-last:left; hyphens:manual;}
@media (min-width:861px){ html .bw-grid4{grid-template-columns:repeat(2,1fr); gap:18px;} html .bw-card[data-img]{min-height:190px;} }
.contact-detail a{color:inherit; text-decoration:none;} .contact-detail a:hover{color:var(--accent-text);}
.dash-gate-note{font-size:11.5px; color:var(--text-2); margin:10px 0 0; text-align:center;}
