/* P18: preserve layout and content while making controls and errors readable. */
picture[data-sg-responsive]>source{display:none!important}
/* First-screen headings must not wait for a deferred reveal initializer. */
.sg-hero-premium .sg-reveal{opacity:1!important;transform:none!important;filter:none!important;transition:none!important;will-change:auto!important}
/* Text stays opaque throughout reveals, so intermediate frames retain contrast.
   Movement can continue; the settled colours and layout remain identical. */
[class*="hero-ani"],.sg-reveal,.sg-reveal-card,.sg-hero-reveal,.sg-reveal-text,.sg-card-rise,.sg-fade-up,.sg-fade-left,.sg-fade-right,.fade-up,.slide-left,.slide-right,.intro-reveal,.step-reveal,.methode-timeline-item,.methode-timeline-kicker,.methode-timeline-title,.etude-sim__step-content,.sim-step-ui,.sim-step-body,.sim-result,[class*="gsap-"]:not(img):not(video):not(picture){opacity:1!important;filter:none!important}
/* On mobile the LCP is the introduction, not the decorative hero image. */
@media(max-width:767px){.sg-home-hero-text .hero-ani{transform:none!important;animation:none!important;transition:none!important;will-change:auto!important}}
/* Keep mobile step changes immediate; controls and focus keep native behaviour. */
@media(max-width:767px){.etude-sim__step-content,.sim-step-body,.sim-result{animation:none!important;transition:none!important;transform:none!important}}
/* Reserve the first dynamic step only until it exists; no persistent blank space. */
@media(scripting:enabled){.simulator-step:has(#sim-step:empty){min-height:440px}@media(max-width:768px){.simulator-step:has(#sim-step:empty){min-height:500px}}}
#solarglobe-footer .footer-features,#solarglobe-footer .footer-bottom p{color:#a3a3a3;opacity:1}
#solarglobe-footer .footer-tagline{opacity:1}
#solarglobe-footer .footer-bottom a{opacity:1!important;color:#a3a3a3!important;text-decoration:underline!important}
#solarglobe-footer h2{font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#c39847;margin:0 0 4px;padding-bottom:8px;border-bottom:1px solid rgba(195,152,71,.3)}
main p a:not(.storage-button):not(.sg-btn):not(.l2-btn){text-decoration:underline!important;text-underline-offset:3px}
main .sg-hero-premium.sg-hero-solaire .sg-hero-cta .sg-btn-primary{color:#070705}
.etude-sim__reassurance{color:#a3a3a3!important}
.sg-video-container--static{position:relative}
.sg-video-toggle{position:absolute;bottom:12px;right:12px;z-index:2;max-width:calc(100% - 24px);padding:8px 12px;border:1px solid #dfbd70;border-radius:6px;background:#111;color:#f3e2ba;font:inherit;font-size:.8rem;cursor:pointer;min-height:44px}
.sg-field-error{display:block;color:#ffb4ab;font-size:.9rem;margin-top:6px}
[aria-invalid=true]{border-color:#ffb4ab!important}
:where(a,button,input,select,textarea,summary,[role=slider],[role=region][tabindex]):focus-visible{outline:3px solid #f2c96e!important;outline-offset:4px!important}
@media(max-width:640px){#solarglobe-footer h2{text-align:center}}
/* Very narrow CSS viewports also occur when a mobile page is zoomed to 200%. */
@media(max-width:359px){
 main,#solarglobe-footer{overflow-wrap:anywhere}
 main :where(div,section,article,form,ul,li){min-width:0}
 main .whitespace-nowrap{white-space:normal}
 main :where(a,button){max-width:100%;box-sizing:border-box}
 main :where(.sg-btn,.l2-btn,a.inline-block){padding-left:12px;padding-right:12px}
 #solarglobe-footer .footer-logo{max-width:100%;height:auto}
 .bloc3-card{flex-direction:column}
 .etude-sim__reassurance{flex-wrap:wrap;white-space:normal}
 #methode-timeline .methode-timeline-item{padding-left:0;padding-right:0;gap:12px}
 #methode-timeline .methode-timeline-num{flex-shrink:0}
 #methode-timeline .methode-timeline-label{min-width:0}
 main .flex,.sg-blog-index-modern .sg-section-heading{flex-wrap:wrap}
 .sg-hero-badges span{white-space:normal!important}
 .etude-sim__nav{flex-direction:column;align-items:stretch}
 .etude-sim__btn{min-width:0;padding-left:12px;padding-right:12px}
 main .sg-hero-premium.sg-hero-solaire{overflow:hidden}
 .sg-blog-index-modern .sg-blog-quick-nav,.sg-blog-index-modern .sg-blog-side-item{grid-template-columns:minmax(0,1fr)}
 .sg-blog-index-modern .sg-blog-search{max-width:100%;min-width:0}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.sg-video-toggle{transition:none} [class*="reveal"],[class*="gsap-"],[class*="hero-ani"],.fade-up,.slide-left,.slide-right,.zoom-image,.sim-step-ui,.sim-step-body,.sim-result{opacity:1!important;visibility:visible!important;filter:none!important;transform:none!important;animation:none!important;transition:none!important}}
