/* Final typography layer: headings retain the existing visual hierarchy. */
.headline-ending{white-space:nowrap}
.hero .description,body:not([data-mode=architecture]) .hero .description{font-size:16px;line-height:1.7;max-width:390px}
.section-intro>p,.service-body dd,.deliverable-copy>p,.result-list p,.work-steps p,.faq-list p,.contact-lead,.service-scope li,.legal-content p,.es-intro>p,.es-inputs p{font-size:16px;line-height:1.75}
.client-heading p,.section-tail>p,.contact-hint,.eb-lead,.eb-insight p,.es-lead{font-size:15px;line-height:1.7}
.service-body dt,#project-brief>label,#project-brief>.form-consent,.form-note,#brief-status,.eb-chapters p,.eb-scenario-note,.footer-services a,.footer-legal a,.site-footer>p,.music-credit{font-size:14px;line-height:1.65}
#project-brief>input,#project-brief>select,#project-brief>textarea{font-size:16px;line-height:1.6;min-height:48px}
.hero .outcome p{font-size:14px;line-height:1.65}
.text-action,.secondary-action,.task-links button,.direct-telegram{font-size:14px}
.music-credit{grid-column:1/-1;margin:0;color:#93a9b7}
.music-credit a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:1100px){
 .masthead{gap:16px}.masthead .site-nav{gap:14px}
 body:not([data-mode=architecture]) .hero .story{width:36vw}
 .eb-chapters p,.eb-insight p,.proof-map-hint,.proof-map-status>span{font-size:14px}
}
@media(max-width:700px){
 .masthead,.masthead.scrolled{gap:10px;padding-inline:20px}
 .brand img{width:112px}.language-switch{font-size:12px;gap:5px}.language-switch a{padding:12px 2px}
 .masthead .contact{font-size:11px;padding:8px 0;gap:5px;max-width:115px}
 .hero{min-height:960px}
 .hero .description,body:not([data-mode=architecture]) .hero .description{font-size:16px;line-height:1.65;max-width:440px}
 .hero #explore,.hero .primary-action,.hero-actions>a.explore{font-size:14px;min-height:44px}
 .hero .service,.hero #scenarios button{font-size:12px}
 .hero #scenarios button>span{font-size:10px}
 .scene-bottom,.scene-bottom>a{font-size:11px;line-height:1.5}
 .scene-bottom>a{white-space:normal}
 .hero .scene-footer{bottom:20px}
 body:not([data-mode=architecture]) .hero{min-height:calc(var(--mobile-model-top,500px) + 640px)}
 body:not([data-mode=architecture]) .hero #stage,body:not([data-mode=architecture]) .hero #transition-frame,body:not([data-mode=architecture]) .hero #scene-labels{top:var(--mobile-model-top,500px);height:380px}
 body:not([data-mode=architecture]) .hero .story{width:calc(100% - 40px)}
 body:not([data-mode=architecture]) .hero .view-tools{top:calc(var(--mobile-model-top,500px) + 330px);bottom:auto}
 body[data-mode=energy] .hero{min-height:calc(var(--mobile-model-top,500px) + 410px + var(--mobile-energy-height,400px) + var(--mobile-footer-height,180px) + 60px)}
 body[data-mode=thermal] .hero{min-height:calc(var(--mobile-model-top,500px) + 410px + var(--mobile-thermal-height,700px) + var(--mobile-footer-height,180px) + 60px)}
 .hero #energy-insight,.hero .thermal-panel{top:calc(var(--mobile-model-top,500px) + 410px);bottom:auto}
 .hero .view-tools button{font-size:12px;min-height:40px}
 .section-intro>p,.service-body dd,.deliverable-copy>p,.result-list p,.work-steps p,.faq-list p,.contact-lead,.service-scope li,.legal-content p,.es-intro>p,.es-inputs p{font-size:16px}
 .faq-list summary{font-size:16px;line-height:1.6}
 .service-body dt{margin-bottom:10px}
 .service-lead,.service-hero>.service-lead{font-size:17px;line-height:1.7}
 .client-heading{flex-direction:column;gap:12px;align-items:flex-start}.client-heading p{text-align:left}
 .work-steps{grid-template-columns:1fr;gap:26px}.work-steps p{max-width:100%}
 .eb-chapters{grid-template-columns:1fr;gap:0}.eb-chapters li{display:flex;gap:14px;align-items:flex-start}.eb-chapters li>span{margin:2px 0 0}.eb-chapters strong{font-size:16px}.eb-chapters p{font-size:14px}
 .eb-legend,.es-legend,.es-chart-note{font-size:13px}
 .eb-scenario-note,.deliverable-visual>p{font-size:13px}
 .site-footer>p{max-width:none}.footer-services,.footer-legal{gap:14px 22px}
 .thermal-kpis span,.thermal-kpis small,.thermal-chart-legend,.thermal-chart-caption{font-size:13px;line-height:1.5}
 .thermal-panel .temperatures{font-size:13px}
 .thermal-panel>label,.thermal-panel>label output,.thermal-panel .thermal-result>span{font-size:13px;line-height:1.5}
 .thermal-panel .thermal-result strong{font-size:16px}
 .scene-label__text{font-size:12px}
 .es-mini-systems,.es-mini-note{font-size:13px}
 .es-legend li,.energy-insight .es-legend li,.es-system-readings>div>span,.es-current>div>span,.energy-insight .es-current>div>span{font-size:13px}
 .es-example-label,.energy-insight .es-example-label{font-size:12px}
}
@media(max-width:380px){
 .masthead,.masthead.scrolled{padding-inline:14px;gap:7px}.brand img{width:96px}
 .masthead .contact{font-size:10px;max-width:92px}
 .language-switch{font-size:11px;gap:3px}
}

.thermal-market-note{font-size:12px;line-height:1.6;color:#9dafb8;margin:16px 0 0}.thermal-market-note a{color:#b8dadd;text-decoration:underline}
