/* Shared solution navigation and the ETKM implementation portfolio. */
.nav-solutions{position:relative}.nav-solutions summary{display:flex;align-items:center;gap:9px;min-height:48px;cursor:pointer;list-style:none}.nav-solutions summary::-webkit-details-marker{display:none}.nav-solutions summary>span{font-size:20px;line-height:1}.solutions-dropdown{position:absolute;top:calc(100% + 10px);left:-20px;min-width:290px;padding:10px;background:#fff;border:1px solid #dce6e2;border-radius:6px;box-shadow:0 14px 32px #143b3520}.solutions-dropdown a{display:block;padding:14px 16px;font-size:16px;line-height:1.5;border-radius:4px}.solutions-dropdown a:hover,.solutions-dropdown a:focus-visible{background:#eaf5f3;text-decoration:none}.nav-solutions[open]>summary{color:#35685e}
.solutions-overview{padding:90px var(--chapter-gutter);background:#edf6f4}.solutions-overview h2{font-size:clamp(36px,4vw,60px);max-width:800px;margin:20px 0 42px}.solution-links{display:grid;grid-template-columns:1fr 1fr;gap:28px}.solution-card{display:block;overflow:hidden;border-radius:6px;background:white;border:1px solid #dbe6e1}.solution-card:hover{text-decoration:none}.solution-card>img{display:block;width:100%;height:310px;object-fit:cover;transition:filter .3s}.solution-card:hover>img{filter:brightness(.94)}.solution-card-copy{padding:30px;display:grid;grid-template-columns:1fr 26px;gap:12px 20px}.solution-card h3{font-size:30px;margin:0}.solution-card p{font-size:18px;color:#52665e;margin:0;grid-column:1}.solution-card .button-arrow{grid-column:2;grid-row:1/3}.solution-card:focus-visible{outline:3px solid #35685e;outline-offset:5px}
.infrastructure-page{--infra-gutter:clamp(22px,6.7vw,120px)}.infrastructure-page p{font-size:19px;line-height:1.7}.infrastructure-page h2{font-size:clamp(33px,3.5vw,54px);line-height:1.15}.infrastructure-page h3{font-size:24px;line-height:1.4;letter-spacing:-.025em}.infra-hero{position:relative;isolation:isolate;overflow:hidden;min-height:760px;padding:210px var(--infra-gutter) 100px;background:#b4dfe0}.infra-film{position:absolute;inset:0;z-index:-2;pointer-events:none;overflow:hidden}.infra-film img,.infra-film video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.infra-film video{opacity:0;transition:opacity .6s}.infra-film.is-playing video{opacity:1}.infra-hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#b4dfe0 0%,#b4dfe0f5 26%,#b4dfe0a8 60%,#b4dfe022),linear-gradient(#b4dfe0e0,transparent 40%)}.infra-hero-copy{max-width:860px}.infra-breadcrumb{display:inline-block;font-size:16px;margin-bottom:28px;color:#315b55}.infra-hero h1{font-size:clamp(54px,6.5vw,94px);max-width:900px;line-height:1.05;color:#173b37;margin-bottom:28px}.infra-hero p{font-size:clamp(20px,1.7vw,25px);max-width:740px;line-height:1.5;margin-bottom:34px}.infra-hero .button{font-size:17px;gap:24px;min-height:58px}.infra-page-nav{padding:24px var(--infra-gutter);display:flex;gap:32px;flex-wrap:wrap;border-bottom:1px solid #dbe6e2;background:#fff}.infra-page-nav a{display:inline-flex;align-items:center;gap:12px;font-size:16px;font-weight:600;min-height:30px}.infra-page-nav a:last-child{margin-left:auto}.infra-chapter{padding:90px var(--infra-gutter);border-bottom:1px solid #dfe6e0}.infra-chapter:nth-of-type(even){background:#f7f9f6}.infra-chapter.infra-tint{background:#edf6f4}.infra-heading{max-width:1000px;margin-bottom:36px}.infra-heading .eyebrow{color:#436c5e}.infra-heading h2{margin:20px 0 0}.infra-columns{display:grid;grid-template-columns:1fr 1fr;gap:64px}.infra-columns>article{min-width:0}.infra-columns h3{margin-bottom:25px}.infra-list{margin:0;padding:0;list-style:none;display:grid;gap:17px}.infra-list li{display:flex;align-items:flex-start;gap:15px;font-size:19px;line-height:1.6}.infra-list .ui-icon{flex:0 0 23px;width:23px;height:23px;margin-top:4px;color:#4f805f}.infra-context{margin-top:40px;padding:26px 32px;border-left:3px solid #88bfa9;background:#e6f0eb}.infra-context p{margin:0}.infra-section-marker{padding:90px var(--infra-gutter) 0}.infra-section-marker h2{margin:20px 0}.infra-section-marker p{color:#586b61;max-width:700px}.project-description{max-width:960px;margin:0 0 36px}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.gallery-photo{position:relative;display:flex;align-items:center;justify-content:center;background:#edf1ed;border:1px solid #dce4dc;border-radius:6px;overflow:hidden;aspect-ratio:4/3;cursor:zoom-in}.gallery-photo img{display:block;width:100%;height:100%;object-fit:contain;transition:transform .35s}.gallery-photo:hover img{transform:scale(1.025)}.photo-enlarge{position:absolute;right:10px;bottom:10px;background:#fffffff0;color:#254238;font-size:22px;line-height:1;width:36px;height:36px;display:grid;place-items:center;border-radius:4px}.infra-video-panel{position:relative;isolation:isolate;padding:100px var(--infra-gutter);background:#183c35;color:#fff;overflow:hidden}.infra-video-panel:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#0d3029eb,#0d3029c9 58%,#0d302970)}.infra-video-copy{max-width:1100px}.infra-video-copy h2{max-width:900px;margin:22px 0 38px}.infra-video-copy h3{color:#e6f5ef}.infra-video-copy .infra-list{grid-template-columns:1fr 1fr;gap:24px 50px}.infra-video-copy .ui-icon{color:#b4dfe0}.module-grid,.service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.module-grid article,.service-grid article{padding:28px;background:#fff;border:1px solid #dce6df;border-radius:6px;min-width:0}.module-grid .ui-icon,.service-grid .ui-icon{width:38px;height:38px;color:#447b64;margin-bottom:30px}.module-grid h3,.service-grid h3{font-size:20px;line-height:1.55;margin:0}.module-number{float:right;font-size:16px;color:#547364}.service-grid{margin-top:42px}.service-grid p{font-size:18px;margin:0}.infra-related{padding:90px var(--infra-gutter);display:grid;grid-template-columns:1fr 1fr;gap:60px;background:#d9eeea}.infra-related h2{margin:20px 0}.infra-related-links{display:grid;align-content:center}.infra-related-links a{padding:22px 0;border-bottom:1px solid #9fbbb1;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:21px}.infra-credit{padding:28px var(--infra-gutter);margin:0;color:#5d6e65;font-size:15px!important}.infra-credit a{text-decoration:underline}.infrastructure-page .contact{margin-top:0}.gallery-dialog{border:0;padding:24px;background:#172b29;color:white;border-radius:6px;max-width:96vw;width:1200px;max-height:96dvh;overflow:auto}.gallery-dialog::backdrop{background:#0a1919e8}.gallery-dialog figure{margin:16px 0}.gallery-dialog figure img{display:block;margin:auto;max-width:100%;max-height:70dvh;object-fit:contain}.gallery-dialog figcaption{margin-top:16px;font-size:16px;line-height:1.5;text-align:center}.gallery-dialog button{background:#e9f3ef;color:#173b37;border:0;border-radius:4px;min-height:44px;padding:10px 18px;cursor:pointer;font-size:16px}.gallery-close{display:block;margin-left:auto}.gallery-navigation{display:flex;align-items:center;justify-content:space-between;gap:12px}.gallery-counter{font-size:16px}body:has(.gallery-dialog[open]){overflow:hidden}
@media(max-width:1100px){.nav-solutions summary{padding:14px 18px;font-size:18px}.solutions-dropdown{position:static;min-width:0;border:0;box-shadow:none;background:#edf6f3;margin-bottom:8px}.solutions-dropdown a{font-size:17px}.module-grid,.service-grid{grid-template-columns:1fr 1fr}.infra-columns{gap:32px}.infra-hero{padding-top:180px;min-height:700px}}
@media(max-width:700px){.solutions-overview{padding:60px var(--chapter-gutter)}.solution-links{grid-template-columns:1fr;gap:24px}.solution-card>img{height:230px}.solution-card-copy{padding:24px}.solution-card h3{font-size:27px}.infra-hero{padding-top:152px;padding-bottom:70px;min-height:680px}.infra-hero h1{font-size:clamp(43px,10vw,66px)}.infra-hero:after{background:linear-gradient(90deg,#b4dfe0f5,#b4dfe0b8)}.infra-hero p{font-size:20px}.infra-page-nav{gap:16px 24px;padding:22px var(--infra-gutter)}.infra-page-nav a{font-size:15px}.infra-page-nav a:last-child{margin-left:0}.infra-chapter,.infra-video-panel{padding:60px var(--infra-gutter)}.infra-section-marker{padding:60px var(--infra-gutter) 0}.infra-columns,.infra-related{grid-template-columns:1fr;gap:32px}.infra-list li,.infrastructure-page p{font-size:18px}.infra-context{padding:22px}.photo-grid{grid-template-columns:1fr 1fr;gap:12px}.module-grid,.service-grid{gap:14px}.module-grid article,.service-grid article{padding:22px}.module-grid h3{font-size:18px}.infra-video-copy .infra-list{grid-template-columns:1fr}.infra-related{padding:60px var(--infra-gutter)}.infra-related-links a{font-size:19px}.gallery-dialog{padding:16px}.gallery-dialog figcaption{font-size:14px}}
@media(max-width:420px){.photo-grid,.module-grid,.service-grid{grid-template-columns:1fr}.gallery-navigation button{font-size:14px;padding:10px 12px}.infra-hero h1{font-size:43px}}
@media(prefers-reduced-motion:reduce){.gallery-photo img,.infra-film video{transition:none}}

.infra-video-panel .eyebrow{color:#c5e4d9}.infra-video-panel .infra-context{background:#103a2be0;border-left-color:#a8d8c7}.infra-video-panel .infra-list .ui-icon{color:#b4dfe0}
