@font-face{font-family:Areal;src:url('fonts/ABCAreal-Regular.woff2') format('woff2');font-weight:400;font-display:swap}@font-face{font-family:Areal;src:url('fonts/ABCAreal-Bold.woff2') format('woff2');font-weight:700;font-display:swap}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:#111;font:400 clamp(14px,1vw,20px)/1.24 Areal,sans-serif}h1,h2,h3,p,figure{margin:0;font:inherit}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}button,input,summary{font:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:1px solid #48ba55;outline-offset:3px}[hidden]{display:none!important}.index-stage{height:100svh;min-height:0;position:relative;padding:clamp(16px,1.3vw,28px);isolation:isolate}.site-header{display:grid;grid-template-columns:50.5% 34% minmax(0,1fr);align-items:start;gap:0}.site-header nav{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.about{max-width:650px}.index-list{position:absolute;top:20%;left:clamp(16px,1.3vw,28px);right:clamp(16px,1.3vw,28px);z-index:3}.index-labels,.index-row{display:grid;grid-template-columns:4.2% 46.5% 5.5% 20.5% 21.3% 2%;align-items:baseline;gap:0}.index-labels{margin-bottom:clamp(28px,4.2vh,48px)}.index-row{padding:1px 0;min-height:1.4em;width:100%;text-align:left}.index-row>span{padding-right:10px}.index-row .row-arrow{padding:0;text-align:right}.index-row:hover,.index-row.is-active,.index-row:focus-visible{color:#48ba55;text-decoration:none}.index-row:hover>span:not(:last-child),.index-row.is-active>span:not(:last-child){text-decoration:underline;text-underline-offset:2px}.row-arrow{visibility:hidden}.index-row:hover .row-arrow,.index-row:focus-visible .row-arrow,.index-row.is-active .row-arrow{visibility:visible}.hover-preview{position:absolute;z-index:4;pointer-events:none;left:55%;top:44%;width:32%;background:#fff}.hover-preview figure{position:relative;background:#f1f1ef;overflow:hidden}.hover-preview img{width:100%;display:block;max-height:39svh;object-fit:cover}.hover-preview figcaption,.entry-picture figcaption{position:absolute;bottom:6%;left:3%;right:3%;text-align:center;font-weight:700;font-size:clamp(20px,1.65vw,34px);line-height:1.1;color:#48ba55;-webkit-text-stroke:.6px #151515;paint-order:stroke fill}.preview-description{background:#fff;padding:7px 0 0;font-style:italic;line-height:1.22;max-height:18svh;overflow:auto}.preview-open,.preview-close{display:none}.article-pullout{position:relative;width:100%;height:60svh;background:#222;color:#fff;overflow:hidden}.article-pullout>img{width:100%;height:100%;object-fit:cover;display:block}.article-pullout::after{content:none;display:none}.pullout-copy{position:absolute;top:18px;left:16px;z-index:1;width:min(450px,calc(100% - 32px));display:grid;gap:18px}.pullout-copy a{text-decoration:underline}.subpage>.site-header{padding:clamp(16px,1.3vw,28px)}.sub-main{padding:12vh 16px 80px}.sub-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px}.sub-grid h1,.sub-grid h2{margin-bottom:24px}.sub-grid p+p{margin-top:20px}.sub-grid ul{list-style:none;padding:0}.entry-page{padding:12vh 16px 80px;max-width:1000px;margin:auto}.entry-page h1{margin:30px 0 15px}.entry-picture{position:relative;margin:30px 0}.entry-picture img{width:100%;max-height:65svh;object-fit:cover;display:block}#entry-body{max-width:650px}#entry-body p+p{margin-top:22px}.preview-empty{padding:30px;background:#eee;color:#555}
@media(max-width:800px){body{font-size:14px}.site-header{grid-template-columns:40% 45% 15%}.index-list{top:25%}.index-labels,.index-row{grid-template-columns:6% 49% 9% 16% 17% 3%}.index-labels{margin-bottom:clamp(28px,4.2vh,48px)}.index-row{padding:1px 0}.index-row>span{padding-right:5px}.hover-preview{max-width:60vw}.preview-description{font-size:13px}}
@media(hover:none),(pointer:coarse){.index-row .row-arrow{visibility:visible}.hover-preview{pointer-events:auto}.preview-open,.preview-close{display:block}.preview-open{margin-top:12px;text-decoration:underline}.preview-close{position:absolute;top:0;right:0;border:0;background:#fff;padding:3px 9px;cursor:pointer}}
@media(max-width:600px){.index-stage{height:100svh;min-height:0;padding:14px}.site-header{grid-template-columns:1fr auto;gap:22px}.site-header .about{grid-column:1/-1;grid-row:2;max-width:450px}.site-header nav{grid-column:2;grid-row:1;flex-direction:row;gap:14px}.index-list{top:30%;left:14px;right:14px}.index-labels,.index-row{grid-template-columns:10% 65% 20% 5%}.index-labels>span:nth-child(3),.index-labels>span:nth-child(5),.index-row>span:nth-child(3),.index-row>span:nth-child(5){display:none}.index-row{padding:1px 0;align-items:baseline}.index-row>span:nth-child(4){font-size:12px}.hover-preview{position:fixed;max-width:none;width:calc(100% - 28px)!important;left:14px!important;top:auto!important;bottom:14px;pointer-events:auto;max-height:65svh;overflow:auto;padding:0 0 12px;box-shadow:0 0 0 14px #fff}.hover-preview img{max-height:36svh}.preview-description{max-height:none;font-size:14px}.preview-open,.preview-close{display:block}.preview-open{margin:12px 0 0;text-decoration:underline}.preview-close{position:absolute;right:0;top:0;padding:4px 10px;border:0;background:white}.sub-grid{grid-template-columns:1fr}.subpage>.site-header{padding:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.index-rows{max-height:52svh;overflow-y:auto}.no-image figure{min-height:180px;background:#f1f1f1}

/* Full-width entry preview, aligned beneath the index. */
.site-header .about,.site-header nav{line-height:1.5}
.site-header nav,.site-header nav ul{gap:0}
.hover-preview{position:absolute;left:0!important;right:0;bottom:0;top:auto;width:100%!important;max-width:none;max-height:none;display:flex;flex-direction:column;pointer-events:auto;padding:0;box-shadow:none;overflow:hidden}
.preview-bar{display:block;text-align:left;padding:12px clamp(16px,1.3vw,28px);background:#fff;flex:none}
.preview-title{text-decoration:underline}
.preview-description{padding:0;color:#111;font-size:inherit;line-height:1.24;max-height:none;overflow:visible}
.preview-open{display:block;margin:0;white-space:nowrap;text-decoration:none}
.hover-preview figure{flex:1;min-height:0;width:100%}
.hover-preview img{width:100%;height:100%;max-height:none;object-fit:fill}
.hover-preview figcaption{width:66vw;left:50%;right:auto;transform:translateX(-50%);bottom:7%;font-size:clamp(24px,2.5vw,48px);text-align:center}
.no-image figure{min-height:0}.preview-close{display:none}
@media(max-width:600px){
 .index-labels,.index-row{grid-template-columns:minmax(0,1fr) 80px;column-gap:16px}
 .index-labels>span:first-child,.index-row>span:first-child,.index-labels>span:last-child,.index-row>span:last-child{display:none}
 .index-row>span:nth-child(2){white-space:nowrap;overflow:hidden;min-width:0;padding:0}
 .index-row>span:nth-child(2).is-truncated{mask-image:linear-gradient(to right,#000 calc(100% - 32px),transparent);-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 32px),transparent)}
 .index-row>span:nth-child(4){font-size:inherit}
 .hover-preview{left:0!important;bottom:0;top:var(--preview-top)!important;width:100%!important;position:absolute;max-height:none;overflow:hidden;padding:0;box-shadow:none}
 .preview-bar{grid-template-columns:minmax(0,1fr) auto;gap:8px 14px;padding:12px 14px}
 .preview-description{grid-column:1/-1;grid-row:2;font-size:13px}
 .preview-open{grid-column:2;grid-row:1;margin:0;padding-right:22px}
 .preview-close{display:block;top:9px;right:2px;padding:2px 6px}
 .hover-preview img{max-height:none}.hover-preview figcaption{width:66vw;font-size:24px}
 .site-header nav{gap:14px}.site-header nav ul{gap:14px}
}

@media(max-width:800px),(hover:none),(pointer:coarse){.hover-preview{display:none!important}}

:root{--sans:Areal,sans-serif;--serif:Areal,sans-serif}
html{scrollbar-width:none}html::-webkit-scrollbar,body::-webkit-scrollbar{display:none;width:0;height:0}
body,button,input,textarea,select{font-family:Areal,sans-serif}
.energy-switch{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;text-align:inherit}
.energy-switch:hover{text-decoration:underline}
.site-header{position:relative;inset:auto;z-index:5;background:transparent;color:inherit;font-size:clamp(14px,1vw,20px);font-family:Areal,sans-serif}
body:not(.home)>.site-header{padding:clamp(16px,1.3vw,28px)}
.newsletter-insert{width:100%;background:#ddd;color:#111;padding:7vw clamp(16px,1.3vw,28px);display:grid;grid-template-columns:1fr 1fr;gap:40px;font:400 clamp(16px,1.3vw,24px)/1.3 Areal,sans-serif}
.newsletter-insert h2{font:inherit}.newsletter-form{margin-top:32px}.newsletter-form label{display:block;margin-bottom:12px}.newsletter-input{display:flex;border-bottom:1px solid currentColor;gap:20px;padding-bottom:8px}.newsletter-input input{min-width:0;flex:1;border:0;border-radius:0;background:transparent;color:inherit;font:inherit}.newsletter-input button{border:0;background:transparent;color:inherit;font:inherit;white-space:nowrap;cursor:pointer}.newsletter-status{font-size:13px;margin-top:12px}
.kdx-footer{background:#fff;color:#111;display:flex;justify-content:space-between;align-items:flex-end;padding-top:var(--kdx-page-padding);padding-right:var(--kdx-page-padding);padding-bottom:var(--kdx-page-padding);padding-left:var(--kdx-page-padding);font:400 clamp(14px,1vw,20px)/1.5 Areal,sans-serif;gap:30px}.kdx-footer nav{display:flex;flex-direction:column}.kdx-footer p{text-align:right;margin:0}.kdx-footer a{color:inherit;text-decoration:none}.kdx-footer a:hover{text-decoration:underline}
.energy-saving{color-scheme:dark;--paper:#000;--ink:#fff;--gray:#181818}
.energy-saving body,.energy-saving .site-header,.energy-saving .preview-bar,.energy-saving .preview-description,.energy-saving .hover-preview,.energy-saving .kdx-footer,.energy-saving .article-body,.energy-saving .related-card{background:#000;color:#fff}
.energy-saving .newsletter-insert{background:#161616;color:#fff}
.energy-saving *,.energy-saving *::before,.energy-saving *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
.energy-saving .hover-preview figure{display:none}.energy-saving .hover-preview{bottom:auto}.energy-saving .article-pullout{background:#000}.energy-saving img:not([src]){visibility:hidden}
@media(max-width:600px){.site-header .identity,.site-header .about,.site-header nav{line-height:1.24}.site-header{align-items:baseline}.site-header nav{flex-wrap:wrap;justify-content:flex-end;gap:4px 12px;max-width:260px}.site-header nav ul{gap:12px}.energy-switch{font-size:inherit}.newsletter-insert{grid-template-columns:1fr;gap:30px;padding-top:60px;padding-bottom:60px}.kdx-footer{font-size:14px;gap:16px}.article-intro h1{font-size:31px}}

.energy-saving .article-author-note,.energy-saving .article-body p,.energy-saving .article-byline,.energy-saving .article-subtitle,.energy-saving .article-intro h1{color:#fff}.energy-saving input::placeholder{color:#bbb}
@media(max-width:600px){.site-header .identity,.site-header .about,.site-header nav,.site-header button{line-height:normal}}


.preview-copy{position:absolute;top:18px;left:clamp(16px,1.3vw,28px);z-index:2;width:min(450px,calc(100% - 32px));display:grid;gap:18px;color:white;text-shadow:none}
.preview-copy h2,.preview-copy p{font:inherit;margin:0}.preview-copy .preview-description{background:transparent!important;color:inherit!important;font-style:italic}.preview-copy a{color:inherit;text-decoration:underline}
.hover-preview figure::before{content:none;display:none}.hover-preview figcaption{z-index:2}
.energy-saving .hover-preview figure{display:block}.energy-saving .hover-preview{bottom:0}.energy-saving .hover-preview img,.energy-saving img:hover,.energy-saving figure:hover img,.energy-saving .article-pullout:hover img{filter:none}
@media(min-width:801px){
 .index-row{position:relative}.index-row>span:nth-child(2){min-width:0;white-space:nowrap;overflow:hidden}
 .index-row>span:nth-child(2).is-truncated{mask-image:linear-gradient(to right,#000 calc(100% - 32px),transparent);-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 32px),transparent)}
 .index-row:hover>span:nth-child(2),.index-row:focus-visible>span:nth-child(2){position:relative;z-index:6;width:max-content;max-width:calc(94vw - 32px);white-space:nowrap;overflow:hidden;mask-image:none;-webkit-mask-image:none;background:white;color:#111;padding-right:14px}
}

/* Newsletter follows the supplied two-field layout. */
.newsletter-insert{display:block;width:100%;padding:48px clamp(20px,1.8vw,38px) 32px;background:#fff;color:#111;font:400 clamp(14px,1vw,20px)/1.45 Areal,sans-serif}
.newsletter-intro{margin:0}
.newsletter-form{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);column-gap:36px;row-gap:10px;margin-top:48px;align-items:end}
.newsletter-fields{display:grid;gap:24px}
.newsletter-field{display:grid;grid-template-columns:130px minmax(0,1fr);column-gap:24px;align-items:center}
.newsletter-field label{margin:0;display:block}
.newsletter-field input{display:block;box-sizing:border-box;min-width:0;width:100%;height:45px;border:0;border-radius:0;padding:8px 12px;background:#ccc;color:#111;font:inherit}
.newsletter-submit{justify-self:end;margin:0;padding:0;border:0;background:none;color:inherit;font:inherit;cursor:pointer;white-space:nowrap}
.newsletter-submit:hover{text-decoration:underline}
.newsletter-field input:focus-visible,.newsletter-submit:focus-visible{outline:2px solid #48ba55;outline-offset:3px}
.newsletter-status{grid-column:1/-1;margin:0;font-size:12px;line-height:1.3;color:#666}
.energy-saving .newsletter-insert{background:#000;color:#fff}
.energy-saving .newsletter-field input{background:#333;color:#fff}
.energy-saving .newsletter-status{color:#aaa}
@media(max-width:600px){.newsletter-insert{padding:36px 14px 24px}.newsletter-form{grid-template-columns:1fr;margin-top:30px;gap:18px}.newsletter-fields{gap:18px}.newsletter-field{grid-template-columns:100px minmax(0,1fr);gap:12px}.newsletter-field input{height:44px}.newsletter-submit{justify-self:end}.newsletter-status{grid-column:1}}

/* Shared header/footer inset. */
:root{--kdx-page-padding:clamp(16px,1.3vw,28px)}
.index-stage,body>.site-header,body:not(.home)>.site-header{padding:var(--kdx-page-padding)}
.index-stage .site-header{padding:0}
@media(max-width:600px){:root{--kdx-page-padding:14px}}

/* Classic mobile M control; energy preference lives inside navigation. */
.kdx-menu-toggle{display:none}
@media(max-width:800px){
 .site-header{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:18px 12px}
 .site-header .identity{grid-column:1;grid-row:1;line-height:normal}
 .site-header .about{grid-column:1/-1;grid-row:2;line-height:normal;max-width:100%}
 .site-header .kdx-menu-toggle{display:block;grid-column:2;grid-row:1;font:inherit;line-height:normal;color:inherit;background:none;border:0;padding:0;cursor:pointer;z-index:12}
 .site-header #kdx-mobile-menu{display:none;position:absolute;top:28px;right:0;z-index:11;min-width:180px;max-width:calc(100vw - 28px);padding:18px;background:#fff;color:#111;flex-direction:column;align-items:flex-start;gap:16px;text-align:left;box-sizing:border-box}
 .site-header.kdx-menu-open #kdx-mobile-menu{display:flex}
 .site-header #kdx-mobile-menu ul{display:flex;flex-direction:column;align-items:flex-start;gap:16px;width:100%;text-align:left}
 .site-header #kdx-mobile-menu a,.site-header #kdx-mobile-menu button{line-height:normal}
 body>.site-header #kdx-mobile-menu{right:var(--kdx-page-padding);top:calc(var(--kdx-page-padding) + 28px)}
 .energy-saving .site-header #kdx-mobile-menu{background:#000;color:#fff}
 .index-list{position:relative;top:auto;left:auto;right:auto;margin-top:28px}
}

.energy-saving .kdx-footer{background:#303030;color:#fff}

/* A separate desktop slot keeps the introduction in its original column. */
.site-header .energy-switch-desktop{display:none}
@media(min-width:801px){
 .site-header{grid-template-columns:25.25% 25.25% 34% minmax(0,1fr)}
 .site-header .identity{grid-column:1;grid-row:1}
 .site-header .energy-switch-desktop{display:block;grid-column:2;grid-row:1;justify-self:start;align-self:start;line-height:1.5}
 .site-header .about{grid-column:3;grid-row:1}
 .site-header #kdx-mobile-menu{grid-column:4;grid-row:1}
 .site-header .energy-switch-mobile{display:none}
}

/* Mobile navigation opens across the header and wraps naturally. */
@media(max-width:800px){
 .site-header.kdx-menu-open .identity{display:none}
 .site-header.kdx-menu-open #kdx-mobile-menu{
  position:static;grid-column:1;grid-row:1;display:flex;flex-direction:row;flex-wrap:wrap;
  align-items:baseline;justify-content:flex-start;gap:8px 16px;
  width:100%;min-width:0;max-width:none;padding:0;background:transparent;color:inherit;text-align:left
 }
 .site-header.kdx-menu-open #kdx-mobile-menu ul{display:contents}
 .site-header.kdx-menu-open #kdx-mobile-menu li{margin:0;padding:0;list-style:none}
 .site-header.kdx-menu-open #kdx-mobile-menu a,.site-header.kdx-menu-open #kdx-mobile-menu .energy-switch{white-space:nowrap}
 .site-header.kdx-menu-open .kdx-menu-toggle{align-self:start}
}

.mobile-slider{display:none}
@media(max-width:800px){
 .index-stage .index-list{display:none}
 .mobile-slider{display:flex;position:absolute;left:var(--kdx-page-padding);right:var(--kdx-page-padding);bottom:var(--kdx-page-padding);top:200px;min-height:0;flex-direction:column;gap:10px}
 .mobile-slider-track{display:flex;flex:1;min-height:0;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch}
 .mobile-slider-track::-webkit-scrollbar{display:none}
 .mobile-tile{box-sizing:border-box;flex:0 0 100%;width:100%;min-width:0;height:100%;display:grid;grid-template-rows:auto minmax(40px,1fr) auto auto;gap:14px;scroll-snap-align:start;scroll-snap-stop:always;overflow:hidden}
 .mobile-tile.no-tile-image{grid-template-rows:auto minmax(0,1fr) auto}
 .mobile-tile-heading{display:grid;gap:8px}.mobile-tile h2{font:inherit;font-size:20px;line-height:1.08;margin:0;overflow-wrap:anywhere}.mobile-tile-meta,.mobile-tile-subject{font-size:13px;line-height:1.2;margin:0}
 .mobile-tile-image{margin:0;min-height:0;overflow:hidden;background:#ddd}.mobile-tile-image img{display:block;width:100%;height:100%;object-fit:cover}
 .mobile-tile-description{font:italic 14px/1.3 Areal,sans-serif;margin:0;max-height:22svh;overflow-y:auto;overscroll-behavior-y:contain}
 .mobile-tile-link{justify-self:start;text-decoration:underline;font-size:14px}
 .mobile-slider-controls{flex:none;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:32px;font-size:13px}
 .mobile-slider-controls button{border:0;background:transparent;color:inherit;font:inherit;font-size:20px;min-width:44px;min-height:32px;padding:0;cursor:pointer}.mobile-slider-controls button:disabled{opacity:.25;cursor:default}
 .energy-saving .mobile-tile-image{background:#222}
}

/* Header introduction uses the original body rhythm. */
.site-header .about{line-height:1.24}

/* Centered black glyph outline, painted over the green fill. */
.hover-preview figcaption{left:50%;right:auto;width:66vw;transform:translateX(-50%);text-align:center;color:#48ba55;-webkit-text-stroke:clamp(1.25px,.09vw,2px) #000;paint-order:fill stroke;text-shadow:none}

.site-header .energy-switch{width:28px;height:24px;padding:3px 5px;line-height:1;vertical-align:middle}
.energy-icon{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;display:block}
.energy-switch .energy-sun{display:none}.energy-switch .energy-moon{display:block}
.energy-switch[aria-pressed="false"] .energy-sun{display:block}.energy-switch[aria-pressed="false"] .energy-moon{display:none}
.energy-switch:focus-visible{outline:1px solid currentColor;outline-offset:3px}
@media(max-width:800px){.site-header .energy-switch{width:32px;height:32px;padding:7px}}

/* Explicit text modes, with only the active option underlined. */
.mode-selector{display:flex;align-items:baseline;gap:.5em;line-height:inherit}
.mode-selector .energy-choice{border:0;background:none;color:inherit;font:inherit;padding:0;cursor:pointer;text-decoration:none;opacity:.55}
.mode-selector .energy-choice[aria-pressed="true"]{opacity:1;text-decoration:none}
.mode-selector .energy-choice:hover{opacity:1}
.mode-selector .energy-choice:focus-visible{outline:1px solid currentColor;outline-offset:4px}
@media(min-width:801px){.site-header .mode-selector.energy-switch-desktop{display:flex}.site-header .mode-selector.energy-switch-mobile{display:none}}
@media(max-width:800px){.site-header .mode-selector.energy-switch-desktop{display:none}.site-header .mode-selector.energy-switch-mobile{display:flex;white-space:nowrap}}
@media(min-width:801px){.index-row:hover>span:nth-child(2),.index-row:focus-visible>span:nth-child(2){background:transparent;color:inherit}}
.services-insert{width:100%;height:66svh;min-height:420px;padding:var(--kdx-page-padding);background:#f1f1f1;color:#111;display:flex;flex-direction:column;gap:32px;font:inherit}
.services-intro{display:grid;grid-template-columns:1fr 1fr auto;align-items:start;gap:24px}
.services-intro h2,.services-intro p,.service-element h3,.service-element p{font:inherit;line-height:1.24;margin:0}
.services-intro>a{white-space:nowrap;text-decoration:none}.services-intro>a:hover{text-decoration:underline}
.services-elements{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;flex:1;min-height:0}
.service-element{display:flex;flex-direction:column;min-height:0;gap:16px;border-top:1px solid #aaa;padding-top:12px}
.service-label{display:flex;gap:24px;align-items:baseline}
.service-diagram{width:100%;flex:1;min-height:60px;max-height:30svh;display:block;margin:auto 0;opacity:.8}
.service-element .service-detail{font-style:italic;max-width:95%}
.energy-saving .services-insert{background:#171717;color:#fff}.energy-saving .service-element{border-color:#555}
@media(max-width:800px){.services-insert{height:auto;min-height:66svh;gap:32px;padding-top:28px;padding-bottom:28px}.services-intro{grid-template-columns:1fr auto;gap:16px}.services-intro p{grid-column:1/-1;grid-row:2}.services-elements{grid-template-columns:1fr;gap:28px}.service-diagram{height:100px;flex:none;max-height:none}.service-element{gap:12px}}

@media(max-width:800px){
 body.kdx-article-page>.site-header .about,body.single-kodex_article>.site-header .about,body.single-post>.site-header .about{display:none}
 .mobile-slider-controls{width:100%;padding:0;justify-content:space-between}
 .mobile-slider-controls button{padding:0;margin:0}
 .mobile-slider-controls button:first-child{text-align:left}
 .mobile-slider-controls button:last-child{text-align:right}
}

.kdx-menu-word{display:none}.kdx-menu-letter{display:inline}
@media(min-width:801px){
 .site-header{grid-template-columns:max-content max-content minmax(0,1fr) 34% 15.5%;gap:0;align-items:start}
 .site-header .identity{grid-column:1;grid-row:1;margin-right:var(--kdx-nav-gap);line-height:1.24}
 .site-header .kdx-menu-toggle{display:block;grid-column:2;grid-row:1;align-self:start;margin:0 var(--kdx-nav-gap) 0 0;padding:0;border:0;background:none;color:inherit;font:inherit;line-height:1.24;cursor:pointer}
 .kdx-menu-word{display:inline}.kdx-menu-letter{display:none}
 .site-header .about{grid-column:4;grid-row:1}
 .site-header .mode-selector.energy-switch-desktop{grid-column:5;grid-row:1;display:flex;flex-direction:row;flex-wrap:nowrap;align-items:baseline;justify-self:end;gap:var(--kdx-nav-gap);line-height:1.5}
 .site-header #kdx-mobile-menu{display:none;grid-column:3;grid-row:1;position:static;width:auto;min-width:0;max-width:none;padding:0;line-height:1.24}
 .site-header.kdx-menu-open #kdx-mobile-menu{display:flex;flex-direction:row;align-items:baseline;justify-content:flex-start;gap:var(--kdx-nav-gap);flex-wrap:wrap}
 .site-header #kdx-mobile-menu ul{display:flex;flex-direction:row;align-items:baseline;gap:var(--kdx-nav-gap);flex-wrap:wrap;text-align:left}
 .site-header #kdx-mobile-menu a{white-space:nowrap}
 .site-header .mode-selector.energy-switch-mobile{display:none}
}

@media(min-width:801px){.site-header{--kdx-nav-gap:clamp(32px,4vw,80px)}}

@media(max-width:800px){
 .mobile-slider-filters{display:flex;flex:none;align-items:baseline;gap:20px;flex-wrap:wrap;padding:0 0 8px}
 .mobile-slider-filters button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;opacity:.55}
 .mobile-slider-filters button[aria-pressed="true"]{opacity:1;text-decoration:underline;text-underline-offset:3px}
 a.mobile-tile,a.mobile-tile:hover{color:inherit;text-decoration:none}
 a.mobile-tile:focus-visible{outline:1px solid #48ba55;outline-offset:-2px}
 .mobile-slider-empty{margin:0;align-self:start}
}

@media(min-width:801px){
 .index-labels,.index-row{grid-template-columns:8% 42.5% 8% 8% 29.5% 4%}
 .index-labels>span:last-child{text-align:right}
 .index-row:hover>span:nth-child(2),.index-row:focus-visible>span:nth-child(2){max-width:calc(92vw - 32px)}
}

/* Full-width menu rhythm and active text contrast. */
.site-header #kdx-mobile-menu a{opacity:1;text-decoration:none}
.site-header #kdx-mobile-menu a[aria-current="page"],.site-header #kdx-mobile-menu .current-menu-item>a,.site-header #kdx-mobile-menu a:hover,.site-header #kdx-mobile-menu a:focus-visible{opacity:1;text-decoration:none}
.site-header .kdx-menu-toggle{opacity:1;text-decoration:none}
.site-header .kdx-menu-toggle[aria-expanded="true"],.site-header .kdx-menu-toggle:hover{opacity:1}
.site-header.kdx-menu-open #kdx-mobile-menu{grid-column:1/-1;grid-row:2;width:100%;justify-content:space-between;gap:16px;margin-top:20px}
.site-header.kdx-menu-open #kdx-mobile-menu ul{display:contents}
@media(max-width:800px){
 .site-header.kdx-menu-open .identity{display:block}
 .site-header.kdx-menu-open .about{grid-row:3}
 .site-header.kdx-menu-open #kdx-mobile-menu{margin-top:0}
 .mobile-slider-filters{width:100%;justify-content:space-between;gap:12px}
 .mobile-slider-filters button[aria-pressed="true"]{opacity:1;text-decoration:none}
}
.index-type-filter{font:inherit;line-height:inherit;text-align:left;border:0;background:none;color:inherit;padding:0 10px 0 0;cursor:pointer}
.index-type-filter:hover{opacity:.65}
.index-filter-empty{margin:0;font:inherit}

/* Article navigation stays in place throughout the reading page. */
:is(body.kdx-article-page,body.single-kodex_article,body.single-post)>.site-header{
 position:sticky;top:0;z-index:60;background:#fff;color:#111
}
.energy-saving :is(body.kdx-article-page,body.single-kodex_article,body.single-post)>.site-header{background:#000;color:#fff}
@media(min-width:783px){:is(body.single-kodex_article,body.single-post).admin-bar>.site-header{top:32px}}
@media(min-width:601px) and (max-width:782px){:is(body.single-kodex_article,body.single-post).admin-bar>.site-header{top:46px}}

/* The open menu replaces the header visually without changing document flow. */
.site-header{--kdx-menu-inset:var(--kdx-page-padding)}
.index-stage .site-header{--kdx-menu-inset:0px}
.site-header.kdx-menu-open .identity,.site-header.kdx-menu-open .about,.site-header.kdx-menu-open .mode-selector.energy-switch-desktop{visibility:hidden;pointer-events:none}
.site-header.kdx-menu-open .identity{display:block}
.site-header.kdx-menu-open .kdx-menu-toggle{position:absolute;top:var(--kdx-menu-inset);right:var(--kdx-menu-inset);margin:0;z-index:15}
.site-header.kdx-menu-open #kdx-mobile-menu,body>.site-header.kdx-menu-open #kdx-mobile-menu{
 display:flex;position:absolute;top:var(--kdx-menu-inset);left:var(--kdx-menu-inset);right:calc(var(--kdx-menu-inset) + 72px);bottom:auto;
 width:auto;min-width:0;max-width:none;margin:0;padding:0 0 10px;z-index:14;
 flex-direction:row;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:12px 24px;background:#fff;color:#111
}
.site-header.kdx-menu-open #kdx-mobile-menu ul{display:contents}
.site-header.kdx-menu-open #kdx-mobile-menu .mode-selector.energy-switch-mobile{display:flex;visibility:visible;gap:.5em}
.energy-saving .site-header.kdx-menu-open #kdx-mobile-menu{background:#000;color:#fff}
@media(max-width:800px){.site-header.kdx-menu-open .about{grid-row:2}.site-header.kdx-menu-open #kdx-mobile-menu{gap:12px 16px}}

/* Desktop: navigation extends directly to the right of Menu on every page. */
@media(min-width:801px){
 .site-header.kdx-menu-open .identity,.site-header.kdx-menu-open .about,.site-header.kdx-menu-open .mode-selector.energy-switch-desktop{visibility:visible;pointer-events:auto}
 .site-header.kdx-menu-open .kdx-menu-toggle{position:static;top:auto;right:auto;grid-column:2;grid-row:1;margin:0 var(--kdx-nav-gap) 0 0}
 .site-header.kdx-menu-open #kdx-mobile-menu,body>.site-header.kdx-menu-open #kdx-mobile-menu{
  position:static;inset:auto;grid-column:3;grid-row:1;width:auto;min-width:0;max-width:none;margin:0;padding:0;
  display:flex;flex-direction:row;flex-wrap:wrap;align-items:baseline;justify-content:flex-start;gap:var(--kdx-nav-gap);background:transparent;color:inherit
 }
 .site-header.kdx-menu-open #kdx-mobile-menu ul{display:contents}
 .site-header.kdx-menu-open #kdx-mobile-menu .mode-selector.energy-switch-mobile{display:none}
}
/* Mobile: links replace the identity, to the left of the stationary M. */
@media(max-width:800px){
 .site-header.kdx-menu-open .identity{display:block;visibility:hidden;pointer-events:none}
 .site-header.kdx-menu-open .about{visibility:visible;pointer-events:auto;grid-column:1/-1;grid-row:2}
 .site-header.kdx-menu-open .kdx-menu-toggle{position:static;top:auto;right:auto;grid-column:2;grid-row:1;margin:0;align-self:start}
 .site-header.kdx-menu-open #kdx-mobile-menu,body>.site-header.kdx-menu-open #kdx-mobile-menu{
  position:absolute;top:var(--kdx-menu-inset);left:var(--kdx-menu-inset);right:calc(var(--kdx-menu-inset) + 36px);bottom:auto;
  width:auto;min-width:0;max-width:none;margin:0;padding:0;display:flex;flex-direction:row;flex-wrap:wrap;
  align-items:baseline;justify-content:space-between;gap:8px;background:transparent;color:inherit
 }
 .site-header.kdx-menu-open #kdx-mobile-menu ul{display:contents}
 .site-header.kdx-menu-open #kdx-mobile-menu .mode-selector.energy-switch-mobile{display:flex;visibility:visible;gap:.5em;white-space:nowrap}
}

/* Keep the expanded mobile menu in the M row, not its former second-row grid area. */
@media(max-width:800px){
 .site-header.kdx-menu-open{grid-template-columns:minmax(0,1fr) auto;column-gap:16px}
 .site-header.kdx-menu-open #kdx-mobile-menu,body>.site-header.kdx-menu-open #kdx-mobile-menu{
  position:static;inset:auto;grid-column:1;grid-row:1;align-self:baseline;
  display:flex;flex-direction:row;flex-wrap:nowrap;align-items:baseline;justify-content:space-between;
  width:100%;min-width:0;max-width:none;margin:0;padding:0;gap:4px
 }
 .site-header.kdx-menu-open #kdx-mobile-menu ul{display:contents}
 .site-header.kdx-menu-open #kdx-mobile-menu li{margin:0;padding:0}
 .site-header.kdx-menu-open .kdx-menu-toggle{grid-column:2;grid-row:1;align-self:baseline}
 .site-header.kdx-menu-open .identity{grid-column:1;grid-row:1;visibility:hidden;pointer-events:none}
 .site-header.kdx-menu-open #kdx-mobile-menu .mode-selector{flex-shrink:0}
}

@media(max-width:800px){
 .mobile-slider-filters{justify-content:flex-start;align-items:baseline;flex-wrap:nowrap;gap:18px}
 .mobile-filter-toggle{flex:none}
 .mobile-filter-options{display:flex;flex:1;min-width:0;align-items:baseline;justify-content:space-between;gap:8px}
 .mobile-filter-options[hidden]{display:none}
 .mobile-slider-filters .mobile-filter-toggle{opacity:1}
 .mobile-slider-filters button{white-space:nowrap}
}

/* Services, reduced to a plain text index. */
.services-plain{background:#fff;color:#111;height:66svh;min-height:420px;gap:36px;padding:var(--kdx-page-padding);font:inherit}
.services-plain .services-intro{grid-template-columns:25% minmax(0,1fr) auto;gap:24px}
.services-rows{display:grid;grid-template-rows:repeat(3,minmax(0,1fr));flex:1;min-height:0}
.services-row{display:grid;grid-template-columns:25% 35% minmax(0,1fr);gap:24px;padding:18px 0;border-top:1px solid #ddd;align-content:start}
.services-row h3,.services-row p{font:inherit;line-height:1.3;margin:0}
.energy-saving .services-plain{background:#000;color:#fff}.energy-saving .services-row{border-color:#333}
@media(max-width:800px){.services-plain{height:auto;min-height:66svh;padding-top:28px;padding-bottom:28px;gap:28px}.services-plain .services-intro{grid-template-columns:1fr auto;gap:16px}.services-plain .services-intro p{grid-column:1/-1}.services-rows{grid-template-rows:none;gap:18px}.services-row{grid-template-columns:1fr;gap:14px;padding:18px 0}.services-row p:last-child{opacity:.65}}

/* Desktop: natural-height header, then 60% list and 40% image areas. */
@media(min-width:801px){
 .index-stage{height:100svh;min-height:0;padding:0;display:grid;grid-template-rows:auto minmax(0,3fr) minmax(0,2fr);overflow:hidden}
 .index-stage .site-header{grid-row:1;min-width:0;padding:var(--kdx-page-padding);--kdx-menu-inset:var(--kdx-page-padding)}
 .index-stage .index-list{position:relative;inset:auto;grid-row:2;min-height:0;min-width:0;margin:0;padding:var(--kdx-page-padding);display:flex;flex-direction:column;overflow:hidden}
 .index-stage .index-labels{flex:none;margin-bottom:clamp(16px,2vh,24px)}
 .index-stage .index-rows{flex:1;min-height:0;max-height:none;overflow-y:auto;overflow-x:hidden;scrollbar-width:none}
 .index-stage .index-rows::-webkit-scrollbar{display:none}
 .index-stage .hover-preview{position:relative;inset:auto!important;grid-row:3;width:100%!important;max-width:none;min-height:0;height:100%;margin:0;padding:0}
 .index-stage .hover-preview figure{height:100%;min-height:0;flex:1}
 .index-stage .hover-preview img{height:100%;max-height:none}
}

@media(min-width:801px){
 .index-stage .index-list{justify-content:center}
 .index-stage .index-rows{flex:0 1 auto}
}

/* Elastic image experiment. Text and hit targets remain stationary. */
.index-row:hover,.index-row.is-active,.index-row:focus-visible{color:#777;text-decoration:none}
.index-row:hover>span,.index-row.is-active>span,.index-row:focus-visible>span{ text-decoration:none!important }
.energy-saving .index-row:hover,.energy-saving .index-row.is-active,.energy-saving .index-row:focus-visible{color:#aaa}
.index-row:hover>span:nth-child(2),.index-row:focus-visible>span:nth-child(2){color:inherit}
.hover-preview figure,.mobile-tile-image{overflow:hidden}
@media(prefers-reduced-motion:reduce){.hover-preview img,.mobile-tile-image img{transform:none!important}}
.energy-saving .hover-preview img,.energy-saving .mobile-tile-image img{transform:none!important}

/* Stretch the complete mobile composition inside a stable swipe/snap frame. */
@media(max-width:800px){
 .mobile-tile{display:block}
 .mobile-tile-content{display:grid;grid-template-rows:auto minmax(40px,1fr) auto auto;gap:14px;width:100%;height:100%;min-height:0;transform-origin:left center}
 .mobile-tile.no-tile-image .mobile-tile-content{grid-template-rows:auto minmax(0,1fr) auto}
}
@media(prefers-reduced-motion:reduce){.mobile-tile-content{transform:none!important}}
.energy-saving .mobile-tile-content{transform:none!important}

/* Keep the complete subpage header visible without changing its layout. */
body>.site-header{position:sticky;top:0;z-index:60;background:#fff}
.energy-saving body>.site-header{background:#000}

/* Homepage header remains visible beyond the opening viewport. */
.index-stage{z-index:2}
.index-stage .site-header{position:fixed;top:0;left:0;right:0;z-index:60;background:#fff;padding:var(--kdx-page-padding);--kdx-menu-inset:var(--kdx-page-padding)}
.energy-saving .index-stage .site-header{background:#000}
@media(min-width:801px){.index-stage{grid-template-rows:var(--home-header-height,120px) minmax(0,3fr) minmax(0,2fr)}}

/* Compact newsletter footer. */
.kdx-footer{display:grid;grid-template-columns:25% minmax(0,1fr) 22%;align-items:start;gap:0}
.kdx-footer .footer-newsletter p{text-align:left;margin:0}
.footer-signup-controls{display:flex;align-items:baseline;gap:24px;max-width:520px}
.footer-signup input[type=email]{flex:1;min-width:0;border:0;border-radius:0;padding:0;background:transparent;color:inherit;font:inherit;line-height:inherit}
.footer-signup input::placeholder{color:#aaa;opacity:1}
.footer-signup button{border:0;padding:0;background:transparent;color:inherit;font:inherit;white-space:nowrap;cursor:pointer}
.footer-signup button:disabled{opacity:.5;cursor:wait}
.kdx-footer .footer-signup-status{color:#48ba55}
.kdx-footer .footer-signup-status.is-error{color:inherit}
.signup-trap{position:absolute;left:-9999px;width:1px;height:1px}
@media(max-width:800px){.kdx-footer{grid-template-columns:1fr 1fr;gap:13px 16px}.footer-newsletter{grid-column:1/-1;grid-row:1}.kdx-footer>p{grid-column:2}.footer-signup-controls{margin-top:12px;max-width:none}}

.energy-saving .kdx-footer{background:#000;color:#fff}
.footer-signup-controls[hidden]{display:none!important}

/* Desktop articles use the same viewport anchoring as the homepage. */
@media(min-width:801px){
 body.article-header-fixed>.site-header{position:fixed;left:0;right:0;top:0;transform:none;transition:none}
 body.article-header-fixed>.site-header .about{transition:none;will-change:transform}
 body.article-header-fixed.admin-bar>.site-header{top:32px}
}
.article-header-space{pointer-events:none;flex:none}

/* Prevent viewport rubber-band movement at the page boundaries. */
html,body{overscroll-behavior-y:none}

/* Desktop navigation is always open; mobile retains its M toggle. */
.desktop-index{display:none}
@media(min-width:801px){
 .site-header .kdx-menu-toggle{display:none!important}
 .site-header .desktop-index{display:block;grid-column:2;grid-row:1;margin-right:var(--kdx-nav-gap);line-height:1.24;text-decoration:none;color:inherit}
 .site-header #kdx-mobile-menu,body>.site-header #kdx-mobile-menu{
  display:flex;position:static;inset:auto;grid-column:3;grid-row:1;width:auto;min-width:0;max-width:none;
  margin:0;padding:0;flex-direction:row;flex-wrap:wrap;align-items:baseline;justify-content:flex-start;gap:var(--kdx-nav-gap);background:transparent;color:inherit
 }
 .site-header #kdx-mobile-menu ul{display:contents}
 .site-header #kdx-mobile-menu .energy-switch-mobile{display:none}
}

@media(max-width:800px){
 .mobile-tile-image{position:relative}
 .mobile-tile-image .mobile-tile-caption{position:absolute;left:10%;bottom:6%;transform:none;width:80%;margin:0;text-align:center;font-family:Areal,sans-serif;font-size:24px;font-weight:700;line-height:1.1;color:#48ba55;-webkit-text-stroke:1.25px #000;paint-order:fill stroke;text-shadow:none;pointer-events:none;overflow-wrap:break-word}
}

/* One spacing rhythm from identity to About, Filter and item metadata. */
@media(max-width:800px){
 .index-stage{--mobile-section-gap:18px}
 .index-stage .site-header{row-gap:var(--mobile-section-gap)}
 .index-stage .mobile-slider{gap:var(--mobile-section-gap)}
 .index-stage .mobile-slider-filters{padding-top:0;padding-bottom:0;margin:0}
}

/* Footer: three columns with two aligned rows. */
.kdx-footer{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,4fr) minmax(0,1fr);column-gap:24px;row-gap:5px;align-items:start}
.kdx-footer>nav{grid-column:1;grid-row:1;display:grid;gap:5px}
.kdx-footer .footer-newsletter{grid-column:2;grid-row:1;display:grid;gap:5px;min-width:0}
.kdx-footer .footer-copyright{grid-column:3;grid-row:1;display:grid;gap:5px;text-align:right}
.kdx-footer .footer-signup-controls{display:flex;align-items:baseline;justify-content:space-between;gap:24px;max-width:none;margin-top:0}
.kdx-footer .footer-signup-controls input{width:auto;flex:1;min-width:0}
.kdx-footer .footer-signup-controls button{flex:none}
.kdx-footer .footer-copyright span{display:block}
@media(max-width:800px){
 .kdx-footer{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:13px 16px}
 .kdx-footer .footer-newsletter{grid-column:1/-1;grid-row:1}
 .kdx-footer>nav{grid-column:1;grid-row:2}
 .kdx-footer .footer-copyright{grid-column:2;grid-row:2}
}

.footer-signup.has-email button{color:#48ba55}
@media(min-width:801px){
 .index-labels,.index-row{grid-template-columns:8% 42.5% 8% 8% minmax(0,1fr) 80px}
 .index-row .row-arrow{visibility:visible;white-space:nowrap}
}
