/* Helixoy — dark lava edition */
@font-face{font-family:"Modern Warfare";src:url("fonts/modern-warfare.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}
:root{
  --bg:#000; --fg:#fff; --glow:#ff4600; --glow-deep:#e62800;
  --fg-2:rgba(255,255,255,.72); --fg-3:rgba(255,255,255,.5);
  --line:rgba(255,255,255,.08); --glass:rgba(255,255,255,.1); --glass-2:rgba(255,255,255,.06);
  --r:1rem; --blur:1.25rem;
  --font:"Manrope",system-ui,sans-serif; --display:"Unbounded","Manrope",sans-serif; --mono:"Major Mono Display",ui-monospace,monospace; --brand:"Modern Warfare","Unbounded",sans-serif;
  --max:110rem; --ease-out-cubic:cubic-bezier(.33,1,.68,1); --ease-out-expo:cubic-bezier(.16,1,.3,1); --ease-out-quart:cubic-bezier(.25,1,.5,1);
}
html{font-size:16px;-webkit-text-size-adjust:100%}
@media (min-width:1920px){html{font-size:.833333vw}}
@media (max-width:1440px){html{font-size:1.111111vw}}
@media (max-width:1024px){html{font-size:1.5625vw}}
@media (max-width:640px){html{font-size:4.444444vw}}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--font);font-size:1.0625rem;line-height:1.6}
html,body{overflow-x:clip}
img,svg{display:block;max-width:100%}
a{color:var(--fg)}
h1,h2,h3,h4{margin:0 0 .5em;font-family:var(--display);font-weight:700;line-height:1.05;letter-spacing:-.01em}
h1{font-size:clamp(2rem,4.6vw,4.25rem);max-width:18ch}
h2{font-size:clamp(1.5rem,2.8vw,2.5rem);max-width:24ch}
h3{font-size:1.15rem;font-weight:600}
h4{font-size:.95rem;font-weight:600}
p{margin:0 0 1em}
.wrap{width:min(var(--max),calc(100% - 3rem));margin:0 auto}
.wrap-narrow{max-width:48rem}
.skip{position:absolute;left:-999px;top:0;background:var(--glow);color:#000;padding:.6rem 1rem;z-index:100}
.skip:focus{left:0}
:focus-visible{outline:2px solid var(--glow);outline-offset:3px}
.no-js .reveal,.no-js .hero-name,.no-js [data-scramble]{opacity:1!important;clip-path:none!important}

/* backdrop layers */
#lava{position:fixed;left:-5%;top:-5%;width:110%;height:110%;z-index:0;pointer-events:none;filter:blur(1.75rem);background:#000;opacity:.72;transform:translateZ(0)}
.glow{position:fixed;left:0;top:0;width:80vmin;height:80vmin;z-index:0;pointer-events:none;border-radius:50%;background:radial-gradient(circle,rgba(255,70,0,.22),transparent 70%);will-change:transform,opacity;opacity:.75}
.grain{position:fixed;inset:-3.125rem;z-index:3;pointer-events:none;opacity:.22;will-change:transform;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='250' height='250'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .9 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:15.625rem 15.625rem;transform:translate(var(--ox,0),var(--oy,0))}
.content,.site-footer{position:relative}

/* rail + island */
.rail{position:fixed;left:0;right:0;top:0;z-index:20;display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;pointer-events:none}
.rail .brand span,.rail .status{mix-blend-mode:difference}
.rail>*{pointer-events:auto}
.brand{display:inline-flex;align-items:center;gap:.6rem;font-family:var(--brand);font-weight:400;font-size:1.15rem;color:#fff;text-decoration:none;letter-spacing:.08em;text-transform:uppercase}
.logo-mark{width:2rem;height:2rem;border-radius:50%;filter:drop-shadow(0 0 .6rem rgba(255,70,0,.45))}
.status{margin:0;font-size:.8rem;font-weight:600;color:#fff;display:flex;align-items:center;gap:.55rem}
.status i{width:.5rem;height:.5rem;border-radius:50%;background:#fff;box-shadow:0 0 0 0 rgba(255,255,255,.6);animation:ping 2.2s ease-out infinite}
@keyframes ping{to{box-shadow:0 0 0 .6rem rgba(255,255,255,0)}}
.island{position:fixed;right:1.5rem;bottom:1.5rem;z-index:20;display:flex;align-items:center;gap:.35rem;padding:.4rem;border:1px solid var(--line);background:var(--glass);backdrop-filter:blur(var(--blur));-webkit-backdrop-filter:blur(var(--blur));border-radius:999px}
.island-links{display:flex;gap:.1rem}
.island a{position:relative;isolation:isolate;overflow:hidden;color:var(--fg-2);text-decoration:none;font-size:.85rem;font-weight:600;padding:.55rem .9rem;border-radius:999px;transition:color .25s,transform .3s}
.island a::before{content:"";position:absolute;inset:-60%;z-index:-2;background:conic-gradient(from 0deg,transparent 0 25%,var(--glow) 40%,#ffefcc 50%,var(--glow) 60%,transparent 75% 100%);opacity:0;transition:opacity .3s;animation:ringSpin 2.4s linear infinite paused}
.island a::after{content:"";position:absolute;inset:1.5px;z-index:-1;border-radius:inherit;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.3) 50%,transparent 65%) no-repeat -200% 0/200% 100%,var(--isl-bg,transparent);transition:background-color .3s}
.island a.is-active{color:#fff;--isl-bg:rgba(255,255,255,.12)}
.island a:hover{color:#fff;--isl-bg:rgba(255,255,255,.12);transform:translateY(-1px);animation:breathe 1.6s ease-in-out infinite}
.island a:hover::before{opacity:1;animation-play-state:running}
.island a:hover::after{animation:shineRun 1.3s linear infinite}
.island-cta{--isl-bg:var(--glow);color:#000!important}
.island-cta:hover{--isl-bg:#fff}
.island-toggle{display:none;background:none;border:0;width:2.75rem;height:2.75rem;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:.35rem}
.island-toggle span{width:1.25rem;height:2px;background:#fff;display:block;transition:transform .3s}
.island-toggle:hover span{animation:barGlow 1.2s ease-in-out infinite}
@keyframes barGlow{50%{background:var(--glow);box-shadow:0 0 .6rem var(--glow)}}
.island-toggle[aria-expanded="true"] span:first-child{transform:translateY(.22rem) rotate(45deg)}
.island-toggle[aria-expanded="true"] span:last-child{transform:translateY(-.22rem) rotate(-45deg)}
@media (max-width:900px){
  .island{flex-direction:column-reverse;align-items:flex-end;border-radius:1.5rem}
  .island-toggle{display:flex}
  .island-links{display:none;flex-direction:column;align-items:stretch;min-width:12rem;padding:.4rem}
  .island.open .island-links{display:flex}
  .island a{font-size:1rem;padding:.7rem 1rem}
  .status{display:none}
}

/* buttons — continuous hover: spinning conic ring + travelling shine + breathing glow + floating label */
.btn{--btn-bg:var(--glass-2);--btn-ring:conic-gradient(from 0deg,transparent 0 25%,var(--glow) 40%,#ffefcc 50%,var(--glow) 60%,transparent 75% 100%);
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.8rem 1.4rem;border-radius:999px;font-weight:700;font-size:.9rem;text-decoration:none;border:0;cursor:pointer;font-family:inherit;position:relative;isolation:isolate;overflow:hidden;background:transparent;color:#fff;
  transition:transform .35s var(--ease-out-expo),box-shadow .35s,color .3s}
.btn::before{content:"";position:absolute;inset:-60%;z-index:-2;background:var(--btn-ring);opacity:0;transition:opacity .35s;animation:ringSpin 2.4s linear infinite paused}
.btn::after{content:"";position:absolute;inset:1.5px;z-index:-1;border-radius:inherit;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.35) 50%,transparent 65%) no-repeat -200% 0/200% 100%,var(--btn-bg);box-shadow:inset 0 0 0 1px var(--btn-line,transparent);transition:background-color .3s}
.btn:hover{transform:translateY(-2px);animation:breathe 1.6s ease-in-out infinite}
.btn:hover::before{opacity:1;animation-play-state:running}
.btn:hover::after{animation:shineRun 1.3s linear infinite}
.btn>*{position:relative;z-index:1}
.btn:hover>span{animation:floatLabel 1.6s ease-in-out infinite}
@keyframes ringSpin{to{transform:rotate(360deg)}}
@keyframes shineRun{to{background-position:200% 0,0 0}}
@keyframes breathe{0%,100%{box-shadow:0 0 .8rem -.2rem rgba(255,70,0,.55),0 .6rem 1.4rem -.8rem rgba(0,0,0,.8)}50%{box-shadow:0 0 2.2rem -.1rem rgba(255,70,0,.9),0 .9rem 1.8rem -.8rem rgba(0,0,0,.8)}}
@keyframes floatLabel{0%,100%{transform:translateY(-2px)}50%{transform:translateY(-4px)}}
.btn-lg{padding:1rem 1.8rem;font-size:1rem}
.btn-primary{--btn-bg:var(--glow);color:#000;box-shadow:0 0 2rem -.5rem rgba(255,70,0,.7)}
.btn-primary:hover{color:#000}
.btn-secondary,.btn-ghost,.btn-ghost-light{--btn-bg:rgba(30,18,12,.85);--btn-line:rgba(255,255,255,.18);color:#fff}
.btn-light{--btn-bg:#fff;color:#000}
.btn-light:hover{color:#000}
.panel-screen .btn-primary{--btn-bg:#000;color:#fff;box-shadow:none}
.panel-screen .btn-primary::before{--btn-ring:conic-gradient(from 0deg,transparent 0 25%,#000 40%,#666 50%,#000 60%,transparent 75% 100%)}
.text-link{font-weight:700;text-decoration:none;color:#fff;border-bottom:1px solid rgba(255,255,255,.3);transition:border-color .25s,color .25s}
.text-link:hover{color:var(--glow);border-color:var(--glow)}

/* hero */
.hero{position:relative;min-height:100svh;overflow:hidden;padding:0;display:block}
.hero-stage{position:absolute;inset:0;display:grid;place-items:center;perspective:70rem;pointer-events:none}
.helix3d{width:min(36rem,80vw);aspect-ratio:1;display:block;filter:drop-shadow(0 0 3rem rgba(255,70,0,.25))}
.strand{stroke-dasharray:1400;stroke-dashoffset:1400;animation:draw 2.2s var(--ease-out-cubic) forwards}
.strand-b{animation-delay:.25s}
.helix-rungs line{opacity:0;animation:fadeIn .5s ease forwards}
.helix-nodes circle{opacity:0;transform-origin:center;animation:pop .5s cubic-bezier(.34,1.56,.64,1) forwards}
.hl{opacity:0;animation:floatIn .7s ease forwards}
.helix-labels>g:nth-child(1) .hl{animation-delay:1.6s}.helix-labels>g:nth-child(2) .hl{animation-delay:1.9s}.helix-labels>g:nth-child(3) .hl{animation-delay:2.2s}.helix-labels>g:nth-child(4) .hl{animation-delay:2.5s}
.helix-labels rect{fill:rgba(0,0,0,.55);stroke:rgba(255,255,255,.15)}
.helix-labels text{fill:#fff}
@keyframes draw{to{stroke-dashoffset:0}}
@keyframes fadeIn{to{opacity:1}}
@keyframes pop{0%{opacity:0;transform:scale(.2)}to{opacity:1;transform:scale(1)}}
@keyframes floatIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.hero-services{position:absolute;left:1.5rem;bottom:10.75rem;display:flex;justify-content:flex-start;gap:2rem;font-size:.78rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-3);pointer-events:none}
.hero-services span{position:relative;padding-left:1rem}
.hero-services span::before{content:"";position:absolute;left:0;top:50%;width:.35rem;height:.35rem;border-radius:50%;background:var(--glow);transform:translateY(-50%)}
.hero-name{position:absolute;left:1.5rem;bottom:1.25rem;margin:0;font-family:var(--brand);font-weight:400;font-size:clamp(3rem,9.5vw,9rem);line-height:.9;letter-spacing:.02em;background:linear-gradient(180deg,#fff 0%,rgba(255,255,255,.58) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;max-width:70vw;min-width:0}
.hero-desc{position:absolute;right:1.5rem;bottom:8.5rem;margin:0;text-align:right;color:var(--fg-2);font-size:.95rem;max-width:23rem;line-height:1.5}
.hero-actions{position:absolute;right:1.5rem;bottom:5.25rem;display:flex;gap:.6rem;justify-content:flex-end}
.hero-hint{position:absolute;left:50%;top:6.5rem;transform:translateX(-50%);margin:0;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--fg-3);animation:blink 4s ease-in-out infinite}
@keyframes blink{50%{opacity:.3}}
@media (max-width:900px){
  .hero{min-height:0;display:flex;flex-direction:column;gap:1.25rem;padding:6rem 1.5rem 3rem}
  .hero-stage{position:relative;inset:auto;height:52svh;padding:0}
  .helix3d{width:min(22rem,85vw)}
  .hero-services,.hero-name,.hero-desc,.hero-actions{position:static;inset:auto;max-width:none;text-align:left;justify-content:flex-start}
  .hero-services{flex-wrap:wrap;gap:.6rem 1.25rem;order:2}
  .hero-name{order:3;font-size:clamp(3rem,15vw,6rem);line-height:1;margin:.25rem 0}
  .hero-desc{order:4;font-size:.95rem}
  .hero-actions{order:5;flex-wrap:wrap}
  .hero-hint{display:none}
}

/* ticker */
.ticker{overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:.9rem 0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);background:rgba(0,0,0,.35)}
.ticker-track{display:flex;gap:2.5rem;width:max-content;animation:ticker 38s linear infinite}
.ticker:hover .ticker-track{animation-play-state:paused}
.ticker-track span{white-space:nowrap;font-weight:600;color:var(--fg-2);font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;position:relative;padding-left:1.3rem}
.ticker-track span::before{content:"";position:absolute;left:0;top:50%;width:.4rem;height:.4rem;border-radius:50%;background:var(--glow);transform:translateY(-50%)}
@keyframes ticker{to{transform:translateX(-50%)}}

/* sections */
.section{padding:6.5rem 0}
.section+.section,.section+.cta-band{border-top:1px solid var(--line)}
.section-tint,.section-dark{background:transparent}
.section-head{max-width:46rem;margin-bottom:3.5rem}
.section-head h2{margin-bottom:.9rem}
.section-head p{color:var(--fg-2);font-size:1.05rem}
.index,.kicker{font-family:var(--mono);font-size:.8rem;color:var(--glow);margin:0 0 1.25rem;letter-spacing:.05em}
.lead{font-size:1.15rem;color:var(--fg-2);max-width:54ch}
.section-sub{color:var(--fg-2);margin:-.25rem 0 1.5rem;max-width:64ch}
.center-link{text-align:center;margin:2.5rem 0 0}
.icon{display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;border-radius:.75rem;background:rgba(255,70,0,.14);color:var(--glow);flex:none;border:1px solid rgba(255,70,0,.25)}
.icon svg{width:1.35rem;height:1.35rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* glass card base */
.flow-step,.feat,.duo-card,.mock-panel,.plan,.policy-card,.stats div,.contact-card,.faq details,.pipeline,.deploy-card,.sec-strip div,.int-tile,.counters div,.ba,.feature-art,.subnav a{background:rgba(18,10,7,.78);border:1px solid var(--line);border-radius:var(--r);min-width:0}
.feat,.flow-step,.int-tile,.plan{transition:transform .5s var(--ease-out-expo),border-color .5s,background .5s}
.feat:hover,.flow-step:hover,.int-tile:hover{transform:translateY(-.3rem);border-color:rgba(255,70,0,.5);background:rgba(255,255,255,.14)}

/* reveal */
.reveal{clip-path:inset(0 0 100% 0);opacity:0;transition:clip-path 1400ms var(--ease-out-cubic),opacity 900ms ease}
.reveal.in{clip-path:inset(0 0 0 0);opacity:1}
.reveal>*{transition-delay:inherit}
.grid-4.reveal>*,.grid-3.reveal>*,.flow.reveal>*,.counters.reveal>*,.int-grid>*{opacity:0;transform:translateY(1.5rem);transition:opacity 900ms var(--ease-out-expo),transform 900ms var(--ease-out-expo)}
.reveal.in>*,.int-grid.in>*{opacity:1;transform:none}
.reveal.in>*:nth-child(2){transition-delay:150ms}.reveal.in>*:nth-child(3){transition-delay:300ms}.reveal.in>*:nth-child(4){transition-delay:450ms}.reveal.in>*:nth-child(5){transition-delay:600ms}.reveal.in>*:nth-child(6){transition-delay:750ms}

/* flow */
.flow{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
.flow-step{padding:2rem 1.75rem;position:relative}
.flow-step .icon{margin:1.5rem 0 1.25rem}
.flow-num{position:absolute;top:1.25rem;right:1.5rem;font-family:var(--mono);font-size:2rem;color:rgba(255,255,255,.15);line-height:1}
.flow-step p{color:var(--fg-2);margin:0}
@media (max-width:900px){.flow{grid-template-columns:1fr}}

/* split */
.split{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.split>*{min-width:0}
.split-copy p{color:var(--fg-2);font-size:1.05rem}
@media (max-width:900px){.split{grid-template-columns:1fr;gap:2.5rem}}
.check-list{list-style:none;margin:0 0 1.5rem;padding:0}
.check-list li{position:relative;padding-left:1.8rem;margin:.55rem 0;color:var(--fg-2)}
.check-list li::before{content:"";position:absolute;left:0;top:.5em;width:1rem;height:1rem;border-radius:50%;background:rgba(255,70,0,.2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ff4600' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12 4 4 8-8'/%3E%3C/svg%3E") center/60% no-repeat}
.plain-list{margin:0;padding-left:1.1rem;color:var(--fg-2)}
.plain-list li{margin:.35rem 0}

/* mock panel */
.mock-panel{overflow:hidden}
.mock-bar{display:flex;align-items:center;gap:6px;padding:.75rem 1rem;border-bottom:1px solid var(--line)}
.mock-bar span{width:.6rem;height:.6rem;border-radius:50%;background:rgba(255,255,255,.2)}
.mock-bar em{margin-left:.6rem;font-style:normal;font-size:.82rem;color:var(--fg-3);font-weight:600}
.mock-body{display:grid;grid-template-columns:1fr 1fr}
.mock-chart{position:relative;display:flex;align-items:flex-end;gap:.5rem;padding:2rem 1.25rem 1.25rem;height:14rem;border-right:1px solid var(--line)}
.mock-chart i{flex:1;height:var(--h);border-radius:.35rem .35rem 2px 2px;background:linear-gradient(rgba(255,255,255,.7),rgba(255,255,255,.25));transform-origin:bottom;animation:grow 1s var(--ease-out-expo) both}
.mock-chart i:nth-child(2){animation-delay:.08s}.mock-chart i:nth-child(3){animation-delay:.16s}.mock-chart i:nth-child(4){animation-delay:.24s}.mock-chart i:nth-child(5){animation-delay:.32s}.mock-chart i:nth-child(6){animation-delay:.4s}.mock-chart i:nth-child(7){animation-delay:.48s}
.mock-chart i.hot{background:linear-gradient(var(--glow),var(--glow-deep));box-shadow:0 0 1.5rem rgba(255,70,0,.6)}
.mock-pin{position:absolute;right:calc(1.25rem + 14.28% - 4px);top:.9rem;width:1.4rem;height:1.4rem;border-radius:50% 50% 50% 0;background:#fff;transform:rotate(-45deg)}
.mock-pin::after{content:"1";position:absolute;inset:0;display:grid;place-items:center;color:#000;font-size:.7rem;font-weight:800;transform:rotate(45deg)}
@keyframes grow{from{transform:scaleY(0)}}
.mock-thread{padding:1.1rem;display:flex;flex-direction:column;gap:.7rem;font-size:.85rem}
.msg{background:rgba(255,255,255,.08);border-radius:.75rem .75rem .75rem .25rem;padding:.6rem .8rem}
.msg.alt{background:rgba(255,70,0,.18);border-radius:.75rem .75rem .25rem .75rem}
.msg b{display:block;font-size:.72rem;color:var(--fg-3);margin-bottom:.15rem}
.msg p{margin:0}
.msg.system{background:none;padding:.2rem 0;color:var(--fg-3);font-size:.72rem;font-weight:600}
@media (max-width:560px){.mock-body{grid-template-columns:1fr}.mock-chart{border-right:0;border-bottom:1px solid var(--line);height:11rem}}

/* duo, grids, feats */
.duo{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
.duo-card{padding:2.5rem}
.duo-card p{color:var(--fg-2)}
.duo-card-dark{background:rgba(255,70,0,.12);border-color:rgba(255,70,0,.3)}
@media (max-width:900px){.duo{grid-template-columns:1fr}.duo-card{padding:2rem}}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
.feat{padding:1.75rem}
.feat .icon{margin-bottom:1.25rem}
.feat h3{font-size:1.05rem}
.feat p{color:var(--fg-2);margin:0;font-size:.95rem}
.feat-link{text-decoration:none;color:inherit;display:block}
.feat-link:hover h3{color:var(--glow)}
@media (max-width:1000px){.grid-4,.grid-3{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.grid-4,.grid-3{grid-template-columns:1fr}}

/* cta */
.cta-band{padding:7rem 0;position:relative}
.cta-inner{position:relative;display:flex;justify-content:space-between;align-items:center;gap:2rem;flex-wrap:wrap;padding:3rem;border:1px solid var(--line);background:rgba(18,10,7,.78);border-radius:var(--r)}
.cta-inner h2{margin-bottom:.4rem}
.cta-inner p{color:var(--fg-2);max-width:52ch;margin:0}
.cta-actions{display:flex;gap:.8rem;flex-wrap:wrap}

/* page head */
.page-head{padding:10rem 0 1.5rem}
.page-head+.section{border-top:0}
.page-head .lead{margin-bottom:0}
.subnav{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:3rem}
.subnav a{text-decoration:none;color:var(--fg-2);font-weight:600;font-size:.85rem;padding:.45rem .95rem;border-radius:999px;position:relative;isolation:isolate;overflow:hidden;transition:color .25s,transform .3s}
.subnav a::before{content:"";position:absolute;inset:-60%;z-index:-2;background:conic-gradient(from 0deg,transparent 0 25%,var(--glow) 40%,#ffefcc 50%,var(--glow) 60%,transparent 75% 100%);opacity:0;transition:opacity .3s;animation:ringSpin 2.4s linear infinite paused}
.subnav a::after{content:"";position:absolute;inset:1.5px;z-index:-1;border-radius:inherit;background:rgba(0,0,0,.75)}
.subnav a:hover{color:#fff;transform:translateY(-1px);animation:breathe 1.6s ease-in-out infinite}
.subnav a:hover::before{opacity:1;animation-play-state:running}

/* feature rows */
.feature-row{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;padding:3.5rem 0;border-top:1px solid var(--line);scroll-margin-top:6rem}
.feature-row>*{min-width:0}
.feature-row.reverse .feature-text{order:2}
.feature-text .icon{margin-bottom:1.25rem}
.feature-text p{color:var(--fg-2);font-size:1.05rem}
.feature-art{aspect-ratio:4/3;display:grid;place-items:center;padding:2rem;overflow:hidden;position:relative}
.feature-art:has(.pa){padding:0;background:#0a0503;display:block}
.pa{width:100%;height:100%;display:block}
.feature-art>*{position:relative;width:100%}
.art-lines span{display:block;height:.9rem;border-radius:.45rem;background:rgba(255,255,255,.12);margin:.9rem 0}
.art-lines span:nth-child(1){width:80%;background:linear-gradient(90deg,var(--glow),var(--glow-deep))}.art-lines span:nth-child(2){width:60%}.art-lines span:nth-child(3){width:90%}.art-lines span:nth-child(4){width:45%;background:rgba(255,239,204,.4)}
.art-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}
.art-tiles span{aspect-ratio:1;border-radius:.75rem;background:rgba(255,255,255,.08);border:1px solid var(--line)}
.art-tiles span:nth-child(1){background:linear-gradient(135deg,var(--glow),var(--glow-deep))}.art-tiles span:nth-child(5){background:rgba(255,239,204,.6)}
.art-code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82rem;background:rgba(0,0,0,.6);color:rgba(255,255,255,.75);border-radius:.85rem;padding:1.25rem;display:grid;gap:.6rem;border:1px solid var(--line)}
.art-code span:nth-child(even){color:var(--glow)}
.art-code.big{font-size:.8rem;padding:1.5rem}
.art-thread span{display:block;height:2.75rem;border-radius:.85rem .85rem .85rem .25rem;background:rgba(255,255,255,.1);width:75%;margin:.75rem 0}
.art-thread span.alt{margin-left:auto;background:rgba(255,70,0,.3);border-radius:.85rem .85rem .25rem .85rem}
.art-search span{display:block;background:rgba(0,0,0,.5);border:1px solid var(--line);border-radius:999px;padding:1rem 1.25rem 1rem 3rem;font-weight:600;position:relative}
.art-search span::before{content:"";position:absolute;left:1.1rem;top:50%;width:.9rem;height:.9rem;border:2px solid var(--glow);border-radius:50%;transform:translateY(-60%)}
.art-nodes{display:flex;justify-content:space-around;align-items:center;height:100%}
.art-nodes i{width:2.9rem;height:2.9rem;border-radius:50%;background:rgba(0,0,0,.5);border:2px solid var(--glow);animation:pulse 2.4s ease-in-out infinite}
.art-nodes i:nth-child(2){animation-delay:.3s}.art-nodes i:nth-child(3){animation-delay:.6s;border-color:#ffefcc}.art-nodes i:nth-child(4){animation-delay:.9s}.art-nodes i:nth-child(5){animation-delay:1.2s}
@keyframes pulse{50%{box-shadow:0 0 0 .75rem rgba(255,70,0,.15)}}
@media (max-width:900px){.feature-row{grid-template-columns:1fr;gap:2rem}.feature-row.reverse .feature-text{order:0}}

/* misc cards */
.policy-card{padding:2rem}
.policy-card h4{font-size:1rem;margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:1px solid var(--line)}
.policy-card dl{display:grid;grid-template-columns:auto 1fr;gap:.7rem 1.5rem;margin:0}
.policy-card dt{color:var(--fg-3);font-weight:600;font-size:.88rem}
.policy-card dd{margin:0;font-family:ui-monospace,Menlo,monospace;font-size:.85rem;color:var(--glow)}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem}
.stats div{padding:1.75rem}
.stats b{display:block;font-family:var(--display);font-size:1.3rem;margin-bottom:.25rem}
.stats span{color:var(--fg-2);font-size:.92rem}
@media (max-width:900px){.stats{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.stats{grid-template-columns:1fr}}

/* pipeline */
.pipeline{position:relative;padding:2rem 1.5rem;overflow:hidden}
.pipe-svg{position:absolute;left:1.5rem;right:1.5rem;top:2rem;width:calc(100% - 3rem);height:4rem;overflow:visible}
.pipe-line{animation:dash 2s linear infinite}
@keyframes dash{to{stroke-dashoffset:-20}}
.pipe-nodes{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.pipe-node{text-align:center;display:grid;justify-items:center;gap:.3rem}
.pipe-node b{font-size:1rem;font-family:var(--display);font-weight:600}
.pipe-node small{color:var(--fg-2);font-size:.85rem;line-height:1.4}
.pipe-ic{display:grid;place-items:center;width:4rem;height:4rem;border-radius:1.25rem;background:#000;border:1px solid rgba(255,70,0,.4);color:var(--glow);margin-bottom:.5rem}
.pipe-ic svg{width:1.75rem;height:1.75rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.pipe-node:nth-child(even) .pipe-ic{color:#ffefcc;border-color:rgba(255,239,204,.4)}
@media (max-width:800px){.pipe-svg{display:none}.pipe-nodes{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.pipe-nodes{grid-template-columns:1fr}}

/* counters + before/after */
.counters{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem;margin-bottom:3rem}
.counters div{padding:1.75rem}
.counters b{display:block;font-family:var(--mono);font-size:2.6rem;line-height:1;margin-bottom:.6rem;color:var(--glow)}
.counters span:not(.count){color:var(--fg-2);font-size:.92rem}
@media (max-width:900px){.counters{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.counters{grid-template-columns:1fr}}
.before-after{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}
.ba{padding:2rem}
.ba h3{color:var(--fg-3);font-size:.9rem;margin-bottom:1rem;text-transform:uppercase;letter-spacing:.12em}
.ba ul{margin:0;padding:0;list-style:none}
.ba li{padding:.55rem 0 .55rem 1.8rem;position:relative;color:var(--fg-2);border-top:1px solid var(--line)}
.ba li::before{content:"";position:absolute;left:0;top:.95rem;width:.85rem;height:.85rem;border-radius:50%;border:2px solid rgba(255,255,255,.3)}
.ba-after{background:rgba(255,70,0,.12);border-color:rgba(255,70,0,.35)}
.ba-after h3{color:var(--glow)}
.ba-after li{color:#fff}
.ba-after li::before{border-color:var(--glow);background:var(--glow)}
@media (max-width:800px){.before-after{grid-template-columns:1fr}}

/* orbit */
.orbit{position:relative;width:min(100%,27rem);aspect-ratio:1;margin:0 auto}
.orbit-core{position:absolute;left:50%;top:50%;width:5.75rem;height:5.75rem;transform:translate(-50%,-50%);border-radius:50%;background:#000;box-shadow:0 0 0 .75rem rgba(255,70,0,.15),0 0 3rem rgba(255,70,0,.5);display:grid;place-items:center;z-index:2}
.orbit-core .logo-mark{width:3.6rem;height:3.6rem}
.ring{position:absolute;left:50%;top:50%;border:1px dashed rgba(255,255,255,.15);border-radius:50%;transform:translate(-50%,-50%);animation:orbit var(--d) linear infinite}
.r1{width:46%;height:46%;--d:26s}.r2{width:72%;height:72%;--d:40s;animation-direction:reverse}.r3{width:100%;height:100%;--d:58s}
.ring i{position:absolute;left:50%;top:0;transform:translate(-50%,-50%) rotate(calc(-1 * var(--a)));transform-origin:50% 0;font-style:normal;font-size:.75rem;font-weight:700;background:#000;border:1px solid var(--line);border-radius:999px;padding:.3rem .7rem;white-space:nowrap;color:#fff}
.r1 i:nth-child(1){--a:0deg}.r1 i:nth-child(2){--a:120deg}.r1 i:nth-child(3){--a:240deg}
.r2 i:nth-child(1){--a:0deg}.r2 i:nth-child(2){--a:90deg}.r2 i:nth-child(3){--a:180deg}.r2 i:nth-child(4){--a:270deg}
.r3 i:nth-child(1){--a:0deg}.r3 i:nth-child(2){--a:72deg}.r3 i:nth-child(3){--a:144deg}.r3 i:nth-child(4){--a:216deg}.r3 i:nth-child(5){--a:288deg}
@keyframes orbit{to{transform:translate(-50%,-50%) rotate(360deg)}}

/* deploy, security strip, integrations */
.deploy{display:grid;grid-template-columns:1fr auto 1fr;gap:1.25rem;align-items:center;margin-top:2.5rem}
.deploy-card{padding:2rem}
.deploy-card .pipe-ic{margin-bottom:1rem}
.deploy-card p{color:var(--fg-2);margin:0}
.deploy-vs{width:3.25rem;height:3.25rem;border-radius:50%;background:var(--glow);color:#000;display:grid;place-items:center;font-weight:800;font-size:.85rem}
@media (max-width:800px){.deploy{grid-template-columns:1fr}.deploy-vs{margin:0 auto}}
.sec-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.sec-strip div{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;font-size:.95rem}
@media (max-width:900px){.sec-strip{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.sec-strip{grid-template-columns:1fr}}
.int-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:3rem}
.int-tile{padding:1.1rem 1.25rem;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:.9rem;align-items:center}
.int-badge{grid-row:span 2;width:2.6rem;height:2.6rem;border-radius:.75rem;background:linear-gradient(135deg,var(--glow),var(--glow-deep));color:#000;display:grid;place-items:center;font-weight:800}
.int-tile b{font-size:.95rem}.int-tile small{color:var(--fg-3);font-size:.8rem}
@media (max-width:900px){.int-grid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.int-grid{grid-template-columns:1fr}}

/* pricing */
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;align-items:start}
.plan{padding:2.25rem;display:flex;flex-direction:column;gap:.5rem;position:relative}
.plan .btn{margin-top:auto;align-self:flex-start}
.plan-featured{border-color:rgba(255,70,0,.6);box-shadow:0 0 4rem -1rem rgba(255,70,0,.5)}
.plan-tag{position:absolute;top:-.85rem;left:2.25rem;background:var(--glow);color:#000;font-size:.75rem;font-weight:700;padding:.25rem .8rem;border-radius:999px;margin:0}
.plan-price{font-size:.95rem;color:var(--fg-2);margin:0}
.plan-price span{font-family:var(--display);font-size:2.2rem;font-weight:700;color:#fff;margin-right:.25rem}
.plan-desc{color:var(--fg-2)}
.fine{color:var(--fg-3);font-size:.88rem;margin-top:2rem}
@media (max-width:900px){.plans{grid-template-columns:1fr}}

/* faq */
.faq h2{margin:2.5rem 0 1rem;font-size:1.3rem}
.faq details{margin:.6rem 0;padding:0 1.25rem}
.faq summary{cursor:pointer;font-weight:700;padding:1rem 2rem 1rem 0;list-style:none;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:0;top:.8rem;font-size:1.4rem;color:var(--glow);transition:transform .3s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{color:var(--fg-2);padding-bottom:1rem;margin:0}

/* contact — white panel screened by the lava */
.contact-grid{display:grid;grid-template-columns:1.4fr .8fr;gap:3rem;align-items:start}
.contact-grid>*{min-width:0}
.panel-screen{background:#fff;color:#000;mix-blend-mode:screen;border-radius:var(--r);padding:2.25rem;display:grid;gap:1.1rem}
.panel-screen label{display:grid;gap:.4rem;font-weight:700;font-size:.88rem;color:#000}
.panel-screen input,.panel-screen select,.panel-screen textarea{font:inherit;font-weight:500;padding:.8rem .9rem;border:1px solid #000;border-radius:.6rem;background:#fff;color:#000;width:100%}
.panel-screen input:focus,.panel-screen select:focus,.panel-screen textarea:focus{outline:none;box-shadow:0 0 0 3px rgba(0,0,0,.25)}
.panel-screen .btn-primary{background:#000;color:#fff;box-shadow:none}
.panel-screen .btn-primary:hover{background:#333}
.panel-screen a{color:#000}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}
.consent{grid-template-columns:auto 1fr;align-items:start;font-weight:500!important;font-size:.85rem!important}
.consent input{width:auto;margin-top:.25rem}
.form-status{margin:0;font-weight:700;min-height:1.2em}
.form-status.error{color:#000;text-decoration:underline}
.contact-side{display:grid;gap:1rem}
.contact-card{padding:1.5rem}
.contact-card .icon{margin-bottom:.9rem}
.contact-card h3{font-size:1rem}
.contact-card p{margin:0;color:var(--fg-2)}
@media (max-width:900px){.contact-grid{grid-template-columns:1fr}}
@media (max-width:560px){.field-row{grid-template-columns:1fr}.panel-screen{padding:1.5rem}}

/* prose / legal */
.prose h2{font-size:1.35rem;margin-top:2.2rem}
.prose p,.prose li{color:var(--fg-2)}
.prose ul{padding-left:1.2rem}
.prose li{margin:.4rem 0}
.legal p{font-size:1rem}
.table{width:100%;border-collapse:collapse;font-size:.92rem;margin:1rem 0}
.table{background:rgba(18,10,7,.78);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;border-spacing:0;border-collapse:separate}
.table th,.table td{text-align:left;padding:1rem 1.25rem;border-bottom:1px solid var(--line);vertical-align:top}
.table th{color:#fff;font-weight:700;background:rgba(255,255,255,.06);font-size:.85rem;letter-spacing:.04em}
.table tbody tr:last-child td{border-bottom:0}
.table tbody tr:hover td{background:rgba(255,255,255,.03)}
.table td{color:var(--fg-2)}
.compare td:first-child{font-weight:600;color:#fff}
.compare td:nth-child(2){color:#ffb98f}

/* footer */
.site-footer{border-top:1px solid var(--line);padding:5rem 0 6rem;background:rgba(0,0,0,.6)}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:2.5rem}
.footer-grid>*{min-width:0}
.footer-brand p{color:var(--fg-2);max-width:40ch;font-size:.92rem;margin-top:1rem}
.footer-meta{font-size:.85rem!important;color:var(--fg-3)!important}
.site-footer h4{margin-bottom:1rem;font-family:var(--mono);font-weight:400;color:var(--glow);font-size:.85rem}
.site-footer ul{list-style:none;margin:0;padding:0}
.site-footer li{margin:.5rem 0}
.site-footer a:not(.brand){color:var(--fg-2);text-decoration:none;font-size:.92rem;transition:color .25s}
.site-footer a:not(.brand):hover{color:var(--glow)}
.footer-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem;margin-top:3rem;padding-top:1.25rem;border-top:1px solid var(--line);color:var(--fg-3);font-size:.82rem}
@media (max-width:900px){.footer-grid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.footer-grid{grid-template-columns:1fr}}

/* scramble */
.sc-hidden{visibility:hidden}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .strand{stroke-dashoffset:0}.helix-rungs line,.helix-nodes circle,.hl,.mock-chart i{opacity:1;transform:none}
  .reveal{clip-path:none;opacity:1}.reveal>*{opacity:1;transform:none}
  .grain{display:none}
}

/* ---------- industries (AWS-style cards with animated art) ---------- */
.ind-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
.ind-card{display:flex;flex-direction:column;text-decoration:none;color:#fff;background:rgba(18,10,7,.78);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;min-width:0;transition:transform .5s var(--ease-out-expo),border-color .5s,box-shadow .5s}
.ind-card:hover{transform:translateY(-.35rem);border-color:rgba(255,70,0,.6);box-shadow:0 0 3rem -1rem rgba(255,70,0,.6)}
.ind-art{aspect-ratio:16/9;background:radial-gradient(80% 90% at 50% 100%,rgba(255,70,0,.22),transparent 70%),#0a0503;border-bottom:1px solid var(--line);overflow:hidden}
.ind-art svg{width:100%;height:100%}
.ind-body{padding:1.5rem 1.5rem 1.4rem;display:flex;flex-direction:column;gap:.4rem;flex:1}
.ind-body h3{font-size:1.05rem;margin:0}
.ind-body p{color:var(--fg-2);font-size:.92rem;margin:0 0 1.2rem}
.ind-arrow{margin-top:auto;font-weight:700;font-size:.88rem;display:inline-flex;gap:.5rem;align-items:center;color:#fff}
.ind-arrow i{font-style:normal;transition:transform .4s var(--ease-out-expo);color:var(--glow)}
.ind-card:hover .ind-arrow i{transform:translateX(.4rem)}
.ind-card:hover .ind-arrow{animation:none}
.ind-art-lg{aspect-ratio:16/9;padding:0;overflow:hidden;background:#0a0503}
.ind-art-lg svg{width:100%;height:100%}
@media (max-width:1000px){.ind-grid{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.ind-grid{grid-template-columns:1fr}}

/* art animations */
.art-coins .coin{animation:coinBob 3.2s ease-in-out infinite}
.art-coins .c2{animation-delay:.25s}.art-coins .c3{animation-delay:.5s}
.art-coins .fly{animation:coinFly 3.2s ease-in-out infinite;transform-origin:200px 30px}
.art-coins .sparks{animation:blink 1.6s ease-in-out infinite}
@keyframes coinBob{50%{transform:translateY(-6px)}}
@keyframes coinFly{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-22px) rotate(-8deg)}}
.art-pulse .ecg{stroke-dasharray:520;stroke-dashoffset:520;animation:ecg 3s linear infinite}
@keyframes ecg{to{stroke-dashoffset:-520}}
.art-pulse .plus{animation:pulseScale 1.2s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
@keyframes pulseScale{50%{transform:translate(318px,56px) scale(1.25)}}
.art-pillars .sweep{animation:sweep 3.5s ease-in-out infinite}
@keyframes sweep{0%{transform:translateX(-80px) skewX(-20deg)}60%,100%{transform:translateX(560px) skewX(-20deg)}}
.art-pillars .pil{transform-box:fill-box;transform-origin:bottom;animation:pilGrow 4s ease-in-out infinite}
.art-pillars .pil:nth-child(2){animation-delay:.2s}.art-pillars .pil:nth-child(3){animation-delay:.4s}.art-pillars .pil:nth-child(4){animation-delay:.6s}
@keyframes pilGrow{50%{transform:scaleY(.94)}}
.art-rings circle[class^=ring]{transform-box:fill-box;transform-origin:center;animation:ripple 4s ease-out infinite}
.art-rings .ring2{animation-delay:1s}.art-rings .ring3{animation-delay:2s}.art-rings .ring4{animation-delay:3s}
@keyframes ripple{0%{transform:scale(.4);opacity:0}30%{opacity:1}100%{transform:scale(1.15);opacity:0}}
.art-rings .dots circle{animation:blink 2s ease-in-out infinite}
.art-rings .dots circle:nth-child(odd){animation-delay:1s}
.art-bars rect{transform-box:fill-box;transform-origin:bottom;animation:barLoop 3.5s ease-in-out infinite}
.art-bars rect:nth-child(2){animation-delay:.2s}.art-bars rect:nth-child(3){animation-delay:.4s}.art-bars rect:nth-child(4){animation-delay:.6s}.art-bars rect:nth-child(5){animation-delay:.8s}
@keyframes barLoop{0%,100%{transform:scaleY(var(--h))}50%{transform:scaleY(calc(var(--h) + .12))}}
.art-bars .trend{animation:dashMove 1.5s linear infinite}
@keyframes dashMove{to{stroke-dashoffset:-14}}
.art-cubes .cube{animation:cubeFloat 4s ease-in-out infinite}
.art-cubes .k2{animation-delay:.7s}.art-cubes .k3{animation-delay:1.4s}
@keyframes cubeFloat{50%{transform:translate(var(--tx,0),-12px)}}
.art-cubes .k1{--tx:120px}.art-cubes .k2{--tx:220px}.art-cubes .k3{--tx:300px}
@keyframes cubeFloat{0%,100%{translate:0 0}50%{translate:0 -12px}}
.art-cubes .gear{animation:spinGear 6s linear infinite;transform-box:fill-box;transform-origin:center}
@keyframes spinGear{to{rotate:360deg}}
.art-waves .wave{animation:waveShift 6s ease-in-out infinite}
.art-waves .w2{animation-delay:-2s}.art-waves .w3{animation-delay:-4s}
@keyframes waveShift{0%,100%{translate:0 0}50%{translate:-40px 8px}}
.art-waves .bolt{animation:boltFlash 2.4s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
@keyframes boltFlash{0%,100%{opacity:.6;scale:1}50%{opacity:1;scale:1.15}}
.art-eq rect{transform-box:fill-box;transform-origin:center;animation:eq 1.4s ease-in-out infinite;animation-delay:var(--d)}
@keyframes eq{0%,100%{transform:scaleY(.35)}50%{transform:scaleY(1)}}
.art-eq .play{animation:pulseRing 2s ease-out infinite;transform-box:fill-box;transform-origin:center}
@keyframes pulseRing{50%{stroke-opacity:.3}}
.art-chips .chips rect{fill:rgba(255,255,255,.08);stroke:rgba(255,255,255,.15)}
.art-chips .chip-hi{animation:chipWalk 6s steps(1) infinite}
.art-chips .chip-hi2{animation:chipWalk2 6s steps(1) infinite}
@keyframes chipWalk{0%{x:180px;y:100px}20%{x:250px;y:30px}40%{x:40px;y:170px}60%{x:320px;y:100px}80%{x:110px;y:100px}}
@keyframes chipWalk2{0%{x:110px;y:30px}20%{x:40px;y:100px}40%{x:320px;y:30px}60%{x:180px;y:170px}80%{x:250px;y:170px}}
@keyframes blink{50%{opacity:.25}}

/* platform art animations */
.pa .caret{animation:caret 1s steps(1) infinite}
@keyframes caret{50%{opacity:0}}
.pa-editor .bar{animation:barW 1.4s var(--ease-out-expo) forwards}
.pa-editor .row:nth-child(3) .bar{animation-delay:.15s}.pa-editor .row:nth-child(4) .bar{animation-delay:.3s}.pa-editor .row:nth-child(5) .bar{animation-delay:.45s}
@keyframes barW{to{width:var(--w)}}
.pa-dash .spark{stroke-dasharray:300;stroke-dashoffset:300;animation:sparkDraw 2.4s var(--ease-out-cubic) infinite alternate}
@keyframes sparkDraw{to{stroke-dashoffset:0}}
.pa-dash .tiles rect{transform-box:fill-box;transform-origin:bottom;animation:barLoop 3.5s ease-in-out infinite;--h:1}
.pa-dash .tiles rect:nth-child(2){animation-delay:.2s}.pa-dash .tiles rect:nth-child(3){animation-delay:.4s}.pa-dash .tiles rect:nth-child(4){animation-delay:.6s}.pa-dash .tiles rect:nth-child(5){animation-delay:.8s}
.pa-dash .dot{animation:pulseRing2 1.6s ease-out infinite}
@keyframes pulseRing2{0%{r:5;opacity:1}100%{r:14;opacity:0}}
.pa-api .pk{animation:pkPulse 3s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
.pa-api .pk:nth-of-type(2){animation-delay:1s}.pa-api .pk:nth-of-type(3){animation-delay:2s}
@keyframes pkPulse{50%{transform:translateY(-3px)}}
.pa-thread .m{opacity:0;animation:msgIn .6s var(--ease-out-expo) forwards}
.pa-thread .m1{animation-delay:.2s}.pa-thread .m2{animation-delay:.9s}.pa-thread .m3{animation-delay:1.6s}.pa-thread .m4{animation-delay:2.3s}
@keyframes msgIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.pa-thread .typing circle{animation:typing 1.2s ease-in-out infinite}
.pa-thread .typing circle:nth-child(3){animation-delay:.2s}.pa-thread .typing circle:nth-child(4){animation-delay:.4s}
@keyframes typing{50%{opacity:.3;transform:translateY(-2px)}}
.pa-search .sug{opacity:0;animation:msgIn .6s var(--ease-out-expo) forwards}
.pa-search .s1{animation-delay:.6s}.pa-search .s2{animation-delay:.9s}.pa-search .s3{animation-delay:1.2s}
.pa-nodes .node circle{animation:nodePulse 2.4s ease-in-out infinite}
.pa-nodes .node circle:nth-child(2){animation-delay:.4s}.pa-nodes .node circle:nth-child(3){animation-delay:.8s}.pa-nodes .node circle:nth-child(4){animation-delay:1.2s}.pa-nodes .node circle:nth-child(5){animation-delay:1.6s}.pa-nodes .node circle:nth-child(6){animation-delay:2s}
@keyframes nodePulse{50%{stroke-opacity:.45}}

/* professional polish */
.lead{line-height:1.6}
.section-head p,.split-copy p,.feature-text p{line-height:1.65}
.feat h3,.ind-body h3,.flow-step h3,.duo-card h3,.contact-card h3,.plan h3,.deploy-card h3{letter-spacing:0}
.feat h3{margin-bottom:.45rem}
.check-list li{line-height:1.5}
.hero-desc{font-weight:500}
.index{font-weight:400}
.footer-grid{padding-bottom:1rem}
.site-footer li a{display:inline-block;padding:.1rem 0}
.status i{background:#7CFFB2;box-shadow:0 0 0 0 rgba(124,255,178,.6)}
@keyframes ping{to{box-shadow:0 0 0 .6rem rgba(124,255,178,0)}}
.hero-services span{font-weight:700}
.duo-card h3,.ba h3{margin-bottom:.9rem}
.plan-desc{min-height:3.2em}
.cta-inner h2{max-width:none}
.subnav a{font-size:.82rem}
.page-head .wrap-narrow{max-width:var(--max)}
.page-head h1{max-width:16ch}
.page-head .lead{max-width:52ch}

/* performance: decorative animations only run while on screen */
.anim:not(.run) *{animation-play-state:paused!important}
.helix3d,.ind-art,.feature-art{contain:paint}
