
#mobile-menu-overlay{
  position:fixed; inset:0; background:rgba(12,45,72,.38);
  z-index:1049; opacity:0; visibility:hidden; pointer-events:none;
  transition:opacity .22s ease, visibility .22s ease;
  -webkit-backdrop-filter:blur(1px); backdrop-filter:blur(1px);
}
#mobile-menu-overlay.is-visible{opacity:1;visibility:visible;pointer-events:auto}
@media (max-width:1024px){
  body.nav-open{overflow:hidden;touch-action:none}
  header, body.nav-open header, body.nav-open main{transform:none!important}
  #mobile-menu-toggle{
    display:inline-flex!important; align-items:center; justify-content:center;
    width:44px!important;height:44px!important;min-width:44px!important;
    margin-right:8px!important; border-radius:12px!important;
    z-index:1052!important; -webkit-tap-highlight-color:transparent;
  }
  .hamburger-box{width:28px;height:22px}
  .hamburger-inner,.hamburger-inner::before,.hamburger-inner::after{width:28px;height:3px}
  #mobileNavPanel{
    position:fixed!important;top:0!important;right:0!important;
    width:min(320px,88vw)!important;height:100dvh!important;max-height:100dvh!important;
    padding:0!important;margin:0!important;background:#fff!important;
    transform:translate3d(100%,0,0)!important;visibility:hidden!important;opacity:1!important;
    z-index:1051!important;display:flex!important;flex-direction:column!important;
    box-shadow:-12px 0 40px rgba(12,45,72,.16)!important;
    transition:transform .28s cubic-bezier(.22,.61,.36,1),visibility .28s ease!important;
    overflow-y:auto!important;overscroll-behavior:contain!important;
    -webkit-overflow-scrolling:touch;
  }
  #mobileNavPanel.nav-open{transform:translate3d(0,0,0)!important;visibility:visible!important}
  .mobile-nav-header{
    min-height:76px!important;padding:16px 16px 8px!important;
    display:flex!important;align-items:center!important;justify-content:flex-end!important;
    flex:0 0 auto!important;
  }
  .mobile-menu-close-btn{
    width:44px!important;height:44px!important;min-width:44px!important;
    padding:0!important;margin:0!important;border:0!important;border-radius:12px!important;
    display:flex!important;align-items:center!important;justify-content:center!important;
    background:#f2f7fa!important;color:#0c2d48!important;font-size:1.2rem!important;
    box-shadow:none!important;transform:none!important;
  }
  .mobile-menu-close-btn:hover{transform:none!important;background:#e7f3f8!important;color:#0c2d48!important}
  #mobileNavPanel>ul{
    list-style:none!important;display:flex!important;flex-direction:column!important;
    gap:4px!important;width:100%!important;padding:8px 14px 16px!important;margin:0!important;
    flex:1 1 auto!important;
  }
  #mobileNavPanel>ul li{width:100%!important;margin:0!important;padding:0!important}
  #mobileNavPanel>ul li a{
    min-height:54px!important;width:100%!important;padding:12px 14px!important;
    display:flex!important;align-items:center!important;gap:14px!important;
    border-radius:14px!important;color:#0c2d48!important;text-decoration:none!important;
    font-family:Poppins,sans-serif!important;font-size:16px!important;font-weight:600!important;
    line-height:1.25!important;box-shadow:none!important;
  }
  #mobileNavPanel>ul li a i{width:22px!important;text-align:center!important;color:#79b7d3!important;font-size:1.05rem!important;flex:0 0 22px!important}
  #mobileNavPanel>ul li a:hover,#mobileNavPanel>ul li a:focus-visible{background:#e7f3f8!important;color:#0c2d48!important;outline:none!important}
  #mobileNavPanel>ul li a:active{background:#dceff6!important;transform:scale(.99)}
  .mobile-nav-footer{
    flex:0 0 auto!important;padding:16px 18px 24px!important;
    border-top:1px solid #e7f3f8!important;background:#fff!important;
  }
  .mobile-nav-footer .btn,.mobile-nav-footer .btn.gold{
    min-height:52px!important;width:100%!important;display:flex!important;
    align-items:center!important;justify-content:center!important;
    padding:14px 20px!important;border-radius:14px!important;
    background:linear-gradient(90deg,#0c2d48,#79b7d3)!important;color:#fff!important;
    font-size:16px!important;font-weight:600!important;text-decoration:none!important;
  }
  .mobile-nav-footer .social-icons{justify-content:center!important;gap:12px!important;margin-top:16px!important}
  .mobile-nav-footer .social-icons a{width:44px!important;height:44px!important;border-radius:50%!important;background:#f2f7fa!important;display:flex!important;align-items:center!important;justify-content:center!important;color:#0c2d48!important}
  .mobile-nav-footer .social-icons a i{font-size:18px!important}
  .mobile-nav-footer .social-icons a:focus-visible{outline:2px solid #79b7d3!important;outline-offset:2px!important}
  html,body{max-width:100%;overflow-x:hidden}
  img,svg,video{max-width:100%;height:auto}
  .container,.wrapper{width:calc(100% - 32px)!important;max-width:none!important}
  section{overflow:hidden}
  h1{font-size:clamp(2.15rem,9vw,2.6rem)!important;line-height:1.08!important}
  h2,.section-title{font-size:clamp(1.8rem,7.5vw,2.15rem)!important;line-height:1.12!important}
  p,li{font-size:16px!important;line-height:1.65!important}
  .pricing-cards,.pricing-grid{display:grid!important;grid-template-columns:1fr!important;gap:16px!important;width:100%!important;max-width:100%!important}
  .pricing-card,.premium-card,.package-box{width:100%!important;min-width:0!important}
  .premium-card .title,.pricing-card-title{min-height:0!important;padding-top:24px!important;padding-bottom:18px!important}
  #cookieOverlay{padding:16px!important;align-items:flex-end!important}
  #cookieModal{width:100%!important;max-height:90dvh!important;overflow-y:auto!important;border-radius:22px!important;padding:22px!important}
  .cookie-head{gap:12px!important}
  .cookie-title{font-size:18px!important;line-height:1.3!important}
  .cookie-close,.cookie-modal-close{width:44px!important;height:44px!important;min-width:44px!important}
  .cookie-actions{display:flex!important;flex-direction:column!important;gap:10px!important}
  .cookie-actions button{width:100%!important;min-height:50px!important;margin:0!important}
}
@media (max-width:380px){
  #mobileNavPanel{width:92vw!important}
  .mobile-nav-header{min-height:68px!important}
  #mobileNavPanel>ul li a{min-height:50px!important;padding:10px 12px!important}
  .mobile-nav-footer{padding:12px 14px 20px!important}
  .container,.wrapper{width:calc(100% - 24px)!important}
}
@media (prefers-reduced-motion:reduce){
  #mobileNavPanel,#mobile-menu-overlay{transition:none!important}
  *,*::before,*::after{scroll-behavior:auto!important}
}
@media (max-width:768px){
  main{height:auto!important;min-height:0!important;overflow:visible!important}
  #contact,#kontakt,.contact-section{margin-top:0!important}
  .contact-redesign{width:100%!important;overflow:visible!important}
  .contact-shell{width:calc(100% - 32px)!important;max-width:none!important;margin:0 auto!important;padding:0!important}
  .contact-hero{display:flex!important;flex-direction:column!important;gap:24px!important}
  .contact-hero > div:first-child{width:100%!important}
  .contact-hero-image{width:100%!important;order:2!important}
  .contact-hero-image img{display:block!important;width:100%!important;height:auto!important;max-height:280px!important;object-fit:cover!important;border-radius:20px!important}
  .contact-title{font-size:clamp(2rem,9vw,2.6rem)!important;line-height:1.1!important;margin-bottom:16px!important}
  .contact-lead{font-size:16px!important;line-height:1.65!important}
  .contact-actions{display:flex!important;flex-direction:column!important;gap:12px!important;width:100%!important}
  .contact-btn{width:100%!important;min-height:52px!important;display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;padding:14px 16px!important;border-radius:14px!important}
  .contact-cards{display:grid!important;grid-template-columns:1fr!important;gap:14px!important;margin-top:24px!important}
  .contact-card{width:100%!important;min-width:0!important}
  .contact-card p{font-size:15px!important;line-height:1.55!important}
  .phone-link,.mail-link,.address-link{font-size:16px!important;line-height:1.55!important;overflow-wrap:anywhere!important}
  .contact-bottom{display:flex!important;flex-direction:column!important;gap:20px!important}
  .contact-form-card,.contact-map-card{width:100%!important;min-width:0!important}
  .contact-form-grid{display:grid!important;grid-template-columns:1fr!important;gap:0!important}
  .contact-input,.contact-textarea{width:100%!important;max-width:100%!important;font-size:16px!important}
  .contact-textarea{min-height:150px!important;height:150px!important}
  .contact-submit{min-height:52px!important}
  .contact-map-card{min-height:360px!important;height:360px!important}
  .contact-map-card iframe{width:100%!important;height:100%!important;min-height:360px!important}
  .contact-info-strip{display:grid!important;grid-template-columns:1fr!important;gap:16px!important;padding:22px!important}
  .contact-strip-item{gap:12px!important}
  .contact-strip-item > div:last-child{min-width:0!important}
  .review-banner{display:flex!important;flex-direction:column!important}
  .review-banner-content{padding:28px 22px!important}
  .review-banner h2{font-size:clamp(1.8rem,7vw,2.2rem)!important}
  .reviews-slider-box{padding:20px!important;min-height:250px!important}
}
@media (max-width:380px){
  .contact-shell{width:calc(100% - 24px)!important}
  .contact-actions .contact-btn{font-size:15px!important}
  .contact-map-card,.contact-map-card iframe{min-height:320px!important;height:320px!important}
}
@media (max-width: 768px){
  header#mainHeader{
    height:104px!important;
    min-height:104px!important;
    padding:8px 16px!important;
    box-sizing:border-box!important;
  }
  header#mainHeader .container{
    width:100%!important;
    height:88px!important;
    min-height:0!important;
    padding:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
  }
  header#mainHeader .logo{
    display:flex!important;
    align-items:center!important;
    height:88px!important;
  }
  header#mainHeader .logo img{
    height:82px!important;
    max-height:82px!important;
    width:auto!important;
  }
  #mobile-menu-toggle{
    margin-right:0!important;
  }
  #hero.hero{
    min-height:0!important;
    padding:24px 0 40px!important;
  }
  #hero.hero .container{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    gap:20px!important;
    padding-top:0!important;
    padding-bottom:0!important;
  }
  #hero.hero .hero-text{
    order:1!important;
    width:100%!important;
    margin-top:0!important;
    text-align:center!important;
  }
  #hero.hero .hero-image{
    order:2!important;
    width:100%!important;
    margin-top:0!important;
  }
  #hero.hero .hero-text h1{
    margin-top:0!important;
    margin-bottom:18px!important;
  }
  #hero.hero .hero-text p{
    margin:0 0 16px!important;
  }
  #hero.hero .hero-image img{
    max-width:360px!important;
    margin:0 auto!important;
  }
}
@media (max-width:380px){
  header#mainHeader{height:96px!important;min-height:96px!important;padding:6px 14px!important}
  header#mainHeader .container,header#mainHeader .logo{height:84px!important}
  header#mainHeader .logo img{height:76px!important;max-height:76px!important}
  #hero.hero{padding-top:20px!important}
}
@media (max-width: 768px){
  body > header#mainHeader{
    position: sticky!important;
    top: 0!important;
    left: auto!important;
    right: auto!important;
    width: 100%!important;
    height: 96px!important;
    min-height: 96px!important;
    padding: 6px 14px!important;
    box-sizing: border-box!important;
    z-index: 11000!important;
    transform: none!important;
  }
  body > header#mainHeader .container{
    width:100%!important;
    max-width:none!important;
    height:84px!important;
    min-height:84px!important;
    margin:0!important;
    padding:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
  }
  body > header#mainHeader .logo{
    height:84px!important;
    min-height:84px!important;
    display:flex!important;
    align-items:center!important;
    z-index:11002!important;
  }
  body > header#mainHeader .logo img{
    width:auto!important;
    height:76px!important;
    max-height:76px!important;
    display:block!important;
  }
  body > header#mainHeader #mobile-menu-toggle{
    position:relative!important;
    display:inline-flex!important;
    width:44px!important;
    height:44px!important;
    min-width:44px!important;
    margin:0!important;
    padding:0!important;
    z-index:11003!important;
    pointer-events:auto!important;
    touch-action:manipulation!important;
    cursor:pointer!important;
  }
  body > main#main-content{
    height:auto!important;
    min-height:0!important;
    padding-top:0!important;
    margin:0!important;
    overflow:visible!important;
  }
  body > .contact-redesign#contact{
    margin:0!important;
    padding:24px 0 48px!important;
    position:relative!important;
    z-index:2!important;
  }
  .contact-redesign .contact-shell{
    width:calc(100% - 32px)!important;
    max-width:none!important;
    margin:0 auto!important;
    padding:0!important;
  }
  .contact-redesign .contact-hero{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:22px!important;
    margin-bottom:30px!important;
  }
  .contact-redesign .contact-title{
    margin:0 0 14px!important;
    max-width:none!important;
    font-size:clamp(2rem,8.8vw,2.55rem)!important;
    line-height:1.1!important;
  }
  .contact-redesign .contact-lead{
    margin:0 0 22px!important;
    max-width:none!important;
    font-size:16px!important;
    line-height:1.6!important;
  }
  .contact-redesign .contact-actions{
    display:flex!important;
    flex-direction:column!important;
    gap:10px!important;
    width:100%!important;
  }
  .contact-redesign .contact-btn{
    width:100%!important;
    min-height:52px!important;
    padding:14px 16px!important;
    border-radius:14px!important;
  }
  .contact-redesign .contact-hero-image{
    width:100%!important;
    order:2!important;
  }
  .contact-redesign .contact-hero-image img{
    width:100%!important;
    height:240px!important;
    max-height:240px!important;
    object-fit:cover!important;
    object-position:center!important;
    border-radius:20px!important;
  }
  .contact-redesign .contact-cards{
    grid-template-columns:1fr!important;
    gap:14px!important;
    margin-bottom:34px!important;
  }
  .contact-redesign .contact-card{
    width:100%!important;
    padding:24px!important;
    border-radius:22px!important;
  }
  .contact-redesign .contact-bottom{
    display:flex!important;
    flex-direction:column!important;
    gap:18px!important;
    margin-bottom:18px!important;
  }
  .contact-redesign .contact-form-card,
  .contact-redesign .contact-map-card{
    width:100%!important;
    min-width:0!important;
  }
  .contact-redesign .contact-form-card{padding:24px!important}
  .contact-redesign .contact-form-grid{grid-template-columns:1fr!important}
  .contact-redesign .contact-input,
  .contact-redesign .contact-textarea{
    width:100%!important;
    max-width:100%!important;
    font-size:16px!important;
  }
  .contact-redesign .contact-textarea{height:150px!important;min-height:150px!important}
  .contact-redesign .contact-map-card,
  .contact-redesign .contact-map-card iframe{
    height:340px!important;
    min-height:340px!important;
  }
  .contact-redesign .contact-info-strip{
    grid-template-columns:1fr!important;
    gap:14px!important;
    padding:20px!important;
  }
  .contact-redesign .review-banner{
    display:flex!important;
    flex-direction:column!important;
  }
  body > #mobileNavPanel{
    z-index:11001!important;
  }
  body > #mobile-menu-overlay{
    z-index:11000!important;
  }
  body.nav-open > header#mainHeader #mobile-menu-toggle{
    z-index:11003!important;
  }
}
@media (max-width:380px){
  body > header#mainHeader{height:90px!important;min-height:90px!important;padding:5px 12px!important}
  body > header#mainHeader .container,
  body > header#mainHeader .logo{height:80px!important;min-height:80px!important}
  body > header#mainHeader .logo img{height:72px!important;max-height:72px!important}
  body > .contact-redesign#contact{padding-top:18px!important}
  .contact-redesign .contact-shell{width:calc(100% - 24px)!important}
  .contact-redesign .contact-hero-image img{height:210px!important;min-height:210px!important}
}
@media (max-width:768px){
  body > main#main-content{height:auto!important;min-height:0!important;overflow:visible!important}
  body > #mobileNavPanel,
  body > #mobile-menu-overlay{pointer-events:auto!important}
}
@media (max-width:768px){
  body > header#mainHeader{
    position:sticky!important;
    top:0!important;
    margin:0!important;
    transform:none!important;
    overflow:visible!important;
  }
  body > main#main-content{
    position:relative!important;
    margin:0!important;
    padding-top:0!important;
  }
  body > main#main-content > .wave-separator-svg{
    display:none!important;
  }
  body > main#main-content > .bg-shape{
    pointer-events:none!important;
  }
}
@media (max-width:380px){
  body > .contact-redesign#contact{padding-top:18px!important;}
}
