@font-face{font-family:Montserrat;font-style:normal;font-weight:100 900;font-display:swap;src:url(/build/assets/montserrat-latin-ext-BsZE-iaG.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Montserrat;font-style:normal;font-weight:100 900;font-display:swap;src:url(/build/assets/montserrat-latin-l_AIctKy.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Raleway;font-style:normal;font-weight:100 900;font-display:swap;src:url(/build/assets/raleway-latin-ext-CwtNDoQR.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Raleway;font-style:normal;font-weight:100 900;font-display:swap;src:url(/build/assets/raleway-latin-CSF1BaNN.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{color:#192f3c;background:#fff;margin:0;font-family:Montserrat,Arial,sans-serif;font-size:15px;line-height:1.5}body:has(dialog[open]){overflow:hidden}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{max-width:100%;display:block}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:500;line-height:1.2}h2{letter-spacing:-1.8px;font-size:clamp(32px,3.15vw,48px)}h3{letter-spacing:-.5px;font-size:22px}p{color:#606b70}button{color:inherit}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline-offset:5px;outline:3px solid #4a8024}.wrap{width:calc(100% - 112px);max-width:1328px;margin-inline:auto}.section{--section-space:112px;padding-block:var(--section-space)}.eyebrow{letter-spacing:1.6px;text-transform:uppercase;color:#53616a;align-items:center;gap:12px;margin-bottom:25px;font-size:11px;font-weight:700;display:flex}.eyebrow-square:has(+:is(h1,h2)){margin-bottom:10px}.green-line{background:#81c341;width:28px;height:3px;display:inline-block}.arrow{flex-shrink:0;width:23px;height:23px}.button{border:1px solid #0000;justify-content:space-between;align-items:center;gap:30px;min-height:49px;padding:12px 23px;font-size:12px;font-weight:600;line-height:1.5;display:inline-flex}.button-dark{color:#fff;background:#1b3442}.button-dark:hover{background:#304b58}.text-link,.activity-action{border-bottom:1px solid #a3acac;align-items:center;gap:18px;padding-block:12px;font-size:12px;font-weight:700;display:inline-flex}.skip-link{z-index:100;background:#fff;padding:15px;position:fixed;top:-100px;left:16px}.skip-link:focus{top:10px}:root{--header-height:100px}.header{height:var(--header-height);z-index:20;background:#fff;border-bottom:1px solid #e5e9e7;position:sticky;top:0}.header-inner{--menu-gap:27px;align-items:center;gap:var(--menu-gap);height:100%;display:flex}.brand{flex-shrink:0;width:185px}.brand img{width:100%;height:auto}.main-nav{align-items:center;gap:var(--menu-gap);margin-left:auto;display:flex}.main-nav a{text-transform:uppercase;white-space:nowrap;font-size:12px;font-weight:600}.main-nav a:hover{color:#487c24}.header-actions{align-items:center;gap:27px;display:flex}.header-cta{color:#132716;white-space:nowrap;background:#81c341;border-radius:3px;align-items:center;gap:15px;min-height:40px;padding:9px 14px;font-size:11px;font-weight:700;display:flex}.header-cta:hover{color:#192f3c;background:#fff;box-shadow:inset 0 0 0 1px #81c341}.header-cta svg{width:19px}.menu-toggle{display:none}.about{grid-template-columns:1fr 1fr;align-items:center;gap:110px;display:grid}.about-image{--about-accent-size:10px;--about-image-bottom:28px;padding-bottom:var(--about-image-bottom);position:relative}.about-image:before,.about-image:after{content:"";background:#81c341;position:absolute;inset-inline-start:0}.about-image:before{bottom:var(--about-image-bottom);width:var(--about-accent-size);height:calc((100% - var(--about-image-bottom)) * .88)}.about-image:after{bottom:calc(var(--about-image-bottom) - var(--about-accent-size));width:28%;height:var(--about-accent-size)}.about-image>img{width:calc(100% - var(--about-accent-size));object-fit:cover;height:390px;margin-inline-start:var(--about-accent-size);display:block}.image-tag{letter-spacing:.5px;background:#f0f2ed;padding:22px 30px;font-size:10px;position:absolute;bottom:0;right:-25px}.about-copy h2{max-width:480px;margin-bottom:27px}.about-copy>p:not(.eyebrow){font-size:14px;line-height:1.5}.about-copy .text-link{margin-top:25px}.systems{background:#f3f4f0}.activities-layout{grid-template-columns:minmax(0,1fr) minmax(0,2fr);align-items:start;gap:clamp(24px,4vw,60px);display:grid}.activities-directory{grid-template-columns:minmax(0,1fr);gap:clamp(28px,4vw,52px)}.activities-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,42px) clamp(14px,2vw,28px);display:grid}@media (width<=900px){.activities-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.activities-grid{grid-template-columns:minmax(0,1fr)}}.activities-heading :is(h1,h2){color:#393f4d}.activities-intro{color:#1a1a1a;max-width:50ch;margin:14px 0 0;font-size:16px;line-height:1.5}.activities-track{scroll-snap-type:x mandatory;scrollbar-width:none;grid-auto-columns:calc(50% - 6px);grid-auto-flow:column;gap:12px;display:grid;overflow-x:auto}.activities-track::-webkit-scrollbar{display:none}@media (hover:hover) and (pointer:fine){.activities-track,.activities-track a{cursor:grab}}.activities-track.is-dragging{scroll-snap-type:none;scroll-behavior:auto;-webkit-user-select:none;user-select:none}.activities-track.is-dragging,.activities-track.is-dragging a{cursor:grabbing}.activities-track article{scroll-snap-align:start;min-width:0}.activities-layout .activity-image img{aspect-ratio:9/16;width:100%;max-height:clamp(220px, calc(100svh - var(--header-height) - 2 * var(--section-space) - 64px), 500px);object-fit:cover;display:block}.activity-image{display:block;position:relative;overflow:hidden}.activity-overlay{text-align:center;color:#1a1a1a;opacity:0;pointer-events:none;background:#81c341ed;flex-direction:column;justify-content:center;align-items:center;gap:clamp(6px,1vw,18px);padding:clamp(8px,1.6vw,30px);font-size:clamp(12px,1vw,17px);line-height:1.5;display:flex;position:absolute;inset:0}.activity-action{border-bottom-color:#1a1a1a80}.activities-layout a:is(:hover,:focus-visible) .activity-overlay{opacity:1}@media (prefers-reduced-motion:no-preference){.activity-overlay{transition:opacity .35s}.activity-overlay>span{transition:transform .35s;transform:translateY(8px)}.activities-layout a:is(:hover,:focus-visible) .activity-overlay>span{transform:translateY(0)}}.activities-layout article h3{margin-top:12px;font-size:20px;font-weight:600}.activities-controls:not([hidden]){gap:8px;margin-top:8px;display:flex}.activities-controls button{color:#14466c;background:0 0;border:0;width:44px;height:44px;padding:0;font-size:24px}.activities-controls button:disabled{opacity:.35}@media (width<=760px){.activities-layout{grid-template-columns:minmax(0,1fr)}}@media (width<=520px){.activities-track{grid-auto-columns:100%}}.section-heading{justify-content:space-between;align-items:flex-end;gap:50px;margin-bottom:48px;display:flex}.section-heading h2{max-width:630px}.section-heading>p{max-width:290px;padding-bottom:3px;font-size:13px;line-height:1.5}.primary-systems{grid-template-columns:repeat(3,1fr);gap:26px;display:grid}.image-window{position:relative;overflow:hidden}.image-window>img{aspect-ratio:1.48;object-fit:cover;width:100%;height:auto;transition:transform .4s}.image-arrow{background:#fff;place-items:center;width:48px;height:48px;display:grid;position:absolute;bottom:0;right:0}.system-feature a:hover img{transform:scale(1.035)}.system-number{color:#6b776e;margin-top:22px;margin-bottom:9px;font-size:10px;display:block}.system-feature h3{max-width:300px;font-size:23px}.system-feature>p{max-width:330px;margin-top:15px;font-size:12px}.secondary-systems{border-top:1px solid #cdd5cd;grid-template-columns:1fr 1fr;gap:0 50px;margin-top:48px;display:grid}.secondary-systems article{border-bottom:1px solid #cdd5cd;align-items:center;gap:23px;padding-block:27px;display:flex}.secondary-systems img{object-fit:cover;flex-shrink:0;width:105px;height:90px}.secondary-systems article>div{width:100%}.secondary-systems a{justify-content:space-between;align-items:center;gap:15px;display:flex}.secondary-systems h3{max-width:290px;font-size:17px}.secondary-systems p{max-width:340px;margin-top:9px;font-size:11px}.secondary-systems svg{width:20px}.project-grid{grid-template-columns:repeat(4,1fr);gap:23px;display:grid}.project-open{text-align:left;background:0 0;border:0;width:100%;padding:0;display:block}.project-image{display:block;position:relative;overflow:hidden}.project-image>img{aspect-ratio:1;object-fit:cover;width:100%;height:auto;transition:transform .4s}.project-open:hover img{transform:scale(1.04)}.project-caption{justify-content:space-between;align-items:flex-start;gap:15px;padding-top:20px;display:flex}.project-caption>.arrow{width:18px}.project h3{font-size:18px;line-height:1.2}.catalogue-banner{isolation:isolate;height:250px;scroll-margin-top:calc(var(--header-height) + 16px);color:#fff;background:#14466c;align-items:center;display:grid;position:relative;overflow:hidden}.catalogue-banner img,.catalogue-banner:before{width:100%;height:100%;position:absolute;inset:0}.catalogue-banner img{z-index:-2;object-fit:cover}.catalogue-banner:before{content:"";z-index:-1;background:linear-gradient(90deg,#071a2bf0,#14466c85)}.catalogue-copy h2{text-wrap:balance;max-width:30ch;margin-bottom:16px;font-size:clamp(26px,3vw,40px);line-height:1.15}.catalogue-button{color:#132716;background:#81c341}.catalogue-button:hover{background:#fff}.catalogue-button:focus-visible{outline-color:#fff}.partners{color:#393f4d;gap:clamp(20px,3vw,40px);padding-block:clamp(24px,3vw,46px) clamp(36px,5vw,72px);display:grid}.partner-logos{grid-template-columns:repeat(4,minmax(0,1fr));place-items:center;gap:clamp(12px,2.5vw,36px);margin:0;padding:0;list-style:none;display:grid}.partner-intro{max-width:70%;margin-top:14px;font-size:16px;line-height:1.5}@media (width<=600px){.partner-intro{max-width:none}}.partner-logos li{border:1px solid #dce0dc;place-items:center;width:100%;min-width:0;padding:clamp(4px,1vw,12px);display:grid}.partner-logos img{object-fit:contain;mix-blend-mode:multiply;filter:grayscale();width:180px;height:clamp(42px,7vw,86px)}.partner-logos li:hover img{filter:none}@media (prefers-reduced-motion:no-preference){.partner-logos img{transition:filter .25s}}:root{--interior-surface:#f4f5f2}.contact{background:var(--interior-surface);border-top:1px solid #e2e6de}.interior-page{padding-top:var(--header-height)}.interior-banner{isolation:isolate;color:#fff;background:#14466c;align-items:center;min-height:300px;display:grid;position:relative}.interior-banner>img,.interior-banner:after{width:100%;height:100%;position:absolute;inset:0}.interior-banner>img{z-index:-2;object-fit:cover}.interior-banner:after{content:"";z-index:-1;background:linear-gradient(100deg,#0b2338f5,#14466ca8 60%,#0b233864)}.interior-banner-copy{padding-block:24px}.interior-banner-copy h1{text-wrap:balance;max-width:27ch;font-size:clamp(28px,4vw,48px);line-height:1.2}.interior-banner-copy>p{color:#fff;margin-top:12px;font-size:15px}.banner-breadcrumb ol{flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin:0 0 14px;padding:0;font-size:13px;list-style:none;display:flex}.banner-breadcrumb li+li:before{content:"/" / "";color:#b8df99;margin-inline-end:10px}.banner-breadcrumb a:is(:hover,:focus-visible){text-decoration:underline}.banner-breadcrumb [aria-current=page]{color:#b8df99}#contact{scroll-margin-top:var(--header-height)}.contact-details h2,.contact-form-card h2,.system-detail-card h2{font-size:clamp(24px,3vw,34px)}.contact-details dl{margin:24px 0 0}.contact-details dt{font-weight:700}.contact-details dd{margin:4px 0 20px}.contact-details address{font-style:normal}.contact-details a:hover{color:#487c24}.contact-form-card,.system-detail-card{background:#fff;padding:clamp(20px,4vw,48px)}.contact-form-card h2{margin-bottom:22px}.system-detail{grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);align-items:start;gap:clamp(24px,7vw,100px);display:grid}.system-detail p:not(.eyebrow){margin-top:16px}.system-detail-card{background:#eff1eb;border-top:3px solid #81c341}.system-detail-card .button{margin-top:24px}.system-photo-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:18px;margin-top:24px;display:grid}.system-photo-grid img{aspect-ratio:4/3;object-fit:cover;width:100%}.application-intro,.application-closing-layout{grid-template-columns:1fr 1fr;align-items:center;gap:clamp(32px,8vw,120px);padding-block:clamp(56px,8vw,120px);display:grid}.application-intro h2,.application-closing h2{letter-spacing:-.045em;max-width:15ch;margin-top:24px;font-size:clamp(32px,4vw,60px);font-weight:500;line-height:1.2}.application-intro{grid-template-columns:minmax(0,75%);padding-bottom:0}.application-intro h2{max-width:none;margin-bottom:24px}.cassette-usage>img{width:100%;height:auto;display:block}.application-intro-copy p:not(.eyebrow),.application-closing p:not(.eyebrow){margin-bottom:24px;font-size:17px;line-height:1.5}.application-intro-copy>p:last-child{margin-bottom:0}.application-gallery{scroll-margin-top:calc(var(--header-height) + 24px);padding-block:125px}.application-gallery-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:clamp(18px,3vw,32px);display:flex}.application-gallery-heading .activities-controls{flex-shrink:0;margin-top:0}.application-gallery h2{font-size:clamp(26px,3vw,40px)}.application-gallery .application-photo-track{--photo-gap:clamp(12px, 2vw, 24px);grid-auto-columns:calc((100% - 2 * var(--photo-gap)) / 3)}@media (width<=600px){.application-gallery .application-photo-track{grid-auto-columns:82%}}.application-photo{min-width:0;margin:0}.application-photo button{background:var(--interior-surface);cursor:zoom-in;border:0;width:100%;padding:0;display:block;position:relative;overflow:hidden}.application-photo img{width:100%;height:auto;display:block}.application-photo figcaption{color:#53636a;justify-content:space-between;gap:16px;padding-top:16px;font-size:12px;display:flex}.application-closing{background:var(--interior-surface)}.cassette-technical,.cassette-benefits,.cassette-usage{grid-column:1/-1;padding-block:clamp(32px,5vw,72px)}.cassette-section-heading h2,.cassette-usage h2{letter-spacing:-.035em;max-width:24ch;margin:18px 0 28px;font-size:clamp(28px,3vw,44px);line-height:1.2}.cassette-technical{padding-top:0}.cassette-technical-layout{grid-template-columns:1.4fr 1fr;align-items:center;gap:clamp(28px,5vw,72px);display:grid}.cassette-drawings{grid-template-columns:1fr 1fr;align-items:center;gap:20px;display:grid}.cassette-drawings figure{min-width:0;margin:0}.cassette-drawings a{cursor:zoom-in;background:#fff;display:block}.cassette-drawings img{object-fit:contain;width:100%;height:360px;display:block}.cassette-drawings figcaption{color:#53636a;padding-top:18px;font-size:12px}.cassette-drawings figcaption span{margin-top:8px;line-height:1.5;display:block}.cassette-drawing-swap{position:relative}.cassette-drawing-swap .cassette-drawing-overlay{opacity:0;background:#fff;position:absolute;inset:0}.cassette-drawing-swap:is(:hover,:focus-visible) .cassette-drawing-overlay{opacity:1}@media (prefers-reduced-motion:no-preference){.cassette-drawing-overlay{transition:opacity .25s}}.cassette-prose p,.cassette-section-heading>p:not(.eyebrow){margin-bottom:20px;font-size:16px;line-height:1.5}.cassette-benefits{background:var(--interior-surface)}.cassette-benefits+.cassette-usage h2{margin-top:0}.cassette-benefits ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 64px;margin:0;padding:0;list-style:none;display:grid}.cassette-benefits li{line-height:1.5}.cassette-benefits li strong{margin-bottom:10px;font-size:20px;display:block}.cassette-usage{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:clamp(32px,6vw,88px);display:grid}.cassette-usage p:last-child{margin-bottom:0}@media (width<=760px){.cassette-technical-layout,.cassette-benefits ul,.cassette-usage{grid-template-columns:1fr}.cassette-drawings img{height:240px}}@media (prefers-reduced-motion:no-preference){.application-photo img{transition:transform .6s}.application-photo button:is(:hover,:focus-visible) img{transform:scale(1.025)}.application-closing .text-link .arrow{transition:transform .25s}.application-closing .text-link:is(:hover,:focus-visible) .arrow{transform:translate(4px,-4px)}}@media (width<=760px){.application-intro,.application-closing-layout{grid-template-columns:1fr}}.system-application-list{margin:22px 0 0;padding:0;list-style:none}.system-application-list a{justify-content:space-between;width:100%}.system-category-image{aspect-ratio:4/3;object-fit:cover;width:100%}.system-category-detail{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end}.system-category-detail .system-application-list a:is(:hover,:focus-visible){color:#487c24}@media (prefers-reduced-motion:no-preference){.system-category-detail .system-application-list a span,.system-category-detail .system-application-list a .arrow{transition:transform .25s}.system-category-detail .system-application-list a:is(:hover,:focus-visible) span{transform:translate(8px)}.system-category-detail .system-application-list a:is(:hover,:focus-visible) .arrow{transform:translate(4px,-4px)}}.system-category-detail p:not(.eyebrow),.system-category-detail .text-link{font-size:16px}@media (width<=760px){:is(.contact-grid:has(.contact-form-card),.system-detail){grid-template-columns:minmax(0,1fr)}}.contact-grid{grid-template-columns:1fr 1fr;gap:120px;display:grid}.contact-copy h1{max-width:480px;font-size:43px}.contact-copy>p:not(.eyebrow){max-width:350px;margin-top:25px;font-size:13px}.contact-copy>a{font-size:14px;display:block}.contact-copy .contact-phone{align-items:center;gap:30px;margin-block:47px 10px;font-size:27px;display:flex}.contact-copy address{color:#647075;margin-top:30px;font-size:12px;font-style:normal;line-height:1.5}.form-grid{grid-template-columns:1fr 1fr;gap:0 25px;display:grid}.field{margin-bottom:22px}.field label{margin-bottom:7px;font-size:11px;font-weight:600;display:block}.field label>span{color:#47772c}.field small{color:#65706d;font-size:10px;font-weight:400}.field input,.field textarea,.field select{color:#203740;background:0 0;border:0;border-bottom:1px solid #9ca9a1;border-radius:0;width:100%;min-height:42px;padding:7px 0;font-size:13px}.field textarea{resize:vertical;min-height:90px}.field input[aria-invalid=true],.field select[aria-invalid=true],.field textarea[aria-invalid=true]{border-color:#b32821}.field-error{color:#a12921;margin-top:5px;font-size:11px;display:block}.field-error:empty{display:none}.form-note{max-width:500px;margin-bottom:22px;font-size:10px;line-height:1.5}#form-status,#project-form-status{color:#344d31;margin-top:20px;font-size:12px}#email-ready,#project-email-ready{border-top:1px solid #ccd4c6;margin-top:15px;padding-top:15px}.footer{min-height:calc(100svh - var(--header-height));color:#fff;background:#151517;flex-direction:column;justify-content:space-between;padding-block:clamp(36px,4vw,72px) 23px;font-size:16px;display:flex}.footer p{color:inherit}.footer-main{grid-template-columns:minmax(0,1.4fr) minmax(0,.8fr) minmax(0,1.3fr) minmax(0,1.25fr) auto;align-items:start;gap:clamp(20px,3vw,45px);font-size:14px;display:grid}.footer-brand{max-width:300px}.footer-brand img{filter:brightness(0)invert();width:220px;height:auto}.footer-brand p{margin-top:23px}.footer-column{align-content:start;gap:10px;display:grid}.footer-column h2{margin-bottom:8px;font-size:20px;font-weight:600}.footer-column address{font-style:normal;line-height:1.5}.footer-column a:hover{text-decoration:underline}.footer-contact-item,.footer-social a{align-items:baseline;gap:8px;display:flex}.footer-contact-item span{overflow-wrap:anywhere}.footer-contact-item svg,.footer-social svg{flex:none;align-self:flex-start;width:18px;height:18px;margin-top:.25em}.footer-social{flex-wrap:wrap;gap:8px 20px;margin-top:8px;font-weight:600;display:flex}.footer-social a{border:1px solid #ffffff30;justify-content:center;align-items:center;width:40px;height:40px;transition:color .2s,border-color .2s}.footer-social svg{align-self:auto;width:18px;height:18px;margin:0}.footer-social a:is(:hover,:focus-visible){color:#81c341;border-color:currentColor}.back-top{border:1px solid #aebdca66;place-items:center;width:45px;height:45px;display:grid}.back-top svg{transform:rotate(-45deg)}@media (width>1200px){.footer-main{grid-template-columns:minmax(0,1.55fr) minmax(0,.75fr) minmax(0,1.3fr) max-content;position:relative}.footer-main .back-top{position:absolute;top:0;left:calc(100% + 10px)}}@media (width>=1500px){.footer{position:relative}.footer-main{position:static}.footer-main .back-top{top:clamp(36px,4vw,72px);left:auto;right:18px}}.footer-bottom{grid-template-columns:minmax(0,auto) minmax(0,1fr) auto;align-items:center;gap:clamp(10px,1.2vw,24px);margin-top:clamp(30px,5vw,74px);font-size:16px;display:grid}.footer-bottom:before{content:"";border-top:1px solid #aeaea466;grid-area:1/2}.footer-project-cta{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px 32px;padding-block:clamp(26px,4vw,52px);display:flex}.footer-project-cta h2{font-size:clamp(28px,3.5vw,48px);line-height:1.2}.footer-project-cta h2 span{color:#81c341}.footer-project-cta .button{flex-shrink:0}dialog{color:#203740;background:#fff;border:0;width:850px;max-width:min(850px,90vw);max-height:94dvh;padding:22px}dialog::backdrop{background:#112630e8}.gallery-top{justify-content:space-between;align-items:center;gap:25px;margin-bottom:15px;display:flex}.gallery-top h2{letter-spacing:0;font-size:20px}.gallery-close{background:0 0;border:0;min-width:44px;min-height:44px;font-size:30px}#gallery-image{object-fit:contain;background:#f3f4f0;width:100%;max-width:450px;height:min(65vh,450px);margin-inline:auto}.gallery-bottom{justify-content:space-between;align-items:center;margin-top:14px;display:flex}.gallery-bottom button{background:#edf1e8;border:0;width:50px;height:44px}.gallery-bottom button:disabled{opacity:.3;cursor:default}#gallery-count{font-size:12px}[hidden]{display:none!important}@media (width<=1200px){.header{height:88px}.header-inner{--menu-gap:18px}.brand{width:155px}.header-actions{gap:18px}.header-cta{gap:10px;max-width:140px;padding-left:18px;font-size:10px}.wrap{width:calc(100% - 64px)}.about,.contact-grid{gap:65px}.section{--section-space:85px}.project-grid{grid-template-columns:repeat(2,1fr);gap:38px}.project-image{max-width:450px}.project h3{font-size:21px}.contact-copy h1{font-size:37px}}@media (width<=900px){html{scroll-padding-top:88px}:root{--header-height:80px}.header-actions{margin-left:auto}.header-cta{border:0;max-width:none}.main-nav{background:#fff;border-top:1px solid #e1e5df;flex-direction:column;align-items:flex-start;gap:0;margin:0;padding:30px;display:none;position:absolute;top:80px;left:0;right:0;box-shadow:0 12px 18px #18313f10}.main-nav.is-open{display:flex}.main-nav a{width:100%;padding:14px 0;font-size:19px}.menu-toggle{background:0 0;border:1px solid #d3dbd0;flex-direction:column;justify-content:center;align-items:center;gap:6px;width:42px;height:42px;display:flex}.menu-toggle span{background:#203740;width:19px;height:1px;transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px)rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px)rotate(-45deg)}.about{gap:40px}.about-image>img{height:330px}.about-copy p:not(.eyebrow){font-size:12px}.image-tag{padding:17px;font-size:8px;right:-10px}.section-heading{gap:35px}.section-heading>p{max-width:220px;font-size:12px}.primary-systems{gap:18px}.system-feature h3{font-size:20px}.secondary-systems{gap:0 25px}.secondary-systems img{width:78px;height:84px}.secondary-systems article{gap:16px}.secondary-systems h3{font-size:15px}.contact-grid{gap:40px}.contact-copy h1{font-size:32px}.contact-copy .contact-phone{font-size:22px}.form-grid{grid-template-columns:1fr}.footer-main{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}.footer-brand{max-width:200px}.footer-brand img{width:185px}}@media (width<=600px){.wrap{width:calc(100% - 40px)}.section{--section-space:65px}:root{--header-height:74px}.header-inner{gap:15px}.brand{width:145px}.header-actions{gap:15px}.menu-toggle{width:38px;height:38px}.main-nav{padding:20px;top:74px}.about{grid-template-columns:1fr;gap:38px}.about-image{order:2}.about-image>img{height:365px}.image-tag{font-size:9px;right:0}.about-copy h2{font-size:34px}.about-copy p:not(.eyebrow){font-size:13px}.eyebrow{margin-bottom:19px;font-size:10px}.section-heading{margin-bottom:33px;display:block}.section-heading h2{letter-spacing:-1.3px;font-size:35px}.section-heading>p{max-width:340px;margin-top:20px}.primary-systems{grid-template-columns:1fr;gap:33px}.system-feature h3{max-width:100%;font-size:24px}.system-number{margin-top:17px}.system-feature>p{max-width:100%;margin-top:10px;font-size:12px}.image-window img{aspect-ratio:1.6}.secondary-systems{grid-template-columns:1fr;margin-top:32px}.secondary-systems img{width:92px;height:85px}.secondary-systems h3{font-size:17px}.secondary-systems article{gap:20px;padding-block:22px}.secondary-systems p{font-size:11px}.project-grid{grid-template-columns:1fr 1fr;gap:28px 15px}.project h3{font-size:16px}.project-caption{gap:7px;padding-top:14px}.project-caption>.arrow{display:none}.contact-grid{grid-template-columns:1fr;gap:45px}.contact-copy h1{letter-spacing:-1.4px;font-size:36px}.contact-copy .contact-phone{margin-top:30px}.contact-copy address{margin-top:22px}.form-grid{grid-template-columns:1fr 1fr;gap:0 20px}.field label{font-size:10px}.field small{font-size:9px}.field input{min-width:0}.footer{padding-top:40px}.footer-main{grid-template-columns:1fr 1fr;gap:35px 20px;display:grid;position:relative}.footer-brand{grid-column:1/-1;max-width:240px}.back-top{width:38px;height:38px;position:absolute;top:0;right:0}.footer-bottom{grid-template-columns:1fr;gap:4px}.footer-bottom:before{display:none}dialog{max-width:94vw;padding:15px}.gallery-top h2{font-size:16px}#gallery-image{height:55vh}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}:root{--hero-bottom-space:clamp(42px, 10.5svh, 100px)}.hero{isolation:isolate;color:#fff;background:#192f3c;align-items:end;min-height:100svh;display:grid;position:relative}.hero:before,.hero-photo,.hero-photo :is(img,video){width:100%;height:100%;position:absolute;inset:0}.hero-photo{z-index:-2}.hero-photo video{z-index:1}.hero-photo.is-outgoing{z-index:-3}.hero-photo :is(img,video){object-fit:cover;object-position:center 44%}.hero:before{content:"";z-index:-1;background:linear-gradient(90deg,#0d1b25d1,#0d1b25a6 44%,#0d1b2521)}.hero-copy{padding-block:152px var(--hero-bottom-space)}.hero h1{letter-spacing:-.045em;text-wrap:balance;max-width:700px;font-family:Raleway,Montserrat,Arial,sans-serif;font-size:40px}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:clamp(20px,4vw,32px);display:flex}.hero-contact{color:#fff;background:0 0;box-shadow:inset 0 0 0 1px #fff}.hero-contact:hover{color:#192f3c;background:#fff}.hero-contact:focus-visible{outline-color:#fff}.hero-action{color:#192f3c;background:#fff}.hero-action:hover{color:#132716;background:#81c341}.hero-action:focus-visible{outline-color:#fff}.projects{padding-top:clamp(56px,7vw,100px)}@media (width<=600px){:root{--hero-bottom-space:clamp(32px, 8svh, 68px)}.hero-copy{padding-block-start:128px}.hero h1{font-size:clamp(32px,9vw,40px)}.hero-photo :is(img,video){object-position:54% center}.hero:before{background:linear-gradient(#0d1b2536,#0d1b25cf 40%,#0d1b25f7)}}.header{position:fixed;inset:0 0 auto}.header.is-over-hero:not(:has(.main-nav.is-open)){color:#fff;background:0 0;border-color:#0000}.header.is-over-hero:not(:has(.main-nav.is-open)) .header-inner{padding-top:60px}.header.is-over-hero:not(:has(.main-nav.is-open)) .brand img{filter:brightness(0)invert();transform-origin:0;transform:scale(1.1)}.header.is-over-hero:not(:has(.main-nav.is-open)) .mega-menu-trigger:hover{color:#c8e5ad}.mega-menu-trigger{color:inherit;text-align:left;text-transform:uppercase;white-space:nowrap;cursor:pointer;background:0 0;border:0;align-items:center;padding:0;font-size:12px;font-weight:600;display:flex}.mega-menu-trigger:is(:hover,[aria-expanded=true]){color:#487c24}.header.is-over-hero .mega-menu-trigger[aria-expanded=true]{color:#81c341}.mega-menu-item{--mega-menu-radius:6px;--mega-menu-shadow:0 10px 28px #19303f24}.mega-menu-panel{color:#19303f;border-radius:var(--mega-menu-radius);background:#fff}.mega-menu-links,.mega-menu-submenu{margin:0;padding:6px 0;list-style:none}.mega-menu-links a,.mega-menu-links summary{text-transform:none;white-space:normal;overflow-wrap:anywhere;justify-content:space-between;align-items:center;gap:10px;min-height:42px;padding:9px 14px;font-size:13px;display:flex}.mega-menu-links summary{cursor:pointer;font-weight:600}.mega-menu-links summary::-webkit-details-marker{display:none}.mega-menu-links :is(a,summary):is(:hover,:focus-visible),.mega-menu-links details[open]>summary{color:#487c24;background:#f3f6f1}.mega-menu-links .arrow{flex:none;width:14px;height:14px}@media (width>=901px){.main-nav,.mega-menu-item,.mega-menu-trigger{height:100%}.mega-menu-item,.mega-menu-systems details{position:relative}.mega-menu-trigger{gap:6px}.mega-menu-trigger[aria-controls]:after{content:"";border-bottom:1px solid;border-right:1px solid;width:6px;height:6px;transform:rotate(45deg)translateY(-2px)}.mega-menu-panel{width:228px;box-shadow:var(--mega-menu-shadow);position:absolute;inset:100% auto auto 0}.mega-menu-panel[inert]{display:none}.mega-menu-systems .mega-menu-submenu{z-index:1;width:236px;max-height:max(126px, calc(100dvh - var(--header-height) - 120px));border-radius:var(--mega-menu-radius);box-shadow:var(--mega-menu-shadow);background:#fff;position:absolute;top:-6px;left:100%;overflow-y:auto}}@media (width<=900px){.main-nav{max-height:calc(100dvh - var(--header-height));overflow-y:auto}.mega-menu-item{width:100%}.mega-menu-trigger{width:100%;padding:14px 0;font-size:19px}.mega-menu-panel[inert]{display:none}.mega-menu-panel{background:#f8faf7}.mega-menu-submenu{padding-inline-start:14px}}.header.is-over-hero:not(:has(.main-nav.is-open)) .menu-toggle span{background:#fff}.hero:before{background-image:linear-gradient(#0d1b25b3,#0000 170px),linear-gradient(90deg,#0d1b25d1,#0d1b25a6 44%,#0d1b2521)}@media (width<=600px){.hero:before{background-image:linear-gradient(#0d1b25b3,#0000 155px),linear-gradient(#0d1b2536,#0d1b25cf 40%,#0d1b25f7)}}@media (prefers-reduced-motion:no-preference){.header{transition:background-color .2s,color .2s,border-color .2s}.hero-action{transition:background-color .2s}.hero-copy{animation:.38s ease-out both hero-arrival}@keyframes hero-arrival{0%{opacity:.75;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}}.back-top-floating{z-index:19;inset:auto max(20px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) auto;color:#fff;background:#14466c;width:44px;height:44px;position:fixed}.home-page .footer-project-actions{padding-inline-end:60px;position:relative}.back-top-floating.is-docked{bottom:var(--back-top-footer-bottom);height:var(--back-top-footer-height)}.back-top-floating[hidden]{display:none}.back-top-floating.is-over-dark,.footer-main .back-top{color:#14466c;background:#fff}@media (width<=1200px){.hero-copy{padding-inline-start:26px}}.project-dialog{border-radius:24px;width:min(960px,100% - 24px);max-width:none;max-height:calc(100dvh - 32px);margin:auto;padding:clamp(18px,4vw,38px);overflow-y:auto}@media (prefers-reduced-motion:no-preference){.project-dialog[open]{animation:.65s ease-out both project-panel-enter}.project-dialog[open]::backdrop{animation:.28s ease-out both project-backdrop-enter}.project-dialog.is-closing{animation:.65s ease-in both project-panel-exit}.project-dialog.is-closing::backdrop{animation:.65s ease-in both project-backdrop-exit}@keyframes project-panel-enter{0%{transform:translateY(calc(50dvh + 50%))}}@keyframes project-backdrop-enter{0%{opacity:0}}@keyframes project-panel-exit{to{transform:translateY(calc(50dvh + 50%))}}@keyframes project-backdrop-exit{to{opacity:0}}}.project-dialog .gallery-top{margin-bottom:24px}.project-dialog .gallery-close{border:1px solid #9ca9a1;border-radius:4px;flex:none}.project-dialog h2{font-size:clamp(24px,4vw,36px)}.project-dialog .button-dark:is(:hover,:focus-visible){color:#132716;background:#81c341}.field .project-privacy-check{align-items:flex-start;gap:9px;font-size:13px;display:flex}.contact-form-card .project-privacy-check{align-items:center;gap:12px}.project-privacy-check input[type=checkbox]{accent-color:#81c341;flex:none;width:18px;height:18px;min-height:0;margin-top:2px}.hero-controls{inset:auto 0 var(--hero-bottom-space);pointer-events:none;justify-content:flex-end;gap:6px;display:flex;position:absolute}.hero-controls[hidden]{display:none}.hero-controls button{cursor:pointer;pointer-events:auto;background:0 0;border:0;place-items:center;width:24px;height:44px;padding:0;display:grid}.hero-controls button:before{content:"";background:#fff;border-radius:50%;width:8px;height:8px}.hero-controls button[aria-current=true]:before{transform:scale(1.5)}.hero-controls button:hover:before{background:#81c341}.hero-controls button:focus-visible{outline-color:#fff}@media (hover:hover) and (pointer:fine){.hero{cursor:grab}.hero.is-dragging{cursor:grabbing}}.system-benefits{padding-block:var(--hero-bottom-space) clamp(64px, 7vw, 134px);color:#393f4d;background:radial-gradient(clamp(155px,16vw,285px) clamp(175px,42%,280px) at 0 48%,#81c34175,#81c3412b 46%,#81c34100 100%),#fff}.system-benefits h2,.project-showcase :is(h1,h2),.activities-heading :is(h1,h2),.partner-heading h2,.about-copy h2{letter-spacing:-.045em;font-size:clamp(28px,3vw,36px);font-weight:650;line-height:1.2}.system-benefits h2 span,.project-showcase :is(h1,h2) span,.activities-heading :is(h1,h2) span,.partner-heading h2 span,.about-copy h2 span{color:#81c341}.about-copy{color:#393f4d;position:relative}.about-copy h2{max-width:none;margin-bottom:20px;line-height:1.35}.about-copy>p:not(.eyebrow){color:#1a1a1a;font-size:16px}.about-copy>p+p{margin-top:12px}@media (prefers-reduced-motion:no-preference){.about-copy .text-link .arrow,.project-discussion-copy .text-link .arrow{transition:transform .25s}.about-copy .text-link:is(:hover,:focus-visible) .arrow,.project-discussion-copy .text-link:is(:hover,:focus-visible) .arrow{transform:translate(4px,-4px)}}@media (width>=701px){.about{align-items:stretch}.about-copy{padding-block:82px 110px}.about-copy>p:not(.eyebrow){max-inline-size:95%}.about-image>img{height:calc(100% - var(--about-image-bottom));position:absolute;inset:0 auto auto 0}}.system-benefits-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:36px clamp(12px,1.4vw,24px);margin:48px 0 0;padding:0;list-style:none;display:grid}.system-benefit-icon{isolation:isolate;margin-inline:auto;color:#344b94;place-items:end;width:118px;height:112px;margin-bottom:28px;display:grid;position:relative}.system-benefit-icon:before{content:"";z-index:-1;background:#e2e2e2;width:90px;height:84px;position:absolute;inset:0 auto auto 0}.system-benefit-icon img{object-fit:contain;width:90px;height:108px}.system-benefits-grid h3{letter-spacing:-.025em;text-wrap:balance;font-size:clamp(13px,1.15vw,16px);font-weight:500;line-height:1.2}.service-statement-label{color:inherit;justify-self:start;align-items:center;gap:12px;font-size:12px;font-weight:650;display:flex}.service-statement-label:before,.eyebrow-square:before{content:"";background:currentColor;flex:none;width:11px;height:11px}.service-project-link{white-space:nowrap;justify-self:start}.service-project-link:focus-visible{text-decoration:underline}@media (width<=1100px){.system-benefits-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=520px){.system-benefits-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.system-benefit-icon{margin-bottom:16px}}@media (width<=350px){.system-benefits-grid{grid-template-columns:1fr}}.project-showcase{color:#f4f7f8;background:#14466c;padding-block:clamp(56px,7vw,100px)}.project-intro .eyebrow{color:#c5d2da}.systems-menu-toggle{display:none}@media (width<=900px){.mega-menu-item:has(.systems-menu-toggle){position:relative}.systems-menu-toggle{width:44px;height:44px;color:inherit;cursor:pointer;background:0 0;border:0;place-items:center;font-size:24px;display:grid;position:absolute;top:4px;right:0}}.systems-directory{padding-block:clamp(56px,7vw,110px)}.systems-directory-heading{grid-template-columns:1.5fr 1fr;align-items:end;gap:48px;margin-bottom:clamp(48px,6vw,90px);display:grid}.systems-directory-heading h1{letter-spacing:-.045em;max-width:16ch;font-size:clamp(38px,5vw,72px);font-weight:500;line-height:1.2}.systems-directory-heading>p{color:#53636a;max-width:38ch;font-size:16px;line-height:1.5}.systems-directory-grid{grid-template-columns:repeat(12,minmax(0,1fr));align-items:start;gap:clamp(36px,5vw,80px) clamp(24px,4vw,64px);display:grid}.system-directory-card{grid-column:span 6;min-width:0}.system-directory-card:nth-child(4n+1){grid-column:span 7}.system-directory-card:nth-child(4n+2){grid-column:span 5;margin-top:100px}.system-directory-card:nth-child(4n+3){grid-column:span 5}.system-directory-card:nth-child(4n){grid-column:span 7;margin-top:100px}.system-directory-card a{display:block}.system-directory-image{background:var(--interior-surface);display:block;position:relative;overflow:hidden}.project-directory-open{text-align:left;width:100%;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:0;display:block}.project-directory-title{font-size:clamp(22px,2vw,30px);font-weight:600;line-height:1.2}.project-directory-title.project-caption-roll{display:grid;overflow:hidden}.project-directory-open .system-directory-image:after{content:"";pointer-events:none;background:#14466cc7;position:absolute;inset:0}@media (hover:hover){.project-directory-open .system-directory-image:after{opacity:0}.project-directory-open:is(:hover,:focus-visible) .system-directory-image:after{opacity:1}}@media (prefers-reduced-motion:no-preference){.project-directory-open .system-directory-image img,.project-directory-open .system-directory-image:after{transition:opacity .25s,transform .45s cubic-bezier(.22,1,.36,1)}.project-directory-open .system-directory-caption{transition:padding-inline .45s cubic-bezier(.22,1,.36,1)}.system-directory-card .project-directory-open:is(:hover,:focus-visible) .system-directory-image img,.project-directory-open:is(:hover,:focus-visible) .system-directory-image:after{transform:scale(1)}.project-directory-open:is(:hover,:focus-visible) .system-directory-caption{padding-inline:4%}}.systems-directory .system-directory-card{scroll-margin-top:calc(var(--header-height) + 24px)}.system-directory-image img{aspect-ratio:5/4;object-fit:cover;width:100%;display:block}.system-directory-card:nth-child(4n+2) img,.system-directory-card:nth-child(4n+3) img{aspect-ratio:4/5}.system-directory-action{background:#fff;place-items:center;width:48px;height:48px;display:grid;position:absolute;bottom:20px;right:20px}.system-directory-caption{gap:20px;padding-top:22px;display:flex}.system-directory-number{color:#53636a;padding-top:6px;font-size:12px}.system-directory-caption h2{font-size:clamp(22px,2vw,30px);font-weight:600;line-height:1.2}.system-directory-caption p{color:#53636a;margin-top:12px;font-size:16px;line-height:1.5}@media (prefers-reduced-motion:no-preference){.system-directory-card{transition:opacity .8s,transform .9s cubic-bezier(.22,1,.36,1)}.system-directory-card.is-reveal-pending{opacity:0;transform:translateY(60px)}.system-directory-image img{transition:transform 1s cubic-bezier(.22,1,.36,1)}.system-directory-card.is-reveal-pending img{transform:scale(1.08)}.system-directory-card a:is(:hover,:focus-visible) img{transform:scale(1.035)}}@media (width<=760px){.systems-directory-heading{grid-template-columns:1fr;gap:24px}.system-directory-card:nth-child(n){grid-column:1/-1;margin-top:0}.system-directory-card:nth-child(n) img{aspect-ratio:5/4}}#about{scroll-margin-top:var(--header-height)}.project-intro-copy{color:#d3dde2;max-width:64ch;margin-block:16px 18px}.project-intro{grid-template-columns:minmax(0,1fr) auto;align-items:end;column-gap:24px;display:grid}.project-intro>:not(.text-link){grid-column:1/-1}.project-intro .text-link{grid-column:2;justify-self:end}.project-intro .text-link:hover{color:#81c341}@media (width>=701px){.project-intro>.project-intro-copy{grid-column:1;margin-bottom:0}.project-intro .text-link{grid-row:3}}.project-detail{grid-template-columns:minmax(0,2fr) minmax(0,3fr);align-items:start;gap:clamp(24px,5vw,80px);display:grid}.project-detail:has(+.project-photo-strip){padding-bottom:clamp(20px,4vw,54px)}[data-project-gallery]{background:var(--interior-surface)}@media (width<=760px){.project-detail{grid-template-columns:minmax(0,1fr)}.project-media{grid-row:1}}.project-detail-copy h2{max-width:20ch}.project-detail-copy{flex-direction:column;align-self:stretch;display:flex}.project-gallery-link{align-self:flex-start;margin-top:auto}.project-detail-copy:has(.project-gallery-link) dl{margin-bottom:24px}#project-photo-strip{scroll-margin-top:calc(var(--header-height) + 16px)}.project-description{max-width:60ch;margin-top:20px}.project-detail-copy dl{gap:0;margin:30px 0 0;display:grid}.project-detail-copy dl>div{border-top:1px solid #e1e5df;padding-block:11px}.project-detail-copy dt{color:#53636a;font-size:13px}.project-detail-copy dd{margin:2px 0 0;font-weight:700}.project-media{min-width:0;position:relative}.project-media-image{cursor:zoom-in;background:#eff1eb;border:0;width:100%;padding:0;display:block}.project-media-image img{width:100%;height:auto;display:block}.project-photo-strip{--photo-gap:clamp(10px, 2vw, 24px);padding-inline:var(--photo-gap);padding-bottom:0}.project-photo-track{grid-auto-flow:column;grid-auto-columns:calc((100% - 3 * var(--photo-gap)) / 4);align-items:start;gap:var(--photo-gap);scroll-snap-type:x mandatory;scrollbar-width:none;display:grid;overflow-x:auto}.project-photo-track::-webkit-scrollbar{display:none}.project-photo-track>*{scroll-snap-align:start}.project-photo-track>:focus-visible{outline-offset:-3px}@media (hover:hover) and (pointer:fine){.project-photo-track>*{cursor:grab}}.project-photo-track.is-dragging{scroll-snap-type:none;scroll-behavior:auto;-webkit-user-select:none;user-select:none}.project-photo-track.is-dragging>*{cursor:grabbing}@media (width<=600px){.project-photo-track{grid-auto-columns:calc((100% - var(--photo-gap)) / 2)}}body:has([data-project-gallery],.application-gallery) #gallery{--gallery-side:clamp(42px, 6vw, 60px);width:fit-content;max-width:min(1180px,94vw);padding:0 var(--gallery-side);background:0 0;margin:auto;overflow:hidden}body:has([data-project-gallery],.application-gallery) #gallery .gallery-top{z-index:2;position:absolute;inset:8px 8px auto auto}body:has([data-project-gallery],.application-gallery) #gallery .gallery-top h2{display:none}body:has([data-project-gallery],.application-gallery) #gallery .gallery-close{color:#19303f;background:#f4f5f2;width:44px;height:44px}body:has([data-project-gallery],.application-gallery) #gallery-image{width:auto;height:auto;max-width:calc(min(1180px, 94vw) - 2 * var(--gallery-side));max-height:88dvh;display:block}body:has([data-project-gallery],.application-gallery) #gallery .gallery-bottom{display:contents}body:has([data-project-gallery],.application-gallery) #gallery .gallery-bottom button{color:#19303f;cursor:pointer;background:#f4f5f2;width:clamp(36px,5vw,44px);position:absolute;top:50%;transform:translateY(-50%)}body:has([data-project-gallery],.application-gallery) #gallery-prev{left:0}body:has([data-project-gallery],.application-gallery) #gallery-next{right:0}body:has([data-project-gallery],.application-gallery) #gallery-count{color:#fff;white-space:nowrap;background:#0b2338cc;padding:4px 10px;position:absolute;bottom:8px;left:50%;transform:translate(-50%)}.project-continuation{background:var(--interior-surface);padding-block:clamp(32px,5vw,72px)}.project-discussion{background:var(--interior-surface);padding-block:32px}.project-discussion-layout{grid-template-columns:1fr;gap:24px;display:grid}.project-discussion-title{color:#203333;letter-spacing:-.02em;width:fit-content;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(30px,3.5vw,52px);font-weight:700;line-height:1.2}.project-discussion-title span{display:block}.project-discussion-copy p{max-width:64ch;margin:0 0 28px;font-size:clamp(16px,1.4vw,19px);line-height:1.5}@media (width<=760px){.project-discussion{padding-block:40px}.project-discussion-title{font-size:clamp(26px,6.5vw,42px)}}.project-continuation-viewport{padding-inline:clamp(12px,1.5vw,24px)}.project-continuation-track{--photo-gap:clamp(12px, 2vw, 32px);scroll-snap-type:none;grid-auto-columns:clamp(240px,20vw,320px)}.project-continuation-track a{gap:12px;font-size:clamp(14px,1.5vw,20px);font-weight:600;display:grid}.project-continuation-track img{aspect-ratio:2/3;object-fit:cover;width:100%}.project-continuation-track .project-image{max-width:none}.project-video-button{color:#fff;cursor:pointer;background:#14466c;border:0;place-items:center;width:44px;height:44px;display:grid;position:absolute;top:12px;right:12px}#project-video{margin:auto}#project-video video{width:100%;max-height:74dvh;display:block}.project-showcase .project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,42px) clamp(14px,2vw,28px);margin-top:clamp(28px,4vw,52px)}.project-showcase .project{scroll-margin-top:calc(var(--header-height) + 16px)}.project-showcase .project-image{max-width:none}.project-showcase .project-open{color:inherit}.project-showcase .project-open:focus-visible{outline-color:#81c341}.project-showcase .project-open{--project-frame-inset:14px;--project-frame-color:#81c341}.project-showcase .project-image:before{content:"";z-index:2;inset:18px var(--project-frame-inset) 0;border:1px solid var(--project-frame-color);pointer-events:none;border-bottom:0;position:absolute}.project-card-title{min-height:46px;margin-inline:var(--project-frame-inset);align-items:center;gap:10px;padding:8px 0 8px 12px;font-size:clamp(14px,1.3vw,18px);font-weight:650;line-height:1.25;display:flex;position:relative}.project-card-title:before{content:"";border-inline:1px solid var(--project-frame-color);pointer-events:none;position:absolute;inset:0 0 50%}.home-page .project-card-title:before{background:linear-gradient(var(--project-frame-color), var(--project-frame-color)) left bottom / 6px 1px no-repeat}.project-card-title:after{content:"";border-top:1px solid var(--project-frame-color);flex:1 0 20px}.project-showcase .project-image>img{aspect-ratio:3/2;display:block}.project-action{z-index:1;color:#fff;white-space:nowrap;border-bottom-color:currentColor;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.project-showcase .project-image:after,.project-continuation .project-image:after{content:"";pointer-events:none;background:#14466cc7;position:absolute;inset:0}@media (hover:hover){.project-showcase .project-image:after,.project-continuation .project-image:after,.project-action{opacity:0}.project-open:is(:hover,:focus-visible) .project-image:after,.project-open:is(:hover,:focus-visible) .project-action{opacity:1}}.project-caption-roll>span{grid-area:1/1}.project-caption-roll>[aria-hidden]{transform:translateY(100%)}@media (prefers-reduced-motion:no-preference){.project-caption-roll>span{transition:transform .45s cubic-bezier(.22,1,.36,1)}.project-action{transition:opacity .25s}.project-showcase .project-image:after{transition:opacity .25s,transform .45s cubic-bezier(.22,1,.36,1)}.project-open:is(:hover,:focus-visible) .project-caption-roll>:first-child{transform:translateY(-100%)}.project-open:is(:hover,:focus-visible) .project-caption-roll>[aria-hidden]{transform:translateY(0)}}@media (width<=900px){.project-showcase .project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.project-showcase .project-grid{grid-template-columns:1fr}}#contact .contact-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);align-items:start;gap:clamp(24px,3vw,48px)}#contact .contact-information{grid-template-columns:auto auto auto;gap:28px 18px;font-size:14px;display:grid}#contact .contact-address-row{grid-column:1/-1}#contact .contact-address-row dd{justify-content:space-between;align-items:center;gap:20px;display:flex}#contact .contact-directions{margin-top:24px}#contact .contact-information dd{margin-bottom:0;line-height:1.5}#contact .contact-form-card{padding:28px}#contact .contact-form-card h2{letter-spacing:-.035em;white-space:nowrap;margin-bottom:20px;font-size:clamp(19px,1.8vw,26px)}#contact .contact-form-card .field{margin-bottom:12px}#contact .contact-form-card textarea{min-height:72px}#contact .contact-form-card .form-grid{gap:0 20px}#contact :is(p,dt,dd,address,a,label,small,input,select,textarea,button,.field-error,.form-note){font-size:16px}.interior-banner:has(#contact-title) .interior-banner-copy>p{font-size:16px}#contact .field label small,#contact .field select,#contact .field .project-privacy-check{font-size:12px}#contact .contact-details>h2{margin-bottom:24px}#contact .contact-intro{color:#53636a;max-width:54ch;margin:0 0 32px;line-height:1.5}#contact button[type=submit]{transition:background-color .25s,color .25s}#contact button[type=submit]:is(:hover,:focus-visible){color:#19303f;background-color:#81c341}@media (width<=1100px){#contact .contact-grid{grid-template-columns:1fr}}@media (width<=600px){#contact .contact-information{grid-template-columns:1fr}#contact .contact-address-row dd{flex-direction:column;align-items:flex-start}#contact .contact-form-card{padding:20px}#contact .contact-form-card h2{white-space:normal}}.faq-page{padding-block:clamp(56px,7vw,110px)}.legal-navigation h2{text-transform:uppercase;letter-spacing:.12em;margin-bottom:12px;font-size:13px}.legal-navigation a[aria-current=page]{color:#487c24;border-bottom-color:#8ab960;font-weight:600}.legal-content{min-width:0}.legal-content>h2{margin:18px 0 28px;font-size:clamp(28px,3vw,42px);font-weight:500;line-height:1.2}.legal-draft{color:#53636a;background:#f4f6f1;border-left:2px solid #90b875;margin-bottom:38px;padding:18px 22px;font-size:14px;line-height:1.5}.legal-section{border-bottom:1px solid #dce2db;padding-block:28px}.legal-section h3{align-items:baseline;gap:16px;margin-bottom:16px;font-size:22px;font-weight:500;display:flex}.legal-section h3>span{color:#487c24;font-size:12px}.legal-section p,.legal-contact p{color:#53636a;font-size:16px;line-height:1.5}.legal-contact{background:var(--interior-surface);margin-top:40px;padding:28px}.legal-contact h3{margin-bottom:14px;font-size:22px}.legal-contact a{overflow-wrap:anywhere;width:fit-content;margin-top:12px;font-size:16px;display:block}.legal-contact a:hover{text-decoration:underline}.faq-page-layout{grid-template-columns:minmax(240px,1fr) minmax(0,2fr);align-items:start;gap:clamp(36px,6vw,90px);display:grid}.faq-categories{top:calc(var(--header-height) + 28px);background:var(--interior-surface);padding:28px;position:sticky}.faq-categories>a:not(.text-link){border-bottom:1px solid #dce2db;justify-content:space-between;align-items:center;gap:16px;padding-block:18px;font-size:16px;display:flex}.faq-categories>a>span:last-child{align-items:center;gap:12px;font-size:12px;display:flex}.faq-categories .arrow{width:18px;height:18px}.faq-categories>p{margin-top:36px;font-size:14px}.faq-categories a:hover{color:#487c24}.faq-group{scroll-margin-top:calc(var(--header-height) + 28px);margin-bottom:56px}.faq-group:last-child{margin-bottom:0}.faq-group h2{align-items:center;gap:18px;margin-bottom:20px;font-size:clamp(24px,2.5vw,34px);font-weight:500;display:flex}.faq-group h2>span{color:#487c24;font-size:12px}.faq-group details{border-bottom:1px solid #dce2db}.faq-group summary{cursor:pointer;justify-content:space-between;gap:24px;padding-block:24px;font-size:16px;font-weight:600;list-style:none;display:flex}.faq-group summary::-webkit-details-marker{display:none}.faq-group summary>span{flex:none;font-size:24px;font-weight:400;line-height:1}.faq-group details[open] summary{color:#487c24}.faq-group details[open] summary>span{transform:rotate(45deg)}.faq-group details>p{color:#53636a;padding:0 40px 24px 0;font-size:16px;line-height:1.5}.company-intro-grid{grid-template-columns:1.1fr 1fr;align-items:end;gap:clamp(32px,6vw,90px);margin-top:24px;display:grid}.company-intro h2{letter-spacing:-.045em;font-size:clamp(36px,4.2vw,64px);line-height:1.2}.company-intro h2 span{color:#6d9f3b}.company-lead{font-size:19px;font-weight:500;line-height:1.5}.company-intro .text-link{margin-top:30px}.company-story{grid-template-columns:1fr 1fr;align-items:center;gap:clamp(32px,6vw,90px);padding-bottom:clamp(64px,7vw,110px);display:grid}.company-story-image{margin:0}.company-story-image>img{--corner-cut:clamp(36px, 4vw, 64px);aspect-ratio:1.08;object-fit:cover;width:100%;clip-path:polygon(0 0, 100% 0, 100% calc(100% - var(--corner-cut)), calc(100% - var(--corner-cut)) 100%, 0 100%)}.company-story h2,.company-maintenance h2,.company-values h2{letter-spacing:-.035em;margin-bottom:24px;font-size:clamp(30px,3vw,44px);line-height:1.2}.company-story-copy p,.company-maintenance-copy>p,.company-values article>p:last-child{font-size:16px;line-height:1.5}.company-story-copy p+p,.company-maintenance-copy>p+p{margin-top:22px}.company-maintenance h2{margin-top:20px}#working-process,#maintenance{scroll-margin-top:calc(var(--header-height) + 24px)}.company-maintenance{grid-template-columns:1fr 1fr;align-items:start;gap:clamp(32px,6vw,90px);display:grid}.company-warranty{background:var(--interior-surface);border-left:2px solid #81c341;margin-block:30px;padding:26px}.company-maintenance-copy>.company-warranty:last-child{margin-bottom:0}[data-company-reveal]{overflow-x:clip}@media (prefers-reduced-motion:no-preference){[data-company-reveal] article{transition:opacity .85s,transform .85s cubic-bezier(.22,1,.36,1)}[data-company-reveal] .is-reveal-pending{opacity:0;transform:translate(-40px)}[data-company-reveal] .is-reveal-pending:nth-child(2n){transform:translate(40px)}}.company-warranty h3{margin-bottom:14px;font-size:20px;line-height:1.2}.company-warranty p{font-size:16px;line-height:1.5}.company-values{color:#19303f;background:#fff;padding-top:0}.company-values-grid{grid-template-columns:1fr 1fr;gap:24px;display:grid}.company-values article{background:#f3f5ef;border-top:2px solid #81c341;padding:clamp(28px,4vw,54px);position:relative}.company-values article+article{background:#edf2f3;border-top-color:#19303f}.company-values .eyebrow{color:#487c24;margin-bottom:32px}.company-values article>p:last-child{color:#53636a;max-width:58ch}.company-principles{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);align-items:start;gap:clamp(40px,7vw,100px);display:grid}.principles-intro{top:calc(var(--header-height) + 32px);position:sticky}.principles-intro h2{letter-spacing:-.04em;margin-top:20px;font-size:clamp(36px,4.2vw,64px);line-height:1.2}.principles-intro h2>span{color:#81c341;display:block}.principles-intro img{width:85%;height:auto;margin-block:24px 0;display:block}.principles-list{margin:0;padding:0;list-style:none}.principles-list li{border-top:1px solid #d8dfd4;grid-template-columns:48px minmax(0,1fr);gap:24px;padding-block:36px;display:grid}.principles-list li:first-child{border-top:2px solid #81c341;padding-top:24px}.principles-list li:last-child{border-bottom:1px solid #d8dfd4}.principle-number{color:#6d9f3b;font-size:28px;line-height:1.2}.principles-list h3{letter-spacing:-.025em;margin-bottom:18px;font-size:clamp(23px,2.4vw,32px);font-weight:500;line-height:1.2}.principles-list p{color:#53636a;font-size:16px;line-height:1.5}.hr-teamwork{color:#fff;background-color:#19303f;background-image:linear-gradient(110deg,#0f2534e0,#0f2534d1),url(/images/hr-team-meeting.png);background-position:50%;background-size:cover}.hr-teamwork-preface{padding-bottom:clamp(56px,6vw,96px)}.hr-teamwork-preface>p{color:#53636a;max-width:100ch;font-size:16px;line-height:1.5}.hr-teamwork-intro{max-width:760px}.partners.partners-page{padding-block:clamp(64px,7vw,110px)}.hr-teamwork .eyebrow{color:#b8da9c;margin-bottom:24px}.hr-teamwork h2{letter-spacing:-.035em;font-size:clamp(30px,3.2vw,46px);line-height:1.2}.hr-teamwork h2>span{color:#a5d17e}.hr-teamwork p:not(.eyebrow){color:#d9e2e5;font-size:16px;line-height:1.5}.hr-teamwork-stages{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,4vw,56px);margin:64px 0 0;padding:0;list-style:none;display:grid}.hr-teamwork-stages li{border-top:1px solid #ffffff30;padding-top:24px}.hr-teamwork-stage-label{color:#a5d17e;align-items:center;gap:16px;margin-bottom:24px;font-size:16px;display:flex}.hr-teamwork-stage-label>span:first-child{font-size:28px;line-height:1.2}.hr-teamwork-stages h3{margin-bottom:18px;font-size:24px;line-height:1.2}@media (width<=900px){.hr-teamwork-intro{grid-template-columns:1fr}}@media (width<=700px){.hr-teamwork-stages{grid-template-columns:1fr;margin-top:40px}}@media (width<=900px){.company-principles{grid-template-columns:1fr}.principles-intro{position:static}.principles-intro img{max-width:480px}.company-intro-grid,.company-story,.company-maintenance{grid-template-columns:1fr}.company-story-image>img{aspect-ratio:16/10}.company-maintenance img{max-width:560px}}@media (width<=600px){.company-values-grid{grid-template-columns:1fr}.company-intro .text-link{max-width:100%;font-size:12px}}@media (width<=760px){.faq-page-layout{grid-template-columns:1fr}.faq-categories{position:static}}@media (width<=1024px){.hero-photo video{display:none}.hero{touch-action:pan-y}.hero-copy{padding:140px 0 calc(var(--hero-bottom-space) + 64px)}.hero-copy h1{max-width:18ch}}@media (width<=600px){.header-cta{display:none}.hero-copy{padding-top:128px}.hero h1{font-size:clamp(30px,8vw,40px)}.footer{padding-bottom:76px}.project-photo-track{grid-auto-columns:82%}body:has([data-project-gallery],.application-gallery) #gallery{--gallery-side:0px;max-width:96vw;padding-bottom:56px}body:has([data-project-gallery],.application-gallery) #gallery-image{max-width:96vw;max-height:calc(90dvh - 56px)}body:has([data-project-gallery],.application-gallery) #gallery .gallery-bottom button{width:44px;height:44px;top:auto;bottom:0;transform:none}body:has([data-project-gallery],.application-gallery) #gallery-count{bottom:10px}}@media (height<=500px) and (width<=1024px){.hero-copy{padding-top:120px}.hero h1{max-width:24ch}}@media (prefers-reduced-motion:reduce){.hero-photo video{display:none}}.interior-page :is(.company-story-copy,.company-maintenance-copy,.application-intro-copy,.system-detail>div){min-width:0}.interior-banner-copy{overflow-wrap:break-word}summary:focus-visible{outline-offset:4px;outline:3px solid #4a8024}@media (width<=1024px){.cassette-technical-layout{grid-template-columns:minmax(0,1fr)}.cassette-drawings img{height:clamp(240px,36vw,360px)}.principles-intro{position:static}}@media (width<=900px){.faq-page-layout,.project-detail,.system-category-detail{grid-template-columns:minmax(0,1fr)}.faq-categories{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;display:grid;position:static}.faq-categories>h2,.faq-categories>p,.faq-categories>.text-link{grid-column:1/-1}.faq-categories>p{margin-top:24px}.faq-categories>.text-link{justify-self:start}.project-media{grid-row:1}.project-media-image img{object-fit:contain;max-height:70svh}.project-photo-track{grid-auto-columns:calc((100% - 2 * var(--photo-gap)) / 3)}.system-category-image{object-position:center;max-height:540px}.application-closing-layout{align-items:start;gap:32px}}@media (width<=600px){.interior-banner{min-height:260px}.interior-banner-copy{padding-block:32px}.interior-banner-copy h1{font-size:clamp(27px,7.5vw,36px)}.interior-page .section{--section-space:48px}.form-grid{grid-template-columns:minmax(0,1fr)}.field label{font-size:14px}.field :is(input:not([type=checkbox]),textarea){min-height:48px;font-size:16px}.field select{min-height:48px}#contact .contact-form-card textarea{min-height:120px}#contact .contact-information{gap:24px}.footer-main>.footer-column:has(.footer-contact-item){grid-column:1/-1}.footer-contact-item{align-items:center;min-height:44px}.footer-social a{min-width:44px;min-height:44px}.faq-categories{gap:0 16px;padding:20px}.faq-categories>a:not(.text-link){gap:8px;font-size:14px}.faq-categories>a>span:last-child{gap:4px}.faq-group summary{gap:16px;padding-block:20px}.faq-group details>p{padding-right:0}.legal-draft,.legal-contact{padding:20px}.legal-navigation{grid-template-columns:1fr}.project-description{font-size:16px}.project-photo-track{grid-auto-columns:82%}.cassette-drawings{gap:16px}.cassette-drawings img{height:220px}.application-closing-layout{padding-block:48px}.application-closing h2{margin-top:18px}.application-closing p:not(.eyebrow){font-size:16px}.company-lead{font-size:17px}.company-values article{padding:24px}.principles-intro img{width:min(85%,360px)}.principles-list li{grid-template-columns:32px minmax(0,1fr);gap:14px;padding-block:26px}.hr-teamwork-stages{gap:32px}}@media (width<=380px){.faq-categories,.cassette-drawings{grid-template-columns:1fr}.cassette-drawings img{height:280px}.footer-main{grid-template-columns:minmax(0,1fr)}.footer-brand{max-width:240px}}.home-page{--home-section-space:clamp(40px, 5vw, 80px)}.home-page main>.section{--section-space:var(--home-section-space)}.home-page :is(.project-showcase,.partners,.footer){padding-block:var(--home-section-space)}.home-page .footer{gap:var(--home-section-space);min-height:auto}.home-page .footer-bottom{margin-top:0}.home-page .footer-project-cta{padding-block:0}@media (width>=701px){#working-process>.wrap{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:clamp(24px,4vw,56px);display:grid}#working-process .hr-teamwork-stages{display:contents}}#maintenance{gap:clamp(28px,4vw,56px);display:grid}#maintenance .hr-teamwork-preface{padding-bottom:0}.cassette-detail-page h2{font-size:44px}.cassette-detail-page :is(p:not(.eyebrow),.cassette-benefits li){font-size:16px}@media (width<=600px){.cassette-detail-page .application-gallery-heading{flex-wrap:wrap}.cassette-detail-page .application-gallery-heading .activities-controls{margin-inline-start:auto}}
