/* Madeja: eigenständiges Frontend. Bootstrap 5 und Schriften kommen lokal aus der Base. */
:root {--mj-ink:#30363a;--mj-muted:#667078;--mj-red:#b51b27;--mj-red-dark:#87131c;--mj-line:#e2e4e6;--mj-bg:#f7f7f7;--mj-soft:#f5efed;}
.madeja-site{color:var(--mj-ink);font-family:Roboto,Arial,sans-serif;line-height:1.65;background:#fff}
.madeja-site h1,.madeja-site h2,.madeja-site h3{font-weight:600;letter-spacing:-.03em;line-height:1.2;color:#292f32}
.madeja-site a{color:var(--mj-red);text-decoration:none}
.madeja-site a:hover{color:var(--mj-red-dark)}
.mj-skip{position:absolute;left:-9999px;top:0;z-index:1000}.mj-skip:focus{left:12px;top:10px;background:#fff;padding:8px}
.mj-header{background:#fff;border-bottom:1px solid #e4e4e4;position:relative;z-index:30}
.mj-topbar{background:#33383b;color:#e6e7e8;font-size:.77rem;letter-spacing:.035em}
.mj-topbar-inner,.mj-topbar-links{display:flex;align-items:center;gap:20px}.mj-topbar-inner{justify-content:space-between;min-height:34px}
.mj-topbar a{color:#eee}.mj-topbar a:hover{color:#fff;text-decoration:underline}
.mj-navbar{min-height:102px;background:#fff}.mj-logo{flex-shrink:0;display:inline-flex;align-items:center}.mj-logo img{width:min(264px,45vw);height:auto;display:block}
.mj-menu{align-items:center;gap:clamp(4px,1.1vw,20px)}.mj-menu .nav-link{display:block;padding:12px 10px!important;font-size:.91rem;font-weight:600;color:#3f4549;position:relative;white-space:nowrap}
.mj-menu .nav-link:hover,.mj-menu .nav-link.active{color:var(--mj-red)}.mj-menu .nav-link.active:not(.mj-nav-contact):after{content:'';height:2px;background:var(--mj-red);position:absolute;bottom:5px;left:10px;right:10px}
.mj-menu .mj-nav-contact{background:var(--mj-red);color:#fff!important;padding:11px 19px!important;margin-left:7px;transition:background .15s}.mj-menu .mj-nav-contact:hover{background:var(--mj-red-dark)}.mj-menu .mj-nav-contact span{margin-left:7px}
.mj-menu-button{border:1px solid #c9cdd0;box-shadow:none!important}.mj-menu-button .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%2330363a' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}
.mj-main{min-height:40vh}.mj-main>div.container.py-4,.mj-main>.container.py-4{padding-top:55px!important;padding-bottom:70px!important}
.mj-main .site-sitemap-page{padding:35px 0}
.mj-flashes{padding-top:22px}
.mj-overline{font-size:.73rem!important;letter-spacing:.15em;text-transform:uppercase;font-weight:700;color:var(--mj-red);margin-bottom:18px}
.mj-hero{min-height:510px;background:#eceff0 url('../img/slide4.jpg') right center/cover no-repeat;position:relative;display:flex;align-items:center}
.mj-hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.97),rgba(255,255,255,.95) 35%,rgba(255,255,255,.74) 58%,rgba(255,255,255,.13) 100%)}
.mj-hero-inner{position:relative;z-index:1;padding-top:80px;padding-bottom:90px}.mj-hero-copy{max-width:670px}
.mj-hero h1{font-size:clamp(2.6rem,4.8vw,4.85rem);line-height:1.1;margin:0 0 25px}.mj-hero h1 span{color:var(--mj-red)}
.mj-hero-copy>p:not(.mj-overline){font-size:1.11rem;color:#505c63;max-width:570px}.mj-hero-actions{display:flex;gap:13px;flex-wrap:wrap;margin-top:28px}
.mj-btn{display:inline-flex;align-items:center;gap:14px;justify-content:center;font-size:.89rem;font-weight:700;min-height:47px;padding:11px 21px;border:1px solid var(--mj-red);transition:background .15s}
.mj-btn-primary{background:var(--mj-red);color:white!important}.mj-btn-primary:hover{background:var(--mj-red-dark)}
.mj-btn-outline{background:rgba(255,255,255,.9);color:var(--mj-red)!important}.mj-btn-outline:hover{background:#fff}
.mj-welcome{padding:80px 0 58px}.mj-welcome-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(24px,5vw,75px)}.mj-welcome h2{font-size:clamp(2rem,3vw,3rem)}.mj-welcome-text{color:#596168;font-size:1.05rem}
.mj-services-section{padding:72px 0 95px;background:var(--mj-bg)}.mj-section-intro{max-width:700px;margin-bottom:30px}.mj-section-intro h2{font-size:clamp(2.0rem,3.2vw,3.2rem)}.mj-section-intro>p:last-child{color:var(--mj-muted)}
.mj-home-services{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px}.mj-home-card{padding:30px 22px 24px;border:1px solid var(--mj-line);background:#fff;min-height:286px;display:flex;flex-direction:column;transition:transform .15s,box-shadow .15s;color:#34393c!important}
.mj-home-card:hover{transform:translateY(-4px);box-shadow:0 15px 30px rgba(36,36,36,.09)}.mj-home-card-icon{display:block;height:62px}.mj-home-card-icon img{object-fit:contain;max-height:49px}.mj-home-card h3{font-size:1.25rem;margin:10px 0}.mj-home-card p{font-size:.92rem;line-height:1.65;color:#666;margin-bottom:16px}.mj-card-link{color:var(--mj-red);font-size:.85rem;font-weight:700;margin-top:auto}
.mj-cta-section{background:linear-gradient(100deg,#8b1d26,#b51b27);color:#fff;padding:56px 0}.mj-cta-grid{display:flex;align-items:center;justify-content:space-between;gap:30px}.mj-cta-section .mj-overline{color:#ffcecd}.mj-cta-section h2{color:#fff;font-size:clamp(1.9rem,3vw,2.7rem)}.mj-cta-section p{margin-bottom:0}.mj-btn-light{color:var(--mj-red)!important;background:#fff;border-color:white;white-space:nowrap}
.mj-subhero{background:#f5f6f7 url('../img/banner-steuerberatung.jpg') center/cover no-repeat;position:relative;padding:80px 0}.mj-subhero:before{content:'';position:absolute;inset:0;background:rgba(255,255,255,.87)}.mj-subhero .container-xl{position:relative}.mj-subhero h1{font-size:clamp(2.35rem,4vw,4rem);margin-bottom:0}
.mj-content-section{padding:64px 0 96px}.mj-introduction{max-width:850px;font-size:1.05rem;line-height:1.85;color:#525d64;margin-bottom:42px}.mj-service-lead{font-size:clamp(1.3rem,2vw,1.7rem);font-weight:500;color:#30383c}
.mj-services-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.mj-service-card{border:1px solid var(--mj-line);background:#fff;padding:29px 31px;scroll-margin-top:30px}
.mj-service-heading{display:flex;align-items:center;gap:17px;margin-bottom:16px}.mj-service-heading img{object-fit:contain;flex-shrink:0}.mj-service-heading h2{font-size:1.37rem;margin-bottom:0}
.mj-service-copy{color:#536068;font-size:.97rem;line-height:1.78}.mj-service-copy p:last-child{margin-bottom:0}.mj-service-copy h3{font-size:1.02rem;margin-top:5px}.mj-bottom-cta{margin-top:45px;padding:28px 31px;background:#f8f4f4;border-left:3px solid var(--mj-red);display:flex;justify-content:space-between;gap:16px;align-items:center}.mj-bottom-cta a{font-weight:700}
.mj-reading-width{max-width:1000px}.mj-archive-warning{padding:15px 20px;background:#fbf8f1;border-left:3px solid #bf9546}
.mj-document-list{padding:0;margin:30px 0;list-style:none;display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.mj-document-list li a{display:block;border:1px solid var(--mj-line);padding:15px 20px;text-transform:none}.mj-document-list li a:hover{border-color:var(--mj-red)}
.mj-footer{background:#30363a;color:#c7cdd0;padding:60px 0 0}.mj-footer h2{color:#fff;font-size:1.03rem;letter-spacing:0;margin-bottom:20px}.mj-footer a{color:#d8dde0}.mj-footer a:hover{color:#fff}.mj-footer ul{list-style:none;padding:0;margin:0}.mj-footer li{margin-bottom:9px;font-size:.89rem}.mj-footer-main{display:grid;grid-template-columns:1.6fr repeat(3,1fr);gap:35px;padding-bottom:45px}.mj-footer-logo{background:white;padding:8px;width:175px;height:auto;max-width:100%;display:block;margin-bottom:22px}.mj-footer-main p{font-size:.88rem}.mj-footer-bottom{padding:18px 0;border-top:1px solid #536068;display:flex;justify-content:space-between;gap:16px;font-size:.76rem}
.mj-main .form-control:focus{border-color:#b51b27;box-shadow:0 0 0 .2rem rgba(181,27,39,.13)}.mj-main .btn-primary{background:var(--mj-red);border-color:var(--mj-red)}.mj-main .btn-primary:hover{background:var(--mj-red-dark)}
@media(max-width:1199px){.mj-home-services{grid-template-columns:repeat(2,minmax(0,1fr))}.mj-menu .nav-link{font-size:.84rem;padding:10px 7px!important}.mj-logo img{max-width:235px}}
@media(max-width:991px){.mj-navbar{min-height:85px}.mj-menu{align-items:stretch;padding:20px 0}.mj-menu .nav-link{padding:11px 10px!important;font-size:1rem}.mj-menu .mj-nav-contact{margin:8px 0 0;text-align:center}.mj-menu .nav-link.active:not(.mj-nav-contact):after{left:10px;right:auto;width:50px}}
@media(max-width:767px){.mj-topbar-inner{min-height:32px}.mj-topbar-links{gap:10px}.mj-hero{min-height:0;background-position:66% center}.mj-hero:before{background:rgba(255,255,255,.90)}.mj-hero-inner{padding-top:70px;padding-bottom:75px}.mj-hero h1{font-size:clamp(2.35rem,9vw,3.7rem)}.mj-welcome{padding:55px 0}.mj-welcome-grid{grid-template-columns:1fr}.mj-services-section{padding:55px 0 65px}.mj-services-grid{grid-template-columns:1fr}.mj-subhero{padding:55px 0}.mj-content-section{padding:45px 0 70px}.mj-bottom-cta{display:block}.mj-bottom-cta a{display:block;margin-top:10px}.mj-cta-grid{display:block}.mj-cta-grid .mj-btn{margin-top:22px}.mj-footer-main{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px}.mj-footer-main>div:first-child{grid-column:1/-1}.mj-footer-bottom{flex-direction:column}.mj-document-list{grid-template-columns:1fr}}
@media(max-width:460px){.mj-home-services{grid-template-columns:1fr}.mj-topbar-inner>span{font-size:.68rem}.mj-topbar-links a{font-size:.7rem}.mj-service-card{padding:22px}.mj-footer-main{gap:24px 17px}.mj-hero-actions{flex-direction:column;align-items:stretch}.mj-home-card{min-height:0}.mj-hero h1{font-size:2.35rem}}
