/* Cyber accents: keep the reading surfaces quiet and high contrast. */
:root{--green:#087c78;--blue:#3262cd}
body{background:radial-gradient(ellipse at 95% 8%,#e7f4f9 0,transparent 29%),var(--paper);position:relative;isolation:isolate}
body:before{content:"";position:absolute;inset:92px 0 0;z-index:-1;pointer-events:none;background:url('circuits.svg') repeat;opacity:.085;mask-image:linear-gradient(90deg,#000,transparent 37%,transparent 63%,#000)}
.hero{position:relative}.hero:before{content:"";position:absolute;inset:0 -22px;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 86% 48%,#2d96d514,transparent 52%),radial-gradient(ellipse at 0 35%,#22b98c0c,transparent 45%)}
.brand img{width:190px}.footer img{width:145px}
.btn{background:linear-gradient(115deg,#087c70,#096f83);box-shadow:0 4px 14px #087c7015;transition:transform .2s,box-shadow .2s}
.btn:hover{transform:translateY(-2px);box-shadow:0 7px 20px #087c7028;background:linear-gradient(115deg,#066455,#075c75)}
.btn.secondary{background:transparent;box-shadow:none}
h1 em{background:linear-gradient(100deg,#087c70 15%,#2367ad);background-clip:text;-webkit-background-clip:text;color:transparent}
.visual{background:radial-gradient(ellipse at 50% 42%,#164d5c,#102c3f 63%,#112637);border-color:#25495a;box-shadow:0 22px 55px #142f4217;color:#d3eee9;isolation:isolate}
.visual:before{background-image:linear-gradient(#83d9dc10 1px,transparent 1px),linear-gradient(90deg,#83d9dc10 1px,transparent 1px);background-size:28px 28px;mask-image:linear-gradient(transparent,#000 25%,#000 80%,transparent)}
.visual:after{content:"";position:absolute;width:290px;height:290px;border:1px dashed #5fcbbb55;border-radius:50%;left:50%;top:45%;transform:translate(-50%,-50%);z-index:-1;box-shadow:0 0 0 25px #5fcbbb08,0 0 0 57px #5fcbbb06;animation:orbit 60s linear infinite}
.visual-label{color:#acd5de}.visual-label span:last-child{color:#7de0c5}
.visual-foot{background:#173e4c;border-color:#3f6771;color:white;box-shadow:0 10px 30px #001c2925}.visual-foot span{color:#c1dadf}.visual-foot .plus{color:#8ae4c9}
.symbol{height:auto;filter:drop-shadow(0 0 22px #75e4bf30);animation:float 7s ease-in-out infinite}
.dot{box-shadow:0 0 0 4px #087c7010}
.card{position:relative;overflow:hidden;transition:transform .22s,border-color .22s,box-shadow .22s}
.card:before{content:"";position:absolute;left:0;top:0;right:0;height:3px;background:linear-gradient(90deg,#12a68c,#3c81ce);opacity:0;transition:opacity .22s}
.card:hover,.card:focus-within{transform:translateY(-4px);border-color:#92bfc6;box-shadow:0 12px 26px #173f5410}.card:hover:before,.card:focus-within:before{opacity:1}
.card:nth-child(3n+2) .number{background:#ecf2fc;color:#345ca2}.card:nth-child(3n) .number{background:#eff0fa;color:#665398}
.experience{position:relative;background:radial-gradient(ellipse at 2% 100%,#09515c 0,transparent 60%),linear-gradient(115deg,#102b3b,#142b46);overflow:hidden}
.experience:before{content:"";position:absolute;right:-130px;top:-220px;width:600px;height:600px;border:1px solid #7ecad415;border-radius:50%;box-shadow:0 0 0 50px #7ecad408,0 0 0 100px #7ecad406;pointer-events:none}
.experience-grid{position:relative}.exp-item .check{width:28px;height:28px;border-radius:50%;background:#a4e9d710;text-align:center}
.step{position:relative}.step:before{content:"";position:absolute;top:-4px;left:0;width:7px;height:7px;background:#158d89;border-radius:50%;box-shadow:0 0 0 5px #158d890c}.step:nth-child(even):before{background:#397bc1}
.contact{background:radial-gradient(ellipse at 0 0,#ddf1eb,transparent 65%),linear-gradient(120deg,#edf4ef,#eaf0f8)}
input:focus,select:focus,textarea:focus{outline:2px solid #138b88;outline-offset:2px;border-color:#138b88}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes orbit{to{transform:translate(-50%,-50%) rotate(360deg)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.card:hover,.card:focus-within,.btn:hover{transform:none}}
@media(max-width:650px){.visual:after{width:230px;height:230px}.visual{min-height:350px}}
