*{margin:0;padding:0;box-sizing:border-box;}
body{font-family:Tahoma, Geneva, sans-serif;color:#2d3748;line-height:1.6;}
*,*::before,*::after{font-family:Tahoma, Geneva, sans-serif!important;}
a{color:inherit;text-decoration:none;cursor:pointer;}
a:not(.cta-button):not(.nav-link):hover{opacity:0.8;color:#2563eb!important;}
.nav-block{padding:.85rem 1.5rem;position:sticky;top:0;z-index:50;}
.nav-container{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;}
.nav-logo{font-family:Georgia,serif;font-size:1.4rem;font-weight:700;}
.nav-logo a{text-decoration:none!important;color:inherit!important;cursor:pointer;}
.nav-logo a:hover{opacity:.85;}
.nav-menu{display:flex;gap:1.5rem;list-style:none;}.nav-link{text-decoration:none;font-weight:500;transition:opacity .2s;}.nav-link:hover{opacity:.8;}
.nav-toggle{display:none;flex-direction:column;gap:4px;cursor:pointer;background:none;border:none;padding:6px;}
.nav-toggle span{width:22px;height:2.5px;border-radius:2px;}
.nav-menu>li{position:relative;}
.nav-submenu{display:none;position:absolute;top:100%;left:0;list-style:none;min-width:200px;border-radius:7px;z-index:9999;padding:.4rem 0;box-shadow:0 10px 30px rgba(0,0,0,.3);}
.nav-menu>li:hover>.nav-submenu{display:block;}
.nav-submenu>li>a{display:block;padding:.52rem 1.1rem;white-space:nowrap;font-size:.93em;text-decoration:none;transition:opacity .15s;}
.nav-submenu>li>a:hover{opacity:.75;}
.nav-parent-arrow::after{content:' ▾';font-size:.72em;opacity:.6;display:inline-block;}
@media(max-width:768px){.nav-toggle{display:flex;}.nav-menu{position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;padding:0;max-height:0;overflow:hidden;transition:max-height .3s;box-shadow:0 10px 15px rgba(0,0,0,.2);}.nav-menu.active{max-height:calc(100vh - 70px);overflow-y:auto;-webkit-overflow-scrolling:touch;}.nav-menu li{border-bottom:1px solid rgba(255,255,255,.1);}.nav-menu li a{display:block;padding:.85rem 1.5rem;}.nav-submenu{position:static !important;display:none !important;min-width:unset;box-shadow:none;border-radius:0;padding:.1rem 0;background:rgba(0,0,0,.18) !important;}.nav-submenu.sub-open{display:block !important;}.nav-parent-arrow.sub-open::after{transform:rotate(180deg);}.nav-submenu>li>a{padding:.6rem 1.5rem .6rem 2.5rem;border-bottom:none;font-size:.92em;}}
.hero-block{padding:5rem 2rem;}
/* Ken-Burns-Effekt: langsame Bewegung im Hintergrundbild.
   Das Bild liegt als ::before-Ebene ueber dem Blockhintergrund und wird per
   transform bewegt (GPU-beschleunigt, daher fluessig und ohne Flackern). */
[data-kenburns]{overflow:hidden;position:relative;}
[data-kenburns]::before{content:'';position:absolute;inset:0;background-image:inherit;background-size:cover;background-position:inherit;background-repeat:no-repeat;z-index:0;pointer-events:none;transform-origin:center center;will-change:transform;animation:kbZoomIn var(--kb-dur,25s) ease-in-out infinite alternate;}
[data-kenburns="zoom-in"]::before{animation-name:kbZoomIn;}
[data-kenburns="zoom-out"]::before{animation-name:kbZoomOut;}
[data-kenburns="pan-left"]::before{animation-name:kbPanLeft;}
[data-kenburns="pan-right"]::before{animation-name:kbPanRight;}
[data-kenburns]>*:not(.block-controls):not(.parallax-badge){position:relative;z-index:1;}
@keyframes kbZoomIn{from{transform:scale(1.02);}to{transform:scale(1.18);}}
@keyframes kbZoomOut{from{transform:scale(1.18);}to{transform:scale(1.02);}}
@keyframes kbPanLeft{from{transform:scale(1.16) translateX(3.5%);}to{transform:scale(1.16) translateX(-3.5%);}}
@keyframes kbPanRight{from{transform:scale(1.16) translateX(-3.5%);}to{transform:scale(1.16) translateX(3.5%);}}
/* Nutzer mit aktivierter Systemeinstellung 'Bewegung reduzieren' sehen ein ruhiges Bild. */
@media(prefers-reduced-motion:reduce){[data-kenburns]::before{animation:none;}}
.hero-block h1{font-family:Georgia,serif;font-size:3rem;font-weight:700;margin-bottom:1.2rem;line-height:1.15;}
.hero-block p{font-size:1.2rem;max-width:600px;margin-bottom:1.75rem;opacity:.95;line-height:1.6;}
.hero-block.text-left,.hero-block[style*="text-align: left"]{text-align:left;}
.hero-block.text-left p,.hero-block[style*="text-align: left"] p{margin-left:0;margin-right:auto;}
.hero-block.text-center,.hero-block[style*="text-align: center"],.hero-block:not([style*="text-align"]){text-align:center;}
.hero-block.text-center p,.hero-block[style*="text-align: center"] p,.hero-block:not([style*="text-align"]) p{margin-left:auto;margin-right:auto;}
.hero-block.text-right,.hero-block[style*="text-align: right"]{text-align:right;}
.hero-block.text-right p,.hero-block[style*="text-align: right"] p{margin-left:auto;margin-right:0;}
.cta-button{display:inline-block;padding:.85rem 2.2rem;border-radius:6px;font-weight:600;text-decoration:none;transition:all .2s;cursor:pointer;font-size:1rem;}
.cta-button:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,0,0,.15);}
.features-block{padding:4rem 2rem;}
.features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.75rem;max-width:1200px;margin:0 auto;}
.features-grid-2col{grid-template-columns:repeat(2,1fr);}
.feature-item{text-align:center;padding:1.75rem;border-radius:10px;}
/* Klickbare Karten: eine unsichtbare Link-Ebene liegt ueber der ganzen Karte.
   Dadurch bleibt der Inhalt (Text, Icon) unveraendert und im Editor bearbeitbar. */
.feature-item{position:relative;}
.fi-link{position:absolute;inset:0;z-index:2;border-radius:inherit;cursor:pointer;}
[data-card-hover="true"] .feature-item{transition:transform .25s ease,box-shadow .25s ease;}
[data-card-hover="true"] .feature-item:hover{transform:translateY(-6px);box-shadow:0 14px 30px rgba(15,23,42,.14);}
@media(prefers-reduced-motion:reduce){[data-card-hover="true"] .feature-item{transition:none;}[data-card-hover="true"] .feature-item:hover{transform:none;}}
.feature-icon{font-size:2.5rem;margin-bottom:.75rem;cursor:default!important;}
.feature-icon img{width:100%;height:100%;object-fit:cover;cursor:default!important;}
.feature-item h3{font-family:Georgia,serif;font-size:1.35rem;margin-bottom:.75rem;}
.feature-item p{line-height:1.6;}
.text-block{padding:3.5rem 2rem;max-width:800px;margin:0 auto;}
.text-block h2{font-family:Georgia,serif;font-size:2.2rem;margin-bottom:1.25rem;}
.text-block p{font-size:1.05rem;line-height:1.75;margin-bottom:.75rem;}
.text-block .tb-para{font-size:1.05rem;line-height:1.75;margin-bottom:.75rem;}
.text-block .tb-para:last-child{margin-bottom:0;}
.text-block ul,.text-block ol{margin:1rem 0;padding-left:2rem;line-height:1.75;font-size:1.05rem;color:#64748b;}
.text-block ul{list-style-type:disc;}
.text-block ol{list-style-type:decimal;}
.text-block li{margin-bottom:.5rem;}
.imgtext-block{padding:4rem 2rem;}
.imgtext-grid{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center;}
.imgtext-img{border-radius:10px;overflow:hidden;}
.imgtext-img img{width:100%;height:auto;display:block;object-fit:contain;}
.imgtext-text h2{font-family:Georgia,serif;font-size:2rem;margin-bottom:1rem;}
.imgtext-text p{font-size:1.05rem;line-height:1.7;margin-bottom:.75rem;}
.imgtext-text ul,.imgtext-text ol{margin:1rem 0;padding-left:2rem;line-height:1.75;font-size:1.05rem;color:#64748b;}
.imgtext-text ul{list-style-type:disc;}
.imgtext-text ol{list-style-type:decimal;}
.imgtext-text li{margin-bottom:.5rem;}
.testimonials-block{padding:4rem 2rem;}
.testimonials-grid{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.75rem;}
.testimonial-card{padding:2rem;border-radius:12px;position:relative;}
.testimonial-quote{font-size:2.5rem;line-height:1;margin-bottom:.5rem;opacity:.3;}
.testimonial-card p{font-size:1rem;line-height:1.65;margin-bottom:1rem;font-style:italic;}
.testimonial-author{font-weight:700;font-size:.9rem;}.testimonial-role{font-size:.8rem;opacity:.65;}
.stats-block{padding:4rem 2rem;}
.stats-grid{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;text-align:center;}
.stat-item .stat-number{font-family:Georgia,serif;font-size:2.8rem;font-weight:700;line-height:1.1;}
.stat-item .stat-label{font-size:.95rem;margin-top:.4rem;}
.team-block{padding:4rem 2rem;}
.team-grid{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:2rem;text-align:center;}
.team-member{padding:1.5rem;}
.team-avatar{width:100px;height:100px;border-radius:50%;margin:0 auto 1rem;overflow:hidden;}
.team-avatar img{width:100%;height:100%;object-fit:cover;}
.team-member h3{font-family:Georgia,serif;font-size:1.15rem;margin-bottom:.25rem;}
.team-member p{font-size:.88rem;}
.pricing-block{padding:4rem 2rem;}
.pricing-grid{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;}
.pricing-card{border-radius:12px;overflow:hidden;text-align:center;}
.pricing-header{padding:2rem 1.5rem 1.5rem;}
.pricing-header h3{font-family:Georgia,serif;font-size:1.4rem;margin-bottom:.5rem;}
.pricing-price{font-family:Georgia,serif;font-size:2.5rem;font-weight:700;}
.pricing-period{font-size:.85rem;opacity:.7;}
.pricing-features{padding:1.5rem;text-align:left;}
.pricing-features ul{list-style:none;padding:0;}
.pricing-features li{padding:.45rem 0;border-bottom:1px solid rgba(0,0,0,.06);font-size:.9rem;}
.pricing-features li::before{content:"✓ ";color:#16a34a;font-weight:700;}
.pricing-block[data-checks="inline"] .pricing-features li::before{content:none;}
.pricing-footer{padding:0 1.5rem 2rem;}
.faq-block{padding:4rem 2rem;}
.faq-container{max-width:800px;margin:0 auto;}
.faq-block>h1,.faq-block>h2,.faq-block>h3,.faq-block>h4,.faq-block h1:first-child,.faq-block h2:first-child,.faq-block h3:first-child{font-family:Georgia,serif;font-size:2.2rem;margin-bottom:2rem;text-align:center;}
.faq-item{border-bottom:1px solid #e2e8f0;padding:1.25rem 0;}
.faq-q{font-weight:700;font-size:1.05rem;cursor:pointer;display:flex;justify-content:space-between;align-items:center;}
.faq-arrow{transition:transform .2s;font-size:.8rem;}
.faq-a{max-height:0;overflow:hidden;transition:max-height .3s;font-size:.95rem;line-height:1.65;}
.faq-item.open .faq-a{max-height:300px;padding-top:.75rem;}
.faq-item.open .faq-arrow{transform:rotate(180deg);}
.divider-block{padding:2rem;}.divider-line{max-width:1100px;margin:0 auto;border:none;border-top:2px solid #e2e8f0;}
.gallery-block{padding:4rem 2rem;}
.gallery-grid{display:grid;gap:1.25rem;max-width:1200px;margin:0 auto;}
.gallery-item{border-radius:10px;overflow:hidden;position:relative;cursor:pointer;background:#f1f5f9;}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .3s;}
.gallery-item:hover img{transform:scale(1.03);}
.gallery-caption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,rgba(0,0,0,.7));color:#fff;padding:1.5rem .75rem .6rem;font-size:.82rem;font-weight:500;}
.contact-block{padding:4rem 2rem;text-align:center;}
.contact-block h2{font-family:Georgia,serif;font-size:2.2rem;margin-bottom:.75rem;}
.contact-block p{font-size:1.05rem;margin-bottom:1.75rem;}
.contact-form{max-width:560px;margin:0 auto;display:flex;flex-direction:column;gap:.75rem;}
.contact-form input,.contact-form textarea{padding:.85rem;border:1px solid #e2e8f0;border-radius:6px;font-family:inherit;font-size:.95rem;}
.contact-form button{padding:.85rem 1.75rem;border:none;border-radius:6px;font-weight:600;cursor:pointer;font-size:.95rem;}
.spam-check{margin:.5rem 0;display:flex;justify-content:center;}
.spam-label{display:flex;align-items:center;gap:.75rem;cursor:pointer;user-select:none;}
.spam-checkbox{display:none;}
.spam-slider{position:relative;width:50px;height:26px;background:#cbd5e1;border-radius:13px;transition:background .2s;}
.spam-slider::before{content:'';position:absolute;width:20px;height:20px;border-radius:50%;background:#fff;top:3px;left:3px;transition:transform .2s;box-shadow:0 2px 4px rgba(0,0,0,.2);}
.spam-checkbox:checked + .spam-slider{background:#16a34a;}
.spam-checkbox:checked + .spam-slider::before{transform:translateX(24px);}
.spam-text{font-size:.9rem;color:#64748b;}
.cta-block{padding:4rem 2rem;}
.cta-block h2{font-family:Georgia,serif;font-size:2.2rem;margin-bottom:.75rem;}
.cta-block p{font-size:1.15rem;margin-bottom:1.75rem;opacity:.95;}
.cta-block[style*="text-align: left"]{text-align:left;}
.cta-block[style*="text-align: center"],.cta-block:not([style*="text-align"]){text-align:center;}
.cta-block[style*="text-align: right"]{text-align:right;}
.button-block{padding:2.5rem 2rem;text-align:center;}
.button-container{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap;}
.footer-block{padding:2.5rem 2rem;text-align:center;}.footer-block p{opacity:.8;}
.footer-flex{padding:3rem 2rem;}
.footer-flex-inner{max-width:1200px;margin:0 auto;}
.footer-flex-grid{display:grid;gap:2rem;margin-bottom:1.5rem;}
.footer-flex-col h4{font-family:Georgia,serif;font-size:1.05rem;margin-bottom:.65rem;}
.footer-flex-col p{font-size:.88rem;line-height:1.75;}
.footer-flex-col ul{list-style:none;padding:0;}
.footer-flex-col li{margin-bottom:.3rem;font-size:.88rem;}
.footer-flex-col a{text-decoration:none;transition:opacity .2s;display:inline;}
.footer-flex-col a:hover{opacity:.7;}
.footer-flex-bottom{border-top:1px solid rgba(255,255,255,.15);padding-top:1.25rem;text-align:center;font-size:.82rem;opacity:.65;}
.htmlcode-block{padding:2rem;max-width:800px;margin:0 auto;}
.htmlcode-rendered-content{padding:2rem;max-width:800px;margin:0 auto;}
.htmlcode-inner{max-width:1100px;margin:0 auto;}
.audio-block,.video-block{padding:3rem 2rem;}
.audio-inner,.video-inner{max-width:800px;margin:0 auto;}
.audio-block h3,.video-block h3{margin-bottom:1rem;}
.audio-player-wrap,.video-player-wrap{margin-top:1rem;}
.singleimg-block{padding:3rem 2rem;}
.singleimg-inner{max-width:1100px;margin:0 auto;}
.singleimg-wrap{display:flex;}
.singleimg-wrap.align-left{justify-content:flex-start;}
.singleimg-wrap.align-center{justify-content:center;}
.singleimg-wrap.align-right{justify-content:flex-end;}
.singleimg-placeholder{width:60%;overflow:hidden;position:relative;border-radius:10px;}
.singleimg-placeholder img{width:100%;height:auto;display:block;object-fit:contain;border-radius:inherit;}
.singleimg-caption{text-align:center;margin-top:.75rem;font-size:.88rem;}
.lightbox{display:none;position:fixed;inset:0;background:rgba(0,0,0,.92);z-index:2000;align-items:center;justify-content:center;flex-direction:column;}
.lightbox.active{display:flex;}
.lightbox img{max-width:90vw;max-height:80vh;border-radius:8px;object-fit:contain;box-shadow:0 20px 60px rgba(0,0,0,.5);}
.lb-close{position:absolute;top:1.5rem;right:2rem;background:none;border:none;color:#fff;font-size:2rem;cursor:pointer;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .15s;}
.lb-close:hover{background:rgba(255,255,255,.15);}
.lb-nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.1);border:none;color:#fff;font-size:1.5rem;cursor:pointer;width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background .15s;}
.lb-nav:hover{background:rgba(255,255,255,.25);}
.lb-prev{left:1.5rem;}.lb-next{right:1.5rem;}
.lb-caption{color:#fff;margin-top:1rem;font-size:.9rem;opacity:.8;max-width:600px;text-align:center;}
.lb-counter{position:absolute;bottom:1.5rem;left:50%;transform:translateX(-50%);color:rgba(255,255,255,.6);font-size:.8rem;}
@media(max-width:768px){.hero-block h1{font-size:2rem;}.features-grid,.features-grid-2col,.pricing-grid{grid-template-columns:1fr;}.stats-grid{grid-template-columns:repeat(2,1fr);}.imgtext-grid{grid-template-columns:1fr!important;}.gallery-grid{grid-template-columns:1fr !important;}.pricing-card{transform:none !important;}.footer-flex-grid{grid-template-columns:1fr !important;}.singleimg-placeholder{width:100% !important;}}
/* Bild+Text: ab 900px untereinander stapeln (Bild oben, Text darunter).
   !important ist noetig, weil die Bildgroesse als Inline-Stil gesetzt wird. */
@media(max-width:900px){.imgtext-grid{grid-template-columns:1fr!important;direction:ltr!important;gap:1.75rem!important;}.imgtext-block{padding:3rem 1.25rem;}}
.scroll-top{position:fixed;bottom:2rem;right:2rem;width:46px;height:46px;border-radius:50%;background:#1d4ed8;color:#fff;border:none;cursor:pointer;font-size:1.3rem;display:none;align-items:center;justify-content:center;box-shadow:0 4px 15px #1d4ed859;transition:all .2s;z-index:100;}.scroll-top:hover{background:#1e3a8a;transform:translateY(-2px);box-shadow:0 6px 20px #1e3a8a73;}.scroll-top.show{display:flex;}