/* Refinement of the existing site: neutral surfaces, authentic green, staged motion. */
:root{--ink:var(--black);--paper:var(--gray-50);--green:var(--brand-green);--brand:var(--brand-green);--muted:var(--gray-500);--line:rgb(9 11 10 / .15)}
.hero{background:radial-gradient(ellipse at 50% 75%,var(--brand-green-glow),transparent 43%),var(--gray-50)}
.hero h1 em,.title-spark,.sites-section h2 em,.landing-copy h2 em,.platform-heading h2 em{color:var(--brand-green-text)}
.hero-heading>p:not(.eyebrow),.systems-heading>p,.landing-copy>p,.platform-heading>p,.clients-heading>div>p{font-size:16px}
.eyebrow,.chapter-note,.concept-label{font-size:12px}.chapter-note{color:var(--gray-500)}
.ticker{background:var(--white);border-color:var(--gray-200)}.ticker i{color:var(--brand-green)}
.hero-chat,.hero-web,.landing-demo,.landing-page{background:var(--white)}
.bubble{background:var(--gray-100)}.bubble.reply{background:var(--brand-green-soft)}
.hero-core,.platform-core,.converge-core{background:var(--white);border:1px solid var(--brand-green);box-shadow:0 0 0 6px var(--brand-green-glow),0 20px 65px rgb(0 0 0 / .13)}
.hero-core{color:var(--black)}.hero-main .software{border-color:var(--gray-500);box-shadow:0 0 0 6px rgb(255 255 255 / .55),0 0 0 7px var(--gray-200),0 25px 70px rgb(0 0 0 / .25)}
.software,.systems,.intelligence,.contact-section{background:var(--charcoal);color:var(--gray-50)}
.window-bar,.dashboard-stats>div,.chart,.activity,.ai-conversation,.ai-trace li,.workflow-node{background:var(--charcoal)}
.window-bar,.software-nav,.software-bottom,.dashboard-stats>div,.chart,.activity,.process-table>div{border-color:var(--gray-800)}
.software-nav .nav-current{background:var(--gray-800);color:var(--brand-green)}
.software-nav,.window-bar,.software-title small,.dashboard-stats small,.chart>div>span,.activity p,.software-bottom{color:var(--gray-400)}
.hero-flow{background:var(--charcoal);border-color:var(--gray-600)}
.hero-flow>small,.hero-flow p{color:var(--gray-200)}
.status-tag{background:var(--gray-800);color:var(--gray-200)}.status-tag.complete{background:var(--gray-800);color:var(--brand-green)}
.systems h2 em,.intelligence h2 em,.contact-section h2 em{color:var(--brand-green)}
.systems .chapter-note,.systems-heading>p,.systems-bottom,.intelligence .chapter-note,.ai-intro>p,.automation-intro>p,.integration-note,.direct-contact{color:var(--gray-400)}
.note{background:var(--gray-100);color:var(--black)}
.landing-section,.platform-section{background:var(--gray-50)}
.platform-heading h2 em{color:var(--gray-500)}.channel-inputs>span{background:var(--white);border-color:var(--gray-200)}
.operation-lanes>div{background:var(--white);border-color:var(--gray-200)}
.clients-section{background:var(--white)}.clients-heading h2 em{color:var(--gray-500)}
.client-mark{background:var(--white);border-color:var(--gray-100)}.client-mark img{filter:none}
.client-mark:hover{background:var(--gray-50)}
.site-footer{background:var(--gray-50);color:var(--black);border-top:1px solid var(--gray-200)}
.contact-section{background:radial-gradient(ellipse at 50% 12%,var(--brand-green-glow),transparent 55%),var(--black)}
.contact-main,#send-project{background:var(--brand-green-hover);color:var(--white);border:1px solid var(--brand-green)}
.contact-main:hover,#send-project:hover{background:var(--brand-green-text);box-shadow:0 10px 40px var(--brand-green-glow)}
.contact-main i{background:var(--white);color:var(--brand-green-text)}.contact-whatsapp{color:var(--white)}
.convergence{gap:clamp(16px,3vw,52px);perspective:800px}.converge-item{font-size:11px;color:var(--gray-400)}
.converge-core{transform:translateZ(calc(var(--contact-progress,0) * 35px)) rotate(calc(12deg - var(--contact-progress,0) * 12deg));box-shadow:0 0 calc(20px + var(--contact-progress,0) * 65px) var(--brand-green-glow)}

/* Reference: the main plane arrives first, auxiliary planes follow, then data moves. */
.hero-interface{animation-duration:1.6s;animation-timing-function:var(--ease-scene)}
.hero-main{animation-delay:.1s}.hero-chat{animation-delay:.55s}.hero-web{animation-delay:.7s}.hero-flow{animation-delay:.95s}.hero-core{animation-delay:1.1s}
.hero-main .graph-path{stroke-dasharray:620;stroke-dashoffset:620;animation:graph-build 1.8s 1.5s var(--ease-interface) forwards}
.hero-main .dashboard-stats>div{animation:module-arrive .8s var(--ease-scene) both;animation-delay:1s}
.hero-main .dashboard-stats>div:nth-child(2){animation-delay:1.15s}.hero-main .dashboard-stats>div:nth-child(3){animation-delay:1.3s}
.hero-main .process-table>div:not(:first-child){animation:module-arrive .8s 1.65s var(--ease-scene) both}
.hero-main .process-table>div:nth-child(3){animation-delay:1.85s}.hero-main .process-table>div:nth-child(4){animation-delay:2.05s}
.hero-scene .bubble.reply{animation:message-arrive .8s 1.9s var(--ease-scene) both}
.activity-signal span{transform-origin:bottom;animation:signal-bar 3.6s ease-in-out infinite;animation-delay:calc(var(--bar,0) * -.3s)}
.activity-signal span:nth-child(2n){--bar:2}.activity-signal span:nth-child(3n){--bar:3}
.system-dashboard .graph-path{stroke-dasharray:620;stroke-dashoffset:calc(620 - var(--merge,0) * 620)}
.system-dashboard .process-table{opacity:clamp(0,calc((var(--merge,0) - .55) * 3),1);transform:translateY(calc((1 - var(--merge,0)) * 15px))}
.hero:not(.scene-visible) .activity-signal span,.systems:not(.scene-visible) .activity-signal span{animation-play-state:paused}
.landing-sticky{perspective:1400px}.landing-demo{transform-style:preserve-3d;transform:rotateY(-6deg) rotateX(3deg) rotateZ(2deg);transition:transform 1.2s var(--ease-scene),box-shadow 1.2s var(--ease-scene)}
.landing-section.scene-visible .landing-demo{transform:rotateY(calc(-6deg + var(--landing-step,0) * 2deg)) rotateX(calc(3deg - var(--landing-step,0) * 1deg)) rotateZ(calc(2deg - var(--landing-step,0) * .65deg));box-shadow:18px 28px 70px rgb(0 0 0 / .13)}
.lp-block{transform:translateZ(0);transition:transform .85s var(--ease-scene),background .5s,box-shadow .85s,outline-color .5s;z-index:1}
.lp-block.active{transform:translateZ(32px) translateX(-9px);background:var(--white);outline-color:var(--brand-green);box-shadow:10px 14px 35px rgb(0 0 0 / .09);z-index:3}
.lp-annotation{background:var(--brand-green-hover);color:var(--white)}
.lp-action button,.lp-form button{background:var(--brand-green-hover);color:var(--white)}
.conversion-line{overflow:hidden}.conversion-line strong{color:var(--brand-green-text)}
.ai-stage{perspective:1200px;position:relative;gap:7%;isolation:isolate}
.ai-stage:after{content:'';position:absolute;left:0;right:0;top:44%;height:1px;background:linear-gradient(90deg,transparent,var(--brand-green),transparent);opacity:.3;z-index:-1}
.ai-conversation{border:1px solid var(--gray-600);box-shadow:0 24px 65px rgb(0 0 0 / .3);transform:rotateY(5deg);transition:transform 1s var(--ease-scene)}
.ai-engine{border:1px solid var(--gray-600);padding:24px;background:var(--charcoal);transform:rotateY(-5deg) translateZ(16px);box-shadow:0 24px 65px rgb(0 0 0 / .2);transition:transform 1s var(--ease-scene),box-shadow 1s}
.ai-stage[data-step="3"] .ai-conversation,.ai-stage[data-step="4"] .ai-conversation{transform:rotateY(0deg) translateZ(25px)}
.ai-stage[data-step="3"] .ai-engine,.ai-stage[data-step="4"] .ai-engine{transform:rotateY(-3deg);box-shadow:none}
.ai-trace li{transition:transform .65s var(--ease-scene),background .65s,border-color .65s;position:relative;border-color:var(--gray-800)}
.ai-trace li.current{transform:translateX(-7px);background:var(--gray-800);border-color:var(--brand-green)}
.ai-trace li.current:after{content:'';position:absolute;bottom:0;left:0;height:2px;width:100%;background:var(--brand-green);transform-origin:left;animation:trace-progress 1.65s linear both}
.ai-trace li code{color:var(--gray-400)}.ai-response{background:var(--gray-800);border-color:var(--brand-green)}
.ai-response-status{color:var(--brand-green)}.ai-response.response-enter{animation:message-arrive .6s var(--ease-scene)}
.ai-avatar{background:var(--brand-green-hover);color:var(--white)}
.workflow-node{transition:transform .65s var(--ease-scene),border-color .65s,box-shadow .65s}.workflow-node.flow-active{transform:translateY(-10px);border-color:var(--brand-green);box-shadow:0 12px 45px var(--brand-green-glow)}
.command-center{perspective:1100px}.platform-core{transition:transform .85s var(--ease-scene),box-shadow .85s}
.platform-flow-caption{text-align:center;position:absolute;left:0;right:0;top:274px;font:12px var(--mono);color:var(--gray-500)}
.channel-inputs>span{transition:transform .7s var(--ease-scene),border-color .7s;background:var(--white)}
.channel-inputs>span.flow-active{transform:translateY(-6px);border-color:var(--brand-green);color:var(--brand-green-text)}
.operation-lanes>div{transition:transform .7s var(--ease-scene),border-color .7s,box-shadow .7s}
.operation-lanes>div.flow-active{transform:translateY(-8px) rotateX(2deg);border-color:var(--brand-green);box-shadow:0 18px 36px rgb(0 0 0 / .08)}
.command-center[data-phase="1"] .platform-core{transform:scale(1.055);box-shadow:0 0 0 9px var(--brand-green-glow),0 20px 55px var(--brand-green-glow)}
.command-pulse{stroke:var(--brand-green)}
@keyframes module-arrive{from{opacity:0;transform:translate3d(0,18px,-35px)}to{opacity:1;transform:translate3d(0,0,0)}}
@keyframes message-arrive{from{opacity:.2;transform:translate3d(18px,12px,-20px) scale(.96)}to{opacity:1;transform:translate3d(0,0,0) scale(1)}}
@keyframes graph-build{to{stroke-dashoffset:0}}
@keyframes signal-bar{0%,100%{transform:scaleY(.6)}50%{transform:scaleY(1)}}
@keyframes trace-progress{from{transform:scaleX(0)}to{transform:scaleX(1)}}

/* Accessible project drawer. Transport is deliberately unconfigured. */
body.project-open{overflow:hidden}
#project-dialog{padding:0;border:0;margin:0 0 0 auto;width:min(760px,100%);max-width:100%;height:100dvh;max-height:100dvh;background:var(--white);color:var(--black);overflow-y:auto;overscroll-behavior:contain}
#project-dialog::backdrop{background:rgb(9 11 10 / .72);backdrop-filter:blur(7px)}
#project-dialog[open]{animation:drawer-enter .65s var(--ease-scene)}
.project-panel{padding:clamp(28px,4vw,56px);position:relative;border-top:5px solid var(--brand-green)}
.project-close{position:absolute;right:22px;top:20px;width:42px;height:42px;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:50%;font-size:27px;line-height:1}
.project-close:hover{background:var(--gray-100)}
.project-heading .eyebrow{margin:10px 40px 24px 0;color:var(--gray-500)}
.project-heading h2{font-size:clamp(38px,4.3vw,58px);letter-spacing:-.06em}.project-heading h2 em{color:var(--brand-green-text)}
.project-heading>p:last-child{font-size:15px;line-height:1.5;color:var(--gray-500);margin:22px 0 30px;max-width:450px}
.project-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px 22px}.field-wide{grid-column:1/-1}
.field label{display:block;font-size:14px;font-weight:500;margin-bottom:7px}.field label span{font-weight:400;color:var(--gray-500);font-size:12px;margin-left:5px}
.field input,.field select,.field textarea{font:16px/1.5 var(--body);color:var(--black);width:100%;border:1px solid var(--gray-200);border-radius:3px;background:var(--gray-50);padding:12px 14px;transition:border-color .2s,box-shadow .2s;min-width:0}
.field textarea{resize:vertical;min-height:108px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--brand-green);outline:0;box-shadow:0 0 0 3px var(--brand-green-glow);background:var(--white)}
.field [aria-invalid="true"]{border-color:var(--error)}.field-error{display:block;font-size:12px;color:var(--error);margin-top:4px}.field-error:empty{display:none}
.submission-note{font-size:13px;line-height:1.6;color:var(--gray-500);margin:22px 0 16px}
#send-project{width:100%;display:flex;align-items:center;justify-content:space-between;font:13px var(--mono);letter-spacing:.04em;padding:17px 20px;border-radius:3px;transition:background .2s,box-shadow .2s}
.send-indicator{font-size:24px}#send-project:disabled{cursor:wait;opacity:.7}
#send-project[data-state="loading"] .send-indicator{width:20px;height:20px;border:2px solid rgb(255 255 255 / .3);border-top-color:var(--white);border-radius:50%;font-size:0;animation:spin .8s linear infinite}
#project-feedback{font-size:14px;line-height:1.6;margin-top:14px;color:var(--gray-600)}#project-feedback[data-state="error"]{color:var(--error)}#project-feedback[data-state="success"]{color:var(--brand-green-text)}
.project-whatsapp{display:inline-block;margin-top:15px;font-size:14px;color:var(--brand-green-text);text-decoration:underline;text-underline-offset:4px}
@keyframes drawer-enter{from{transform:translateX(100%)}to{transform:translateX(0)}}@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:900px){.convergence{gap:16px}.converge-item{font-size:9px}.ai-engine{padding:18px}.platform-flow-caption{top:255px}}
@media(max-width:600px){
 .convergence{display:grid;grid-template-columns:1fr 100px 1fr;height:170px;gap:10px 8px}.converge-core{grid-column:2;grid-row:1/4;justify-self:center}.converge-item{transform:none!important;text-align:center;font-size:9px;opacity:1!important}.converge-item:nth-child(5){grid-column:3;grid-row:1}.converge-item:nth-child(6){grid-column:3;grid-row:2}.converge-item:nth-child(7){grid-column:3;grid-row:3}
 .ai-stage{gap:40px}.ai-engine{transform:none;padding:18px}.ai-conversation{transform:rotateY(2deg)}.ai-stage[data-step="3"] .ai-conversation,.ai-stage[data-step="4"] .ai-conversation{transform:translateY(-4px)}
 .landing-demo,.landing-section.scene-visible .landing-demo{transform:rotateY(calc(-3deg + var(--landing-step,0) * 1deg)) rotateZ(.5deg)}.lp-block.active{transform:translateZ(12px) translateX(-3px)}
 .platform-flow-caption{position:static;margin:18px 0}.platform-core{margin-bottom:0}.operation-lanes>div.flow-active{transform:translateY(-4px)}.workflow-node.flow-active{transform:translateY(-4px)}
 .project-fields{grid-template-columns:1fr;gap:16px}.project-heading h2{font-size:40px}.project-panel{padding:28px 24px}.project-heading .eyebrow{font-size:10px;margin-top:15px}
 .hero-heading>p:not(.eyebrow){font-size:15px}.chapter-note{font-size:10px}
}
html.motion-paused .hero-main .graph-path{stroke-dashoffset:0;animation:none!important}
html.motion-paused .hero-main .dashboard-stats>div,html.motion-paused .hero-main .process-table>div,html.motion-paused .bubble.reply{animation:none!important;opacity:1}
html.motion-paused .lp-block,html.motion-paused .landing-demo,html.motion-paused .ai-conversation,html.motion-paused .ai-engine,html.motion-paused .workflow-node,html.motion-paused .operation-lanes>div,html.motion-paused .channel-inputs>span{transition:none!important;transform:none!important}
/* Final contrast, convergence spacing and small-screen refinements. */
.landing-demo.scene-revealed .lp-block{animation:panel-layer .85s var(--ease-scene) both}.landing-demo.scene-revealed .lp-product{animation-delay:.16s}.landing-demo.scene-revealed .lp-action{animation-delay:.32s}.landing-demo.scene-revealed .lp-form{animation-delay:.48s}
.ai-stage.scene-revealed .ai-conversation{animation:panel-layer 1s var(--ease-scene) both;--layer-x:-30px}.ai-stage.scene-revealed .ai-engine{animation:panel-layer 1.2s .15s var(--ease-scene) both;--layer-x:35px}
@keyframes panel-layer{from{opacity:.3;translate:var(--layer-x,0) 26px;filter:blur(2px)}to{opacity:1;translate:0 0;filter:blur(0)}}
.hero:not(.scene-visible) .travel-path,.workflow:not(.scene-visible) .workflow-pulse,.workflow:not(.scene-visible) .workflow-node,.command-center:not(.scene-visible) .command-pulse,.clients-section:not(.scene-visible) .rail-content{animation-play-state:paused}
html.motion-paused .landing-demo .lp-block,html.motion-paused .ai-stage .ai-conversation,html.motion-paused .ai-stage .ai-engine{animation:none!important;opacity:1;translate:0 0;filter:none}
.ai-response{color:var(--gray-50)}.ai-response-status{font-size:10px}.ai-trace li{opacity:.72}.ai-trace li.current,.ai-trace li.done{opacity:1}.ai-trace li.current{padding-left:12px}
.landing-steps button{color:var(--gray-500)}.landing-steps button.active{color:var(--brand-green-text)}
.operation-lanes>div:first-child{padding-left:30px}.operation-lanes span,.channel-inputs>span{font-size:11px}.operation-lanes p{font-size:14px}
.convergence .converge-item{position:static;white-space:nowrap;opacity:.85;transform:translateX(calc(var(--converge-x,0px) * var(--contact-progress,0)));color:var(--gray-200);--converge-x:0px}
.convergence .converge-item:first-child{--converge-x:18px}.convergence .converge-item:nth-child(2){--converge-x:12px}.convergence .converge-item:nth-child(3){--converge-x:6px}.convergence .converge-item:nth-child(5){--converge-x:-6px}.convergence .converge-item:nth-child(6){--converge-x:-12px}.convergence .converge-item:last-child{--converge-x:-18px}
.hero-main{animation-name:dashboard-arrive}
@keyframes dashboard-arrive{from{opacity:0;translate:0 100px;scale:.83;rotate:-5deg;filter:blur(4px)}70%{opacity:1;filter:blur(0)}to{opacity:1;translate:0 0;scale:1;rotate:0deg;filter:blur(0)}}
@media(max-width:600px){.operation-lanes span{font-size:9px}.operation-lanes p{font-size:13px}.convergence .converge-item{transform:none;position:static;font-size:9px}.convergence .converge-item:first-child{grid-column:1;grid-row:1}.convergence .converge-item:nth-child(2){grid-column:1;grid-row:2}.convergence .converge-item:nth-child(3){grid-column:1;grid-row:3}.convergence .converge-item:nth-child(5){grid-column:3;grid-row:1}.convergence .converge-item:nth-child(6){grid-column:3;grid-row:2}.convergence .converge-item:last-child{grid-column:3;grid-row:3}}
@media(prefers-reduced-motion:reduce){#project-dialog[open]{animation:none}.ai-response.response-enter{animation:none}.project-close,.field input,.field select,.field textarea{transition:none}}
