/*
Theme Name: El Tecnomano
Description: Tema a medida para servicios de diseño y administración de sitios web, con despegue de cohete en la portada.
Version: 1.0.0
Text Domain: eltecnomano
*/
:root{--bg:#f6f7fb;--tx:#0e1424;--mu:#586079;--ln:#dfe3ee;--cd:#fff;--fl:#e8590c;--sp:#070b1f}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#0a0e1c;--tx:#eef0f8;--mu:#98a0b8;--ln:#1f2740;--cd:#121830;--fl:#ff7a2e}}
:root[data-theme="dark"]{--bg:#0a0e1c;--tx:#eef0f8;--mu:#98a0b8;--ln:#1f2740;--cd:#121830;--fl:#ff7a2e}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:70px}
body{margin:0;background:var(--bg);color:var(--tx);font:16px/1.65 "Segoe UI",system-ui,-apple-system,sans-serif}
a{color:inherit;text-decoration:none}.w{max-width:1040px;margin:0 auto;padding:0 20px}
.hd{position:fixed;top:0;left:0;right:0;z-index:20;color:#fff;background:linear-gradient(#070b1fcc,transparent)}
.hd .w{display:flex;align-items:center;justify-content:space-between;height:64px}
.logo{display:flex;align-items:center;gap:10px;font-weight:800;font-size:19px}.logo img{width:40px;height:40px;border-radius:10px;box-shadow:0 0 0 1px #ffffff40,0 2px 10px #0006}.logo b{color:var(--fl)}
.hd nav{display:flex;gap:24px;font-size:14px;opacity:.85}
.btn{display:inline-block;padding:13px 24px;border-radius:10px;font-weight:700;background:var(--fl);color:#fff;border:0;cursor:pointer;font:inherit;font-weight:700}
.btn:hover{filter:brightness(1.1)}.btn.o{background:transparent;border:1.5px solid #ffffff66}.btn.sm{padding:8px 16px;font-size:14px}
.btn:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--fl);outline-offset:2px}
/* ===== Despegue ===== */
.hero{position:relative;min-height:100svh;overflow:hidden;color:#fff;display:flex;align-items:center;background:linear-gradient(#3b8fe0,#bfe0ff 70%,#e6f2ff)}
.space{position:absolute;inset:0;opacity:0;background:
radial-gradient(1.5px 1.5px at 12% 22%,#fff,transparent),radial-gradient(2px 2px at 78% 14%,#fff,transparent),radial-gradient(1.5px 1.5px at 55% 40%,#fff,transparent),radial-gradient(1px 1px at 90% 60%,#fff,transparent),radial-gradient(2px 2px at 30% 70%,#fff,transparent),radial-gradient(1px 1px at 68% 82%,#fff,transparent),radial-gradient(1px 1px at 40% 12%,#fff,transparent),
linear-gradient(#050818,#16215a)}
.cl{position:absolute;top:-30vh;left:var(--x);width:var(--s);aspect-ratio:2/1;pointer-events:none;background:
radial-gradient(closest-side,#fff 30%,#fff0) 50% 36%/46% 80% no-repeat,
radial-gradient(closest-side,#fff 30%,#fff0) 22% 58%/38% 64% no-repeat,
radial-gradient(closest-side,#fff 30%,#fff0) 78% 56%/40% 66% no-repeat,
radial-gradient(closest-side,#fff 35%,#fff0) 50% 70%/84% 52% no-repeat,
radial-gradient(closest-side,#9db6d8 20%,#9db6d800) 50% 94%/92% 46% no-repeat}
.l0{opacity:.7;filter:blur(2px)}.l1{opacity:.92;filter:blur(1px)}.l2{filter:blur(3px);--st:1.6}
.fog{position:absolute;inset:0;z-index:2;background:linear-gradient(#fff,#dcebff);opacity:0}
.ground{position:absolute;left:-10%;right:-10%;bottom:-6vh;height:17vh;background:linear-gradient(#3f8a62,#1f4d38);border-radius:50% 50% 0 0/100% 100% 0 0}
.ground:after{content:"";position:absolute;left:50%;top:1.2vh;width:150px;height:12px;margin-left:-75px;background:linear-gradient(#9aa3bd,#5a6385);border-radius:4px}
.pf{position:absolute;z-index:2;left:50%;bottom:6vh;width:var(--sz);height:var(--sz);margin-left:calc(var(--sz)/-2);border-radius:50%;opacity:0;background:radial-gradient(circle,#fff 25%,#e9eff8aa 55%,#fff0 72%)}
.rocket{position:absolute;left:50%;bottom:9vh;width:72px;margin-left:-36px;z-index:3}
.rocket svg{display:block;overflow:visible}
.flame{transform-box:fill-box;transform-origin:50% 0;animation:fl .09s ease-in-out infinite alternate}
.ig,.trail{transform-box:fill-box;transform-origin:50% 0}
.hc{position:relative;z-index:4;padding:110px 0 70px;opacity:0}
.hc h1{font-size:clamp(34px,6vw,62px);line-height:1.08;letter-spacing:-.025em;margin:0 0 16px;max-width:700px}
.hc p{font-size:18px;max-width:520px;margin:0 0 28px;color:#d5dbf5}
.cta{display:flex;gap:12px;flex-wrap:wrap}
.replay{position:absolute;right:16px;bottom:16px;z-index:5;background:#ffffff1f;color:#fff;border:1px solid #ffffff44;border-radius:99px;padding:8px 14px;font:inherit;font-size:13px;cursor:pointer;opacity:0}
.go .space{animation:sp 3s ease-in 2.6s forwards}
.go .cl{animation:dr var(--t) cubic-bezier(.5,0,1,.8) var(--d) both}
.go .fog{animation:fg 3.2s ease-in-out 1.9s both}
.go .ground{animation:gd 3s ease-in 1s forwards}
.go .pf{animation:pf 3.6s ease-out .9s both}
.go .rocket{animation:fly 6.2s cubic-bezier(.4,0,1,1) forwards}
.go .rocket svg{animation:sh .05s linear 45 alternate}
.go .ig{animation:ig .9s ease-out both}
.go .trail{animation:tl 6s ease-out forwards}
.go .hc{animation:ap .9s ease-out 5.2s forwards}
.go .replay{animation:ap .6s ease-out 6.5s forwards}
@keyframes fl{from{transform:scale(.92,.85)}to{transform:scale(1.06,1.2)}}
@keyframes ig{from{transform:scale(.15)}}
@keyframes sp{to{opacity:1}}
@keyframes dr{from{transform:translateY(var(--y0,0))}to{transform:translateY(150vh) scaleY(var(--st,1))}}
@keyframes fg{0%{opacity:0}30%{opacity:.85}50%{opacity:.25}65%{opacity:.7}100%{opacity:0}}
@keyframes gd{to{transform:translateY(60vh)}}
@keyframes pf{0%{opacity:0;transform:translate(0,0) scale(.3)}12%{opacity:.95}100%{opacity:0;transform:translate(var(--dx),45vh) scale(2.4)}}
@keyframes fly{0%,16%{transform:translateY(0)}30%{transform:translateY(-6vh)}100%{transform:translateY(-130vh) scale(.7)}}
@keyframes sh{from{transform:translate(-1.2px,0)}to{transform:translate(1.2px,.8px)}}
@keyframes tl{0%,16%{transform:scaleY(.05);opacity:.2}40%{opacity:.9}100%{transform:scaleY(1.4);opacity:.6}}
@keyframes ap{to{opacity:1}}
@media (prefers-reduced-motion:reduce){.hero .space{opacity:1}.rocket,.cl,.ground,.pf,.fog,.replay{display:none}.hc{opacity:1}.go *{animation:none!important}}
/* ===== Secciones ===== */
section{padding:72px 0}h2{font-size:clamp(26px,4vw,38px);letter-spacing:-.02em;margin:0 0 10px}
.lead{color:var(--mu);margin:0 0 34px;max-width:540px}
.sv{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));column-gap:48px}
.sv div{padding:20px 0;border-top:1px solid var(--ln)}.sv h3{margin:0 0 4px;font-size:18px}.sv p{margin:0;color:var(--mu);font-size:15px}
ol.st{list-style:none;margin:0;padding:0;counter-reset:s;max-width:640px}
ol.st li{counter-increment:s;padding:0 0 26px 58px;position:relative;border-left:2px solid var(--ln);margin-left:18px}
ol.st li:before{content:counter(s);position:absolute;left:-19px;top:0;width:36px;height:36px;border-radius:50%;background:var(--fl);color:#fff;font-weight:800;display:grid;place-items:center}
ol.st b{display:block;font-size:18px}ol.st span{color:var(--mu)}
.ct{background:var(--cd);border:1px solid var(--ln);border-radius:20px;padding:32px;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:32px}
form{display:grid;gap:12px}input,select,textarea{width:100%;padding:12px 14px;border-radius:10px;border:1px solid var(--ln);background:var(--bg);color:var(--tx);font:inherit}
.ft{padding:26px 0;border-top:1px solid var(--ln);color:var(--mu);font-size:14px;text-align:center}
@media(max-width:640px){.hd nav{display:none}}
