body{overflow-x:hidden}section[id]{scroll-margin-top:86px}.skip-link{z-index:200;background:var(--white);padding:10px 15px;position:fixed;top:10px;left:10px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.site-header{z-index:80;background:var(--paper);border-bottom:1px solid #2624241f;position:sticky;top:0}.site-header__inner{justify-content:space-between;align-items:center;gap:48px;max-width:1480px;height:76px;margin:0 auto;padding:0 42px;display:flex}.brand{flex:none;align-items:center;gap:10px;text-decoration:none;display:inline-flex}.brand img{width:108px;height:auto}.brand__group{border-left:1px solid var(--line);color:var(--green);letter-spacing:.13em;text-transform:uppercase;padding-left:11px;font-size:.68rem;line-height:1.15;display:inline-block}.site-nav{align-items:center;gap:clamp(18px,2.5vw,39px);display:flex}.site-nav a{white-space:nowrap;font-size:.86rem;text-decoration:none;transition:color .18s}.site-nav a:hover{color:var(--green)}.site-nav__portal{border:1px solid var(--green);color:var(--green);border-radius:3px;align-items:center;gap:9px;padding:11px 16px;display:inline-flex}.site-nav__portal svg{width:15px;height:15px}.site-nav__portal:hover{background:var(--green);color:var(--white)!important}.mobile-menu-toggle{display:none}.hero{max-width:1480px;margin:0 auto}.hero__body{grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);align-items:stretch;min-height:min(760px,100svh - 134px);display:grid}.hero__content{flex-direction:column;justify-content:center;padding:62px 38px 76px 42px;display:flex}.hero h1{letter-spacing:-.04em;text-wrap:balance;max-width:10ch;margin:0;font-size:clamp(3.55rem,5.15vw,5.75rem);font-weight:700;line-height:1.025}.hero h1 em{color:var(--green);font-style:normal}.hero__intro{color:#4c514f;max-width:33rem;margin:32px 0 0;font-size:clamp(1.04rem,1.18vw,1.18rem);line-height:1.65}.hero__actions{flex-wrap:wrap;align-items:center;gap:27px;margin-top:34px;display:flex}.button{border:1px solid #0000;border-radius:3px;justify-content:center;align-items:center;gap:16px;min-height:50px;padding:13px 18px;font-size:.88rem;font-weight:700;text-decoration:none;transition:background .2s,color .2s,transform .2s;display:inline-flex}.button svg,.text-link svg{flex:none;width:17px;height:17px}.button:hover{transform:translateY(-2px)}.button--primary{background:var(--green);color:var(--white)}.button--primary:hover{background:#24493e}.text-link{border-bottom:1px solid;align-items:center;gap:9px;padding-bottom:4px;font-size:.89rem;text-decoration:none;transition:color .18s,gap .18s;display:inline-flex}.text-link:hover{color:var(--green);gap:13px}.hero__exhibit{isolation:isolate;color:#e6e8e3;background:radial-gradient(at 55% 36%,#2d5042 0,#1b352b 44%,#14261f 85%);min-height:620px;position:relative;overflow:hidden}.hero__exhibit:before{content:"";pointer-events:none;z-index:4;border:1px solid #d8e0d82b;position:absolute;inset:22px}.hero__exhibit:after{content:"";pointer-events:none;background:radial-gradient(#020d0945,#0000 66%);height:40%;position:absolute;inset:auto -10% -24%}.hero__exhibit-top,.hero__exhibit-bottom{z-index:5;letter-spacing:.075em;text-transform:uppercase;color:#d3e1d6;justify-content:space-between;align-items:center;font-size:.7rem;display:flex;position:absolute;left:47px;right:47px}.hero__exhibit-top{top:47px}.hero__exhibit-bottom{bottom:43px}.hero__cross{color:#aabcb1;font-size:1.6rem;font-weight:400;line-height:.7}.hero__poster,.assembly-canvas{width:100%;height:100%;position:absolute;inset:0}.hero__poster{place-items:center;transition:opacity .5s;display:grid}.hero__poster--hidden{opacity:0}.assembly-poster{width:min(100%,680px);height:100%;max-height:680px;margin:auto}.assembly-scene{position:absolute;inset:0}.assembly-canvas{opacity:0;transition:opacity .5s}.assembly-canvas--ready{opacity:1}.hero__footer{color:#68706b;letter-spacing:.055em;text-transform:uppercase;justify-content:space-between;padding:14px 42px 16px;font-size:.71rem;display:flex}.hero__footer a{color:var(--green);gap:12px;text-decoration:none;display:inline-flex}.hero__footer a span{font-size:1.15rem;line-height:.7}.section-shell{max-width:1360px;margin:0 auto;padding:126px 48px 146px}.section-intro{grid-template-columns:1.06fr .94fr;align-items:end;gap:80px;display:grid}.section-intro h2,.method h2{letter-spacing:-.035em;max-width:15ch;margin:0;font-size:clamp(2.6rem,4vw,4.25rem);line-height:1.08}.section-intro p,.method__heading>p{color:#515955;max-width:29rem;margin:0 0 4px auto;font-size:1.07rem;line-height:1.68}.services__list{border-bottom:1px solid #b9c3bc;margin-top:88px;margin-left:14%}.service-row{border-top:1px solid #b9c3bc;grid-template-columns:minmax(0,1.17fr) minmax(0,1.13fr) 105px;align-items:start;gap:35px;padding:30px 0 32px;transition:background .25s;display:grid}.service-row:hover{background:#315c5009}.service-row__heading{align-items:flex-start;gap:17px;display:flex}.service-row__line{background:var(--green);flex:none;width:14px;height:1px;margin-top:13px;display:block}.service-row h3{letter-spacing:-.022em;margin:0;font-size:clamp(1.2rem,1.8vw,1.6rem);line-height:1.24}.service-row p{color:#525a56;max-width:33rem;margin:0;font-size:.92rem;line-height:1.65}.service-row__code{color:var(--green);letter-spacing:.11em;text-transform:uppercase;justify-self:end;padding-top:4px;font-size:.71rem}.client-work{color:var(--white);background:#1c3028;overflow:hidden}.client-work__inner{grid-template-columns:1fr 1fr;align-items:center;gap:70px;max-width:1360px;min-height:740px;margin:0 auto;padding:100px 48px;display:grid}.client-work h2{letter-spacing:-.035em;text-wrap:balance;max-width:12ch;margin:0;font-size:clamp(3rem,4.2vw,4.65rem);line-height:1.09}.client-work__feature{border-top:1px solid #eef5ee57;max-width:26rem;margin-top:72px;padding-top:22px}.client-work__status{color:#c5d9ce;letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:9px;font-size:.72rem;display:inline-flex}.client-work__status>span{background:#b5d6bc;border-radius:50%;width:7px;height:7px;display:block}.client-work__feature h3{letter-spacing:-.03em;margin:17px 0 7px;font-size:clamp(1.8rem,2.35vw,2.55rem)}.client-work__feature p{color:#d0ddd4;max-width:25rem;margin:0;line-height:1.67}.client-work__diagram{perspective:1200px;justify-self:center;place-items:center;width:min(100%,560px);height:530px;display:grid;position:relative}.diagram__orbit{aspect-ratio:1;border:1px solid #d0e1d133;border-radius:50%;width:78%;position:absolute;transform:rotateX(61deg)rotate(-24deg)}.diagram__orbit--two{border-style:dashed;border-color:#d0e1d124;width:104%;transform:rotateX(61deg)rotate(29deg)}.diagram__core{z-index:1;aspect-ratio:.85;background:linear-gradient(140deg,#55816d,#254b3c 47%,#142d25);flex-direction:column;justify-content:space-between;width:min(52%,250px);padding:22px;display:flex;position:relative;transform:rotateY(-18deg)rotateX(11deg)rotate(-7deg);box-shadow:23px 28px 55px #03110a59,inset 1px 1px #ffffff45}.diagram__core:after{content:"";transform-origin:top;background:#142c22;width:18px;position:absolute;top:16px;bottom:-14px;right:-18px;transform:skewY(-37deg)}.diagram__core-top,.diagram__core-bottom{letter-spacing:.12em;text-transform:uppercase;color:#e1e9e0;font-size:.62rem;line-height:1.5}.diagram__core-mark{letter-spacing:-.12em;color:#e3e8db;align-self:center;font-size:clamp(6rem,12vw,10rem);font-weight:700;line-height:.75;transform:scaleX(.88)}.diagram__node{z-index:2;color:#d6e6db;letter-spacing:.08em;text-transform:uppercase;background:#315647;border:1px solid #e6f4e64d;padding:9px 13px;font-size:.7rem;position:absolute;box-shadow:5px 12px 22px #05120a38}.diagram__node--top{top:20%;left:2%}.diagram__node--right{top:31%;right:0}.diagram__node--bottom{bottom:18%;left:15%}.clients-directory{padding-top:110px;padding-bottom:128px}.clients-directory__heading{grid-template-columns:1fr .8fr;align-items:end;gap:60px;display:grid}.clients-directory h2{letter-spacing:-.035em;margin:0;font-size:clamp(2.6rem,4vw,4.25rem);line-height:1.08}.clients-directory__heading p{color:#515955;max-width:25rem;margin:0 0 4px auto;font-size:1.07rem;line-height:1.68}.clients-directory__list,.clients-directory__state{border-top:1px solid #b9c3bc;margin-top:68px}.clients-directory__row{border-bottom:1px solid #b9c3bc;grid-template-columns:65px minmax(0,1fr) minmax(0,.9fr);align-items:start;gap:30px;padding:30px 0 33px;display:grid}.clients-directory__index{color:var(--green);font-variant-numeric:tabular-nums;padding-top:5px;font-size:.75rem}.clients-directory__row h3{letter-spacing:-.025em;overflow-wrap:anywhere;margin:0;font-size:clamp(1.35rem,2vw,1.9rem);line-height:1.22}.clients-directory__row p{color:#515955;overflow-wrap:anywhere;max-width:31rem;margin:0;font-size:.94rem;line-height:1.65}.clients-directory__state{border-bottom:1px solid #b9c3bc;min-height:190px;padding:26px 0 34px}.clients-directory__state p{color:#515955;margin:0 0 22px;font-size:.95rem;line-height:1.6}.clients-directory__skeleton{background:linear-gradient(90deg,#e2e9e3,#f0f3ee 48%,#e2e9e3) 0 0/200% 100%;width:100%;height:31px;margin-top:18px;animation:1.8s ease-in-out infinite clients-loading}.clients-directory__skeleton:last-child{width:73%}.clients-directory__state--error{min-height:150px}.clients-directory__state--error button{color:var(--green);font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:1px solid;align-items:center;gap:9px;padding:3px 0 5px;font-size:.89rem;font-weight:700;display:inline-flex}.clients-directory__state--error button svg{width:16px;height:16px}@keyframes clients-loading{0%{background-position:100% 0}to{background-position:-100% 0}}.method{padding-bottom:150px}.method__heading{grid-template-columns:1.1fr .9fr;align-items:end;gap:60px;display:grid}.method__flow{grid-template-columns:repeat(3,1fr);gap:48px;margin-top:95px;display:grid;position:relative}.method__flow:before{content:"";background:#abbeb0;height:1px;position:absolute;top:6px;left:0;right:0}.method__flow>div{padding-top:43px;position:relative}.method__dot{z-index:1;background:var(--green);width:13px;height:13px;box-shadow:0 0 0 5px var(--paper);border-radius:50%;position:absolute;top:0;left:0}.method h3{max-width:12ch;color:var(--green);letter-spacing:-.025em;margin:0 0 14px;font-size:1.48rem;line-height:1.2}.method__flow p{color:#515955;max-width:20rem;margin:0;font-size:.93rem;line-height:1.65}.contact{color:var(--white);background:var(--green)}.contact__inner{grid-template-columns:1.25fr .75fr;align-items:end;gap:70px;max-width:1360px;min-height:350px;margin:0 auto;padding:78px 48px 76px;display:grid}.contact h2{letter-spacing:-.035em;max-width:13ch;margin:0;font-size:clamp(2.8rem,4.3vw,4.8rem);line-height:1.08}.contact__inner>div:first-child p{color:#e3ece6;margin:20px 0 0;font-size:1.05rem;line-height:1.6}.contact__action{justify-self:end;max-width:23rem}.button--light{background:var(--paper);color:var(--green-dark)}.button--light:hover{background:var(--white)}.contact__channels{color:#eff5ef;border-top:1px solid #ffffffa3;border-bottom:1px solid #ffffffa3;flex-direction:column;gap:5px;margin:20px 0 0;padding:17px 0;font-size:.86rem;line-height:1.5;display:flex}.contact__channels a{color:var(--white);text-underline-offset:4px;overflow-wrap:anywhere}.contact__action>p:last-child{color:#dbe9de;margin:24px 0 0;font-size:.85rem;line-height:1.7}.contact__action>p:last-child a{color:var(--white);text-underline-offset:4px;align-items:center;gap:5px;display:inline-flex}.contact__action>p:last-child svg{width:13px;height:13px}.site-footer{background:var(--paper)}.site-footer__inner{grid-template-columns:1fr auto;gap:70px;max-width:1360px;margin:0 auto;padding:68px 48px 35px;display:grid}.site-footer img{width:118px;height:auto}.site-footer p{color:#59625c;margin:21px 0 0;font-size:.8rem}.site-footer nav{flex-wrap:wrap;align-content:start;gap:25px;display:flex}.site-footer nav a{font-size:.82rem;text-decoration:none}.site-footer nav a:hover{color:var(--green);text-underline-offset:4px;text-decoration:underline}.site-footer__inner>span{color:#5f6a62;letter-spacing:.06em;text-transform:uppercase;border-top:1px solid #cbd4cd;grid-column:1/-1;padding-top:35px;font-size:.7rem}@media (width<=1100px){.site-header__inner{padding:0 27px}.hero__content{padding-left:28px}.hero h1{font-size:clamp(3rem,5.2vw,4.7rem)}.hero__intro{font-size:1rem}.services__list{margin-left:5%}.service-row{grid-template-columns:1fr 1fr 85px;gap:20px}}@media (width<=859px){.site-header__inner{height:68px;padding:0 24px}.brand img{width:98px}.mobile-menu-toggle{background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:7px;width:42px;height:42px;padding:12px 5px;display:flex}.mobile-menu-toggle span{background:var(--ink);width:27px;height:1.5px;transition:transform .2s}.mobile-menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px)rotate(45deg)}.mobile-menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px)rotate(-45deg)}.site-nav{background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0;padding:18px 24px 26px;display:none;position:absolute;top:68px;left:0;right:0;box-shadow:0 20px 35px #14241a1a}.site-nav--open{display:flex}.site-nav>a:not(.site-nav__portal){border-bottom:1px solid var(--line);padding:13px 0}.site-nav__portal{justify-content:space-between;margin-top:20px}.hero__body{flex-direction:column;min-height:auto;display:flex}.hero__content{min-height:590px;padding:70px 36px 75px}.hero h1{max-width:12ch;font-size:clamp(3.65rem,7.1vw,5.5rem)}.hero__intro{max-width:37rem}.hero__exhibit{min-height:620px}.hero__footer{padding:17px 36px}.section-shell{padding:95px 36px 110px}.section-intro{grid-template-columns:1fr;gap:24px}.section-intro p,.method__heading>p{margin-left:0}.services__list{margin:65px 0 0}.service-row{grid-template-columns:1fr 1fr;gap:18px 30px}.service-row__code{grid-column:2;justify-self:start}.client-work__inner{grid-template-columns:1fr;gap:26px;padding:90px 36px 80px}.client-work h2{max-width:16ch}.client-work__feature{margin-top:45px}.client-work__diagram{height:480px}.clients-directory__heading{grid-template-columns:1fr;gap:24px}.clients-directory__heading p{margin-left:0}.clients-directory__row{grid-template-columns:45px minmax(0,1fr);gap:10px 20px}.clients-directory__row p{grid-column:2}.method__heading{grid-template-columns:1fr;gap:25px}.method__flow{gap:30px}.contact__inner{grid-template-columns:1fr;gap:50px;padding:73px 36px}.contact__action{justify-self:start}.site-footer__inner{padding:62px 36px 30px}}@media (width<=600px){.site-header__inner{padding:0 20px}.hero__content{min-height:auto;padding:65px 24px 75px}.hero h1{max-width:11ch;font-size:clamp(3.17rem,13.7vw,4.4rem)}.hero__intro{margin-top:24px;font-size:1rem}.hero__actions{gap:24px;margin-top:28px}.hero__exhibit{min-height:490px}.hero__exhibit:before{inset:13px}.hero__exhibit-top,.hero__exhibit-bottom{font-size:.58rem;left:29px;right:29px}.hero__exhibit-top{top:29px}.hero__exhibit-bottom{bottom:28px}.hero__footer{padding:15px 24px}.hero__footer>span{max-width:145px}.section-shell{padding:88px 24px 105px}.section-intro h2,.method h2{font-size:clamp(2.65rem,10.5vw,3.7rem)}.section-intro p,.method__heading>p{font-size:.98rem}.services__list{margin-top:50px}.service-row{flex-direction:column;gap:14px;padding:24px 0 28px;display:flex}.service-row:hover{background:0 0;padding-left:0}.service-row h3{font-size:1.27rem}.service-row p{padding-left:31px;font-size:.91rem}.service-row__code{padding-left:31px;font-size:.65rem}.client-work__inner{padding:83px 24px 72px}.client-work h2{font-size:clamp(3rem,11.5vw,4.1rem)}.client-work__feature{margin-top:45px}.client-work__diagram{height:400px;margin-top:17px}.clients-directory{padding-top:85px;padding-bottom:96px}.clients-directory h2{font-size:clamp(2.65rem,10.5vw,3.7rem)}.clients-directory__heading p{font-size:.98rem}.clients-directory__list,.clients-directory__state{margin-top:48px}.clients-directory__row{grid-template-columns:30px minmax(0,1fr);gap:9px 14px;padding:24px 0 27px}.clients-directory__row h3{font-size:1.45rem}.clients-directory__row p{font-size:.9rem}.diagram__core{width:53%}.diagram__core-mark{font-size:6.5rem}.diagram__node{padding:7px 8px;font-size:.56rem}.diagram__node--top{left:0}.method__flow{flex-direction:column;gap:32px;margin-top:55px;padding-left:27px;display:flex}.method__flow:before{width:1px;height:auto;inset:0 auto 0 5px}.method__flow>div{padding-top:0}.method__dot{left:-27px}.method h3{max-width:none}.contact__inner{padding:74px 24px 78px}.contact h2{font-size:clamp(2.85rem,11vw,4rem)}.site-footer__inner{grid-template-columns:1fr;gap:39px;padding:57px 24px 30px}.site-footer nav{gap:15px 23px}.site-footer__inner>span{padding-top:30px}}@media (prefers-reduced-motion:reduce){.clients-directory__skeleton{animation:none}}.privacy-page{background:var(--paper);min-height:100vh}.privacy-header,.privacy-footer{justify-content:space-between;align-items:center;gap:24px;max-width:1360px;margin:0 auto;padding:29px clamp(24px,4vw,48px);display:flex}.privacy-header{border-bottom:1px solid var(--line)}.privacy-header .brand img{width:108px;height:auto}.privacy-home-link,.privacy-footer a{color:var(--green);text-underline-offset:.26em;font-size:.84rem;text-decoration:underline}.privacy-main{grid-template-columns:minmax(250px,.85fr) minmax(0,1.15fr);gap:clamp(42px,7vw,120px);max-width:1360px;min-height:calc(100vh - 190px);margin:0 auto;padding:clamp(62px,8vw,118px) clamp(24px,4vw,48px) 100px;display:grid}.privacy-intro{align-self:start;position:sticky;top:28px}.privacy-intro h1{letter-spacing:-.04em;text-wrap:balance;max-width:12ch;margin:0;font-size:clamp(3rem,5.3vw,5.7rem);line-height:1.03}.privacy-intro>p{color:#4c514f;max-width:33ch;margin:28px 0 24px;font-size:clamp(1rem,1.3vw,1.17rem);line-height:1.6}.privacy-intro>.privacy-version{color:#5d6961;margin:0;font-size:.8rem;line-height:1.6}.privacy-contents{border-top:1px solid var(--line);gap:12px;max-width:320px;margin-top:52px;padding-top:22px;display:grid}.privacy-contents span{color:#59635c;margin-bottom:4px;font-size:.72rem;font-weight:700}.privacy-contents a{width:fit-content;color:var(--green);font-size:.82rem;line-height:1.4;text-decoration:none}.privacy-contents a:hover{text-underline-offset:.2em;text-decoration:underline}.privacy-reading{max-width:70ch;padding-top:6px}.privacy-reading section{border-bottom:1px solid var(--line);padding:42px 0}.privacy-reading section:first-child{padding-top:0}.privacy-reading h2{letter-spacing:-.025em;margin:0 0 17px;font-size:clamp(1.35rem,1.65vw,1.8rem);line-height:1.2}.privacy-reading p,.privacy-reading address{color:#454d49;margin:0;font-size:.95rem;font-style:normal;line-height:1.75}.privacy-reading p+p,.privacy-reading ul+p{margin-top:1.1rem}.privacy-reading ul{color:#454d49;margin:0;padding-left:1.3rem;font-size:.95rem;line-height:1.75}.privacy-reading li+li{margin-top:.7rem}.privacy-reading code{overflow-wrap:anywhere}.privacy-reading a{color:var(--green);text-underline-offset:.2em;overflow-wrap:anywhere}.privacy-reading .privacy-contact{color:#53635a;margin-top:34px;font-size:.85rem}.privacy-footer{border-top:1px solid var(--line);color:#5f6a62;font-size:.76rem}@media (width<=760px){.privacy-header{padding-top:22px;padding-bottom:22px}.privacy-main{grid-template-columns:1fr;gap:55px;min-height:auto;padding-top:64px;padding-bottom:78px}.privacy-intro{position:static}.privacy-intro h1{max-width:none}.privacy-contents{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px;max-width:100%;margin-top:37px}.privacy-contents span{grid-column:1/-1}.privacy-reading{padding-top:0}.privacy-footer{align-items:flex-start}}@font-face{font-family:Rubik;src:url(/fonts/Rubik-Regular.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Rubik;src:url(/fonts/Rubik-Bold.ttf)format("truetype");font-weight:700;font-style:normal;font-display:swap}:root{color:#262424;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--ink:#262424;--muted:#565a5c;--green:#315c50;--green-dark:#1a2d27;--green-pale:#eff3f1;--paper:#f5f5f3;--white:#fff;--metal:#b8b3a8;--line:#d6d8d8;--focus:#315c50;background:#f5f5f3;font-family:Rubik,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:inherit}img,svg,canvas{display:block}::selection{color:var(--white);background:var(--green)}:focus-visible{outline:3px solid var(--focus);outline-offset:4px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
