/* Progressive enhancements: content stays visible without JavaScript. */
.site-nav{position:sticky;top:0;transition:background .3s,box-shadow .3s;backdrop-filter:blur(18px)}
.site-nav.is-scrolled{background:#000c18e8;box-shadow:0 8px 30px #0008;border-bottom-color:#00d5ff55}
.neon-card,.price-card,.reach-card{background:linear-gradient(135deg,#0b305877,#021223bb);backdrop-filter:blur(12px);transition:translate .35s,box-shadow .35s,border-color .35s;position:relative}
.neon-card:hover,.price-card:hover{translate:0 -5px;border-color:#00d5ff99;box-shadow:0 15px 35px #0005,0 0 22px #00d5ff15}
.project-thumb,.blog-image{overflow:hidden}
.project-thumb img,.blog-image img{transition:scale .65s}
.project-card:hover .project-thumb img,.blog-card:hover .blog-image img{scale:1.045}
.btn{transition:transform .25s,translate .25s,box-shadow .3s,border-color .3s}
.btn:hover,.btn:focus-visible{box-shadow:0 0 12px #ff760077,0 0 28px #ff381944}
.btn-outline:hover,.btn-outline:focus-visible{box-shadow:0 0 22px #00d5ff44}
.cta-card{background-size:200% 200%;animation:ambient-gradient 12s ease infinite}
.cta-card:before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:linear-gradient(var(--border-angle,0deg),#00d5ff88,#c33dff88,#ff6b0088,#00d5ff88);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;pointer-events:none;animation:border-turn 9s linear infinite}
.cta-card{position:relative}
@property --border-angle{syntax:'<angle>';initial-value:0deg;inherits:false}
@keyframes border-turn{to{--border-angle:360deg}}
@keyframes ambient-gradient{50%{background-position:100% 50%}}
.hero h1{animation:heading-reveal .85s ease both}
@keyframes heading-reveal{from{opacity:0;transform:translateY(18px);clip-path:inset(0 0 100%)}to{opacity:1;transform:none;clip-path:inset(0)}}
.hero .eyebrow:before{animation:beacon 4s ease-in-out infinite}
@keyframes beacon{50%{translate:0 -3px;box-shadow:0 0 15px #00d5ff}}
.motion-ready{opacity:0;translate:0 20px;transition:opacity .7s,translate .7s;transition-delay:var(--reveal-delay,0ms)}
.motion-ready.is-visible{opacity:1;translate:0 0}
.stats-strip strong{font-variant-numeric:tabular-nums}
.typing-word{display:inline-block;vertical-align:bottom;max-width:100%;clip-path:inset(0 100% 0 0);animation:type-word 1.5s .5s steps(7,end) forwards}
@keyframes type-word{to{clip-path:inset(0)}}
@media(hover:hover) and (pointer:fine){
 .spotlight-card{background-image:radial-gradient(240px circle at var(--pointer-x,50%) var(--pointer-y,50%),#00d5ff18,transparent 75%),linear-gradient(135deg,#0b305877,#021223bb)}
 .tilt-card{transform:perspective(1000px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .2s,translate .35s,box-shadow .35s,border-color .35s}
 .cursor-halo{position:fixed;top:0;left:0;width:38px;height:38px;border:1px solid #ffffff40;border-radius:50%;background:#ffffff08;pointer-events:none;z-index:10000;opacity:0;transition:opacity .2s,width .2s,height .2s,background .2s;transform:translate(-50%,-50%)}
 .cursor-halo:before{content:"";position:absolute;inset:-4px;border:1px solid #ffffff25;border-radius:50%;animation:cursor-breathe 2.8s ease-in-out infinite;pointer-events:none}
 .cursor-halo:after{content:"";position:absolute;inset:-1px;border:1px solid transparent;border-top-color:#ffffffaa;border-right-color:#ffffff44;border-radius:50%;animation:cursor-orbit 4s linear infinite;pointer-events:none}
 .cursor-halo.is-interactive{width:48px;height:48px;background:#ffffff10;border-color:#ffffff66;backdrop-filter:brightness(1.15)}
 .cursor-halo.is-pressed{width:30px;height:30px;background:#ffffff20}
}
@keyframes cursor-breathe{0%,100%{scale:1;opacity:.35}50%{scale:1.15;opacity:.8}}
@keyframes cursor-orbit{to{rotate:360deg}}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 html,body,body *{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 28 28'%3E%3Cpath d='M5 3L6 22L11 16L16 24L20 22L15 14L23 13Z' fill='%23141c28' stroke='%23ffffff' stroke-width='1.6' stroke-linejoin='round'/%3E%3C/svg%3E") 5 3,auto}
 a,button,summary,[role=button],label[for],a *,button *,summary *{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 28 28'%3E%3Cpath d='M5 3L6 22L11 16L16 24L20 22L15 14L23 13Z' fill='%23141c28' stroke='%23ffffff' stroke-width='1.6' stroke-linejoin='round'/%3E%3C/svg%3E") 5 3,pointer}
 input,textarea,[contenteditable=true],[contenteditable=true] *{cursor:text}
 select,option{cursor:pointer}
 :disabled,:disabled *{cursor:not-allowed}
}
.faq-list .smooth-faq{box-sizing:border-box;transition:border-color .3s,background .3s}
.faq-list .smooth-faq.faq-expanded{border-color:#00d5ff88}
.faq-list .smooth-faq summary{transition:color .25s,background .25s}
.faq-list .smooth-faq summary:hover{color:var(--cyan);background:#00d5ff08}
.faq-list .smooth-faq summary>span,.faq-list .smooth-faq[open] summary>span{font-size:17px;transition:transform .3s;color:var(--cyan)}
.faq-list .smooth-faq[open] summary>span:after{content:none}
.faq-list .smooth-faq.faq-expanded summary>span{transform:rotate(45deg)}
/* Card and icon feedback shares the existing cyan, orange and purple palette. */
:where(.neon-card,.project-card,.blog-card,.price-card,.process-card,.reach-card,.technology){transition:translate .35s,box-shadow .35s,border-color .35s}
.neon-icon{--icon-glow:#00d5ff;transition:transform .35s,box-shadow .35s,border-color .35s}
.neon-icon.orange{--icon-glow:#ff9000}
.neon-icon.purple{--icon-glow:#ed3aff}
.neon-icon.green{--icon-glow:#00ee93}
.neon-icon.blue{--icon-glow:#157bff}
.neon-icon svg,.technology img{transition:transform .35s,filter .35s}
.socials a{transition:transform .3s,box-shadow .3s,border-color .3s,background .3s}
:is(.neon-card,.project-card,.blog-card,.price-card,.process-card,.reach-card,.technology):focus-within{border-color:var(--cyan);box-shadow:0 10px 30px #0005,0 0 20px #00d5ff25}
.socials a:focus-visible{box-shadow:0 0 18px #00d5ff66}
@media(hover:hover) and (pointer:fine){
 :is(.neon-card,.project-card,.blog-card,.price-card,.process-card,.reach-card,.technology):hover{translate:0 -6px;border-color:var(--cyan);box-shadow:0 16px 32px #0006,0 0 24px #00d5ff28}
 .motion-ready:not(.is-visible):hover{translate:0 20px}
 .neon-icon:hover,:is(.neon-card,.stat,.process-card,.contact-line,.industry-grid>a):hover .neon-icon{transform:translateY(-3px) scale(1.08);border-color:var(--icon-glow);box-shadow:0 0 18px color-mix(in srgb,var(--icon-glow) 40%,transparent),inset 0 0 12px color-mix(in srgb,var(--icon-glow) 15%,transparent)}
 .neon-icon:hover svg,.neon-card:hover .neon-icon svg{transform:rotate(-6deg)}
 .technology:hover img{transform:translateY(-3px) scale(1.12)}
 .socials a:hover{transform:translateY(-4px) scale(1.08);border-color:var(--cyan);box-shadow:0 0 18px #00d5ff66}
}
/* Shared continuous ambience stays behind every hero's content and controls. */
.hero:before,.hero:after{content:"";position:absolute;pointer-events:none;z-index:1;border-radius:50%;width:380px;height:380px;opacity:.55;will-change:transform}
.hero:before{right:-70px;top:-140px;background:radial-gradient(circle,#00d5ff30,transparent 68%);animation:hero-drift 14s ease-in-out infinite alternate}
.hero:after{right:15%;bottom:-230px;background:radial-gradient(circle,#c33dff38,transparent 68%);animation:hero-drift 18s ease-in-out -7s infinite alternate-reverse}
.hero .hero-content{animation:hero-float 7s ease-in-out infinite}
.hero .hero-content:focus-within,.hero .hero-content:hover{animation-play-state:paused}
.hero h1 em{color:#ff9000;background:linear-gradient(100deg,#ff9000 15%,#ff5e42 40%,#ffd18a 50%,#ff9000 70%);background-size:250% 100%;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:hero-shimmer 6s linear infinite}
.hero h1 em.typing-word{clip-path:none}
.hero .hero-actions .btn-brand{animation:hero-button-glow 4s ease-in-out infinite}
.hero .hero-art>.hero-hd-image{animation:hero-art-float 10s ease-in-out infinite}
@keyframes hero-art-float{0%,100%{translate:0 0;scale:1.01}50%{translate:0 -6px;scale:1.025}}
@keyframes hero-drift{from{transform:translate3d(0,0,0) scale(.9)}to{transform:translate3d(-95px,55px,0) scale(1.2)}}
@keyframes hero-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@keyframes hero-shimmer{from{background-position:250% 50%}to{background-position:0 50%}}
@keyframes hero-button-glow{0%,100%{box-shadow:0 0 8px #ff760066,0 0 18px #ff381933}50%{box-shadow:0 0 15px #ff760099,0 0 30px #ff381955}}
@media(max-width:650px){.hero:before,.hero:after{width:240px;height:240px}.hero .hero-content,.hero .hero-art>.hero-hd-image{animation:none}}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto!important}
 *,*:before,*:after{animation:none!important;transition:none!important}
 .motion-ready{opacity:1;translate:none}
 .typing-word{clip-path:none}
 .tilt-card{transform:none!important}
 .cursor-halo{display:none}
 .neon-card:hover,.price-card:hover,.btn:hover{translate:none;transform:none}
 :is(.project-card,.blog-card,.process-card,.reach-card,.technology,.motion-ready):hover{translate:none}
 .neon-icon,.neon-icon svg,.technology img,.socials a{transform:none!important}
}
