.ct-section {
width:100%;
background-size:cover;
background-repeat:repeat;
}
.ct-section>.ct-section-inner-wrap {
display:flex;
flex-direction:column;
align-items:flex-start;
}
.ct-div-block {
display:flex;
flex-wrap:nowrap;
flex-direction:column;
align-items:flex-start;
}
.ct-new-columns {
display:flex;
width:100%;
flex-direction:row;
align-items:stretch;
justify-content:center;
flex-wrap:wrap;
}
.ct-link-text {
display:inline-block;
}
.ct-link {
display:flex;
flex-wrap:wrap;
text-align:center;
text-decoration:none;
flex-direction:column;
align-items:center;
justify-content:center;
}
.ct-link-button {
display:inline-block;
text-align:center;
text-decoration:none;
}
.ct-link-button {
background-color: #1e73be;
border: 1px solid #1e73be;
color: #ffffff;
padding: 10px 16px;
}
.ct-image {
max-width:100%;
}
.ct-fancy-icon>svg {
width:55px;height:55px;}
.ct-inner-content {
width:100%;
}
.ct-slide {
display:flex;
flex-wrap:wrap;
text-align:center;
flex-direction:column;
align-items:center;
justify-content:center;
}
.ct-nestable-shortcode {
display:flex;
flex-wrap:nowrap;
flex-direction:column;
align-items:flex-start;
}
.oxy-comments {
width:100%;
text-align:left;
}
.oxy-comment-form {
width:100%;
}
.oxy-login-form {
width:100%;
}
.oxy-search-form {
width:100%;
}
.oxy-tabs-contents {
display:flex;
width:100%;
flex-wrap:nowrap;
flex-direction:column;
align-items:flex-start;
}
.oxy-tab {
display:flex;
flex-wrap:nowrap;
flex-direction:column;
align-items:flex-start;
}
.oxy-tab-content {
display:flex;
width:100%;
flex-wrap:nowrap;
flex-direction:column;
align-items:flex-start;
}
.oxy-testimonial {
width:100%;
}
.oxy-icon-box {
width:100%;
}
.oxy-pricing-box {
width:100%;
}
.oxy-posts-grid {
width:100%;
}
.oxy-gallery {
width:100%;
}
.ct-slider {
width:100%;
}
.oxy-tabs {
display:flex;
flex-wrap:nowrap;
flex-direction:row;
align-items:stretch;
}
.ct-modal {
flex-direction:column;
align-items:flex-start;
}
.ct-span {
display:inline-block;
text-decoration:inherit;
}
.ct-widget {
width:100%;
}
.oxy-dynamic-list {
width:100%;
}
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
			.ct-div-block,
			.oxy-post-content,
			.ct-text-block,
			.ct-headline,
			.oxy-rich-text,
			.ct-link-text { max-width: 100%; }
			img { flex-shrink: 0; }
			body * { min-height: 1px; }
		}            .oxy-testimonial {
                flex-direction: row;
                align-items: center;
            }
                        .oxy-testimonial .oxy-testimonial-photo-wrap {
                order: 1;
            }
            
                        .oxy-testimonial .oxy-testimonial-photo {
                width: 125px;                height: 125px;                margin-right: 20px;
            }
            
                        .oxy-testimonial .oxy-testimonial-photo-wrap, 
            .oxy-testimonial .oxy-testimonial-author-wrap, 
            .oxy-testimonial .oxy-testimonial-content-wrap {
                align-items: flex-start;                text-align: left;            }
            
                                                            .oxy-testimonial .oxy-testimonial-text {
                margin-bottom:8px;font-size: 21px;
line-height: 1.4;
-webkit-font-smoothing: subpixel-antialiased;
            }
            
                                    .oxy-testimonial .oxy-testimonial-author {
                font-size: 18px;
-webkit-font-smoothing: subpixel-antialiased;
            }
                            

                                                .oxy-testimonial .oxy-testimonial-author-info {
                font-size: 12px;
-webkit-font-smoothing: subpixel-antialiased;
            }
            
             
            
                        .oxy-icon-box {
                text-align: left;                flex-direction: column;            }
            
                        .oxy-icon-box .oxy-icon-box-icon {
                margin-bottom: 12px;
                align-self: flex-start;            }
            
                                                                        .oxy-icon-box .oxy-icon-box-heading {
                font-size: 21px;
margin-bottom: 12px;            }
            
                                                                                    .oxy-icon-box .oxy-icon-box-text {
                font-size: 16px;
margin-bottom: 12px;align-self: flex-start;            }
            
                        .oxy-icon-box .oxy-icon-box-link {
                margin-top: 20px;                            }
            
            
            /* GLOBALS */

                                                            .oxy-pricing-box .oxy-pricing-box-section {
                padding-top: 20px;
padding-left: 20px;
padding-right: 20px;
padding-bottom: 20px;
text-align: center;            }
                        
                        .oxy-pricing-box .oxy-pricing-box-section.oxy-pricing-box-price {
                justify-content: center;            }
            
            /* IMAGE */
                                                                                    .oxy-pricing-box .oxy-pricing-box-section.oxy-pricing-box-graphic {
                justify-content: center;            }
            
            /* TITLE */
                                                            
                                    .oxy-pricing-box .oxy-pricing-box-title-title {
                font-size: 48px;
            }
            
                                    .oxy-pricing-box .oxy-pricing-box-title-subtitle {
                font-size: 24px;
            }
            

            /* PRICE */
                                                .oxy-pricing-box .oxy-pricing-box-section.oxy-pricing-box-price {
                                                flex-direction: row;                                            }
            
                                    .oxy-pricing-box .oxy-pricing-box-currency {
                font-size: 28px;
            }
            
                                    .oxy-pricing-box .oxy-pricing-box-amount-main {
                font-size: 80px;
line-height: 0.7;
            }
            
                                    .oxy-pricing-box .oxy-pricing-box-amount-decimal {
                font-size: 13px;
            }
                        
                                    .oxy-pricing-box .oxy-pricing-box-term {
                font-size: 16px;
            }
            
                                    .oxy-pricing-box .oxy-pricing-box-sale-price {
                font-size: 12px;
color: rgba(0,0,0,0.5);
                margin-bottom: 20px;            }
            
            /* CONTENT */

                                                                        .oxy-pricing-box .oxy-pricing-box-section.oxy-pricing-box-content {
                font-size: 16px;
color: rgba(0,0,0,0.5);
            }
            
            /* CTA */

                                                                        .oxy-pricing-box .oxy-pricing-box-section.oxy-pricing-box-cta {
                justify-content: center;            }
            
        
                                .oxy-progress-bar .oxy-progress-bar-background {
            background-color: #000000;            background-image: linear-gradient(-45deg,rgba(255,255,255,.12) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.12) 50%,rgba(255,255,255,.12) 75%,transparent 75%,transparent);            animation: none 0s paused;        }
                
                .oxy-progress-bar .oxy-progress-bar-progress-wrap {
            width: 85%;        }
        
                                                        .oxy-progress-bar .oxy-progress-bar-progress {
            background-color: #66aaff;padding: 40px;animation: none 0s paused, none 0s paused;            background-image: linear-gradient(-45deg,rgba(255,255,255,.12) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.12) 50%,rgba(255,255,255,.12) 75%,transparent 75%,transparent);        
        }
                
                        .oxy-progress-bar .oxy-progress-bar-overlay-text {
            font-size: 30px;
font-weight: 900;
-webkit-font-smoothing: subpixel-antialiased;
        }
        
                        .oxy-progress-bar .oxy-progress-bar-overlay-percent {
            font-size: 12px;
        }
        
        .ct-slider .unslider-nav ol li {border-color: #ffffff; }.ct-slider .unslider-nav ol li.unslider-active {background-color: #ffffff; }.ct-slider .ct-slide {
				padding: 0px;			}
		
                        .oxy-superbox .oxy-superbox-secondary, 
            .oxy-superbox .oxy-superbox-primary {
                transition-duration: 0.5s;            }
            
            
            
            
            
        
        
        
        
            .oxy-shape-divider {
                width: 0px;
                height: 0px;
                
            }
            
            .oxy_shape_divider svg {
                width: 100%;
            }
            .oxy-pro-menu .oxy-pro-menu-container:not(.oxy-pro-menu-open-container):not(.oxy-pro-menu-off-canvas-container) .sub-menu{
box-shadow:px px px px ;}

.oxy-pro-menu .oxy-pro-menu-show-dropdown .oxy-pro-menu-list .menu-item-has-children > a svg{
transition-duration:0.4s;
}

.oxy-pro-menu .oxy-pro-menu-show-dropdown .oxy-pro-menu-list .menu-item-has-children > a div{
margin-left:0px;
}

.oxy-pro-menu .oxy-pro-menu-mobile-open-icon svg{
width:30px;
height:30px;
}

.oxy-pro-menu .oxy-pro-menu-mobile-open-icon{
padding-top:15px;
padding-right:15px;
padding-bottom:15px;
padding-left:15px;
}

.oxy-pro-menu .oxy-pro-menu-mobile-open-icon, .oxy-pro-menu .oxy-pro-menu-mobile-open-icon svg{
transition-duration:0.4s;
}

.oxy-pro-menu .oxy-pro-menu-mobile-close-icon{
top:20px;
left:20px;
}

.oxy-pro-menu .oxy-pro-menu-mobile-close-icon svg{
width:24px;
height:24px;
}

.oxy-pro-menu .oxy-pro-menu-mobile-close-icon, .oxy-pro-menu .oxy-pro-menu-mobile-close-icon svg{
transition-duration:0.4s;
}

.oxy-pro-menu .oxy-pro-menu-container.oxy-pro-menu-off-canvas-container, .oxy-pro-menu .oxy-pro-menu-container.oxy-pro-menu-open-container{
background-color:#ffffff;
}

.oxy-pro-menu .oxy-pro-menu-off-canvas-container, .oxy-pro-menu .oxy-pro-menu-open-container{
background-image:url();
}

.oxy-pro-menu .oxy-pro-menu-off-canvas-container .oxy-pro-menu-list .menu-item-has-children > a svg, .oxy-pro-menu .oxy-pro-menu-open-container .oxy-pro-menu-list .menu-item-has-children > a svg{
font-size:24px;
}

.oxy-pro-menu .oxy-pro-menu-dropdown-links-toggle.oxy-pro-menu-open-container .menu-item-has-children ul, .oxy-pro-menu .oxy-pro-menu-dropdown-links-toggle.oxy-pro-menu-off-canvas-container .menu-item-has-children ul{
background-color:rgba(0,0,0,0.2);
border-top-style:solid;
}

.oxy-pro-menu .oxy-pro-menu-container:not(.oxy-pro-menu-open-container):not(.oxy-pro-menu-off-canvas-container) .oxy-pro-menu-list{
                    flex-direction: row;
               }
.oxy-pro-menu .oxy-pro-menu-container .menu-item a{
                    text-align: left;
                    justify-content: flex-start;
                }
.oxy-pro-menu .oxy-pro-menu-container.oxy-pro-menu-open-container .menu-item, .oxy-pro-menu .oxy-pro-menu-container.oxy-pro-menu-off-canvas-container .menu-item{
                    align-items: flex-start;
                }

            .oxy-pro-menu .oxy-pro-menu-off-canvas-container{
                    top: 0;
                    bottom: 0;
                    right: auto;
                    left: 0;
               }
.oxy-pro-menu .oxy-pro-menu-container.oxy-pro-menu-open-container .oxy-pro-menu-list .menu-item a, .oxy-pro-menu .oxy-pro-menu-container.oxy-pro-menu-off-canvas-container .oxy-pro-menu-list .menu-item a{
                    text-align: left;
                    justify-content: flex-start;
                }

            .oxy-site-navigation {
--oxynav-brand-color:#4831B0;
--oxynav-neutral-color:#FFFFFF;
--oxynav-activehover-color:#EFEDF4;
--oxynav-background-color:#4831B0;
--oxynav-border-radius:0px;
--oxynav-other-spacing:8px;
--oxynav-transition-duration:0.3s;
--oxynav-transition-timing-function:cubic-bezier(.84,.05,.31,.93);
}

.oxy-site-navigation .oxy-site-navigation__mobile-close-wrapper{
text-align:left;
}

.oxy-site-navigation > ul{ left: 0; }
.oxy-site-navigation {
                        --oxynav-animation-name: none; 
                    }

                .oxy-site-navigation > ul:not(.open) > li[data-cta='true']:nth-last-child(1){ 
                    background-color: var(--oxynav-brand-color);
                    transition: var(--oxynav-transition-duration);
                    margin-left: var(--oxynav-other-spacing);
                    border: none;
                }
.oxy-site-navigation > ul:not(.open) > li[data-cta='true']:nth-last-child(2){ 
                    background: transparent;
                    border: 1px solid currentColor;
                    transition: var(--oxynav-transition-duration);
                    margin-left: var(--oxynav-other-spacing);
                }
.oxy-site-navigation > ul:not(.open) > li[data-cta='true']:nth-last-child(2):not(:hover) > img{
                    filter: invert(0) !important;
                }
.oxy-site-navigation > ul:not(.open) > li[data-cta='true']:hover{
                    background-color: var(--oxynav-activehover-color);
                }
.oxy-site-navigation > ul:not(.open) > li[data-cta='true']:nth-last-child(1) > a{
                    color: var(--oxynav-neutral-color);
                }
.oxy-site-navigation > ul:not(.open) > li[data-cta='true']:nth-last-child(2) > a{
                    color: var(--oxynav-brand-color);
                }
.oxy-site-navigation > ul:not(.open) > li[data-cta='true']:hover > a{
                    color: var(--oxynav-brand-color);
                }
.oxy-site-navigation > ul:not(.open) > li[data-cta='true']:nth-last-child(1) > a::after{
                    color: var(--oxynav-neutral-color);   
                }
.oxy-site-navigation > ul:not(.open) > li[data-cta='true']:nth-last-child(2) > a::after{
                    color: var(--oxynav-brand-color);   
                }
.oxy-site-navigation > ul:not(.open) > li[data-cta='true']:hover > a::after{
                    color: var(--oxynav-brand-color);   
                }
.oxy-site-navigation > ul:not(.open) > li[data-cta='true'] > ul{
                    display: none;
                }
.oxy-site-navigation > ul:not(.open) > li[data-cta='true'] > button, .oxy-site-navigation > ul:not(.open) > li[data-cta='true'] > ul{
                    display: none;
                }

                .ct-section-inner-wrap, .oxy-header-container{
  max-width: 1120px;
}
body {font-family: 'Open Sans';}body {line-height: 1.6;font-size: 16px;font-weight: 400;color: #404040;}.oxy-nav-menu-hamburger-line {background-color: #404040;}h1, h2, h3, h4, h5, h6 {font-family: 'Source Sans 3';font-size: 36px;font-weight: 700;}h2, h3, h4, h5, h6{font-size: 30px;}h3, h4, h5, h6{font-size: 24px;}h4, h5, h6{font-size: 20px;}h5, h6{font-size: 18px;}h6{font-size: 16px;}a {color: #0074db;text-decoration: none;}a:hover {text-decoration: none;}.ct-link-text {text-decoration: ;}.ct-link {text-decoration: ;}.ct-link-button {border-radius: 3px;}.ct-section-inner-wrap {
padding-top: 75px;
padding-right: 20px;
padding-bottom: 75px;
padding-left: 20px;
}.ct-new-columns > .ct-div-block {
padding-top: 20px;
padding-right: 20px;
padding-bottom: 20px;
padding-left: 20px;
}.oxy-header-container {
padding-right: 20px;
padding-left: 20px;
}@media (max-width: 992px) {
				.ct-columns-inner-wrap {
					display: block !important;
				}
				.ct-columns-inner-wrap:after {
					display: table;
					clear: both;
					content: "";
				}
				.ct-column {
					width: 100% !important;
					margin: 0 !important;
				}
				.ct-columns-inner-wrap {
					margin: 0 !important;
				}
			}
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

:root {
    --main-blue: #0a5888;
    --cta-orange: #eb662a;
    --light-gray: #f5f7fa;
    --text-dark: #1a1a1a;
    --text-gray: #6b7280;
    --white: #ffffff;
    --gradient-blue: linear-gradient(135deg, #0a5888 0%, #0d6ba8 100%);
    --shadow-sm: 0 2px 8px rgba(0,0,0,0.04);
    --shadow-md: 0 4px 16px rgba(0,0,0,0.08);
    --shadow-lg: 0 8px 32px rgba(0,0,0,0.12);
}

body {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', sans-serif;
    line-height: 1.6;
    color: var(--text-dark);
    background: var(--white);
}

/* ===== HEADER ===== */
.header {
    background: var(--white);
    box-shadow: var(--shadow-sm);
    position: sticky;
    top: 0;
    z-index: 1000;
    border-bottom: 1px solid rgba(0,0,0,0.06);
}

.header-container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 80px;
}

/* Logo */
.logo {
    display: flex;
    align-items: center;
    gap: 12px;
    text-decoration: none;
    font-size: 24px;
    font-weight: 800;
    color: var(--main-blue);
    transition: all 0.3s;
}

.logo:hover {
    color: var(--cta-orange);
}

.logo-icon {
    width: 48px;
    height: 48px;
    background: var(--gradient-blue);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--white);
    font-size: 24px;
}

/* Navigation */
.nav {
    display: flex;
    align-items: center;
    gap: 40px;
}

.nav-links {
    display: flex;
    list-style: none;
    gap: 32px;
    align-items: center;
}

.nav-link {
    position: relative;
}

.nav-link > a {
    text-decoration: none;
    color: var(--text-dark);
    font-weight: 600;
    font-size: 15px;
    transition: all 0.3s;
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 8px 0;
}

.nav-link > a:hover {
    color: var(--main-blue);
}

/* Dropdown Icon */
.nav-link.has-dropdown {
    position: relative;
}

.dropdown-icon {
    font-size: 12px;
    transition: transform 0.3s;
}

.nav-link.has-dropdown:hover .dropdown-icon {
    transform: rotate(180deg);
}

/* Desktop Mega Menu */
.dropdown.mega-menu {
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%) translateY(10px);
    background: var(--white);
    border-radius: 16px;
    box-shadow: var(--shadow-lg);
    padding: 24px;
    min-width: 750px;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    border: 1px solid rgba(0,0,0,0.06);
}

.nav-link.has-dropdown:hover .dropdown.mega-menu {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(0);
}

.mega-menu-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
    margin-bottom: 16px;
}

.mega-menu-column {
    display: flex;
    flex-direction: column;
}

.mega-menu-title {
    font-size: 14px;
    font-weight: 700;
    color: var(--main-blue);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 16px;
    padding-bottom: 8px;
    border-bottom: 2px solid var(--light-gray);
}

.mega-menu-column a {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 12px;
    text-decoration: none;
    color: var(--text-gray);
    font-size: 14px;
    font-weight: 500;
    transition: all 0.2s;
    border-radius: 8px;
}

.mega-menu-column a:hover {
    background: var(--light-gray);
    color: var(--main-blue);
    padding-left: 16px;
}

.mega-menu-column a i {
    width: 20px;
    color: var(--main-blue);
    flex-shrink: 0;
}

/* Mega Menu Footer */
.mega-menu-footer {
    padding-top: 16px;
    border-top: 1px solid var(--light-gray);
    display: flex;
    justify-content: center;
}

.view-all-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 20px;
    text-decoration: none;
    color: var(--main-blue);
    font-size: 14px;
    font-weight: 700;
    transition: all 0.3s;
    border-radius: 8px;
}

.view-all-link:hover {
    background: var(--light-gray);
    color: var(--cta-orange);
}

.view-all-link i {
    transition: transform 0.3s;
}

.view-all-link:hover i {
    transform: translateX(4px);
}

/* CTA Buttons Group */
.header-cta-group {
    display: flex;
    align-items: center;
    gap: 12px;
}

/* Telefon Button (Desktop) */
.btn-header-phone {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 24px;
    background-color: var(--cta-orange);
    color: var(--white);
    text-decoration: none;
    font-weight: 600;
    font-size: 15px;
    border-radius: 10px;
    transition: all 0.3s ease;
    white-space: nowrap;
    box-shadow: 0 4px 16px rgba(235, 102, 42, 0.3);
}

.btn-header-phone:hover {
    background-color: #d45924;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(235, 102, 42, 0.4);
}

.btn-header-phone i {
    font-size: 16px;
}

/* Online-Termin Button (Desktop) */
.btn-header-termin {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 22px;
    background-color: var(--white);
    color: var(--main-blue);
    text-decoration: none;
    font-weight: 600;
    font-size: 15px;
    border-radius: 10px;
    border: 2px solid var(--main-blue);
    transition: all 0.3s ease;
    white-space: nowrap;
}

.btn-header-termin:hover {
    background-color: var(--main-blue);
    color: var(--white);
    transform: translateY(-2px);
    box-shadow: 0 4px 16px rgba(10, 88, 136, 0.2);
}

.btn-header-termin i {
    font-size: 16px;
}

/* Mobile Menu Toggle */
.mobile-toggle {
    display: none;
    background: none;
    border: none;
    font-size: 24px;
    color: var(--main-blue);
    cursor: pointer;
    padding: 8px;
}

/* Mobile Menu */
.mobile-menu {
    position: fixed;
    top: 80px;
    left: -100%;
    width: 320px;
    max-width: 85vw;
    height: calc(100vh - 80px);
    background: var(--white);
    box-shadow: var(--shadow-lg);
    padding: 20px;
    overflow-y: auto;
    transition: left 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 999;
}

.mobile-menu.active {
    left: 0;
}

/* Mobile Menu Overlay */
.mobile-overlay {
    position: fixed;
    top: 80px;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0,0,0,0.5);
    opacity: 0;
    visibility: hidden;
    transition: all 0.4s;
    z-index: 998;
}

.mobile-overlay.active {
    opacity: 1;
    visibility: visible;
}

.mobile-nav-links {
    list-style: none;
}

.mobile-nav-link {
    border-bottom: 1px solid var(--light-gray);
}

.mobile-nav-link > a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 0;
    text-decoration: none;
    color: var(--text-dark);
    font-weight: 600;
    font-size: 15px;
}

/* Mobile Main Dropdown */
.mobile-dropdown {
    padding-left: 0;
    display: none;
    padding-bottom: 12px;
}

.mobile-dropdown.active {
    display: block;
}

/* Mobile Sub-Categories */
.mobile-sub-category {
    margin-bottom: 8px;
    border-radius: 8px;
    background: var(--light-gray);
    overflow: hidden;
}

.mobile-sub-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 16px;
    text-decoration: none;
    color: var(--main-blue);
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    background: var(--light-gray);
}

.mobile-sub-title i {
    font-size: 12px;
    transition: transform 0.3s;
}

.mobile-sub-category.active .mobile-sub-title i {
    transform: rotate(180deg);
}

/* Mobile Sub-Links */
.mobile-sub-links {
    display: none;
    padding: 0 12px 12px 12px;
    background: var(--white);
}

.mobile-sub-links.active {
    display: block;
}

.mobile-sub-links a {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    text-decoration: none;
    color: var(--text-gray);
    font-size: 13px;
    font-weight: 500;
    border-radius: 6px;
    transition: all 0.2s;
}

.mobile-sub-links a:hover {
    background: var(--light-gray);
    color: var(--main-blue);
}

.mobile-sub-links a i {
    width: 18px;
    color: var(--main-blue);
    font-size: 14px;
    flex-shrink: 0;
}

/* Mobile View All Link */
.mobile-view-all {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 14px 16px;
    margin-top: 12px;
    text-decoration: none;
    color: var(--main-blue);
    font-size: 14px;
    font-weight: 700;
    border-radius: 8px;
    background: var(--light-gray);
    transition: all 0.3s;
}

.mobile-view-all:hover {
    background: var(--main-blue);
    color: var(--white);
}

.mobile-view-all i {
    transition: transform 0.3s;
}

.mobile-view-all:hover i {
    transform: translateX(4px);
}

/* Mobile CTA */
.mobile-cta {
    padding: 20px 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
    border-top: 1px solid var(--light-gray);
}

/* Mobile Telefon Button */
.btn-mobile-phone {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 14px 24px;
    background-color: var(--cta-orange);
    color: var(--white);
    text-decoration: none;
    font-weight: 600;
    font-size: 15px;
    border-radius: 10px;
    transition: all 0.3s ease;
    width: 100%;
    box-shadow: 0 4px 16px rgba(235, 102, 42, 0.3);
}

.btn-mobile-phone:hover {
    background-color: #d45924;
}

.btn-mobile-phone i {
    font-size: 16px;
}

/* Mobile Online-Termin Button */
.btn-mobile-termin {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 14px 24px;
    background-color: var(--white);
    color: var(--main-blue);
    text-decoration: none;
    font-weight: 600;
    font-size: 15px;
    border-radius: 10px;
    border: 2px solid var(--main-blue);
    transition: all 0.3s ease;
    width: 100%;
}

.btn-mobile-termin:hover {
    background-color: var(--main-blue);
    color: var(--white);
}

.btn-mobile-termin i {
    font-size: 16px;
}

/* ===== FOOTER ===== */
.footer {
    background: var(--text-dark);
    color: rgba(255,255,255,0.8);
    padding: 60px 0 0;
}

.footer-container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 20px;
}

.footer-grid {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1fr;
    gap: 60px;
    margin-bottom: 50px;
}

.footer-column h3 {
    color: var(--white);
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 20px;
}

.footer-column p {
    font-size: 14px;
    line-height: 1.8;
    margin-bottom: 20px;
}

/* Footer Logo */
.footer-logo {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 20px;
}

.footer-logo-icon {
    width: 48px;
    height: 48px;
    background: var(--gradient-blue);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--white);
    font-size: 24px;
}

.footer-logo-text {
    font-size: 22px;
    font-weight: 800;
    color: var(--white);
}

/* Contact Info */
.footer-contact {
    list-style: none;
    margin-top: 24px;
}

.footer-contact li {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
    font-size: 14px;
}

.footer-contact li i {
    color: var(--cta-orange);
    width: 20px;
}

.footer-contact a {
    color: rgba(255,255,255,0.8);
    text-decoration: none;
    transition: color 0.3s;
}

.footer-contact a:hover {
    color: var(--white);
}

/* Footer Links */
.footer-links {
    list-style: none;
}

.footer-links li {
    margin-bottom: 12px;
}

.footer-links a {
    color: rgba(255,255,255,0.8);
    text-decoration: none;
    font-size: 14px;
    transition: all 0.3s;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.footer-links a:hover {
    color: var(--white);
    padding-left: 8px;
}

.footer-links a i {
    font-size: 12px;
    color: var(--cta-orange);
}

/* Social Links */
.social-links {
    display: flex;
    gap: 12px;
    margin-top: 20px;
}

.social-link {
    width: 40px;
    height: 40px;
    background: rgba(255,255,255,0.1);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--white);
    text-decoration: none;
    transition: all 0.3s;
}

.social-link:hover {
    background: var(--cta-orange);
    transform: translateY(-3px);
}

/* Footer Bottom */
.footer-bottom {
    border-top: 1px solid rgba(255,255,255,0.1);
    padding: 24px 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 14px;
}

.footer-bottom a {
    color: rgba(255,255,255,0.8);
    text-decoration: none;
    transition: color 0.3s;
}

.footer-bottom a:hover {
    color: var(--white);
}

.footer-legal {
    display: flex;
    gap: 24px;
}

/* Trust Badges Footer */
.trust-badges-footer {
    display: flex;
    gap: 20px;
    align-items: center;
    flex-wrap: wrap;
}

.trust-badge {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
}

.trust-badge i {
    color: var(--cta-orange);
}

/* ===== RESPONSIVE ===== */

/* Tablet */
@media (max-width: 1024px) {
    .header-cta-group {
        gap: 8px;
    }
    
    .btn-header-phone,
    .btn-header-termin {
        padding: 10px 18px;
        font-size: 14px;
    }
    
    .footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: 40px;
    }
}

/* Kleine Tablets - Nur Icons */
@media (max-width: 900px) {
    .btn-header-phone span,
    .btn-header-termin span {
        display: none;
    }
    
    .btn-header-phone,
    .btn-header-termin {
        padding: 10px;
        width: 44px;
        height: 44px;
        justify-content: center;
    }
    
    .btn-header-phone i,
    .btn-header-termin i {
        font-size: 18px;
    }
}

@media (max-width: 768px) {
    .logo span {
        font-size: 18px;
    }

    .logo-icon {
        width: 40px;
        height: 40px;
        font-size: 20px;
    }

    .nav {
        display: none;
    }
    
    .header-cta-group {
        display: none;
    }

    .mobile-toggle {
        display: block;
    }

    .footer-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .footer-bottom {
        flex-direction: column;
        gap: 16px;
        text-align: center;
    }

    .footer-legal {
        flex-direction: column;
        gap: 12px;
    }
}

@media (max-width: 400px) {
    .logo span {
        font-size: 16px;
    }
}

/* Demo Content Styling */
.demo-content {
    padding: 80px 20px;
    text-align: center;
    background: var(--light-gray);
}

.demo-content h2 {
    font-size: 36px;
    color: var(--text-dark);
    margin-bottom: 16px;
}

.demo-content p {
    font-size: 18px;
    color: var(--text-gray);
}
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* Verhindert Overflow bei allen Text-Elementen */
h1, h2, h3, h4, h5, h6, p, span, a, div {
    max-width: 100%;
    word-wrap: break-word;
    overflow-wrap: break-word;
    hyphens: auto;
}

:root {
    --main-blue: #0a5888;
    --cta-orange: #eb662a;
    --light-gray: #f5f7fa;
    --text-dark: #1a1a1a;
    --text-gray: #6b7280;
    --white: #ffffff;
    --gradient-blue: linear-gradient(135deg, #0a5888 0%, #0d6ba8 100%);
    --shadow-sm: 0 2px 8px rgba(0,0,0,0.04);
    --shadow-md: 0 4px 16px rgba(0,0,0,0.08);
    --shadow-lg: 0 8px 32px rgba(0,0,0,0.12);
}

body {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', sans-serif;
    line-height: 1.6;
    color: var(--text-dark);
    background: var(--white);
    overflow-x: hidden; /* Verhindert horizontales Scrollen */
}

.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    width: 100%;
}

/* ===== HERO SECTION ===== */
.hero {
    background: var(--gradient-blue);
    padding: 120px 0 100px;
    position: relative;
    overflow: hidden;
}

.hero::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: 
        radial-gradient(circle at 20% 50%, rgba(255,255,255,0.1) 0%, transparent 50%),
        radial-gradient(circle at 80% 80%, rgba(255,255,255,0.1) 0%, transparent 50%);
}

.hero .container {
    position: relative;
    z-index: 2;
}

.hero-content {
    max-width: 700px;
}

.hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(255,255,255,0.15);
    backdrop-filter: blur(10px);
    padding: 8px 20px;
    border-radius: 50px;
    color: var(--white);
    font-size: 14px;
    font-weight: 500;
    margin-bottom: 24px;
    border: 1px solid rgba(255,255,255,0.2);
    word-wrap: break-word;
    overflow-wrap: break-word;
    max-width: 100%;
}

.hero-badge svg {
    width: 18px;
    height: 18px;
}

.hero h1 {
    font-size: 56px;
    font-weight: 800;
    color: var(--white);
    line-height: 1.1;
    margin-bottom: 24px;
    letter-spacing: -0.02em;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

.hero-subtitle {
    font-size: 20px;
    color: rgba(255,255,255,0.95);
    margin-bottom: 40px;
    line-height: 1.6;
    font-weight: 400;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

.hero-cta {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
}

.btn-primary {
    background: var(--cta-orange);
    color: var(--white);
    padding: 16px 36px;
    border-radius: 12px;
    text-decoration: none;
    font-weight: 600;
    font-size: 16px;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 8px 24px rgba(235, 102, 42, 0.35);
    display: inline-flex;
    align-items: center;
    gap: 10px;
    border: none;
    cursor: pointer;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.btn-primary:hover {
    background: #d45924;
    transform: translateY(-3px);
    box-shadow: 0 12px 32px rgba(235, 102, 42, 0.45);
}

.btn-secondary {
    background: rgba(255,255,255,0.15);
    backdrop-filter: blur(10px);
    color: var(--white);
    padding: 16px 36px;
    border-radius: 12px;
    text-decoration: none;
    font-weight: 600;
    font-size: 16px;
    transition: all 0.3s;
    border: 1px solid rgba(255,255,255,0.3);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.btn-secondary:hover {
    background: rgba(255,255,255,0.25);
    border-color: rgba(255,255,255,0.5);
}

/* Trust Bar wird zu Slider auf Mobile */
.trust-bar {
    background: var(--white);
    padding: 40px 0;
    border-bottom: 1px solid rgba(0,0,0,0.06);
}

.trust-items {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 40px;
    text-align: center;
}

.trust-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
}

.trust-item-icon {
    width: 48px;
    height: 48px;
    background: var(--light-gray);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--main-blue);
}

.trust-item h3 {
    font-size: 28px;
    font-weight: 700;
    color: var(--main-blue);
    line-height: 1;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

.trust-item p {
    font-size: 14px;
    color: var(--text-gray);
    word-wrap: break-word;
    overflow-wrap: break-word;
}

/* Mobile Slider für Trust Bar */
.trust-slider-dots {
    display: none;
    justify-content: center;
    gap: 8px;
    margin-top: 24px;
}

.slider-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #d1d5db;
    border: none;
    cursor: pointer;
    transition: all 0.3s;
    padding: 0;
}

.slider-dot.active {
    background: var(--main-blue);
    width: 24px;
    border-radius: 4px;
}

/* ===== TRUST BADGES ===== */
.trust-badges {
    padding: 60px 0;
    background: var(--light-gray);
}

.trust-badges-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 30px;
    margin-top: 40px;
}

.trust-badge-card {
    background: var(--white);
    padding: 32px;
    border-radius: 16px;
    text-align: center;
    box-shadow: var(--shadow-sm);
    transition: all 0.3s;
    min-width: 0; /* Overflow fix */
    overflow: hidden;
}

.trust-badge-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-md);
}

.trust-badge-icon {
    width: 64px;
    height: 64px;
    background: var(--light-gray);
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 20px;
    color: var(--main-blue);
    font-size: 28px;
}

.trust-badge-card h3 {
    font-size: 20px;
    font-weight: 700;
    color: var(--text-dark);
    margin-bottom: 12px;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

.trust-badge-card p {
    font-size: 15px;
    color: var(--text-gray);
    line-height: 1.6;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

/* ===== ABOUT SECTION ===== */
.about-section {
    padding: 100px 0;
    background: var(--white);
}

.about-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: center;
}

.about-image {
    position: relative;
    border-radius: 24px;
    overflow: hidden;
    box-shadow: var(--shadow-lg);
    width: 100%;
    height: auto;
}

.about-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.about-content {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.section-badge {
    display: inline-block;
    background: var(--light-gray);
    color: var(--main-blue);
    padding: 8px 20px;
    border-radius: 50px;
    font-size: 14px;
    font-weight: 600;
    align-self: flex-start;
    word-wrap: break-word;
    overflow-wrap: break-word;
    max-width: 100%;
}

.about-content h2 {
    font-size: 42px;
    font-weight: 800;
    color: var(--text-dark);
    line-height: 1.2;
    letter-spacing: -0.02em;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

.about-content p {
    font-size: 17px;
    color: var(--text-gray);
    line-height: 1.7;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

.about-features {
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin: 24px 0;
}

.about-feature {
    display: flex;
    align-items: flex-start;
    gap: 16px;
}

.about-feature-icon {
    width: 48px;
    height: 48px;
    background: var(--light-gray);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--main-blue);
    flex-shrink: 0;
}

.about-feature h4 {
    font-size: 18px;
    font-weight: 600;
    color: var(--text-dark);
    margin-bottom: 4px;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

.about-feature p {
    font-size: 15px;
    color: var(--text-gray);
    word-wrap: break-word;
    overflow-wrap: break-word;
}

/* ===== SERVICES ===== */
.services {
    padding: 100px 0;
    background: var(--white);
}

.services-header {
    text-align: center;
    max-width: 700px;
    margin: 0 auto 60px;
}

.services-header h2 {
    font-size: 42px;
    font-weight: 800;
    color: var(--text-dark);
    margin: 20px 0;
    line-height: 1.2;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

.services-header p {
    font-size: 18px;
    color: var(--text-gray);
    line-height: 1.6;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

.services-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 30px;
}

.service-card {
    background: var(--white);
    border: 1px solid rgba(0,0,0,0.08);
    border-radius: 16px;
    padding: 36px;
    text-decoration: none;
    transition: all 0.3s;
    display: flex;
    flex-direction: column;
    gap: 16px;
    min-width: 0; /* Wichtig für overflow fix */
    overflow: hidden; /* Verhindert Überlauf */
}

.service-card:hover {
    transform: translateY(-6px);
    box-shadow: var(--shadow-md);
    border-color: var(--main-blue);
}

.service-icon {
    width: 56px;
    height: 56px;
    background: var(--light-gray);
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--main-blue);
    font-size: 24px;
}

.service-card h3 {
    font-size: 22px;
    font-weight: 700;
    color: var(--text-dark);
    word-wrap: break-word;
    overflow-wrap: break-word;
}

.service-card p {
    font-size: 15px;
    color: var(--text-gray);
    line-height: 1.6;
    flex-grow: 1;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

.service-link {
    color: var(--main-blue);
    font-weight: 600;
    font-size: 15px;
    display: flex;
    align-items: center;
    gap: 8px;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

/* ===== WHY CHOOSE ===== */
.why-choose {
    padding: 100px 0;
    background: var(--light-gray);
}

.why-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 40px;
    margin-top: 60px;
}

.why-card {
    background: var(--white);
    padding: 40px;
    border-radius: 16px;
    box-shadow: var(--shadow-sm);
    transition: all 0.3s;
    min-width: 0; /* Overflow fix */
    overflow: hidden;
}

.why-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-md);
}

.why-card-icon {
    width: 56px;
    height: 56px;
    background: var(--light-gray);
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--main-blue);
    margin-bottom: 24px;
}

.why-card h3 {
    font-size: 22px;
    font-weight: 700;
    color: var(--text-dark);
    margin-bottom: 16px;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

.why-card p {
    font-size: 15px;
    color: var(--text-gray);
    line-height: 1.7;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

/* ===== CTA SECTION ===== */
.cta-section {
    background: var(--gradient-blue);
    padding: 80px 0;
    position: relative;
    overflow: hidden;
}

.cta-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: 
        radial-gradient(circle at 20% 50%, rgba(255,255,255,0.1) 0%, transparent 50%),
        radial-gradient(circle at 80% 80%, rgba(255,255,255,0.1) 0%, transparent 50%);
}

.cta-content {
    text-align: center;
    position: relative;
    z-index: 2;
}

.cta-content h2 {
    font-size: 42px;
    font-weight: 800;
    color: var(--white);
    margin-bottom: 20px;
    line-height: 1.2;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

.cta-content p {
    font-size: 18px;
    color: rgba(255,255,255,0.95);
    margin-bottom: 40px;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

.cta-buttons {
    display: flex;
    gap: 16px;
    justify-content: center;
    flex-wrap: wrap;
}

.btn-white {
    background: var(--white);
    color: var(--main-blue);
    padding: 16px 36px;
    border-radius: 12px;
    text-decoration: none;
    font-weight: 600;
    font-size: 16px;
    transition: all 0.3s;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.btn-white:hover {
    background: var(--light-gray);
    transform: translateY(-3px);
    box-shadow: 0 8px 24px rgba(0,0,0,0.1);
}

/* ===== MOBILE RESPONSIVE ===== */
@media (max-width: 768px) {
    /* Hero Section */
    .hero {
        padding: 80px 0 60px;
    }

    .hero h1 {
        font-size: 36px;
        line-height: 1.2;
    }

    .hero-subtitle {
        font-size: 17px;
    }

    .hero-cta {
        flex-direction: column;
    }

    .btn-primary,
    .btn-secondary {
        width: 100%;
        justify-content: center;
        padding: 14px 24px;
    }

    /* Trust Bar wird zu Slider auf Mobile */
    .trust-bar {
        padding: 40px 0 20px;
    }

    .trust-items {
        display: flex;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        gap: 20px;
        padding: 0 20px;
        scrollbar-width: none;
        -ms-overflow-style: none;
    }

    .trust-items::-webkit-scrollbar {
        display: none;
    }

    .trust-item {
        min-width: 85%;
        scroll-snap-align: center;
        flex-shrink: 0;
        background: var(--light-gray);
        padding: 30px;
        border-radius: 16px;
    }

    .trust-slider-dots {
        display: flex;
    }

    /* Trust Badges - Mobile Order */
    .trust-badges {
        padding: 50px 0;
    }

    .trust-badges-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .trust-badge-card {
        padding: 28px;
        word-wrap: break-word;
    }

    .trust-badge-card h3 {
        word-wrap: break-word;
    }

    .trust-badge-card p {
        word-wrap: break-word;
    }

    /* About Section - Mobile Order: Image first, then content */
    .about-section {
        padding: 60px 0;
    }

    .about-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .about-image {
        order: 1;
        max-height: 400px;
    }

    .about-content {
        order: 2;
    }

    .about-content h2 {
        font-size: 32px;
    }

    .about-content p {
        font-size: 16px;
    }

    .about-feature h4 {
        font-size: 16px;
    }

    .about-feature p {
        font-size: 14px;
    }

    /* Services */
    .services {
        padding: 60px 0;
    }

    .services-header h2 {
        font-size: 32px;
    }

    .services-header p {
        font-size: 16px;
    }

    .services-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .service-card {
        padding: 28px;
        word-wrap: break-word;
    }

    .service-card h3 {
        font-size: 20px;
        word-wrap: break-word;
    }

    .service-card p {
        word-wrap: break-word;
    }

    /* Why Choose */
    .why-choose {
        padding: 60px 0;
    }

    .why-grid {
        grid-template-columns: 1fr;
        gap: 24px;
        margin-top: 40px;
    }

    .why-card {
        padding: 32px;
        word-wrap: break-word;
    }

    .why-card h3 {
        font-size: 20px;
        word-wrap: break-word;
    }

    .why-card p {
        word-wrap: break-word;
    }

    /* CTA Section */
    .cta-section {
        padding: 60px 0;
    }

    .cta-content h2 {
        font-size: 28px;
    }

    .cta-content p {
        font-size: 16px;
    }

    .cta-buttons {
        flex-direction: column;
        width: 100%;
    }

    .btn-white {
        width: 100%;
        justify-content: center;
        padding: 14px 24px;
    }
}

/* Tablet Anpassungen */
@media (max-width: 1024px) and (min-width: 769px) {
    .hero h1 {
        font-size: 48px;
    }

    .about-grid {
        gap: 50px;
    }

    .about-content h2 {
        font-size: 36px;
    }

    .services-header h2,
    .cta-content h2 {
        font-size: 36px;
    }
}

/* Small Mobile */
@media (max-width: 480px) {
    .container {
        padding: 0 16px;
    }

    .hero h1 {
        font-size: 32px;
    }

    .hero-subtitle {
        font-size: 16px;
    }

    /* Buttons auf sehr kleinen Screens */
    .btn-primary,
    .btn-secondary,
    .btn-white {
        padding: 12px 20px;
        font-size: 15px;
        white-space: normal;
        text-align: center;
    }

    .about-content h2 {
        font-size: 28px;
    }

    .services-header h2,
    .cta-content h2 {
        font-size: 26px;
    }

    .trust-item {
        min-width: 90%;
        padding: 24px;
    }

    .trust-item h3 {
        font-size: 24px;
    }

    /* Service Cards auf sehr kleinen Screens */
    .service-card {
        padding: 24px;
        gap: 14px;
    }

    .service-card h3 {
        font-size: 18px;
        line-height: 1.3;
    }

    .service-card p {
        font-size: 14px;
        line-height: 1.5;
    }

    /* Trust Badge Cards */
    .trust-badge-card {
        padding: 24px;
    }

    .trust-badge-card h3 {
        font-size: 18px;
    }

    .trust-badge-card p {
        font-size: 14px;
    }

    /* Why Cards */
    .why-card {
        padding: 28px;
    }

    .why-card h3 {
        font-size: 18px;
    }

    .why-card p {
        font-size: 14px;
    }
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

:root {
    --main-blue: #0a5888;
    --cta-orange: #eb662a;
    --light-gray: #f5f7fa;
    --text-dark: #1a1a1a;
    --text-gray: #6b7280;
    --white: #ffffff;
    --gradient-blue: linear-gradient(135deg, #0a5888 0%, #0d6ba8 100%);
    --shadow-sm: 0 2px 8px rgba(0,0,0,0.04);
    --shadow-md: 0 4px 16px rgba(0,0,0,0.08);
    --shadow-lg: 0 8px 32px rgba(0,0,0,0.12);
}

body {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', sans-serif;
    line-height: 1.6;
    color: var(--text-dark);
    background: var(--white);
}

.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

/* ===== HERO SECTION ===== */
.hero {
    background: var(--gradient-blue);
    padding: 100px 0 80px;
    position: relative;
    overflow: hidden;
}

.hero::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: 
        radial-gradient(circle at 20% 50%, rgba(255,255,255,0.1) 0%, transparent 50%),
        radial-gradient(circle at 80% 80%, rgba(255,255,255,0.1) 0%, transparent 50%);
}

.hero .container {
    position: relative;
    z-index: 2;
    text-align: center;
}

.section-badge {
    display: inline-block;
    background: rgba(255,255,255,0.15);
    backdrop-filter: blur(10px);
    padding: 8px 20px;
    border-radius: 50px;
    color: var(--white);
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 20px;
    border: 1px solid rgba(255,255,255,0.2);
    letter-spacing: 0.5px;
}

.hero h1 {
    font-size: 48px;
    font-weight: 800;
    color: var(--white);
    line-height: 1.2;
    margin-bottom: 20px;
    letter-spacing: -0.02em;
}

.hero-subtitle {
    font-size: 20px;
    color: rgba(255,255,255,0.95);
    line-height: 1.6;
    max-width: 700px;
    margin: 0 auto;
}

/* ===== CONTACT METHODS ===== */
.contact-methods {
    padding: 80px 0;
    background: var(--white);
}

.methods-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 30px;
    max-width: 1000px;
    margin: 0 auto;
}

.method-card {
    background: var(--white);
    padding: 40px 32px;
    border-radius: 16px;
    box-shadow: var(--shadow-md);
    text-align: center;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    border: 2px solid transparent;
}

.method-card:hover {
    transform: translateY(-8px);
    box-shadow: var(--shadow-lg);
    border-color: var(--main-blue);
}

.method-icon {
    width: 80px;
    height: 80px;
    background: var(--light-gray);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 24px;
    transition: all 0.3s;
}

.method-card:hover .method-icon {
    background: var(--main-blue);
    transform: scale(1.1);
}

.method-icon i {
    font-size: 36px;
    color: var(--main-blue);
    transition: color 0.3s;
}

.method-card:hover .method-icon i {
    color: var(--white);
}

.method-card h3 {
    font-size: 24px;
    font-weight: 700;
    color: var(--text-dark);
    margin-bottom: 12px;
}

.method-card p {
    font-size: 15px;
    color: var(--text-gray);
    margin-bottom: 24px;
    line-height: 1.6;
}

.method-value {
    font-size: 20px;
    font-weight: 600;
    color: var(--main-blue);
    margin-bottom: 24px;
    word-break: break-word;
}

.btn-contact {
    background: var(--cta-orange);
    color: var(--white);
    padding: 14px 32px;
    border-radius: 10px;
    text-decoration: none;
    font-weight: 600;
    font-size: 16px;
    transition: all 0.3s;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    box-shadow: 0 4px 16px rgba(235, 102, 42, 0.3);
}

.btn-contact:hover {
    background: #d45924;
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(235, 102, 42, 0.4);
}

/* WhatsApp Button Spezial */
.method-card.whatsapp .btn-contact {
    background: #25D366;
    box-shadow: 0 4px 16px rgba(37, 211, 102, 0.3);
}

.method-card.whatsapp .btn-contact:hover {
    background: #1fb855;
    box-shadow: 0 8px 24px rgba(37, 211, 102, 0.4);
}

/* ===== INFO SECTION ===== */
.info-section {
    padding: 80px 0;
    background: var(--light-gray);
}

.info-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: center;
}

.info-content h2 {
    font-size: 42px;
    font-weight: 800;
    color: var(--text-dark);
    margin-bottom: 24px;
    line-height: 1.2;
}

.info-content p {
    font-size: 17px;
    color: var(--text-gray);
    line-height: 1.8;
    margin-bottom: 20px;
}

.info-list {
    list-style: none;
    margin-top: 32px;
}

.info-list li {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 16px;
    font-size: 16px;
    color: var(--text-gray);
}

.info-list li i {
    color: var(--main-blue);
    margin-top: 4px;
    flex-shrink: 0;
}

.hours-card {
    background: var(--white);
    padding: 40px;
    border-radius: 16px;
    box-shadow: var(--shadow-md);
}

.hours-card h3 {
    font-size: 24px;
    font-weight: 700;
    color: var(--text-dark);
    margin-bottom: 24px;
    display: flex;
    align-items: center;
    gap: 12px;
}

.hours-card h3 i {
    color: var(--main-blue);
}

.hours-list {
    list-style: none;
}

.hours-list li {
    display: flex;
    justify-content: space-between;
    padding: 12px 0;
    border-bottom: 1px solid var(--light-gray);
    font-size: 16px;
}

.hours-list li:last-child {
    border-bottom: none;
}

.hours-day {
    font-weight: 600;
    color: var(--text-dark);
}

.hours-time {
    color: var(--text-gray);
}

.hours-note {
    margin-top: 20px;
    padding: 16px;
    background: var(--light-gray);
    border-radius: 10px;
    font-size: 14px;
    color: var(--text-gray);
    line-height: 1.6;
}

/* ===== LOCATION ===== */
.location-section {
    padding: 80px 0;
    background: var(--white);
}

.location-header {
    text-align: center;
    margin-bottom: 60px;
}

.location-header h2 {
    font-size: 42px;
    font-weight: 800;
    color: var(--text-dark);
    margin-bottom: 16px;
}

.location-header p {
    font-size: 18px;
    color: var(--text-gray);
}

.location-card {
    max-width: 700px;
    margin: 0 auto;
    background: var(--white);
    padding: 40px;
    border-radius: 16px;
    box-shadow: var(--shadow-md);
    text-align: center;
}

.location-icon {
    width: 80px;
    height: 80px;
    background: var(--main-blue);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 24px;
    color: var(--white);
    font-size: 36px;
}

.location-card h3 {
    font-size: 24px;
    font-weight: 700;
    color: var(--text-dark);
    margin-bottom: 16px;
}

.location-card address {
    font-style: normal;
    font-size: 18px;
    color: var(--text-gray);
    line-height: 1.8;
    margin-bottom: 24px;
}

.location-note {
    background: var(--light-gray);
    padding: 20px;
    border-radius: 10px;
    font-size: 15px;
    color: var(--text-gray);
    line-height: 1.6;
}

/* ===== RESPONSIVE ===== */
@media (max-width: 768px) {
    .hero h1 {
        font-size: 36px;
    }

    .hero-subtitle {
        font-size: 18px;
    }

    .methods-grid {
        grid-template-columns: 1fr;
    }

    .info-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .info-content h2,
    .location-header h2 {
        font-size: 32px;
    }
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

:root {
    --main-blue: #0a5888;
    --cta-orange: #eb662a;
    --light-gray: #f5f7fa;
    --text-dark: #1a1a1a;
    --text-gray: #6b7280;
    --white: #ffffff;
    --gradient-blue: linear-gradient(135deg, #0a5888 0%, #0d6ba8 100%);
}

body {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', sans-serif;
    line-height: 1.6;
    color: var(--text-dark);
    background: var(--white);
}

.container {
    max-width: 900px;
    margin: 0 auto;
    padding: 0 20px;
}

/* ===== HEADER ===== */
.page-header {
    background: var(--gradient-blue);
    padding: 60px 0;
    text-align: center;
}

.page-header h1 {
    font-size: 42px;
    font-weight: 800;
    color: var(--white);
    margin-bottom: 12px;
}

.page-header p {
    font-size: 16px;
    color: rgba(255,255,255,0.9);
}

/* ===== CONTENT ===== */
.legal-content {
    padding: 60px 0 80px;
}

.legal-section {
    margin-bottom: 40px;
}

.legal-section h2 {
    font-size: 28px;
    font-weight: 700;
    color: var(--text-dark);
    margin-bottom: 16px;
    padding-bottom: 12px;
    border-bottom: 3px solid var(--main-blue);
}

.legal-section h3 {
    font-size: 22px;
    font-weight: 600;
    color: var(--text-dark);
    margin: 24px 0 12px;
}

.legal-section p {
    font-size: 16px;
    color: var(--text-gray);
    line-height: 1.8;
    margin-bottom: 16px;
}

.legal-section ul,
.legal-section ol {
    margin: 16px 0;
    padding-left: 24px;
}

.legal-section li {
    font-size: 16px;
    color: var(--text-gray);
    line-height: 1.8;
    margin-bottom: 8px;
}

.legal-section strong {
    color: var(--text-dark);
    font-weight: 600;
}

.legal-section a {
    color: var(--main-blue);
    text-decoration: underline;
}

.legal-section a:hover {
    color: var(--cta-orange);
}

.info-box {
    background: var(--light-gray);
    padding: 24px;
    border-radius: 12px;
    margin: 24px 0;
    border-left: 4px solid var(--main-blue);
}

.info-box p {
    margin-bottom: 0;
}

/* ===== RESPONSIVE ===== */
@media (max-width: 768px) {
    .page-header h1 {
        font-size: 32px;
    }

    .legal-section h2 {
        font-size: 24px;
    }

    .legal-section h3 {
        font-size: 20px;
    }
}
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

:root {
    --main-blue: #0a5888;
    --cta-orange: #eb662a;
    --light-gray: #f5f7fa;
    --text-dark: #1a1a1a;
    --text-gray: #6b7280;
    --white: #ffffff;
    --gradient-blue: linear-gradient(135deg, #0a5888 0%, #0d6ba8 100%);
}

body {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', sans-serif;
    line-height: 1.6;
    color: var(--text-dark);
    background: var(--white);
}

.container {
    max-width: 900px;
    margin: 0 auto;
    padding: 0 20px;
}

/* ===== HEADER ===== */
.page-header {
    background: var(--gradient-blue);
    padding: 60px 0;
    text-align: center;
}

.page-header h1 {
    font-size: 42px;
    font-weight: 800;
    color: var(--white);
    margin-bottom: 12px;
}

.page-header p {
    font-size: 16px;
    color: rgba(255,255,255,0.9);
}

/* ===== CONTENT ===== */
.legal-content {
    padding: 60px 0 80px;
}

.legal-section {
    margin-bottom: 40px;
}

.legal-section h2 {
    font-size: 28px;
    font-weight: 700;
    color: var(--text-dark);
    margin-bottom: 16px;
    padding-bottom: 12px;
    border-bottom: 3px solid var(--main-blue);
}

.legal-section h3 {
    font-size: 22px;
    font-weight: 600;
    color: var(--text-dark);
    margin: 24px 0 12px;
}

.legal-section p {
    font-size: 16px;
    color: var(--text-gray);
    line-height: 1.8;
    margin-bottom: 16px;
}

.legal-section ul {
    margin: 16px 0;
    padding-left: 24px;
}

.legal-section li {
    font-size: 16px;
    color: var(--text-gray);
    line-height: 1.8;
    margin-bottom: 8px;
}

.legal-section strong {
    color: var(--text-dark);
    font-weight: 600;
}

.legal-section a {
    color: var(--main-blue);
    text-decoration: underline;
}

.legal-section a:hover {
    color: var(--cta-orange);
}

.info-box {
    background: var(--light-gray);
    padding: 24px;
    border-radius: 12px;
    margin: 24px 0;
    border-left: 4px solid var(--main-blue);
}

.info-box p {
    margin-bottom: 8px;
    line-height: 1.8;
}

.info-box p:last-child {
    margin-bottom: 0;
}

.contact-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 24px;
    margin: 24px 0;
}

.contact-card {
    background: var(--white);
    padding: 24px;
    border-radius: 12px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    border: 2px solid var(--light-gray);
}

.contact-card h4 {
    font-size: 18px;
    font-weight: 700;
    color: var(--text-dark);
    margin-bottom: 12px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.contact-card h4 i {
    color: var(--main-blue);
}

.contact-card p {
    margin: 0;
    font-size: 16px;
}

/* ===== RESPONSIVE ===== */
@media (max-width: 768px) {
    .page-header h1 {
        font-size: 32px;
    }

    .legal-section h2 {
        font-size: 24px;
    }

    .legal-section h3 {
        font-size: 20px;
    }

    .contact-grid {
        grid-template-columns: 1fr;
    }
}


* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

:root {
    --main-blue: #0a5888;
    --cta-orange: #eb662a;
    --light-gray: #f5f7fa;
    --text-dark: #1a1a1a;
    --text-gray: #6b7280;
    --white: #ffffff;
    --gradient-blue: linear-gradient(135deg, #0a5888 0%, #0d6ba8 100%);
    --shadow-sm: 0 2px 8px rgba(0,0,0,0.04);
    --shadow-md: 0 4px 16px rgba(0,0,0,0.08);
    --shadow-lg: 0 8px 32px rgba(0,0,0,0.12);
}

body {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', sans-serif;
    line-height: 1.6;
    color: var(--text-dark);
    background: var(--white);
}

.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

/* ===== HERO SECTION ===== */
.hero {
    background: var(--gradient-blue);
    padding: 100px 0 80px;
    position: relative;
    overflow: hidden;
}

.hero::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: 
        radial-gradient(circle at 20% 50%, rgba(255,255,255,0.1) 0%, transparent 50%),
        radial-gradient(circle at 80% 80%, rgba(255,255,255,0.1) 0%, transparent 50%);
}

.hero .container {
    position: relative;
    z-index: 2;
    text-align: center;
}

.section-badge {
    display: inline-block;
    background: rgba(255,255,255,0.15);
    backdrop-filter: blur(10px);
    padding: 8px 20px;
    border-radius: 50px;
    color: var(--white);
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 20px;
    border: 1px solid rgba(255,255,255,0.2);
    letter-spacing: 0.5px;
}

.hero h1 {
    font-size: 48px;
    font-weight: 800;
    color: var(--white);
    line-height: 1.2;
    margin-bottom: 20px;
    letter-spacing: -0.02em;
}

.hero-subtitle {
    font-size: 20px;
    color: rgba(255,255,255,0.95);
    line-height: 1.6;
    max-width: 700px;
    margin: 0 auto;
}

/* ===== ABOUT INTRO ===== */
.about-intro {
    padding: 80px 0;
    background: var(--white);
}

.about-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: center;
}

.about-image {
    position: relative;
}

.about-image img {
    width: 100%;
    border-radius: 20px;
    box-shadow: var(--shadow-lg);
}

.about-badge {
    position: absolute;
    bottom: 20px;
    left: 20px;
    background: var(--white);
    padding: 16px 24px;
    border-radius: 12px;
    box-shadow: var(--shadow-lg);
    display: flex;
    align-items: center;
    gap: 12px;
}

.about-badge-icon {
    width: 40px;
    height: 40px;
    background: var(--main-blue);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--white);
    font-size: 20px;
}

.about-badge-text h4 {
    font-size: 24px;
    font-weight: 700;
    color: var(--main-blue);
    line-height: 1;
    margin-bottom: 4px;
}

.about-badge-text p {
    font-size: 13px;
    color: var(--text-gray);
    margin: 0;
}

.about-content h2 {
    font-size: 42px;
    font-weight: 800;
    color: var(--text-dark);
    margin-bottom: 24px;
    line-height: 1.2;
}

.about-content p {
    font-size: 17px;
    color: var(--text-gray);
    line-height: 1.8;
    margin-bottom: 20px;
}

.about-highlights {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-top: 40px;
}

.highlight-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

.highlight-icon {
    width: 24px;
    height: 24px;
    background: var(--light-gray);
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--main-blue);
    flex-shrink: 0;
    margin-top: 2px;
}

.highlight-item p {
    margin: 0;
    font-size: 15px;
    line-height: 1.6;
}

/* ===== VALUES SECTION ===== */
.values-section {
    padding: 80px 0;
    background: var(--light-gray);
}

.section-header {
    text-align: center;
    margin-bottom: 60px;
}

.section-header h2 {
    font-size: 42px;
    font-weight: 800;
    color: var(--text-dark);
    margin-bottom: 16px;
}

.section-header p {
    font-size: 18px;
    color: var(--text-gray);
    max-width: 700px;
    margin: 0 auto;
}

.values-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 30px;
}

.value-card {
    background: var(--white);
    padding: 40px 32px;
    border-radius: 16px;
    box-shadow: var(--shadow-sm);
    transition: all 0.3s;
    text-align: center;
}

.value-card:hover {
    transform: translateY(-8px);
    box-shadow: var(--shadow-lg);
}

.value-icon {
    width: 72px;
    height: 72px;
    background: var(--light-gray);
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 24px;
    color: var(--main-blue);
    font-size: 32px;
    transition: all 0.3s;
}

.value-card:hover .value-icon {
    background: var(--main-blue);
    color: var(--white);
    transform: scale(1.1);
}

.value-card h3 {
    font-size: 22px;
    font-weight: 700;
    color: var(--text-dark);
    margin-bottom: 12px;
}

.value-card p {
    font-size: 15px;
    color: var(--text-gray);
    line-height: 1.6;
    margin: 0;
}

/* ===== STATS SECTION ===== */
.stats-section {
    padding: 80px 0;
    background: var(--white);
}

.stats-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 40px;
    text-align: center;
}

.stat-item {
    padding: 20px;
}

.stat-number {
    font-size: 56px;
    font-weight: 800;
    color: var(--main-blue);
    line-height: 1;
    margin-bottom: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
}

.stat-label {
    font-size: 16px;
    color: var(--text-gray);
    font-weight: 500;
}

/* ===== QUALIFICATIONS ===== */
.qualifications {
    padding: 80px 0;
    background: var(--light-gray);
}

.qual-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 24px;
}

.qual-item {
    background: var(--white);
    padding: 24px;
    border-radius: 12px;
    display: flex;
    align-items: flex-start;
    gap: 16px;
    box-shadow: var(--shadow-sm);
}

.qual-icon {
    width: 48px;
    height: 48px;
    background: var(--main-blue);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--white);
    flex-shrink: 0;
}

.qual-content h4 {
    font-size: 18px;
    font-weight: 700;
    color: var(--text-dark);
    margin-bottom: 6px;
}

.qual-content p {
    font-size: 14px;
    color: var(--text-gray);
    margin: 0;
}

/* ===== CTA SECTION ===== */
.cta-section {
    background: var(--gradient-blue);
    padding: 80px 0;
    position: relative;
    overflow: hidden;
}

.cta-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: 
        radial-gradient(circle at 80% 20%, rgba(255,255,255,0.1) 0%, transparent 50%),
        radial-gradient(circle at 20% 80%, rgba(255,255,255,0.1) 0%, transparent 50%);
}

.cta-content {
    position: relative;
    z-index: 2;
    text-align: center;
    max-width: 700px;
    margin: 0 auto;
}

.cta-content h2 {
    font-size: 42px;
    font-weight: 800;
    color: var(--white);
    margin-bottom: 20px;
    line-height: 1.2;
}

.cta-content p {
    font-size: 18px;
    color: rgba(255,255,255,0.95);
    margin-bottom: 40px;
    line-height: 1.6;
}

.cta-buttons {
    display: flex;
    gap: 16px;
    justify-content: center;
    flex-wrap: wrap;
}

.btn-primary {
    background: var(--cta-orange);
    color: var(--white);
    padding: 16px 36px;
    border-radius: 12px;
    text-decoration: none;
    font-weight: 600;
    font-size: 16px;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 8px 24px rgba(235, 102, 42, 0.35);
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.btn-primary:hover {
    background: #d45924;
    transform: translateY(-3px);
    box-shadow: 0 12px 32px rgba(235, 102, 42, 0.45);
}

.btn-white {
    background: var(--white);
    color: var(--main-blue);
    padding: 16px 36px;
    border-radius: 12px;
    text-decoration: none;
    font-weight: 600;
    font-size: 16px;
    transition: all 0.3s;
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.btn-white:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 32px rgba(255,255,255,0.25);
}

/* ===== RESPONSIVE ===== */
@media (max-width: 768px) {
    .hero h1 {
        font-size: 36px;
    }

    .hero-subtitle {
        font-size: 18px;
    }

    .about-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .about-content h2,
    .section-header h2,
    .cta-content h2 {
        font-size: 32px;
    }

    .about-highlights {
        grid-template-columns: 1fr;
    }

    .stats-grid {
        gap: 30px;
    }

    .stat-number {
        font-size: 42px;
    }

    .cta-buttons {
        flex-direction: column;
    }
}
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        :root {
            --main-blue: #0a5888;
            --cta-orange: #eb662a;
            --light-gray: #f5f7fa;
            --text-dark: #1a1a1a;
            --text-gray: #6b7280;
            --white: #ffffff;
            --gradient-blue: linear-gradient(135deg, #0a5888 0%, #0d6ba8 100%);
            --shadow-sm: 0 2px 8px rgba(0,0,0,0.04);
            --shadow-md: 0 4px 16px rgba(0,0,0,0.08);
            --shadow-lg: 0 8px 32px rgba(0,0,0,0.12);
        }

        body {
            font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', sans-serif;
            line-height: 1.6;
            color: var(--text-dark);
            background: var(--white);
        }

        .container {
            max-width: 1200px;
            margin: 0 auto;
            padding: 0 20px;
        }

        /* ===== HERO SECTION ===== */
        .hero {
            background: var(--gradient-blue);
            padding: 100px 0 80px;
            position: relative;
            overflow: hidden;
        }

        .hero::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: 
                radial-gradient(circle at 20% 50%, rgba(255,255,255,0.1) 0%, transparent 50%),
                radial-gradient(circle at 80% 80%, rgba(255,255,255,0.1) 0%, transparent 50%);
        }

        .hero .container {
            position: relative;
            z-index: 2;
            text-align: center;
        }

        .section-badge {
            display: inline-block;
            background: rgba(255,255,255,0.15);
            backdrop-filter: blur(10px);
            padding: 8px 20px;
            border-radius: 50px;
            color: var(--white);
            font-size: 14px;
            font-weight: 600;
            margin-bottom: 20px;
            border: 1px solid rgba(255,255,255,0.2);
            letter-spacing: 0.5px;
        }

        .hero h1 {
            font-size: 48px;
            font-weight: 800;
            color: var(--white);
            line-height: 1.2;
            margin-bottom: 20px;
            letter-spacing: -0.02em;
        }

        .hero-subtitle {
            font-size: 20px;
            color: rgba(255,255,255,0.95);
            margin-bottom: 0;
            line-height: 1.6;
            max-width: 700px;
            margin-left: auto;
            margin-right: auto;
        }

        /* ===== CATEGORIES TABS ===== */
        .categories {
            background: var(--white);
            padding: 50px 0 30px;
            border-bottom: 1px solid rgba(0,0,0,0.06);
        }

        .categories-tabs {
            display: flex;
            gap: 12px;
            justify-content: center;
            flex-wrap: wrap;
        }

        .category-tab {
            padding: 12px 24px;
            border-radius: 10px;
            background: var(--light-gray);
            color: var(--text-dark);
            font-weight: 600;
            font-size: 15px;
            cursor: pointer;
            transition: all 0.3s;
            border: 2px solid transparent;
        }

        .category-tab:hover {
            background: var(--main-blue);
            color: var(--white);
            transform: translateY(-2px);
        }

        .category-tab.active {
            background: var(--main-blue);
            color: var(--white);
            border-color: var(--main-blue);
        }

        /* ===== SERVICES GRID ===== */
        .services-section {
            padding: 60px 0 80px;
            background: var(--white);
        }

        .category-group {
            margin-bottom: 60px;
        }

        .category-header {
            text-align: center;
            margin-bottom: 40px;
        }

        .category-header h2 {
            font-size: 36px;
            font-weight: 700;
            color: var(--text-dark);
            margin-bottom: 12px;
        }

        .category-header p {
            font-size: 18px;
            color: var(--text-gray);
            max-width: 700px;
            margin: 0 auto;
        }

        .services-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
            gap: 30px;
        }

        .service-card {
            background: var(--white);
            padding: 32px;
            border-radius: 16px;
            box-shadow: var(--shadow-md);
            transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
            text-decoration: none;
            display: block;
            border: 2px solid transparent;
            position: relative;
            overflow: hidden;
        }

        .service-card::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            height: 4px;
            background: var(--gradient-blue);
            transform: scaleX(0);
            transition: transform 0.4s;
        }

        .service-card:hover {
            transform: translateY(-8px);
            box-shadow: var(--shadow-lg);
            border-color: var(--main-blue);
        }

        .service-card:hover::before {
            transform: scaleX(1);
        }

        .service-icon {
            width: 64px;
            height: 64px;
            background: var(--light-gray);
            border-radius: 14px;
            display: flex;
            align-items: center;
            justify-content: center;
            margin-bottom: 20px;
            transition: all 0.3s;
        }

        .service-card:hover .service-icon {
            background: var(--main-blue);
            color: var(--white);
            transform: scale(1.1);
        }

        .service-icon i {
            font-size: 28px;
            color: var(--main-blue);
            transition: color 0.3s;
        }

        .service-card:hover .service-icon i {
            color: var(--white);
        }

        .service-card h3 {
            font-size: 22px;
            font-weight: 700;
            color: var(--text-dark);
            margin-bottom: 12px;
            line-height: 1.3;
        }

        .service-card p {
            color: var(--text-gray);
            line-height: 1.6;
            margin-bottom: 20px;
            font-size: 15px;
        }

        .service-link {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            color: var(--main-blue);
            font-weight: 600;
            font-size: 15px;
            transition: gap 0.3s;
        }

        .service-card:hover .service-link {
            gap: 12px;
            color: var(--cta-orange);
        }

        /* ===== CTA SECTION ===== */
        .cta-section {
            background: var(--gradient-blue);
            padding: 80px 0;
            position: relative;
            overflow: hidden;
        }

        .cta-section::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: 
                radial-gradient(circle at 80% 20%, rgba(255,255,255,0.1) 0%, transparent 50%),
                radial-gradient(circle at 20% 80%, rgba(255,255,255,0.1) 0%, transparent 50%);
        }

        .cta-content {
            position: relative;
            z-index: 2;
            text-align: center;
            max-width: 700px;
            margin: 0 auto;
        }

        .cta-content h2 {
            font-size: 42px;
            font-weight: 800;
            color: var(--white);
            margin-bottom: 20px;
            line-height: 1.2;
        }

        .cta-content p {
            font-size: 18px;
            color: rgba(255,255,255,0.95);
            margin-bottom: 40px;
            line-height: 1.6;
        }

        .cta-buttons {
            display: flex;
            gap: 16px;
            justify-content: center;
            flex-wrap: wrap;
        }

        .btn-primary {
            background: var(--cta-orange);
            color: var(--white);
            padding: 16px 36px;
            border-radius: 12px;
            text-decoration: none;
            font-weight: 600;
            font-size: 16px;
            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
            box-shadow: 0 8px 24px rgba(235, 102, 42, 0.35);
            display: inline-flex;
            align-items: center;
            gap: 10px;
        }

        .btn-primary:hover {
            background: #d45924;
            transform: translateY(-3px);
            box-shadow: 0 12px 32px rgba(235, 102, 42, 0.45);
        }

        .btn-white {
            background: var(--white);
            color: var(--main-blue);
            padding: 16px 36px;
            border-radius: 12px;
            text-decoration: none;
            font-weight: 600;
            font-size: 16px;
            transition: all 0.3s;
            display: inline-flex;
            align-items: center;
            gap: 10px;
        }

        .btn-white:hover {
            transform: translateY(-3px);
            box-shadow: 0 12px 32px rgba(255,255,255,0.25);
        }

        /* ===== RESPONSIVE ===== */
        @media (max-width: 768px) {
            .hero h1 {
                font-size: 36px;
            }

            .hero-subtitle {
                font-size: 18px;
            }

            .category-header h2 {
                font-size: 28px;
            }

            .services-grid {
                grid-template-columns: 1fr;
            }

            .cta-content h2 {
                font-size: 32px;
            }

            .cta-buttons {
                flex-direction: column;
            }
        }

:root {
    --unfallversicherung-primary-blue: #0a5888;
    --unfallversicherung-cta-orange: #eb662a;
    --unfallversicherung-light-gray: #f8f9fa;
    --unfallversicherung-text-dark: #2c3e50;
    --unfallversicherung-text-gray: #6c757d;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* Verhindert Overflow bei allen Text-Elementen */
h1, h2, h3, h4, h5, h6, p, span, a, div {
    max-width: 100%;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

body {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    line-height: 1.7;
    color: var(--unfallversicherung-text-dark);
    overflow-x: hidden;
}

.unfallversicherung-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 16px;
    width: 100%;
}

/* Hero Section - Mobile First */
.unfallversicherung-hero {
    background: linear-gradient(135deg, var(--unfallversicherung-primary-blue) 0%, #084268 100%);
    color: white;
    padding: 60px 16px 50px;
    text-align: left;
    position: relative;
    overflow: hidden;
}

.unfallversicherung-hero::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url('data:image/svg+xml,<svg width="100" height="100" xmlns="http://www.w3.org/2000/svg"><defs><pattern id="grid" width="100" height="100" patternUnits="userSpaceOnUse"><path d="M 100 0 L 0 0 0 100" fill="none" stroke="rgba(255,255,255,0.05)" stroke-width="1"/></pattern></defs><rect width="100%" height="100%" fill="url(%23grid)"/></svg>');
    opacity: 0.3;
}

.unfallversicherung-hero-content {
    position: relative;
    z-index: 1;
    max-width: 1200px;
    margin: 0 auto;
}

.unfallversicherung-hero h1 {
    font-size: 1.75em;
    margin-bottom: 16px;
    font-weight: 700;
    line-height: 1.2;
    text-align: left;
}

.unfallversicherung-hero p {
    font-size: 1.1em;
    margin-bottom: 24px;
    opacity: 0.95;
    text-align: left;
}

.unfallversicherung-btn-primary {
    display: inline-block;
    padding: 14px 28px;
    background: var(--unfallversicherung-cta-orange);
    color: white;
    text-decoration: none;
    border-radius: 8px;
    font-weight: 600;
    font-size: 1em;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(235, 102, 42, 0.3);
    width: 100%;
    text-align: center;
}

.unfallversicherung-btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(235, 102, 42, 0.4);
}

/* Quick Info Box - Mobile First */
.unfallversicherung-quick-info {
    background: white;
    margin: -30px 16px 40px;
    padding: 24px;
    border-radius: 12px;
    box-shadow: 0 10px 40px rgba(0,0,0,0.1);
    position: relative;
    z-index: 2;
}

.unfallversicherung-quick-info h2 {
    color: var(--unfallversicherung-primary-blue);
    margin-bottom: 24px;
    font-size: 1.5em;
    text-align: left;
}

.unfallversicherung-info-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px;
    margin-top: 24px;
}

.unfallversicherung-info-item {
    text-align: left;
}

.unfallversicherung-info-icon {
    font-size: 2.5em;
    margin-bottom: 12px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    color: var(--unfallversicherung-primary-blue);
}

.unfallversicherung-info-icon svg {
    width: 40px;
    height: 40px;
}

.unfallversicherung-info-item strong {
    display: block;
    color: var(--unfallversicherung-primary-blue);
    margin-bottom: 6px;
    font-size: 1.05em;
    text-align: left;
}

.unfallversicherung-info-item p {
    text-align: left;
    color: var(--unfallversicherung-text-gray);
    font-size: 0.95em;
}

/* Table of Contents - Mobile First */
.unfallversicherung-toc {
    background: var(--unfallversicherung-light-gray);
    padding: 24px;
    border-radius: 8px;
    margin: 40px 16px;
    max-width: 1200px;
}

.unfallversicherung-toc h2 {
    color: var(--unfallversicherung-primary-blue);
    margin-bottom: 16px;
    font-size: 1.4em;
    text-align: left;
}

.unfallversicherung-toc ul {
    list-style: none;
}

.unfallversicherung-toc li {
    margin-bottom: 10px;
}

.unfallversicherung-toc a {
    color: var(--unfallversicherung-text-dark);
    text-decoration: none;
    transition: color 0.3s ease;
    display: flex;
    align-items: center;
    text-align: left;
}

.unfallversicherung-toc a:hover {
    color: var(--unfallversicherung-primary-blue);
}

.unfallversicherung-toc a::before {
    content: '→';
    margin-right: 10px;
    color: var(--unfallversicherung-cta-orange);
}

/* Content Sections - Mobile First */
.unfallversicherung-content-section {
    padding: 40px 16px;
    max-width: 1200px;
    margin: 0 auto;
}

.unfallversicherung-content-section h2 {
    color: var(--unfallversicherung-primary-blue);
    margin-bottom: 20px;
    font-size: 1.6em;
    text-align: left;
}

.unfallversicherung-content-section h3 {
    color: var(--unfallversicherung-primary-blue);
    margin-top: 32px;
    margin-bottom: 16px;
    font-size: 1.3em;
    text-align: left;
}

.unfallversicherung-content-section p {
    margin-bottom: 16px;
    line-height: 1.8;
    text-align: left;
}

.unfallversicherung-content-section ul,
.unfallversicherung-content-section ol {
    margin-bottom: 16px;
    padding-left: 24px;
}

.unfallversicherung-content-section li {
    margin-bottom: 10px;
    line-height: 1.7;
    text-align: left;
}

/* Highlight Box - Mobile First */
.unfallversicherung-highlight-box {
    background: linear-gradient(135deg, var(--unfallversicherung-primary-blue) 0%, #084268 100%);
    color: white;
    padding: 24px;
    border-radius: 8px;
    margin: 32px 0;
    box-shadow: 0 4px 20px rgba(10, 88, 136, 0.2);
}

.unfallversicherung-highlight-box h3 {
    color: white;
    margin-bottom: 16px;
    font-size: 1.3em;
    text-align: left;
}

.unfallversicherung-highlight-box p {
    margin-bottom: 12px;
    opacity: 0.95;
    text-align: left;
}

.unfallversicherung-highlight-box ul {
    list-style: none;
    padding-left: 0;
}

.unfallversicherung-highlight-box li {
    padding-left: 28px;
    position: relative;
    margin-bottom: 10px;
    text-align: left;
}

.unfallversicherung-highlight-box li::before {
    content: '✓';
    position: absolute;
    left: 0;
    color: var(--unfallversicherung-cta-orange);
    font-weight: bold;
    font-size: 1.2em;
}

/* Warning Box - Mobile First */
.unfallversicherung-warning-box {
    background: #fff3cd;
    border-left: 4px solid var(--unfallversicherung-cta-orange);
    padding: 20px;
    margin: 24px 0;
    border-radius: 4px;
}

.unfallversicherung-warning-box strong {
    color: var(--unfallversicherung-cta-orange);
    display: block;
    margin-bottom: 10px;
    text-align: left;
}

.unfallversicherung-warning-box p {
    text-align: left;
}

/* Tables - Mobile First with Horizontal Scroll */
.unfallversicherung-table-wrapper {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin: 24px 0;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.unfallversicherung-table {
    width: 100%;
    min-width: 600px;
    border-collapse: collapse;
    background: white;
}

.unfallversicherung-table thead {
    background: var(--unfallversicherung-primary-blue);
    color: white;
}

.unfallversicherung-table th {
    padding: 16px;
    text-align: left;
    font-weight: 600;
    border-bottom: 2px solid var(--unfallversicherung-cta-orange);
}

.unfallversicherung-table td {
    padding: 14px 16px;
    border-bottom: 1px solid #e9ecef;
    text-align: left;
}

.unfallversicherung-table tbody tr:hover {
    background: var(--unfallversicherung-light-gray);
}

.unfallversicherung-table tbody tr:last-child td {
    border-bottom: none;
}

/* Feature Grid - Mobile First */
.unfallversicherung-feature-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
    margin: 32px 0;
}

.unfallversicherung-feature-card {
    background: white;
    padding: 24px;
    border-radius: 8px;
    border: 2px solid var(--unfallversicherung-light-gray);
    transition: all 0.3s ease;
}

.unfallversicherung-feature-card:hover {
    border-color: var(--unfallversicherung-primary-blue);
    box-shadow: 0 4px 15px rgba(10, 88, 136, 0.1);
}

.unfallversicherung-feature-icon {
    width: 50px;
    height: 50px;
    background: var(--unfallversicherung-light-gray);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 16px;
    color: var(--unfallversicherung-primary-blue);
}

.unfallversicherung-feature-card h3 {
    color: var(--unfallversicherung-primary-blue);
    margin-bottom: 12px;
    margin-top: 0;
    font-size: 1.2em;
    text-align: left;
}

.unfallversicherung-feature-card p {
    color: var(--unfallversicherung-text-gray);
    margin-bottom: 0;
    text-align: left;
}

/* Section Header - Mobile First */
.unfallversicherung-section-header {
    text-align: left;
    margin-bottom: 32px;
}

.unfallversicherung-section-header h2 {
    color: var(--unfallversicherung-primary-blue);
    font-size: 1.6em;
    margin-bottom: 12px;
    text-align: left;
}

.unfallversicherung-section-header p {
    color: var(--unfallversicherung-text-gray);
    font-size: 1.05em;
    text-align: left;
}

/* FAQ Section - Mobile First */
.unfallversicherung-faq-section {
    max-width: 900px;
    margin: 0 auto;
}

.unfallversicherung-faq-item {
    background: white;
    border: 1px solid #e9ecef;
    border-radius: 8px;
    margin-bottom: 16px;
    overflow: hidden;
    transition: all 0.3s ease;
}

.unfallversicherung-faq-item:hover {
    box-shadow: 0 4px 12px rgba(0,0,0,0.08);
}

.unfallversicherung-faq-question {
    padding: 20px;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    font-weight: 600;
    color: var(--unfallversicherung-primary-blue);
    text-align: left;
    user-select: none;
}

.unfallversicherung-faq-question svg {
    flex-shrink: 0;
    transition: transform 0.3s ease;
    color: var(--unfallversicherung-cta-orange);
}

.unfallversicherung-faq-item.active .unfallversicherung-faq-question svg {
    transform: rotate(180deg);
}

.unfallversicherung-faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
}

.unfallversicherung-faq-item.active .unfallversicherung-faq-answer {
    max-height: 500px;
}

.unfallversicherung-faq-answer p {
    padding: 0 20px 20px;
    color: var(--unfallversicherung-text-gray);
    line-height: 1.7;
    text-align: left;
}

/* CTA Section - Mobile First */
.unfallversicherung-cta-section {
    background: linear-gradient(135deg, var(--unfallversicherung-primary-blue) 0%, #084268 100%);
    color: white;
    padding: 50px 16px;
    text-align: left;
}

.unfallversicherung-cta-content {
    max-width: 900px;
    margin: 0 auto;
}

.unfallversicherung-cta-content h2 {
    font-size: 1.6em;
    margin-bottom: 16px;
    text-align: left;
}

.unfallversicherung-cta-content p {
    font-size: 1.1em;
    margin-bottom: 24px;
    opacity: 0.95;
    text-align: left;
}

.unfallversicherung-cta-buttons {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-top: 24px;
}

.unfallversicherung-cta-buttons a {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 16px 32px;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 600;
    transition: all 0.3s ease;
    text-align: center;
}

.unfallversicherung-cta-buttons .unfallversicherung-btn-primary {
    background: var(--unfallversicherung-cta-orange);
    color: white;
    box-shadow: 0 4px 15px rgba(235, 102, 42, 0.3);
}

.unfallversicherung-cta-buttons .unfallversicherung-btn-secondary {
    background: rgba(255,255,255,0.2);
    border: 2px solid white;
    color: white;
}

.unfallversicherung-cta-buttons a:hover {
    transform: translateY(-2px);
}

/* Images - Mobile First */
.unfallversicherung-image {
    width: 100%;
    height: auto;
    border-radius: 8px;
    margin: 24px 0;
    display: block;
}

.unfallversicherung-image-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
    margin: 24px 0;
}

.unfallversicherung-image-grid img {
    width: 100%;
    height: 200px;
    object-fit: cover;
    border-radius: 8px;
}

/* Stats Box - Mobile First */
.unfallversicherung-stats-box {
    background: var(--unfallversicherung-light-gray);
    padding: 24px;
    border-radius: 8px;
    margin: 32px 0;
}

.unfallversicherung-stats-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
}

.unfallversicherung-stat-item {
    text-align: left;
}

.unfallversicherung-stat-number {
    font-size: 2em;
    font-weight: 700;
    color: var(--unfallversicherung-primary-blue);
    display: block;
    margin-bottom: 8px;
}

.unfallversicherung-stat-label {
    color: var(--unfallversicherung-text-gray);
    font-size: 0.95em;
}

/* Responsive Breakpoints - Tablet */
@media (min-width: 768px) {
    .unfallversicherung-container {
        padding: 0 32px;
    }

    .unfallversicherung-hero {
        padding: 80px 32px 60px;
    }

    .unfallversicherung-hero h1 {
        font-size: 2.5em;
    }

    .unfallversicherung-hero p {
        font-size: 1.2em;
    }

    .unfallversicherung-btn-primary {
        width: auto;
    }

    .unfallversicherung-quick-info {
        margin: -50px 32px 50px;
        padding: 32px;
    }

    .unfallversicherung-info-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 30px;
    }

    .unfallversicherung-toc {
        margin: 50px 32px;
        padding: 32px;
    }

    .unfallversicherung-content-section {
        padding: 50px 32px;
    }

    .unfallversicherung-feature-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 24px;
    }

    .unfallversicherung-stats-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .unfallversicherung-image-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }

    .unfallversicherung-cta-buttons {
        flex-direction: row;
        justify-content: center;
    }

    .unfallversicherung-cta-section {
        padding: 60px 32px;
        text-align: center;
    }

    .unfallversicherung-cta-content h2,
    .unfallversicherung-cta-content p {
        text-align: center;
    }
}

/* Responsive Breakpoints - Desktop */
@media (min-width: 1024px) {
    .unfallversicherung-hero {
        padding: 100px 40px 80px;
    }

    .unfallversicherung-hero h1 {
        font-size: 3em;
    }

    .unfallversicherung-hero p {
        font-size: 1.3em;
    }

    .unfallversicherung-quick-info {
        margin: -50px auto 60px;
        max-width: 1000px;
        padding: 40px;
    }

    .unfallversicherung-info-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .unfallversicherung-toc {
        margin: 60px auto;
        padding: 30px;
        max-width: 1200px;
    }

    .unfallversicherung-content-section {
        padding: 60px 40px;
    }

    .unfallversicherung-content-section h2 {
        font-size: 1.8em;
    }

    .unfallversicherung-content-section h3 {
        font-size: 1.4em;
    }

    .unfallversicherung-feature-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .unfallversicherung-stats-grid {
        grid-template-columns: repeat(4, 1fr);
    }

    .unfallversicherung-image-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

:root {
    --primary-blue: #0a5888;
    --cta-orange: #eb662a;
    --light-gray: #f8f9fa;
    --text-dark: #2c3e50;
    --border-light: #e1e8ed;
}

body {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    line-height: 1.6;
    color: var(--text-dark);
}

.wohngebaeude-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

.wohngebaeude-hero {
    background: linear-gradient(135deg, var(--primary-blue) 0%, #084a73 100%);
    color: white;
    padding: 80px 20px 60px;
    text-align: center;
}

.wohngebaeude-hero-title {
    font-size: 2.5rem;
    margin-bottom: 20px;
    font-weight: 700;
    /* Worttrennung für lange deutsche Wörter */
    hyphens: auto;
    -webkit-hyphens: auto;
    -ms-hyphens: auto;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

.wohngebaeude-hero-subtitle {
    font-size: 1.2rem;
    margin-bottom: 30px;
    opacity: 0.95;
}

.wohngebaeude-cta-button {
    display: inline-block;
    background: var(--cta-orange);
    color: white;
    padding: 16px 40px;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 600;
    font-size: 1.1rem;
    transition: all 0.3s;
    box-shadow: 0 4px 15px rgba(235, 102, 42, 0.3);
}

.wohngebaeude-cta-button:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(235, 102, 42, 0.4);
}

.wohngebaeude-quick-info {
    background: white;
    margin: 60px auto 60px;
    max-width: 1100px;
    border-radius: 16px;
    box-shadow: 0 10px 40px rgba(0,0,0,0.1);
    padding: 40px;
}

.wohngebaeude-quick-info-title {
    color: var(--primary-blue);
    font-size: 1.8rem;
    margin-bottom: 30px;
    text-align: center;
}

.wohngebaeude-info-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 30px;
}

.wohngebaeude-info-item {
    text-align: center;
    padding: 20px;
}

.wohngebaeude-info-icon {
    font-size: 3rem;
    display: block;
    margin-bottom: 15px;
    color: var(--primary-blue);
}

.wohngebaeude-info-item strong {
    display: block;
    color: var(--primary-blue);
    font-size: 1.1rem;
    margin-bottom: 8px;
}

.wohngebaeude-toc {
    background: var(--light-gray);
    border-left: 4px solid var(--primary-blue);
    padding: 30px;
    margin: 60px 0;
    border-radius: 8px;
}

.wohngebaeude-toc-title {
    color: var(--primary-blue);
    font-size: 1.5rem;
    margin-bottom: 20px;
}

.wohngebaeude-toc-list {
    list-style: none;
    counter-reset: toc-counter;
}

.wohngebaeude-toc-item {
    counter-increment: toc-counter;
    margin-bottom: 12px;
}

.wohngebaeude-toc-link {
    color: var(--text-dark);
    text-decoration: none;
    display: block;
    padding: 8px 0;
    transition: color 0.3s;
}

.wohngebaeude-toc-link:hover {
    color: var(--primary-blue);
}

.wohngebaeude-toc-link::before {
    content: counter(toc-counter) ". ";
    color: var(--primary-blue);
    font-weight: 600;
    margin-right: 8px;
}

.wohngebaeude-content-section {
    margin: 60px 0;
}

.wohngebaeude-section-title {
    color: var(--primary-blue);
    font-size: 2rem;
    margin-bottom: 25px;
    padding-bottom: 15px;
    border-bottom: 3px solid var(--cta-orange);
}

.wohngebaeude-section-subtitle {
    color: var(--primary-blue);
    font-size: 1.5rem;
    margin: 30px 0 15px;
}

.wohngebaeude-section-heading {
    color: var(--primary-blue);
    font-size: 1.2rem;
    margin: 25px 0 12px;
}

.wohngebaeude-text {
    margin-bottom: 20px;
    font-size: 1.05rem;
    line-height: 1.8;
}

.wohngebaeude-list {
    margin: 20px 0 20px 25px;
    line-height: 1.9;
}

.wohngebaeude-list-item {
    margin-bottom: 12px;
    font-size: 1.05rem;
}

.wohngebaeude-list-item strong {
    color: var(--primary-blue);
}

.wohngebaeude-highlight-box {
    background: linear-gradient(135deg, #fff7ed 0%, #ffedd5 100%);
    border-left: 5px solid var(--cta-orange);
    padding: 25px;
    margin: 30px 0;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.05);
}

.wohngebaeude-highlight-box strong {
    color: var(--cta-orange);
    font-size: 1.15rem;
    display: block;
    margin-bottom: 10px;
}

.wohngebaeude-highlight-box i {
    margin-right: 10px;
}

.wohngebaeude-warning-box {
    background: #fef2f2;
    border-left: 5px solid #dc2626;
    padding: 25px;
    margin: 30px 0;
    border-radius: 8px;
}

.wohngebaeude-warning-box strong {
    color: #dc2626;
    display: block;
    margin-bottom: 10px;
    font-size: 1.15rem;
}

.wohngebaeude-comparison-table {
    width: 100%;
    border-collapse: collapse;
    margin: 30px 0;
    background: white;
    box-shadow: 0 2px 10px rgba(0,0,0,0.08);
    border-radius: 8px;
    overflow: hidden;
}

.wohngebaeude-table-header {
    background: var(--primary-blue);
    color: white;
    font-weight: 600;
}

.wohngebaeude-table-header th {
    padding: 18px 15px;
    text-align: left;
    font-size: 1rem;
}

.wohngebaeude-table-row {
    border-bottom: 1px solid var(--border-light);
}

.wohngebaeude-table-row:last-child {
    border-bottom: none;
}

.wohngebaeude-table-row:nth-child(even) {
    background: var(--light-gray);
}

.wohngebaeude-table-cell {
    padding: 15px;
    font-size: 1rem;
}

.wohngebaeude-table-cell strong {
    color: var(--primary-blue);
}

.wohngebaeude-table-cell i.fa-check {
    color: #10b981;
    font-size: 1.2rem;
}

.wohngebaeude-table-cell i.fa-times {
    color: #dc2626;
    font-size: 1.2rem;
}

.wohngebaeude-faq-section {
    background: var(--light-gray);
    padding: 60px 20px;
    margin: 60px 0;
}

.wohngebaeude-faq-title {
    color: var(--primary-blue);
    font-size: 2rem;
    text-align: center;
    margin-bottom: 40px;
    padding-bottom: 20px;
    border-bottom: 3px solid var(--cta-orange);
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
}

.wohngebaeude-faq-container {
    max-width: 1000px;
    margin: 0 auto;
}

.wohngebaeude-faq-item {
    background: white;
    margin-bottom: 15px;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
    transition: all 0.3s;
}

.wohngebaeude-faq-item:hover {
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

.wohngebaeude-faq-question {
    padding: 20px 25px;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: white;
    transition: background 0.3s;
}

.wohngebaeude-faq-question:hover {
    background: #f9fafb;
}

.wohngebaeude-faq-question h3 {
    color: var(--primary-blue);
    font-size: 1.15rem;
    font-weight: 600;
    margin: 0;
    padding-right: 20px;
    flex: 1;
}

.wohngebaeude-faq-toggle {
    font-size: 1.5rem;
    color: var(--cta-orange);
    font-weight: 700;
    transition: transform 0.3s;
    flex-shrink: 0;
    width: 30px;
    text-align: center;
}

.wohngebaeude-faq-item.active .wohngebaeude-faq-toggle {
    transform: rotate(45deg);
}

.wohngebaeude-faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease-out, padding 0.4s ease-out;
    padding: 0 25px;
}

.wohngebaeude-faq-item.active .wohngebaeude-faq-answer {
    max-height: 800px;
    padding: 0 25px 25px 25px;
}

.wohngebaeude-faq-answer p {
    color: var(--text-dark);
    font-size: 1.05rem;
    line-height: 1.8;
    margin: 0;
}

.wohngebaeude-final-cta {
    background: linear-gradient(135deg, var(--primary-blue) 0%, #084a73 100%);
    color: white;
    padding: 80px 20px;
    text-align: center;
}

.wohngebaeude-final-cta-title {
    font-size: 2.5rem;
    margin-bottom: 15px;
    font-weight: 700;
}

.wohngebaeude-final-cta-text {
    font-size: 1.2rem;
    margin-bottom: 35px;
    opacity: 0.95;
}

.wohngebaeude-cta-buttons {
    display: flex;
    gap: 20px;
    justify-content: center;
    flex-wrap: wrap;
    margin-bottom: 20px;
}

.wohngebaeude-btn-secondary {
    display: inline-block;
    background: white;
    color: var(--primary-blue);
    padding: 16px 40px;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 600;
    font-size: 1.1rem;
    transition: all 0.3s;
    box-shadow: 0 4px 15px rgba(255,255,255,0.2);
}

.wohngebaeude-btn-secondary:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(255,255,255,0.3);
}

.wohngebaeude-cta-note {
    margin-top: 20px;
    font-size: 0.95rem;
    opacity: 0.9;
}

/* Mobile Optimierungen */
@media (max-width: 768px) {
    .wohngebaeude-hero-title {
        font-size: 1.8rem;
        /* Verstärkte Worttrennung auf Mobile */
        hyphens: auto;
        -webkit-hyphens: auto;
        -ms-hyphens: auto;
    }
    
    .wohngebaeude-hero-subtitle {
        font-size: 1rem;
    }
    
    .wohngebaeude-cta-button {
        padding: 14px 30px;
        font-size: 1rem;
        width: 100%;
        max-width: 300px;
    }
    
    .wohngebaeude-quick-info {
        padding: 25px 20px;
        margin: 60px 20px 40px;
    }
    
    .wohngebaeude-quick-info-title {
        font-size: 1.4rem;
    }
    
    .wohngebaeude-info-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    
    .wohngebaeude-info-icon {
        font-size: 2.5rem;
    }
    
    .wohngebaeude-toc {
        padding: 20px;
    }
    
    .wohngebaeude-toc-title {
        font-size: 1.3rem;
    }
    
    .wohngebaeude-section-title {
        font-size: 1.5rem;
        word-wrap: break-word;
        overflow-wrap: break-word;
        hyphens: auto;
    }
    
    .wohngebaeude-section-subtitle {
        font-size: 1.2rem;
    }
    
    .wohngebaeude-section-heading {
        font-size: 1.1rem;
    }
    
    .wohngebaeude-text,
    .wohngebaeude-list-item {
        font-size: 1rem;
    }
    
    .wohngebaeude-comparison-table {
        font-size: 0.9rem;
    }
    
    .wohngebaeude-table-header th,
    .wohngebaeude-table-cell {
        padding: 12px 10px;
        font-size: 0.9rem;
    }
    
    /* Tabelle horizontal scrollbar auf Mobile */
    .wohngebaeude-table-wrapper {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
    
    .wohngebaeude-highlight-box,
    .wohngebaeude-warning-box {
        padding: 20px 15px;
        margin: 20px 0;
    }
    
    .wohngebaeude-faq-section {
        padding: 40px 15px;
    }
    
    .wohngebaeude-faq-title {
        font-size: 1.5rem;
    }
    
    .wohngebaeude-faq-question {
        padding: 15px 18px;
    }
    
    .wohngebaeude-faq-question h3 {
        font-size: 1rem;
    }
    
    .wohngebaeude-faq-answer {
        padding: 0 18px;
    }
    
    .wohngebaeude-faq-item.active .wohngebaeude-faq-answer {
        padding: 0 18px 18px 18px;
    }
    
    .wohngebaeude-final-cta {
        padding: 50px 20px;
    }
    
    .wohngebaeude-final-cta-title {
        font-size: 1.8rem;
    }
    
    .wohngebaeude-final-cta-text {
        font-size: 1rem;
    }
    
    .wohngebaeude-cta-buttons {
        flex-direction: column;
        align-items: center;
    }
    
    .wohngebaeude-btn-secondary {
        width: 100%;
        max-width: 300px;
    }
}

@media (max-width: 480px) {
    .wohngebaeude-hero {
        padding: 60px 15px 50px;
    }
    
    .wohngebaeude-hero-title {
        font-size: 1.5rem;
    }
    
    .wohngebaeude-container {
        padding: 0 15px;
    }
    
    .wohngebaeude-comparison-table {
        font-size: 0.85rem;
    }
    
    .wohngebaeude-table-header th,
    .wohngebaeude-table-cell {
        padding: 10px 8px;
        font-size: 0.85rem;
    }
}

:root {
    --rlv-primary-blue: #0a5888;
    --rlv-cta-orange: #eb662a;
    --rlv-light-gray: #f8f9fa;
    --rlv-text-dark: #2c3e50;
    --rlv-text-gray: #6c757d;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    line-height: 1.7;
    color: var(--rlv-text-dark);
}

/* Container - Mobile First */
.rlv-container {
    width: 100%;
    padding: 0 16px;
    margin: 0 auto;
}

@media (min-width: 768px) {
    .rlv-container {
        padding: 0 32px;
    }
}

@media (min-width: 1024px) {
    .rlv-container {
        max-width: 1200px;
        padding: 0 20px;
    }
}

/* Hero Section - Mobile First */
.rlv-hero {
    background: linear-gradient(135deg, var(--rlv-primary-blue) 0%, #084268 100%);
    color: white;
    padding: 60px 16px 50px;
    position: relative;
    overflow: hidden;
}

@media (min-width: 768px) {
    .rlv-hero {
        padding: 80px 32px 70px;
    }
}

@media (min-width: 1024px) {
    .rlv-hero {
        padding: 100px 20px 80px;
    }
}

.rlv-hero::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url('data:image/svg+xml,<svg width="100" height="100" xmlns="http://www.w3.org/2000/svg"><defs><pattern id="grid" width="100" height="100" patternUnits="userSpaceOnUse"><path d="M 100 0 L 0 0 0 100" fill="none" stroke="rgba(255,255,255,0.05)" stroke-width="1"/></pattern></defs><rect width="100%" height="100%" fill="url(%23grid)"/></svg>');
    opacity: 0.3;
}

.rlv-hero-content {
    position: relative;
    z-index: 1;
    text-align: left;
    max-width: 1200px;
    margin: 0 auto;
}

@media (min-width: 768px) {
    .rlv-hero-content {
        text-align: center;
    }
}

.rlv-hero-title {
    font-size: 1.8em;
    margin-bottom: 16px;
    font-weight: 700;
    line-height: 1.2;
    text-align: left;
}

@media (min-width: 768px) {
    .rlv-hero-title {
        font-size: 2.5em;
        text-align: center;
    }
}

@media (min-width: 1024px) {
    .rlv-hero-title {
        font-size: 3em;
        margin-bottom: 20px;
    }
}

.rlv-hero-subtitle {
    font-size: 1.1em;
    margin-bottom: 24px;
    opacity: 0.95;
    text-align: left;
}

@media (min-width: 768px) {
    .rlv-hero-subtitle {
        font-size: 1.2em;
        text-align: center;
    }
}

@media (min-width: 1024px) {
    .rlv-hero-subtitle {
        font-size: 1.3em;
        margin-bottom: 30px;
    }
}

.rlv-btn-primary {
    display: inline-block;
    padding: 14px 28px;
    background: var(--rlv-cta-orange);
    color: white;
    text-decoration: none;
    border-radius: 8px;
    font-weight: 600;
    font-size: 1em;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(235, 102, 42, 0.3);
    width: 100%;
    text-align: center;
}

@media (min-width: 768px) {
    .rlv-btn-primary {
        width: auto;
        padding: 16px 40px;
        font-size: 1.1em;
    }
}

.rlv-btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(235, 102, 42, 0.4);
}

/* Quick Info Box - Mobile First */
.rlv-quick-info {
    background: white;
    margin: -30px 16px 40px;
    padding: 24px 16px;
    border-radius: 12px;
    box-shadow: 0 10px 40px rgba(0,0,0,0.1);
    position: relative;
    z-index: 2;
}

@media (min-width: 768px) {
    .rlv-quick-info {
        margin: -50px 32px 50px;
        padding: 32px;
    }
}

@media (min-width: 1024px) {
    .rlv-quick-info {
        margin: -50px auto 60px;
        max-width: 1000px;
        padding: 40px;
    }
}

.rlv-quick-info-title {
    color: var(--rlv-primary-blue);
    margin-bottom: 24px;
    font-size: 1.4em;
    text-align: left;
}

@media (min-width: 768px) {
    .rlv-quick-info-title {
        font-size: 1.6em;
        text-align: center;
        margin-bottom: 30px;
    }
}

@media (min-width: 1024px) {
    .rlv-quick-info-title {
        font-size: 1.8em;
    }
}

.rlv-info-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px;
}

@media (min-width: 768px) {
    .rlv-info-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 28px;
    }
}

@media (min-width: 1024px) {
    .rlv-info-grid {
        grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
        gap: 30px;
    }
}

.rlv-info-item {
    text-align: left;
}

@media (min-width: 768px) {
    .rlv-info-item {
        text-align: center;
    }
}

.rlv-info-icon {
    font-size: 2.5em;
    margin-bottom: 12px;
    display: block;
}

@media (min-width: 1024px) {
    .rlv-info-icon {
        font-size: 3em;
        margin-bottom: 15px;
    }
}

.rlv-info-item-title {
    display: block;
    color: var(--rlv-primary-blue);
    margin-bottom: 6px;
    font-size: 1.05em;
    font-weight: 600;
}

@media (min-width: 1024px) {
    .rlv-info-item-title {
        font-size: 1.1em;
        margin-bottom: 8px;
    }
}

/* Table of Contents - Mobile First */
.rlv-toc {
    background: var(--rlv-light-gray);
    padding: 24px 16px;
    border-radius: 8px;
    margin: 40px 0;
}

@media (min-width: 768px) {
    .rlv-toc {
        padding: 28px 24px;
        margin: 50px 0;
    }
}

@media (min-width: 1024px) {
    .rlv-toc {
        padding: 30px;
        margin: 60px 0;
    }
}

.rlv-toc-title {
    color: var(--rlv-primary-blue);
    margin-bottom: 16px;
    font-size: 1.3em;
    text-align: left;
}

@media (min-width: 768px) {
    .rlv-toc-title {
        font-size: 1.5em;
        margin-bottom: 18px;
    }
}

@media (min-width: 1024px) {
    .rlv-toc-title {
        font-size: 1.6em;
        margin-bottom: 20px;
    }
}

.rlv-toc-list {
    list-style: none;
}

.rlv-toc-item {
    margin-bottom: 10px;
}

@media (min-width: 1024px) {
    .rlv-toc-item {
        margin-bottom: 12px;
    }
}

.rlv-toc-link {
    color: var(--rlv-text-dark);
    text-decoration: none;
    transition: color 0.3s ease;
    display: flex;
    align-items: center;
    font-size: 0.95em;
}

@media (min-width: 1024px) {
    .rlv-toc-link {
        font-size: 1em;
    }
}

.rlv-toc-link:hover {
    color: var(--rlv-primary-blue);
}

.rlv-toc-link i {
    margin-right: 10px;
    color: var(--rlv-cta-orange);
    min-width: 20px;
}

/* Content Sections - Mobile First */
.rlv-content-section {
    padding: 20px 16px;
}

@media (min-width: 768px) {
    .rlv-content-section {
        padding: 20px 32px;
    }
}

@media (min-width: 1024px) {
    .rlv-content-section {
        padding: 20px 20px;
    }
}

.rlv-content-section-gray {
    background: var(--rlv-light-gray);
}

.rlv-section-header {
    text-align: left;
    margin-bottom: 32px;
}

@media (min-width: 768px) {
    .rlv-section-header {
        text-align: center;
        margin-bottom: 40px;
    }
}

@media (min-width: 1024px) {
    .rlv-section-header {
        margin-bottom: 50px;
    }
}

.rlv-section-title {
    color: var(--rlv-primary-blue);
    margin-bottom: 12px;
    font-size: 1.6em;
    font-weight: 700;
    text-align: left;
}

@media (min-width: 768px) {
    .rlv-section-title {
        font-size: 2em;
        text-align: center;
        margin-bottom: 16px;
    }
}

@media (min-width: 1024px) {
    .rlv-section-title {
        font-size: 2.2em;
    }
}

.rlv-section-subtitle {
    color: var(--rlv-text-gray);
    font-size: 1.05em;
    text-align: left;
}

@media (min-width: 768px) {
    .rlv-section-subtitle {
        font-size: 1.1em;
        text-align: center;
    }
}

@media (min-width: 1024px) {
    .rlv-section-subtitle {
        font-size: 1.15em;
    }
}

.rlv-content-text {
    max-width: 800px;
    margin: 0 auto;
    text-align: left;
}

.rlv-content-text p {
    margin-bottom: 16px;
}

@media (min-width: 1024px) {
    .rlv-content-text p {
        margin-bottom: 20px;
    }
}

.rlv-content-text h3 {
    color: var(--rlv-primary-blue);
    margin-top: 28px;
    margin-bottom: 14px;
    font-size: 1.3em;
    text-align: left;
}

@media (min-width: 768px) {
    .rlv-content-text h3 {
        font-size: 1.4em;
        margin-top: 32px;
        margin-bottom: 16px;
    }
}

@media (min-width: 1024px) {
    .rlv-content-text h3 {
        font-size: 1.5em;
        margin-top: 36px;
    }
}

.rlv-content-text ul {
    margin: 16px 0;
    padding-left: 24px;
}

@media (min-width: 1024px) {
    .rlv-content-text ul {
        margin: 20px 0;
    }
}

.rlv-content-text li {
    margin-bottom: 10px;
}

@media (min-width: 1024px) {
    .rlv-content-text li {
        margin-bottom: 12px;
    }
}

/* Table Container - Mobile First with Scroll */
.rlv-table-container {
    overflow-x: auto;
    margin: 24px 0;
    -webkit-overflow-scrolling: touch;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

@media (min-width: 1024px) {
    .rlv-table-container {
        margin: 30px 0;
    }
}

.rlv-table {
    width: 100%;
    min-width: 600px;
    border-collapse: collapse;
    background: white;
}

.rlv-table th,
.rlv-table td {
    padding: 12px;
    text-align: left;
    border-bottom: 1px solid #e9ecef;
}

@media (min-width: 768px) {
    .rlv-table th,
    .rlv-table td {
        padding: 14px;
    }
}

@media (min-width: 1024px) {
    .rlv-table th,
    .rlv-table td {
        padding: 16px;
    }
}

.rlv-table th {
    background: var(--rlv-primary-blue);
    color: white;
    font-weight: 600;
    font-size: 0.95em;
}

@media (min-width: 1024px) {
    .rlv-table th {
        font-size: 1em;
    }
}

.rlv-table tbody tr:hover {
    background: var(--rlv-light-gray);
}

/* Feature Cards - Mobile First */
.rlv-features-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
    margin-top: 32px;
}

@media (min-width: 768px) {
    .rlv-features-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 24px;
    }
}

@media (min-width: 1024px) {
    .rlv-features-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 30px;
        margin-top: 40px;
    }
}

.rlv-feature-card {
    background: white;
    padding: 24px;
    border-radius: 12px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.08);
    transition: all 0.3s ease;
    text-align: left;
}

@media (min-width: 768px) {
    .rlv-feature-card {
        text-align: center;
    }
}

@media (min-width: 1024px) {
    .rlv-feature-card {
        padding: 28px;
    }
}

.rlv-feature-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 30px rgba(0,0,0,0.12);
}

.rlv-feature-icon {
    font-size: 2.5em;
    color: var(--rlv-cta-orange);
    margin-bottom: 16px;
    display: block;
}

@media (min-width: 1024px) {
    .rlv-feature-icon {
        font-size: 3em;
        margin-bottom: 20px;
    }
}

.rlv-feature-card h3 {
    color: var(--rlv-primary-blue);
    margin-bottom: 12px;
    font-size: 1.2em;
    text-align: left;
}

@media (min-width: 768px) {
    .rlv-feature-card h3 {
        text-align: center;
    }
}

@media (min-width: 1024px) {
    .rlv-feature-card h3 {
        font-size: 1.3em;
        margin-bottom: 15px;
    }
}

.rlv-feature-card p {
    color: var(--rlv-text-gray);
    line-height: 1.6;
    text-align: left;
    font-size: 0.95em;
}

@media (min-width: 768px) {
    .rlv-feature-card p {
        text-align: center;
    }
}

@media (min-width: 1024px) {
    .rlv-feature-card p {
        font-size: 1em;
    }
}

/* Benefits Section - Mobile First */
.rlv-benefits {
    background: white;
    padding: 32px;
    border-radius: 12px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.08);
    margin: 32px 0;
}

@media (min-width: 1024px) {
    .rlv-benefits {
        margin: 40px 0;
    }
}

.rlv-benefits-title {
    color: var(--rlv-primary-blue);
    margin-bottom: 20px;
    font-size: 1.4em;
    text-align: left;
}

@media (min-width: 768px) {
    .rlv-benefits-title {
        font-size: 1.6em;
        margin-bottom: 24px;
    }
}

@media (min-width: 1024px) {
    .rlv-benefits-title {
        font-size: 1.7em;
    }
}

.rlv-benefits-list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
}

@media (min-width: 768px) {
    .rlv-benefits-list {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }
}

@media (min-width: 1024px) {
    .rlv-benefits-list {
        gap: 24px;
    }
}

.rlv-benefit-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    text-align: left;
}

@media (min-width: 1024px) {
    .rlv-benefit-item {
        gap: 16px;
    }
}

.rlv-benefit-item i {
    color: var(--rlv-cta-orange);
    font-size: 1.3em;
    margin-top: 3px;
    min-width: 24px;
}

.rlv-benefit-item span {
    flex: 1;
    font-size: 0.95em;
}

@media (min-width: 1024px) {
    .rlv-benefit-item span {
        font-size: 1em;
    }
}

/* FAQ Section - Mobile First */
.rlv-faq-section {
    max-width: 900px;
    margin: 0 auto;
}

.rlv-faq-item {
    background: white;
    border-radius: 8px;
    margin-bottom: 16px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    overflow: hidden;
}

@media (min-width: 1024px) {
    .rlv-faq-item {
        margin-bottom: 20px;
    }
}

.rlv-faq-question {
    padding: 16px;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-weight: 600;
    color: var(--rlv-primary-blue);
    transition: background 0.3s ease;
    text-align: left;
    font-size: 0.95em;
}

@media (min-width: 768px) {
    .rlv-faq-question {
        padding: 18px 20px;
        font-size: 1em;
    }
}

@media (min-width: 1024px) {
    .rlv-faq-question {
        padding: 20px 24px;
        font-size: 1.05em;
    }
}

.rlv-faq-question:hover {
    background: var(--rlv-light-gray);
}

.rlv-faq-question i {
    color: var(--rlv-cta-orange);
    transition: transform 0.3s ease;
    font-size: 0.9em;
    min-width: 20px;
    text-align: right;
}

.rlv-faq-item.active .rlv-faq-question i {
    transform: rotate(180deg);
}

.rlv-faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
}

.rlv-faq-item.active .rlv-faq-answer {
    max-height: 1000px;
}

.rlv-faq-answer p {
    padding: 0 16px 20px;
    color: var(--rlv-text-gray);
    line-height: 1.7;
    text-align: left;
    font-size: 0.95em;
}

@media (min-width: 768px) {
    .rlv-faq-answer p {
        padding: 0 20px 24px;
        font-size: 1em;
    }
}

@media (min-width: 1024px) {
    .rlv-faq-answer p {
        padding: 0 24px 24px;
    }
}

/* CTA Section - Mobile First */
.rlv-cta-section {
    background: linear-gradient(135deg, var(--rlv-primary-blue) 0%, #084268 100%);
    padding: 50px 16px;
    text-align: left;
}

@media (min-width: 768px) {
    .rlv-cta-section {
        padding: 60px 32px;
        text-align: center;
    }
}

@media (min-width: 1024px) {
    .rlv-cta-section {
        padding: 80px 20px;
    }
}

.rlv-cta-content {
    max-width: 900px;
    margin: 0 auto;
}

.rlv-cta-content h2 {
    color: white;
    font-size: 1.6em;
    margin-bottom: 16px;
    text-align: left;
}

@media (min-width: 768px) {
    .rlv-cta-content h2 {
        font-size: 2em;
        text-align: center;
        margin-bottom: 20px;
    }
}

@media (min-width: 1024px) {
    .rlv-cta-content h2 {
        font-size: 2.2em;
    }
}

.rlv-cta-content p {
    color: rgba(255,255,255,0.9);
    font-size: 1.05em;
    margin-bottom: 28px;
    text-align: left;
}

@media (min-width: 768px) {
    .rlv-cta-content p {
        font-size: 1.1em;
        text-align: center;
    }
}

@media (min-width: 1024px) {
    .rlv-cta-content p {
        font-size: 1.15em;
        margin-bottom: 32px;
    }
}

.rlv-cta-buttons {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-top: 24px;
}

@media (min-width: 768px) {
    .rlv-cta-buttons {
        flex-direction: row;
        justify-content: center;
        gap: 20px;
        margin-top: 30px;
    }
}

.rlv-btn-phone {
    background: var(--rlv-cta-orange);
}

.rlv-btn-email {
    background: rgba(255,255,255,0.2);
    border: 2px solid white;
}

/* Highlight Box - Mobile First */
.rlv-highlight-box {
    background: linear-gradient(135deg, #fff7ed 0%, #ffedd5 100%);
    border-left: 4px solid var(--rlv-cta-orange);
    padding: 20px;
    border-radius: 8px;
    margin: 24px 0;
}

@media (min-width: 1024px) {
    .rlv-highlight-box {
        padding: 24px;
        margin: 30px 0;
    }
}

.rlv-highlight-box p {
    margin: 0;
    color: var(--rlv-text-dark);
    font-weight: 500;
    text-align: left;
    font-size: 0.95em;
}

@media (min-width: 1024px) {
    .rlv-highlight-box p {
        font-size: 1em;
    }
}

/* Two Column Layout - Mobile First */
.rlv-two-column {
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px;
    margin: 32px 0;
}

@media (min-width: 768px) {
    .rlv-two-column {
        grid-template-columns: repeat(2, 1fr);
        gap: 32px;
    }
}

@media (min-width: 1024px) {
    .rlv-two-column {
        gap: 40px;
        margin: 40px 0;
    }
}

.rlv-column {
    text-align: left;
}

.rlv-column h3 {
    color: var(--rlv-primary-blue);
    margin-bottom: 14px;
    font-size: 1.3em;
    text-align: left;
}

@media (min-width: 768px) {
    .rlv-column h3 {
        font-size: 1.4em;
        margin-bottom: 16px;
    }
}

@media (min-width: 1024px) {
    .rlv-column h3 {
        font-size: 1.5em;
    }
}

/* Stats Grid - Mobile First */
.rlv-stats-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
    margin: 32px 0;
}

@media (min-width: 768px) {
    .rlv-stats-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 24px;
    }
}

@media (min-width: 1024px) {
    .rlv-stats-grid {
        gap: 30px;
        margin: 40px 0;
    }
}

.rlv-stat-card {
    background: white;
    padding: 24px;
    border-radius: 12px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.08);
    text-align: left;
}

@media (min-width: 768px) {
    .rlv-stat-card {
        text-align: center;
    }
}

@media (min-width: 1024px) {
    .rlv-stat-card {
        padding: 28px;
    }
}

.rlv-stat-number {
    font-size: 2.5em;
    color: var(--rlv-primary-blue);
    font-weight: 700;
    display: block;
    margin-bottom: 8px;
}

@media (min-width: 1024px) {
    .rlv-stat-number {
        font-size: 3em;
        margin-bottom: 12px;
    }
}

.rlv-stat-label {
    color: var(--rlv-text-gray);
    font-size: 0.95em;
}

@media (min-width: 1024px) {
    .rlv-stat-label {
        font-size: 1em;
    }
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

:root {
    --rechtsschutz-primary-blue: #0a5888;
    --rechtsschutz-cta-orange: #eb662a;
    --rechtsschutz-light-gray: #f8f9fa;
    --rechtsschutz-text-dark: #2c3e50;
    --rechtsschutz-border-light: #e1e8ed;
}

body {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    line-height: 1.6;
    color: var(--rechtsschutz-text-dark);
}

.rechtsschutz-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 16px;
}

/* Hero Section - Mobile First */
.rechtsschutz-hero {
    background: linear-gradient(135deg, var(--rechtsschutz-primary-blue) 0%, #084a73 100%);
    color: white;
    padding: 40px 16px 32px;
    text-align: left;
}

.rechtsschutz-hero h1 {
    font-size: 1.75rem;
    margin-bottom: 16px;
    font-weight: 700;
    line-height: 1.2;
}

.rechtsschutz-hero-subtitle {
    font-size: 1rem;
    margin-bottom: 24px;
    opacity: 0.95;
    line-height: 1.5;
}

.rechtsschutz-cta-button {
    display: inline-block;
    background: var(--rechtsschutz-cta-orange);
    color: white;
    padding: 14px 28px;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 600;
    font-size: 1rem;
    transition: all 0.3s;
    box-shadow: 0 4px 15px rgba(235, 102, 42, 0.3);
    width: 100%;
    text-align: center;
}

.rechtsschutz-cta-button:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(235, 102, 42, 0.4);
}

/* Quick Info Box - Mobile First */
.rechtsschutz-quick-info {
    background: white;
    margin: -15px 16px 40px;
    border-radius: 12px;
    box-shadow: 0 10px 40px rgba(0,0,0,0.1);
    padding: 24px 16px;
}

.rechtsschutz-quick-info h2 {
    color: var(--rechtsschutz-primary-blue);
    font-size: 1.5rem;
    margin-bottom: 24px;
    text-align: left;
}

.rechtsschutz-info-grid {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.rechtsschutz-info-item {
    text-align: left;
    padding: 16px;
    border-left: 3px solid var(--rechtsschutz-primary-blue);
    background: var(--rechtsschutz-light-gray);
    border-radius: 4px;
}

.rechtsschutz-info-icon {
    font-size: 2rem;
    display: block;
    margin-bottom: 12px;
    color: var(--rechtsschutz-primary-blue);
}

.rechtsschutz-info-item strong {
    display: block;
    color: var(--rechtsschutz-primary-blue);
    font-size: 1.05rem;
    margin-bottom: 6px;
}

/* Table of Contents - Mobile First */
.rechtsschutz-toc {
    background: var(--rechtsschutz-light-gray);
    border-left: 4px solid var(--rechtsschutz-primary-blue);
    padding: 20px 16px;
    margin: 40px 0;
    border-radius: 8px;
}

.rechtsschutz-toc h2 {
    color: var(--rechtsschutz-primary-blue);
    font-size: 1.3rem;
    margin-bottom: 16px;
    text-align: left;
}

.rechtsschutz-toc ol {
    list-style: none;
    counter-reset: rechtsschutz-toc-counter;
}

.rechtsschutz-toc li {
    counter-increment: rechtsschutz-toc-counter;
    margin-bottom: 10px;
}

.rechtsschutz-toc a {
    color: var(--rechtsschutz-text-dark);
    text-decoration: none;
    display: block;
    padding: 6px 0;
    transition: color 0.3s;
    font-size: 0.95rem;
}

.rechtsschutz-toc a:hover {
    color: var(--rechtsschutz-primary-blue);
}

.rechtsschutz-toc a::before {
    content: counter(rechtsschutz-toc-counter) ". ";
    color: var(--rechtsschutz-primary-blue);
    font-weight: 600;
    margin-right: 6px;
}

/* Content Sections - Mobile First */
.rechtsschutz-content-section {
    margin: 40px 0;
    padding: 0 16px;
}

.rechtsschutz-content-section h2 {
    color: var(--rechtsschutz-primary-blue);
    font-size: 1.5rem;
    margin-bottom: 20px;
    padding-bottom: 12px;
    border-bottom: 3px solid var(--rechtsschutz-cta-orange);
    text-align: left;
}

.rechtsschutz-content-section h3 {
    color: var(--rechtsschutz-primary-blue);
    font-size: 1.25rem;
    margin: 24px 0 12px;
    text-align: left;
}

.rechtsschutz-content-section h4 {
    color: var(--rechtsschutz-primary-blue);
    font-size: 1.1rem;
    margin: 20px 0 10px;
    text-align: left;
}

.rechtsschutz-content-section p {
    margin-bottom: 16px;
    font-size: 1rem;
    line-height: 1.7;
    text-align: left;
}

.rechtsschutz-content-section ul, 
.rechtsschutz-content-section ol {
    margin: 16px 0 16px 20px;
}

.rechtsschutz-content-section li {
    margin-bottom: 10px;
    font-size: 1rem;
    line-height: 1.6;
    text-align: left;
}

/* Info Boxes - Mobile First */
.rechtsschutz-info-box {
    background: #e8f4f8;
    border-left: 4px solid var(--rechtsschutz-primary-blue);
    padding: 16px;
    margin: 20px 0;
    border-radius: 6px;
}

.rechtsschutz-info-box i {
    color: var(--rechtsschutz-primary-blue);
    margin-right: 8px;
}

.rechtsschutz-warning-box {
    background: #fff3e0;
    border-left: 4px solid #ff9800;
    padding: 16px;
    margin: 20px 0;
    border-radius: 6px;
}

.rechtsschutz-warning-box i {
    color: #ff9800;
    margin-right: 8px;
}

.rechtsschutz-tip-box {
    background: #e8f5e9;
    border-left: 4px solid #4caf50;
    padding: 16px;
    margin: 20px 0;
    border-radius: 6px;
}

.rechtsschutz-tip-box i {
    color: #4caf50;
    margin-right: 8px;
}

.rechtsschutz-highlight-box {
    background: linear-gradient(135deg, #fff3e0 0%, #ffe0b2 100%);
    border-left: 4px solid var(--rechtsschutz-cta-orange);
    padding: 16px;
    margin: 20px 0;
    border-radius: 6px;
}

.rechtsschutz-highlight-box i {
    color: var(--rechtsschutz-cta-orange);
    margin-right: 8px;
}

/* Tables - Mobile First with Horizontal Scroll */
.rechtsschutz-table-wrapper {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin: 20px 0;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.rechtsschutz-comparison-table {
    width: 100%;
    min-width: 600px;
    border-collapse: collapse;
    background: white;
}

.rechtsschutz-comparison-table thead {
    background: var(--rechtsschutz-primary-blue);
    color: white;
}

.rechtsschutz-comparison-table th {
    padding: 12px 10px;
    text-align: left;
    font-weight: 600;
    font-size: 0.9rem;
}

.rechtsschutz-comparison-table td {
    padding: 12px 10px;
    border-bottom: 1px solid var(--rechtsschutz-border-light);
    font-size: 0.9rem;
}

.rechtsschutz-comparison-table tbody tr:hover {
    background: var(--rechtsschutz-light-gray);
}

.rechtsschutz-comparison-table .rechtsschutz-check {
    color: #4caf50;
    font-size: 1.2rem;
}

.rechtsschutz-comparison-table .rechtsschutz-cross {
    color: #f44336;
    font-size: 1.2rem;
}

/* FAQ Section - Mobile First */
.rechtsschutz-faq-section {
    margin: 40px 0;
    padding: 0 16px;
}

.rechtsschutz-faq-section h2 {
    color: var(--rechtsschutz-primary-blue);
    font-size: 1.5rem;
    margin-bottom: 24px;
    text-align: left;
}

.rechtsschutz-faq-item {
    background: white;
    border: 1px solid var(--rechtsschutz-border-light);
    border-radius: 8px;
    margin-bottom: 12px;
    overflow: hidden;
}

.rechtsschutz-faq-question {
    padding: 16px;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: var(--rechtsschutz-light-gray);
    transition: background 0.3s;
}

.rechtsschutz-faq-question:hover {
    background: #e3e9ed;
}

.rechtsschutz-faq-question h3 {
    color: var(--rechtsschutz-primary-blue);
    font-size: 1.05rem;
    margin: 0;
    flex: 1;
    text-align: left;
}

.rechtsschutz-faq-toggle {
    font-size: 1.5rem;
    color: var(--rechtsschutz-primary-blue);
    font-weight: 300;
    margin-left: 12px;
    transition: transform 0.3s;
}

.rechtsschutz-faq-item.active .rechtsschutz-faq-toggle {
    transform: rotate(45deg);
}

.rechtsschutz-faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease-out;
}

.rechtsschutz-faq-item.active .rechtsschutz-faq-answer {
    max-height: 1000px;
    transition: max-height 0.5s ease-in;
}

.rechtsschutz-faq-answer p {
    padding: 16px;
    margin: 0;
    text-align: left;
}

/* Final CTA Section - Mobile First */
.rechtsschutz-final-cta {
    background: linear-gradient(135deg, var(--rechtsschutz-primary-blue) 0%, #084a73 100%);
    color: white;
    padding: 40px 16px;
    margin-top: 60px;
    text-align: left;
}

.rechtsschutz-final-cta h2 {
    font-size: 1.75rem;
    margin-bottom: 16px;
    text-align: left;
}

.rechtsschutz-final-cta p {
    font-size: 1rem;
    margin-bottom: 24px;
    opacity: 0.95;
    text-align: left;
}

.rechtsschutz-cta-buttons {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.rechtsschutz-cta-buttons .rechtsschutz-cta-button {
    width: 100%;
}

.rechtsschutz-btn-secondary {
    display: inline-block;
    background: white;
    color: var(--rechtsschutz-primary-blue);
    padding: 14px 28px;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 600;
    font-size: 1rem;
    transition: all 0.3s;
    text-align: center;
    width: 100%;
}

.rechtsschutz-btn-secondary:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 15px rgba(0,0,0,0.2);
}

/* Tablet Styles */
@media (min-width: 768px) {
    .rechtsschutz-container {
        padding: 0 32px;
    }
    
    .rechtsschutz-hero {
        padding: 60px 32px 48px;
        text-align: center;
    }
    
    .rechtsschutz-hero h1 {
        font-size: 2.25rem;
    }
    
    .rechtsschutz-hero-subtitle {
        font-size: 1.15rem;
    }
    
    .rechtsschutz-cta-button {
        width: auto;
        padding: 16px 36px;
    }
    
    .rechtsschutz-quick-info {
        margin: -40px 32px 50px;
        padding: 32px;
    }
    
    .rechtsschutz-quick-info h2 {
        font-size: 1.7rem;
        text-align: center;
    }
    
    .rechtsschutz-info-grid {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 24px;
    }
    
    .rechtsschutz-info-item {
        text-align: center;
    }
    
    .rechtsschutz-content-section {
        padding: 0 32px;
    }
    
    .rechtsschutz-content-section h2 {
        font-size: 1.75rem;
    }
    
    .rechtsschutz-content-section h3 {
        font-size: 1.4rem;
    }
    
    .rechtsschutz-faq-section {
        padding: 0 32px;
    }
    
    .rechtsschutz-faq-section h2 {
        font-size: 1.75rem;
    }
    
    .rechtsschutz-faq-question h3 {
        font-size: 1.15rem;
    }
    
    .rechtsschutz-cta-buttons {
        flex-direction: row;
        justify-content: center;
    }
    
    .rechtsschutz-cta-buttons .rechtsschutz-cta-button,
    .rechtsschutz-btn-secondary {
        width: auto;
    }
    
    .rechtsschutz-final-cta {
        text-align: center;
        padding: 60px 32px;
    }
    
    .rechtsschutz-final-cta h2 {
        text-align: center;
    }
    
    .rechtsschutz-final-cta p {
        text-align: center;
    }
}

/* Desktop Styles */
@media (min-width: 992px) {
    .rechtsschutz-hero {
        padding: 80px 20px 60px;
    }
    
    .rechtsschutz-hero h1 {
        font-size: 2.5rem;
    }
    
    .rechtsschutz-hero-subtitle {
        font-size: 1.2rem;
    }
    
    .rechtsschutz-quick-info {
        max-width: 1100px;
        margin: 60px auto 60px;
        padding: 40px;
    }
    
    .rechtsschutz-quick-info h2 {
        font-size: 1.8rem;
    }
    
    .rechtsschutz-info-grid {
        grid-template-columns: repeat(4, 1fr);
        gap: 30px;
    }
    
    .rechtsschutz-toc {
        padding: 30px;
    }
    
    .rechtsschutz-toc h2 {
        font-size: 1.5rem;
    }
    
    .rechtsschutz-content-section {
        margin: 60px 0;
    }
    
    .rechtsschutz-content-section h2 {
        font-size: 2rem;
    }
    
    .rechtsschutz-content-section h3 {
        font-size: 1.5rem;
    }
    
    .rechtsschutz-content-section h4 {
        font-size: 1.2rem;
    }
    
    .rechtsschutz-content-section p {
        font-size: 1.05rem;
    }
    
    .rechtsschutz-content-section li {
        font-size: 1.05rem;
    }
    
    .rechtsschutz-faq-section h2 {
        font-size: 2rem;
    }
    
    .rechtsschutz-faq-question h3 {
        font-size: 1.2rem;
    }
}

:root {
    --primary-blue: #0a5888;
    --cta-orange: #eb662a;
    --light-gray: #f5f7fa;
    --dark-gray: #333;
    --medium-gray: #666;
    --border-color: #e1e4e8;
    --success-green: #28a745;
    --warning-yellow: #ffc107;
    --shadow-sm: 0 2px 4px rgba(0,0,0,0.1);
    --shadow-md: 0 4px 8px rgba(0,0,0,0.12);
    --shadow-lg: 0 8px 16px rgba(0,0,0,0.15);
    --transition: all 0.3s ease;
}

/* --- RESET & BASICS --- */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    line-height: 1.6;
    color: var(--dark-gray);
    background-color: #fff;
}

/* --- HERO SECTION --- */
.pkv-hero {
    background: linear-gradient(135deg, var(--primary-blue) 0%, #084a73 100%);
    color: white;
    padding: 80px 20px 60px;
    text-align: center;
}

.pkv-hero-title {
    font-size: 2.5rem;
    margin-bottom: 20px;
    font-weight: 700;
    hyphens: auto;
    -webkit-hyphens: auto;
    -ms-hyphens: auto;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

.pkv-hero-subtitle {
    font-size: 1.2rem;
    margin-bottom: 30px;
    opacity: 0.95;
}

.pkv-cta-button {
    display: inline-block;
    padding: 1rem 2.5rem;
    background-color: var(--cta-orange);
    color: #fff;
    text-decoration: none;
    font-weight: 600;
    font-size: 1.1rem;
    border-radius: 50px;
    transition: var(--transition);
    box-shadow: var(--shadow-md);
}

.pkv-cta-button:hover {
    background-color: #d45620;
    transform: translateY(-2px);
    box-shadow: var(--shadow-lg);
}

.pkv-cta-button i {
    margin-right: 0.5rem;
}

/* --- QUICK INFO BOX --- */
.pkv-quick-info-box {
    background: linear-gradient(135deg, #fff5e6 0%, #fff 100%);
    border: 2px solid var(--cta-orange);
    border-radius: 12px;
    padding: 2.5rem;
    margin: 3rem auto;
    max-width: 1200px;
    position: relative;
    box-shadow: var(--shadow-lg);
}

.pkv-quick-info-box h2 {
    color: var(--primary-blue);
    font-size: 1.75rem;
    margin-bottom: 1.5rem;
    text-align: center;
}

.pkv-info-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 1.5rem;
    margin-top: 1.5rem;
}

.pkv-info-item {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    background: #fff;
    padding: 1.5rem;
    border-radius: 8px;
    box-shadow: var(--shadow-sm);
}

.pkv-info-icon {
    font-size: 2rem;
    flex-shrink: 0;
    color: var(--primary-blue);
}

.pkv-info-item strong {
    display: block;
    color: var(--primary-blue);
    font-size: 1.1rem;
    margin-bottom: 0.5rem;
}

.pkv-info-item p {
    color: var(--medium-gray);
    font-size: 0.95rem;
    margin: 0;
}

/* --- TABLE OF CONTENTS --- */
.pkv-table-of-contents {
    background: var(--light-gray);
    border-left: 4px solid var(--primary-blue);
    padding: 2rem;
    margin: 0 auto 3rem;
    max-width: 1200px;
    border-radius: 8px;
}

.pkv-table-of-contents h3 {
    color: var(--primary-blue);
    font-size: 1.5rem;
    margin-bottom: 1rem;
}

.pkv-table-of-contents ul {
    list-style: none;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 0.75rem;
}

.pkv-table-of-contents li {
    position: relative;
    padding-left: 1.5rem;
}

.pkv-table-of-contents li::before {
    content: '\f061';
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    position: absolute;
    left: 0;
    color: var(--cta-orange);
    font-size: 0.8rem;
}

.pkv-table-of-contents a {
    color: var(--dark-gray);
    text-decoration: none;
    transition: var(--transition);
    font-size: 0.95rem;
}

.pkv-table-of-contents a:hover {
    color: var(--primary-blue);
    text-decoration: underline;
}

/* --- MAIN CONTENT --- */
.pkv-main-content {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 2rem;
}

.pkv-content-section {
    margin-bottom: 4rem;
    scroll-margin-top: 100px;
}

.pkv-content-section h2 {
    color: var(--primary-blue);
    font-size: 2rem;
    margin-bottom: 1.5rem;
    padding-bottom: 0.5rem;
    border-bottom: 3px solid var(--cta-orange);
    display: inline-block;
}

.pkv-content-section h3 {
    color: var(--dark-gray);
    font-size: 1.5rem;
    margin-top: 2rem;
    margin-bottom: 1rem;
}

.pkv-content-section h4 {
    color: var(--primary-blue);
    font-size: 1.2rem;
    margin-top: 1.5rem;
    margin-bottom: 0.75rem;
}

.pkv-content-section p {
    margin-bottom: 1.25rem;
    line-height: 1.8;
    font-size: 1.05rem;
}

.pkv-content-section ul {
    margin: 1.5rem 0;
    padding-left: 2rem;
}

.pkv-content-section ul li {
    margin-bottom: 0.75rem;
    line-height: 1.7;
}

.pkv-detailed-list li {
    margin-bottom: 1.25rem;
}

.pkv-detailed-list strong {
    color: var(--primary-blue);
}

/* --- HIGHLIGHT BOXES --- */
.pkv-highlight-box {
    background: linear-gradient(135deg, #e8f4f8 0%, #d1e7f0 100%);
    border-left: 5px solid var(--primary-blue);
    padding: 1.5rem;
    margin: 2rem 0;
    border-radius: 8px;
    box-shadow: var(--shadow-sm);
}

.pkv-highlight-box h4 {
    color: var(--primary-blue);
    font-size: 1.25rem;
    margin-bottom: 0.75rem;
    margin-top: 0;
}

.pkv-highlight-box h4 i {
    margin-right: 0.5rem;
}

.pkv-highlight-box p {
    margin-bottom: 0;
    line-height: 1.7;
}

.pkv-warning-box {
    background: linear-gradient(135deg, #fff3cd 0%, #ffe7a0 100%);
    border-left: 5px solid var(--warning-yellow);
    padding: 1.5rem;
    margin: 2rem 0;
    border-radius: 8px;
    box-shadow: var(--shadow-sm);
}

.pkv-warning-box h4 {
    color: #856404;
    font-size: 1.25rem;
    margin-bottom: 0.75rem;
    margin-top: 0;
}

.pkv-warning-box h4 i {
    margin-right: 0.5rem;
}

.pkv-warning-box p {
    color: #856404;
    margin-bottom: 0;
    line-height: 1.7;
}

/* --- COMPARISON TABLE --- */
.pkv-comparison-table {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 2rem;
    margin: 2rem 0;
}

.pkv-comparison-column {
    background: #fff;
    border-radius: 12px;
    padding: 2rem;
    box-shadow: var(--shadow-md);
}

.pkv-comparison-column.advantage {
    border-top: 4px solid var(--success-green);
}

.pkv-comparison-column.disadvantage {
    border-top: 4px solid #dc3545;
}

.pkv-comparison-column h3 {
    margin-top: 0;
    margin-bottom: 1.5rem;
    font-size: 1.5rem;
}

.pkv-comparison-column h3 i {
    margin-right: 0.5rem;
}

.pkv-comparison-column ul {
    list-style: none;
    padding-left: 0;
}

.pkv-comparison-column li {
    padding: 0.75rem 0;
    border-bottom: 1px solid var(--border-color);
    line-height: 1.6;
}

.pkv-comparison-column li:last-child {
    border-bottom: none;
}

.pkv-summary-text {
    background: var(--light-gray);
    padding: 1.5rem;
    border-radius: 8px;
    margin-top: 2rem;
    font-style: italic;
    color: var(--medium-gray);
}

/* --- PRICE EXAMPLES --- */
.pkv-price-examples {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 1.5rem;
    margin: 2rem 0;
}

.pkv-price-card {
    background: #fff;
    border: 2px solid var(--border-color);
    border-radius: 12px;
    padding: 2rem;
    text-align: center;
    transition: var(--transition);
}

.pkv-price-card:hover {
    border-color: var(--primary-blue);
    box-shadow: var(--shadow-md);
    transform: translateY(-5px);
}

.pkv-price-card.highlighted {
    background: linear-gradient(135deg, #e8f4f8 0%, #d1e7f0 100%);
    border-color: var(--cta-orange);
    border-width: 3px;
}

.pkv-price-card h4 {
    color: var(--primary-blue);
    font-size: 1.2rem;
    margin-bottom: 1rem;
    margin-top: 0;
}

.pkv-price {
    font-size: 2.5rem;
    font-weight: 700;
    color: var(--cta-orange);
    margin: 1rem 0;
}

.pkv-price span {
    font-size: 1rem;
    font-weight: 400;
    color: var(--medium-gray);
}

.pkv-price-card ul {
    list-style: none;
    padding: 0;
    margin-top: 1.5rem;
    text-align: left;
}

.pkv-price-card li {
    padding: 0.5rem 0;
    font-size: 0.95rem;
    border-bottom: 1px solid var(--border-color);
}

.pkv-price-card li:last-child {
    border-bottom: none;
}

/* --- LEISTUNGEN GRID --- */
.pkv-leistungen-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 2rem;
    margin: 2rem 0;
}

.pkv-leistung-card {
    background: #fff;
    border-radius: 12px;
    padding: 2rem;
    box-shadow: var(--shadow-md);
    transition: var(--transition);
}

.pkv-leistung-card:hover {
    box-shadow: var(--shadow-lg);
    transform: translateY(-5px);
}

.pkv-leistung-icon {
    font-size: 3rem;
    margin-bottom: 1rem;
    color: var(--primary-blue);
}

.pkv-leistung-card h3 {
    color: var(--primary-blue);
    font-size: 1.3rem;
    margin-top: 0;
    margin-bottom: 1rem;
}

.pkv-leistung-card ul {
    list-style: none;
    padding-left: 0;
}

.pkv-leistung-card li {
    padding: 0.5rem 0;
    padding-left: 1.5rem;
    position: relative;
    font-size: 0.95rem;
}

.pkv-leistung-card li::before {
    content: '\f00c';
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    position: absolute;
    left: 0;
    color: var(--success-green);
    font-size: 0.9rem;
}

/* --- ANBIETER GRID --- */
.pkv-anbieter-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 1.5rem;
    margin: 2rem 0;
}

.pkv-anbieter-card {
    background: var(--light-gray);
    border-radius: 8px;
    padding: 1.5rem;
    border-left: 4px solid var(--primary-blue);
    transition: var(--transition);
}

.pkv-anbieter-card:hover {
    box-shadow: var(--shadow-md);
    transform: translateX(5px);
}

.pkv-anbieter-card h4 {
    color: var(--primary-blue);
    font-size: 1.3rem;
    margin-top: 0;
    margin-bottom: 1rem;
}

.pkv-anbieter-card p {
    margin-bottom: 0.75rem;
    font-size: 0.95rem;
}

/* --- PROZESS TIMELINE --- */
.pkv-prozess-timeline {
    position: relative;
    padding-left: 3rem;
    margin: 2rem 0;
}

.pkv-prozess-timeline::before {
    content: '';
    position: absolute;
    left: 1.25rem;
    top: 0;
    bottom: 0;
    width: 3px;
    background: linear-gradient(180deg, var(--primary-blue) 0%, var(--cta-orange) 100%);
}

.pkv-prozess-step {
    position: relative;
    margin-bottom: 3rem;
    padding-bottom: 2rem;
}

.pkv-step-number {
    position: absolute;
    left: -3rem;
    width: 2.5rem;
    height: 2.5rem;
    background: var(--primary-blue);
    color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 1.2rem;
    box-shadow: var(--shadow-md);
    z-index: 2;
}

.pkv-step-content {
    background: #fff;
    border-radius: 8px;
    padding: 1.5rem;
    box-shadow: var(--shadow-sm);
    border-left: 3px solid var(--primary-blue);
}

.pkv-step-content h3 {
    color: var(--primary-blue);
    font-size: 1.3rem;
    margin-top: 0;
    margin-bottom: 1rem;
}

.pkv-step-content p {
    margin-bottom: 0.75rem;
    line-height: 1.7;
}

.pkv-step-content strong {
    color: var(--cta-orange);
}

/* --- BERUFSGRUPPEN GRID --- */
.pkv-berufsgruppen-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 1.5rem;
    margin: 2rem 0;
}

.pkv-berufsgruppe {
    background: linear-gradient(135deg, #fff 0%, var(--light-gray) 100%);
    border-radius: 8px;
    padding: 1.5rem;
    box-shadow: var(--shadow-sm);
}

.pkv-berufsgruppe h4 {
    color: var(--primary-blue);
    font-size: 1.2rem;
    margin-top: 0;
    margin-bottom: 1rem;
}

.pkv-berufsgruppe h4 i {
    margin-right: 0.5rem;
}

.pkv-berufsgruppe p {
    margin-bottom: 0;
    line-height: 1.7;
    font-size: 0.95rem;
}

/* --- FAQ ACCORDION --- */
.pkv-faq-accordion {
    margin: 2rem 0;
}

.pkv-faq-item {
    background: #fff;
    border: 1px solid var(--border-color);
    border-radius: 8px;
    margin-bottom: 1rem;
    overflow: hidden;
    transition: var(--transition);
}

.pkv-faq-item:hover {
    box-shadow: var(--shadow-sm);
}

.pkv-faq-question {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1.5rem;
    cursor: pointer;
    background: var(--light-gray);
    transition: var(--transition);
}

.pkv-faq-question:hover {
    background: #e8eef3;
}

.pkv-faq-question h3 {
    color: var(--primary-blue);
    font-size: 1.2rem;
    margin: 0;
    flex: 1;
}

.pkv-faq-toggle {
    font-size: 2rem;
    font-weight: 300;
    color: var(--cta-orange);
    transition: var(--transition);
    width: 30px;
    text-align: center;
}

.pkv-faq-item.active .pkv-faq-toggle {
    transform: rotate(45deg);
}

.pkv-faq-answer {
    padding: 0 1.5rem;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease, padding 0.3s ease;
}

.pkv-faq-item.active .pkv-faq-answer {
    padding: 1.5rem;
    max-height: 2000px;
}

.pkv-faq-answer p {
    margin-bottom: 1rem;
    line-height: 1.7;
}

.pkv-faq-answer ul {
    margin: 1rem 0;
    padding-left: 2rem;
}

.pkv-faq-answer li {
    margin-bottom: 0.75rem;
    line-height: 1.6;
}

/* --- FINAL CTA SECTION --- */
.pkv-final-cta {
    background: linear-gradient(135deg, var(--primary-blue) 0%, #084a73 100%);
    color: white;
    padding: 80px 20px;
    text-align: center;
}

.pkv-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

.pkv-final-cta-title {
    font-size: 2.5rem;
    margin-bottom: 15px;
    font-weight: 700;
}

.pkv-final-cta-text {
    font-size: 1.2rem;
    margin-bottom: 35px;
    opacity: 0.95;
}

.pkv-cta-buttons {
    display: flex;
    gap: 20px;
    justify-content: center;
    flex-wrap: wrap;
    margin-bottom: 20px;
}

.pkv-btn-secondary {
    display: inline-block;
    background: white;
    color: var(--primary-blue);
    padding: 16px 40px;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 600;
    font-size: 1.1rem;
    transition: all 0.3s;
    box-shadow: 0 4px 15px rgba(255,255,255,0.2);
}

.pkv-btn-secondary:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(255,255,255,0.3);
}

.pkv-cta-note {
    margin-top: 20px;
    font-size: 0.95rem;
    opacity: 0.9;
}

/* --- TRUST SECTION --- */
.pkv-trust-section {
    max-width: 1200px;
    margin: 4rem auto;
    padding: 0 2rem;
}

.pkv-trust-section h3 {
    text-align: center;
    color: var(--primary-blue);
    font-size: 2rem;
    margin-bottom: 2rem;
}

.pkv-trust-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 2rem;
}

.pkv-trust-item {
    text-align: center;
    padding: 2rem;
    background: var(--light-gray);
    border-radius: 8px;
    transition: var(--transition);
}

.pkv-trust-item:hover {
    box-shadow: var(--shadow-md);
    transform: translateY(-5px);
}

.pkv-trust-icon {
    font-size: 3rem;
    margin-bottom: 1rem;
    color: var(--primary-blue);
}

.pkv-trust-item strong {
    display: block;
    color: var(--primary-blue);
    font-size: 1.2rem;
    margin-bottom: 0.5rem;
}

.pkv-trust-item p {
    color: var(--medium-gray);
    font-size: 0.95rem;
    margin: 0;
}

/* --- RESPONSIVE DESIGN --- */
@media (max-width: 768px) {
    .pkv-hero {
        padding: 60px 15px 50px;
    }
    
    .pkv-hero-title {
        font-size: 1.8rem;
        hyphens: auto;
        -webkit-hyphens: auto;
        -ms-hyphens: auto;
    }
    
    .pkv-hero-subtitle {
        font-size: 1rem;
    }
    
    .pkv-cta-button {
        padding: 14px 30px;
        font-size: 1rem;
        width: 100%;
        max-width: 300px;
    }
    
    .pkv-quick-info-box {
        margin: 2rem 1rem;
        padding: 1.5rem;
    }
    
    .pkv-quick-info-box h2 {
        font-size: 1.4rem;
    }
    
    .pkv-info-grid {
        grid-template-columns: 1fr;
    }
    
    .pkv-table-of-contents ul {
        grid-template-columns: 1fr;
    }
    
    .pkv-main-content {
        padding: 0 1rem;
    }
    
    .pkv-content-section h2 {
        font-size: 1.5rem;
    }
    
    .pkv-comparison-table {
        grid-template-columns: 1fr;
    }
    
    
    .pkv-prozess-timeline {
        padding-left: 2.5rem;
    }
    
    .pkv-step-number {
        left: -2.5rem;
        width: 2rem;
        height: 2rem;
        font-size: 1rem;
    }
    
    .pkv-final-cta {
        padding: 50px 20px;
    }
    
    .pkv-final-cta-title {
        font-size: 1.8rem;
    }
    
    .pkv-final-cta-text {
        font-size: 1rem;
    }
    
    .pkv-cta-buttons {
        flex-direction: column;
        align-items: center;
    }
    
    .pkv-btn-secondary {
        width: 100%;
        max-width: 300px;
    }
}

@media (max-width: 480px) {
    .pkv-hero {
        padding: 50px 15px 40px;
    }
    
    .pkv-hero-title {
        font-size: 1.5rem;
    }
    
    .pkv-quick-info-box h2 {
        font-size: 1.3rem;
    }
    
    .pkv-price {
        font-size: 2rem;
    }
    
    .pkv-final-cta-title {
        font-size: 1.5rem;
    }
}

/* --- SMOOTH SCROLLING --- */
html {
    scroll-behavior: smooth;
}

/* --- PRINT STYLES --- */
@media print {
    .pkv-hero,
    .pkv-final-cta-section,
    .pkv-table-of-contents {
        display: none;
    }
    
    .pkv-content-section {
        page-break-inside: avoid;
    }
}
:root {
    --pflegeversicherung-main-blue: #0a5888;
    --pflegeversicherung-cta-orange: #eb662a;
    --pflegeversicherung-light-gray: #f8f9fa;
    --pflegeversicherung-dark-gray: #333;
    --pflegeversicherung-border-gray: #e0e0e0;
    --pflegeversicherung-text-gray: #6c757d;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* Verhindert Overflow bei allen Text-Elementen */
h1, h2, h3, h4, h5, h6, p, span, a, div {
    max-width: 100%;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

body {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    line-height: 1.7;
    color: var(--pflegeversicherung-dark-gray);
    overflow-x: hidden;
}

.pflegeversicherung-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 16px;
    width: 100%;
}

/* Hero Section - Mobile First */
.pflegeversicherung-hero {
    background: linear-gradient(135deg, var(--pflegeversicherung-main-blue) 0%, #084266 100%);
    color: white;
    padding: 60px 16px 50px;
    text-align: left;
    position: relative;
    overflow: hidden;
}

.pflegeversicherung-hero::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url('data:image/svg+xml,<svg width="100" height="100" xmlns="http://www.w3.org/2000/svg"><defs><pattern id="grid" width="100" height="100" patternUnits="userSpaceOnUse"><path d="M 100 0 L 0 0 0 100" fill="none" stroke="rgba(255,255,255,0.05)" stroke-width="1"/></pattern></defs><rect width="100%" height="100%" fill="url(%23grid)"/></svg>');
    opacity: 0.3;
}

.pflegeversicherung-hero-content {
    position: relative;
    z-index: 1;
    max-width: 1200px;
    margin: 0 auto;
}

.pflegeversicherung-hero h1 {
    font-size: 1.75em;
    margin-bottom: 16px;
    font-weight: 700;
    line-height: 1.2;
    text-align: left;
}

.pflegeversicherung-hero p {
    font-size: 1.1em;
    margin-bottom: 24px;
    opacity: 0.95;
    text-align: left;
}

.pflegeversicherung-btn-primary {
    display: inline-block;
    padding: 14px 28px;
    background: var(--pflegeversicherung-cta-orange);
    color: white;
    text-decoration: none;
    border-radius: 8px;
    font-weight: 600;
    font-size: 1em;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(235, 102, 42, 0.3);
    width: 100%;
    text-align: center;
}

.pflegeversicherung-btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(235, 102, 42, 0.4);
}

/* Quick Info Box - Mobile First */
.pflegeversicherung-quick-info {
    background: white;
    margin: -30px 16px 40px;
    padding: 24px;
    border-radius: 12px;
    box-shadow: 0 10px 40px rgba(0,0,0,0.1);
    position: relative;
    z-index: 2;
}

.pflegeversicherung-quick-info h2 {
    color: var(--pflegeversicherung-main-blue);
    margin-bottom: 24px;
    font-size: 1.5em;
    text-align: left;
}

.pflegeversicherung-quick-info-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
}

.pflegeversicherung-info-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    text-align: left;
}

.pflegeversicherung-info-icon {
    font-size: 1.5em;
    color: var(--pflegeversicherung-main-blue);
    min-width: 32px;
    flex-shrink: 0;
}

.pflegeversicherung-info-item strong {
    display: block;
    color: var(--pflegeversicherung-main-blue);
    margin-bottom: 4px;
    text-align: left;
}

.pflegeversicherung-info-item p {
    color: var(--pflegeversicherung-text-gray);
    font-size: 0.95em;
    text-align: left;
}

/* Table of Contents - Mobile First */
.pflegeversicherung-toc {
    background: white;
    border: 2px solid var(--pflegeversicherung-border-gray);
    border-radius: 8px;
    padding: 24px;
    margin: 40px 16px;
    max-width: 1200px;
}

.pflegeversicherung-toc h2 {
    color: var(--pflegeversicherung-main-blue);
    margin-bottom: 16px;
    font-size: 1.4em;
    text-align: left;
}

.pflegeversicherung-toc ol {
    list-style: none;
    counter-reset: pflegeversicherung-toc-counter;
}

.pflegeversicherung-toc li {
    counter-increment: pflegeversicherung-toc-counter;
    margin-bottom: 10px;
}

.pflegeversicherung-toc a {
    color: var(--pflegeversicherung-dark-gray);
    text-decoration: none;
    display: flex;
    align-items: center;
    transition: color 0.3s;
    font-weight: 500;
    text-align: left;
}

.pflegeversicherung-toc a:before {
    content: counter(pflegeversicherung-toc-counter) ". ";
    color: var(--pflegeversicherung-main-blue);
    font-weight: 700;
    margin-right: 10px;
    min-width: 30px;
}

.pflegeversicherung-toc a:hover {
    color: var(--pflegeversicherung-main-blue);
}

/* Content Sections - Mobile First */
.pflegeversicherung-content-section {
    padding: 40px 16px;
    max-width: 1200px;
    margin: 0 auto;
}

.pflegeversicherung-content-section:nth-child(even) {
    background: var(--pflegeversicherung-light-gray);
}

.pflegeversicherung-content-section h2 {
    color: var(--pflegeversicherung-main-blue);
    margin-bottom: 20px;
    font-size: 1.6em;
    text-align: left;
}

.pflegeversicherung-content-section h3 {
    color: var(--pflegeversicherung-main-blue);
    margin-top: 32px;
    margin-bottom: 16px;
    font-size: 1.3em;
    text-align: left;
}

.pflegeversicherung-content-section p {
    margin-bottom: 16px;
    line-height: 1.8;
    text-align: left;
}

.pflegeversicherung-content-section ul,
.pflegeversicherung-content-section ol {
    margin-bottom: 16px;
    padding-left: 24px;
}

.pflegeversicherung-content-section li {
    margin-bottom: 10px;
    line-height: 1.7;
    text-align: left;
}

/* Warning Box - Mobile First */
.pflegeversicherung-warning-box {
    background: #fff3cd;
    border-left: 4px solid var(--pflegeversicherung-cta-orange);
    padding: 20px;
    margin: 24px 0;
    border-radius: 4px;
}

.pflegeversicherung-warning-box strong {
    color: var(--pflegeversicherung-cta-orange);
    display: block;
    margin-bottom: 10px;
    text-align: left;
}

.pflegeversicherung-warning-box p {
    text-align: left;
}

/* Info Box - Mobile First */
.pflegeversicherung-info-box {
    background: #d1ecf1;
    border-left: 4px solid var(--pflegeversicherung-main-blue);
    padding: 20px;
    margin: 24px 0;
    border-radius: 4px;
}

.pflegeversicherung-info-box strong {
    color: var(--pflegeversicherung-main-blue);
    display: block;
    margin-bottom: 10px;
    text-align: left;
}

.pflegeversicherung-info-box p {
    text-align: left;
}

/* Tables - Mobile First with Horizontal Scroll */
.pflegeversicherung-table-wrapper {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin: 24px 0;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.pflegeversicherung-table {
    width: 100%;
    min-width: 600px;
    border-collapse: collapse;
    background: white;
}

.pflegeversicherung-table thead {
    background: var(--pflegeversicherung-main-blue);
    color: white;
}

.pflegeversicherung-table th {
    padding: 16px;
    text-align: left;
    font-weight: 600;
    border-bottom: 2px solid var(--pflegeversicherung-cta-orange);
}

.pflegeversicherung-table td {
    padding: 14px 16px;
    border-bottom: 1px solid #e9ecef;
    text-align: left;
}

.pflegeversicherung-table tbody tr:hover {
    background: var(--pflegeversicherung-light-gray);
}

.pflegeversicherung-table tbody tr:last-child td {
    border-bottom: none;
}

/* Comparison Grid - Mobile First */
.pflegeversicherung-comparison-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
    margin: 24px 0;
}

.pflegeversicherung-comparison-card {
    background: white;
    padding: 24px;
    border-radius: 8px;
    border: 2px solid var(--pflegeversicherung-border-gray);
    transition: all 0.3s ease;
}

.pflegeversicherung-comparison-card.highlight {
    border-color: var(--pflegeversicherung-main-blue);
    box-shadow: 0 4px 15px rgba(10, 88, 136, 0.15);
}

.pflegeversicherung-comparison-card h3 {
    color: var(--pflegeversicherung-main-blue);
    margin-bottom: 12px;
    margin-top: 0;
    font-size: 1.3em;
    text-align: left;
}

.pflegeversicherung-comparison-card ul {
    list-style: none;
    padding-left: 0;
    margin-bottom: 0;
}

.pflegeversicherung-comparison-card li {
    padding-left: 28px;
    position: relative;
    margin-bottom: 10px;
    text-align: left;
}

.pflegeversicherung-comparison-card li::before {
    content: '✓';
    position: absolute;
    left: 0;
    color: #28a745;
    font-weight: bold;
    font-size: 1.2em;
}

.pflegeversicherung-comparison-card li.negative::before {
    content: '✗';
    color: #dc3545;
}

/* Highlight Box - Mobile First */
.pflegeversicherung-highlight-box {
    background: linear-gradient(135deg, var(--pflegeversicherung-main-blue) 0%, #084266 100%);
    color: white;
    padding: 24px;
    border-radius: 8px;
    margin: 32px 0;
    box-shadow: 0 4px 20px rgba(10, 88, 136, 0.2);
}

.pflegeversicherung-highlight-box h3 {
    color: white;
    margin-bottom: 16px;
    font-size: 1.3em;
    text-align: left;
}

.pflegeversicherung-highlight-box p {
    margin-bottom: 12px;
    opacity: 0.95;
    text-align: left;
}

.pflegeversicherung-highlight-box ul {
    list-style: none;
    padding-left: 0;
}

.pflegeversicherung-highlight-box li {
    padding-left: 28px;
    position: relative;
    margin-bottom: 10px;
    text-align: left;
}

.pflegeversicherung-highlight-box li::before {
    content: '✓';
    position: absolute;
    left: 0;
    color: var(--pflegeversicherung-cta-orange);
    font-weight: bold;
    font-size: 1.2em;
}

/* Feature Grid - Mobile First */
.pflegeversicherung-feature-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
    margin: 32px 0;
}

.pflegeversicherung-feature-card {
    background: white;
    padding: 24px;
    border-radius: 8px;
    border: 2px solid var(--pflegeversicherung-light-gray);
    transition: all 0.3s ease;
}

.pflegeversicherung-feature-card:hover {
    border-color: var(--pflegeversicherung-main-blue);
    box-shadow: 0 4px 15px rgba(10, 88, 136, 0.1);
}

.pflegeversicherung-feature-icon {
    width: 50px;
    height: 50px;
    background: var(--pflegeversicherung-light-gray);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 16px;
    color: var(--pflegeversicherung-main-blue);
    font-size: 1.5em;
}

.pflegeversicherung-feature-card h3 {
    color: var(--pflegeversicherung-main-blue);
    margin-bottom: 12px;
    margin-top: 0;
    font-size: 1.2em;
    text-align: left;
}

.pflegeversicherung-feature-card p {
    color: var(--pflegeversicherung-text-gray);
    margin-bottom: 0;
    text-align: left;
}

/* Stats Box - Mobile First */
.pflegeversicherung-stats-box {
    background: var(--pflegeversicherung-light-gray);
    padding: 24px;
    border-radius: 8px;
    margin: 32px 0;
}

.pflegeversicherung-stats-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
}

.pflegeversicherung-stat-item {
    text-align: left;
}

.pflegeversicherung-stat-number {
    font-size: 2em;
    font-weight: 700;
    color: var(--pflegeversicherung-main-blue);
    display: block;
    margin-bottom: 8px;
}

.pflegeversicherung-stat-label {
    color: var(--pflegeversicherung-text-gray);
    font-size: 0.95em;
}

/* FAQ Section - Mobile First */
.pflegeversicherung-faq-section {
    max-width: 900px;
    margin: 0 auto;
}

.pflegeversicherung-faq-item {
    background: white;
    border: 1px solid #e9ecef;
    border-radius: 8px;
    margin-bottom: 16px;
    overflow: hidden;
    transition: all 0.3s ease;
}

.pflegeversicherung-faq-item:hover {
    box-shadow: 0 4px 12px rgba(0,0,0,0.08);
}

.pflegeversicherung-faq-question {
    padding: 20px;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    font-weight: 600;
    color: var(--pflegeversicherung-main-blue);
    text-align: left;
    user-select: none;
}

.pflegeversicherung-faq-question span {
    flex: 1;
    text-align: left;
}

.pflegeversicherung-faq-question i {
    flex-shrink: 0;
    transition: transform 0.3s ease;
    color: var(--pflegeversicherung-cta-orange);
    font-size: 1em;
}

.pflegeversicherung-faq-item.active .pflegeversicherung-faq-question i {
    transform: rotate(180deg);
}

.pflegeversicherung-faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
}

.pflegeversicherung-faq-item.active .pflegeversicherung-faq-answer {
    max-height: 800px;
}

.pflegeversicherung-faq-answer-content {
    padding: 0 20px 20px;
}

.pflegeversicherung-faq-answer-content p {
    color: var(--pflegeversicherung-text-gray);
    line-height: 1.7;
    text-align: left;
}

/* CTA Section - Mobile First */
.pflegeversicherung-cta-section {
    background: linear-gradient(135deg, var(--pflegeversicherung-main-blue) 0%, #084266 100%);
    color: white;
    padding: 50px 16px;
    text-align: left;
}

.pflegeversicherung-cta-content {
    max-width: 900px;
    margin: 0 auto;
}

.pflegeversicherung-cta-content h2 {
    font-size: 1.6em;
    margin-bottom: 16px;
    text-align: left;
}

.pflegeversicherung-cta-content p {
    font-size: 1.05em;
    margin-bottom: 24px;
    opacity: 0.95;
    text-align: left;
}

.pflegeversicherung-cta-buttons {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-top: 24px;
}

.pflegeversicherung-cta-buttons a {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 16px 32px;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 600;
    transition: all 0.3s ease;
    text-align: center;
}

.pflegeversicherung-cta-buttons .pflegeversicherung-btn-primary {
    background: var(--pflegeversicherung-cta-orange);
    color: white;
    box-shadow: 0 4px 15px rgba(235, 102, 42, 0.3);
}

.pflegeversicherung-cta-buttons .pflegeversicherung-btn-secondary {
    background: rgba(255,255,255,0.2);
    border: 2px solid white;
    color: white;
}

.pflegeversicherung-cta-buttons a:hover {
    transform: translateY(-2px);
}

.pflegeversicherung-cta-footer {
    margin-top: 24px;
    font-size: 0.95em;
    opacity: 0.9;
    text-align: left;
}

/* Images - Mobile First */
.pflegeversicherung-image {
    width: 100%;
    height: auto;
    border-radius: 8px;
    margin: 24px 0;
    display: block;
}

.pflegeversicherung-image-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
    margin: 24px 0;
}

.pflegeversicherung-image-grid img {
    width: 100%;
    height: 200px;
    object-fit: cover;
    border-radius: 8px;
}

/* Responsive Breakpoints - Tablet */
@media (min-width: 768px) {
    .pflegeversicherung-container {
        padding: 0 32px;
    }

    .pflegeversicherung-hero {
        padding: 80px 32px 60px;
    }

    .pflegeversicherung-hero h1 {
        font-size: 2.5em;
    }

    .pflegeversicherung-hero p {
        font-size: 1.2em;
    }

    .pflegeversicherung-btn-primary {
        width: auto;
    }

    .pflegeversicherung-quick-info {
        margin: -50px 32px 50px;
        padding: 32px;
    }

    .pflegeversicherung-quick-info-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 24px;
    }

    .pflegeversicherung-toc {
        margin: 50px 32px;
        padding: 32px;
    }

    .pflegeversicherung-content-section {
        padding: 50px 32px;
    }

    .pflegeversicherung-comparison-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }

    .pflegeversicherung-feature-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 24px;
    }

    .pflegeversicherung-stats-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .pflegeversicherung-image-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }

    .pflegeversicherung-cta-buttons {
        flex-direction: row;
        justify-content: center;
    }

    .pflegeversicherung-cta-section {
        padding: 60px 32px;
        text-align: center;
    }

    .pflegeversicherung-cta-content h2,
    .pflegeversicherung-cta-content p,
    .pflegeversicherung-cta-footer {
        text-align: center;
    }
}

/* Responsive Breakpoints - Desktop */
@media (min-width: 1024px) {
    .pflegeversicherung-hero {
        padding: 100px 40px 80px;
    }

    .pflegeversicherung-hero h1 {
        font-size: 3em;
    }

    .pflegeversicherung-hero p {
        font-size: 1.3em;
    }

    .pflegeversicherung-quick-info {
        margin: -50px auto 60px;
        max-width: 1000px;
        padding: 40px;
    }

    .pflegeversicherung-quick-info-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .pflegeversicherung-toc {
        margin: 60px auto;
        padding: 30px;
        max-width: 1200px;
    }

    .pflegeversicherung-content-section {
        padding: 60px 40px;
    }

    .pflegeversicherung-content-section h2 {
        font-size: 1.8em;
    }

    .pflegeversicherung-content-section h3 {
        font-size: 1.4em;
    }

    .pflegeversicherung-comparison-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .pflegeversicherung-feature-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .pflegeversicherung-stats-grid {
        grid-template-columns: repeat(4, 1fr);
    }

    .pflegeversicherung-image-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

:root {
    --ktg-main-blue: #0a5888;
    --ktg-cta-orange: #eb662a;
    --ktg-light-gray: #f8f9fa;
    --ktg-dark-gray: #333;
    --ktg-border-gray: #e0e0e0;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    line-height: 1.7;
    color: var(--ktg-dark-gray);
}

/* Container - Mobile First */
.ktg-container {
    width: 100%;
    padding: 0 16px;
    margin: 0 auto;
}

@media (min-width: 768px) {
    .ktg-container {
        padding: 0 32px;
    }
}

@media (min-width: 1024px) {
    .ktg-container {
        max-width: 1200px;
        padding: 0 20px;
    }
}

/* Hero Section - Mobile First */
.ktg-hero {
    background: linear-gradient(135deg, var(--ktg-main-blue) 0%, #084266 100%);
    color: white;
    padding: 60px 16px 50px;
    position: relative;
    overflow: hidden;
}

@media (min-width: 768px) {
    .ktg-hero {
        padding: 80px 32px 70px;
    }
}

@media (min-width: 1024px) {
    .ktg-hero {
        padding: 100px 20px 80px;
    }
}

.ktg-hero-content {
    max-width: 1200px;
    margin: 0 auto;
    text-align: left;
}

@media (min-width: 768px) {
    .ktg-hero-content {
        text-align: center;
    }
}

.ktg-hero-title {
    font-size: 1.8em;
    margin-bottom: 16px;
    font-weight: 700;
    line-height: 1.2;
    text-align: left;
}

@media (min-width: 768px) {
    .ktg-hero-title {
        font-size: 2.5em;
        text-align: center;
    }
}

@media (min-width: 1024px) {
    .ktg-hero-title {
        font-size: 3em;
        margin-bottom: 20px;
    }
}

.ktg-hero-subtitle {
    font-size: 1.1em;
    margin-bottom: 24px;
    opacity: 0.95;
    text-align: left;
}

@media (min-width: 768px) {
    .ktg-hero-subtitle {
        font-size: 1.2em;
        text-align: center;
    }
}

@media (min-width: 1024px) {
    .ktg-hero-subtitle {
        font-size: 1.3em;
        margin-bottom: 30px;
    }
}

.ktg-btn-primary {
    display: inline-block;
    padding: 14px 28px;
    background: var(--ktg-cta-orange);
    color: white;
    text-decoration: none;
    border-radius: 8px;
    font-weight: 600;
    font-size: 1em;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(235, 102, 42, 0.3);
    width: 100%;
    text-align: center;
}

@media (min-width: 768px) {
    .ktg-btn-primary {
        width: auto;
        padding: 16px 40px;
        font-size: 1.1em;
    }
}

.ktg-btn-primary:hover {
    background: #d45a1f;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(235, 102, 42, 0.4);
}

/* Quick Info Box - Mobile First */
.ktg-quick-info {
    background: var(--ktg-light-gray);
    padding: 24px 16px;
    margin: -30px 16px 40px;
    border-radius: 12px;
    box-shadow: 0 10px 40px rgba(0,0,0,0.1);
    position: relative;
    z-index: 10;
}

@media (min-width: 768px) {
    .ktg-quick-info {
        padding: 32px;
        margin: -40px 32px 50px;
    }
}

@media (min-width: 1024px) {
    .ktg-quick-info {
        padding: 40px;
        margin: -40px auto 60px;
        max-width: 900px;
    }
}

.ktg-quick-info-title {
    color: var(--ktg-main-blue);
    margin-bottom: 20px;
    font-size: 1.4em;
    text-align: left;
}

@media (min-width: 768px) {
    .ktg-quick-info-title {
        font-size: 1.6em;
        text-align: center;
        margin-bottom: 25px;
    }
}

@media (min-width: 1024px) {
    .ktg-quick-info-title {
        font-size: 1.8em;
    }
}

.ktg-quick-info-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
}

@media (min-width: 768px) {
    .ktg-quick-info-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }
}

.ktg-info-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    text-align: left;
}

@media (min-width: 1024px) {
    .ktg-info-item {
        gap: 15px;
    }
}

.ktg-info-icon {
    font-size: 1.8em;
    color: var(--ktg-main-blue);
    min-width: 36px;
}

@media (min-width: 1024px) {
    .ktg-info-icon {
        font-size: 2em;
        min-width: 40px;
    }
}

.ktg-info-item-title {
    display: block;
    color: var(--ktg-main-blue);
    margin-bottom: 4px;
    font-weight: 600;
    font-size: 1em;
}

@media (min-width: 1024px) {
    .ktg-info-item-title {
        margin-bottom: 5px;
    }
}

.ktg-info-item-text {
    font-size: 0.95em;
    line-height: 1.5;
}

/* Table of Contents - Mobile First */
.ktg-content-section {
    padding: 40px 16px;
}

@media (min-width: 768px) {
    .ktg-content-section {
        padding: 50px 32px;
    }
}

@media (min-width: 1024px) {
    .ktg-content-section {
        padding: 60px 20px;
    }
}

.ktg-toc {
    background: white;
    border: 2px solid var(--ktg-border-gray);
    border-radius: 8px;
    padding: 24px 16px;
    margin: 40px 0;
}

@media (min-width: 768px) {
    .ktg-toc {
        padding: 28px 24px;
        margin: 50px 0;
    }
}

@media (min-width: 1024px) {
    .ktg-toc {
        padding: 30px;
        margin: 60px 0;
    }
}

.ktg-toc-title {
    color: var(--ktg-main-blue);
    margin-bottom: 16px;
    font-size: 1.3em;
    text-align: left;
}

@media (min-width: 768px) {
    .ktg-toc-title {
        font-size: 1.4em;
        margin-bottom: 18px;
    }
}

@media (min-width: 1024px) {
    .ktg-toc-title {
        font-size: 1.5em;
        margin-bottom: 20px;
    }
}

.ktg-toc-list {
    list-style: none;
    counter-reset: toc-counter;
}

.ktg-toc-item {
    counter-increment: toc-counter;
    margin-bottom: 10px;
}

@media (min-width: 1024px) {
    .ktg-toc-item {
        margin-bottom: 12px;
    }
}

.ktg-toc-link {
    color: var(--ktg-dark-gray);
    text-decoration: none;
    display: flex;
    align-items: center;
    transition: color 0.3s;
    font-weight: 500;
    font-size: 0.95em;
}

@media (min-width: 1024px) {
    .ktg-toc-link {
        font-size: 1em;
    }
}

.ktg-toc-link:before {
    content: counter(toc-counter) ". ";
    color: var(--ktg-main-blue);
    font-weight: 700;
    margin-right: 8px;
    min-width: 26px;
}

@media (min-width: 1024px) {
    .ktg-toc-link:before {
        margin-right: 10px;
        min-width: 30px;
    }
}

.ktg-toc-link:hover {
    color: var(--ktg-main-blue);
}

/* Content Section Styles */
.ktg-content-section-gray {
    background: var(--ktg-light-gray);
}

.ktg-section-header {
    text-align: left;
    margin-bottom: 32px;
}

@media (min-width: 768px) {
    .ktg-section-header {
        text-align: center;
        margin-bottom: 40px;
    }
}

@media (min-width: 1024px) {
    .ktg-section-header {
        margin-bottom: 50px;
    }
}

.ktg-section-title {
    color: var(--ktg-main-blue);
    margin-bottom: 12px;
    font-size: 1.6em;
    font-weight: 700;
    text-align: left;
}

@media (min-width: 768px) {
    .ktg-section-title {
        font-size: 2em;
        text-align: center;
        margin-bottom: 16px;
    }
}

@media (min-width: 1024px) {
    .ktg-section-title {
        font-size: 2.2em;
    }
}

.ktg-section-subtitle {
    color: #666;
    font-size: 1.05em;
    text-align: left;
}

@media (min-width: 768px) {
    .ktg-section-subtitle {
        font-size: 1.1em;
        text-align: center;
    }
}

@media (min-width: 1024px) {
    .ktg-section-subtitle {
        font-size: 1.15em;
    }
}

.ktg-content-text {
    max-width: 900px;
    margin: 0 auto;
    text-align: left;
}

.ktg-content-text p {
    margin-bottom: 16px;
    line-height: 1.7;
}

@media (min-width: 1024px) {
    .ktg-content-text p {
        margin-bottom: 20px;
    }
}

.ktg-content-text h3 {
    color: var(--ktg-main-blue);
    margin-top: 28px;
    margin-bottom: 14px;
    font-size: 1.3em;
    text-align: left;
}

@media (min-width: 768px) {
    .ktg-content-text h3 {
        font-size: 1.4em;
        margin-top: 32px;
        margin-bottom: 16px;
    }
}

@media (min-width: 1024px) {
    .ktg-content-text h3 {
        font-size: 1.5em;
        margin-top: 36px;
    }
}

.ktg-content-text ul {
    margin: 16px 0;
    padding-left: 24px;
}

@media (min-width: 1024px) {
    .ktg-content-text ul {
        margin: 20px 0;
    }
}

.ktg-content-text li {
    margin-bottom: 10px;
}

@media (min-width: 1024px) {
    .ktg-content-text li {
        margin-bottom: 12px;
    }
}

/* Table Container - Mobile First with Scroll */
.ktg-table-container {
    overflow-x: auto;
    margin: 24px 0;
    -webkit-overflow-scrolling: touch;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

@media (min-width: 1024px) {
    .ktg-table-container {
        margin: 30px 0;
    }
}

.ktg-table {
    width: 100%;
    min-width: 600px;
    border-collapse: collapse;
    background: white;
}

.ktg-table th,
.ktg-table td {
    padding: 12px;
    text-align: left;
    border-bottom: 1px solid #e9ecef;
}

@media (min-width: 768px) {
    .ktg-table th,
    .ktg-table td {
        padding: 14px;
    }
}

@media (min-width: 1024px) {
    .ktg-table th,
    .ktg-table td {
        padding: 16px;
    }
}

.ktg-table th {
    background: var(--ktg-main-blue);
    color: white;
    font-weight: 600;
    font-size: 0.95em;
}

@media (min-width: 1024px) {
    .ktg-table th {
        font-size: 1em;
    }
}

.ktg-table tbody tr:hover {
    background: var(--ktg-light-gray);
}

/* Highlight Box - Mobile First */
.ktg-highlight-box {
    background: linear-gradient(135deg, #fff7ed 0%, #ffedd5 100%);
    border-left: 4px solid var(--ktg-cta-orange);
    padding: 20px;
    border-radius: 8px;
    margin: 24px 0;
}

@media (min-width: 1024px) {
    .ktg-highlight-box {
        padding: 24px;
        margin: 30px 0;
    }
}

.ktg-highlight-box p {
    margin: 0;
    color: var(--ktg-dark-gray);
    font-weight: 500;
    text-align: left;
    font-size: 0.95em;
}

@media (min-width: 1024px) {
    .ktg-highlight-box p {
        font-size: 1em;
    }
}

/* Comparison Cards - Mobile First */
.ktg-comparison-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
    margin: 32px 0;
}

@media (min-width: 768px) {
    .ktg-comparison-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 24px;
    }
}

@media (min-width: 1024px) {
    .ktg-comparison-grid {
        gap: 30px;
        margin: 40px 0;
    }
}

.ktg-comparison-card {
    background: white;
    border: 2px solid var(--ktg-border-gray);
    border-radius: 12px;
    padding: 24px;
    text-align: left;
}

@media (min-width: 1024px) {
    .ktg-comparison-card {
        padding: 28px;
    }
}

.ktg-comparison-card h3 {
    color: var(--ktg-main-blue);
    margin-bottom: 16px;
    font-size: 1.3em;
    text-align: left;
}

@media (min-width: 1024px) {
    .ktg-comparison-card h3 {
        font-size: 1.4em;
        margin-bottom: 20px;
    }
}

.ktg-comparison-card ul {
    list-style: none;
    padding: 0;
}

.ktg-comparison-card li {
    padding-left: 28px;
    position: relative;
    margin-bottom: 10px;
    font-size: 0.95em;
}

@media (min-width: 1024px) {
    .ktg-comparison-card li {
        margin-bottom: 12px;
        font-size: 1em;
    }
}

.ktg-comparison-card li:before {
    content: "\f00c";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    position: absolute;
    left: 0;
    color: var(--ktg-cta-orange);
}

/* Feature Cards - Mobile First */
.ktg-features-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
    margin-top: 32px;
}

@media (min-width: 768px) {
    .ktg-features-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 24px;
    }
}

@media (min-width: 1024px) {
    .ktg-features-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 30px;
        margin-top: 40px;
    }
}

.ktg-feature-card {
    background: white;
    padding: 24px;
    border-radius: 12px;
    border: 2px solid var(--ktg-border-gray);
    text-align: left;
    transition: all 0.3s ease;
}

@media (min-width: 1024px) {
    .ktg-feature-card {
        padding: 28px;
    }
}

.ktg-feature-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 30px rgba(0,0,0,0.12);
    border-color: var(--ktg-main-blue);
}

.ktg-feature-icon {
    font-size: 2.5em;
    color: var(--ktg-cta-orange);
    margin-bottom: 16px;
    display: block;
}

@media (min-width: 1024px) {
    .ktg-feature-icon {
        font-size: 3em;
        margin-bottom: 20px;
    }
}

.ktg-feature-card h3 {
    color: var(--ktg-main-blue);
    margin-bottom: 12px;
    font-size: 1.2em;
    text-align: left;
}

@media (min-width: 1024px) {
    .ktg-feature-card h3 {
        font-size: 1.3em;
        margin-bottom: 15px;
    }
}

.ktg-feature-card p {
    color: #666;
    line-height: 1.6;
    text-align: left;
    font-size: 0.95em;
}

@media (min-width: 1024px) {
    .ktg-feature-card p {
        font-size: 1em;
    }
}

/* FAQ Section - Mobile First */
.ktg-faq-section {
    max-width: 900px;
    margin: 0 auto;
}

.ktg-faq-item {
    background: white;
    border-radius: 8px;
    margin-bottom: 16px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    overflow: hidden;
    border: 1px solid var(--ktg-border-gray);
}

@media (min-width: 1024px) {
    .ktg-faq-item {
        margin-bottom: 20px;
    }
}

.ktg-faq-question {
    padding: 16px;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-weight: 600;
    color: var(--ktg-main-blue);
    transition: background 0.3s ease;
    text-align: left;
    font-size: 0.95em;
    gap: 12px;
}

@media (min-width: 768px) {
    .ktg-faq-question {
        padding: 18px 20px;
        font-size: 1em;
    }
}

@media (min-width: 1024px) {
    .ktg-faq-question {
        padding: 20px 24px;
        font-size: 1.05em;
    }
}

.ktg-faq-question:hover {
    background: var(--ktg-light-gray);
}

.ktg-faq-question i {
    color: var(--ktg-cta-orange);
    transition: transform 0.3s ease;
    font-size: 0.9em;
    min-width: 20px;
}

.ktg-faq-item.active .ktg-faq-question i {
    transform: rotate(180deg);
}

.ktg-faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
}

.ktg-faq-item.active .ktg-faq-answer {
    max-height: 2000px;
}

.ktg-faq-answer-content {
    padding: 0 16px 20px;
}

@media (min-width: 768px) {
    .ktg-faq-answer-content {
        padding: 0 20px 24px;
    }
}

@media (min-width: 1024px) {
    .ktg-faq-answer-content {
        padding: 0 24px 24px;
    }
}

.ktg-faq-answer-content p {
    color: #666;
    line-height: 1.7;
    text-align: left;
    font-size: 0.95em;
}

@media (min-width: 1024px) {
    .ktg-faq-answer-content p {
        font-size: 1em;
    }
}

/* CTA Section - Mobile First */
.ktg-cta-section {
    background: linear-gradient(135deg, var(--ktg-main-blue) 0%, #084266 100%);
    padding: 50px 16px;
    text-align: left;
}

@media (min-width: 768px) {
    .ktg-cta-section {
        padding: 60px 32px;
        text-align: center;
    }
}

@media (min-width: 1024px) {
    .ktg-cta-section {
        padding: 80px 20px;
    }
}

.ktg-cta-content {
    max-width: 900px;
    margin: 0 auto;
}

.ktg-cta-content h2 {
    color: white;
    font-size: 1.6em;
    margin-bottom: 16px;
    text-align: left;
}

@media (min-width: 768px) {
    .ktg-cta-content h2 {
        font-size: 2em;
        text-align: center;
        margin-bottom: 20px;
    }
}

@media (min-width: 1024px) {
    .ktg-cta-content h2 {
        font-size: 2.2em;
    }
}

.ktg-cta-content p {
    color: rgba(255,255,255,0.9);
    font-size: 1.05em;
    margin-bottom: 28px;
    text-align: left;
}

@media (min-width: 768px) {
    .ktg-cta-content p {
        font-size: 1.1em;
        text-align: center;
    }
}

@media (min-width: 1024px) {
    .ktg-cta-content p {
        font-size: 1.15em;
    }
}

.ktg-cta-buttons {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-top: 24px;
}

@media (min-width: 768px) {
    .ktg-cta-buttons {
        flex-direction: row;
        justify-content: center;
        gap: 20px;
        margin-top: 30px;
    }
}

.ktg-btn-secondary {
    display: inline-block;
    padding: 14px 28px;
    background: rgba(255,255,255,0.2);
    border: 2px solid white;
    color: white;
    text-decoration: none;
    border-radius: 8px;
    font-weight: 600;
    font-size: 1em;
    transition: all 0.3s ease;
    width: 100%;
    text-align: center;
}

@media (min-width: 768px) {
    .ktg-btn-secondary {
        width: auto;
        padding: 16px 40px;
        font-size: 1.1em;
    }
}

.ktg-btn-secondary:hover {
    background: white;
    color: var(--ktg-main-blue);
}

.ktg-cta-footer {
    margin-top: 24px;
    font-size: 0.95em;
    opacity: 0.9;
    text-align: left;
}

@media (min-width: 768px) {
    .ktg-cta-footer {
        margin-top: 30px;
        font-size: 1em;
        text-align: center;
    }
}

/* Info Box - Mobile First */
.ktg-info-box {
    background: white;
    border: 2px solid var(--ktg-main-blue);
    border-radius: 12px;
    padding: 20px;
    margin: 24px 0;
}

@media (min-width: 1024px) {
    .ktg-info-box {
        padding: 24px;
        margin: 30px 0;
    }
}

.ktg-info-box-title {
    color: var(--ktg-main-blue);
    font-size: 1.2em;
    margin-bottom: 12px;
    font-weight: 600;
    text-align: left;
}

@media (min-width: 1024px) {
    .ktg-info-box-title {
        font-size: 1.3em;
        margin-bottom: 16px;
    }
}

.ktg-info-box p {
    margin-bottom: 12px;
    font-size: 0.95em;
}

@media (min-width: 1024px) {
    .ktg-info-box p {
        font-size: 1em;
    }
}

.ktg-info-box p:last-child {
    margin-bottom: 0;
}


/* ==============================================
   PRIVATHAFTPFLICHT DEGGENDORF - MOBILE FIRST STYLESHEET
   ============================================== */

/* --- ROOT VARIABLES --- */
:root {
    --phv-primary-blue: #0a5888;
    --phv-cta-orange: #eb662a;
    --phv-light-gray: #f5f7fa;
    --phv-dark-gray: #333;
    --phv-medium-gray: #666;
    --phv-border-color: #e1e4e8;
    --phv-success-green: #28a745;
    --phv-warning-yellow: #ffc107;
    --phv-shadow-sm: 0 2px 4px rgba(0,0,0,0.1);
    --phv-shadow-md: 0 4px 8px rgba(0,0,0,0.12);
    --phv-shadow-lg: 0 8px 16px rgba(0,0,0,0.15);
    --phv-transition: all 0.3s ease;
}

/* --- RESET & BASICS --- */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    line-height: 1.6;
    color: var(--phv-dark-gray);
    background-color: #fff;
}

/* --- HERO SECTION (MOBILE FIRST - SIMPLE) --- */
.phv-hero {
    background: linear-gradient(135deg, var(--phv-primary-blue) 0%, #0d7db8 100%);
    padding: 3rem 1rem;
}

.phv-hero-overlay {
    max-width: 1200px;
    margin: 0 auto;
}

.phv-hero-content {
    text-align: left;
}

.phv-hero-content h1 {
    color: #fff;
    font-size: 1.75rem;
    font-weight: 700;
    margin-bottom: 1rem;
    text-align: left;
}

.phv-hero-subtitle {
    color: #fff;
    font-size: 1rem;
    margin-bottom: 1.5rem;
    text-align: left;
}

.phv-cta-button {
    display: inline-block;
    width: 100%;
    padding: 1rem 2rem;
    background-color: var(--phv-cta-orange);
    color: #fff;
    text-decoration: none;
    font-weight: 600;
    font-size: 1rem;
    border-radius: 50px;
    transition: var(--phv-transition);
    box-shadow: var(--phv-shadow-md);
    text-align: center;
}

.phv-cta-button:hover {
    background-color: #d45620;
    transform: translateY(-2px);
    box-shadow: var(--phv-shadow-lg);
}

.phv-cta-button i {
    margin-right: 0.5rem;
}

/* --- QUICK INFO BOX (MOBILE FIRST) --- */
.phv-quick-info-box {
    background: linear-gradient(135deg, #fff5e6 0%, #fff 100%);
    border: 2px solid var(--phv-cta-orange);
    border-radius: 12px;
    padding: 1.5rem;
    margin: 2rem 1rem;
    box-shadow: var(--phv-shadow-lg);
}

.phv-quick-info-box h2 {
    color: var(--phv-primary-blue);
    font-size: 1.5rem;
    margin-bottom: 1.25rem;
    text-align: left;
}

.phv-info-grid {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.phv-info-item {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    background: #fff;
    padding: 1.25rem;
    border-radius: 8px;
    box-shadow: var(--phv-shadow-sm);
}

.phv-info-icon {
    font-size: 1.75rem;
    flex-shrink: 0;
    color: var(--phv-primary-blue);
}

.phv-info-item strong {
    display: block;
    color: var(--phv-primary-blue);
    font-size: 1rem;
    margin-bottom: 0.5rem;
    text-align: left;
}

.phv-info-item p {
    color: var(--phv-medium-gray);
    font-size: 0.9rem;
    margin: 0;
    text-align: left;
}

/* --- TABLE OF CONTENTS (MOBILE FIRST) --- */
.phv-table-of-contents {
    background: var(--phv-light-gray);
    border-left: 4px solid var(--phv-primary-blue);
    padding: 1.5rem;
    margin: 1.5rem 1rem;
    border-radius: 8px;
}

.phv-table-of-contents h3 {
    color: var(--phv-primary-blue);
    font-size: 1.25rem;
    margin-bottom: 1rem;
    text-align: left;
}

.phv-table-of-contents ul {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.phv-table-of-contents li {
    position: relative;
    padding-left: 1.5rem;
}

.phv-table-of-contents li::before {
    content: '\f061';
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    position: absolute;
    left: 0;
    color: var(--phv-cta-orange);
    font-size: 0.8rem;
}

.phv-table-of-contents a {
    color: var(--phv-dark-gray);
    text-decoration: none;
    transition: var(--phv-transition);
    font-size: 0.9rem;
    text-align: left;
}

.phv-table-of-contents a:hover {
    color: var(--phv-primary-blue);
    text-decoration: underline;
}

/* --- MAIN CONTENT (MOBILE FIRST) --- */
.phv-main-content {
    max-width: 1200px;
    margin: 0 auto;
    padding: 1rem;
}

.phv-section {
    margin-bottom: 2.5rem;
}

.phv-section h2 {
    color: var(--phv-primary-blue);
    font-size: 1.5rem;
    margin-bottom: 1.25rem;
    padding-bottom: 0.75rem;
    border-bottom: 3px solid var(--phv-cta-orange);
    text-align: left;
}

.phv-section h3 {
    color: var(--phv-primary-blue);
    font-size: 1.25rem;
    margin-top: 1.5rem;
    margin-bottom: 1rem;
    text-align: left;
}

.phv-section h4 {
    color: var(--phv-dark-gray);
    font-size: 1.1rem;
    margin-top: 1.25rem;
    margin-bottom: 0.75rem;
    text-align: left;
}

.phv-section p {
    margin-bottom: 1rem;
    color: var(--phv-dark-gray);
    font-size: 1rem;
    line-height: 1.7;
    text-align: left;
}

.phv-section ul,
.phv-section ol {
    margin-left: 1.5rem;
    margin-bottom: 1rem;
}

.phv-section li {
    margin-bottom: 0.5rem;
    color: var(--phv-dark-gray);
    text-align: left;
}

.phv-section strong {
    color: var(--phv-primary-blue);
    font-weight: 600;
}

/* --- INFO BOXES (MOBILE FIRST) --- */
.phv-info-box {
    background: var(--phv-light-gray);
    border-left: 4px solid var(--phv-primary-blue);
    padding: 1.25rem;
    margin: 1.5rem 0;
    border-radius: 4px;
}

.phv-info-box.phv-warning {
    background: #fff3cd;
    border-left-color: var(--phv-warning-yellow);
}

.phv-info-box.phv-success {
    background: #d4edda;
    border-left-color: var(--phv-success-green);
}

.phv-info-box h4 {
    color: var(--phv-primary-blue);
    margin-bottom: 0.75rem;
    text-align: left;
}

.phv-info-box p {
    margin-bottom: 0.5rem;
    text-align: left;
}

.phv-info-box ul {
    margin-left: 1.25rem;
}

/* --- HIGHLIGHT BOXES (MOBILE FIRST) --- */
.phv-highlight-box {
    background: linear-gradient(135deg, #fff5e6 0%, #fff 100%);
    border: 2px solid var(--phv-cta-orange);
    border-radius: 8px;
    padding: 1.5rem;
    margin: 1.5rem 0;
}

.phv-highlight-box h3 {
    color: var(--phv-primary-blue);
    font-size: 1.25rem;
    margin-bottom: 1rem;
    text-align: left;
}

.phv-highlight-box p {
    color: var(--phv-dark-gray);
    font-size: 1rem;
    margin-bottom: 0.75rem;
    text-align: left;
}

.phv-highlight-box strong {
    color: var(--phv-cta-orange);
}

/* --- TABLES (MOBILE FIRST - HORIZONTAL SCROLL) --- */
.phv-table-wrapper {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin: 1.5rem 0;
    border-radius: 8px;
    box-shadow: var(--phv-shadow-sm);
}

.phv-table {
    width: 100%;
    min-width: 600px;
    border-collapse: collapse;
    background: #fff;
}

.phv-table thead {
    background: var(--phv-primary-blue);
    color: #fff;
}

.phv-table th {
    padding: 1rem;
    text-align: left;
    font-weight: 600;
    font-size: 0.9rem;
    border-bottom: 2px solid var(--phv-cta-orange);
}

.phv-table td {
    padding: 1rem;
    border-bottom: 1px solid var(--phv-border-color);
    text-align: left;
    font-size: 0.9rem;
}

.phv-table tbody tr:hover {
    background: var(--phv-light-gray);
}

.phv-table tbody tr:last-child td {
    border-bottom: none;
}

/* --- COMPARISON TABLE (MOBILE FIRST) --- */
.phv-comparison-table-wrapper {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin: 1.5rem 0;
    border-radius: 8px;
    box-shadow: var(--phv-shadow-md);
}

.phv-comparison-table {
    width: 100%;
    min-width: 700px;
    border-collapse: collapse;
    background: #fff;
}

.phv-comparison-table thead th {
    background: var(--phv-primary-blue);
    color: #fff;
    padding: 1rem;
    text-align: center;
    font-weight: 600;
    font-size: 0.9rem;
}

.phv-comparison-table tbody th {
    background: var(--phv-light-gray);
    padding: 1rem;
    text-align: left;
    font-weight: 600;
    color: var(--phv-dark-gray);
}

.phv-comparison-table td {
    padding: 1rem;
    text-align: center;
    border: 1px solid var(--phv-border-color);
    font-size: 0.9rem;
}

.phv-comparison-table .phv-check-icon {
    color: var(--phv-success-green);
    font-size: 1.25rem;
}

.phv-comparison-table .phv-cross-icon {
    color: #dc3545;
    font-size: 1.25rem;
}

.phv-comparison-table .phv-highlight-col {
    background: #fff5e6;
    font-weight: 600;
}

/* --- CARDS (MOBILE FIRST) --- */
.phv-card-grid {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    margin: 1.5rem 0;
}

.phv-card {
    background: #fff;
    border: 1px solid var(--phv-border-color);
    border-radius: 8px;
    padding: 1.5rem;
    box-shadow: var(--phv-shadow-sm);
    transition: var(--phv-transition);
}

.phv-card:hover {
    box-shadow: var(--phv-shadow-md);
    transform: translateY(-2px);
}

.phv-card-icon {
    font-size: 2.5rem;
    color: var(--phv-primary-blue);
    margin-bottom: 1rem;
}

.phv-card h3 {
    color: var(--phv-primary-blue);
    font-size: 1.25rem;
    margin-bottom: 0.75rem;
    text-align: left;
}

.phv-card p {
    color: var(--phv-medium-gray);
    font-size: 0.95rem;
    margin-bottom: 0.5rem;
    text-align: left;
}

.phv-card ul {
    margin-left: 1.25rem;
    margin-top: 0.75rem;
}

.phv-card li {
    color: var(--phv-dark-gray);
    font-size: 0.9rem;
    margin-bottom: 0.5rem;
    text-align: left;
}

/* --- FEATURE LIST (MOBILE FIRST) --- */
.phv-feature-list {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin: 1.5rem 0;
}

.phv-feature-item {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    padding: 1rem;
    background: var(--phv-light-gray);
    border-radius: 8px;
}

.phv-feature-icon {
    font-size: 1.5rem;
    color: var(--phv-primary-blue);
    flex-shrink: 0;
    margin-top: 0.25rem;
}

.phv-feature-content h4 {
    color: var(--phv-primary-blue);
    font-size: 1.1rem;
    margin-bottom: 0.5rem;
    text-align: left;
}

.phv-feature-content p {
    color: var(--phv-medium-gray);
    font-size: 0.9rem;
    margin: 0;
    text-align: left;
}

/* --- PRICE BOX (MOBILE FIRST) --- */
.phv-price-box {
    background: linear-gradient(135deg, var(--phv-primary-blue) 0%, #0d7db8 100%);
    color: #fff;
    border-radius: 12px;
    padding: 2rem 1.5rem;
    margin: 1.5rem 0;
    text-align: center;
    box-shadow: var(--phv-shadow-lg);
}

.phv-price-box h3 {
    color: #fff;
    font-size: 1.5rem;
    margin-bottom: 1rem;
    text-align: center;
}

.phv-price-amount {
    font-size: 2.5rem;
    font-weight: 700;
    margin-bottom: 0.5rem;
}

.phv-price-period {
    font-size: 1rem;
    opacity: 0.9;
    margin-bottom: 1.5rem;
}

.phv-price-features {
    text-align: left;
    margin: 1.5rem 0;
}

.phv-price-features li {
    color: #fff;
    margin-bottom: 0.75rem;
    padding-left: 1.5rem;
    position: relative;
}

.phv-price-features li::before {
    content: '\f00c';
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    position: absolute;
    left: 0;
    color: var(--phv-cta-orange);
}

/* --- FAQ SECTION (MOBILE FIRST) --- */
.phv-faq-section {
    margin: 2.5rem 0;
}

.phv-faq-section h2 {
    color: var(--phv-primary-blue);
    font-size: 1.75rem;
    margin-bottom: 1.5rem;
    text-align: left;
}

.phv-faq-container {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.phv-faq-item {
    background: #fff;
    border: 1px solid var(--phv-border-color);
    border-radius: 8px;
    overflow: hidden;
    box-shadow: var(--phv-shadow-sm);
}

.phv-faq-question {
    padding: 1.25rem;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    background: var(--phv-light-gray);
    transition: var(--phv-transition);
}

.phv-faq-question:hover {
    background: #e8edf2;
}

.phv-faq-question h3 {
    color: var(--phv-primary-blue);
    font-size: 1.1rem;
    margin: 0;
    flex: 1;
    text-align: left;
}

.phv-faq-toggle {
    font-size: 1.5rem;
    color: var(--phv-primary-blue);
    font-weight: 700;
    flex-shrink: 0;
    transition: var(--phv-transition);
}

.phv-faq-item.phv-active .phv-faq-toggle {
    transform: rotate(45deg);
}

.phv-faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease-out;
    padding: 0 1.25rem;
}

.phv-faq-item.phv-active .phv-faq-answer {
    max-height: 2000px;
    padding: 1.25rem;
    transition: max-height 0.5s ease-in;
}

.phv-faq-answer p {
    color: var(--phv-dark-gray);
    font-size: 0.95rem;
    margin-bottom: 1rem;
    text-align: left;
}

.phv-faq-answer ul {
    margin-left: 1.25rem;
    margin-bottom: 1rem;
}

.phv-faq-answer li {
    color: var(--phv-dark-gray);
    font-size: 0.9rem;
    margin-bottom: 0.5rem;
    text-align: left;
}

/* --- CTA SECTION (MOBILE FIRST - SIMPLE) --- */
.phv-final-cta-section {
    background: linear-gradient(135deg, var(--phv-primary-blue) 0%, #0d7db8 100%);
    padding: 2.5rem 1rem;
    margin: 3rem 0 0 0;
    text-align: center;
}

.phv-cta-content {
    max-width: 800px;
    margin: 0 auto;
}

.phv-cta-content h2 {
    color: #fff;
    font-size: 1.75rem;
    margin-bottom: 1rem;
    text-align: center;
}

.phv-cta-content > p {
    color: #fff;
    font-size: 1rem;
    margin-bottom: 1.5rem;
    text-align: center;
    line-height: 1.6;
}

.phv-cta-buttons {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin-top: 1.5rem;
}

.phv-cta-button.phv-primary {
    background-color: var(--phv-cta-orange);
    width: 100%;
}

.phv-cta-button.phv-secondary {
    background-color: #fff;
    color: var(--phv-primary-blue);
    width: 100%;
}

.phv-cta-button.phv-secondary:hover {
    background-color: #f0f0f0;
    color: var(--phv-primary-blue);
}

/* --- TRUST SECTION (MOBILE FIRST) --- */
.phv-trust-section {
    padding: 2rem 1rem;
    margin: 2.5rem 0;
}

.phv-trust-section h3 {
    color: var(--phv-primary-blue);
    font-size: 1.5rem;
    margin-bottom: 1.5rem;
    text-align: center;
}

.phv-trust-grid {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.phv-trust-item {
    background: #fff;
    border: 1px solid var(--phv-border-color);
    border-radius: 8px;
    padding: 1.5rem;
    text-align: center;
    box-shadow: var(--phv-shadow-sm);
}

.phv-trust-icon {
    font-size: 2.5rem;
    color: var(--phv-primary-blue);
    margin-bottom: 1rem;
}

.phv-trust-item strong {
    display: block;
    color: var(--phv-primary-blue);
    font-size: 1.1rem;
    margin-bottom: 0.75rem;
}

.phv-trust-item p {
    color: var(--phv-medium-gray);
    font-size: 0.9rem;
    margin: 0;
}

/* --- IMAGES (MOBILE FIRST - GLEICHE GRÖSSE) --- */
.phv-image-container {
    width: 100%;
    margin: 1.5rem 0;
}

.phv-image {
    width: 100%;
    height: auto;
    max-height: 300px;
    object-fit: cover;
    border-radius: 8px;
    box-shadow: var(--phv-shadow-md);
}

.phv-image-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
    margin: 1.5rem 0;
}

.phv-image-grid .phv-image {
    width: 100%;
    height: 200px;
    object-fit: cover;
}

/* ==============================================
   TABLET BREAKPOINT (min-width: 768px)
   ============================================== */
@media (min-width: 768px) {
    
    .phv-hero {
        padding: 4rem 2rem;
    }
    
    .phv-hero-content h1 {
        font-size: 2.25rem;
    }
    
    .phv-hero-subtitle {
        font-size: 1.15rem;
    }
    
    .phv-cta-button {
        width: auto;
        padding: 1rem 2.5rem;
    }
    
    .phv-quick-info-box {
        padding: 2rem;
        margin: 2rem;
    }
    
    .phv-info-grid {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 1.25rem;
    }
    
    .phv-table-of-contents {
        padding: 2rem;
        margin: 2rem;
    }
    
    .phv-table-of-contents ul {
        grid-template-columns: repeat(2, 1fr);
        display: grid;
    }
    
    .phv-main-content {
        padding: 1.5rem 2rem;
    }
    
    .phv-section h2 {
        font-size: 1.75rem;
    }
    
    .phv-card-grid {
        grid-template-columns: repeat(2, 1fr);
        display: grid;
    }
    
    .phv-feature-list {
        grid-template-columns: repeat(2, 1fr);
        display: grid;
    }
    
    .phv-cta-buttons {
        flex-direction: row;
    }
    
    .phv-cta-button.phv-primary,
    .phv-cta-button.phv-secondary {
        width: auto;
        flex: 1;
    }
    
    .phv-trust-grid {
        grid-template-columns: repeat(2, 1fr);
        display: grid;
    }
    
    .phv-image-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* ==============================================
   DESKTOP BREAKPOINT (min-width: 1024px)
   ============================================== */
@media (min-width: 1024px) {
    
    .phv-hero {
        padding: 5rem 2rem;
    }
    
    .phv-hero-content h1 {
        font-size: 2.5rem;
    }
    
    .phv-hero-subtitle {
        font-size: 1.25rem;
    }
    
    .phv-quick-info-box {
        padding: 2.5rem;
        margin: 2.5rem auto 3rem;
        max-width: 1200px;
    }
    
    .phv-quick-info-box h2 {
        font-size: 1.75rem;
        text-align: center;
    }
    
    .phv-info-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 1.5rem;
    }
    
    .phv-table-of-contents {
        margin: 2rem auto 3rem;
        width: 1200px;   
    }
    
    .phv-table-of-contents h3 {
        font-size: 1.5rem;
    }
    
    .phv-main-content {
        padding: 2rem;
    }
    
    .phv-section {
        margin-bottom: 3rem;
    }
    
    .phv-section h2 {
        font-size: 2rem;
    }
    
    .phv-section h3 {
        font-size: 1.5rem;
    }
    
    .phv-card-grid {
        grid-template-columns: repeat(3, 1fr);
    }
    
    .phv-final-cta-section {
        padding: 3rem 2rem;
    }
    
    .phv-cta-content h2 {
        font-size: 2rem;
    }
    
    .phv-cta-content > p {
        font-size: 1.1rem;
    }
    
    .phv-trust-section {
        padding: 3rem 2rem;
    }
    
    .phv-trust-section h3 {
        font-size: 1.75rem;
    }
    
    .phv-trust-grid {
        grid-template-columns: repeat(4, 1fr);
    }
    
    .phv-image-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

/* ==============================================
   LARGE DESKTOP BREAKPOINT (min-width: 1200px)
   ============================================== */
@media (min-width: 1200px) {
    
    .phv-hero-content h1 {
        font-size: 3rem;
    }
    
    .phv-section h2 {
        font-size: 2.25rem;
    }
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

:root {
    --kfz-primary-blue: #0a5888;
    --kfz-cta-orange: #eb662a;
    --kfz-light-gray: #f5f7fa;
    --kfz-dark-gray: #333;
    --kfz-medium-gray: #666;
    --kfz-border-color: #e1e4e8;
    --kfz-success-green: #28a745;
    --kfz-warning-yellow: #ffc107;
}

body {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    line-height: 1.6;
    color: var(--kfz-dark-gray);
}

.kfz-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 16px;
}

/* Hero Section - Mobile First */
.kfz-hero {
    background: linear-gradient(135deg, var(--kfz-primary-blue) 0%, #084a73 100%);
    color: white;
    padding: 40px 16px 32px;
    text-align: left;
}

.kfz-hero h1 {
    font-size: 1.75rem;
    margin-bottom: 16px;
    font-weight: 700;
    line-height: 1.2;
}

.kfz-hero-subtitle {
    font-size: 1rem;
    margin-bottom: 24px;
    opacity: 0.95;
    line-height: 1.5;
}

.kfz-cta-button {
    display: inline-block;
    padding: 14px 28px;
    background-color: var(--kfz-cta-orange);
    color: #fff;
    text-decoration: none;
    font-weight: 600;
    font-size: 1rem;
    border-radius: 50px;
    transition: all 0.3s ease;
    box-shadow: 0 4px 8px rgba(0,0,0,0.12);
    width: 100%;
    text-align: center;
}

.kfz-cta-button:hover {
    background-color: #d45620;
    transform: translateY(-2px);
    box-shadow: 0 8px 16px rgba(0,0,0,0.15);
}

.kfz-cta-button i {
    margin-right: 8px;
}

/* Quick Info Box - Mobile First */
.kfz-quick-info-box {
    background: linear-gradient(135deg, #fff5e6 0%, #fff 100%);
    border: 2px solid var(--kfz-cta-orange);
    border-radius: 12px;
    padding: 24px 16px;
    margin: 40px 16px;
    position: relative;
    box-shadow: 0 8px 16px rgba(0,0,0,0.15);
}

.kfz-quick-info-box h2 {
    color: var(--kfz-primary-blue);
    font-size: 1.5rem;
    margin-bottom: 20px;
    text-align: left;
}

.kfz-info-grid {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.kfz-info-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    background: #fff;
    padding: 16px;
    border-radius: 8px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.kfz-info-icon {
    font-size: 1.75rem;
    flex-shrink: 0;
    color: var(--kfz-primary-blue);
}

.kfz-info-item strong {
    display: block;
    color: var(--kfz-primary-blue);
    font-size: 1.05rem;
    margin-bottom: 6px;
}

.kfz-info-item p {
    color: var(--kfz-medium-gray);
    font-size: 0.9rem;
    margin: 0;
    line-height: 1.5;
}

/* Table of Contents - Mobile First */
.kfz-table-of-contents {
    background: var(--kfz-light-gray);
    border-left: 4px solid var(--kfz-primary-blue);
    padding: 20px 16px;
    margin: 0 16px 40px;
    border-radius: 8px;
}

.kfz-table-of-contents h3 {
    color: var(--kfz-primary-blue);
    font-size: 1.3rem;
    margin-bottom: 16px;
    text-align: left;
}

.kfz-table-of-contents ul {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.kfz-table-of-contents li {
    position: relative;
    padding-left: 24px;
}

.kfz-table-of-contents li::before {
    content: '\f061';
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    position: absolute;
    left: 0;
    color: var(--kfz-cta-orange);
    font-size: 0.8rem;
}

.kfz-table-of-contents a {
    color: var(--kfz-dark-gray);
    text-decoration: none;
    transition: color 0.3s;
    font-size: 0.95rem;
}

.kfz-table-of-contents a:hover {
    color: var(--kfz-primary-blue);
    text-decoration: underline;
}

/* Main Content - Mobile First */
.kfz-main-content {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 16px;
}

.kfz-intro-section {
    margin-bottom: 40px;
}

.kfz-intro-section p {
    margin-bottom: 16px;
    line-height: 1.7;
    font-size: 1rem;
    text-align: left;
}

.kfz-content-section {
    margin-bottom: 50px;
    scroll-margin-top: 80px;
}

.kfz-content-section h2 {
    color: var(--kfz-primary-blue);
    font-size: 1.5rem;
    margin-bottom: 20px;
    padding-bottom: 10px;
    border-bottom: 3px solid var(--kfz-cta-orange);
    text-align: left;
}

.kfz-content-section h3 {
    color: var(--kfz-dark-gray);
    font-size: 1.25rem;
    margin-top: 24px;
    margin-bottom: 12px;
    text-align: left;
}

.kfz-content-section h4 {
    color: var(--kfz-primary-blue);
    font-size: 1.1rem;
    margin-top: 20px;
    margin-bottom: 10px;
    text-align: left;
}

.kfz-content-section p {
    margin-bottom: 16px;
    line-height: 1.7;
    font-size: 1rem;
    text-align: left;
}

.kfz-content-section ul {
    margin: 16px 0 16px 20px;
}

.kfz-content-section ul li {
    margin-bottom: 10px;
    line-height: 1.6;
    text-align: left;
}

.kfz-detailed-list li {
    margin-bottom: 16px;
}

.kfz-detailed-list strong {
    color: var(--kfz-primary-blue);
}

/* Info Boxes - Mobile First */
.kfz-highlight-box {
    background: linear-gradient(135deg, #e8f4f8 0%, #d1e7f0 100%);
    border-left: 5px solid var(--kfz-primary-blue);
    padding: 16px;
    margin: 20px 0;
    border-radius: 8px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.kfz-highlight-box h4 {
    color: var(--kfz-primary-blue);
    font-size: 1.15rem;
    margin-bottom: 10px;
    margin-top: 0;
}

.kfz-highlight-box h4 i {
    margin-right: 8px;
}

.kfz-highlight-box p {
    margin-bottom: 0;
    line-height: 1.6;
}

.kfz-warning-box {
    background: linear-gradient(135deg, #fff3cd 0%, #ffe7a0 100%);
    border-left: 5px solid var(--kfz-warning-yellow);
    padding: 16px;
    margin: 20px 0;
    border-radius: 8px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.kfz-warning-box h4 {
    color: #856404;
    font-size: 1.15rem;
    margin-bottom: 10px;
    margin-top: 0;
}

.kfz-warning-box h4 i {
    margin-right: 8px;
}

.kfz-warning-box p {
    color: #856404;
    margin-bottom: 0;
    line-height: 1.6;
}

/* Leistungen Grid - Mobile First */
.kfz-leistungen-grid {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin: 20px 0;
}

.kfz-leistung-card {
    background: #fff;
    border-radius: 12px;
    padding: 20px;
    box-shadow: 0 4px 8px rgba(0,0,0,0.12);
    transition: all 0.3s ease;
}

.kfz-leistung-card:hover {
    box-shadow: 0 8px 16px rgba(0,0,0,0.15);
    transform: translateY(-5px);
}

.kfz-leistung-icon {
    font-size: 2.5rem;
    margin-bottom: 12px;
    color: var(--kfz-primary-blue);
}

.kfz-leistung-card h3 {
    color: var(--kfz-primary-blue);
    font-size: 1.2rem;
    margin-top: 0;
    margin-bottom: 12px;
}

.kfz-leistung-card ul {
    list-style: none;
    padding-left: 0;
    margin: 0;
}

.kfz-leistung-card li {
    padding: 8px 0 8px 24px;
    position: relative;
    font-size: 0.95rem;
}

.kfz-leistung-card li::before {
    content: '\f00c';
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    position: absolute;
    left: 0;
    color: var(--kfz-success-green);
    font-size: 0.9rem;
}

/* Comparison Columns - Mobile First */
.kfz-comparison-table {
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin: 20px 0;
}

.kfz-comparison-column {
    background: #fff;
    border-radius: 12px;
    padding: 20px;
    box-shadow: 0 4px 8px rgba(0,0,0,0.12);
}

.kfz-comparison-column h3 {
    color: var(--kfz-primary-blue);
    margin-top: 0;
    margin-bottom: 16px;
    font-size: 1.3rem;
}

.kfz-comparison-column h3 i {
    margin-right: 8px;
}

.kfz-comparison-column ul {
    list-style: none;
    padding-left: 0;
}

.kfz-comparison-column li {
    padding: 10px 0;
    border-bottom: 1px solid var(--kfz-border-color);
    line-height: 1.5;
}

.kfz-comparison-column li:last-child {
    border-bottom: none;
}

/* Price Cards - Mobile First */
.kfz-price-examples {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin: 20px 0;
}

.kfz-price-card {
    background: #fff;
    border: 2px solid var(--kfz-border-color);
    border-radius: 12px;
    padding: 20px;
    text-align: center;
    transition: all 0.3s ease;
}

.kfz-price-card:hover {
    border-color: var(--kfz-primary-blue);
    box-shadow: 0 4px 8px rgba(0,0,0,0.12);
    transform: translateY(-5px);
}

.kfz-price-card.kfz-highlighted {
    background: linear-gradient(135deg, #e8f4f8 0%, #d1e7f0 100%);
    border-color: var(--kfz-cta-orange);
    border-width: 3px;
}

.kfz-price-card h4 {
    color: var(--kfz-primary-blue);
    font-size: 1.15rem;
    margin-bottom: 12px;
    margin-top: 0;
}

.kfz-price {
    font-size: 2rem;
    font-weight: 700;
    color: var(--kfz-cta-orange);
    margin: 12px 0;
}

.kfz-price span {
    font-size: 0.9rem;
    font-weight: 400;
    color: var(--kfz-medium-gray);
}

.kfz-price-card ul {
    list-style: none;
    padding: 0;
    margin-top: 16px;
    text-align: left;
}

.kfz-price-card li {
    padding: 8px 0;
    font-size: 0.9rem;
    border-bottom: 1px solid var(--kfz-border-color);
}

.kfz-price-card li:last-child {
    border-bottom: none;
}

/* Tables - Mobile First with Horizontal Scroll */
.kfz-table-wrapper {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin: 20px 0;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.kfz-sf-table {
    width: 100%;
    min-width: 500px;
    border-collapse: collapse;
    background: white;
}

.kfz-sf-table thead {
    background: var(--kfz-primary-blue);
    color: white;
}

.kfz-sf-table th {
    padding: 12px 10px;
    text-align: left;
    font-weight: 600;
    font-size: 0.9rem;
}

.kfz-sf-table td {
    padding: 12px 10px;
    border-bottom: 1px solid var(--kfz-border-color);
    font-size: 0.9rem;
}

.kfz-sf-table tbody tr:nth-child(even) {
    background: var(--kfz-light-gray);
}

.kfz-sf-table tbody tr:hover {
    background: #e8eef3;
}

/* FAQ Section - Mobile First */
.kfz-faq-accordion {
    margin: 20px 0;
}

.kfz-faq-item {
    background: #fff;
    border: 1px solid var(--kfz-border-color);
    border-radius: 8px;
    margin-bottom: 12px;
    overflow: hidden;
    transition: all 0.3s ease;
}

.kfz-faq-item:hover {
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.kfz-faq-question {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px;
    cursor: pointer;
    background: var(--kfz-light-gray);
    transition: background 0.3s;
}

.kfz-faq-question:hover {
    background: #e8eef3;
}

.kfz-faq-question h3 {
    color: var(--kfz-primary-blue);
    font-size: 1rem;
    margin: 0;
    flex: 1;
    text-align: left;
}

.kfz-faq-toggle {
    font-size: 1.5rem;
    font-weight: 300;
    color: var(--kfz-cta-orange);
    transition: transform 0.3s;
    width: 30px;
    text-align: center;
    margin-left: 12px;
}

.kfz-faq-item.active .kfz-faq-toggle {
    transform: rotate(45deg);
}

.kfz-faq-answer {
    padding: 0 16px;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease, padding 0.3s ease;
}

.kfz-faq-item.active .kfz-faq-answer {
    padding: 16px;
    max-height: 2000px;
}

.kfz-faq-answer p {
    margin-bottom: 12px;
    line-height: 1.6;
    text-align: left;
}

.kfz-faq-answer ul {
    margin: 12px 0;
    padding-left: 20px;
}

.kfz-faq-answer li {
    margin-bottom: 8px;
    line-height: 1.5;
}

/* Final CTA Section - Mobile First */
.kfz-final-cta {
    background: linear-gradient(135deg, var(--kfz-primary-blue) 0%, #084a73 100%);
    color: white;
    padding: 40px 16px;
    margin-top: 60px;
    text-align: left;
}

.kfz-final-cta h2 {
    font-size: 1.75rem;
    margin-bottom: 16px;
    text-align: left;
}

.kfz-final-cta p {
    font-size: 1rem;
    margin-bottom: 24px;
    opacity: 0.95;
    text-align: left;
}

.kfz-cta-buttons {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.kfz-btn-secondary {
    display: inline-block;
    background: white;
    color: var(--kfz-primary-blue);
    padding: 14px 28px;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 600;
    font-size: 1rem;
    transition: all 0.3s;
    text-align: center;
    width: 100%;
}

.kfz-btn-secondary:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 15px rgba(0,0,0,0.2);
}

/* Trust Section - Mobile First */
.kfz-trust-section {
    max-width: 1200px;
    margin: 50px auto;
    padding: 0 16px;
}

.kfz-trust-section h3 {
    text-align: left;
    color: var(--kfz-primary-blue);
    font-size: 1.5rem;
    margin-bottom: 24px;
}

.kfz-trust-grid {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.kfz-trust-item {
    text-align: left;
    padding: 20px;
    background: var(--kfz-light-gray);
    border-radius: 8px;
    transition: all 0.3s ease;
}

.kfz-trust-item:hover {
    box-shadow: 0 4px 8px rgba(0,0,0,0.12);
    transform: translateY(-5px);
}

.kfz-trust-icon {
    font-size: 2.5rem;
    margin-bottom: 12px;
    color: var(--kfz-primary-blue);
}

.kfz-trust-item strong {
    display: block;
    color: var(--kfz-primary-blue);
    font-size: 1.1rem;
    margin-bottom: 8px;
}

.kfz-trust-item p {
    color: var(--kfz-medium-gray);
    font-size: 0.95rem;
    margin: 0;
}

/* Tablet Styles */
@media (min-width: 768px) {
    .kfz-hero {
        padding: 60px 32px 48px;
        text-align: center;
    }
    
    .kfz-hero h1 {
        font-size: 2.25rem;
    }
    
    .kfz-hero-subtitle {
        font-size: 1.15rem;
    }
    
    .kfz-cta-button {
        width: auto;
        padding: 16px 40px;
    }
    
    .kfz-quick-info-box {
        margin: 50px 32px;
        padding: 32px;
    }
    
    .kfz-quick-info-box h2 {
        font-size: 1.7rem;
        text-align: center;
    }
    
    .kfz-info-grid {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }
    
    .kfz-table-of-contents {
        margin: 0 32px 50px;
        padding: 24px;
    }
    
    .kfz-table-of-contents ul {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }
    
    .kfz-main-content {
        padding: 0 32px;
    }
    
    .kfz-content-section h2 {
        font-size: 1.75rem;
    }
    
    .kfz-content-section h3 {
        font-size: 1.4rem;
    }
    
    .kfz-leistungen-grid {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }
    
    .kfz-comparison-table {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 24px;
    }
    
    .kfz-price-examples {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }
    
    .kfz-faq-question h3 {
        font-size: 1.15rem;
    }
    
    .kfz-trust-section h3 {
        text-align: center;
        font-size: 1.75rem;
    }
    
    .kfz-trust-grid {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }
    
    .kfz-trust-item {
        text-align: center;
    }
    
    .kfz-cta-buttons {
        flex-direction: row;
        justify-content: center;
    }
    
    .kfz-cta-buttons .kfz-cta-button,
    .kfz-btn-secondary {
        width: auto;
    }
    
    .kfz-final-cta {
        text-align: center;
        padding: 60px 32px;
    }
    
    .kfz-final-cta h2 {
        text-align: center;
    }
    
    .kfz-final-cta p {
        text-align: center;
    }
}

/* Desktop Styles */
@media (min-width: 992px) {
    .kfz-hero {
        padding: 80px 20px 60px;
    }
    
    .kfz-hero h1 {
        font-size: 2.5rem;
    }
    
    .kfz-hero-subtitle {
        font-size: 1.2rem;
    }
    
    .kfz-quick-info-box {
        max-width: 1200px;
        margin: 60px auto;
        padding: 40px;
    }
    
    .kfz-quick-info-box h2 {
        font-size: 1.75rem;
    }
    
    .kfz-info-grid {
        grid-template-columns: repeat(4, 1fr);
        gap: 24px;
    }
    
    .kfz-table-of-contents {
        max-width: 1200px;
        margin: 0 auto 60px;
    }
    
    .kfz-table-of-contents ul {
        grid-template-columns: repeat(3, 1fr);
    }
    
    .kfz-content-section {
        margin-bottom: 60px;
    }
    
    .kfz-content-section h2 {
        font-size: 2rem;
    }
    
    .kfz-content-section h3 {
        font-size: 1.5rem;
    }
    
    .kfz-content-section h4 {
        font-size: 1.2rem;
    }
    
    .kfz-content-section p {
        font-size: 1.05rem;
    }
    
    .kfz-leistungen-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 24px;
    }
    
    .kfz-comparison-table {
        grid-template-columns: repeat(3, 1fr);
    }
    
    .kfz-price-examples {
        grid-template-columns: repeat(3, 1fr);
    }
    
    .kfz-cta-content {
        display: grid;
        grid-template-columns: 2fr 1fr;
        gap: 48px;
        align-items: center;
    }
    
    .kfz-cta-text h2 {
        font-size: 2rem;
        text-align: left;
    }
    
    .kfz-cta-text > p {
        font-size: 1.1rem;
    }
    
    .kfz-cta-buttons {
        flex-direction: row;
        gap: 16px;
    }
    
    .kfz-cta-button {
        width: auto;
    }
    
    .kfz-cta-image {
        margin-top: 0;
    }
    
    .kfz-makler-foto {
        width: 200px;
        height: 200px;
    }
    
    .kfz-makler-info h3 {
        font-size: 1.5rem;
    }
    
    .kfz-trust-section {
        margin: 60px auto;
    }
    
    .kfz-trust-section h3 {
        font-size: 2rem;
    }
    
    .kfz-trust-grid {
        grid-template-columns: repeat(4, 1fr);
        gap: 24px;
    }
}

html {
    scroll-behavior: smooth;
}


/* Mobile First - Hausratversicherung Styles */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

:root {
    --hausrat-primary-blue: #0a5888;
    --hausrat-cta-orange: #eb662a;
    --hausrat-light-gray: #f5f7fa;
    --hausrat-dark-gray: #333;
    --hausrat-medium-gray: #666;
    --hausrat-border-color: #e1e4e8;
    --hausrat-success-green: #28a745;
    --hausrat-warning-yellow: #ffc107;
}

body {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    line-height: 1.6;
    color: var(--hausrat-dark-gray);
}

.hausrat-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 16px;
}

/* Hero Section - Mobile First */
.hausrat-hero {
    background: linear-gradient(135deg, var(--hausrat-primary-blue) 0%, #084a73 100%);
    color: white;
    padding: 40px 16px 32px;
    text-align: left;
}

.hausrat-hero h1 {
    font-size: 1.75rem;
    margin-bottom: 16px;
    font-weight: 700;
    line-height: 1.2;
}

.hausrat-hero-subtitle {
    font-size: 1rem;
    margin-bottom: 24px;
    opacity: 0.95;
    line-height: 1.5;
}

.hausrat-cta-button {
    display: inline-block;
    background: var(--hausrat-cta-orange);
    color: white;
    padding: 14px 28px;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 600;
    font-size: 1rem;
    transition: all 0.3s;
    box-shadow: 0 4px 15px rgba(235, 102, 42, 0.3);
    width: 100%;
    text-align: center;
}

.hausrat-cta-button:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(235, 102, 42, 0.4);
}

.hausrat-cta-button i {
    margin-right: 8px;
}

/* Quick Info Box - Mobile First */
.hausrat-quick-info-box {
    background: linear-gradient(135deg, #fff5e6 0%, #fff 100%);
    border: 2px solid var(--hausrat-cta-orange);
    border-radius: 12px;
    padding: 24px 16px;
    margin: 40px 16px;
    position: relative;
    box-shadow: 0 8px 16px rgba(0,0,0,0.15);
}

.hausrat-quick-info-box h2 {
    color: var(--hausrat-primary-blue);
    font-size: 1.5rem;
    margin-bottom: 20px;
    text-align: left;
}

.hausrat-info-grid {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.hausrat-info-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    background: #fff;
    padding: 16px;
    border-radius: 8px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.hausrat-info-icon {
    font-size: 1.75rem;
    flex-shrink: 0;
    color: var(--hausrat-primary-blue);
}

.hausrat-info-item strong {
    display: block;
    color: var(--hausrat-primary-blue);
    font-size: 1.05rem;
    margin-bottom: 6px;
}

.hausrat-info-item p {
    color: var(--hausrat-medium-gray);
    font-size: 0.9rem;
    margin: 0;
    line-height: 1.5;
}

/* Table of Contents - Mobile First */
.hausrat-table-of-contents {
    background: var(--hausrat-light-gray);
    border-left: 4px solid var(--hausrat-primary-blue);
    padding: 20px 16px;
    margin: 0 16px 40px;
    border-radius: 8px;
}

.hausrat-table-of-contents h3 {
    color: var(--hausrat-primary-blue);
    font-size: 1.3rem;
    margin-bottom: 16px;
    text-align: left;
}

.hausrat-table-of-contents ul {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.hausrat-table-of-contents li {
    position: relative;
    padding-left: 24px;
}

.hausrat-table-of-contents li::before {
    content: '\f061';
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    position: absolute;
    left: 0;
    color: var(--hausrat-cta-orange);
    font-size: 0.8rem;
}

.hausrat-table-of-contents a {
    color: var(--hausrat-dark-gray);
    text-decoration: none;
    transition: color 0.3s;
    font-size: 0.95rem;
}

.hausrat-table-of-contents a:hover {
    color: var(--hausrat-primary-blue);
    text-decoration: underline;
}

/* Main Content - Mobile First */
.hausrat-main-content {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 16px;
}

.hausrat-content-section {
    margin-bottom: 50px;
    scroll-margin-top: 80px;
}

.hausrat-content-section h2 {
    color: var(--hausrat-primary-blue);
    font-size: 1.5rem;
    margin-bottom: 20px;
    padding-bottom: 10px;
    border-bottom: 3px solid var(--hausrat-cta-orange);
    text-align: left;
}

.hausrat-content-section h3 {
    color: var(--hausrat-dark-gray);
    font-size: 1.25rem;
    margin-top: 24px;
    margin-bottom: 12px;
    text-align: left;
}

.hausrat-content-section p {
    margin-bottom: 16px;
    line-height: 1.7;
    font-size: 1rem;
    text-align: left;
}

.hausrat-content-section ul {
    margin: 16px 0 16px 20px;
}

.hausrat-content-section ul li {
    margin-bottom: 10px;
    line-height: 1.6;
    text-align: left;
}

/* Highlight Box - Mobile First */
.hausrat-highlight-box {
    background: linear-gradient(135deg, #e8f4f8 0%, #d1e7f0 100%);
    border-left: 5px solid var(--hausrat-primary-blue);
    padding: 16px;
    margin: 20px 0;
    border-radius: 8px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.hausrat-highlight-box h4 {
    color: var(--hausrat-primary-blue);
    font-size: 1.15rem;
    margin-bottom: 10px;
    margin-top: 0;
}

.hausrat-highlight-box h4 i {
    margin-right: 8px;
}

.hausrat-highlight-box p {
    margin-bottom: 0;
    line-height: 1.6;
}

/* Leistungen Grid - Mobile First */
.hausrat-leistungen-grid {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin: 20px 0;
}

.hausrat-leistung-card {
    background: #fff;
    border-radius: 12px;
    padding: 20px;
    box-shadow: 0 4px 8px rgba(0,0,0,0.12);
    transition: all 0.3s ease;
}

.hausrat-leistung-card:hover {
    box-shadow: 0 8px 16px rgba(0,0,0,0.15);
    transform: translateY(-5px);
}

.hausrat-leistung-icon {
    font-size: 2.5rem;
    margin-bottom: 12px;
    color: var(--hausrat-primary-blue);
}

.hausrat-leistung-card h3 {
    color: var(--hausrat-primary-blue);
    font-size: 1.2rem;
    margin-top: 0;
    margin-bottom: 12px;
}

.hausrat-leistung-card ul {
    list-style: none;
    padding-left: 0;
    margin: 0;
}

.hausrat-leistung-card li {
    padding: 8px 0 8px 24px;
    position: relative;
    font-size: 0.95rem;
}

.hausrat-leistung-card li::before {
    content: '\f00c';
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    position: absolute;
    left: 0;
    color: var(--hausrat-success-green);
    font-size: 0.9rem;
}

/* Price Cards - Mobile First */
.hausrat-price-examples {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin: 20px 0;
}

.hausrat-price-card {
    background: #fff;
    border: 2px solid var(--hausrat-border-color);
    border-radius: 12px;
    padding: 20px;
    text-align: center;
    transition: all 0.3s ease;
}

.hausrat-price-card:hover {
    border-color: var(--hausrat-primary-blue);
    box-shadow: 0 4px 8px rgba(0,0,0,0.12);
    transform: translateY(-5px);
}

.hausrat-price-card h4 {
    color: var(--hausrat-primary-blue);
    font-size: 1.1rem;
    margin-bottom: 12px;
    margin-top: 0;
}

.hausrat-price {
    font-size: 2rem;
    font-weight: 700;
    color: var(--hausrat-cta-orange);
    margin: 12px 0;
}

.hausrat-price span {
    font-size: 0.9rem;
    font-weight: 400;
    color: var(--hausrat-medium-gray);
}

/* FAQ Section - Mobile First */
.hausrat-faq-accordion {
    margin: 20px 0;
}

.hausrat-faq-item {
    background: #fff;
    border: 1px solid var(--hausrat-border-color);
    border-radius: 8px;
    margin-bottom: 12px;
    overflow: hidden;
    transition: all 0.3s ease;
}

.hausrat-faq-item:hover {
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.hausrat-faq-question {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px;
    cursor: pointer;
    background: var(--hausrat-light-gray);
    transition: background 0.3s;
}

.hausrat-faq-question:hover {
    background: #e8eef3;
}

.hausrat-faq-question h3 {
    color: var(--hausrat-primary-blue);
    font-size: 1.05rem;
    margin: 0;
    flex: 1;
    text-align: left;
}

.hausrat-faq-toggle {
    font-size: 1.5rem;
    font-weight: 300;
    color: var(--hausrat-cta-orange);
    transition: transform 0.3s;
    width: 30px;
    text-align: center;
    margin-left: 12px;
}

.hausrat-faq-item.active .hausrat-faq-toggle {
    transform: rotate(45deg);
}

.hausrat-faq-answer {
    padding: 0 16px;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease, padding 0.3s ease;
}

.hausrat-faq-item.active .hausrat-faq-answer {
    padding: 16px;
    max-height: 2000px;
}

.hausrat-faq-answer p {
    margin-bottom: 12px;
    line-height: 1.6;
    text-align: left;
    font-size: 0.95rem;
}

/* Final CTA Section - Mobile First */
.hausrat-final-cta {
    background: linear-gradient(135deg, var(--hausrat-primary-blue) 0%, #084a73 100%);
    color: white;
    padding: 40px 16px;
    margin-top: 60px;
    text-align: left;
}

.hausrat-final-cta h2 {
    font-size: 1.75rem;
    margin-bottom: 16px;
    text-align: left;
}

.hausrat-final-cta p {
    font-size: 1rem;
    margin-bottom: 24px;
    opacity: 0.95;
    text-align: left;
}

.hausrat-cta-buttons {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.hausrat-btn-secondary {
    display: inline-block;
    background: white;
    color: var(--hausrat-primary-blue);
    padding: 14px 28px;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 600;
    font-size: 1rem;
    transition: all 0.3s;
    text-align: center;
    width: 100%;
}

.hausrat-btn-secondary:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 15px rgba(0,0,0,0.2);
}

.hausrat-btn-secondary i {
    margin-right: 8px;
}

/* Tablet Styles */
@media (min-width: 768px) {
    .hausrat-container {
        padding: 0 32px;
    }
    
    .hausrat-hero {
        padding: 60px 32px 48px;
        text-align: center;
    }
    
    .hausrat-hero h1 {
        font-size: 2.25rem;
    }
    
    .hausrat-hero-subtitle {
        font-size: 1.15rem;
    }
    
    .hausrat-cta-button {
        width: auto;
        padding: 16px 36px;
    }
    
    .hausrat-quick-info-box {
        margin: 50px 32px;
        padding: 32px;
    }
    
    .hausrat-quick-info-box h2 {
        font-size: 1.7rem;
        text-align: center;
    }
    
    .hausrat-info-grid {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }
    
    .hausrat-table-of-contents {
        margin: 0 32px 50px;
        padding: 24px;
    }
    
    .hausrat-table-of-contents ul {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }
    
    .hausrat-main-content {
        padding: 0 32px;
    }
    
    .hausrat-content-section h2 {
        font-size: 1.75rem;
    }
    
    .hausrat-content-section h3 {
        font-size: 1.4rem;
    }
    
    .hausrat-leistungen-grid {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }
    
    .hausrat-price-examples {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }
    
    .hausrat-faq-question h3 {
        font-size: 1.1rem;
    }
    
    .hausrat-cta-buttons {
        flex-direction: row;
        justify-content: center;
    }
    
    .hausrat-cta-buttons .hausrat-cta-button,
    .hausrat-btn-secondary {
        width: auto;
    }
    
    .hausrat-final-cta {
        text-align: center;
        padding: 60px 32px;
    }
    
    .hausrat-final-cta h2 {
        text-align: center;
    }
    
    .hausrat-final-cta p {
        text-align: center;
    }
}

/* Desktop Styles */
@media (min-width: 992px) {
    .hausrat-hero {
        padding: 80px 20px 60px;
    }
    
    .hausrat-hero h1 {
        font-size: 2.5rem;
    }
    
    .hausrat-hero-subtitle {
        font-size: 1.2rem;
    }
    
    .hausrat-quick-info-box {
        max-width: 1200px;
        margin: 60px auto;
        padding: 40px;
    }
    
    .hausrat-quick-info-box h2 {
        font-size: 1.75rem;
    }
    
    .hausrat-info-grid {
        grid-template-columns: repeat(4, 1fr);
        gap: 24px;
    }
    
    .hausrat-table-of-contents {
        max-width: 1200px;
        margin: 0 auto 60px;
    }
    
    .hausrat-table-of-contents ul {
        grid-template-columns: repeat(3, 1fr);
    }
    
    .hausrat-content-section {
        margin-bottom: 60px;
    }
    
    .hausrat-content-section h2 {
        font-size: 2rem;
    }
    
    .hausrat-content-section h3 {
        font-size: 1.5rem;
    }
    
    .hausrat-content-section p {
        font-size: 1.05rem;
    }
    
    .hausrat-leistungen-grid {
        grid-template-columns: repeat(4, 1fr);
        gap: 24px;
    }
    
    .hausrat-price-examples {
        grid-template-columns: repeat(3, 1fr);
    }
    
    .hausrat-faq-question h3 {
        font-size: 1.2rem;
    }
}

html {
    scroll-behavior: smooth;
}
:root {
    --av-primary-blue: #0a5888;
    --av-cta-orange: #eb662a;
    --av-light-gray: #f8f9fa;
    --av-text-dark: #2c3e50;
    --av-text-gray: #6c757d;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    line-height: 1.7;
    color: var(--av-text-dark);
}

/* Container - Mobile First */
.av-container {
    width: 100%;
    padding: 0 16px;
    margin: 0 auto;
}

@media (min-width: 768px) {
    .av-container {
        padding: 0 32px;
    }
}

@media (min-width: 1024px) {
    .av-container {
        max-width: 1200px;
        padding: 0 20px;
    }
}

/* Hero Section - Mobile First */
.av-hero {
    background: linear-gradient(135deg, var(--av-primary-blue) 0%, #084a73 100%);
    color: white;
    padding: 60px 16px 50px;
    position: relative;
    overflow: hidden;
}

@media (min-width: 768px) {
    .av-hero {
        padding: 70px 32px 60px;
    }
}

@media (min-width: 1024px) {
    .av-hero {
        padding: 80px 20px 60px;
    }
}

.av-hero-content {
    max-width: 1200px;
    margin: 0 auto;
    text-align: left;
}

@media (min-width: 768px) {
    .av-hero-content {
        text-align: center;
    }
}

.av-hero-title {
    font-size: 1.8em;
    margin-bottom: 16px;
    font-weight: 700;
    line-height: 1.2;
    text-align: left;
}

@media (min-width: 768px) {
    .av-hero-title {
        font-size: 2.2em;
        text-align: center;
    }
}

@media (min-width: 1024px) {
    .av-hero-title {
        font-size: 2.5em;
        margin-bottom: 20px;
    }
}

.av-hero-subtitle {
    font-size: 1.1em;
    margin-bottom: 24px;
    opacity: 0.95;
    text-align: left;
}

@media (min-width: 768px) {
    .av-hero-subtitle {
        font-size: 1.2em;
        text-align: center;
    }
}

@media (min-width: 1024px) {
    .av-hero-subtitle {
        font-size: 1.3em;
    }
}

.av-btn-primary {
    display: inline-block;
    padding: 14px 28px;
    background: var(--av-cta-orange);
    color: white;
    text-decoration: none;
    border-radius: 8px;
    font-weight: 600;
    font-size: 1em;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(235, 102, 42, 0.3);
    width: 100%;
    text-align: center;
}

@media (min-width: 768px) {
    .av-btn-primary {
        width: auto;
        padding: 16px 40px;
        font-size: 1.1em;
    }
}

.av-btn-primary:hover {
    background: #d45a1f;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(235, 102, 42, 0.4);
}

/* ========================================
   TABLE OF CONTENTS (TOC)
   ======================================== */
.av-toc-wrapper {
    background: white;
    padding: 24px 16px;
    margin: 0 16px 40px;
    border-radius: 12px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.08);
}

@media (min-width: 768px) {
    .av-toc-wrapper {
        padding: 32px;
        margin: 0 32px 50px;
    }
}

@media (min-width: 1024px) {
    .av-toc-wrapper {
        max-width: 1100px;
        margin: 0 auto 60px;
        padding: 40px;
    }
}

.av-toc-title {
    color: var(--av-primary-blue);
    font-size: 1.3em;
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    gap: 10px;
    font-weight: 600;
}

@media (min-width: 768px) {
    .av-toc-title {
        font-size: 1.5em;
    }
}

.av-toc-list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
    list-style: none;
}

@media (min-width: 768px) {
    .av-toc-list {
        grid-template-columns: repeat(2, 1fr);
        gap: 16px;
    }
}

.av-toc-list li {
    margin: 0;
    padding: 0;
}

.av-toc-list a {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    background: var(--av-light-gray);
    border-radius: 8px;
    color: var(--av-text-dark);
    text-decoration: none;
    transition: all 0.3s ease;
    font-size: 0.95em;
    border-left: 3px solid transparent;
}

.av-toc-list a:hover {
    background: var(--av-primary-blue);
    color: white;
    border-left-color: var(--av-cta-orange);
    transform: translateX(5px);
}

.av-toc-list a i {
    color: var(--av-primary-blue);
    font-size: 1.1em;
    min-width: 20px;
}

.av-toc-list a:hover i {
    color: white;
}

/* Quick Info Box - Mobile First */
.av-quick-info {
    background: white;
    padding: 24px 16px;
    margin: -30px 16px 40px;
    border-radius: 12px;
    box-shadow: 0 10px 40px rgba(0,0,0,0.1);
    position: relative;
    z-index: 10;
}

@media (min-width: 768px) {
    .av-quick-info {
        padding: 32px;
        margin: -40px 32px 50px;
    }
}

@media (min-width: 1024px) {
    .av-quick-info {
        padding: 40px;
        margin: -40px auto 60px;
        max-width: 1100px;
    }
}

.av-quick-info-title {
    color: var(--av-primary-blue);
    margin-bottom: 20px;
    font-size: 1.4em;
    text-align: left;
}

@media (min-width: 768px) {
    .av-quick-info-title {
        font-size: 1.6em;
        text-align: center;
        margin-bottom: 25px;
    }
}

@media (min-width: 1024px) {
    .av-quick-info-title {
        font-size: 1.8em;
    }
}

.av-info-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px;
}

@media (min-width: 768px) {
    .av-info-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 28px;
    }
}

@media (min-width: 1024px) {
    .av-info-grid {
        grid-template-columns: repeat(4, 1fr);
        gap: 30px;
    }
}

.av-info-item {
    text-align: left;
}

@media (min-width: 768px) {
    .av-info-item {
        text-align: center;
    }
}

.av-info-icon {
    font-size: 2.5em;
    color: var(--av-primary-blue);
    margin-bottom: 12px;
    display: block;
}

@media (min-width: 1024px) {
    .av-info-icon {
        font-size: 3em;
        margin-bottom: 15px;
    }
}

.av-info-item-title {
    display: block;
    font-weight: 600;
    color: var(--av-primary-blue);
    margin-bottom: 8px;
    font-size: 1.05em;
}

@media (min-width: 1024px) {
    .av-info-item-title {
        font-size: 1.1em;
    }
}

.av-info-item-text {
    font-size: 0.95em;
    line-height: 1.5;
}

/* Content Sections - Mobile First */
.av-content-section {
    padding: 40px 16px;
}

@media (min-width: 768px) {
    .av-content-section {
        padding: 50px 32px;
    }
}

@media (min-width: 1024px) {
    .av-content-section {
        padding: 60px 20px;
    }
}

.av-content-section-gray {
    background: var(--av-light-gray);
}

.av-section-header {
    text-align: left;
    margin-bottom: 24px;
}

@media (min-width: 1024px) {
    .av-section-header {
        margin-bottom: 30px;
    }
}

.av-section-title {
    color: var(--av-primary-blue);
    font-size: 1.6em;
    margin-bottom: 12px;
    border-bottom: 3px solid var(--av-cta-orange);
    padding-bottom: 12px;
    text-align: left;
}

@media (min-width: 768px) {
    .av-section-title {
        font-size: 1.8em;
        padding-bottom: 14px;
    }
}

@media (min-width: 1024px) {
    .av-section-title {
        font-size: 2em;
        padding-bottom: 15px;
    }
}

.av-content-text {
    max-width: 1100px;
    margin: 0 auto;
    text-align: left;
}

.av-content-text p {
    margin-bottom: 16px;
    font-size: 1em;
    line-height: 1.7;
}

@media (min-width: 1024px) {
    .av-content-text p {
        margin-bottom: 20px;
        font-size: 1.05em;
        line-height: 1.8;
    }
}

.av-content-text h3 {
    color: var(--av-primary-blue);
    margin-top: 28px;
    margin-bottom: 14px;
    font-size: 1.3em;
    text-align: left;
}

@media (min-width: 768px) {
    .av-content-text h3 {
        font-size: 1.4em;
        margin-top: 32px;
        margin-bottom: 16px;
    }
}

@media (min-width: 1024px) {
    .av-content-text h3 {
        font-size: 1.5em;
        margin-top: 36px;
    }
}

.av-content-text ul {
    margin: 16px 0;
    padding-left: 24px;
}

@media (min-width: 1024px) {
    .av-content-text ul {
        margin: 20px 0 20px 25px;
    }
}

.av-content-text li {
    margin-bottom: 10px;
}

@media (min-width: 1024px) {
    .av-content-text li {
        margin-bottom: 12px;
    }
}

/* Warning Box - Mobile First */
.av-warning-box {
    background: #fff3f3;
    border-left: 5px solid #dc3545;
    padding: 20px;
    margin: 24px 0;
    border-radius: 8px;
}

@media (min-width: 1024px) {
    .av-warning-box {
        padding: 25px;
        margin: 30px 0;
    }
}

.av-warning-box p {
    margin: 0;
    text-align: left;
    font-size: 0.95em;
}

@media (min-width: 1024px) {
    .av-warning-box p {
        font-size: 1em;
    }
}

/* Highlight Box - Mobile First */
.av-highlight-box {
    background: linear-gradient(135deg, #fff7ed 0%, #ffedd5 100%);
    border-left: 5px solid var(--av-cta-orange);
    padding: 20px;
    margin: 24px 0;
    border-radius: 8px;
}

@media (min-width: 1024px) {
    .av-highlight-box {
        padding: 25px;
        margin: 30px 0;
    }
}

.av-highlight-box p {
    margin: 0;
    text-align: left;
    font-size: 0.95em;
    font-weight: 500;
}

@media (min-width: 1024px) {
    .av-highlight-box p {
        font-size: 1em;
    }
}

/* Vorsorge Cards - Mobile First */
.av-vorsorge-cards {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
    margin: 24px 0;
}

@media (min-width: 768px) {
    .av-vorsorge-cards {
        grid-template-columns: repeat(2, 1fr);
        gap: 24px;
    }
}

@media (min-width: 1024px) {
    .av-vorsorge-cards {
        gap: 30px;
        margin: 30px 0;
    }
}

.av-vorsorge-card {
    background: white;
    border: 2px solid var(--av-light-gray);
    border-radius: 12px;
    padding: 24px;
    transition: all 0.3s ease;
}

@media (min-width: 1024px) {
    .av-vorsorge-card {
        padding: 28px;
    }
}

.av-vorsorge-card:hover {
    border-color: var(--av-primary-blue);
    box-shadow: 0 8px 30px rgba(0,0,0,0.12);
    transform: translateY(-3px);
}

.av-vorsorge-card h3 {
    color: var(--av-primary-blue);
    margin-bottom: 12px;
    font-size: 1.2em;
    text-align: left;
}

@media (min-width: 1024px) {
    .av-vorsorge-card h3 {
        font-size: 1.3em;
        margin-bottom: 16px;
    }
}

.av-vorsorge-card p {
    margin-bottom: 10px;
    font-size: 0.95em;
    line-height: 1.6;
}

@media (min-width: 1024px) {
    .av-vorsorge-card p {
        font-size: 1em;
    }
}

.av-vorsorge-card strong {
    color: var(--av-primary-blue);
}

/* Empfehlung Box - Mobile First */
.av-empfehlung-box {
    background: white;
    border: 2px solid var(--av-primary-blue);
    border-radius: 12px;
    padding: 20px;
    margin: 24px 0;
}

@media (min-width: 1024px) {
    .av-empfehlung-box {
        padding: 24px;
        margin: 30px 0;
    }
}

.av-empfehlung-title {
    color: var(--av-primary-blue);
    font-size: 1.2em;
    margin-bottom: 12px;
    font-weight: 600;
    text-align: left;
}

@media (min-width: 1024px) {
    .av-empfehlung-title {
        font-size: 1.3em;
        margin-bottom: 16px;
    }
}

.av-empfehlung-box ul {
    list-style: none;
    padding: 0;
}

.av-empfehlung-box li {
    padding-left: 28px;
    position: relative;
    margin-bottom: 10px;
    font-size: 0.95em;
}

@media (min-width: 1024px) {
    .av-empfehlung-box li {
        margin-bottom: 12px;
        font-size: 1em;
    }
}

.av-empfehlung-box li:before {
    content: "\f00c";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    position: absolute;
    left: 0;
    color: var(--av-cta-orange);
}

/* Calculation Box - Mobile First */
.av-calculation-box {
    background: var(--av-light-gray);
    border: 2px solid var(--av-primary-blue);
    border-radius: 12px;
    padding: 20px;
    margin: 24px 0;
}

@media (min-width: 1024px) {
    .av-calculation-box {
        padding: 24px;
        margin: 30px 0;
    }
}

.av-calculation-box-title {
    color: var(--av-primary-blue);
    font-size: 1.2em;
    margin-bottom: 12px;
    font-weight: 600;
    text-align: left;
}

@media (min-width: 1024px) {
    .av-calculation-box-title {
        font-size: 1.3em;
        margin-bottom: 16px;
    }
}

.av-calculation-box ul {
    list-style: none;
    padding: 0;
}

.av-calculation-box li {
    margin-bottom: 10px;
    font-size: 0.95em;
    padding-left: 24px;
    position: relative;
}

@media (min-width: 1024px) {
    .av-calculation-box li {
        font-size: 1em;
    }
}

.av-calculation-box li:before {
    content: "•";
    position: absolute;
    left: 0;
    color: var(--av-primary-blue);
    font-weight: 700;
    font-size: 1.3em;
}

.av-calculation-box strong {
    color: var(--av-primary-blue);
    font-size: 1.1em;
}

/* FAQ Section */
.av-faq-item {
    background: white;
    border: 2px solid var(--av-light-gray);
    border-radius: 12px;
    padding: 20px;
    margin-bottom: 16px;
    transition: all 0.3s ease;
}

@media (min-width: 1024px) {
    .av-faq-item {
        padding: 24px;
        margin-bottom: 20px;
    }
}

.av-faq-item:hover {
    border-color: var(--av-primary-blue);
    box-shadow: 0 4px 20px rgba(0,0,0,0.08);
}

.av-faq-question {
    color: var(--av-primary-blue);
    font-size: 1.1em;
    font-weight: 600;
    margin-bottom: 12px;
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

@media (min-width: 1024px) {
    .av-faq-question {
        font-size: 1.2em;
    }
}

.av-faq-answer {
    color: var(--av-text-dark);
    line-height: 1.7;
    font-size: 0.95em;
}

@media (min-width: 1024px) {
    .av-faq-answer {
        font-size: 1em;
    }
}

/* CTA Section - Mobile First */
.service-footer-cta {
    background: linear-gradient(135deg, var(--av-primary-blue) 0%, #084a73 100%);
    padding: 50px 16px;
    text-align: left;
    margin: 60px 0 0;
}

@media (min-width: 768px) {
    .service-footer-cta {
        padding: 60px 32px;
        text-align: center;
    }
}

@media (min-width: 1024px) {
    .service-footer-cta {
        padding: 70px 20px;
    }
}

.service-footer-cta-container {
    max-width: 900px;
    margin: 0 auto;
}

.service-footer-cta h2 {
    color: white;
    font-size: 1.6em;
    margin-bottom: 16px;
    text-align: left;
}

@media (min-width: 768px) {
    .service-footer-cta h2 {
        font-size: 2em;
        text-align: center;
        margin-bottom: 20px;
    }
}

@media (min-width: 1024px) {
    .service-footer-cta h2 {
        font-size: 2.2em;
    }
}

.service-footer-cta p {
    color: rgba(255,255,255,0.9);
    font-size: 1.05em;
    margin-bottom: 24px;
    text-align: left;
}

@media (min-width: 768px) {
    .service-footer-cta p {
        font-size: 1.1em;
        text-align: center;
    }
}

@media (min-width: 1024px) {
    .service-footer-cta p {
        font-size: 1.15em;
    }
}

.service-footer-cta-buttons {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-top: 24px;
}

@media (min-width: 768px) {
    .service-footer-cta-buttons {
        flex-direction: row;
        justify-content: center;
        gap: 20px;
    }
}

.service-cta-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 16px 32px;
    border-radius: 8px;
    font-weight: 600;
    font-size: 1em;
    text-decoration: none;
    transition: all 0.3s ease;
    text-align: center;
}

@media (min-width: 768px) {
    .service-cta-btn {
        padding: 16px 40px;
        font-size: 1.1em;
    }
}

.service-cta-primary {
    background: var(--av-cta-orange);
    color: white;
    box-shadow: 0 4px 15px rgba(235, 102, 42, 0.3);
}

.service-cta-primary:hover {
    background: #d45a1f;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(235, 102, 42, 0.4);
}

.service-cta-secondary {
    background: transparent;
    border: 2px solid white;
    color: white;
}

.service-cta-secondary:hover {
    background: white;
    color: var(--av-primary-blue);
}

/* Comparison Table */
.av-comparison-table {
    width: 100%;
    border-collapse: collapse;
    margin: 24px 0;
    background: white;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0,0,0,0.08);
}

@media (min-width: 1024px) {
    .av-comparison-table {
        margin: 30px 0;
    }
}

.av-comparison-table th {
    background: var(--av-primary-blue);
    color: white;
    padding: 16px;
    text-align: left;
    font-weight: 600;
    font-size: 0.95em;
}

@media (min-width: 1024px) {
    .av-comparison-table th {
        font-size: 1em;
        padding: 18px;
    }
}

.av-comparison-table td {
    padding: 14px 16px;
    border-bottom: 1px solid var(--av-light-gray);
    font-size: 0.9em;
}

@media (min-width: 1024px) {
    .av-comparison-table td {
        font-size: 0.95em;
        padding: 16px 18px;
    }
}

.av-comparison-table tr:last-child td {
    border-bottom: none;
}

.av-comparison-table tr:hover {
    background: var(--av-light-gray);
}

/* Mobile Scroll Wrapper for Table */
.av-table-wrapper {
    overflow-x: auto;
    margin: 24px 0;
}

@media (min-width: 1024px) {
    .av-table-wrapper {
        overflow-x: visible;
    }
}

:root {
    --cyb-primary-blue: #0a5888;
    --cyb-cta-orange: #eb662a;
    --cyb-light-gray: #f5f7fa;
    --cyb-dark-gray: #333;
    --cyb-medium-gray: #666;
    --cyb-border-color: #e1e4e8;
    --cyb-success-green: #28a745;
    --cyb-warning-red: #dc3545;
    --cyb-shadow-sm: 0 2px 4px rgba(0,0,0,0.1);
    --cyb-shadow-md: 0 4px 8px rgba(0,0,0,0.12);
    --cyb-shadow-lg: 0 8px 16px rgba(0,0,0,0.15);
    --cyb-transition: all 0.3s ease;
}

/* --- RESET & BASICS --- */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    line-height: 1.6;
    color: var(--cyb-dark-gray);
    background-color: #fff;
}

/* --- HERO SECTION (MOBILE FIRST - SIMPLE) --- */
.cyb-hero {
    background: var(--cyb-primary-blue);
    padding: 3rem 1rem;
}

.cyb-hero-overlay {
    max-width: 1200px;
    margin: 0 auto;
}

.cyb-hero-content {
    text-align: left;
}

.cyb-hero-content h1 {
    color: #fff;
    font-size: 1.75rem;
    font-weight: 700;
    margin-bottom: 1rem;
    text-align: left;
}

.cyb-hero-subtitle {
    color: #fff;
    font-size: 1rem;
    margin-bottom: 1.5rem;
    text-align: left;
}

.cyb-cta-button {
    display: inline-block;
    width: 100%;
    padding: 1rem 2rem;
    background-color: var(--cyb-cta-orange);
    color: #fff;
    text-decoration: none;
    font-weight: 600;
    font-size: 1rem;
    border-radius: 50px;
    transition: var(--cyb-transition);
    box-shadow: var(--cyb-shadow-md);
    text-align: center;
}

.cyb-cta-button:hover {
    background-color: #d45620;
    transform: translateY(-2px);
    box-shadow: var(--cyb-shadow-lg);
}

.cyb-cta-button i {
    margin-right: 0.5rem;
}

/* --- QUICK INFO BOX (MOBILE FIRST) --- */
.cyb-quick-info-box {
    background: #fff;
    border: 2px solid var(--cyb-cta-orange);
    border-radius: 12px;
    padding: 1.5rem;
    margin: 2rem 1rem;
    box-shadow: var(--cyb-shadow-lg);
}

.cyb-quick-info-box h2 {
    color: var(--cyb-primary-blue);
    font-size: 1.5rem;
    margin-bottom: 1.25rem;
    text-align: left;
}

.cyb-info-grid {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.cyb-info-item {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    background: #fff;
    padding: 1.25rem;
    border-radius: 8px;
    box-shadow: var(--cyb-shadow-sm);
}

.cyb-info-icon {
    font-size: 1.75rem;
    flex-shrink: 0;
    color: var(--cyb-primary-blue);
}

.cyb-info-item strong {
    display: block;
    color: var(--cyb-primary-blue);
    font-size: 1rem;
    margin-bottom: 0.5rem;
    text-align: left;
}

.cyb-info-item p {
    color: var(--cyb-medium-gray);
    font-size: 0.9rem;
    margin: 0;
    text-align: left;
}

/* --- TABLE OF CONTENTS (MOBILE FIRST) --- */
.cyb-table-of-contents {
    background: var(--cyb-light-gray);
    border-left: 4px solid var(--cyb-primary-blue);
    padding: 1.5rem;
    margin: 1.5rem 1rem;
    border-radius: 8px;
    max-width: 1200px;
}

.cyb-table-of-contents h3 {
    color: var(--cyb-primary-blue);
    font-size: 1.25rem;
    margin-bottom: 1rem;
    text-align: left;
}

.cyb-table-of-contents ul {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.cyb-table-of-contents li {
    position: relative;
    padding-left: 1.5rem;
}

.cyb-table-of-contents li::before {
    content: '\f061';
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    position: absolute;
    left: 0;
    color: var(--cyb-cta-orange);
    font-size: 0.8rem;
}

.cyb-table-of-contents a {
    color: var(--cyb-dark-gray);
    text-decoration: none;
    transition: var(--cyb-transition);
    font-size: 0.9rem;
    text-align: left;
}

.cyb-table-of-contents a:hover {
    color: var(--cyb-primary-blue);
    text-decoration: underline;
}

/* --- MAIN CONTENT (MOBILE FIRST) --- */
.cyb-main-content {
    max-width: 1200px;
    margin: 0 auto;
    padding: 1rem;
}

.cyb-section {
    margin-bottom: 2.5rem;
}

.cyb-section h2 {
    color: var(--cyb-primary-blue);
    font-size: 1.5rem;
    margin-bottom: 1.25rem;
    padding-bottom: 0.75rem;
    border-bottom: 3px solid var(--cyb-cta-orange);
    text-align: left;
}

.cyb-section h3 {
    color: var(--cyb-primary-blue);
    font-size: 1.25rem;
    margin-top: 1.5rem;
    margin-bottom: 1rem;
    text-align: left;
}

.cyb-section h4 {
    color: var(--cyb-dark-gray);
    font-size: 1.1rem;
    margin-top: 1.25rem;
    margin-bottom: 0.75rem;
    text-align: left;
}

.cyb-section p {
    margin-bottom: 1rem;
    color: var(--cyb-dark-gray);
    font-size: 1rem;
    line-height: 1.7;
    text-align: left;
}

.cyb-section ul,
.cyb-section ol {
    margin-left: 1.5rem;
    margin-bottom: 1rem;
}

.cyb-section li {
    margin-bottom: 0.5rem;
    color: var(--cyb-dark-gray);
    text-align: left;
}

.cyb-section strong {
    color: var(--cyb-primary-blue);
    font-weight: 600;
}

/* --- INFO BOXES (MOBILE FIRST) --- */
.cyb-info-box {
    background: var(--cyb-light-gray);
    border-left: 4px solid var(--cyb-primary-blue);
    padding: 1.25rem;
    margin: 1.5rem 0;
    border-radius: 4px;
}

.cyb-info-box.cyb-warning {
    background: #fff3cd;
    border-left-color: var(--cyb-warning-red);
}

.cyb-info-box.cyb-success {
    background: #d4edda;
    border-left-color: var(--cyb-success-green);
}

.cyb-info-box h4 {
    color: var(--cyb-primary-blue);
    margin-bottom: 0.75rem;
    text-align: left;
}

.cyb-info-box p {
    margin-bottom: 0.5rem;
    text-align: left;
}

.cyb-info-box ul {
    margin-left: 1.25rem;
}

/* --- HIGHLIGHT BOXES (MOBILE FIRST) --- */
.cyb-highlight-box {
    background: #fff;
    border: 2px solid var(--cyb-cta-orange);
    border-radius: 8px;
    padding: 1.5rem;
    margin: 1.5rem 0;
}

.cyb-highlight-box h3 {
    color: var(--cyb-primary-blue);
    font-size: 1.25rem;
    margin-bottom: 1rem;
    text-align: left;
}

.cyb-highlight-box p {
    color: var(--cyb-dark-gray);
    font-size: 1rem;
    margin-bottom: 0.75rem;
    text-align: left;
}

.cyb-highlight-box strong {
    color: var(--cyb-cta-orange);
}

/* --- TABLES (MOBILE FIRST - HORIZONTAL SCROLL) --- */
.cyb-table-wrapper {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin: 1.5rem 0;
    border-radius: 8px;
    box-shadow: var(--cyb-shadow-sm);
}

.cyb-table {
    width: 100%;
    min-width: 600px;
    border-collapse: collapse;
    background: #fff;
}

.cyb-table thead {
    background: var(--cyb-primary-blue);
    color: #fff;
}

.cyb-table th {
    padding: 1rem;
    text-align: left;
    font-weight: 600;
    font-size: 0.9rem;
    border-bottom: 2px solid var(--cyb-cta-orange);
}

.cyb-table td {
    padding: 1rem;
    border-bottom: 1px solid var(--cyb-border-color);
    text-align: left;
    font-size: 0.9rem;
}

.cyb-table tbody tr:hover {
    background: var(--cyb-light-gray);
}

.cyb-table tbody tr:last-child td {
    border-bottom: none;
}

/* --- CARDS (MOBILE FIRST) --- */
.cyb-card-grid {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    margin: 1.5rem 0;
}

.cyb-card {
    background: #fff;
    border: 1px solid var(--cyb-border-color);
    border-radius: 8px;
    padding: 1.5rem;
    box-shadow: var(--cyb-shadow-sm);
    transition: var(--cyb-transition);
}

.cyb-card:hover {
    box-shadow: var(--cyb-shadow-md);
    transform: translateY(-2px);
}

.cyb-card-icon {
    font-size: 2.5rem;
    color: var(--cyb-primary-blue);
    margin-bottom: 1rem;
}

.cyb-card h3 {
    color: var(--cyb-primary-blue);
    font-size: 1.25rem;
    margin-bottom: 0.75rem;
    text-align: left;
}

.cyb-card p {
    color: var(--cyb-medium-gray);
    font-size: 0.95rem;
    margin-bottom: 0.5rem;
    text-align: left;
}

.cyb-card ul {
    margin-left: 1.25rem;
    margin-top: 0.75rem;
}

.cyb-card li {
    color: var(--cyb-dark-gray);
    font-size: 0.9rem;
    margin-bottom: 0.5rem;
    text-align: left;
}

/* --- FEATURE LIST (MOBILE FIRST) --- */
.cyb-feature-list {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin: 1.5rem 0;
}

.cyb-feature-item {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    padding: 1rem;
    background: var(--cyb-light-gray);
    border-radius: 8px;
}

.cyb-feature-icon {
    font-size: 1.5rem;
    color: var(--cyb-primary-blue);
    flex-shrink: 0;
    margin-top: 0.25rem;
}

.cyb-feature-content h4 {
    color: var(--cyb-primary-blue);
    font-size: 1.1rem;
    margin-bottom: 0.5rem;
    text-align: left;
}

.cyb-feature-content p {
    color: var(--cyb-medium-gray);
    font-size: 0.9rem;
    margin: 0;
    text-align: left;
}

/* --- STATS BOX (MOBILE FIRST) --- */
.cyb-stats-box {
    background: #fff;
    border: 2px solid var(--cyb-warning-red);
    border-radius: 12px;
    padding: 1.5rem;
    margin: 1.5rem 0;
    text-align: center;
}

.cyb-stats-box h3 {
    color: var(--cyb-warning-red);
    font-size: 1.5rem;
    margin-bottom: 1rem;
}

.cyb-stat-item {
    margin: 1rem 0;
}

.cyb-stat-number {
    font-size: 2rem;
    font-weight: 700;
    color: var(--cyb-warning-red);
    display: block;
}

.cyb-stat-label {
    font-size: 0.9rem;
    color: var(--cyb-dark-gray);
}

/* --- FAQ SECTION (MOBILE FIRST) --- */
.cyb-faq-section {
    margin: 2.5rem 0;
}

.cyb-faq-section h2 {
    color: var(--cyb-primary-blue);
    font-size: 1.75rem;
    margin-bottom: 1.5rem;
    text-align: left;
}

.cyb-faq-container {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.cyb-faq-item {
    background: #fff;
    border: 1px solid var(--cyb-border-color);
    border-radius: 8px;
    overflow: hidden;
    box-shadow: var(--cyb-shadow-sm);
}

.cyb-faq-question {
    padding: 1.25rem;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    background: var(--cyb-light-gray);
    transition: var(--cyb-transition);
}

.cyb-faq-question:hover {
    background: #e8edf2;
}

.cyb-faq-question h3 {
    color: var(--cyb-primary-blue);
    font-size: 1.1rem;
    margin: 0;
    flex: 1;
    text-align: left;
}

.cyb-faq-toggle {
    font-size: 1.5rem;
    color: var(--cyb-primary-blue);
    font-weight: 700;
    flex-shrink: 0;
    transition: var(--cyb-transition);
}

.cyb-faq-item.cyb-active .cyb-faq-toggle {
    transform: rotate(45deg);
}

.cyb-faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease-out;
    padding: 0 1.25rem;
}

.cyb-faq-item.cyb-active .cyb-faq-answer {
    max-height: 2000px;
    padding: 1.25rem;
    transition: max-height 0.5s ease-in;
}

.cyb-faq-answer p {
    color: var(--cyb-dark-gray);
    font-size: 0.95rem;
    margin-bottom: 1rem;
    text-align: left;
}

.cyb-faq-answer ul {
    margin-left: 1.25rem;
    margin-bottom: 1rem;
}

.cyb-faq-answer li {
    color: var(--cyb-dark-gray);
    font-size: 0.9rem;
    margin-bottom: 0.5rem;
    text-align: left;
}

/* --- CTA SECTION (MOBILE FIRST - SIMPLE) --- */
.cyb-final-cta-section {
    background: var(--cyb-primary-blue);
    padding: 2.5rem 1rem;
    margin: 3rem 0 0 0;
    text-align: center;
}

.cyb-cta-content {
    max-width: 800px;
    margin: 0 auto;
}

.cyb-cta-content h2 {
    color: #fff;
    font-size: 1.75rem;
    margin-bottom: 1rem;
    text-align: center;
}

.cyb-cta-content > p {
    color: #fff;
    font-size: 1rem;
    margin-bottom: 1.5rem;
    text-align: center;
    line-height: 1.6;
}

.cyb-cta-buttons {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin-top: 1.5rem;
}

.cyb-cta-button.cyb-primary {
    background-color: var(--cyb-cta-orange);
    width: 100%;
}

.cyb-cta-button.cyb-secondary {
    background-color: #fff;
    color: var(--cyb-primary-blue);
    border: 2px solid #fff;
    width: 100%;
}

.cyb-cta-button.cyb-secondary:hover {
    background-color: #f0f0f0;
    color: var(--cyb-primary-blue);
}

/* --- TRUST SECTION (MOBILE FIRST) --- */
.cyb-trust-section {
    padding: 2rem 1rem;
    margin: 2.5rem 0;
}

.cyb-trust-section h3 {
    color: var(--cyb-primary-blue);
    font-size: 1.5rem;
    margin-bottom: 1.5rem;
    text-align: center;
}

.cyb-trust-grid {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.cyb-trust-item {
    background: #fff;
    border: 1px solid var(--cyb-border-color);
    border-radius: 8px;
    padding: 1.5rem;
    text-align: center;
    box-shadow: var(--cyb-shadow-sm);
}

.cyb-trust-icon {
    font-size: 2.5rem;
    color: var(--cyb-primary-blue);
    margin-bottom: 1rem;
}

.cyb-trust-item strong {
    display: block;
    color: var(--cyb-primary-blue);
    font-size: 1.1rem;
    margin-bottom: 0.75rem;
}

.cyb-trust-item p {
    color: var(--cyb-medium-gray);
    font-size: 0.9rem;
    margin: 0;
}

/* --- PRICING TABLE (MOBILE FIRST) --- */
.cyb-pricing-wrapper {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin: 1.5rem 0;
}

.cyb-pricing-table {
    width: 100%;
    min-width: 700px;
    border-collapse: collapse;
}

.cyb-pricing-table th {
    background: var(--cyb-primary-blue);
    color: #fff;
    padding: 1rem;
    text-align: center;
    font-size: 0.9rem;
}

.cyb-pricing-table td {
    padding: 1rem;
    text-align: center;
    border: 1px solid var(--cyb-border-color);
    font-size: 0.9rem;
}

.cyb-pricing-table tbody th {
    background: var(--cyb-light-gray);
    text-align: left;
    font-weight: 600;
    color: var(--cyb-dark-gray);
}

.cyb-check-icon {
    color: var(--cyb-success-green);
    font-size: 1.25rem;
}

.cyb-cross-icon {
    color: var(--cyb-warning-red);
    font-size: 1.25rem;
}

/* ==============================================
   TABLET BREAKPOINT (min-width: 768px)
   ============================================== */
@media (min-width: 768px) {
    
    .cyb-hero {
        padding: 4rem 2rem;
    }
    
    .cyb-hero-content h1 {
        font-size: 2.25rem;
    }
    
    .cyb-hero-subtitle {
        font-size: 1.15rem;
    }
    
    .cyb-cta-button {
        width: auto;
        padding: 1rem 2.5rem;
    }
    
    .cyb-quick-info-box {
        padding: 2rem;
        margin: 2rem;
    }
    
    .cyb-info-grid {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 1.25rem;
    }
    
    .cyb-table-of-contents {
        padding: 2rem;
        margin: 2rem auto;
        max-width: 1200px;
    }
    
    .cyb-table-of-contents ul {
        grid-template-columns: repeat(2, 1fr);
        display: grid;
    }
    
    .cyb-main-content {
        padding: 1.5rem 2rem;
    }
    
    .cyb-section h2 {
        font-size: 1.75rem;
    }
    
    .cyb-card-grid {
        grid-template-columns: repeat(2, 1fr);
        display: grid;
    }
    
    .cyb-feature-list {
        grid-template-columns: repeat(2, 1fr);
        display: grid;
    }
    
    .cyb-cta-buttons {
        flex-direction: row;
    }
    
    .cyb-cta-button.cyb-primary,
    .cyb-cta-button.cyb-secondary {
        width: auto;
        flex: 1;
    }
    
    .cyb-trust-grid {
        grid-template-columns: repeat(2, 1fr);
        display: grid;
    }
}

/* ==============================================
   DESKTOP BREAKPOINT (min-width: 1024px)
   ============================================== */
@media (min-width: 1024px) {
    
    .cyb-hero {
        padding: 5rem 2rem;
    }
    
    .cyb-hero-content h1 {
        font-size: 2.5rem;
    }
    
    .cyb-hero-subtitle {
        font-size: 1.25rem;
    }
    
    .cyb-quick-info-box {
        padding: 2.5rem;
        margin: 2.5rem auto 3rem;
        max-width: 1200px;
    }
    
    .cyb-quick-info-box h2 {
        font-size: 1.75rem;
        text-align: center;
    }
    
    .cyb-info-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 1.5rem;
    }
    
    .cyb-table-of-contents {
        margin: 2rem auto 3rem;
        max-width: 1200px;
    }
    
    .cyb-table-of-contents h3 {
        font-size: 1.5rem;
    }
    
    .cyb-main-content {
        padding: 2rem;
    }
    
    .cyb-section {
        margin-bottom: 3rem;
    }
    
    .cyb-section h2 {
        font-size: 2rem;
    }
    
    .cyb-section h3 {
        font-size: 1.5rem;
    }
    
    .cyb-card-grid {
        grid-template-columns: repeat(3, 1fr);
    }
    
    .cyb-final-cta-section {
        padding: 3rem 2rem;
    }
    
    .cyb-cta-content h2 {
        font-size: 2rem;
    }
    
    .cyb-cta-content > p {
        font-size: 1.1rem;
    }
    
    .cyb-trust-section {
        padding: 3rem 2rem;
    }
    
    .cyb-trust-section h3 {
        font-size: 1.75rem;
    }
    
    .cyb-trust-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

/* ==============================================
   LARGE DESKTOP BREAKPOINT (min-width: 1200px)
   ============================================== */
@media (min-width: 1200px) {
    
    .cyb-hero-content h1 {
        font-size: 3rem;
    }
    
    .cyb-section h2 {
        font-size: 2.25rem;
    }
}

:root {
    --bu-primary-blue: #0a5888;
    --bu-cta-orange: #eb662a;
    --bu-light-gray: #f8f9fa;
    --bu-text-dark: #2c3e50;
    --bu-text-gray: #6c757d;
    --border-color: #e1e4e8;
    --success-green: #28a745;
    --warning-yellow: #ffc107;
    --shadow-sm: 0 2px 4px rgba(0,0,0,0.1);
    --shadow-md: 0 4px 8px rgba(0,0,0,0.12);
    --shadow-lg: 0 8px 16px rgba(0,0,0,0.15);
    --transition: all 0.3s ease;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    line-height: 1.7;
    color: var(--bu-text-dark);
}

/* Container - Mobile First */
.bu-container {
    width: 100%;
    padding: 0 16px;
    margin: 0 auto;
}

@media (min-width: 768px) {
    .bu-container {
        padding: 0 32px;
    }
}

@media (min-width: 1024px) {
    .bu-container {
        max-width: 1200px;
        padding: 0 20px;
    }
}

/* ========================================
   HERO SECTION - EINFACHER STIL
   ======================================== */
.bu-hero {
    background: linear-gradient(135deg, var(--bu-primary-blue) 0%, #084a73 100%);
    color: white;
    padding: 60px 16px 50px;
    position: relative;
    overflow: hidden;
}

@media (min-width: 768px) {
    .bu-hero {
        padding: 70px 32px 60px;
    }
}

@media (min-width: 1024px) {
    .bu-hero {
        padding: 80px 20px 60px;
    }
}

.bu-hero-content {
    max-width: 1200px;
    margin: 0 auto;
    text-align: left;
}

@media (min-width: 768px) {
    .bu-hero-content {
        text-align: center;
    }
}

.bu-hero-title {
    font-size: 1.8em;
    margin-bottom: 16px;
    font-weight: 700;
    line-height: 1.2;
    text-align: left;
}

@media (min-width: 768px) {
    .bu-hero-title {
        font-size: 2.2em;
        text-align: center;
    }
}

@media (min-width: 1024px) {
    .bu-hero-title {
        font-size: 2.5em;
        margin-bottom: 20px;
    }
}

.bu-hero-subtitle {
    font-size: 1.1em;
    margin-bottom: 24px;
    opacity: 0.95;
    text-align: left;
}

@media (min-width: 768px) {
    .bu-hero-subtitle {
        font-size: 1.2em;
        text-align: center;
    }
}

@media (min-width: 1024px) {
    .bu-hero-subtitle {
        font-size: 1.3em;
    }
}

.bu-btn-primary {
    display: inline-block;
    padding: 14px 28px;
    background: var(--bu-cta-orange);
    color: white;
    text-decoration: none;
    border-radius: 8px;
    font-weight: 600;
    font-size: 1em;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(235, 102, 42, 0.3);
    width: 100%;
    text-align: center;
}

@media (min-width: 768px) {
    .bu-btn-primary {
        width: auto;
        padding: 16px 40px;
        font-size: 1.1em;
    }
}

.bu-btn-primary:hover {
    background: #d45a1f;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(235, 102, 42, 0.4);
}

/* ========================================
   QUICK INFO BOX - WIE ALTERSVORSORGE
   ======================================== */
.bu-quick-info {
    background: white;
    padding: 24px 16px;
    margin: -30px 16px 40px;
    border-radius: 12px;
    box-shadow: 0 10px 40px rgba(0,0,0,0.1);
    position: relative;
    z-index: 10;
}

@media (min-width: 768px) {
    .bu-quick-info {
        padding: 32px;
        margin: -40px 32px 50px;
    }
}

@media (min-width: 1024px) {
    .bu-quick-info {
        padding: 40px;
        margin: -40px auto 60px;
        max-width: 1100px;
    }
}

.bu-quick-info-title {
    color: var(--bu-primary-blue);
    margin-bottom: 20px;
    font-size: 1.4em;
    text-align: left;
}

@media (min-width: 768px) {
    .bu-quick-info-title {
        font-size: 1.6em;
        text-align: center;
        margin-bottom: 25px;
    }
}

@media (min-width: 1024px) {
    .bu-quick-info-title {
        font-size: 1.8em;
    }
}

.bu-info-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px;
}

@media (min-width: 768px) {
    .bu-info-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 28px;
    }
}

@media (min-width: 1024px) {
    .bu-info-grid {
        grid-template-columns: repeat(4, 1fr);
        gap: 30px;
    }
}

.bu-info-item {
    text-align: left;
}

@media (min-width: 768px) {
    .bu-info-item {
        text-align: center;
    }
}

.bu-info-icon {
    font-size: 2.5em;
    color: var(--bu-primary-blue);
    margin-bottom: 12px;
    display: block;
}

@media (min-width: 1024px) {
    .bu-info-icon {
        font-size: 3em;
        margin-bottom: 15px;
    }
}

.bu-info-item-title {
    display: block;
    font-weight: 600;
    color: var(--bu-primary-blue);
    margin-bottom: 8px;
    font-size: 1.05em;
}

@media (min-width: 1024px) {
    .bu-info-item-title {
        font-size: 1.1em;
    }
}

.bu-info-item-text {
    font-size: 0.95em;
    line-height: 1.5;
}

/* ========================================
   TABLE OF CONTENTS - WIE ALTERSVORSORGE
   ======================================== */
.bu-toc-wrapper {
    background: white;
    padding: 24px 16px;
    margin: 0 16px 40px;
    border-radius: 12px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.08);
}

@media (min-width: 768px) {
    .bu-toc-wrapper {
        padding: 32px;
        margin: 0 32px 50px;
    }
}

@media (min-width: 1024px) {
    .bu-toc-wrapper {
        max-width: 1100px;
        margin: 0 auto 60px;
        padding: 40px;
    }
}

.bu-toc-title {
    color: var(--bu-primary-blue);
    font-size: 1.3em;
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    gap: 10px;
    font-weight: 600;
}

@media (min-width: 768px) {
    .bu-toc-title {
        font-size: 1.5em;
    }
}

.bu-toc-list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
    list-style: none;
}

@media (min-width: 768px) {
    .bu-toc-list {
        grid-template-columns: repeat(2, 1fr);
        gap: 16px;
    }
}

.bu-toc-list li {
    margin: 0;
    padding: 0;
}

.bu-toc-list a {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    background: var(--bu-light-gray);
    border-radius: 8px;
    color: var(--bu-text-dark);
    text-decoration: none;
    transition: all 0.3s ease;
    font-size: 0.95em;
    border-left: 3px solid transparent;
}

.bu-toc-list a:hover {
    background: var(--bu-primary-blue);
    color: white;
    border-left-color: var(--bu-cta-orange);
    transform: translateX(5px);
}

.bu-toc-list a i {
    color: var(--bu-primary-blue);
    font-size: 1.1em;
    min-width: 20px;
}

.bu-toc-list a:hover i {
    color: white;
}

/* ========================================
   CONTENT SECTIONS
   ======================================== */
.bu-main-content {
    max-width: 1200px;
    margin: 0 auto;
}

.bu-intro-section {
    padding: 40px 16px;
}

@media (min-width: 768px) {
    .bu-intro-section {
        padding: 50px 32px;
    }
}

@media (min-width: 1024px) {
    .bu-intro-section {
        padding: 60px 20px;
    }
}

.bu-intro-section p {
    max-width: 1100px;
    margin: 0 auto 16px;
    font-size: 1em;
    line-height: 1.7;
}

@media (min-width: 1024px) {
    .bu-intro-section p {
        margin-bottom: 20px;
        font-size: 1.05em;
        line-height: 1.8;
    }
}

.bu-content-section {
    padding: 40px 16px;
}

@media (min-width: 768px) {
    .bu-content-section {
        padding: 50px 32px;
    }
}

@media (min-width: 1024px) {
    .bu-content-section {
        padding: 60px 20px;
    }
}

.bu-content-section-gray {
    background: var(--bu-light-gray);
}

.bu-content-section h2 {
    color: var(--bu-primary-blue);
    font-size: 1.6em;
    margin-bottom: 20px;
    border-bottom: 3px solid var(--bu-cta-orange);
    padding-bottom: 12px;
}

@media (min-width: 768px) {
    .bu-content-section h2 {
        font-size: 1.8em;
        padding-bottom: 14px;
    }
}

@media (min-width: 1024px) {
    .bu-content-section h2 {
        font-size: 2em;
        padding-bottom: 15px;
        margin-bottom: 30px;
    }
}

.bu-content-section h3 {
    color: var(--bu-primary-blue);
    margin-top: 28px;
    margin-bottom: 14px;
    font-size: 1.3em;
}

@media (min-width: 768px) {
    .bu-content-section h3 {
        font-size: 1.4em;
        margin-top: 32px;
        margin-bottom: 16px;
    }
}

@media (min-width: 1024px) {
    .bu-content-section h3 {
        font-size: 1.5em;
        margin-top: 36px;
    }
}

.bu-content-section p {
    margin-bottom: 16px;
    font-size: 1em;
    line-height: 1.7;
}

@media (min-width: 1024px) {
    .bu-content-section p {
        margin-bottom: 20px;
        font-size: 1.05em;
        line-height: 1.8;
    }
}

.bu-content-section ul {
    margin: 16px 0;
    padding-left: 24px;
}

@media (min-width: 1024px) {
    .bu-content-section ul {
        margin: 20px 0 20px 25px;
    }
}

.bu-content-section li {
    margin-bottom: 10px;
}

@media (min-width: 1024px) {
    .bu-content-section li {
        margin-bottom: 12px;
    }
}

.bu-detailed-list li {
    margin-bottom: 12px;
}

@media (min-width: 1024px) {
    .bu-detailed-list li {
        margin-bottom: 16px;
    }
}

.bu-detailed-list strong {
    color: var(--bu-primary-blue);
}

/* Warning Box */
.bu-warning-box {
    background: #fff3f3;
    border-left: 5px solid #dc3545;
    padding: 20px;
    margin: 24px 0;
    border-radius: 8px;
}

@media (min-width: 1024px) {
    .bu-warning-box {
        padding: 25px;
        margin: 30px 0;
    }
}

.bu-warning-box p {
    margin: 0 0 10px 0;
    font-size: 0.95em;
}

@media (min-width: 1024px) {
    .bu-warning-box p {
        font-size: 1em;
    }
}

.bu-warning-box ul {
    margin-top: 10px;
    padding-left: 24px;
}

/* Highlight Box */
.bu-highlight-box {
    background: linear-gradient(135deg, #fff7ed 0%, #ffedd5 100%);
    border-left: 5px solid var(--bu-cta-orange);
    padding: 20px;
    margin: 24px 0;
    border-radius: 8px;
}

@media (min-width: 1024px) {
    .bu-highlight-box {
        padding: 25px;
        margin: 30px 0;
    }
}

.bu-highlight-box p {
    margin: 0;
    font-size: 0.95em;
    font-weight: 500;
}

@media (min-width: 1024px) {
    .bu-highlight-box p {
        font-size: 1em;
    }
}

/* Stats Grid */
.bu-stats-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 20px;
    margin: 24px 0;
}

@media (min-width: 1024px) {
    .bu-stats-grid {
        gap: 30px;
        margin: 30px 0;
    }
}

.bu-stat-card {
    background: white;
    padding: 24px;
    border-radius: 12px;
    text-align: center;
    box-shadow: var(--shadow-md);
    transition: var(--transition);
}

@media (min-width: 1024px) {
    .bu-stat-card {
        padding: 28px;
    }
}

.bu-stat-card:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow-lg);
}

.bu-stat-number {
    font-size: 2.5em;
    font-weight: 700;
    color: var(--bu-cta-orange);
    display: block;
    margin-bottom: 8px;
}

@media (min-width: 1024px) {
    .bu-stat-number {
        font-size: 3em;
    }
}

.bu-stat-label {
    color: var(--bu-primary-blue);
    font-size: 1em;
    font-weight: 600;
}

@media (min-width: 1024px) {
    .bu-stat-label {
        font-size: 1.1em;
    }
}

/* Leistungen Grid */
.bu-leistungen-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
    margin: 24px 0;
}

@media (min-width: 768px) {
    .bu-leistungen-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 24px;
    }
}

@media (min-width: 1024px) {
    .bu-leistungen-grid {
        gap: 30px;
        margin: 30px 0;
    }
}

.bu-leistung-card {
    background: white;
    border-radius: 12px;
    padding: 24px;
    box-shadow: var(--shadow-md);
    transition: var(--transition);
}

@media (min-width: 1024px) {
    .bu-leistung-card {
        padding: 28px;
    }
}

.bu-leistung-card:hover {
    box-shadow: var(--shadow-lg);
    transform: translateY(-5px);
}

.bu-leistung-icon {
    font-size: 2.5em;
    margin-bottom: 12px;
    color: var(--bu-primary-blue);
}

@media (min-width: 1024px) {
    .bu-leistung-icon {
        font-size: 3em;
        margin-bottom: 16px;
    }
}

.bu-leistung-card h3 {
    color: var(--bu-primary-blue);
    font-size: 1.2em;
    margin-top: 0;
    margin-bottom: 12px;
}

@media (min-width: 1024px) {
    .bu-leistung-card h3 {
        font-size: 1.3em;
        margin-bottom: 16px;
    }
}

.bu-leistung-card p {
    font-size: 0.95em;
    line-height: 1.6;
    margin-bottom: 10px;
}

@media (min-width: 1024px) {
    .bu-leistung-card p {
        font-size: 1em;
    }
}

.bu-leistung-card ul {
    list-style: none;
    padding-left: 0;
}

.bu-leistung-card li {
    padding: 6px 0 6px 24px;
    position: relative;
    font-size: 0.9em;
}

@media (min-width: 1024px) {
    .bu-leistung-card li {
        font-size: 0.95em;
    }
}

.bu-leistung-card li::before {
    content: '\f00c';
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    position: absolute;
    left: 0;
    color: var(--success-green);
    font-size: 0.9em;
}

/* Price Examples */
.bu-price-examples {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
    margin: 24px 0;
}

@media (min-width: 768px) {
    .bu-price-examples {
        grid-template-columns: repeat(3, 1fr);
        gap: 24px;
    }
}

@media (min-width: 1024px) {
    .bu-price-examples {
        gap: 30px;
        margin: 30px 0;
    }
}

.bu-price-card {
    background: white;
    border: 2px solid var(--border-color);
    border-radius: 12px;
    padding: 24px;
    text-align: center;
    transition: var(--transition);
}

@media (min-width: 1024px) {
    .bu-price-card {
        padding: 28px;
    }
}

.bu-price-card:hover {
    border-color: var(--bu-primary-blue);
    box-shadow: var(--shadow-md);
    transform: translateY(-5px);
}

.bu-price-card.highlighted {
    background: linear-gradient(135deg, #e8f4f8 0%, #d1e7f0 100%);
    border-color: var(--bu-cta-orange);
    border-width: 3px;
}

.bu-price-card h4 {
    color: var(--bu-primary-blue);
    font-size: 1.1em;
    margin: 0 0 16px 0;
}

@media (min-width: 1024px) {
    .bu-price-card h4 {
        font-size: 1.2em;
    }
}

.bu-price {
    font-size: 2em;
    font-weight: 700;
    color: var(--bu-cta-orange);
    margin: 16px 0;
}

@media (min-width: 1024px) {
    .bu-price {
        font-size: 2.5em;
    }
}

.bu-price span {
    font-size: 0.4em;
    font-weight: 400;
    color: var(--bu-text-gray);
}

.bu-price-card ul {
    list-style: none;
    padding: 0;
    margin-top: 16px;
    text-align: left;
}

.bu-price-card li {
    padding: 8px 0;
    font-size: 0.9em;
    border-bottom: 1px solid var(--border-color);
}

@media (min-width: 1024px) {
    .bu-price-card li {
        font-size: 0.95em;
    }
}

.bu-price-card li:last-child {
    border-bottom: none;
}

/* FAQ Section */
.bu-faq-accordion {
    margin: 24px 0;
}

@media (min-width: 1024px) {
    .bu-faq-accordion {
        margin: 30px 0;
    }
}

.bu-faq-item {
    background: white;
    margin-bottom: 12px;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
    transition: all 0.3s;
}

@media (min-width: 1024px) {
    .bu-faq-item {
        margin-bottom: 16px;
    }
}

.bu-faq-item:hover {
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

.bu-faq-question {
    padding: 16px 20px;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: white;
    transition: background 0.3s;
}

@media (min-width: 1024px) {
    .bu-faq-question {
        padding: 20px 25px;
    }
}

.bu-faq-question:hover {
    background: #f9fafb;
}

.bu-faq-question h3 {
    color: var(--bu-primary-blue);
    font-size: 1em;
    font-weight: 600;
    margin: 0;
    padding-right: 16px;
    flex: 1;
}

@media (min-width: 768px) {
    .bu-faq-question h3 {
        font-size: 1.1em;
    }
}

@media (min-width: 1024px) {
    .bu-faq-question h3 {
        font-size: 1.15em;
    }
}

.bu-faq-toggle {
    font-size: 1.5em;
    color: var(--bu-cta-orange);
    font-weight: 700;
    transition: transform 0.3s;
    flex-shrink: 0;
    width: 30px;
    text-align: center;
}

.bu-faq-item.active .bu-faq-toggle {
    transform: rotate(45deg);
}

.bu-faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease-out, padding 0.4s ease-out;
    padding: 0 20px;
}

@media (min-width: 1024px) {
    .bu-faq-answer {
        padding: 0 25px;
    }
}

.bu-faq-item.active .bu-faq-answer {
    max-height: 1000px;
    padding: 0 20px 20px 20px;
}

@media (min-width: 1024px) {
    .bu-faq-item.active .bu-faq-answer {
        padding: 0 25px 25px 25px;
    }
}

.bu-faq-answer p {
    color: var(--bu-text-dark);
    font-size: 0.95em;
    line-height: 1.7;
    margin: 0 0 12px 0;
}

@media (min-width: 1024px) {
    .bu-faq-answer p {
        font-size: 1.05em;
        line-height: 1.8;
    }
}

.bu-faq-answer ul {
    margin: 12px 0;
    padding-left: 24px;
}

.bu-faq-answer li {
    margin-bottom: 8px;
    font-size: 0.95em;
}

@media (min-width: 1024px) {
    .bu-faq-answer li {
        font-size: 1em;
    }
}

/* ========================================
   FOOTER CTA
   ======================================== */
.service-footer-cta {
    background: linear-gradient(135deg, var(--bu-primary-blue) 0%, #084a73 100%);
    padding: 50px 16px;
    text-align: left;
    margin: 60px 0 0;
}

@media (min-width: 768px) {
    .service-footer-cta {
        padding: 60px 32px;
        text-align: center;
    }
}

@media (min-width: 1024px) {
    .service-footer-cta {
        padding: 70px 20px;
    }
}

.service-footer-cta-container {
    max-width: 900px;
    margin: 0 auto;
}

.service-footer-cta h2 {
    color: white;
    font-size: 1.6em;
    margin-bottom: 16px;
    text-align: left;
}

@media (min-width: 768px) {
    .service-footer-cta h2 {
        font-size: 2em;
        text-align: center;
        margin-bottom: 20px;
    }
}

@media (min-width: 1024px) {
    .service-footer-cta h2 {
        font-size: 2.2em;
    }
}

.service-footer-cta p {
    color: rgba(255,255,255,0.9);
    font-size: 1.05em;
    margin-bottom: 24px;
    text-align: left;
}

@media (min-width: 768px) {
    .service-footer-cta p {
        font-size: 1.1em;
        text-align: center;
    }
}

@media (min-width: 1024px) {
    .service-footer-cta p {
        font-size: 1.15em;
    }
}

.service-footer-cta-buttons {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-top: 24px;
}

@media (min-width: 768px) {
    .service-footer-cta-buttons {
        flex-direction: row;
        justify-content: center;
        gap: 20px;
    }
}

.service-cta-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 16px 32px;
    border-radius: 8px;
    font-weight: 600;
    font-size: 1em;
    text-decoration: none;
    transition: all 0.3s ease;
    text-align: center;
}

@media (min-width: 768px) {
    .service-cta-btn {
        padding: 16px 40px;
        font-size: 1.1em;
    }
}

.service-cta-primary {
    background: var(--bu-cta-orange);
    color: white;
    box-shadow: 0 4px 15px rgba(235, 102, 42, 0.3);
}

.service-cta-primary:hover {
    background: #d45a1f;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(235, 102, 42, 0.4);
}

.service-cta-secondary {
    background: transparent;
    border: 2px solid white;
    color: white;
}

.service-cta-secondary:hover {
    background: white;
    color: var(--bu-primary-blue);
}

/* Smooth Scroll */
html {
    scroll-behavior: smooth;
}

:root {
    --premium-blue: #0a5888;
    --premium-blue-dark: #083d5f;
    --premium-orange: #eb662a;
    --premium-orange-dark: #d45620;
    --premium-white: #ffffff;
    --premium-light: #f8f9fa;
}

/* --- PREMIUM HERO SECTION --- */
.premium-hero {
    background: linear-gradient(135deg, var(--premium-blue) 0%, var(--premium-blue-dark) 100%);
    padding: 4rem 1rem 5rem;
    position: relative;
    overflow: hidden;
}

.premium-hero-container {
    max-width: 900px;
    margin: 0 auto;
    position: relative;
    z-index: 2;
}

/* --- TRUST BADGE OBEN --- */
.hero-trust-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    background: rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(10px);
    padding: 0.75rem 1.5rem;
    border-radius: 50px;
    color: var(--premium-white);
    font-size: 0.85rem;
    font-weight: 600;
    margin-bottom: 2rem;
    border: 1px solid rgba(255, 255, 255, 0.2);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
}

.hero-trust-badge i {
    font-size: 1.1rem;
    color: var(--premium-orange);
}

/* --- HAUPTINHALT MITTIG --- */
.premium-hero-content {
    text-align: center;
}

.premium-hero-content h1 {
    color: var(--premium-white);
    font-size: 2rem;
    font-weight: 800;
    margin-bottom: 1rem;
    line-height: 1.2;
    letter-spacing: -0.02em;
}

.premium-hero-subtitle {
    color: var(--premium-white);
    font-size: 1.1rem;
    line-height: 1.6;
    margin-bottom: 2rem;
    opacity: 0.95;
    max-width: 650px;
    margin-left: auto;
    margin-right: auto;
}

/* --- USP ICONS GRID --- */
.hero-usp-grid {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    margin-bottom: 2rem;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
}

.hero-usp-item {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0.75rem;
    padding: 0;
    background: none;
    border: none;
}

.hero-usp-item i {
    font-size: 1.25rem;
    color: var(--premium-orange);
    flex-shrink: 0;
    width: 24px;
}

.hero-usp-item span {
    color: var(--premium-white);
    font-size: 0.95rem;
    font-weight: 600;
    text-align: left;
}

/* --- CTA BUTTONS --- */
.premium-hero-cta-group {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    justify-content: center;
}

.premium-cta-primary,
.premium-cta-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    padding: 1rem 2.5rem;
    font-size: 1rem;
    font-weight: 600;
    border-radius: 50px;
    text-decoration: none;
    transition: all 0.3s ease;
    width: 100%;
    max-width: 280px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
}

.premium-cta-primary {
    background: var(--premium-orange);
    color: var(--premium-white);
}

.premium-cta-primary:hover {
    background: var(--premium-orange-dark);
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(235, 102, 42, 0.4);
}

.premium-cta-secondary {
    background: var(--premium-white);
    color: var(--premium-blue);
}

.premium-cta-secondary:hover {
    background: var(--premium-light);
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2);
}

.premium-cta-primary i,
.premium-cta-secondary i {
    font-size: 1.1rem;
}

/* --- DECORATIVE ELEMENTS --- */
.hero-decoration {
    position: absolute;
    border-radius: 50%;
    opacity: 0.08;
    pointer-events: none;
}

.hero-decoration-1 {
    width: 400px;
    height: 400px;
    background: radial-gradient(circle, rgba(255, 255, 255, 0.3) 0%, transparent 70%);
    top: -150px;
    right: -100px;
    animation: float 6s ease-in-out infinite;
}

.hero-decoration-2 {
    width: 300px;
    height: 300px;
    background: radial-gradient(circle, rgba(235, 102, 42, 0.4) 0%, transparent 70%);
    bottom: -100px;
    left: -80px;
    animation: float 8s ease-in-out infinite reverse;
}

@keyframes float {
    0%, 100% {
        transform: translateY(0px) scale(1);
    }
    50% {
        transform: translateY(-20px) scale(1.05);
    }
}

/* ==============================================
   RESPONSIVE BREAKPOINTS
   ============================================== */

/* TABLET */
@media (min-width: 768px) {
    .premium-hero {
        padding: 5rem 2rem 6rem;
    }
    
    .hero-trust-badge {
        font-size: 0.9rem;
        padding: 0.875rem 1.75rem;
    }
    
    .premium-hero-content h1 {
        font-size: 2.5rem;
    }
    
    .premium-hero-subtitle {
        font-size: 1.2rem;
    }
    
    /* USP Boxes zurück ab Tablet */
    .hero-usp-grid {
        display: flex;
        flex-direction: row;
        justify-content: center;
        gap: 1.25rem;
        margin-bottom: 2.5rem;
    }
    
    .hero-usp-item {
        background: rgba(255, 255, 255, 0.12);
        backdrop-filter: blur(10px);
        padding: 1.25rem;
        border-radius: 12px;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        border: 1px solid rgba(255, 255, 255, 0.15);
        transition: all 0.3s ease;
        min-width: 150px;
        flex: 0 1 auto;
    }
    
    .hero-usp-item:hover {
        background: rgba(255, 255, 255, 0.18);
        transform: translateY(-3px);
    }
    
    .hero-usp-item i {
        font-size: 1.75rem;
        width: auto;
    }
    
    .hero-usp-item span {
        font-size: 0.9rem;
        text-align: center;
    }
    
    .premium-hero-cta-group {
        flex-direction: row;
        gap: 1.25rem;
    }
    
    .premium-cta-primary,
    .premium-cta-secondary {
        width: auto;
        min-width: 220px;
    }
}

/* DESKTOP */
@media (min-width: 1024px) {
    .premium-hero {
        padding: 6rem 2rem 7rem;
    }
    
    .premium-hero-content h1 {
        font-size: 3rem;
    }
    
    .premium-hero-subtitle {
        font-size: 1.3rem;
    }
    
    .hero-usp-grid {
        gap: 1.5rem;
    }
    
    .hero-usp-item {
        padding: 1.75rem 2rem;
        min-width: 170px;
    }
    
    .hero-usp-item i {
        font-size: 2.25rem;
        margin-bottom: 0.5rem;
    }
    
    .hero-usp-item span {
        font-size: 1rem;
    }
}

/* LARGE DESKTOP */
@media (min-width: 1200px) {
    .premium-hero-content h1 {
        font-size: 3.5rem;
    }
}

.service-hero {
    background: linear-gradient(135deg, var(--phv-primary-blue) 0%, #0d7db8 100%);
    padding: 3rem 1rem;
    min-height: 300px;
    display: flex;
    align-items: center;
}

.service-hero-overlay {
    max-width: 1200px;
    margin: 0 auto;
    width: 100%;
}

.service-hero-content {
    text-align: left;
}

.service-hero-content h1 {
    color: #fff;
    font-size: 1.75rem;
    font-weight: 700;
    margin-bottom: 1rem;
    line-height: 1.2;
    text-align: left;
}

.service-hero-subtitle {
    color: #fff;
    font-size: 1rem;
    line-height: 1.6;
    margin-bottom: 1.5rem;
    opacity: 0.95;
    text-align: left;
}

.service-hero-cta {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 1rem 2rem;
    background-color: var(--phv-cta-orange);
    color: #fff;
    text-decoration: none;
    font-weight: 600;
    font-size: 1rem;
    border-radius: 50px;
    transition: all 0.3s ease;
    box-shadow: 0 4px 12px rgba(235, 102, 42, 0.3);
    width: 100%;
    justify-content: center;
}

.service-hero-cta:hover {
    background-color: #d45620;
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(235, 102, 42, 0.4);
}

.service-hero-cta i {
    font-size: 1.1rem;
}

/* --- FOOTER CTA (MOBILE FIRST) --- */
.service-footer-cta {
    background: linear-gradient(135deg, var(--phv-primary-blue) 0%, #0d7db8 100%);
    padding: 3rem 1rem;
    margin-top: 3rem;
}

.service-footer-cta-container {
    max-width: 900px;
    margin: 0 auto;
    text-align: center;
}

.service-footer-cta h2 {
    color: #fff;
    font-size: 1.75rem;
    font-weight: 700;
    margin-bottom: 1rem;
}

.service-footer-cta p {
    color: #fff;
    font-size: 1rem;
    line-height: 1.6;
    margin-bottom: 2rem;
    opacity: 0.95;
}

.service-footer-cta-buttons {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    align-items: center;
}

.service-cta-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    padding: 1rem 2rem;
    text-decoration: none;
    font-weight: 600;
    font-size: 1rem;
    border-radius: 50px;
    transition: all 0.3s ease;
    width: 100%;
    max-width: 300px;
}

.service-cta-primary {
    background-color: var(--phv-cta-orange);
    color: #fff;
    box-shadow: 0 4px 12px rgba(235, 102, 42, 0.3);
}

.service-cta-primary:hover {
    background-color: #d45620;
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(235, 102, 42, 0.4);
}

.service-cta-secondary {
    background-color: #fff;
    color: var(--phv-primary-blue);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.service-cta-secondary:hover {
    background-color: #f8f9fa;
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.15);
}

.service-cta-btn i {
    font-size: 1.1rem;
}

/* ==============================================
   TABLET BREAKPOINT (min-width: 768px)
   ============================================== */
@media (min-width: 768px) {
    
    .service-hero {
        padding: 4rem 2rem;
        min-height: 350px;
    }
    
    .service-hero-content h1 {
        font-size: 2.25rem;
    }
    
    .service-hero-subtitle {
        font-size: 1.15rem;
    }
    
    .service-hero-cta {
        width: auto;
        padding: 1rem 2.5rem;
    }
    
    .service-footer-cta {
        padding: 4rem 2rem;
    }
    
    .service-footer-cta h2 {
        font-size: 2rem;
    }
    
    .service-footer-cta p {
        font-size: 1.1rem;
    }
    
    .service-footer-cta-buttons {
        flex-direction: row;
        justify-content: center;
    }
    
    .service-cta-btn {
        width: auto;
        min-width: 240px;
    }
}

/* ==============================================
   DESKTOP BREAKPOINT (min-width: 1024px)
   ============================================== */
@media (min-width: 1024px) {
    
    .service-hero {
        padding: 5rem 2rem;
        min-height: 400px;
    }
    
    .service-hero-content h1 {
        font-size: 2.5rem;
    }
    
    .service-hero-subtitle {
        font-size: 1.25rem;
        max-width: 800px;
    }
    
    .service-footer-cta {
        padding: 5rem 2rem;
    }
    
    .service-footer-cta h2 {
        font-size: 2.25rem;
    }
    
    .service-footer-cta p {
        font-size: 1.15rem;
    }
}

/* ==============================================
   LARGE DESKTOP BREAKPOINT (min-width: 1200px)
   ============================================== */
@media (min-width: 1200px) {
    
    .service-hero-content h1 {
        font-size: 3rem;
    }
    
    .service-hero-subtitle {
        font-size: 1.35rem;
    }
    
    .service-footer-cta h2 {
        font-size: 2.5rem;
    }
}