/* ETKM layout with the blue and green of the CIIDT identity. */
@font-face{font-family:'Stack Sans Headline';src:url('/assets/fonts/stack-sans-headline.ttf') format('truetype');font-weight:200 700;font-style:normal;font-display:swap}
:root{--ink:#162b46;--muted:#536477;--blue:#4064ac;--green:#66b126;--paper:#f7faf9;--line:#d6e2e5;--radius:6px;--etkm-accent:#66b126;--etkm-tint:#eaf3f5;--content-width:1200px;--chapter-gutter:max(clamp(22px,4vw,48px),calc((100% - var(--content-width))/2))}
body{background:var(--paper);color:var(--ink);font-family:'Stack Sans Headline',Arial,sans-serif;font-weight:400}
h1,h2,h3,h4,p,a,button{font-family:inherit}h1,h2,h3{font-weight:450;letter-spacing:-.035em}a{color:inherit}::selection{background:#66b126;color:#162b46}
.site-header{padding:18px var(--chapter-gutter);gap:30px}.site-header .brand{flex:0 0 auto;background:transparent;border-radius:6px;padding:7px 14px}.site-header .brand img,.site-header.is-scrolled .brand img{width:100px;height:74px;object-fit:contain}.site-header nav{gap:30px;font-size:18px;font-weight:450}.site-header nav>a{white-space:nowrap}.site-header nav>a[aria-current=page]:after{transform:scaleX(1);background:var(--etkm-accent);height:2px}.site-header .nav-contact,.button.primary{background:var(--etkm-accent);border-color:var(--etkm-accent);color:#162b46;font-size:18px;font-weight:500}.site-header .nav-contact{padding:16px 25px;min-height:58px;gap:24px}.site-header .nav-contact:hover,.button.primary:hover{background:#83c547;border-color:#83c547;color:#162b46}.site-header.is-scrolled{background:#f7faf9fa;border-color:var(--line);box-shadow:0 3px 18px #162b460a;padding-top:7px;padding-bottom:7px}.site-header .language{font-size:16px;color:inherit;border-color:currentColor}.site-header a:focus-visible,.button:focus-visible{outline:3px solid var(--etkm-accent);outline-offset:5px}.menu-toggle{border-color:var(--line);color:var(--ink);background:var(--paper)}
body:not(.infrastructure-page):not(.contact-page) .site-header:not(.is-scrolled){color:#fff}
.hero{min-height:max(820px,95svh);padding:220px var(--chapter-gutter) 95px;background:#162b46;display:flex;align-items:center}.hero:after{background:linear-gradient(90deg,#051321b8,#05132160),linear-gradient(#05132140,#05132120)}.hero-scene{inset:0;width:100%;height:100%;aspect-ratio:auto;mask-image:none;border-radius:0;clip-path:none}.hero-scene :is(img,video),.hero.has-motion .hero-scene :is(img,video){object-position:center;object-fit:cover;transform:none;mask-image:none}.hero-copy{max-width:1150px}.hero h1{font-size:clamp(43px,4.8vw,76px);line-height:1.1;max-width:1100px;color:#fff;margin:24px 0 36px}.hero :is(.hero-intro,.hero-description){color:#fff;max-width:790px;font-weight:400}.hero-intro{font-size:26px;line-height:1.4}.hero-description{font-size:22px;line-height:1.5}.hero .eyebrow,.hero-note,.hero .text-link{color:#fff}.hero .eyebrow,.hero-note{font-size:16px!important}.hero-actions .button,.hero .text-link{font-size:18px;min-height:58px}.note-line{background:var(--etkm-accent)}
.solutions-overview{padding:110px var(--chapter-gutter);background:var(--paper)}.solutions-overview h2{font-size:clamp(38px,4vw,60px);font-weight:450;line-height:1.1;max-width:900px;margin-bottom:48px}.solution-links{gap:40px}.solution-card{background:transparent;border:0;border-radius:0}.solution-image>img{height:auto;aspect-ratio:1.55;object-fit:cover;border-radius:6px}.solution-card-copy{padding:28px 0 0;gap:16px 28px}.solution-card h3{font-size:32px;font-weight:450}.solution-card p{font-size:20px;color:var(--muted);line-height:1.5}.solution-card .button-arrow{width:40px;height:40px;color:#4064ac}.solution-card:hover .solution-image>img{filter:brightness(.96)}
.capabilities{background:var(--etkm-tint);border-color:var(--line)}.capabilities>a:hover{background:#dfedf0}.capabilities .ui-icon,.capabilities b{color:#4064ac}.capabilities .capability-number{font-size:16px;color:#647689}.capabilities .capability-title{font-size:22px;font-weight:450}
.section{padding-top:110px;padding-bottom:110px}.section h2,#overview h2,.temperature-heading h2{font-size:clamp(36px,4vw,58px);font-weight:450;line-height:1.12;letter-spacing:-.035em}.eyebrow,.section-heading .eyebrow,.infra-heading .eyebrow{color:#4064ac;font-size:16px!important;letter-spacing:.09em!important}.section-body{color:var(--muted);font-size:20px;line-height:1.7}.section-body p,.feature-card p,.platform-statement p,#vision .vision-card p,#systems .section-body>p,.temperature-card p,.temperature-card:last-child p{font-size:20px;line-height:1.65}#overview,#technology,#future{background:var(--paper)}#air-quality,#systems{background:var(--etkm-tint)}.feature-card p,#systems .section-body li,#future .section-body li{color:var(--ink)}.feature-card>.ui-icon,.feature-card:nth-child(n)>.ui-icon,#systems .section-body li>.ui-icon,#future .section-body li>.ui-icon,.section-body li>.ui-icon{color:#4d7e28}.platform-statement{background:var(--etkm-tint);border-left-color:var(--etkm-accent);color:var(--ink)}.platform-statement h3{color:#4064ac;font-size:16px}.feature-card,.section-body li{border-color:var(--line)!important}.system-map{background:var(--etkm-tint);border-color:var(--line)}.map-core{background:#dfeecf;border-color:#98ba7b;color:var(--ink)}.map-node{background:var(--paper);border-color:var(--line);color:var(--ink)}.map-node>.ui-icon,.map-label>span:last-child{color:#4064ac}.map-label .eyebrow{color:#4064ac!important}.map-lines{stroke:#88a8c1}.map-lines circle{stroke:#d6e2e5}.air-graphic{color:#4d7e28}.air-orbit{border-color:#7ba2c366}.air-graphic>span,.air-graphic>span:nth-of-type(3){background:var(--paper);border-color:var(--line);color:#4d7e28}.future-horizons{color:#4064ac}.future-horizons i,.future-horizons i:after{background:#96b8ca}
#vision.video-chapter:before,#references.video-chapter:before{background:linear-gradient(90deg,#041223df,#04122390)}.video-chapter .eyebrow,.risk-chapter .eyebrow{color:#c2e2a6!important}#vision .vision-card>.ui-icon,#vision .response-card>.ui-icon,.experience-emblem .ui-icon{color:#c2e2a6}#references .section-body{background:transparent}.risk-chapter:before{background:#041223a8}.risk-highlight{background:#f7faf9!important;color:#294825!important;border-color:#66b126!important}.temperature-section{background:var(--paper)}.temperature-card,.temperature-card:last-child{color:var(--ink)}.temperature-card:last-child{background:var(--etkm-tint)}.temperature-card h3,.temperature-card:last-child h3{color:var(--ink)}.temperature-card>.ui-icon,.temperature-card:last-child .ui-icon{color:#4064ac}.temperature-card p,.temperature-card:last-child p,.climate-note{color:var(--muted)}
.infrastructure-page{--infra-gutter:var(--chapter-gutter)}.infra-hero{padding:195px var(--infra-gutter) 85px;background:var(--etkm-tint);min-height:0;text-align:center}.infra-hero:after{display:none}.infra-hero-copy{max-width:1100px;margin:auto}.infra-breadcrumb{color:#4064ac;font-size:16px;margin-bottom:25px}.infra-hero h1{color:var(--ink);font-size:clamp(43px,5vw,72px);max-width:none;font-weight:450;line-height:1.08;margin:0 0 30px}.infra-hero p{max-width:1000px;margin:0 auto 32px;font-size:clamp(21px,2.3vw,30px);line-height:1.4}.infra-hero .button{font-size:18px}.infra-page-nav{background:var(--paper);border-color:var(--line);gap:28px}.infra-page-nav a{font-size:18px}.infra-intro-film{position:relative;isolation:isolate;height:clamp(280px,35vw,580px)}.infra-chapter,.infra-chapter:nth-of-type(even){background:var(--paper);border-color:var(--line);padding-top:100px;padding-bottom:100px}.infra-chapter.infra-tint{background:var(--etkm-tint)}.infrastructure-page h2{font-size:clamp(35px,4.1vw,58px);font-weight:450;line-height:1.12}.infra-heading{max-width:1100px;margin-bottom:38px}.infrastructure-page p,.infra-list li{font-size:20px;line-height:1.65}.infra-list .ui-icon{color:#4064ac}.infra-section-marker{background:var(--etkm-tint);padding-bottom:70px}.infra-section-marker p{color:var(--muted)}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.gallery-photo{background:#e6eef0;border-color:var(--line);aspect-ratio:1.5}.gallery-photo:first-child:last-child{grid-column:1/-1}.photo-enlarge{background:var(--paper);color:var(--ink)}.module-grid,.service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 60px}.module-grid article,.service-grid article{background:transparent;border:0;border-top:1px solid var(--line);padding:32px 0}.module-grid h3,.service-grid h3{font-size:25px;font-weight:450;line-height:1.4}.module-number{font-size:35px;color:#6b8eb1;line-height:1}.module-grid .ui-icon,.service-grid .ui-icon{color:#4064ac}.service-grid p{font-size:20px}.infra-related{background:var(--etkm-tint)}.infra-related-links a{border-color:#cfdee4;font-size:24px}.infra-related-links a:hover{color:#4064ac}.infra-credit{color:var(--muted);font-size:16px!important}.infra-video-panel,.infra-chapter.infra-video-panel{background:#162b46;color:white}.infra-video-panel:after{background:linear-gradient(90deg,#041223d9,#0412239c)}.infra-video-panel .eyebrow,.infra-video-panel .infra-list .ui-icon,.infra-video-copy .ui-icon{color:#c2e2a6}.infra-video-panel .infra-context{background:#162b4680;border-left-color:#66b126}.infra-video-copy h3{color:white}.gallery-dialog{background:#162b46}.gallery-dialog button{background:var(--paper);color:var(--ink)}
.contact{background:#162b46;color:#fff;border-top:0}.contact h2{font-size:clamp(40px,4.5vw,66px);font-weight:450}.contact .eyebrow{color:#c2e2a6}.contact-details{color:#f7faf9;border-color:#ffffff30}.contact-details a{color:#f7faf9}.contact-details .ui-icon{color:#c2e2a6}.contact-details p{font-size:20px;line-height:1.65}.contact .button{font-size:18px}.site-footer{background:#162b46;color:#f7faf9;border-top:1px solid #ffffff25;font-size:16px}.footer-wordmark,.footer-wordmark span{color:#f7faf9}.footer-wordmark span{font-size:15px}.contact-intro{text-align:center;background:var(--etkm-tint);padding:200px var(--chapter-gutter) 90px}.contact-intro h1{font-size:clamp(46px,6vw,84px);line-height:1.08;margin:28px auto;max-width:1000px}.contact-intro p{font-size:24px;line-height:1.5;max-width:680px;margin:auto}.contact-next{padding:110px var(--chapter-gutter);display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.contact-image>img{display:block;width:100%;aspect-ratio:1.2;object-fit:cover;border-radius:6px}.contact-next h2{font-size:clamp(36px,4vw,58px);line-height:1.12;margin:25px 0}.contact-next p{font-size:20px}
@media(max-width:1250px) and (min-width:1101px){.site-header nav{gap:20px;font-size:17px}.site-header .nav-contact{font-size:17px;padding:14px 20px}.site-header .brand img{width:85px;height:63px}}
@media(max-width:1100px){.site-header nav{color:var(--ink);background:var(--paper);border-color:var(--line)}.site-header nav>a{font-size:20px}.site-header nav>a[aria-current=page]:after{left:18px;width:32px;bottom:7px}.site-header .language{color:var(--muted)}.hero{padding-top:190px}.site-header .brand img{width:86px;height:64px}.capabilities .capability-title{font-size:20px}.contact-next{gap:40px}.infra-page-nav a:last-child{margin-left:0}}
@media(max-width:800px){.hero{min-height:850px;padding:170px var(--chapter-gutter) 80px}.hero h1{font-size:clamp(38px,7vw,56px)}.hero-scene{inset:0;width:100%;height:100%;mask-image:none;aspect-ratio:auto}.hero:after{background:#041223a6}.hero-intro{font-size:23px}.hero-description{font-size:20px}.hero-actions{flex-wrap:wrap}.solutions-overview,.section,.contact,.infra-chapter,.infra-video-panel,.infra-chapter.infra-video-panel,.contact-next{padding-top:70px;padding-bottom:70px}.solution-links{gap:32px}.solution-card h3{font-size:28px}.infra-hero,.contact-intro{padding-top:165px;padding-bottom:65px}.infra-hero h1{font-size:clamp(40px,7vw,60px)}.infra-hero p{font-size:23px}.infra-page-nav{gap:15px 24px}.infra-page-nav a{font-size:17px}.infra-columns{grid-template-columns:1fr}.infra-related{padding-top:70px;padding-bottom:70px}.contact-next{grid-template-columns:1fr}.contact-image>img{aspect-ratio:1.6}.contact-intro p{font-size:22px}.section-body p,.feature-card p,.platform-statement p,#vision .vision-card p,#systems .section-body>p,.temperature-card p,.temperature-card:last-child p,.infra-list li,.infrastructure-page p{font-size:19px}.photo-grid{gap:16px}.module-grid,.service-grid{gap:0 28px}}
@media(max-width:560px){.solution-links,.photo-grid,.module-grid,.service-grid{grid-template-columns:1fr}.hero{min-height:820px}.hero h1{font-size:40px;line-height:1.1}.hero-note{line-height:1.6}.hero-actions .button,.hero .text-link{font-size:17px}.infra-hero h1{font-size:43px;overflow-wrap:normal}.infra-hero p{font-size:21px}.capabilities .capability-title{font-size:19px}.capabilities .capability-number{font-size:15px}.infra-related-links a{font-size:21px}.contact-details p{font-size:18px;overflow-wrap:anywhere}.contact-intro h1{font-size:45px}.solution-card p{font-size:19px}.gallery-photo{aspect-ratio:1.45}.site-header .brand{padding:5px 10px}.site-header .brand img,.site-header.is-scrolled .brand img{width:78px;height:58px}.menu-toggle{font-size:18px}.site-footer{font-size:15px}.footer-wordmark span{font-size:14px}}
@media(prefers-reduced-motion:reduce){.hero-scene video{display:none}}
@media print{.site-header,.site-header.is-scrolled{position:static}.hero,.contact,.site-footer{background:white;color:#162b46}.hero h1,.hero p{color:#162b46}}

/* Photos reveal inside their own frame, keeping the text and grid stable. */
.solution-image,.contact-image{display:block;overflow:hidden;border-radius:6px;background:#e6eef0}
.solution-image{aspect-ratio:1.55}.solution-image>img{width:100%;height:100%;object-fit:cover}
.contact-image{margin:0;aspect-ratio:1.2}.contact-image>img{width:100%;height:100%;object-fit:cover}
.gallery-photo img,.solution-image img,.contact-image img{transform-origin:center;transition:transform .9s cubic-bezier(.22,1,.36,1),filter .5s ease}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.gallery-photo:hover img,.solution-card:hover .solution-image img{transform:scale(1.045);filter:brightness(1.025)}.solution-card .button-arrow{transition:transform .4s ease}.solution-card:hover .button-arrow{transform:translate(4px,-4px)}}
@media(max-width:800px){.contact-image{aspect-ratio:1.6}}
@media(prefers-reduced-motion:reduce){.gallery-photo img,.solution-image img,.contact-image img{transition:none;transform:none!important}}
