/* ============ TOKENS ============ */
.rm-home{
  --bg:#000;--bg2:#0b0b0d;--card:#121214;--line:#26262b;
  --white:#fff;--muted:#a7a7ae;
  --teal:#3ee6cf;--yellow:#ffc21a;--purple:#8b5cf6;--red:#ff5a5f;
  --display:'Bebas Neue',Impact,'Arial Narrow',sans-serif;
  --body:'Montserrat',system-ui,-apple-system,sans-serif;
  --mono:ui-monospace,'SFMono-Regular',Menlo,Consolas,monospace;
  --r-sm:12px;--r-md:20px;--r-lg:28px;
  --ease:cubic-bezier(.2,.8,.2,1);
  background:var(--bg);color:var(--white);font-family:var(--body);
  line-height:1.55;overflow:hidden;overflow:clip;position:relative;width:100%;
}
.rm-home *,.rm-home *::before,.rm-home *::after{box-sizing:border-box;margin:0;padding:0}
.rm-home a{color:inherit;text-decoration:none}
.rm-home img,.rm-home svg{display:block;max-width:100%}
.rm-home p{margin:0}
.rm-home :focus-visible{outline:2px solid var(--teal);outline-offset:3px;border-radius:6px}
.h-wrap{max-width:1180px;margin:0 auto;padding:0 20px;position:relative;z-index:2}
.h-sec{padding:100px 0;position:relative}
.h-alt{background:var(--bg2);border-top:1.5px solid var(--line);border-bottom:1.5px solid var(--line)}

/* Tipografía */
.h-display{font-family:var(--display)!important;font-weight:400!important;letter-spacing:.5px;line-height:.92!important;text-transform:uppercase;color:var(--white)}
.y{color:var(--yellow)!important}.p{color:var(--purple)!important}.t{color:var(--teal)!important}
.h-box{display:inline-block;max-width:100%;border:1.5px dashed var(--purple);padding:0 .12em;line-height:.95}
.h-kicker{font-family:var(--display);font-size:18px;letter-spacing:4px;color:var(--teal);display:inline-flex;align-items:center;gap:10px;margin-bottom:16px;text-transform:uppercase}
.h-kicker::before{content:"";width:28px;height:2px;background:var(--teal)}
.h-h2{font-size:clamp(44px,7vw,84px)!important;margin-bottom:18px!important}
.h-lead{color:var(--muted);font-size:clamp(16px,1.8vw,18px);max-width:620px}
.h-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:50px;flex-wrap:wrap}
.h-center{text-align:center}.h-center .h-lead{margin:0 auto}
.h-short{display:none}

/* Botones */
.h-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:var(--body);font-weight:700;font-size:15px;padding:16px 26px;border-radius:999px;transition:transform .2s var(--ease),box-shadow .2s,border-color .2s,color .2s,background .2s;cursor:pointer;border:2px solid transparent;white-space:nowrap}
.h-btn:hover{transform:translateY(-2px)}
.h-btn svg{width:18px;height:18px;flex-shrink:0}
.h-btn-primary{background:var(--yellow);color:#000!important}
.h-btn-ghost{border-color:var(--line);color:var(--white)}
.h-btn-ghost:hover{border-color:var(--teal);color:var(--teal)}
.h-btn-glow{position:relative;overflow:hidden;isolation:isolate;animation:hPulse 2.4s ease-in-out infinite}
.h-btn-glow::after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.75),transparent);transform:skewX(-20deg);animation:hShine 2.4s ease-in-out infinite;z-index:-1}
.h-btn-glow svg{animation:hWiggle 2.4s ease-in-out infinite}
@keyframes hPulse{0%,100%{box-shadow:0 0 0 0 rgba(255,194,26,.55),0 8px 24px -10px rgba(255,194,26,.6)}50%{box-shadow:0 0 0 10px rgba(255,194,26,0),0 12px 34px -8px rgba(255,194,26,.85)}}
@keyframes hShine{0%,45%{left:-60%}75%,100%{left:130%}}
@keyframes hWiggle{0%,60%,100%{transform:rotate(0)}66%{transform:rotate(-14deg)}72%{transform:rotate(12deg)}78%{transform:rotate(-6deg)}}
.h-cta-row{display:flex;flex-wrap:wrap;gap:14px;align-items:center}

/* Formas decorativas */
.h-shape{position:absolute;z-index:1;pointer-events:none;color:var(--teal)}
.h-float{animation:hFloat 7s ease-in-out infinite}
.h-spin{animation:hSpin 22s linear infinite}
@keyframes hFloat{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-14px) rotate(6deg)}}
@keyframes hSpin{to{transform:rotate(360deg)}}

/* ============ HERO ============ */
.h-hero{padding:72px 0 80px;position:relative}
.h-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(680px 520px at 76% 45%,rgba(139,92,246,.22),transparent 70%),radial-gradient(420px 340px at 60% 90%,rgba(62,230,207,.12),transparent 70%);pointer-events:none}
.h-hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:48px;align-items:center}
.h-hero-grid > *{min-width:0}
.h-tag{display:block;font-family:var(--mono)!important;font-size:13px;font-weight:700;letter-spacing:2px;color:var(--teal);margin-bottom:20px;text-transform:uppercase;line-height:1.4!important}
.h-tag b{color:var(--yellow)}
.h-hero h1{font-size:clamp(56px,8.6vw,124px)!important;margin-bottom:24px!important}
.h-hero h1 .ln{display:block}
.h-rot{display:inline-block;position:relative;color:var(--yellow);min-width:1ch}
.h-rot::after{content:"";display:inline-block;width:.08em;height:.78em;margin-left:.06em;background:var(--teal);vertical-align:-.02em;animation:hBlink 1s steps(2) infinite}
@keyframes hBlink{50%{opacity:0}}
.h-hero .h-lead{margin-bottom:30px}
.h-proof{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:34px;padding-top:24px;border-top:1.5px solid var(--line)}
.h-proof span{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--muted)}
.h-proof b{color:var(--white);font-weight:800}
.h-proof svg{width:16px;height:16px;color:var(--teal)}

/* Visual del hero: web + celular */
.h-visual{position:relative;aspect-ratio:1/1.02;max-width:560px;margin-left:auto;width:100%}
.h-browser{position:absolute;left:0;top:6%;width:84%;background:var(--card);border:1.5px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:0 40px 100px -30px rgba(139,92,246,.6);transform:rotate(-3deg);transition:transform .4s var(--ease)}
.h-bar{display:flex;align-items:center;gap:7px;padding:11px 13px;border-bottom:1.5px solid var(--line);background:#0e0e11}
.h-bar > span{width:9px;height:9px;border-radius:50%;flex-shrink:0}
.h-bar > span:nth-child(1){background:var(--yellow)}.h-bar > span:nth-child(2){background:var(--teal)}.h-bar > span:nth-child(3){background:var(--purple)}
.h-url{margin-left:8px;flex:1;height:22px;border-radius:999px;background:#1c1c20;font-family:var(--mono);font-size:10.5px;color:var(--muted);display:flex;align-items:center;padding:0 11px;overflow:hidden;white-space:nowrap}
.h-shots{position:relative;aspect-ratio:16/10.5;background:linear-gradient(160deg,#1d1a2b,#101013)}
.h-shots img{color:transparent;font-size:0;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top center;opacity:0;transition:opacity .9s ease}
.h-shots img.on{opacity:1}
.h-phone{position:absolute;right:0;bottom:0;width:39%;aspect-ratio:9/19;border-radius:30px;background:#0c0c0f;border:2px solid #2c2c33;padding:7px;box-shadow:0 30px 80px -20px rgba(0,0,0,.9),0 0 0 5px #050506;transform:rotate(4deg);transition:transform .4s var(--ease);z-index:3}
.h-phone::before{content:"";position:absolute;top:13px;left:50%;width:30%;height:16px;margin-left:-15%;border-radius:20px;background:#000;z-index:4}
.h-phone-scr{position:relative;width:100%;height:100%;border-radius:23px;overflow:hidden;background:radial-gradient(50% 32% at 50% 40%,#f2c7a0 0 30%,transparent 31%),radial-gradient(90% 55% at 50% 105%,#3a2a6b 0 45%,transparent 46%),linear-gradient(180deg,#2b2340,#151221);background-size:cover;background-position:center}
.h-phone-scr::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.75),transparent 45%)}
.h-phone-ui{position:absolute;left:10px;right:10px;bottom:12px;z-index:2;font-size:10px;font-weight:700}
.h-phone-ui small{display:block;font-weight:500;color:#ddd;font-size:9px;margin-top:2px}
.h-phone-side{position:absolute;right:8px;bottom:56px;display:flex;flex-direction:column;gap:10px;z-index:2;color:#fff;align-items:center;font-size:8.5px;font-weight:700}
.h-phone-side svg{width:20px;height:20px}
.h-phone-side .lk{color:var(--red);animation:hBeat 1.3s ease-in-out infinite}
@keyframes hBeat{0%,100%{transform:scale(1)}15%{transform:scale(1.25)}30%{transform:scale(1)}}
.h-chip{position:absolute;background:var(--bg);border:1.5px solid var(--line);border-radius:14px;padding:11px 13px;display:flex;align-items:center;gap:10px;font-size:12.5px;font-weight:700;box-shadow:0 14px 40px -12px rgba(0,0,0,.9);z-index:5;white-space:nowrap;animation:hFloat 6s ease-in-out infinite}
.h-chip .ic{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;flex-shrink:0}
.h-chip .ic svg{width:17px;height:17px}
.h-chip small{display:block;color:var(--muted);font-weight:500;font-size:10.5px}
.h-chip.c1{left:-4%;bottom:14%}.h-chip.c1 .ic{background:rgba(255,194,26,.15);color:var(--yellow)}
.h-chip.c2{right:30%;top:0;animation-delay:-3s}.h-chip.c2 .ic{background:rgba(62,230,207,.15);color:var(--teal)}

/* ============ LOGOS ============ */
.h-marquee{border-top:1.5px solid var(--line);border-bottom:1.5px solid var(--line);background:var(--bg2);overflow:hidden;padding:24px 0;position:relative;z-index:2}
.h-marquee::before,.h-marquee::after{content:"";position:absolute;top:0;bottom:0;width:120px;z-index:2;pointer-events:none}
.h-marquee::before{left:0;background:linear-gradient(90deg,var(--bg2),transparent)}
.h-marquee::after{right:0;background:linear-gradient(-90deg,var(--bg2),transparent)}
.h-marquee-lbl{text-align:center;font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:#6f6f78;margin-bottom:18px}
.h-marquee-track{display:flex;align-items:center;gap:72px;width:max-content;animation:hMarq 40s linear infinite}
.h-marquee:hover .h-marquee-track{animation-play-state:paused}
@keyframes hMarq{to{transform:translateX(-50%)}}
.rm-home .rm-logo{height:52px;display:flex;align-items:center;flex-shrink:0}
.rm-home .rm-logo img{height:clamp(22px,calc(58px / pow(var(--ar,4),.42)),46px);width:auto;max-width:230px;object-fit:contain;opacity:.6;transition:opacity .3s}
.rm-home .rm-logo:hover img{opacity:1}
.rm-home .rm-logo.rm-color img{opacity:.8}
.rm-home .rm-logo span{display:none}

/* ============ SERVICIOS (2 puertas) ============ */
.h-doors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.h-door{position:relative;border-radius:var(--r-lg);border:1.5px solid var(--line);background:var(--card);overflow:hidden;display:flex;flex-direction:column;transition:transform .3s var(--ease),border-color .3s}
.h-door:hover{transform:translateY(-6px)}
.h-door.web:hover{border-color:var(--teal)}
.h-door.cnt:hover{border-color:var(--yellow)}
.h-door.ads:hover{border-color:var(--purple)}
.h-door.ads{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
.h-door.ads .h-door-vis{height:auto;min-height:260px;border-bottom:0;border-right:1.5px solid var(--line)}
.h-door.ads .h-ad-card{margin-top:0;align-self:center}
.h-door.ads h3{font-size:clamp(34px,3.4vw,44px)!important}
.h-door.ads .h-door-body{padding:28px 32px}
.h-door.ads .h-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.h-door.ads .h-door-cta{max-width:440px}
.h-door.ads .h-door-vis{position:relative;overflow:hidden;background:radial-gradient(420px 220px at 50% 0%,rgba(139,92,246,.4),transparent 70%),radial-gradient(360px 220px at 100% 100%,rgba(62,230,207,.2),transparent 70%),var(--bg2)}
.h-door.ads .h-door-tag{color:var(--purple)}
.h-door.ads .h-list svg{color:var(--purple)}
.h-door.ads .h-btn-primary{background:var(--purple);color:#fff!important}
.h-ad{position:absolute;inset:0;display:flex;justify-content:center}
.h-ad-card{position:relative;z-index:2;margin-top:28px;width:170px;background:#141418;border:1.5px solid #2c2c33;border-radius:14px;overflow:hidden;box-shadow:0 24px 50px -16px rgba(0,0,0,.9);transition:transform .5s var(--ease)}
.h-door:hover .h-ad-card{transform:translateY(-10px)}
.h-ad-h{display:flex;align-items:center;gap:7px;padding:8px 9px;font-size:9.5px}
.h-ad-h i{width:20px;height:20px;border-radius:50%;background:conic-gradient(var(--yellow),var(--purple),var(--teal),var(--yellow));display:block}
.h-ad-h small{display:block;color:var(--muted);font-size:8px}
.h-ad-media{height:110px;background:radial-gradient(60% 50% at 70% 30%,rgba(255,194,26,.9) 0 30%,transparent 31%),linear-gradient(140deg,#8b5cf6,#3b2386);display:flex;align-items:flex-end;padding:10px;font-family:var(--display);font-size:17px;line-height:.95;color:#fff}
.h-ad-cta{display:flex;justify-content:space-between;align-items:center;padding:8px 10px;background:var(--purple);color:#fff;font-size:10px;font-weight:700}
.h-ad-cta svg{width:12px;height:12px}
.h-ad-target{position:absolute;left:50%;top:50%;width:0;height:0;z-index:1}
.h-ad-target span{position:absolute;left:0;top:0;border-radius:50%;border:1.5px solid rgba(139,92,246,.55);transform:translate(-50%,-50%);animation:hRadar 3s ease-out infinite}
.h-ad-target span:nth-child(1){width:60px;height:60px}
.h-ad-target span:nth-child(2){width:60px;height:60px;animation-delay:1s}
.h-ad-target span:nth-child(3){width:60px;height:60px;animation-delay:2s}
@keyframes hRadar{from{width:60px;height:60px;opacity:1}to{width:330px;height:330px;opacity:0}}
.h-ad-chip{position:absolute;z-index:3;font-size:10.5px;font-weight:700;padding:6px 10px;border-radius:999px;background:#000;border:1.5px solid #2c2c33;white-space:nowrap;animation:hFloat 6s ease-in-out infinite}
.h-ad-chip.a{left:7%;top:44%;color:var(--teal)}
.h-ad-chip.b{right:6%;top:22%;color:var(--yellow);animation-delay:-3s}
.h-door-vis{position:relative;height:230px;overflow:hidden;border-bottom:1.5px solid var(--line)}
.h-door.web .h-door-vis{background:radial-gradient(420px 220px at 20% 0%,rgba(62,230,207,.28),transparent 70%),radial-gradient(360px 220px at 100% 100%,rgba(139,92,246,.3),transparent 70%),var(--bg2)}
.h-door.cnt .h-door-vis{background:radial-gradient(420px 220px at 80% 0%,rgba(255,194,26,.26),transparent 70%),radial-gradient(360px 220px at 0% 100%,rgba(139,92,246,.3),transparent 70%),var(--bg2)}
.h-mini-browser{position:absolute;left:8%;right:8%;top:34px;bottom:-20px;background:#f6f4ef;border-radius:12px 12px 0 0;box-shadow:0 30px 60px -20px rgba(0,0,0,.8);overflow:hidden;transition:transform .5s var(--ease)}
.h-door:hover .h-mini-browser{transform:translateY(-10px)}
.h-mini-browser .nav{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border-bottom:1px solid #e3dfd6;font-size:9px;font-weight:800;letter-spacing:1px;color:#111}
.h-mini-browser .nav b{font-family:var(--display);font-size:17px;font-weight:400}
.h-mini-browser .ban{margin:10px 12px;height:76px;border-radius:9px;background:linear-gradient(130deg,#8b5cf6,#5b3bd1 50%,#3ee6cf 130%);position:relative;overflow:hidden;padding:12px;color:#fff;font-family:var(--display);font-size:24px;line-height:.9}
.h-mini-browser .ban::after{content:"";position:absolute;right:-20px;top:-20px;width:90px;height:90px;border-radius:50%;background:rgba(255,194,26,.9)}
.h-mini-browser .prods{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:0 12px}
.h-mini-browser .prods i{height:46px;border-radius:7px;display:block;background:#e9e3d6}
.h-mini-browser .prods i:nth-child(2){background:#1c1c20}.h-mini-browser .prods i:nth-child(3){background:#ffc21a}.h-mini-browser .prods i:nth-child(4){background:#cfc5b0}
.h-reels{position:absolute;inset:30px 0 -30px;display:flex;justify-content:center;gap:14px;transition:transform .5s var(--ease)}
.h-door:hover .h-reels{transform:translateY(-10px)}
.h-reels i{width:118px;border-radius:14px;display:block;position:relative;box-shadow:0 24px 50px -16px rgba(0,0,0,.9);background-size:cover;background-position:center}
.h-reels i:nth-child(1){transform:rotate(-7deg) translateY(18px);background-image:linear-gradient(160deg,#8b5cf6,#2b1a66)}
.h-reels i:nth-child(2){z-index:2;background-image:linear-gradient(160deg,#ffc21a,#7a5506)}
.h-reels i:nth-child(3){transform:rotate(7deg) translateY(18px);background-image:linear-gradient(160deg,#3ee6cf,#0f5a51)}
.h-reels i::after{content:"";position:absolute;left:50%;top:42%;width:34px;height:34px;margin:-17px 0 0 -17px;border-radius:50%;background:rgba(255,255,255,.22) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='white' d='M9 6v12l9-6z'/%3E%3C/svg%3E") center/16px no-repeat;border:1.5px solid rgba(255,255,255,.5)}
.h-door-body{padding:30px 32px 32px;display:flex;flex-direction:column;flex:1}
.h-door-tag{font-family:var(--mono);font-size:12px;font-weight:700;letter-spacing:2px;text-transform:uppercase;margin-bottom:10px}
.h-door.web .h-door-tag{color:var(--teal)}.h-door.cnt .h-door-tag{color:var(--yellow)}
.h-door h3{font-family:var(--display)!important;font-weight:400!important;font-size:clamp(40px,4.6vw,56px)!important;line-height:.95!important;letter-spacing:.5px;text-transform:uppercase;margin:0 0 12px!important;color:var(--white)}
.h-door p.d{color:var(--muted);font-size:15px;margin-bottom:20px!important}
.h-list{list-style:none!important;display:grid;gap:10px;margin:0 0 28px!important;padding:0!important}
.h-list li{display:flex;gap:10px;align-items:flex-start;font-size:14.5px;font-weight:500;list-style:none!important;margin:0!important}
.h-list li::before{display:none!important}
.h-list svg{width:18px;height:18px;flex-shrink:0;margin-top:2px}
.h-door.web .h-list svg{color:var(--teal)}.h-door.cnt .h-list svg{color:var(--yellow)}
.h-door-cta{margin-top:auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
.h-door-cta .h-btn{padding:14px 16px;font-size:14px}
.h-door.web .h-btn-primary{background:var(--teal)}
.h-door-help{margin-top:30px;text-align:center;font-size:14px;color:var(--muted)}
.h-door-help a{color:var(--white);font-weight:700;border-bottom:1.5px solid var(--teal);padding-bottom:1px}
.h-door-help a:hover{color:var(--teal)}

/* ============ EL SISTEMA (atraer → convertir → crecer) ============ */
/* ============ CÓMO SE CONECTA TODO (tarjetas animadas) ============ */
.h-flows{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.h-flow{--dur:4200ms;cursor:pointer;outline:none;display:flex;flex-direction:column}
.h-flow .h-flow-card{flex:1}
.h-flow-top{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.h-flow-n{flex-shrink:0;font-family:var(--mono);font-size:12px;font-weight:700;letter-spacing:1px;padding:5px 11px;border-radius:999px;border:1.5px solid var(--line);color:var(--muted);background:var(--bg);transition:all .35s var(--ease)}
.h-flow-bar{flex:1;height:2px;border-radius:2px;background:var(--line);overflow:hidden}
.h-flow-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,color-mix(in srgb,var(--c) 60%,transparent),var(--c));border-radius:2px}
.h-flow.done .h-flow-bar i{width:100%}
.h-flow.on .h-flow-bar i{animation:hFill var(--dur) linear forwards}
@keyframes hFill{from{width:0}to{width:100%}}
.h-flow.on .h-flow-n,.h-flow.done .h-flow-n{color:#000;background:var(--c);border-color:var(--c)}
.h-flow.on .h-flow-n{box-shadow:0 0 0 5px color-mix(in srgb,var(--c) 22%,transparent),0 0 24px color-mix(in srgb,var(--c) 60%,transparent)}
.h-flow-card{position:relative;border-radius:22px;border:1.5px solid var(--line);background:linear-gradient(180deg,#121016,#0c0b10);padding:12px 12px 22px;transition:border-color .4s var(--ease),box-shadow .4s var(--ease),transform .4s var(--ease)}
.h-flow:hover .h-flow-card,.h-flow:focus-visible .h-flow-card{border-color:color-mix(in srgb,var(--c) 45%,var(--line))}
.h-flow.on .h-flow-card{border-color:color-mix(in srgb,var(--c) 65%,transparent);box-shadow:0 30px 70px -30px color-mix(in srgb,var(--c) 70%,transparent),inset 0 0 0 1px color-mix(in srgb,var(--c) 20%,transparent);transform:translateY(-4px)}
.h-flow-vis{position:relative;height:190px;border-radius:14px;overflow:hidden;background-color:#08080b;background-image:radial-gradient(rgba(255,255,255,.07) 1px,transparent 1.2px);background-size:14px 14px}
.h-flow-vis::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 70% at 50% 55%,color-mix(in srgb,var(--c) 30%,transparent),transparent 70%);opacity:0;transition:opacity .5s}
.h-flow.on .h-flow-vis::before{opacity:1}
.h-flow-vis svg{position:absolute;inset:0;width:100%;height:100%;opacity:.45;filter:grayscale(.7);transition:opacity .5s,filter .5s}
.h-flow.on .h-flow-vis svg,.h-flow:hover .h-flow-vis svg{opacity:1;filter:none}
.h-flow-txt{padding:18px 10px 0}
.h-flow-txt h3{font-family:var(--display)!important;font-weight:400!important;font-size:36px!important;line-height:1!important;letter-spacing:.5px;text-transform:uppercase;margin:0 0 8px!important;color:#6f6f78;transition:color .35s}
.h-flow.on .h-flow-txt h3{color:var(--white)}
.h-flow-txt p{color:#6f6f78;font-size:14px;line-height:1.5;transition:color .35s}
.h-flow.on .h-flow-txt p{color:var(--muted)}
.h-flow-via{display:inline-block;margin-top:12px;font-size:10.5px;font-weight:800;letter-spacing:1px;text-transform:uppercase;padding:4px 10px;border-radius:999px;color:var(--c);border:1.5px solid color-mix(in srgb,var(--c) 50%,transparent)}
.h-flow.on .h-flow-via{color:#000;background:var(--c);border-color:var(--c)}

/* Ilustraciones */
.h-flow svg *{transform-box:fill-box}
.c-fill{fill:var(--c)}.c-stroke{stroke:var(--c)}
.i-draw{stroke-dasharray:34;stroke-dashoffset:0}
.h-flow.on .i-draw{animation:iDraw 2.4s ease-in-out infinite}
.h-flow.on .i-draw:nth-of-type(2){animation-delay:.3s}.h-flow.on .i-draw:nth-of-type(3){animation-delay:.6s}.h-flow.on .i-draw:nth-of-type(4){animation-delay:.9s}
@keyframes iDraw{0%{stroke-dashoffset:34}45%,100%{stroke-dashoffset:0}}
.h-flow.on .i-sheet{animation:iBobL 3.6s ease-in-out infinite;transform-origin:50% 100%}
.h-flow.on .i-phone{animation:iBob 3s ease-in-out infinite}
.h-flow.on .i-cam{animation:iBobR 3.4s ease-in-out infinite;transform-origin:50% 100%}
@keyframes iBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@keyframes iBobL{0%,100%{transform:rotate(-7deg) translateY(0)}50%{transform:rotate(-4deg) translateY(-4px)}}
@keyframes iBobR{0%,100%{transform:rotate(5deg) translateY(0)}50%{transform:rotate(2deg) translateY(-5px)}}
.i-sheet{transform:rotate(-7deg);transform-origin:50% 100%}
.i-cam{transform:rotate(5deg);transform-origin:50% 100%}
.h-flow.on .i-rec{animation:iBlink 1s steps(2) infinite}
@keyframes iBlink{50%{opacity:.15}}
.i-heart{opacity:0;transform-origin:center}
.h-flow.on .i-heart{animation:iHeart 2.4s ease-out infinite}
.h-flow.on .i-heart.b{animation-delay:1.2s}
@keyframes iHeart{0%{opacity:0;transform:translateY(0) scale(.6)}20%{opacity:1}100%{opacity:0;transform:translateY(-34px) scale(1.15)}}
.i-spark{transform-origin:center}
.h-flow.on .i-spark{animation:iSpark 2.6s ease-in-out infinite}
@keyframes iSpark{0%,100%{transform:scale(.7) rotate(0);opacity:.6}50%{transform:scale(1.15) rotate(45deg);opacity:1}}
.i-ring{transform-origin:center;opacity:0;vector-effect:non-scaling-stroke}
.h-flow.on .i-ring{animation:iRing 2.7s ease-out infinite}
.h-flow.on .i-ring.b{animation-delay:.9s}.h-flow.on .i-ring.c{animation-delay:1.8s}
@keyframes iRing{0%{transform:scale(.6);opacity:.9}100%{transform:scale(3.4);opacity:0}}
.i-dot{fill:#3a3550;transition:fill .3s}
.h-flow.on .i-dot{animation:iDot 2.8s ease-in-out infinite}
.h-flow.on .i-dot:nth-of-type(2){animation-delay:.35s}.h-flow.on .i-dot:nth-of-type(3){animation-delay:.7s}.h-flow.on .i-dot:nth-of-type(4){animation-delay:1.05s}.h-flow.on .i-dot:nth-of-type(5){animation-delay:1.4s}.h-flow.on .i-dot:nth-of-type(6){animation-delay:1.75s}
@keyframes iDot{0%,100%{fill:#3a3550}30%,60%{fill:var(--c)}}
.h-flow.on .i-ad{animation:iBob 3s ease-in-out infinite}
.i-cursor{transform:translate(70px,26px)}
.h-flow.on .i-cursor{animation:iCursor 3.6s var(--ease) infinite}
@keyframes iCursor{0%{transform:translate(70px,26px)}40%,55%{transform:translate(0,0)}48%{transform:translate(0,0) scale(.85)}100%{transform:translate(70px,26px)}}
.i-btn{transform-origin:center}
.h-flow.on .i-btn{animation:iPress 3.6s var(--ease) infinite}
@keyframes iPress{0%,44%,54%,100%{transform:scale(1)}48%{transform:scale(.9)}}
.i-ok{transform-origin:center;transform:scale(0)}
.h-flow.on .i-ok{animation:iOk 3.6s var(--ease) infinite}
@keyframes iOk{0%,50%{transform:scale(0)}60%{transform:scale(1.2)}66%,90%{transform:scale(1)}100%{transform:scale(0)}}
.i-bar{transform-origin:50% 100%}
.h-flow.on .i-bar{animation:iBar 2.6s var(--ease) infinite alternate}
.h-flow.on .i-bar:nth-of-type(2){animation-delay:.15s}.h-flow.on .i-bar:nth-of-type(3){animation-delay:.3s}.h-flow.on .i-bar:nth-of-type(4){animation-delay:.45s}.h-flow.on .i-bar:nth-of-type(5){animation-delay:.6s}
@keyframes iBar{from{transform:scaleY(.35)}to{transform:scaleY(1)}}
.i-line{stroke-dasharray:120;stroke-dashoffset:0}
.h-flow.on .i-line{animation:iLine 2.6s ease-in-out infinite}
@keyframes iLine{0%{stroke-dashoffset:120}60%,100%{stroke-dashoffset:0}}
.i-orbit{transform-origin:center}
.h-flow.on .i-orbit{animation:hSpin 14s linear infinite}
.h-flow.on .i-mag{animation:iMag 4s ease-in-out infinite}
@keyframes iMag{0%,100%{transform:translate(0,0)}50%{transform:translate(-46px,10px)}}

/* ============ PORTAFOLIO CON PESTAÑAS ============ */
.h-tabs{display:inline-flex;padding:5px;border-radius:999px;border:1.5px solid var(--line);background:var(--bg);gap:4px;margin-bottom:34px}
.h-tab{font-family:var(--body);font-size:14px;font-weight:700;padding:11px 22px;border-radius:999px;border:0;background:transparent;color:var(--muted);cursor:pointer;transition:background .25s,color .25s}
.h-tab[aria-selected="true"]{background:var(--white);color:#000}
.h-tab:hover:not([aria-selected="true"]){color:var(--white)}
.h-panel[hidden]{display:none!important}
.h-panel{animation:hFade .5s var(--ease)}
@keyframes hFade{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.h-works{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.h-work{background:var(--card);border:1.5px solid var(--line);border-radius:var(--r-md);overflow:hidden;transition:transform .3s var(--ease),border-color .3s;display:block}
.h-work:hover{transform:translateY(-5px);border-color:var(--purple)}
.h-work-img{aspect-ratio:16/10;overflow:hidden;border-bottom:1.5px solid var(--line);background:linear-gradient(160deg,#1d1a2b,#101013)}
.h-work-img img{color:transparent;font-size:0;width:100%;height:100%;object-fit:cover;object-position:top center;transition:transform 1.2s ease}
.h-work:hover .h-work-img img{transform:scale(1.05)}
.h-work-info{padding:16px 20px}
.h-work-info h3{font-family:var(--display)!important;font-weight:400!important;font-size:27px!important;line-height:1!important;letter-spacing:.5px;margin:0 0 4px!important;color:var(--white)}
.h-work-info p{font-size:13px;color:var(--muted)}
.h-reels-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}
.h-reel{position:relative;border-radius:18px;overflow:hidden;border:1.5px solid var(--line);cursor:pointer;background:#111;transition:transform .3s var(--ease),border-color .3s}
.h-reel::before{content:"";display:block;padding-top:177.78%}
.h-reel:hover{transform:translateY(-5px);border-color:var(--yellow)}
.h-reel-cover img{width:100%;height:100%;object-fit:cover;color:transparent}
.h-reel-cover{position:absolute;inset:0;background:linear-gradient(160deg,#17142a,#0b0b0d);background-size:cover;background-position:center;transition:transform 1.2s ease}
.h-reel:hover .h-reel-cover{transform:scale(1.06)}
.h-reel::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.7),transparent 45%);pointer-events:none}
.h-play{position:absolute;left:50%;top:46%;width:54px;height:54px;margin:-27px 0 0 -27px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.16);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:1.5px solid rgba(255,255,255,.4);color:#fff;z-index:2;transition:transform .25s,background .25s,color .25s}
.h-play svg{width:22px;height:22px;margin-left:3px}
.h-reel:hover .h-play,.h-reel:focus-visible .h-play{transform:scale(1.1);background:var(--yellow);color:#000;border-color:var(--yellow)}
.h-reel-lbl{position:absolute;left:12px;right:12px;bottom:12px;z-index:2;font-size:12px;font-weight:700;color:#fff}
/* Portafolio en dos bloques */
.h-port-block + .h-port-block{margin-top:80px;padding-top:70px;border-top:1.5px dashed var(--line)}
.h-port-sub{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:28px;flex-wrap:wrap}
.h-port-sub > div{display:flex;align-items:center;gap:16px}
.h-port-num{font-family:var(--mono);font-size:13px;font-weight:700;letter-spacing:2px;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;border:1.5px solid currentColor;flex-shrink:0}
.h-port-sub h3{font-family:var(--display)!important;font-weight:400!important;font-size:clamp(34px,4.4vw,52px)!important;line-height:1!important;letter-spacing:.5px;text-transform:uppercase;margin:0!important;color:var(--white)}
.h-port-sub p{color:var(--muted);font-size:15px;max-width:380px}
.h-port-more{margin-top:34px;display:flex;justify-content:center;flex-wrap:wrap;gap:12px}
.h-btn-teal{background:var(--teal)!important}

/* ============ NOSOTROS ============ */
.h-about{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:60px;align-items:center}
.h-about-img{position:relative;aspect-ratio:4/5;border-radius:var(--r-lg);overflow:hidden;border:1.5px solid var(--line);background:radial-gradient(400px 300px at 30% 20%,rgba(139,92,246,.4),transparent 70%),radial-gradient(400px 300px at 80% 90%,rgba(62,230,207,.25),transparent 70%),var(--card)}
.h-about-img img{width:100%;height:100%;object-fit:cover}
.h-about-img .ph{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;padding:30px}
.h-about-img .ph b{font-family:var(--display);font-weight:400;font-size:clamp(70px,9vw,120px);line-height:.9;color:transparent;-webkit-text-stroke:1.5px rgba(255,255,255,.55)}
.h-about-img .ph span{font-family:var(--mono);font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--muted)}
.h-about-img.has-img .ph{display:none}
.h-about-badge{position:absolute;left:18px;bottom:18px;background:var(--yellow);color:#000;font-weight:800;font-size:13px;padding:10px 14px;border-radius:12px;z-index:2}
.h-about-txt p{color:var(--muted);font-size:16px;margin-bottom:16px!important}
.h-about-txt p b{color:var(--white)}
.h-values{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:26px}
.h-value{border:1.5px solid var(--line);border-radius:16px;padding:16px;background:var(--card)}
.h-value b{display:block;font-size:15px;margin-bottom:4px}
.h-value span{font-size:13.5px;color:var(--muted)}

/* ============ FAQ ============ */
.h-faq{max-width:860px;margin:0 auto}
.h-faq details{border-bottom:1.5px solid var(--line);padding:22px 0}
.h-faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;font-weight:700;font-size:17px;color:var(--white)}
.h-faq summary::-webkit-details-marker{display:none}
.h-faq summary::after{content:"+";font-family:var(--display);font-size:36px;line-height:1;color:var(--teal);transition:transform .25s;flex-shrink:0}
.h-faq details[open] summary::after{transform:rotate(45deg);color:var(--yellow)}
.h-faq details p{color:var(--muted);margin-top:12px;font-size:15px;max-width:740px}

/* ============ CTA FINAL ============ */
.h-final{padding:20px 0 110px}
.h-final-box{border:1.5px solid var(--line);border-radius:32px;padding:clamp(40px,7vw,80px);text-align:center;position:relative;overflow:hidden;background:radial-gradient(600px 300px at 15% 0%,rgba(139,92,246,.30),transparent 70%),radial-gradient(500px 280px at 90% 100%,rgba(62,230,207,.18),transparent 70%),var(--bg2)}
.h-final-box h2{font-size:clamp(46px,8vw,104px)!important;margin-bottom:20px!important}
.h-final-box .h-lead{margin:0 auto 34px}
.h-final-box .h-cta-row{justify-content:center}
.h-final-foot{margin-top:26px;font-size:13px;color:var(--muted)}

/* Ventana de video */
.h-modal{position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(0,0,0,.86);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s;font-family:'Montserrat',system-ui,sans-serif}
.h-modal.open{opacity:1;visibility:visible}
.h-modal-box{position:relative;width:min(420px,92vw,calc(80vh*9/16));aspect-ratio:9/16;border-radius:20px;overflow:hidden;background:#000;border:1.5px solid #26262b;box-shadow:0 40px 120px -20px rgba(139,92,246,.55);transform:scale(.94);transition:transform .3s}
.h-modal.open .h-modal-box{transform:none}
.h-modal iframe{width:100%;height:100%;border:0;display:block;background:#000}
.h-modal-close{position:absolute;top:16px;right:16px;width:46px;height:46px;border-radius:50%;border:1.5px solid #3a3a42;background:#000;color:#fff;font-size:26px;line-height:1;cursor:pointer;display:grid;place-items:center;z-index:2;padding:0}
.h-modal-close:hover{background:#ffc21a;color:#000;border-color:#ffc21a}

/* Aparición al hacer scroll */
.h-reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease}
.h-reveal{animation:hShowLate .6s ease 2.5s forwards}
@keyframes hShowLate{to{opacity:1;transform:none}}
.h-reveal.in{opacity:1;transform:none}

/* ============ RESPONSIVE ============ */
@media (max-width:1100px){
  .h-flows{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:30px}
}
@media (max-width:1024px){
  .h-reels-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .h-works{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:960px){
  .h-hero{padding:44px 0 60px}
  .h-hero-grid{grid-template-columns:minmax(0,1fr);gap:40px}
  .h-visual{margin:0 auto;max-width:480px}
  .h-doors{grid-template-columns:minmax(0,1fr);max-width:600px;margin:0 auto}
  .h-door h3{font-size:clamp(40px,7vw,52px)!important}
  .h-door-cta{grid-template-columns:1fr 1fr}
  .h-door.ads{grid-template-columns:minmax(0,1fr)}
  .h-door.ads .h-door-vis{min-height:230px;border-right:0;border-bottom:1.5px solid var(--line)}
  .h-door.ads .h-list{grid-template-columns:minmax(0,1fr)}
  .h-door.ads .h-door-cta{max-width:none}
  .h-about{grid-template-columns:minmax(0,1fr);gap:36px}
  .h-about-img{max-width:440px;width:100%;margin:0 auto;aspect-ratio:4/4.4}
}
@media (max-width:640px){
  .h-sec{padding:72px 0}
  .h-long{display:none}.h-short{display:inline}
  .h-shape{opacity:.45}
  .h-hero .h-shape,.h-sec > .h-shape{display:none}
  /* hero centrado */
  .h-hero-copy{text-align:center}
  .h-tag{font-size:10.5px;letter-spacing:1.5px;margin-bottom:12px}
  .h-hero h1{font-size:min(15.5vw,66px)!important;line-height:.88!important;margin-bottom:16px!important}
  .h-hero .h-lead{font-size:15px;margin:0 auto 22px}
  .h-hero .h-cta-row{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:8px}
  .h-hero .h-btn{padding:14px 10px;font-size:13.5px}
  .h-proof{justify-content:center;gap:8px 16px;margin-top:24px;padding-top:18px}
  .h-proof span{font-size:12px}
  .h-visual{max-width:360px}
  .h-chip{font-size:11px;padding:8px 10px;gap:8px}
  .h-chip .ic{width:26px;height:26px}
  .h-chip small{font-size:9.5px}
  .h-chip.c1{left:-2%;bottom:10%}
  .h-chip.c2{right:26%;top:-2%}
  /* encabezados centrados */
  .h-head{flex-direction:column;align-items:center;text-align:center;gap:14px;margin-bottom:34px}
  .h-head .h-lead{margin:0 auto}
  .h-head .h-h2{margin-bottom:0!important}
  /* logos */
  .h-marquee{padding:18px 0}
  .h-marquee-track{gap:48px}
  .rm-home .rm-logo{height:38px}
  .rm-home .rm-logo img{height:clamp(16px,calc(40px / pow(var(--ar,4),.42)),32px);max-width:150px}
  .h-marquee::before,.h-marquee::after{width:40px}
  /* puertas */
  .h-door-vis{height:180px}
  .h-reels i{width:92px}
  .h-door-body{padding:24px 20px 22px}
  .h-door-cta{grid-template-columns:1fr}
  .h-ad-card{width:150px;margin-top:20px}
  .h-ad-media{height:90px;font-size:15px}
  .h-ad-chip{font-size:9.5px}
  .h-door.ads .h-door-vis{min-height:190px}
  .h-door.ads .h-door-body{padding:24px 20px 22px}
  .h-door.ads .h-ad-card{margin-top:0}
  .h-ad-chip.a{left:3%;top:auto;bottom:14px}
  .h-ad-chip.b{right:3%;top:12px}
  .h-door.ads .h-door-cta{grid-template-columns:1fr}
  /* sistema */
  .h-flows{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 10px}
  .h-flow-top{gap:8px;margin-bottom:10px}
  .h-flow-n{font-size:11px;padding:4px 9px}
  .h-flow-card{border-radius:18px;padding:8px 8px 16px}
  .h-flow.on .h-flow-card{transform:none}
  .h-flow-vis{height:118px;border-radius:12px}
  .h-flow-txt{padding:12px 6px 0}
  .h-flow-txt h3{font-size:25px!important;margin-bottom:5px!important}
  .h-flow-txt p{font-size:12.5px;line-height:1.4}
  .h-flow-via{font-size:9.5px;padding:3px 8px;margin-top:9px}
  /* portafolio */
  .h-port-block + .h-port-block{margin-top:56px;padding-top:50px}
  .h-port-sub{flex-direction:column;align-items:center;text-align:center;gap:10px;margin-bottom:22px}
  .h-port-sub > div{flex-direction:column;gap:10px}
  .h-port-num{width:40px;height:40px;font-size:12px}
  .h-port-more{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
  .h-port-more .h-btn{width:100%}
  .h-tabs{display:flex;width:100%}
  .h-tab{flex:1;padding:11px 8px;font-size:13px}
  .h-works{grid-template-columns:minmax(0,1fr);gap:14px}
  .h-reels-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .h-play{width:46px;height:46px;margin:-23px 0 0 -23px}
  /* nosotros */
  .h-about-txt{text-align:center}
  .h-values{grid-template-columns:minmax(0,1fr) minmax(0,1fr);text-align:left;gap:10px}
  .h-value{padding:13px}
  .h-value b{font-size:14px}.h-value span{font-size:12.5px}
  .h-final-box .h-btn{width:100%}
}
@media (prefers-reduced-motion:reduce){
  .rm-home *{animation:none!important;transition:none!important}
  .h-reveal{opacity:1;transform:none}
}

/* ============ TESTIMONIOS ============ */
.h-testis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.h-testi{margin:0;position:relative;background:var(--card);border:1.5px solid var(--line);border-radius:var(--r-md);padding:30px 28px 26px;display:flex;flex-direction:column;gap:22px;transition:transform .3s var(--ease),border-color .3s}
.h-testi:hover{transform:translateY(-4px);border-color:var(--purple)}
.h-testi-q{width:34px;height:34px;color:var(--purple)}
.h-testi blockquote{margin:0;padding:0;border:0;font-size:16px;line-height:1.6;color:#e7e7ec;flex:1;quotes:none;font-style:normal}
.h-testi blockquote::before,.h-testi blockquote::after{content:none}
.h-testi figcaption{display:flex;align-items:center;gap:12px;padding-top:18px;border-top:1.5px dashed var(--line)}
.h-testi-av{width:48px;height:48px;border-radius:50%;overflow:hidden;flex-shrink:0;display:grid;place-items:center;background:linear-gradient(135deg,var(--purple),var(--teal));font-family:var(--display);font-size:24px;color:#fff}
.h-testi-av img{width:100%;height:100%;object-fit:cover;background:#fff}
.h-testi figcaption b{display:block;font-size:15px}
.h-testi figcaption small{display:block;font-size:13px;color:var(--muted)}

/* ============ CONTACTO ============ */
.h-contact{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:center;text-align:left}
.h-contact .h-display{font-size:clamp(44px,6vw,84px)!important;margin-bottom:18px!important}
.h-contact .h-lead{margin:0 0 28px}
.h-contact .h-cta-row{justify-content:flex-start}
.h-contact-info{list-style:none!important;margin:28px 0 0!important;padding:0!important;display:grid;gap:10px}
.h-contact-info li{display:flex;align-items:center;gap:10px;font-size:15px;color:var(--muted);margin:0!important;list-style:none!important}
.h-contact-info li::before{display:none!important}
.h-contact-info svg{width:18px;height:18px;color:var(--teal);flex-shrink:0}
.h-form{background:rgba(0,0,0,.45);border:1.5px solid rgba(139,92,246,.55);border-radius:22px;padding:28px;box-shadow:0 30px 80px -30px rgba(139,92,246,.6)}
.h-form h3{font-family:var(--display)!important;font-weight:400!important;font-size:36px!important;line-height:1!important;text-transform:uppercase;margin:0 0 18px!important;color:var(--white);letter-spacing:.5px}
.h-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:18px}
.h-form label{display:flex;flex-direction:column;gap:6px;margin:0}
.h-form label.full{grid-column:1/-1}
.h-form label span{font-size:12px;font-weight:700;letter-spacing:.5px;color:var(--muted)}
.h-form input,.h-form select,.h-form textarea{width:100%;font-family:var(--body);font-size:15px;color:var(--white);background:#121216;border:1.5px solid var(--line);border-radius:12px;padding:12px 14px;outline:none;transition:border-color .2s,box-shadow .2s;margin:0;box-shadow:none;height:auto;line-height:1.4}
.h-form select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a7a7ae' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:18px;padding-right:40px}
.h-form select option{background:#121216;color:#fff}
.h-form input:focus,.h-form select:focus,.h-form textarea:focus{border-color:var(--purple);box-shadow:0 0 0 4px rgba(139,92,246,.2)}
.h-form textarea{resize:vertical;min-height:90px}
.h-form .h-btn{width:100%}
.h-form-note{margin-top:12px!important;font-size:12px;color:#6f6f78;text-align:center}
.h-form-err{background:rgba(255,90,95,.12);border:1.5px solid rgba(255,90,95,.4);color:#ffb3b5;font-size:14px;padding:10px 14px;border-radius:12px;margin-bottom:14px!important}
.h-form-ok{background:rgba(62,230,207,.08);border:1.5px solid rgba(62,230,207,.45);border-radius:22px;padding:34px 28px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:16px}
.h-form-ok > svg{width:52px;height:52px;color:#000;background:var(--teal);border-radius:50%;padding:12px}
.h-form-ok p{color:#e7e7ec;font-size:16px}
.h-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.h-inline-cta{display:flex;justify-content:center;padding:10px 0}

@media (max-width:960px){
  .h-testis{grid-template-columns:minmax(0,1fr);max-width:600px;margin:0 auto}
  .h-contact{grid-template-columns:minmax(0,1fr);gap:32px}
}
@media (max-width:640px){
  .h-testis{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;max-width:none;margin:0 -20px;padding:4px 20px 8px;scrollbar-width:none}
  .h-testis::-webkit-scrollbar{display:none}
  .h-testi{flex:0 0 86%;scroll-snap-align:center;padding:24px 20px}
  .h-contact{text-align:center}
  .h-contact .h-cta-row{justify-content:center}
  .h-contact .h-lead{margin:0 auto 22px}
  .h-contact-info{justify-content:center}
  .h-contact-info li{justify-content:center}
  .h-form{padding:20px 16px;text-align:left}
  .h-form-grid{grid-template-columns:minmax(0,1fr)}
  .h-form input,.h-form select,.h-form textarea{font-size:16px}
}
.h-consent{display:flex!important;flex-direction:row!important;align-items:flex-start;gap:10px!important;margin:0 0 16px!important;font-size:12.5px;color:var(--muted);line-height:1.5;cursor:pointer}
.h-consent input{width:18px!important;height:18px;flex-shrink:0;margin-top:1px!important;accent-color:var(--purple);padding:0!important}
.h-consent a{color:var(--teal);text-decoration:underline}
.h-consent span{font-size:12.5px!important;font-weight:500!important;letter-spacing:0!important}
@media (max-width:1320px){.h-hero .h-shape{display:none}}

/* ============ PÁGINA DE SERVICIOS ============ */
.rm-home{--lila:#c4b2ff}
.h-svp-intro{position:relative;padding:clamp(130px,16vw,190px) 0 clamp(60px,8vw,90px);overflow:hidden;background:radial-gradient(700px 360px at 10% 0%,rgba(139,92,246,.28),transparent 70%),radial-gradient(600px 320px at 100% 100%,rgba(62,230,207,.14),transparent 70%)}
.h-svp-intro .h-shape{position:absolute;color:var(--yellow);opacity:.8}
.h-svp-title{font-size:clamp(54px,9vw,120px)!important;margin:0 0 22px!important;max-width:14ch}
.h-svp-intro .h-lead{max-width:640px;margin-bottom:34px}
.h-svc-chips{display:flex;flex-wrap:wrap;gap:12px}
.h-svc-chip{display:inline-flex;align-items:center;gap:10px;padding:13px 20px;border-radius:999px;border:1.5px solid var(--line);background:var(--card);color:var(--white)!important;font-size:14px;font-weight:700;text-decoration:none!important;transition:border-color .25s,transform .25s var(--ease)}
.h-svc-chip i{width:10px;height:10px;border-radius:50%;background:var(--teal)}
.h-svc-chip.cnt i{background:var(--yellow)}.h-svc-chip.fto i{background:var(--lila)}.h-svc-chip.ads i{background:var(--purple)}
.h-svc-chip:hover{transform:translateY(-3px);border-color:var(--white)}

.h-svd{--acc:var(--teal);scroll-margin-top:80px}
.h-svd.cnt{--acc:var(--yellow)}.h-svd.fto{--acc:var(--lila)}.h-svd.ads{--acc:var(--purple)}
.h-svd-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(30px,5vw,70px);align-items:center}
.h-svd-copy{position:relative}
.h-svd-num{font-family:var(--display);font-size:clamp(80px,11vw,140px);line-height:.8;color:transparent;-webkit-text-stroke:1.5px var(--acc);opacity:.55;margin-bottom:8px}
.h-svd .h-door-tag{color:var(--acc)}
.h-svd-title{font-size:clamp(46px,6vw,78px)!important;margin:0 0 18px!important}
.h-svd .h-lead{margin-bottom:24px}
.h-svd .h-list svg{color:var(--acc)}
.h-svd .h-btn-primary{background:var(--acc);color:#000}
.h-svd.ads .h-btn-primary{color:#fff}
.h-svd-sectors{border:1.5px solid var(--line);border-radius:var(--r-lg);background:var(--card);padding:30px;position:relative;overflow:hidden}
.h-svd-sectors::before{content:"";position:absolute;inset:0;background:radial-gradient(360px 200px at 100% 0%,var(--acc),transparent 70%);opacity:.14;pointer-events:none}
.h-svd-sectors .lbl{font-family:var(--mono);font-size:12px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--muted);margin:0 0 18px!important;position:relative}
.h-svd-sectors ul{list-style:none!important;margin:0!important;padding:0!important;display:flex;flex-wrap:wrap;gap:10px;position:relative}
.h-svd-sectors li{list-style:none!important;margin:0!important;padding:10px 16px;border-radius:999px;border:1.5px solid var(--line);background:var(--bg);font-size:14px;font-weight:600;color:var(--white);transition:border-color .25s,color .25s}
.h-svd-sectors li::before{display:none!important}
.h-svd-sectors li:hover{border-color:var(--acc);color:var(--acc)}
.h-svd-vis{height:300px;border:1.5px solid var(--line);border-radius:var(--r-lg);background:radial-gradient(420px 220px at 50% 0%,rgba(139,92,246,.35),transparent 70%),var(--bg2)}
.h-svd-work{margin-top:clamp(40px,6vw,64px)}
.h-reels-grid.h-reels-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.h-works.h-works-4{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.h-works-4 .h-work-info h3{font-size:23px!important}
.h-vids{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.h-vid{border-radius:var(--r-md);overflow:hidden;border:1.5px solid var(--line);background:var(--card);transition:transform .3s var(--ease),border-color .3s}
.h-vid[data-id]{cursor:pointer}
.h-vid:hover,.h-vid:focus-visible{transform:translateY(-5px);border-color:var(--acc,var(--lila));outline:none}
.h-vid-img{position:relative;aspect-ratio:16/9;overflow:hidden;background:#111}
.h-vid-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s var(--ease)}
.h-vid:hover .h-vid-img img{transform:scale(1.05)}
.h-vid .h-play{top:50%}
.h-vid:hover .h-play{background:var(--lila);color:#000;border-color:var(--lila)}
.h-vid-info{padding:18px 22px}
.h-vid-info h3{font-family:var(--display)!important;font-weight:400!important;font-size:27px!important;line-height:1!important;letter-spacing:.5px;margin:0 0 4px!important;color:var(--white)}
.h-vid-info p{margin:0!important;font-size:13.5px;color:var(--muted)}

/* Visual de fotografía (cámara) */
.h-door.fto:hover{border-color:var(--lila)}
.h-door.fto .h-door-tag{color:var(--lila)}.h-door.fto .h-list svg{color:var(--lila)}
.h-door.fto .h-door-vis,.h-svd.fto .h-svd-vis{background:radial-gradient(420px 220px at 30% 0%,rgba(196,178,255,.32),transparent 70%),radial-gradient(360px 220px at 100% 100%,rgba(62,230,207,.16),transparent 70%),var(--bg2)}
.h-svd.web .h-svd-vis{background:radial-gradient(420px 220px at 20% 0%,rgba(62,230,207,.28),transparent 70%),radial-gradient(360px 220px at 100% 100%,rgba(139,92,246,.3),transparent 70%),var(--bg2)}
.h-svd.cnt .h-svd-vis{background:radial-gradient(420px 220px at 80% 0%,rgba(255,194,26,.26),transparent 70%),radial-gradient(360px 220px at 0% 100%,rgba(139,92,246,.3),transparent 70%),var(--bg2)}
.h-svd-vis{position:relative;overflow:hidden}
.h-cam{position:absolute;inset:0;display:grid;place-items:center}
.h-cam-frame{position:relative;width:70%;aspect-ratio:16/10;border-radius:12px;background:linear-gradient(160deg,rgba(196,178,255,.25),rgba(0,0,0,.3));border:1.5px solid rgba(255,255,255,.12)}
.h-cam-frame .c{position:absolute;width:22px;height:22px;border:2.5px solid #fff}
.h-cam-frame .tl{left:10px;top:10px;border-right:0;border-bottom:0}.h-cam-frame .tr{right:10px;top:10px;border-left:0;border-bottom:0}
.h-cam-frame .bl{left:10px;bottom:10px;border-right:0;border-top:0}.h-cam-frame .br{right:10px;bottom:10px;border-left:0;border-top:0}
.h-cam-frame .rec{position:absolute;left:40px;top:14px;font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:1.5px;color:#fff;display:flex;align-items:center;gap:6px}
.h-cam-frame .rec i{width:9px;height:9px;border-radius:50%;background:var(--red);animation:hRec 1.2s ease-in-out infinite}
.h-cam-frame .focus{position:absolute;left:50%;top:50%;width:54px;height:54px;margin:-27px 0 0 -27px;border:2px solid var(--lila);border-radius:6px;animation:hFocus 3s var(--ease) infinite}
@keyframes hRec{50%{opacity:.2}}
@keyframes hFocus{0%,100%{transform:scale(1)}40%{transform:scale(.72)}60%{transform:scale(.8)}}

/* Video horizontal en la ventana */
.h-modal-box.wide{width:min(1000px,92vw,calc(80vh*16/9));aspect-ratio:16/9}

@media (max-width:1024px){
  .h-works.h-works-4{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:960px){
  .h-svd-grid{grid-template-columns:minmax(0,1fr)}
  .h-svd .h-cta-row .h-btn{white-space:normal;text-align:center;justify-content:center}
  .h-svd-vis{height:240px}
}
@media (max-width:640px){
  .h-svp-title{font-size:clamp(46px,13vw,70px)!important}
  .h-svc-chip{padding:11px 16px;font-size:13px}
  .h-reels-grid.h-reels-4{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .h-works.h-works-4,.h-vids{grid-template-columns:1fr}
  .h-svd-sectors{padding:22px}
  .h-svd .h-cta-row .h-btn{width:100%}
  .h-svd-sectors li{font-size:13px;padding:8px 13px}
}
@media (prefers-reduced-motion:reduce){.h-cam-frame .rec i,.h-cam-frame .focus{animation:none}}

/* Respuesta inmediata al tocar */
.rm-home .h-btn:active,.rm-home .h-svc-chip:active{transform:scale(.97);transition-duration:.08s}
.h-svp-cta{margin-top:6px}
