.flow-section{--flow-progress:0;background:var(--ink);color:var(--paper);position:relative}
.flow-sticky{position:relative;display:grid;grid-template-columns:.94fr 1.06fr;align-items:center;gap:60px;padding-top:90px;padding-bottom:90px}
.flow-copy .eyebrow{color:#acbdab;font-size:12px}.flow-copy h2{font-size:clamp(44px,4.9vw,70px);margin-top:30px;line-height:1.12}.flow-copy h2 em{color:var(--accent)}.flow-copy>p:not(.eyebrow){color:#bcc9bd;font-size:16px;line-height:1.7;max-width:360px;margin-top:30px}
.flow-stages{display:flex;flex-wrap:wrap;gap:20px;margin-top:42px;font-size:12px;letter-spacing:.7px;color:#839688}.flow-stages span{padding-bottom:12px;border-bottom:1px solid #455a4b;transition:color .3s,border-color .3s}.flow-stages span.active{color:var(--accent);border-color:var(--accent)}
.flow-diagram{position:relative;width:100%;aspect-ratio:1.15}.flow-diagram-label,.flow-diagram-bottom{position:absolute;left:0;right:0;display:flex;justify-content:space-between;align-items:center;font-size:12px;letter-spacing:.5px;color:#a9bca9}.flow-diagram-label{top:-7%}.flow-diagram-bottom{bottom:-7%}.flow-diagram-bottom>span:last-child{font-size:24px}.flow-svg{height:100%;width:100%;overflow:visible}.flow-connector{fill:none;stroke:var(--accent);stroke-width:1.2;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--flow-progress));opacity:.8}.flow-orbit{fill:none;stroke:#536b53;stroke-width:.7;stroke-dasharray:3 5}.flow-outer-orbit{fill:none;stroke:#364d3c;stroke-width:.7}
.flow-node{position:absolute;display:flex;align-items:center;gap:10px;border:1px solid #5a745a;background:#21382d;padding:14px 15px;font-size:12px;letter-spacing:.6px;transition:background .3s}.flow-node small{display:block;font-size:12px;letter-spacing:0;color:#a7bba6;margin-top:5px}.flow-node-symbol{font-size:25px;color:var(--accent);font-weight:400}.flow-input{top:18%;left:-2%;transform:translateY(calc((1 - var(--flow-progress))*-12px)) rotate(calc((1 - var(--flow-progress))*-6deg))}.flow-data{bottom:12%;left:-2%;transform:translateY(calc((1 - var(--flow-progress))*12px)) rotate(calc((1 - var(--flow-progress))*4deg))}.flow-api{top:18%;right:-2%;transform:translateY(calc((1 - var(--flow-progress))*-12px)) rotate(calc((1 - var(--flow-progress))*5deg))}.flow-result{bottom:12%;right:-2%;background:color-mix(in srgb,#21382d,#526738 calc(var(--flow-progress)*65%));transform:translateY(calc((1 - var(--flow-progress))*12px)) rotate(calc((1 - var(--flow-progress))*-3deg))}.flow-core{position:absolute;left:35%;top:32%;width:30%;aspect-ratio:1;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;background:var(--accent);color:var(--ink);box-shadow:0 0 0 10px var(--ink),0 0 0 11px #536b53;transform:scale(calc(.93 + var(--flow-progress)*.07))}.flow-core>span{font-family:var(--serif);font-size:52px;line-height:1}.flow-core strong{font-size:12px;letter-spacing:.8px;font-weight:500}.flow-core small{font-size:12px}
.experience{padding-top:115px;padding-bottom:100px}.experience-heading .eyebrow{margin-bottom:30px}.experience-grid{display:grid;grid-template-columns:1fr 1.22fr;gap:90px;margin-top:68px}.experience-stat{padding-top:5px}.experience-years{font-family:var(--display);font-size:clamp(85px,10vw,145px);font-weight:500;letter-spacing:-8px;line-height:1}.experience-years>span{font-family:var(--serif);font-size:46px;letter-spacing:-1px;margin-left:15px;font-style:italic}.experience-stat>p{font-size:12px;letter-spacing:1.2px;margin-top:18px}.stat-rule{height:1px;background:var(--line);max-width:330px;margin-top:35px}.experience-stat .stat-description{font-size:16px;letter-spacing:0;color:var(--muted);line-height:1.7;margin-top:22px}.experience-story>p{font-size:16px;color:var(--muted);line-height:1.8;margin-bottom:22px}.experience-story .story-lead{font-size:23px;line-height:1.6;color:var(--ink);letter-spacing:-.4px}.education{display:flex;gap:16px;align-items:center;border-top:1px solid var(--line);padding-top:26px;margin-top:32px}.education-icon{font-size:35px;line-height:1}.education strong{display:block;font-size:14px;font-weight:500;margin-bottom:7px}.education div>span{display:block;font-size:14px;color:var(--muted);line-height:1.6}
.toolkit{padding-top:35px;padding-bottom:105px}.toolkit-intro{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:28px 60px}.toolkit-intro .eyebrow{grid-column:1/-1}.toolkit-intro>p:last-child{color:var(--muted);line-height:1.7;padding-bottom:5px}.toolkit-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:55px;gap:25px}.toolkit-group{border-top:1px solid var(--ink);padding-top:24px}.toolkit-number{font-size:12px;color:#6f7d65}.toolkit-group h3{font-size:19px;font-weight:500;letter-spacing:-.4px;margin-top:18px}.toolkit-group ul{padding:0;margin:22px 0 0;list-style:none;color:var(--muted);font-size:14px;line-height:1.7}.toolkit-group li+li{margin-top:9px}.additional-tech{display:flex;align-items:center;gap:28px;margin-top:40px;padding-top:24px;border-top:1px solid var(--line);color:var(--muted);font-size:14px;line-height:1.7}.additional-tech>span{font-size:12px;letter-spacing:.6px}
.method{padding-top:90px;padding-bottom:105px;background:#e4e8db;border-top:1px solid var(--line)}.method-heading .eyebrow{margin-bottom:29px}.method-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:58px;gap:35px}.method-grid article{border-top:1px solid #adb9a0;padding-top:24px}.method-grid article>span{font-family:var(--serif);font-size:29px;color:#627452}.method-grid h3{font-family:var(--display);font-size:24px;font-weight:500;letter-spacing:-.5px;margin-top:22px}.method-grid p{font-size:16px;color:var(--muted);line-height:1.7;margin-top:13px}
.contact{background:var(--ink);color:var(--paper);padding:0;border:0}.contact-inner{padding-top:85px;padding-bottom:85px}.contact-topline{display:flex;justify-content:space-between;align-items:center;gap:20px}.contact .eyebrow{font-size:12px;color:#b8c6b6}.contact-asterisk{font-size:68px;line-height:1;color:var(--accent)}.contact h2{font-size:clamp(55px,7.5vw,106px);font-weight:500;letter-spacing:-4px;line-height:1.12;margin-top:24px}.contact h2 em{color:var(--accent)}.contact-bottom{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-top:38px}.contact-bottom p{color:#bac9b8;font-size:16px;line-height:1.7}.button-accent{background:var(--accent);color:var(--ink)}.button-accent:hover{background:#d7f2a5;transform:translateY(-3px)}.footer{background:var(--paper)}
.service-tags span,.eyebrow,.hero-location,.hero-note,.scroll-cue,.expertise-strip,.system-top,.system-caption,.brand-name,.brand-name>span,.footer{font-size:12px}.system-node,.system-node small{font-size:12px}.system-center>span:last-child{font-size:12px;text-align:center;line-height:1.4;max-width:110px;letter-spacing:.5px}.system-center{gap:5px}.nav-contact,nav{font-size:14px}
@media(max-width:1050px){.flow-sticky{gap:32px}.flow-node{padding:10px;gap:7px}.flow-node-symbol{font-size:21px}.flow-core small{display:none}.flow-core>span{font-size:45px}.experience-grid{gap:50px}.toolkit-grid{grid-template-columns:repeat(2,1fr);gap:35px}.method-grid{gap:22px}.system-center>span:last-child{max-width:80px}.brand-name{display:none}}
@media(max-width:700px){.flow-section{height:auto;min-height:0;--flow-progress:1!important}.flow-sticky{position:relative;min-height:0;display:flex;flex-direction:column;align-items:stretch;gap:50px;padding-top:70px;padding-bottom:70px}.flow-copy h2{font-size:49px;letter-spacing:-2px;margin-top:24px}.flow-copy>p:not(.eyebrow){max-width:100%;margin-top:23px}.flow-stages{margin-top:28px;gap:16px}.flow-diagram{width:100%;max-width:450px;margin:20px auto;aspect-ratio:1.05}.flow-diagram-label,.flow-diagram-bottom{letter-spacing:0}.flow-diagram-label>span:first-child{max-width:220px;line-height:1.5}.flow-diagram-bottom>span:first-child{max-width:230px}.flow-node{gap:6px;padding:9px 10px;letter-spacing:0}.flow-node small{max-width:90px;line-height:1.4}.flow-node-symbol{display:none}.flow-core>span{font-size:43px}.flow-core strong{letter-spacing:0}.flow-input,.flow-data{left:0}.flow-api,.flow-result{right:0}.flow-core{width:31%;left:34.5%;top:34%}.flow-input,.flow-api{top:18%}.flow-data,.flow-result{bottom:13%}.experience{padding-top:74px;padding-bottom:70px}.experience-heading .eyebrow{line-height:1.7;margin-bottom:24px}.experience-grid{grid-template-columns:1fr;gap:35px;margin-top:42px}.experience-years{font-size:106px;letter-spacing:-6px}.experience-years>span{font-size:40px}.stat-rule{max-width:100%;margin-top:27px}.experience-story .story-lead{font-size:21px}.toolkit{padding-top:10px;padding-bottom:70px}.toolkit-intro{grid-template-columns:1fr;gap:24px}.toolkit-grid{gap:32px 22px;margin-top:36px}.toolkit-group h3{font-size:17px}.toolkit-group ul{margin-top:16px}.additional-tech{align-items:start;flex-direction:column;gap:8px}.method{padding-top:70px;padding-bottom:70px}.method-grid{grid-template-columns:1fr 1fr;gap:35px 25px;margin-top:36px}.method-grid h3{font-size:23px;margin-top:16px}.contact-inner{padding-top:60px;padding-bottom:60px}.contact .eyebrow{line-height:1.7;max-width:220px}.contact-asterisk{font-size:50px}.contact h2{font-size:clamp(44px,11vw,70px);letter-spacing:-2px;margin-top:32px}.contact-bottom{flex-direction:column;align-items:start;gap:26px;margin-top:28px}.contact-bottom .button{width:100%;justify-content:space-between}.hero h1{font-size:clamp(56px,13.6vw,91px)}.hero h1 em{font-size:1.08em}.expertise-strip{line-height:1.7}.hero-note{max-width:165px}.scroll-cue{max-width:150px;line-height:1.7}.system-center>span:last-child{line-height:1.3;max-width:85px}.system-center .code-brackets{font-size:42px}.system-caption,.system-top{letter-spacing:.7px}.node-operation{left:0}.node-data{right:0}.node-systems{left:28%}.service-row{grid-template-columns:25px 1fr 36px;gap:10px}.service-row h3{font-size:21px}.service-row p{font-size:16px}.footer{line-height:1.7}.nav-contact,nav{font-size:12px}.nav-contact{padding:10px 11px}}
@media(max-width:370px){.hero h1{font-size:53px;letter-spacing:-3px}.system-node{padding:8px;gap:6px}.system-node .node-icon{display:none}.flow-node{padding:8px}.toolkit-grid{grid-template-columns:1fr}.service-row{grid-template-columns:20px 1fr;gap:10px}.service-contact{grid-column:2;justify-self:start}.method-grid{gap:25px 18px}.contact h2{font-size:41px}.nav-contact{padding:9px}.header nav{gap:10px}}
@media(prefers-reduced-motion:reduce){.flow-section{height:auto;min-height:0;--flow-progress:1!important}.flow-sticky{position:relative;min-height:0;padding-block:90px}.flow-connector{stroke-dashoffset:0}.flow-node,.flow-core{transform:none}}
@media(max-width:700px){.hero-system{aspect-ratio:1}.node-operation,.node-data{top:15%;width:48%;transform:none;align-items:start}.node-operation{left:0}.node-data{right:0}.system-node .node-icon{display:none}.system-center{left:35%;top:37%;width:30%;height:30%}.node-systems{bottom:10%;left:21%;width:58%;transform:none}.system-caption{bottom:0}}
.js-motion .reveal{transition-duration:.45s}
