/* Nur funktionale und inhaltsspezifische Ergänzungen. Das sichtbare Design
   stammt unverändert aus der originalen Krivvo-Webflow-Vorlage. */
html{scroll-padding-top:110px}
body.menu-open{overflow:hidden}
img{max-width:100%}
h1,h2,h3,h4{overflow-wrap:anywhere}
.skip-link{position:fixed;z-index:9999;top:12px;left:12px;transform:translateY(-180%);padding:12px 18px;border-radius:999px;background:#fff;color:#021e4e;font-weight:700}
.skip-link:focus{transform:none}
.brand-logo-link img,.footer-logo img{width:auto;max-width:142px;max-height:48px}
.hero-card-image,.feature-card .bg-image,.blog-thumbnail,.team-image,.about-product-image{object-fit:contain}
.about-product-image{display:block;width:100%;height:100%;padding:clamp(20px,5vw,70px)}
.field-error{display:block;min-height:1.35em;margin-top:6px;color:#a51d2d;font-size:.875rem}
.contact-input[aria-invalid="true"]{border:2px solid #a51d2d}
.form-summary{margin-bottom:18px;padding:15px 18px;border:2px solid #a51d2d;border-radius:12px;background:#fff5f6;color:#68111c}
.form-summary[hidden]{display:none}
.privacy-note,.form-status{margin-top:14px;font-size:.9rem;line-height:1.55}
.privacy-note a{text-decoration:underline}
.form-status{font-weight:600}
.contact-input.textarea{min-height:150px;resize:vertical}
select.contact-input{appearance:auto}
.legal-template{padding:clamp(90px,10vw,150px) 0;background:#fff;color:#101828}
.legal-template .narrow{width:min(820px,calc(100% - 40px));margin-inline:auto}
.legal-template h1{margin-bottom:30px;font-family:"Inter Tight",Arial,sans-serif;font-size:clamp(3rem,7vw,6.5rem);line-height:.9;letter-spacing:-.045em;text-transform:uppercase}
.legal-template h2{margin:52px 0 18px;font-family:"Inter Tight",Arial,sans-serif;font-size:clamp(2rem,4vw,3.2rem);line-height:1}
.legal-template h3{margin:34px 0 12px;font-size:1.25rem}
.legal-template p,.legal-template li{line-height:1.7}
.legal-template a{text-decoration:underline}
.placeholder{display:inline;padding:.14rem .38rem;border-radius:4px;background:#fff0b5;color:#5b4200;overflow-wrap:anywhere}
.legal-review{margin:24px 0;padding:18px;border-left:5px solid #b7f52a;background:#f4f7ed}
.footer-social-box .footer-link{line-height:1.5}
.w-webflow-badge{display:none!important}
.pricing-card h4.heading-02{font-size:clamp(2.3rem,4.7vw,4.8rem)}

@media(max-width:991px){
  body:has(.menu-button.w--open){overflow:hidden!important}
  .w-nav-overlay{position:fixed!important;z-index:999!important;inset:0!important;width:100%!important;min-height:100dvh!important;overflow-y:auto!important;background:#021e4e!important}
  .w-nav-overlay .nav-menu{min-height:100dvh!important;padding-top:10px!important;background:#021e4e!important}
  .header-section{z-index:1000}
  .menu-button{position:relative;z-index:1001}
  .nav-menu.w--nav-menu-open .nav-link{color:#fff}
}

@media(max-width:479px){
  .legal-template .narrow{width:min(100% - 28px,820px)}
  .legal-template h1{font-size:clamp(2.25rem,14vw,4rem)}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}
