:root{--forest:#104735;--ink:#102e31;--ivory:#f5f3e7;--lime:#d6ef63;--line:#91a69a;--light-line:#8bada0;--font:'Inter',Arial,sans-serif;--body:clamp(16px,1.7vw,24px);--heading:clamp(34px,5.05vw,73px);--gutter:5%;--space:clamp(32px,4.8vw,70px);--radius:0;--ease:cubic-bezier(.3,.7,.2,1);--duration:320ms}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--ivory);color:var(--ink);font-family:var(--font);font-size:var(--body);font-weight:400;line-height:1.4;-webkit-font-smoothing:antialiased}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:450;letter-spacing:-.065em;line-height:1.02}h2{font-size:var(--heading)}h3{font-size:clamp(23px,2.65vw,38px);letter-spacing:-.055em}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid currentColor;outline-offset:5px}img{display:block;max-width:100%;height:auto}ol{list-style:none;margin:0;padding:0}.container{width:90%;max-width:1740px;margin-inline:auto}.eyebrow{font-size:clamp(12px,1.2vw,17px);letter-spacing:.08em;text-transform:uppercase;font-weight:600;margin-bottom:18px}.lead{font-size:clamp(18px,2.1vw,30px);line-height:1.35}.number{font-size:clamp(13px,1.5vw,21px);letter-spacing:0;font-weight:500}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;background:var(--lime);color:#17382d;border:1px solid var(--lime);border-radius:var(--radius);padding:22px 30px;font-size:clamp(15px,1.65vw,24px);line-height:1.2;transition:background var(--duration) var(--ease),color var(--duration) var(--ease),transform var(--duration) var(--ease)}.button:hover{background:#e5fa91;transform:translateY(-2px)}.button-outline{background:transparent;color:var(--ivory);border-color:var(--light-line)}.button-outline:hover{background:var(--ivory);color:var(--forest)}.wordmark{display:inline-flex;align-items:center;gap:14px;font-size:46px;letter-spacing:-.05em;line-height:1}.wordmark svg{width:52px;height:52px;fill:none;stroke:currentColor;stroke-width:2.6}label{display:block;font-size:18px}input{width:100%;min-width:0;background:transparent;color:inherit;border:1px solid var(--light-line);border-radius:0;padding:10px 12px;min-height:56px;margin-top:7px}input:user-invalid{border-color:#ffb4a3}input:focus{border-color:var(--lime)}[hidden]{display:none!important}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
/* === section: header === */
.header{background:var(--forest);color:var(--ivory)}.header .header-inner{display:flex;align-items:center;justify-content:space-between;min-height:116px;gap:30px}.header nav{display:flex;align-items:center;gap:34px;font-size:17px}.header nav>a:not(.button){transition:color var(--duration) var(--ease)}.header nav>a:hover{color:var(--lime)}.header .button{font-size:17px;padding:17px 24px}.header .menu-toggle{background:none;border:1px solid var(--light-line);color:inherit;padding:10px 15px;font-size:16px}.header .menu-toggle span{display:inline-block;transition:transform var(--duration) var(--ease)}.header .menu-toggle[aria-expanded=true] span{transform:rotate(45deg)}@media(max-width:1100px){.header .header-inner{flex-wrap:wrap;gap:0;min-height:90px;padding-block:20px}.header .wordmark{font-size:32px}.header .wordmark svg{width:36px;height:36px}.header .menu-toggle:not([hidden]){display:block}.header .nav-wrap{width:100%}.header nav{align-items:stretch;flex-direction:column;gap:20px;padding:24px 0 6px}.header.is-enhanced .nav-wrap{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--duration) var(--ease)}.header.is-enhanced .nav-wrap nav{overflow:hidden;min-height:0;padding:0;visibility:hidden;transition:visibility var(--duration)}.header.is-enhanced.is-open .nav-wrap{grid-template-rows:1fr}.header.is-enhanced.is-open nav{visibility:visible}.header.is-enhanced nav>a:first-child{margin-top:24px}.header.is-enhanced nav>a:last-child{margin-bottom:5px}}
/* === section: hero === */
.hero{background:var(--forest);color:var(--ivory);overflow:hidden}.hero .hero-heading{padding-top:25px;position:relative;z-index:1}.hero .hero-heading>p{font-size:24px;margin-bottom:10px}.hero h1{font-size:clamp(45px,7.9vw,114px);letter-spacing:-.065em;line-height:.96}.hero .hero-image{width:100%;height:400px;object-fit:cover;object-position:center;mask-image:linear-gradient(to bottom,transparent,#000 13%,#000 86%,transparent);margin-top:-6px}.hero .hero-bottom{display:grid;grid-template-columns:1.1fr 1.2fr .88fr;align-items:center;gap:40px;padding:25px 0 49px}.hero .hero-bottom>p:first-child{font-size:clamp(22px,2.7vw,38px);letter-spacing:-.045em;line-height:1.2}.hero .hero-bottom>p:nth-child(2){border-left:1px solid var(--light-line);padding-left:46px;font-size:clamp(18px,2.1vw,30px)}@media(min-width:1600px){.hero .hero-image{height:510px}}@media(max-width:900px){.hero .hero-heading{padding-top:26px}.hero .hero-heading>p{font-size:16px;margin-bottom:15px}.hero h1{font-size:clamp(42px,10.6vw,68px);line-height:1.02}.hero .hero-image{height:245px;max-width:none;width:145%;margin-left:-22%;margin-top:12px;object-fit:cover}.hero .hero-bottom{grid-template-columns:1fr;gap:22px;padding:15px 0 38px}.hero .hero-bottom>p:first-child{font-size:26px}.hero .hero-bottom>p:nth-child(2){padding-left:18px;font-size:19px}.hero .button{width:100%}}
/* === section: connection === */
.connection{background:var(--ivory);overflow:hidden}.connection .connection-inner{position:relative;min-height:445px;display:flex;align-items:center}.connection .connection-copy{position:relative;z-index:1;width:68%;padding:55px 0 65px}.connection h2{font-size:clamp(34px,4.8vw,69px)}.connection .lead{margin-top:32px;font-size:clamp(18px,2vw,28px)}.connection img{position:absolute;right:-5.6%;top:12px;width:47%;height:420px;object-fit:cover;object-position:center top;mix-blend-mode:multiply;mask-image:linear-gradient(to right,transparent,#000 25%),linear-gradient(to bottom,transparent,#000 10%,#000 85%,transparent);mask-composite:intersect}@media(max-width:900px){.connection .connection-inner{display:block}.connection .connection-copy{width:100%;padding:42px 0 0}.connection h2{font-size:36px}.connection .lead{margin-top:24px}.connection .lead br{display:none}.connection img{position:relative;right:auto;top:auto;width:100%;height:245px;object-fit:cover;margin-top:15px;mask-image:linear-gradient(to right,transparent,#000 8%,#000 92%,transparent),linear-gradient(to bottom,transparent,#000 10%,#000 85%,transparent)}}
/* === section: operating-layer === */
.operating-layer{background:var(--ivory);padding:0 0 36px}.operating-layer .operation-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);padding-top:24px}.operating-layer li{padding:0 28px;border-left:1px solid var(--line)}.operating-layer li:first-child{padding-left:0;border-left:0}.operating-layer h3{margin:6px 0 10px}.operating-layer p{font-size:clamp(16px,1.65vw,23px)}@media(max-width:900px){.operating-layer .operation-grid{grid-template-columns:1fr 1fr;gap:26px 0}.operating-layer li{padding:0 15px}.operating-layer li:nth-child(odd){border-left:0;padding-left:0}.operating-layer h3{font-size:25px}.operating-layer p{font-size:16px}}
/* === section: standard === */
.standard{background:var(--ivory);padding:44px 0 45px}.standard h2{margin-bottom:28px}.standard .conditions{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}.standard li{display:flex;gap:24px;border-bottom:1px solid var(--line);padding:27px 0;position:relative;min-height:145px}.standard li:nth-child(even){padding-left:43px}.standard li:nth-child(even)::before{content:'';position:absolute;left:0;top:24px;bottom:24px;border-left:1px solid var(--line)}.standard h3{margin:14px 0 6px}.standard li p{font-size:clamp(16px,1.65vw,23px)}.standard .standard-close{font-size:clamp(30px,4.3vw,61px);letter-spacing:-.065em;line-height:1.1;margin-top:30px}@media(max-width:900px){.standard{padding:32px 0 40px}.standard .conditions{grid-template-columns:1fr}.standard li,.standard li:nth-child(even){padding:19px 0;min-height:110px;gap:18px}.standard li:nth-child(even)::before{display:none}.standard h3{font-size:26px;margin-top:5px}.standard .standard-close{font-size:32px;max-width:340px}}
/* === section: capability === */
.capability{background:var(--ivory);padding:35px 0 50px;overflow:hidden}.capability .capability-heading{position:relative;min-height:280px;display:flex;align-items:center}.capability .capability-heading>div{position:relative;z-index:1}.capability h2{font-size:clamp(34px,4.8vw,69px)}.capability .capability-heading img{position:absolute;width:44%;height:320px;object-fit:contain;right:-5.6%;top:-20px;mix-blend-mode:multiply;mask-image:radial-gradient(ellipse at center,#000 48%,transparent 73%);mask-size:min(100%,479.76px) min(100%,26.4132vw);mask-position:center;mask-repeat:no-repeat}.capability .applications{position:relative}.capability .application{border-top:1px solid var(--line)}.capability .application:last-child{border-bottom:1px solid var(--line)}.capability .application button{border:0;width:100%;background:transparent;color:inherit;display:grid;grid-template-columns:45px 1fr 1fr 30px;align-items:center;gap:22px;padding:20px 0;text-align:left;transition:background var(--duration) var(--ease)}.capability .application button:hover{background:#e9ecdc}.capability .application-title{font-size:clamp(22px,2.4vw,34px);letter-spacing:-.05em}.capability .application-summary{font-size:clamp(16px,1.7vw,24px);letter-spacing:-.03em;line-height:1.3;font-weight:400}.capability .arrow{font-size:29px;transform:rotate(45deg);transition:transform var(--duration) var(--ease)}.capability button[aria-expanded=true] .arrow{transform:rotate(-45deg)}.capability .application-panel{display:grid;grid-template-rows:1fr;transition:grid-template-rows var(--duration) var(--ease),opacity var(--duration) var(--ease);opacity:1}.capability .application-panel>div{overflow:hidden;min-height:0}.capability .application-panel p{max-width:900px;margin:0 0 22px 67px;font-size:22px}.capability .application-panel .problem{font-size:28px}.capability.is-enhanced .application-panel.is-closed{grid-template-rows:0fr;opacity:0}@media(max-width:900px){.capability{padding-top:15px;padding-bottom:38px}.capability .capability-heading{display:block}.capability h2{font-size:35px}.capability .capability-heading img{position:relative;width:100%;height:255px;right:auto;top:auto;margin:10px 0;mask-size:min(100%,382.31px) min(100%,60.03vw)}.capability .application button{grid-template-columns:23px 1fr 22px;gap:9px 12px;padding:19px 0}.capability .application-title{font-size:23px}.capability .application-summary{grid-column:2;grid-row:2;font-size:16px}.capability .arrow{grid-column:3;grid-row:1/3;font-size:25px}.capability .application-panel p{margin-left:35px;font-size:17px}.capability .application-panel .problem{font-size:21px}}
/* === section: how-we-work === */
.how-we-work{background:var(--forest);color:var(--ivory);overflow:hidden}.how-we-work .process-inner{display:grid;grid-template-columns:60% 40%;align-items:center;min-height:450px;position:relative}.how-we-work img{width:calc(100% + 8.4%);max-width:none;margin-left:-8.4%;height:450px;object-fit:cover;mask-image:linear-gradient(to right,transparent,#000 3%,#000 85%,transparent),linear-gradient(to bottom,transparent,#000 8%,#000 85%,transparent);mask-composite:intersect}.how-we-work .process-copy{padding-left:30px;position:relative}.how-we-work h2{font-size:clamp(32px,3.7vw,54px);margin-bottom:26px;letter-spacing:-.065em}.how-we-work ol{border-left:1px solid var(--light-line);padding-left:28px}.how-we-work li{display:flex;align-items:center;gap:35px;padding:20px 0;border-bottom:1px solid var(--light-line)}.how-we-work li:last-child{border-bottom:0}.how-we-work .number{color:var(--lime)}.how-we-work li p{font-size:clamp(17px,1.8vw,26px)}@media(max-width:900px){.how-we-work .process-inner{display:block}.how-we-work img{height:280px;width:111.1%;margin-left:-5.55%}.how-we-work .process-copy{padding:30px 0 35px}.how-we-work h2{font-size:36px}.how-we-work li{padding:17px 0;gap:23px}}
/* === section: cta === */
.cta{background:var(--forest);color:var(--ivory)}.cta .cta-inner{display:grid;grid-template-columns:1.1fr 1fr;gap:65px;border-top:1px solid var(--light-line);padding:58px 0 62px}.cta h2{font-size:clamp(36px,5vw,72px)}.cta .lead{margin-top:30px;font-size:clamp(20px,2.5vw,35px);letter-spacing:-.04em}.cta .name-fields{display:grid;grid-template-columns:1fr 1fr;gap:24px}.cta label{margin-bottom:17px}.cta .button{width:100%;margin-top:0}.cta .form-note{font-size:16px;margin-top:17px}.cta .form-area{align-self:start;transition:height var(--duration) var(--ease)}.cta .thank-you{padding:30px 0}.cta .thank-you h3{font-size:46px;margin-bottom:20px}@media(max-width:900px){.cta .cta-inner{grid-template-columns:1fr;gap:32px;padding:38px 0}.cta .lead{margin-top:22px}.cta .name-fields{gap:15px}.cta label{font-size:15px}.cta input{min-height:48px}.cta .form-note{font-size:13px}}
/* === section: footer === */
.footer{background:var(--forest);color:var(--ivory);padding-bottom:45px}.footer .footer-brand{border-top:1px solid var(--light-line);padding:40px 0 30px}.footer .wordmark{font-size:68px;gap:22px}.footer .wordmark svg{height:78px;width:78px}.footer .footer-brand p{margin-left:100px;font-size:27px;line-height:1.2}.footer .footer-bottom{display:flex;justify-content:space-between;border-top:1px solid var(--light-line);padding-top:22px;font-size:18px}.footer .footer-bottom a:hover{color:var(--lime)}@media(max-width:900px){.footer{padding-bottom:26px}.footer .footer-brand{padding:30px 0}.footer .wordmark{font-size:47px;gap:12px}.footer .wordmark svg{width:50px;height:50px}.footer .footer-brand p{margin-left:62px;font-size:17px}.footer .footer-bottom{font-size:12px;gap:15px}}
