@font-face{font-family:Montserrat;src:url('assets/fonts/montserrat-variable-latin.woff2?v=31') format('woff2');font-weight:100 900;font-display:swap}
:root{color-scheme:light;--bg:#fbfcfa;--surface:#f2f8f4;--panel:#e8efea;--ink:#13231b;--muted:#58655d;--accent:#057044;--action-ink:#fff;--header:76px;--gutter:clamp(22px,4vw,80px);--ease:cubic-bezier(.22,1,.36,1)}
:root[data-theme=dark]{color-scheme:dark;--bg:#101b15;--surface:#18291f;--panel:#243a2c;--ink:#f1f6f2;--muted:#b5c4ba;--accent:#8cdda5;--action-ink:#10271b}
*{box-sizing:border-box}html{scroll-padding-top:var(--header)}body{margin:0;background:var(--bg);color:var(--ink);font:1rem/1.6 Montserrat,sans-serif}button,a,summary{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{font:inherit;color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:5px}button{border:0}button:active,.button:active{transform:scale(.97)}button,a{transition:transform .15s var(--ease)}:focus-visible{outline:3px solid var(--accent);outline-offset:5px}img,video{display:block;max-width:100%}p,h1,h2,h3,figure{margin:0}h1,h2,h3{font-weight:600;letter-spacing:-.05em;line-height:1.07}h1{font-size:clamp(3.4rem,7.5vw,8rem)}h2{font-size:clamp(2.1rem,4.1vw,4.5rem)}h3{font-size:clamp(1.5rem,2.6vw,2.6rem)}.wrap{width:calc(100% - var(--gutter)*2);max-width:1320px;margin-inline:auto}.section{padding-block:110px}.sr-only,.skip:not(:focus){position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip:focus{position:fixed;top:12px;left:12px;z-index:100;background:var(--bg);padding:12px}.button,.header-action{display:inline-flex;align-items:center;justify-content:center;background:var(--accent);color:var(--action-ink);padding:13px 24px;border-radius:28px;min-height:48px;font-weight:600;gap:20px}.button:hover,.header-action:hover{text-decoration:none;filter:brightness(1.08)}.text-link{display:inline-flex;align-items:center;min-height:44px;gap:20px;color:var(--accent);font-weight:600}.header{height:var(--header);padding-inline:var(--gutter);position:fixed;inset:0 0 auto;z-index:50;background:var(--bg);display:flex;align-items:center;gap:28px}.brand{display:inline-flex;align-items:center;gap:9px;font-weight:600;font-size:1.25rem;letter-spacing:-.04em;min-height:44px}.brand img{width:30px;height:30px}.header nav{display:flex;gap:26px;margin-left:auto;font-size:.875rem}.header nav a{display:flex;align-items:center;min-height:44px}.header-action{font-size:.8125rem;min-height:44px;padding:10px 20px}.appearance{display:flex;background:var(--surface);padding:3px;border-radius:26px}.appearance button{min-height:40px;min-width:54px;font-size:.75rem;background:none;border-radius:23px;padding:8px 12px}.appearance button[aria-pressed=true]{background:var(--ink);color:var(--bg)}
.story{position:relative}.story-pin{position:relative;padding-top:var(--header)}.scene{padding:50px var(--gutter);min-height:calc(100svh - var(--header));display:grid;grid-template-columns:42% 58%;align-items:center;gap:0;background:var(--bg)}.scene-copy{z-index:2}.scene-copy>p{font-size:1.125rem;max-width:390px;line-height:1.6;margin-top:28px}.scene-copy .text-link{margin-top:30px}.model-view{position:relative;height:100%;min-height:460px;width:100%}.model-view canvas{position:absolute;width:100%;height:100%;inset:0;opacity:0;transition:none}.model-view.ready canvas{opacity:1}.model-view.ready .model-fallback{opacity:0}.model-fallback{width:100%;height:100%;object-fit:contain;position:absolute;transition:none}.model-caption{position:absolute;bottom:2%;left:0;width:100%;text-align:center;font-size:.8125rem;color:var(--muted)}.graph-scene{grid-template-columns:39% 61%}.media-label{display:block;margin-top:35px;font-weight:600;color:var(--accent)}.graph-view{justify-self:end;width:min(100%,760px);height:min(66svh,700px);position:relative;perspective:1400px}.graph-view>img{width:100%;height:calc(100% - 38px);object-fit:cover;object-position:top;border-radius:16px;transform:perspective(1800px) rotateY(-7deg);transform-origin:right center}.graph-view figcaption{text-align:right;margin-top:16px;color:var(--muted);font-size:.8125rem}.plant-scene{display:flex;flex-direction:column;justify-content:center;gap:24px;padding-block:24px}.plant-heading{width:100%;display:flex;justify-content:space-between;align-items:end;gap:40px}.plant-heading h2{font-size:clamp(2rem,3.5vw,3.75rem)}.plant-heading p{max-width:360px;font-size:1rem}.plant-media{position:relative;width:min(100%,1150px);height:min(54svh,650px);background:#0d151b;border-radius:18px;overflow:hidden}.plant-media video{width:100%;height:100%;object-fit:contain}.film-play{position:absolute;right:16px;bottom:16px;border-radius:26px;background:#eef4ef;color:#13231b;min-height:44px;padding:10px 18px;font-size:.8125rem}.overview-scene{display:flex;flex-direction:column;justify-content:center;gap:50px}.overview-heading{text-align:center}.overview-heading p{margin-top:22px}.workflow-chain{display:grid;grid-template-columns:1fr 40px 1fr 40px 1fr;align-items:center;gap:20px;width:100%;max-width:1400px}.workflow-chain figure{min-width:0}.workflow-chain img{width:100%;height:250px;object-fit:cover;border-radius:12px;background:#10191d}.workflow-chain figure:nth-of-type(2) img{object-position:top}.workflow-chain figcaption{font-weight:600;margin-top:18px;font-size:1rem}.chain-arrow{font-size:2rem;text-align:center;color:var(--accent);padding-bottom:40px}.story-controls{display:none}.story-progress{display:none}
html.motion .story-pin{position:sticky;top:0;height:100svh;padding:0;overflow:hidden}html.motion .story-scenes{position:absolute;inset:var(--header) 0 85px}html.motion .scene{position:absolute;inset:0;min-height:0;height:100%;will-change:transform,opacity}html.motion .scene:not(:first-child){transform:translateX(110%)}html.motion .story-controls{display:flex;justify-content:space-between;align-items:center;gap:24px;position:absolute;bottom:20px;left:var(--gutter);right:var(--gutter)}.chapter-nav{display:flex;gap:5px;background:var(--surface);padding:4px;border-radius:28px}.chapter-nav button{background:transparent;border-radius:24px;min-height:44px;padding:9px 18px;font-size:.8125rem}.chapter-nav button[aria-pressed=true]{background:var(--ink);color:var(--bg)}.story-options{display:flex;align-items:center;gap:24px}.story-options button{background:var(--surface);border-radius:24px;min-height:44px;padding:8px 16px;font-size:.75rem}.scroll-hint{font-size:.8125rem}.scroll-hint span{margin-left:10px}html.motion .story-progress{display:block;height:3px;background:var(--surface);position:absolute;bottom:0;left:0;right:0}.story-progress span{display:block;background:var(--accent);width:100%;height:100%;transform:scaleX(0);transform-origin:left}.name-story{position:relative;background:var(--surface)}.name-pin{position:relative;min-height:85svh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px var(--gutter);overflow:hidden}.name-intro{text-align:center;font-size:1rem;color:var(--muted)}.name-animation{display:none}.static-wordmark{font-weight:600;letter-spacing:-.055em;font-size:clamp(3rem,10vw,11rem);margin:45px 0}.name-next{margin-top:40px}html.motion .name-story{height:340svh}html.motion .name-pin{position:sticky;top:0;height:100svh;min-height:0;padding-top:var(--header)}html.motion .name-animation{display:block;position:relative;width:100%;height:380px}html.motion .static-wordmark{display:none}.reveal-logo{position:absolute;width:80px;height:80px;top:24px;left:calc(50% - 40px);opacity:0}.word-stage{position:absolute;top:150px;left:0;right:0;height:1.3em;font-size:clamp(3.2rem,8.3vw,9rem);font-weight:600;letter-spacing:-.055em;line-height:1;white-space:nowrap}.word-stage>span{position:absolute;left:50%;top:0;will-change:transform}.letter-e{display:inline-block;transform-origin:left;position:relative}.delete-caret{width:3px;height:.85em;background:var(--ink);opacity:0}.reveal-tagline{position:absolute;top:310px;left:0;right:0;text-align:center;font-size:1.125rem;opacity:0}.after-story{display:grid;grid-template-columns:42% 52%;gap:6%;align-items:center}.after-story p{max-width:460px;margin:25px 0 30px}.after-story video{width:100%;max-height:550px;object-fit:contain;background:#10131c;border-radius:16px}.after-story figcaption{font-size:.8125rem;color:var(--muted);margin-top:16px}.section-heading{max-width:850px;margin-bottom:45px}.section-heading p{margin-top:25px;max-width:670px}.teams{padding-top:70px}.team-layout{display:grid;grid-template-columns:35% 60%;gap:5%}.team-options{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.team-options button{background:var(--surface);min-height:48px;border-radius:25px;padding:12px 20px;font-size:.9375rem}.team-options button[aria-pressed=true]{background:var(--ink);color:var(--bg)}.team-options span{margin-left:10px}.team-detail{background:var(--surface);border-radius:20px;padding:45px}.team-detail p{margin-top:22px}.team-detail .text-link{margin-top:24px}.portal-note{display:flex;gap:80px;padding-top:55px;align-items:center}.portal-note p:first-child{font-weight:600;font-size:1.6rem;line-height:1.2;min-width:30%}.portal-note p:last-child{max-width:600px}.faq{max-width:1000px;padding-top:70px}.faq h2{margin-bottom:40px}.faq details{background:var(--surface);padding:20px 26px;margin-bottom:10px;border-radius:12px}.faq summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:44px;cursor:pointer;font-weight:600}.faq summary::-webkit-details-marker{display:none}.faq summary span{font-size:1.5rem}.faq details[open] summary span{transform:rotate(45deg)}.faq details p{margin-top:15px;max-width:780px}.closing{display:flex;align-items:center;justify-content:space-between;gap:35px}.closing p{margin-top:22px}.closing-action{display:flex;flex-direction:column;align-items:flex-start;gap:16px}.download{min-height:44px;display:flex;align-items:center;color:var(--accent);font-size:.875rem}.footer{background:var(--surface);padding:40px 0;font-size:.8125rem;color:var(--muted)}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:25px;flex-wrap:wrap}.footer-top .brand{color:var(--ink)}.footer nav{display:flex;gap:24px}.footer nav a{min-height:44px;display:flex;align-items:center}.footer-bottom{display:flex;justify-content:space-between;margin-top:30px;gap:20px}
.motion-off .story-controls{display:flex;padding:20px var(--gutter)}.motion-off .chapter-nav,.motion-off .scroll-hint{display:none}.motion-off .scene{min-height:85svh}.motion-off .name-animation{display:none}
@media(max-width:1000px){.header{gap:18px}.header nav{gap:16px}.header-action{display:none}.appearance{margin-left:auto}.scene{grid-template-columns:40% 60%}.scene-copy>p{font-size:1rem}.model-view{min-height:340px}.workflow-chain{gap:10px;grid-template-columns:1fr 24px 1fr 24px 1fr}.workflow-chain img{height:200px}.scroll-hint{display:none}.plant-heading p{max-width:280px}.graph-view{height:52svh}.section{padding-block:80px}}
@media(max-width:650px){:root{--header:70px;--gutter:22px}.header{gap:12px}.brand{font-size:1.1rem}.brand img{width:27px;height:27px}.header nav{display:none}.appearance{margin-left:auto}.appearance button{min-width:45px;padding:7px 10px;font-size:.6875rem}.scene{grid-template-columns:1fr;grid-template-rows:auto 1fr;align-content:center;padding:30px var(--gutter) 10px;gap:20px}.scene-copy{align-self:start}.scene h1{font-size:clamp(3.5rem,15vw,5rem)}.scene h2{font-size:clamp(2.1rem,9vw,3.3rem)}.scene-copy>p{margin-top:16px;max-width:320px;font-size:.9375rem}.scene-copy .text-link{margin-top:12px;font-size:.875rem}.model-view{min-height:0;height:100%}.model-caption{font-size:.6875rem;bottom:0}.graph-view{height:100%;width:100%;min-height:0;justify-self:center}.graph-view>img{height:calc(100% - 30px);object-fit:contain;background:#11141c;transform:none;border-radius:12px}.graph-view figcaption{font-size:.6875rem;margin-top:8px}.media-label{margin-top:10px;font-size:.8125rem}.plant-scene{display:flex;padding-top:25px;gap:24px;justify-content:center}.plant-heading{display:block}.plant-heading h2{font-size:clamp(1.7rem,7.2vw,2.7rem)}.plant-heading p{max-width:320px;margin-top:16px;font-size:.9375rem}.plant-media{height:45svh;width:100%;border-radius:12px}.plant-media video{object-fit:cover}.film-play{font-size:.6875rem;bottom:10px;right:10px;padding:9px 13px}.overview-scene{display:flex;justify-content:center;gap:22px}.overview-heading{text-align:left;width:100%}.overview-heading h2{font-size:1.9rem}.overview-heading p{margin-top:12px;font-size:.875rem}.workflow-chain{display:flex;flex-direction:column;gap:12px}.workflow-chain figure{display:grid;grid-template-columns:40% 1fr;gap:20px;align-items:center;width:100%}.workflow-chain img{height:90px;object-fit:cover;border-radius:10px}.workflow-chain figcaption{margin:0;font-size:.8125rem}.chain-arrow{display:none}.continue-link{font-size:.8125rem}html.motion .story-scenes{bottom:112px}html.motion .story-controls{bottom:14px;left:14px;right:14px;flex-wrap:wrap;justify-content:center;gap:5px}.chapter-nav{width:100%;justify-content:center;gap:0}.chapter-nav button{padding:8px 12px;font-size:.6875rem;flex:1}.story-options button{font-size:.625rem;min-height:32px;background:none}.name-intro{font-size:.875rem;max-width:260px}.word-stage{font-size:clamp(2.6rem,10.8vw,4.4rem);top:160px}.reveal-logo{width:66px;height:66px;left:calc(50% - 33px);top:48px}.reveal-tagline{top:250px;font-size:.9375rem;max-width:300px;margin:auto}.name-next{font-size:.8125rem;margin-top:10px}html.motion .name-animation{height:340px}.section{padding-block:65px}.after-story{grid-template-columns:1fr;gap:35px}.after-story video{max-height:420px}.team-layout{grid-template-columns:1fr;gap:25px}.team-options{flex-direction:row;flex-wrap:wrap;gap:8px}.team-options button{font-size:.75rem;padding:10px 14px;min-height:44px}.team-detail{padding:28px}.portal-note{flex-direction:column;align-items:flex-start;gap:25px;padding-top:40px}.faq details{padding:15px 18px}.faq summary{font-size:.9375rem}.closing{display:block}.closing-action{margin-top:30px}.footer-top{flex-direction:column;align-items:flex-start;gap:15px}.footer nav{flex-wrap:wrap}.motion-off .model-view{height:390px}.motion-off .graph-view{height:440px}.motion-off .scene{min-height:0;padding-block:50px}.motion-off .overview-scene{padding-block:60px}}
@media(max-height:650px) and (min-width:651px){.scene{padding-block:10px}.model-view{min-height:0}.scene-copy h1{font-size:4.5rem}.scene h2{font-size:2.5rem}.graph-view{height:65svh}.plant-heading p{display:none}.plant-media{height:48svh}.overview-scene{gap:25px}.workflow-chain img{height:160px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
@media(prefers-contrast:more){:root{--muted:var(--ink)}:focus-visible{outline-width:4px}}
/* Retained change: Codaform reveal concludes the original horizontal story. */
.name-scene{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:0}.name-scene .name-intro{font-size:clamp(1.5rem,2.3vw,2.25rem);font-weight:600;letter-spacing:-.035em;color:var(--ink);opacity:1!important}.motion .name-scene .name-animation{display:block;position:relative;width:100%;height:380px}.motion .name-scene .static-wordmark{display:none}.name-scene .name-next{margin-top:0}.name-scene .word-stage{font-size:clamp(3rem,7.7vw,8.5rem)}.name-scene .reveal-tagline{font-size:clamp(1.125rem,1.8vw,1.6rem);color:var(--ink)}.motion-off .name-scene .name-animation{display:none}
@media(max-width:650px){.name-scene{padding-inline:16px}.name-scene .name-intro{font-size:1.6rem}.motion .name-scene .name-animation{height:340px}.name-scene .word-stage{font-size:clamp(2.5rem,10.5vw,4.1rem)}.name-scene .reveal-tagline{font-size:1rem}.name-scene .name-next{font-size:.8125rem}}
@media(max-width:650px){body .header nav{display:flex;margin-left:auto}body .header nav a:not([href="/docs/"]){display:none}body .header nav a{font-size:.6875rem}body .header .brand span{display:none}body .header .appearance{margin-left:0}}

/* Optical balance for the final mark and word, while keeping the a fixed during the swap. */
.name-scene .reveal-logo{width:112px;height:112px;left:calc(50% - 56px);top:12px}.name-scene .word-stage{font-size:clamp(3rem,6.5vw,7rem);top:168px}.name-scene .reveal-tagline{top:292px}.name-scene .name-animation{max-width:1120px;margin-inline:auto}.name-scene .name-next{margin-top:8px}
@media(max-width:650px){.name-scene .reveal-logo{width:82px;height:82px;left:calc(50% - 41px);top:40px}.name-scene .word-stage{font-size:clamp(2.5rem,9.5vw,3.8rem);top:158px}.name-scene .reveal-tagline{top:245px}}

.name-scene .reveal-logo{left:calc(50% - 59px)}
@media(max-width:650px){.name-scene .reveal-logo{left:calc(50% - 43px)}}

/* Final hero: the original horizontal brand lockup, with no surrounding copy. */
.motion .name-scene .name-animation{height:220px;max-width:1120px}
.name-scene .word-stage{top:50%;font-size:clamp(2.5rem,6.5vw,7rem);height:1em;transform:translate3d(0,-50%,0)}
.name-scene .reveal-logo{top:50%;left:50%;width:clamp(3.25rem,8.45vw,9.1rem);height:clamp(3.25rem,8.45vw,9.1rem);transform-origin:center;will-change:transform,opacity}
.name-scene .word-code,.name-scene .word-a,.brand-coda{color:#069A5B}
.name-scene .word-form,.brand-form{color:#7BCF45}
:root:not([data-theme=dark]) .name-scene .word-form,:root:not([data-theme=dark]) .brand-form{color:var(--accent)}
.static-lockup{display:flex;align-items:center;justify-content:center;gap:.2em;font-size:clamp(2.5rem,6.5vw,7rem);font-weight:600;letter-spacing:-.055em;line-height:1;white-space:nowrap}
.static-lockup>img{width:1.3em;height:1.3em;transform:translateX(-.03em)}
.motion .static-lockup{display:none}
@media(max-width:650px){.name-scene .word-stage,.static-lockup{font-size:clamp(2rem,9vw,3.8rem)}.name-scene .reveal-logo{width:clamp(2.6rem,11.7vw,4.94rem);height:clamp(2.6rem,11.7vw,4.94rem)}}
/* Preserve the complete application interface in the workflow film. */
.plant-media{height:auto;aspect-ratio:16/9;max-height:54svh;flex-shrink:1}
.plant-media video{display:block;object-fit:contain}
@media(max-width:650px){.plant-media{height:auto;aspect-ratio:16/9;max-height:none;flex-shrink:0}.plant-media video{object-fit:contain}}

/* The opening message now fits the supplied two-line copy. */
.model-scene .scene-copy h1{font-size:clamp(1.75rem,3.55vw,4.6rem);letter-spacing:-.04em;line-height:1.12}
@media(min-width:651px) and (max-width:900px){.model-scene .scene-copy h1{font-size:clamp(1.2rem,3vw,1.8rem)}}
@media(max-width:650px){.model-scene .scene-copy h1{font-size:clamp(1.3rem,6.3vw,2.55rem)}}
