@font-face{font-family:Fallback;src:local("Arial");font-display:swap}
:root{--ink:#181d19;--sub:#626b64;--paper:#f7f9f6;--white:#fff;--line:#dbe0d9;--lime:#d5f75c;--dark:#171c18;--muted:#b0b9ad;--gutter:clamp(24px,4.4vw,76px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:104px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #789b20;outline-offset:6px}::selection{background:var(--lime);color:var(--ink)}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:500}a,button,summary{touch-action:manipulation}.skip-link{position:fixed;top:-100px;left:20px;background:var(--lime);padding:16px;z-index:20}.skip-link:focus{top:10px}
.site-header{height:100px;display:flex;align-items:center;justify-content:space-between;padding:0 var(--gutter);gap:32px;border-bottom:1px solid var(--line);position:relative;background:var(--paper);z-index:10}.brand{display:inline-flex;align-items:center;gap:12px;font-size:31px;font-weight:700;letter-spacing:-1.3px;line-height:1}.brand-light{font-weight:400}.brand-mark{display:flex;gap:3px;width:30px;height:27px;align-items:stretch}.brand-mark i{display:block;flex:1;background:currentColor;transform:skew(-18deg)}.brand-mark i:nth-child(2){height:70%}.brand-mark i:nth-child(3){height:40%}.desktop-nav{display:flex;gap:35px;margin-left:auto;margin-right:6vw;font-size:14px}.desktop-nav a{padding:12px 0;position:relative}.desktop-nav a:after{content:"";height:1px;background:var(--ink);position:absolute;bottom:5px;left:0;width:0;transition:width .2s}.desktop-nav a:hover:after{width:100%}.header-link{font-size:14px;border-bottom:1px solid #9ea89a;padding:10px 0;display:flex;gap:27px}.header-link span{font-size:21px;line-height:.8}.menu-toggle,.mobile-nav{display:none}
.hero{display:grid;grid-template-columns:1fr 1fr;background:var(--dark);color:var(--white);min-height:645px}.hero-content{padding:62px 28px 35px var(--gutter);display:flex;flex-direction:column;align-items:flex-start}.eyebrow{font-size:12px;letter-spacing:1.4px;display:flex;align-items:center;gap:11px;color:#dfe6d9;line-height:1.5}.cross{color:var(--lime);font-size:28px;line-height:.7}h1{font-size:clamp(42px,4.5vw,76px);line-height:1.08;letter-spacing:-.055em;margin:45px 0 26px;position:relative;z-index:1}h1>span{color:var(--lime)}.hero-description{max-width:430px;color:#c4ccc0;line-height:1.65;font-size:17px}.button{display:inline-flex;min-height:56px;gap:52px;justify-content:space-between;align-items:center;padding:17px 22px;font-size:15px;line-height:1.4;font-weight:500;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button-lime{background:var(--lime);color:var(--ink);margin-top:34px}.button-lime:hover{background:#e3ff88}.button span{font-size:23px;line-height:.7}.hero-footnote{display:flex;align-items:center;gap:12px;font-size:12px;letter-spacing:1.1px;color:#9ea997;margin-top:auto;padding-top:44px;line-height:1.5}.small-rule{height:1px;background:#718166;width:36px}.hero-visual{position:relative;overflow:hidden;min-width:0;isolation:isolate;background:#121813}.hero-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,17,10,.05) 70%,rgba(10,17,10,.72));pointer-events:none}.hero-visual img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center;display:block}.image-topline{position:absolute;top:33px;left:32px;right:var(--gutter);display:flex;justify-content:space-between;font-size:12px;letter-spacing:1.2px;color:#c1cab9;z-index:1}.hero-visual figcaption{position:absolute;left:32px;right:var(--gutter);bottom:30px;display:flex;justify-content:space-between;gap:24px;z-index:1;font-size:12px;line-height:1.5;color:#c1cab9}.hero-visual figcaption span:last-child{text-align:right;color:#a7b09f}.discipline-strip{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:25px var(--gutter);font-size:14px;color:#626c5f;border-bottom:1px solid var(--line)}.strip-plus{color:#8f9d85;font-size:20px;font-weight:400}
.section{padding:106px var(--gutter) 104px}.section-heading{display:grid;grid-template-columns:1fr 2.08fr;gap:32px}.section-index{font-size:12px;letter-spacing:1.3px;line-height:1.6;color:var(--sub);padding-top:8px}h2{font-size:clamp(35px,3.25vw,54px);line-height:1.13;letter-spacing:-.047em}.section-intro{margin-top:24px;max-width:565px;line-height:1.65;color:var(--sub);font-size:17px}.service-list{margin-top:66px;border-top:1px solid var(--line)}.service{border-bottom:1px solid var(--line)}.service summary{list-style:none;cursor:pointer;padding:30px 0;display:grid;grid-template-columns:7.3% 1fr 240px 28px;align-items:center;gap:18px;transition:color .2s}.service summary::-webkit-details-marker{display:none}.service summary:hover{color:#5c7622}.service-number{font-size:14px;color:#87907f;align-self:center}.service h3{font-size:clamp(24px,2.2vw,33px);letter-spacing:-.035em;line-height:1.2}.service-tag{font-size:12px;letter-spacing:1.1px;color:#737c6c;justify-self:start}.disclosure{width:26px;height:26px;position:relative;border:1px solid #c9d0c4;border-radius:50%}.disclosure:before,.disclosure:after{content:"";height:1px;width:10px;background:currentColor;position:absolute;top:12px;left:7px}.disclosure:after{transform:rotate(90deg)}details[open] .disclosure{background:var(--lime);border-color:var(--lime)}details[open] .disclosure:after{transform:rotate(0)}.service-content{padding:0 44px 33px calc(7.3% + 18px);display:grid;grid-template-columns:1fr 240px;gap:7.5vw;color:var(--sub);line-height:1.65}.service-content p{max-width:550px;font-size:16px}.service-content ul{margin:0;padding:0;list-style:none;font-size:14px;line-height:1.9}.service-content li{position:relative;padding-left:15px}.service-content li:before{content:"";position:absolute;left:0;top:12px;width:4px;height:4px;background:#94a77a}
.platform{margin:0 var(--gutter);background:var(--dark);color:var(--white);padding:65px clamp(28px,4vw,66px);display:grid;grid-template-columns:1fr 1fr;gap:7%}.platform .section-index{color:#a8b5a1;padding:0;margin-bottom:39px}.platform h2{font-size:clamp(34px,3.1vw,48px)}.platform-description{margin-top:25px;color:#e0e6dd;line-height:1.65;max-width:460px;font-size:17px}.platform-note{margin-top:19px;color:#9ea997;line-height:1.65;max-width:455px;font-size:16px}.development-label{display:flex;align-items:center;gap:10px;border-top:1px solid #394333;color:#cfef85;font-size:12px;letter-spacing:1.1px;line-height:1.5;margin-top:34px;padding-top:20px;width:fit-content}.development-symbol{font-size:24px;line-height:1}.architecture{margin:auto 0;width:100%;max-width:550px;justify-self:end}.architecture-header{display:flex;justify-content:space-between;gap:16px;color:#a3b196;letter-spacing:1.1px;font-size:12px;line-height:1.5;margin-bottom:31px}.architecture-header span:last-child{text-align:right;font-size:12px}.architecture-layer{display:flex;align-items:center;gap:18px;padding:22px 21px;border:1px solid #45523b;background:#20271e;min-height:107px}.layer-index{align-self:flex-start;padding-top:4px;font-size:12px;color:#92a184}.architecture-layer h3{font-size:21px;letter-spacing:-.5px}.architecture-layer p{font-size:14px;color:#a8b7a0;line-height:1.5;margin-top:7px}.layer-symbol{margin-left:auto;font-size:27px;white-space:nowrap;color:#b2c495}.architecture-layer-accent{background:var(--lime);color:var(--ink);border-color:var(--lime)}.architecture-layer-accent p,.architecture-layer-accent .layer-index,.architecture-layer-accent .layer-symbol{color:#485b22}.architecture-connector{height:18px;width:1px;background:#617249;margin:auto}.architecture-footnote{font-size:12px;color:#9fae97;margin-top:25px;line-height:1.6}
.approach{padding-top:104px;padding-bottom:106px}.process-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:37px;margin-top:67px}.process-step{border-top:1px solid #c9d2c2;padding-top:25px}.process-number{font-size:35px;font-weight:400;letter-spacing:-2px;line-height:1}.process-number span{font-weight:300;font-size:30px;color:#afb9a5;padding-left:6px}.process-step h3{font-size:21px;letter-spacing:-.6px;margin-top:33px;margin-bottom:13px}.process-step p{font-size:16px;line-height:1.7;color:var(--sub)}
.company{background:var(--lime);display:grid;grid-template-columns:1fr 2.08fr;gap:32px;padding:66px var(--gutter) 70px}.company .section-index{color:#495e26}.company h2{font-size:clamp(35px,3.8vw,62px)}.company-main>p{line-height:1.7;max-width:620px;margin-top:27px;color:#3b4b2e;font-size:17px}.company-meta{display:flex;flex-wrap:wrap;gap:12px 35px;margin-top:41px;padding-top:25px;border-top:1px solid #adc73f;color:#43552e;font-size:14px}.site-footer{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:37px var(--gutter);font-size:12px;color:var(--sub)}.footer-brand{color:var(--ink);font-size:26px}.footer-brand .brand-mark{height:22px;width:26px}.footer-domain{color:var(--ink);font-size:14px}.back-top{display:flex;align-items:center;gap:17px;padding:10px 0;font-size:14px}.back-top span{font-size:20px}
@media(min-width:1700px){body{max-width:1920px;margin-inline:auto}.hero{min-height:760px}h1{font-size:82px}}
@media(max-width:1100px){.desktop-nav{gap:25px;margin-right:2vw}.hero{min-height:620px;grid-template-columns:1.03fr 1fr}.hero-content{padding-top:46px}.eyebrow{font-size:12px;letter-spacing:.6px}h1{font-size:clamp(39px,4.45vw,55px);margin-top:39px}.hero-description{font-size:16px}.image-topline{left:23px;right:23px;font-size:12px;gap:20px}.image-topline span:last-child{font-size:12px}.hero-visual figcaption{left:23px;right:23px;flex-direction:column;gap:6px}.hero-visual figcaption span:last-child{text-align:left}.service summary{grid-template-columns:6% 1fr 180px 26px;gap:16px}.service-tag{font-size:12px;letter-spacing:.5px}.service-content{padding-left:calc(6% + 16px);grid-template-columns:1fr 200px;gap:6vw}.platform{gap:6%;padding:45px 30px}.architecture-layer{padding:20px 15px;gap:12px}.architecture-layer h3{font-size:19px}.architecture-layer p{font-size:14px}.layer-symbol{display:none}.process-grid{gap:25px}.process-step h3{font-size:20px}.section-heading,.company{grid-template-columns:.7fr 2fr}}
@media(max-width:760px){html{scroll-padding-top:24px}.site-header{height:78px;gap:18px}.brand{font-size:27px}.brand-mark{width:27px;height:24px}.desktop-nav,.header-link{display:none}.menu-toggle{display:inline-flex;align-items:center;gap:14px;background:none;border:0;color:var(--ink);padding:12px 0;min-height:44px;cursor:pointer}.menu-label{font-size:14px}.menu-lines{width:24px;height:12px;border-top:1px solid currentColor;border-bottom:1px solid currentColor;transition:height .2s}.menu-toggle[aria-expanded="true"] .menu-lines{height:2px}.mobile-nav:not([hidden]){display:flex;flex-direction:column;position:absolute;left:0;right:0;top:77px;background:var(--paper);padding:13px var(--gutter) 25px;border-bottom:1px solid var(--line);box-shadow:0 12px 18px #0c140c10}.mobile-nav a{font-size:20px;padding:16px 0;border-bottom:1px solid var(--line)}.hero{grid-template-columns:1fr;min-height:0}.hero-content{padding:40px var(--gutter) 32px}.eyebrow{font-size:12px;letter-spacing:.8px}h1{font-size:clamp(36px,8.1vw,63px);line-height:1.09;margin-top:30px;margin-bottom:24px;letter-spacing:-.047em}.hero-description{max-width:490px;line-height:1.65;font-size:16px}.button{margin-top:27px;gap:49px;min-height:56px}.hero-footnote{padding-top:36px;font-size:12px;letter-spacing:.7px}.hero-visual{height:390px}.hero-visual img{object-position:center 57%}.image-topline{top:23px;left:var(--gutter);right:var(--gutter)}.hero-visual figcaption{left:var(--gutter);right:var(--gutter);bottom:22px;flex-direction:row;font-size:12px;gap:15px}.hero-visual figcaption span:last-child{text-align:right}.discipline-strip{display:grid;grid-template-columns:1fr 1fr;gap:15px 20px;padding-block:23px;font-size:12px}.strip-plus{display:none}.discipline-strip>span:not(.strip-plus):before{content:"+";color:#728363;margin-right:10px;font-size:17px}.section{padding:65px var(--gutter)}.section-heading{grid-template-columns:1fr;gap:21px}.section-index{font-size:12px;letter-spacing:1px;padding:0}h2{font-size:clamp(30px,7vw,45px);letter-spacing:-.043em}.section-intro{font-size:16px;margin-top:20px}.service-list{margin-top:35px}.service summary{grid-template-columns:24px 1fr 26px;gap:13px;padding:25px 0}.service h3{font-size:clamp(20px,4.9vw,28px);letter-spacing:-.04em}.service-tag{display:none}.service-content{grid-template-columns:1fr;gap:17px;padding:0 0 28px 37px;font-size:16px}.service-content ul{font-size:14px}.service-number{font-size:12px}.platform{margin:0 var(--gutter);grid-template-columns:1fr;padding:31px 23px 34px;gap:43px}.platform .section-index{margin-bottom:26px;font-size:12px;letter-spacing:.4px}.platform h2{font-size:clamp(29px,6.7vw,43px)}.platform-description{font-size:16px;line-height:1.65;margin-top:20px}.platform-note{font-size:16px}.development-label{margin-top:25px;font-size:12px;letter-spacing:.5px}.architecture{max-width:none}.architecture-header{font-size:12px;letter-spacing:.4px;margin-bottom:19px}.architecture-header span:last-child{font-size:12px;max-width:133px}.architecture-layer{min-height:95px;padding:17px 13px;gap:13px}.architecture-layer h3{font-size:19px;line-height:1.2}.architecture-layer p{font-size:14px}.architecture-footnote{margin-top:20px}.process-grid{grid-template-columns:1fr 1fr;gap:35px 23px;margin-top:35px}.process-step{padding-top:21px}.process-step h3{font-size:20px;line-height:1.2;margin-top:24px}.process-step p{font-size:16px;line-height:1.6}.process-number{font-size:30px}.company{grid-template-columns:1fr;gap:23px;padding:42px var(--gutter) 46px}.company h2{font-size:clamp(30px,7vw,45px)}.company-main>p{font-size:16px;margin-top:22px}.company-meta{font-size:14px;margin-top:29px;padding-top:21px}.site-footer{display:grid;grid-template-columns:1fr auto;gap:28px 14px;padding:30px var(--gutter);font-size:12px}.footer-brand{font-size:25px}.footer-domain{grid-column:1;grid-row:2}.back-top{justify-self:end;font-size:14px;padding:0}}
@media(max-width:370px){:root{--gutter:20px}.hero-visual{height:310px}.eyebrow{letter-spacing:.3px;font-size:12px}h1{font-size:34px}.platform{padding-inline:19px}.process-grid{grid-template-columns:1fr}.service h3{font-size:19px}.service summary{gap:10px}.architecture-layer h3{font-size:17px}.architecture-layer p{font-size:14px}.architecture-layer{gap:10px}.hero-visual figcaption{flex-direction:column;gap:4px}.hero-visual figcaption span:last-child{text-align:left}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
