/* Launch accessibility and responsive corrections. */
:root{--coral:#b44430;--muted:#4e666e}
[hidden]{display:none!important}
a,button,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:3px solid #b44430;outline-offset:5px}
.contact :focus-visible,.newsletter :focus-visible,.site-footer :focus-visible{outline-color:#fff}
.skip-link{position:fixed;top:8px;left:8px;z-index:1000;padding:12px 20px;background:#fff;color:#082b3a;transform:translateY(-160%)}
.skip-link:focus{transform:translateY(0)}
section[id],main[id]{scroll-margin-top:120px}
h2 em{color:#496872}
.hero{height:auto;min-height:calc(100svh - 102px)}
.hero>img{z-index:-2}.hero-shade{z-index:-1}
.hero-content{background:rgba(255,253,250,.94)}
.service-grid{grid-auto-rows:auto}
.service-card{height:auto;overflow:visible;min-height:300px}
.service-card>div{min-width:0;overflow-wrap:anywhere}
.service-card>img{min-height:0;max-height:100%;align-self:stretch}
.inquiry-form .form-note a{text-decoration:underline}
.site-footer p{overflow-wrap:anywhere}
.system-names{font-size:1.3rem;font-weight:600;color:#294c59}
.partners-intro small{color:#4e666e}
.language-switch a{display:inline-flex;align-items:center;justify-content:center;min-width:32px;min-height:32px}
.menu-toggle{min-height:44px;min-width:60px;cursor:pointer}
@media(min-width:851px) and (max-width:1200px){.site-header{height:auto;min-height:102px;flex-wrap:wrap;gap:8px;padding:8px 4vw}.site-header nav{flex-wrap:wrap;gap:12px}.brand{width:210px}}
@media(max-width:850px){section[id],main[id]{scroll-margin-top:95px}.site-header nav{max-height:calc(100svh - 82px);overflow-y:auto}.site-header nav a{padding:8px 0}.hero{min-height:700px}.hero-content{margin:3rem 7vw;padding:2rem 1.4rem}.hero h1{font-size:clamp(2.3rem,8.5vw,3.7rem)}.partners,.newsletter{grid-template-columns:minmax(0,1fr)}.service-card{min-height:220px}.site-header nav .language-switch a{padding:8px}.contact-links a{max-width:100%;overflow-wrap:anywhere}}
@media(max-width:420px){.service-card{grid-template-columns:minmax(0,1fr)}.service-card>img{height:190px;width:100%;object-fit:cover}.energy-collage{height:240px;grid-template-columns:1fr 1fr;grid-template-rows:1fr!important}.energy-collage img{height:240px}.hero-actions>*{max-width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
@media(max-width:600px){header:not(.site-header){height:auto;min-height:88px;flex-wrap:wrap;gap:8px}.back{font-size:13px}}

/* Media must not set card height through their intrinsic portrait dimensions. */
.service-card>.service-media{position:relative;padding:0;display:block;min-width:0;min-height:0;overflow:hidden;align-self:stretch}
.service-media>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.service-card>.energy-collage{position:relative;display:grid;grid-template-rows:repeat(2,minmax(0,1fr));min-height:0;height:auto;overflow:hidden}
.energy-collage>img{min-width:0;min-height:0;width:100%;height:100%;object-fit:cover}
.intro .location-note{margin:1.5rem auto 0;max-width:780px;font-size:.95rem;color:#496872}
@media(max-width:420px){.service-card>.service-media,.service-card>.energy-collage{height:190px;min-height:190px}.service-card>.energy-collage{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:minmax(0,1fr)!important}.energy-collage>img{height:190px}}
