/* Locally hosted Latin variable fonts. Licenses live alongside the font files. */
@font-face{font-family:Inter;src:url('../fonts/inter-latin-variable.woff2') format('woff2');font-style:normal;font-weight:400 700;font-display:swap}
@font-face{font-family:Manrope;src:url('../fonts/manrope-latin-variable.woff2') format('woff2');font-style:normal;font-weight:400 800;font-display:swap}
:root{--font-body:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;--font-display:Manrope,Inter,system-ui,sans-serif;--ease-out:cubic-bezier(.22,1,.36,1);--ease-ui:cubic-bezier(.2,.7,.2,1)}
body{font-family:var(--font-body);font-optical-sizing:auto;letter-spacing:-.012em}h1,h2,h3,h4,.brand{font-family:var(--font-display)}h1,h2{font-weight:600;text-wrap:balance}h3,h4{letter-spacing:-.025em}.hero h1{font-weight:600;letter-spacing:-.06em;line-height:1.07}.brand{letter-spacing:-.045em}.brand-light{font-weight:400}.hero-description{line-height:1.85}.product-card>p:not(.overline),.principle-grid p{font-size:.86rem}.product-card h4{font-size:.9rem;line-height:1.5}.eyebrow,.overline,.workflow-steps small{font-weight:600}.product-links{font-size:.73rem}.section-heading h2 em{color:#657761}.workflow-steps h3{line-height:1.5;font-weight:650}.footer-bottom{font-size:.68rem}
/* Short entrance sequences give the content a clear reading order. */
.hero h1,.hero h1 em{animation:none}.hero-copy>.eyebrow,.hero-copy>h1,.hero-description,.hero-copy>.button-row,.hero-footnote{animation:content-arrive .8s var(--ease-out) both}.hero-copy>h1{animation-delay:.08s}.hero-description{animation-delay:.16s}.hero-copy>.button-row{animation-delay:.24s}.hero-footnote{animation-delay:.32s}.intelligence-visual{animation:content-arrive 1s .16s var(--ease-out) both}.signal-input{animation:content-arrive .7s .35s var(--ease-out) both}.ai-core{animation:content-arrive .8s .65s var(--ease-out) both}.output-card{animation:content-arrive .8s 1s var(--ease-out) both}.output-card:nth-child(2){animation-delay:1.13s}.core-mark{animation:core-settle 1.4s .6s var(--ease-out) both}.route-line span{animation:signal-flow 1.2s .7s ease-in-out 2}.route-split:after{content:'';position:absolute;left:calc(50% - 2px);top:-26px;width:5px;height:5px;border-radius:50%;background:var(--lime);box-shadow:0 0 8px #d7f78380;animation:route-arrive 1.2s .95s ease both;pointer-events:none}
.reveal{transition:opacity .7s var(--ease-out),transform .7s var(--ease-out)}.section-heading.is-visible h2{animation:none}.product-card.reveal,.contact-card.reveal{transition:opacity .7s var(--ease-out),transform .4s var(--ease-out),background-color .3s ease,color .3s ease,border-color .3s ease,box-shadow .4s ease}.product-card.reveal.is-visible{animation:content-arrive .7s var(--ease-out) backwards}.product-card.reveal.is-visible:nth-child(3n+2){animation-delay:.08s}.product-card.reveal.is-visible:nth-child(3n){animation-delay:.16s}
.showcase-slide{animation:content-arrive .4s var(--ease-out) both}.showcase-slide:not([hidden]) .workflow-steps li{animation:workflow-arrive .55s var(--ease-out) both}.showcase-slide:not([hidden]) .workflow-steps li:nth-child(1){animation-delay:.06s}.showcase-slide:not([hidden]) .workflow-steps li:nth-child(2){animation-delay:.17s}.showcase-slide:not([hidden]) .workflow-steps li:nth-child(3){animation-delay:.28s}.workflow-steps li+li:before{transform-origin:top;animation:connector-arrive .45s .2s var(--ease-out) both}
/* Feedback is local to the target and does not shift neighboring content. */
.button,.nav-contact,.menu-toggle,.slide-dots button,.rotation-button{transition:background-color .22s ease,color .22s ease,border-color .22s ease,box-shadow .3s ease,transform .3s var(--ease-out)}.button{position:relative;isolation:isolate;overflow:hidden}.button:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(105deg,transparent 25%,#ffffff50 50%,transparent 75%);transform:translateX(-120%);transition:transform .6s var(--ease-ui);pointer-events:none}.button:is(:hover,:focus-visible):after{transform:translateX(120%)}.button:is(:hover,:focus-visible){transform:translateY(-2px);box-shadow:0 8px 22px #001e2230,0 0 0 1px #d7f78370}.button:active,.slide-dots button:active,.nav-contact:active{transform:translateY(0) scale(.985)}.button span,.product-contact span,.text-link span{display:inline-block;transition:transform .3s var(--ease-out)}.button:is(:hover,:focus-visible) span,.product-contact:is(:hover,:focus-visible) span{transform:translate(3px,-3px)}.menu-toggle:is(:hover,:focus-visible){background:var(--lime);color:var(--deep);border-color:var(--lime)}
.product-card{position:relative;isolation:isolate;overflow:hidden}.product-card:before{content:'';position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,var(--lime),#8bbb7b);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease-out);pointer-events:none}.product-card:is(:hover,:focus-within):before{transform:scaleX(1)}.product-card.reveal.is-visible:is(:hover,:focus-within),.product-card:is(:hover,:focus-within){transform:translateY(-5px);border-color:#64886a;box-shadow:0 18px 36px #092f2b24}.product-icon{transition:transform .35s var(--ease-out),background-color .25s,color .25s,border-color .25s}.product-card:is(:hover,:focus-within) .product-icon{transform:translateY(-2px) rotate(-5deg)}.product-card p,.product-links,.status{transition:color .25s,border-color .25s,background-color .25s}.product-links a{min-height:36px;display:inline-flex;align-items:center}.product-links a:is(:hover,:focus-visible){text-decoration-thickness:1px;text-underline-offset:6px}.contact-card{transition:border-color .3s,box-shadow .3s,background-color .3s}.contact-card:is(:hover,:focus-within){border-color:#abc87590;box-shadow:0 20px 55px #001a2230;background-color:#2c513775}.contact-email{text-decoration:underline;text-decoration-color:transparent;text-underline-offset:6px;transition:text-decoration-color .25s,color .25s}.contact-email:is(:hover,:focus-visible){text-decoration-color:currentColor;color:#f0ffc8}.slide-dots button,.rotation-button{min-height:44px}.slide-dots button:is(:hover,:focus-visible){box-shadow:0 3px 10px #123b3615;border-color:#92ad75}.slide-dots [aria-pressed=true]{box-shadow:inset 0 0 0 1px #123b36}
@media(hover:hover) and (pointer:fine){.intelligence-visual{transition:border-color .35s,box-shadow .35s}.intelligence-visual:hover{border-color:#a4c87c70;box-shadow:0 30px 70px #00171160,0 0 35px #bde5700a}.output-card{transition:border-color .3s,background-color .3s}.output-card:hover{border-color:#a4c87c70;background-color:#204d3d}.workflow-steps li{transition:border-color .25s,box-shadow .25s}.workflow-steps li:hover{border-color:#9fb784;box-shadow:0 5px 15px #153b2e09}}
@keyframes content-arrive{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes workflow-arrive{from{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:translateX(0)}}@keyframes connector-arrive{from{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes core-settle{from{transform:rotate(-65deg) scale(.85)}to{transform:rotate(0) scale(1)}}@keyframes route-arrive{0%{opacity:0;transform:translateY(0)}25%{opacity:1}100%{opacity:0;transform:translateY(25px)}}
@media(max-width:860px){.hero h1{font-size:clamp(3.4rem,8.5vw,4.8rem)}.product-card.reveal.is-visible:nth-child(n){animation-delay:0s}.product-card.reveal.is-visible:nth-child(2n){animation-delay:.08s}}
@media(max-width:560px){.hero h1{font-size:clamp(2.65rem,10.9vw,3.7rem);letter-spacing:-.055em}.hero-description{font-size:.94rem}.hero-copy>.button-row .button{font-size:.72rem}.hero .eyebrow{font-size:.53rem;letter-spacing:.07em}.brand{font-size:1.2rem}.product-card.reveal.is-visible:nth-child(n){animation-delay:0s}.product-links{flex-wrap:wrap}.visual-topline{letter-spacing:.04em}.workflow-steps h3{font-size:.74rem}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}.button:is(:hover,:focus-visible),.button:active,.slide-dots button:active,.nav-contact:active,.product-card:is(:hover,:focus-within),.product-card.reveal.is-visible:is(:hover,:focus-within),.product-card:is(:hover,:focus-within) .product-icon,.button:is(:hover,:focus-visible) span,.product-contact:is(:hover,:focus-visible) span{transform:none}.button:after,.route-split:after{display:none}}
