/* Shared responsive and accessibility rules for all three design options. */
.hero-grid>*,.split>*,.contact-grid>*,.investment-calculator>*,.investment-kpis>*,.money-controls>*,.home-tool-grid>*,.home-evidence-grid>*,.home-journeys>*,.home-process>*,.grid2>*,.grid3>*,.asset-type-grid>*,.res-node>*,.profile-evidence-row>*,.footer-grid>*{min-width:0}
h1,h2,h3,.card p,.home-journey p,.res-node,.profile-layer{overflow-wrap:anywhere}
html[lang="de"] h1,html[lang="de"] h2,html[lang="de"] h3{hyphens:auto}
input,select,textarea{max-width:100%;min-width:0}
input:not([type="checkbox"]):not([type="radio"]),select,textarea{font-size:16px}
.btn,button,.language,.mobile-menu>summary{min-height:44px}
.btn{max-width:100%;white-space:normal;text-align:center}
.actions{flex-wrap:wrap}.actions>*{min-width:0}
.text-link{display:inline-flex;align-items:center;min-height:44px;max-width:100%;overflow-wrap:anywhere}
summary{min-height:44px;align-content:center}
.table-wrap{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
.table-wrap:focus-visible{outline:3px solid var(--orange-ink,#983d08);outline-offset:4px}
.investment-results{position:static!important;top:auto!important}
.investment-number,.money-number,.energy-auto strong{overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.investment-graphs{min-width:0;max-width:100%}.investment-chart{min-width:0;max-width:100%}
.investment-chart svg{max-width:100%;height:auto}.chart-data{max-width:100%;overflow-x:auto}
img,video{max-width:100%;height:auto}.office-map-canvas iframe{max-width:100%}
@media(max-width:1100px){
 .desktop-nav{display:none!important}.mobile-menu{display:block!important;position:static}
 .header-inner{position:relative;height:72px;gap:14px}.header{z-index:80}
 .brand img{width:148px;height:auto}.language{min-width:44px}
 .mobile-menu>summary{display:flex;align-items:center;justify-content:center;white-space:nowrap}
 .mobile-menu nav{top:100%;left:0;right:0;width:auto;max-height:calc(100vh - 72px);max-height:calc(100dvh - 72px);overflow-y:auto;overscroll-behavior:contain;padding-bottom:max(22px,env(safe-area-inset-bottom))}
 .mobile-menu nav a{min-height:44px;display:flex;align-items:center;white-space:normal}
 .home-tool-grid,.home-evidence-grid{gap:36px}
}
@media(max-width:900px){.investment-graphs{grid-template-columns:minmax(0,1fr)!important}}
@media(max-width:760px){
 .container{padding-left:max(22px,env(safe-area-inset-left));padding-right:max(22px,env(safe-area-inset-right))}
 .hero-grid,.split,.contact-grid,.market-results,.investment-calculator,.home-tool-grid,.home-evidence-grid,.home-journeys,.home-process{grid-template-columns:minmax(0,1fr)!important}
 .investment-graphs{grid-template-columns:minmax(0,1fr)!important}
 .grid3,.asset-type-grid{grid-template-columns:minmax(0,1fr)}
 .home-tool-copy{padding-top:0}.home-infrastructure{max-width:100%;min-width:0}
 .cta-wide{flex-wrap:wrap;gap:22px}.cta-wide>*{min-width:0;max-width:100%}
 .actions{gap:12px}.section,.home-section{scroll-margin-top:84px}
}
@media(max-width:600px){
 .form-grid,.investment-inputs .form-grid,.investment-kpis,.bess-capture-fields,.grid2{grid-template-columns:minmax(0,1fr)!important}
 .card,.home-journey,.investment-inputs,.investment-results{max-width:100%}
 .money-panel,.investment-inputs,.investment-results,.contact-form{padding:22px}
 .result-row{min-width:0}.result-row>*{min-width:0}.result-row b{overflow-wrap:anywhere}
 .source-list{overflow-wrap:anywhere}.office-map-canvas iframe{width:100%}
 .federation-nodes{grid-template-columns:minmax(0,1fr)}
 .profile-evidence-row{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:390px){
 .container{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}
 .header-inner{gap:8px}.brand img{width:128px}.brand{min-width:0}
 .money-panel,.investment-inputs,.investment-results,.contact-form,.card,.home-journey{padding-left:18px;padding-right:18px}
 .money-controls{grid-template-columns:minmax(0,1fr)}.energy-auto{min-width:0}
 .actions>.btn{width:100%}.home-context-inputs{gap:5px}.home-context-inputs span{overflow-wrap:anywhere}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto!important}*,*:before,*:after{animation:none!important;transition:none!important}
}
@media print{.mobile-menu,.desktop-nav,.language{display:none!important}}
