.language-switch{display:inline-flex;align-items:center;justify-content:center;gap:5px;font-size:12px;font-weight:600;letter-spacing:.06em;min-width:44px;min-height:44px;flex-shrink:0;border:1px solid #e0e5ef;border-radius:999px;color:#1264ff;background:#fff;padding:0 10px;text-decoration:none}
.language-switch:hover{background:#eef4ff}.language-switch:focus-visible{outline:2px solid #1264ff;outline-offset:3px}
.header-actions{gap:10px}.cms-module{max-width:1100px;margin-inline:auto}.cms-module>h2{max-width:22ch;margin-bottom:32px}.cms-module>.large-copy{max-width:72ch;margin-bottom:24px;white-space:pre-line}.cms-card{padding:28px;border:1px solid #e0e5ef;border-radius:20px;min-width:0}.cms-card h3{margin-bottom:18px}.cms-card p{margin-bottom:20px}.preview-status{position:fixed;z-index:10000;bottom:12px;left:50%;transform:translateX(-50%);border:1px solid #cbd9f0;border-radius:999px;padding:10px 18px;background:#fff;box-shadow:0 6px 24px #17244220;font-size:12px;display:flex;gap:12px;max-width:calc(100% - 20px)}.preview-status a{color:#1264ff;white-space:nowrap}
@media(max-width:600px){.language-switch{min-width:40px;padding:0 7px;font-size:11px}.language-switch span{display:none}.header-actions{gap:7px}.cms-card{padding:22px}.preview-status{border-radius:12px;flex-wrap:wrap;justify-content:center}}
.hero h1{white-space:pre-line}
.cms-module .large-copy{max-width:72ch;margin-bottom:24px;white-space:pre-line}
.legal-copy .legal-paragraph{white-space:pre-line;overflow-wrap:anywhere}

/* Keep the mobile navigation at the viewport edge once the banner scrolls away. */
@media(max-width:1180px){
  .site-header{
    top:max(env(safe-area-inset-top,0px),var(--header-banner-offset,var(--banner-height)));
    padding-top:min(8px,var(--header-banner-offset,var(--banner-height)));
    transition:none;
  }
  .mobile-menu{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    padding:12px;
    border-radius:20px;
    background:rgba(255,255,255,.98);
    border-color:#dde6f4;
    align-items:stretch;
    max-height:calc(100dvh - max(env(safe-area-inset-top,0px),var(--header-banner-offset,var(--banner-height))) - 88px - env(safe-area-inset-bottom,0px));
    overflow-y:auto;
    overscroll-behavior:contain;
  }
  .mobile-menu:not([hidden]){display:grid!important;animation:mobile-menu-open .24s cubic-bezier(.2,.7,.2,1) both}
  .mobile-menu a{
    display:grid;
    grid-template-columns:1fr auto;
    gap:7px 10px;
    min-width:0;
    min-height:72px;
    padding:12px 14px;
    border:1px solid #e7edf6;
    border-radius:12px;
    background:#f7f9fc;
    font-size:14px;
    line-height:1.3;
    transition:background .18s,border-color .18s,transform .18s;
  }
  .mobile-menu:not([hidden]) a{animation:mobile-menu-item .3s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(var(--nav-order,0)*25ms)}
  .mobile-nav-marker{grid-column:1;grid-row:1;font-family:'Geist Mono',monospace;font-size:10px;line-height:16px;color:#1264ff}
  .mobile-nav-arrow{grid-column:2;grid-row:1;width:16px;height:16px;color:#6b83a8}
  .mobile-nav-label{grid-column:1/-1;grid-row:2;min-width:0;overflow-wrap:break-word}
  .mobile-menu a:hover,.mobile-menu a[aria-current="page"]{background:#edf4ff;border-color:#b9d0f5}
  .mobile-menu a:focus-visible{outline:2px solid #1264ff;outline-offset:2px}
  .mobile-menu a:active{transform:scale(.98)}
  .mobile-menu a[href$="/kontakt/"],.mobile-menu a[href$="/contact/"]{background:#1264ff;border-color:#1264ff;color:#fff}
  .mobile-menu a[href$="/kontakt/"] .mobile-nav-marker,.mobile-menu a[href$="/contact/"] .mobile-nav-marker,
  .mobile-menu a[href$="/kontakt/"] .mobile-nav-arrow,.mobile-menu a[href$="/contact/"] .mobile-nav-arrow{color:#fff}
  .mobile-menu .mobile-nav-phone{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:10px;min-height:48px;background:#fff}
  .mobile-nav-phone .mobile-nav-marker{display:none}
  .mobile-nav-phone .mobile-nav-arrow{order:-1;color:#1264ff}
}
@keyframes mobile-menu-open{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@keyframes mobile-menu-item{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media(max-width:380px){.mobile-menu a{padding:11px 10px;font-size:13px}}
@media(prefers-reduced-motion:reduce){.mobile-menu:not([hidden]),.mobile-menu:not([hidden]) a{animation:none}.mobile-menu a{transition:none}}
