@font-face{font-family:"Nunito Sans";font-style:normal;font-weight:300;font-display:swap;src:url(../ip-fonts/nunito-sans-latin-300-normal.woff2) format("woff2")}
@font-face{font-family:"Nunito Sans";font-style:normal;font-weight:400;font-display:swap;src:url(../ip-fonts/nunito-sans-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Nunito Sans";font-style:normal;font-weight:600;font-display:swap;src:url(../ip-fonts/nunito-sans-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Nunito Sans";font-style:normal;font-weight:700;font-display:swap;src:url(../ip-fonts/nunito-sans-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"Nunito Sans";font-style:normal;font-weight:800;font-display:swap;src:url(../ip-fonts/nunito-sans-latin-800-normal.woff2) format("woff2")}
/* Hausschrift Avenir (Apple-Geräte nativ), Fallback Nunito Sans */
body,.tooltip,.popover,button,input,select,textarea{font-family:"Avenir Next","Avenir","Nunito Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif}
/* INTECPRINT Mega-Menü (Overlay) */
:root{--ipm-c1:#063f55;--ipm-c2:#0b7aa3;--ipm-c3:#20bce5;--ipm-line:rgba(255,255,255,.28)}
/* Header-Leiste */
#masthead .navbar>.container{display:flex;align-items:center;flex-wrap:nowrap}
#masthead .navbar-toggler,#masthead #header-main-menu>ul#menu-hauptmenue{display:none!important}
#masthead #header-main-menu{display:flex!important;flex-basis:auto;flex-grow:1;justify-content:flex-end}
.ipm-toggle{display:inline-flex;align-items:center;gap:.6rem;background:none;border:0;padding:.5rem .25rem;margin-right:1.75rem;font:600 .95rem/1 "Avenir Next","Avenir","Nunito Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#1d2a33;cursor:pointer}
.ipm-toggle:hover,.ipm-toggle:focus-visible{color:var(--ipm-c3);outline:none}
.ipm-burger{position:relative;width:24px;height:16px;display:inline-block}
.ipm-burger i{position:absolute;left:0;height:2px;width:100%;background:currentColor;border-radius:2px;transition:.25s}
.ipm-burger i:nth-child(1){top:0}.ipm-burger i:nth-child(2){top:7px;width:70%}.ipm-burger i:nth-child(3){top:14px}
.ipm-toggle:hover .ipm-burger i:nth-child(2){width:100%}
.ipm-actions{display:flex;align-items:center;gap:.75rem}
.ipm-phone{display:inline-flex;align-items:center;gap:.5rem;font:700 .95rem/1 "Avenir Next","Avenir","Nunito Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:#1d2a33!important;text-decoration:none!important;padding:.75rem .5rem;white-space:nowrap}
.ipm-phone svg{width:18px;height:18px;color:var(--ipm-c3)}
.ipm-cta{display:inline-flex;align-items:center;gap:.5rem;background:var(--ipm-c3);color:#fff!important;font:700 .95rem/1 "Avenir Next","Avenir","Nunito Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;padding:.85rem 1.25rem;border-radius:2px;text-decoration:none!important;white-space:nowrap;transition:background .2s}
.ipm-cta:hover{background:var(--ipm-c2)}
@media (max-width:991.98px){.ipm-phone span{display:none}.ipm-toggle{margin-right:.75rem}.ipm-toggle .ipm-label{display:none}}
@media (max-width:575.98px){.ipm-cta{padding:.7rem .8rem;font-size:.85rem}.ipm-cta .ipm-cta-long{display:none}#masthead #page-logo{height:24px}}
@media (min-width:576px){.ipm-cta .ipm-cta-short{display:none}}

/* Overlay */
body.ipm-open{overflow:hidden}
.ipm-overlay{position:fixed;inset:0;z-index:3000;color:#fff;background:linear-gradient(115deg,var(--ipm-c1) 0%,var(--ipm-c2) 45%,var(--ipm-c3) 100%);
  opacity:0;visibility:hidden;transform:translateX(-24px);transition:opacity .3s ease,transform .35s ease,visibility 0s linear .35s;overflow-y:auto;font-family:"Avenir Next","Avenir","Nunito Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif}
.ipm-overlay.is-open{opacity:1;visibility:visible;transform:none;transition:opacity .3s ease,transform .35s ease,visibility 0s}
.ipm-overlay a{color:#fff;text-decoration:none}
.ipm-inner{max-width:1320px;margin:0 auto;padding:1.75rem 2rem 2rem;min-height:100%;display:flex;flex-direction:column}
.ipm-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:2.5rem}
.ipm-close{background:none;border:0;color:#fff;font:700 .85rem/1 "Avenir Next","Avenir","Nunito Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;display:inline-flex;align-items:center;gap:.7rem;cursor:pointer;padding:.5rem 0}
.ipm-close svg{width:20px;height:20px}
.ipm-close:hover,.ipm-close:focus-visible{opacity:.8;outline:1px dotted rgba(255,255,255,.7);outline-offset:4px}
.ipm-logo{height:26px;filter:brightness(0) invert(1);opacity:.95}
.ipm-grid{display:grid;grid-template-columns:minmax(260px,1fr) minmax(280px,1.15fr) 1px minmax(260px,.95fr);gap:0 3rem;flex:1;align-content:start}
.ipm-sep{background:var(--ipm-line)}
.ipm-main{list-style:none;margin:0;padding:0}
.ipm-main>li>a,.ipm-main>li>button{display:flex;width:100%;align-items:center;justify-content:space-between;background:none;border:0;color:#fff;text-align:left;
  font:500 1.3rem/1.2 "Avenir Next","Avenir","Nunito Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;padding:.55rem .75rem;margin:0 -.75rem;border:1px solid transparent;cursor:pointer;transition:background .2s,border-color .2s}
.ipm-main>li>*:hover,.ipm-main>li.is-active>*{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.35)}
.ipm-main>li>*:focus-visible{outline:none;border:1px dotted #fff}
.ipm-chev{width:16px;height:16px;flex:none;opacity:.85;transition:transform .2s}
.ipm-main>li.is-active .ipm-chev{transform:translateX(3px)}
.ipm-panels{position:relative}
.ipm-panel{display:none;list-style:none;margin:0;padding:0}
.ipm-panel.is-active{display:block;animation:ipmIn .28s ease}
@keyframes ipmIn{from{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:none}}
.ipm-panel-title{display:none}
.ipm-panel li a{display:block;font:300 1.2rem/1.25 "Avenir Next","Avenir","Nunito Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;padding:.5rem 0;color:rgba(255,255,255,.92);transition:color .15s,transform .15s}
.ipm-panel li a:hover,.ipm-panel li a:focus-visible{color:#fff;transform:translateX(4px);outline:none;text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.ipm-panel li.ipm-all a{font-weight:600}
.ipm-panel li.ipm-div{height:1px;background:var(--ipm-line);margin:.6rem 0}
.ipm-side h3{font:700 1.15rem/1.2 "Avenir Next","Avenir","Nunito Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;margin:.35rem 0 1rem;color:#fff}
.ipm-side ul{list-style:none;margin:0 0 1.75rem;padding:0}
.ipm-side ul a{display:block;font-size:1rem;padding:.4rem 0;opacity:.95}
.ipm-side ul a:hover{text-decoration:underline;text-underline-offset:3px}
.ipm-teaser{display:block;max-width:320px}
.ipm-teaser img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;box-shadow:0 18px 40px rgba(0,0,0,.25);transition:transform .35s}
.ipm-teaser:hover img{transform:scale(1.02)}
.ipm-teaser p{font:300 1.25rem/1.3 "Avenir Next","Avenir","Nunito Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;letter-spacing:.06em;margin:1rem 0 .9rem}
.ipm-btn{display:inline-flex;align-items:center;gap:.6rem;border:2px solid #fff;padding:.6rem 1rem;font-weight:600;transition:background .2s,color .2s}
.ipm-btn:hover{background:#fff;color:var(--ipm-c2)!important}
.ipm-contact{margin-top:1.5rem;font-size:.95rem;line-height:1.7;opacity:.95}
.ipm-bottom{display:flex;flex-wrap:wrap;gap:.25rem 0;margin-top:2.5rem;padding-top:1.25rem;border-top:1px solid var(--ipm-line);font-size:.95rem}
.ipm-bottom a{padding:0 .75rem;border-left:1px solid rgba(255,255,255,.5)}
.ipm-bottom a:first-child{padding-left:0;border-left:0}
.ipm-bottom a:hover{text-decoration:underline}
.ipm-back{display:none}

/* Mobil / Tablet: Drill-down */
@media (max-width:991.98px){
  .ipm-inner{padding:1.1rem 1.25rem 1.5rem}
  .ipm-top{margin-bottom:1.25rem}
  .ipm-grid{display:block;position:relative}
  .ipm-sep{display:none}
  .ipm-main>li>a,.ipm-main>li>button{font-size:1.15rem;padding:.7rem 0;margin:0;border:0;border-bottom:1px solid rgba(255,255,255,.18)}
  .ipm-main>li>*:hover,.ipm-main>li.is-active>*{background:none}
  .ipm-panels{display:none}
  .ipm-overlay.is-sub .ipm-main{display:none}
  .ipm-overlay.is-sub .ipm-panels{display:block}
  .ipm-panel-title{display:block;font:700 1.3rem/1.2 "Avenir Next","Avenir","Nunito Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;margin:.25rem 0 .75rem}
  .ipm-back{display:inline-flex;align-items:center;gap:.5rem;background:none;border:0;color:#fff;font:700 .8rem/1 "Avenir Next","Avenir","Nunito Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;padding:.4rem 0 1rem;cursor:pointer}
  .ipm-back svg{width:16px;height:16px;transform:rotate(180deg)}
  .ipm-panel li a{font-size:1.08rem;padding:.6rem 0;border-bottom:1px solid rgba(255,255,255,.12)}
  .ipm-side{margin-top:2rem}
  .ipm-overlay.is-sub .ipm-side{display:none}
  .ipm-teaser{max-width:100%}
  .ipm-bottom a{padding:.2rem .6rem}
}
@media (prefers-reduced-motion:reduce){.ipm-overlay,.ipm-panel.is-active{transition:none;animation:none}}
.ipm-panel ul{list-style:none;margin:0;padding:0}
.ipm-overlay .ipm-teaser img{width:100%;height:210px!important;max-width:100%;object-fit:cover}
@media (max-width:991.98px){.ipm-overlay .ipm-teaser img{height:180px!important}}
.ipm-close span{white-space:nowrap}
@media (max-width:575.98px){
  #masthead .navbar>.container{padding-left:12px;padding-right:12px}
  #masthead #page-logo{height:19px!important;width:auto}
  .ipm-toggle{margin-right:.6rem;padding:.4rem 0}
  .ipm-actions{gap:.25rem}
  .ipm-phone{padding:.5rem .35rem}
  .ipm-cta{padding:.6rem .7rem;font-size:.8rem}
  .ipm-close span{display:none}
  .ipm-logo{height:20px}
}
/* kleine globale Korrekturen */
@media (max-width:575.98px){.image-area-section .content .btn.ml-2{margin-left:0!important;margin-top:.6rem}.image-area-section .content .btn{display:inline-block}}
.ipm-overlay img.ipm-logo{height:26px}
/* Responsive-Korrekturen (alle Seiten) */
main{overflow-x:clip}
main h1,main h2,main h3,main h4{overflow-wrap:break-word}
@media (max-width:420px){main .widget-col.col-6{flex:0 0 100%;max-width:100%}}
main p a,main li a,main td a{overflow-wrap:anywhere}
main .badge{white-space:normal;text-align:left;line-height:1.35}
@media (max-width:575.98px){
  main .table th,main .table td{display:block;width:100%;padding-left:0;padding-right:0;border:0}
  main .table th{padding-bottom:0;white-space:normal!important}
  main .table td{padding-top:.15rem;padding-bottom:.6rem}
  main .table tr{display:block;border-bottom:1px solid rgba(0,0,0,.08)}
}
.ipf-err{border-color:#d9363e!important;box-shadow:0 0 0 2px rgba(217,54,62,.15)!important}
.ipf-msg{margin-top:1rem;padding:.8rem 1rem;font-size:.95rem;border-left:4px solid #20bce5;background:#eef9fd;color:#0f1a22}
.ipf-msg.is-err{border-color:#d9363e;background:#fdf0f0}
/* ---- SEO-Runde 2: font-display, Kontrast, Zusatzinhalte ---- */
a{color:#086a88}
.text-primary{color:#086a88!important}
.text-white .text-primary,.bg-dark .text-primary,.overlay-black .text-primary{color:#5fd4f2!important}
.btn-primary,.badge-primary,.bg-primary,.ipm-cta{background-color:#0b7fa3!important;border-color:#0b7fa3!important}
.btn-primary:hover,.btn-primary:focus,.ipm-cta:hover{background-color:#086a88!important;border-color:#086a88!important}
.ipm-logo{width:auto}
footer a[href^="mailto:"],footer a[href^="tel:"]{display:inline-block;min-height:24px;line-height:24px}
.ip-more{background:#f4f6f8}
.ip-more h2{font-weight:800;margin-bottom:1rem}
.ip-more h3{font-size:1.2rem;font-weight:700;margin:1.5rem 0 .6rem}
.ip-more ul{padding-left:1.2rem}
.ip-more li{margin-bottom:.35rem}
.ip-faq{border-top:1px solid #e3e8ec;padding:.9rem 0}
.ip-faq:last-child{border-bottom:1px solid #e3e8ec}
.ip-faq summary{cursor:pointer;font-weight:700;list-style:none;display:flex;justify-content:space-between;gap:1rem}
.ip-faq summary::-webkit-details-marker{display:none}
.ip-faq summary:after{content:"+";color:#0b7fa3;font-size:1.4rem;line-height:1}
.ip-faq[open] summary:after{content:"–"}
.ip-faq p{margin:.6rem 0 0}
.btn-outline-primary{color:#086a88!important;border-color:#086a88!important}
.btn-outline-primary:hover,.btn-outline-primary:focus{background:#0b7fa3!important;color:#fff!important}
p.mb-0>a[href^="tel:"],p.mb-0>a[href^="mailto:"]{color:#086a88}
/* ---- Crosslinks "Das könnte Sie auch interessieren" ---- */
.ip-rel{padding:4.5rem 0 4rem;background:#fff;border-top:1px solid #e3e8ec}
.ip-rel__eyebrow{display:flex;align-items:center;gap:.75rem;font-size:.78rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:#086a88;margin:0 0 .6rem}
.ip-rel__eyebrow:before{content:"";width:28px;height:2px;background:#20bce5}
.ip-rel h2{font-weight:800;font-size:clamp(1.6rem,1.1rem + 1.6vw,2.3rem);margin:0 0 2rem;color:#0f1a22}
.ip-rel__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}
.ip-rel__card{display:flex;flex-direction:column;background:#f4f6f8;color:#0f1a22!important;text-decoration:none!important;overflow:hidden;transition:transform .25s,box-shadow .25s}
.ip-rel__card:hover,.ip-rel__card:focus-visible{transform:translateY(-4px);box-shadow:0 18px 40px -18px rgba(15,26,34,.35)}
.ip-rel__img{display:block;aspect-ratio:16/10;overflow:hidden;background:#0f1a22}
.ip-rel__img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}
.ip-rel__card:hover .ip-rel__img img{transform:scale(1.05)}
.ip-rel__ph{display:block;width:100%;height:100%;background:linear-gradient(135deg,#0b7aa3,#20bce5)}
.ip-rel__body{display:flex;flex-direction:column;gap:.45rem;padding:1.25rem 1.35rem 1.4rem;flex:1}
.ip-rel__lab{font-size:.72rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#086a88}
.ip-rel__t{font-size:1.15rem;font-weight:800;line-height:1.25}
.ip-rel__d{font-size:.92rem;line-height:1.5;color:#3a4650}
.ip-rel__more{margin-top:auto;padding-top:.6rem;font-size:.85rem;font-weight:700;color:#086a88}
@media (max-width:991.98px){.ip-rel__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:575.98px){.ip-rel{padding:3rem 0}.ip-rel__grid{grid-template-columns:1fr;gap:1rem}.ip-rel__card{flex-direction:row}.ip-rel__img{flex:0 0 38%;aspect-ratio:auto}.ip-rel__d{display:none}.ip-rel__body{padding:.9rem 1rem}.ip-rel__t{font-size:1rem}}
