/* Estilos específicos de cada sección de la página. */
.hero{padding:88px 0 104px;position:relative;overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:1.25fr .75fr;gap:40px;align-items:center}
h1{font-weight:800;font-size:clamp(46px,8vw,92px);line-height:.98;letter-spacing:-.025em}
h1 span{display:block}
h1 .g{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero p{color:var(--gray);font-size:19px;max-width:520px;margin:28px 0 36px}
.cta{display:flex;gap:14px;flex-wrap:wrap}
.glow{position:relative;display:grid;place-items:center;aspect-ratio:1}
.glow::before{content:"";position:absolute;inset:6%;border-radius:50%;background:radial-gradient(circle,rgba(22,135,255,.34),rgba(18,217,232,.08) 55%,transparent 70%)}
.glow::after{content:"";position:absolute;inset:14%;border:1px solid var(--line);border-radius:50%}
.glow svg{position:relative;width:52%;height:auto;filter:drop-shadow(0 0 28px rgba(22,135,255,.55))}
.cases{display:grid;gap:18px;margin-top:48px}
.case{display:grid;grid-template-columns:.8fr 1.2fr;gap:28px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:30px}
.case h3{font-size:24px;font-weight:800}
.case .meta{color:var(--gray);font-size:14px;margin-top:6px}
.case dl{display:grid;gap:14px}
.case dt{font:700 13px Manrope,sans-serif;color:var(--cyan)}
.case dd{color:var(--gray);font-size:15px;margin:2px 0 0}
.case a{color:var(--elec);font-weight:600;font-size:14px;display:inline-block;margin-top:14px}
.steps{list-style:none;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:48px;counter-reset:s}
.steps li{counter-increment:s;border-top:2px solid var(--blue);padding-top:16px}
.steps li::before{content:counter(s);font:800 15px Manrope,sans-serif;color:var(--cyan);display:block;margin-bottom:6px}
.steps b{font-family:Manrope,sans-serif;display:block}
.steps span{color:var(--gray);font-size:14px}
.about{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.about p{color:var(--gray);margin-top:16px}
.contact{text-align:center;background:var(--card);border-block:1px solid var(--line)}
.contact h2,.contact .lead{margin-inline:auto}
.contact .cta{justify-content:center;margin-top:32px}
footer{padding:36px 0;color:var(--gray);font-size:14px}
footer .wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:center}
.about p.first{margin-top:0}
.case a{grid-column:2}
