/* ==========================================================
   MDZ INTERNET — styles.css (v3)
   Tono cálido, humano y de crecimiento · Identidad #501C6C
   ========================================================== */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

:root{
  /* Marca */
  --brand:#501C6C;
  --brand-2:#7A2E9E;
  --brand-3:#A94FD0;
  --accent:#E6007E;
  --accent-2:#F5C518;
  --grad:linear-gradient(120deg,#501C6C 0%,#8E2DA8 55%,#D6338E 100%);
  --grad-warm:linear-gradient(120deg,#8E2DA8,#E6007E);
  --grad-soft:linear-gradient(120deg,rgba(80,28,108,.10),rgba(230,0,126,.10));

  /* Superficies claras y cálidas */
  --bg:#ffffff;
  --bg-2:#fbf6fe;
  --bg-warm:#fff8f1;
  --surface:#ffffff;
  --line:#efe4f6;
  --line-strong:#e2d0ee;

  /* Texto */
  --ink:#2a1236;
  --ink-2:#4a3358;
  --muted:#7c6a8a;

  /* Oscuro cálido (footer) */
  --deep:#2a0e3a;
  --deep-2:#1e0829;
  --deep-line:rgba(255,255,255,.12);
  --deep-text:#f4ecfa;
  --deep-muted:#c2abd4;

  --green:#25d366;
  --shadow-sm:0 12px 30px -18px rgba(80,28,108,.4);
  --shadow:0 30px 66px -34px rgba(80,28,108,.42);
  --radius:20px;
  --radius-sm:14px;
  --maxw:1200px;
  --font-head:'Sora',system-ui,sans-serif;
  --font-body:'Inter',system-ui,sans-serif;
}

html{scroll-behavior:smooth;scroll-padding-top:90px}
body{font-family:var(--font-body);background:var(--bg);color:var(--ink);line-height:1.65;overflow-x:hidden;-webkit-font-smoothing:antialiased}
section[id]{scroll-margin-top:90px}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(169,79,208,.55);outline-offset:2px;border-radius:8px}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
ul{list-style:none}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}
h1,h2,h3,h4{font-family:var(--font-head);line-height:1.15;font-weight:700;letter-spacing:-.022em;color:inherit}
::selection{background:rgba(230,0,126,.2)}

.container{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 24px}
.gradient-text{background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}

/* ---------- Botones ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-family:var(--font-head);font-weight:600;font-size:.95rem;padding:.84rem 1.6rem;border-radius:999px;cursor:pointer;transition:transform .22s cubic-bezier(.2,.8,.3,1),box-shadow .25s,background .25s,border-color .25s,color .25s;white-space:nowrap;border:1px solid transparent;line-height:1}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(0)}
.btn-primary{background:var(--grad);color:#fff;box-shadow:0 16px 32px -16px rgba(80,28,108,.75)}
.btn-primary:hover{box-shadow:0 20px 40px -18px rgba(230,0,126,.7)}
.btn-warm{background:var(--accent);color:#fff;box-shadow:0 16px 32px -16px rgba(230,0,126,.8)}
.btn-outline-purple{background:transparent;border-color:var(--line-strong);color:var(--brand)}
.btn-outline-purple:hover{background:rgba(80,28,108,.06);border-color:var(--brand-3)}
.btn-outline-light{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.55);color:#fff}
.btn-outline-light:hover{background:rgba(255,255,255,.2);border-color:#fff}
.btn-whatsapp{background:var(--green);color:#052e14;box-shadow:0 16px 32px -16px rgba(37,211,102,.9)}
.btn-whatsapp:hover{filter:brightness(1.05)}
.btn-lg{padding:1rem 2rem;font-size:1.02rem}
.btn-sm{padding:.56rem 1.15rem;font-size:.85rem}
.btn-block{width:100%}
.hide-md{display:inline-flex}
.hide-sm{display:inline-flex}
@media(max-width:820px){.hide-md{display:none!important}}
@media(max-width:520px){.hide-sm{display:none!important}}

/* ---------- Navbar ---------- */
.navbar{
  --nav-fg:#ffffff;
  --nav-fg-dim:rgba(255,255,255,.8);
  position:fixed;top:0;left:0;right:0;z-index:120;padding:16px 0;
  border-bottom:1px solid transparent;
  transition:background .4s,backdrop-filter .4s,border-color .4s,padding .35s,box-shadow .4s;
}
.navbar.scrolled{--nav-fg:#2a1236;--nav-fg-dim:#5d4a6e;padding:10px 0;background:rgba(255,255,255,.92);backdrop-filter:blur(16px);border-bottom-color:var(--line);box-shadow:0 10px 30px -26px rgba(80,28,108,.6)}
.navbar-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.brand{display:flex;align-items:center}
.brand-logo{height:32px;width:auto;transition:transform .3s}
.logo-on-light{display:none}
.navbar.scrolled .logo-on-dark{display:none}
.navbar.scrolled .logo-on-light{display:block}
.brand:hover .brand-logo{transform:scale(1.04)}
.nav-links{display:flex;align-items:center;gap:3px}
.nav-link{position:relative;padding:.55rem .9rem;border-radius:10px;font-size:.9rem;font-weight:500;color:var(--nav-fg-dim);transition:color .25s,background .25s}
.nav-link:hover{color:var(--nav-fg);background:rgba(255,255,255,.14)}
.navbar.scrolled .nav-link:hover{background:rgba(80,28,108,.07)}
.nav-link.active{color:var(--nav-fg)}
.nav-link.active::after{content:"";position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:16px;height:2px;border-radius:2px;background:var(--grad)}
.navbar-actions{display:flex;align-items:center;gap:.6rem}
.btn-nav-outline{border-color:currentColor;color:var(--nav-fg);background:transparent}
.btn-nav-outline:hover{background:rgba(255,255,255,.16)}
.navbar.scrolled .btn-nav-outline:hover{background:rgba(80,28,108,.06)}
.nav-cta-mobile{display:none}
.nav-burger{display:none;flex-direction:column;gap:5px;padding:8px;border-radius:10px}
.nav-burger span{display:block;width:22px;height:2px;background:var(--nav-fg);border-radius:2px;transition:.3s}
.nav-burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-burger.open span:nth-child(2){opacity:0}
.nav-burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

@media(max-width:1023px){
  .nav-burger{display:flex}
  .nav-links{position:fixed;inset:0 0 0 auto;width:min(330px,86vw);flex-direction:column;align-items:stretch;justify-content:flex-start;gap:4px;padding:100px 22px 40px;background:var(--deep);border-left:1px solid var(--deep-line);transform:translateX(105%);transition:transform .42s cubic-bezier(.2,.8,.3,1)}
  .nav-links.open{transform:translateX(0)}
  .nav-links .nav-link{color:rgba(255,255,255,.82);font-size:1rem;padding:.85rem 1rem}
  .nav-links .nav-link:hover,.nav-links .nav-link.active{color:#fff;background:rgba(255,255,255,.08)}
  .nav-links .nav-link.active::after{display:none}
  .nav-cta-mobile{display:flex;flex-direction:column;gap:.6rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--deep-line)}
  .nav-cta-mobile .btn-outline-purple{color:#fff;border-color:rgba(255,255,255,.35)}
}

/* ---------- Hero ---------- */
.hero{
  position:relative;overflow:hidden;display:flex;align-items:center;min-height:94vh;padding:150px 0 120px;
  background:#1e0829;
}
.hero-video-bg{position:absolute;inset:0;z-index:0;overflow:hidden;background:#1e0829}
.hero-bg-video{width:100%;height:100%;object-fit:cover;display:block}
.hero-scrim{position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(90deg,rgba(24,6,33,.86) 0%,rgba(24,6,33,.62) 40%,rgba(24,6,33,.28) 74%,rgba(24,6,33,.16) 100%)}
.hero-inner{position:relative;z-index:3}
.hero-copy{max-width:680px}
.hero .hero-eyebrow{background:none;-webkit-text-fill-color:#F5C518;color:#F5C518;text-shadow:0 2px 16px rgba(0,0,0,.55);margin-bottom:.75rem}
.hero-title{font-size:clamp(2.2rem,4.9vw,3.8rem);font-weight:800;color:#fff;margin-bottom:1.3rem;letter-spacing:-.03em;text-shadow:0 3px 34px rgba(0,0,0,.4)}
.hero .gradient-text{background:linear-gradient(110deg,#F5C518 0%,#E6007E 55%,#A94FD0 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.hero-sub{font-size:clamp(1rem,1.5vw,1.17rem);color:rgba(255,255,255,.9);max-width:560px;margin-bottom:2.1rem;text-shadow:0 1px 18px rgba(0,0,0,.35)}
.hero-actions{display:flex;flex-wrap:wrap;gap:.9rem;margin-bottom:2.2rem}
.hero-tags{display:flex;flex-wrap:wrap;gap:1.3rem}
.hero-tags li{position:relative;font-size:.85rem;color:rgba(255,255,255,.92);padding-left:1.35rem;font-weight:500;text-shadow:0 1px 12px rgba(0,0,0,.4)}
.hero-tags li::before{content:"";position:absolute;left:0;top:.34em;width:14px;height:8px;border-left:2px solid var(--accent-2);border-bottom:2px solid var(--accent-2);transform:rotate(-45deg)}

/* ---------- Burbujas (aparecen al bajar, dentro de una sección) ---------- */
.bubbles-layer{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.hb{position:absolute;border-radius:50%;overflow:hidden;box-shadow:0 44px 90px -46px rgba(80,28,108,.55);opacity:.55;will-change:transform;border:7px solid rgba(255,255,255,.75);--px:0px;--py:0px}
.hb img{width:100%;height:100%;object-fit:cover;display:block}
.bubbles-layer .hb-a{width:300px;height:300px;top:4%;left:-100px;animation:bfloat1 5.5s ease-in-out infinite}
.bubbles-layer .hb-b{width:230px;height:230px;top:42%;right:-105px;animation:bfloat2 6.5s ease-in-out infinite}
.bubbles-layer .hb-c{width:260px;height:260px;bottom:-90px;right:8%;animation:bfloat3 6s ease-in-out infinite}
@keyframes bfloat1{0%,100%{transform:translate(var(--px),var(--py)) rotate(-2deg)}50%{transform:translate(var(--px),calc(var(--py) - 24px)) rotate(2deg)}}
@keyframes bfloat2{0%,100%{transform:translate(var(--px),var(--py)) rotate(2deg)}50%{transform:translate(var(--px),calc(var(--py) + 20px)) rotate(-3deg)}}
@keyframes bfloat3{0%,100%{transform:translate(var(--px),var(--py)) rotate(0)}50%{transform:translate(calc(var(--px) - 20px),calc(var(--py) - 16px)) rotate(3deg)}}

@media(max-width:900px){
  .hero{padding:130px 0 90px;min-height:auto}
  .hero-scrim{background:linear-gradient(180deg,rgba(24,6,33,.74),rgba(24,6,33,.56))}
  .bubbles-layer .hb{border-width:4px;opacity:.5}
  .bubbles-layer .hb-a{width:180px;height:180px;left:-64px}
  .bubbles-layer .hb-b{width:140px;height:140px;right:-64px}
  .bubbles-layer .hb-c{width:150px;height:150px}
}

/* ---------- Media cards (fotos reales con brillo y tilt) ---------- */
.media-card{margin:0}
.media-frame{position:relative;border-radius:var(--radius);overflow:hidden;background:var(--brand);box-shadow:var(--shadow);aspect-ratio:16/10;transform-style:preserve-3d;isolation:isolate;transition:transform .3s cubic-bezier(.2,.8,.3,1),box-shadow .3s}
.media-frame::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(24,6,33,0) 42%,rgba(24,6,33,.55));opacity:.9;transition:opacity .3s;pointer-events:none}
.media-frame::after{content:"";position:absolute;top:-60%;left:-90%;width:55%;height:220%;z-index:2;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:rotate(12deg);opacity:0;transition:left .85s cubic-bezier(.2,.8,.3,1),opacity .3s;pointer-events:none;mix-blend-mode:screen}
.media-gif{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.01);transition:transform .8s cubic-bezier(.2,.8,.3,1),filter .4s;filter:saturate(1.02)}
.media-card:hover .media-frame{transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(-6px);box-shadow:0 28px 54px -30px rgba(80,28,108,.7)}
.media-card:hover .media-frame::after{left:125%;opacity:1}
.media-card:hover .media-frame::before{opacity:1}
.media-card:hover .media-gif{transform:scale(1.08);filter:saturate(1.14) contrast(1.03)}
.media-tag{position:absolute;z-index:3;left:.85rem;bottom:.85rem;padding:.4rem .75rem;border-radius:999px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.3);color:#fff;font-family:var(--font-head);font-size:.66rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;backdrop-filter:blur(10px);transform:translateY(8px);opacity:0;transition:transform .35s,opacity .35s;pointer-events:none}
.media-card:hover .media-tag{transform:none;opacity:1}
.media-caption{margin-top:.9rem;transition:transform .3s}
.media-card:hover .media-caption{transform:translateY(-2px)}
.media-caption strong{display:block;font-family:var(--font-head);font-size:1.02rem;color:var(--ink)}
.media-caption span{font-size:.86rem;color:var(--muted)}
.media-hero .media-frame{border-radius:24px}

.media-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem}
@media(max-width:1024px){.media-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.media-grid{grid-template-columns:1fr}}

/* ---------- Trust bar ---------- */
.trust-bar{position:relative;z-index:5;margin-top:-62px;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
.trust-item{background:var(--surface);padding:1.5rem 1.2rem;text-align:center}
.trust-item strong{display:block;font-family:var(--font-head);font-size:clamp(2rem,3.4vw,2.7rem);font-weight:800;line-height:1.05;background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.trust-item > span{font-size:.82rem;color:var(--muted)}
@media(max-width:700px){.trust-bar{grid-template-columns:repeat(2,1fr);margin-top:-46px}}

/* ---------- Secciones ---------- */
.section{position:relative;padding:clamp(70px,9vw,114px) 0}
.section-head{max-width:760px;margin:0 auto clamp(38px,5.5vw,62px);text-align:center}
.eyebrow{display:inline-block;font-family:var(--font-head);font-size:.76rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;margin-bottom:.9rem;background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.section-title{font-size:clamp(1.65rem,3.4vw,2.6rem);margin-bottom:1rem;color:var(--ink)}
.section-sub{color:var(--muted);font-size:clamp(.98rem,1.25vw,1.08rem)}
.grow{background:var(--bg)}
.help{background:var(--bg-warm)}
.plans{background:var(--bg-2)}
.services{background:var(--bg)}
.community{background:var(--bg-2);position:relative;overflow:hidden}
.community .container{position:relative;z-index:2}
.partners{background:var(--bg)}

/* ---------- Cómo te ayudamos ---------- */
.help-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem}
.help-card{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.8rem 1.6rem;transition:transform .3s,border-color .3s,box-shadow .3s}
.help-card:hover{transform:translateY(-6px);border-color:var(--line-strong);box-shadow:var(--shadow-sm)}
.help-card h3{font-size:1.08rem;margin-bottom:.55rem}
.help-card p{font-size:.9rem;color:var(--muted)}
.help-icon{display:block;width:50px;height:50px;border-radius:14px;margin-bottom:1.1rem;background:var(--grad-soft);border:1px solid var(--line-strong);position:relative}
.help-icon::after{content:"";position:absolute;inset:0;margin:auto;width:24px;height:24px;background:var(--grad);-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}
.help-icon.plan::after{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18h6M10 21h4'/%3E%3Cpath d='M12 3a6 6 0 0 0-4 10.5c.8.7 1 1.4 1 2.5h6c0-1.1.2-1.8 1-2.5A6 6 0 0 0 12 3z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18h6M10 21h4'/%3E%3Cpath d='M12 3a6 6 0 0 0-4 10.5c.8.7 1 1.4 1 2.5h6c0-1.1.2-1.8 1-2.5A6 6 0 0 0 12 3z'/%3E%3C/svg%3E")}
.help-icon.install::after{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.7 6.3a4 4 0 0 0-5.4 5.4L3 18v3h3l6.3-6.3a4 4 0 0 0 5.4-5.4l-2.6 2.6-2.1-2.1z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.7 6.3a4 4 0 0 0-5.4 5.4L3 18v3h3l6.3-6.3a4 4 0 0 0 5.4-5.4l-2.6 2.6-2.1-2.1z'/%3E%3C/svg%3E")}
.help-icon.support::after{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 8a6 6 0 0 0-12 0'/%3E%3Crect x='3' y='8' width='4' height='8' rx='2'/%3E%3Crect x='17' y='8' width='4' height='8' rx='2'/%3E%3Cpath d='M21 16a4 4 0 0 1-4 4h-3'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 8a6 6 0 0 0-12 0'/%3E%3Crect x='3' y='8' width='4' height='8' rx='2'/%3E%3Crect x='17' y='8' width='4' height='8' rx='2'/%3E%3Cpath d='M21 16a4 4 0 0 1-4 4h-3'/%3E%3C/svg%3E")}
.help-icon.portal::after{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='14' rx='2'/%3E%3Cpath d='M8 21h8M12 18v3'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='14' rx='2'/%3E%3Cpath d='M8 21h8M12 18v3'/%3E%3C/svg%3E")}
.help-icon.safe::after{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3 5 6v5c0 4.5 3 8.3 7 10 4-1.7 7-5.5 7-10V6z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3 5 6v5c0 4.5 3 8.3 7 10 4-1.7 7-5.5 7-10V6z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E")}
.help-icon.grow2::after{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 17l6-6 4 4 8-8'/%3E%3Cpath d='M21 7v5h-5'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 17l6-6 4 4 8-8'/%3E%3Cpath d='M21 7v5h-5'/%3E%3C/svg%3E")}
@media(max-width:1024px){.help-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.help-grid{grid-template-columns:1fr}}

/* ---------- Accesos rápidos ---------- */
.quick{padding:0 0 clamp(60px,7vw,88px);background:var(--bg-warm)}
.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;padding-top:clamp(60px,7vw,88px)}
.quick-card{display:flex;align-items:center;gap:1rem;padding:1.2rem 1.3rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);transition:transform .28s,border-color .28s,box-shadow .28s}
.quick-card:hover{transform:translateY(-4px);border-color:var(--line-strong);box-shadow:var(--shadow-sm)}
.quick-card strong{display:block;font-family:var(--font-head);font-size:.95rem;color:var(--ink)}
.quick-card small{color:var(--muted);font-size:.79rem}
.quick-icon{flex:0 0 auto;width:44px;height:44px;border-radius:12px;background:var(--grad-soft);border:1px solid var(--line-strong);position:relative}
.quick-icon::after{content:"";position:absolute;inset:0;margin:auto;width:21px;height:21px;background:var(--grad);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain}
.quick-icon.portal::after{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='14' rx='2'/%3E%3Cpath d='M8 21h8M12 18v3'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='14' rx='2'/%3E%3Cpath d='M8 21h8M12 18v3'/%3E%3C/svg%3E")}
.quick-icon.pago::after{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='5' width='20' height='14' rx='2'/%3E%3Cpath d='M2 10h20'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='5' width='20' height='14' rx='2'/%3E%3Cpath d='M2 10h20'/%3E%3C/svg%3E")}
.quick-icon.speed::after{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M12 14 16 9'/%3E%3Cpath d='M4 18a9 9 0 1 1 16 0'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M12 14 16 9'/%3E%3Cpath d='M4 18a9 9 0 1 1 16 0'/%3E%3C/svg%3E")}
.quick-icon.soporte2::after{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M21 11.5a8.4 8.4 0 0 1-9 8.4 9 9 0 0 1-3.8-.8L3 21l1.9-5A8.4 8.4 0 0 1 12 3a8.4 8.4 0 0 1 9 8.5z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M21 11.5a8.4 8.4 0 0 1-9 8.4 9 9 0 0 1-3.8-.8L3 21l1.9-5A8.4 8.4 0 0 1 12 3a8.4 8.4 0 0 1 9 8.5z'/%3E%3C/svg%3E")}
@media(max-width:1024px){.quick-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.quick-grid{grid-template-columns:1fr}}

/* ---------- Planes ---------- */
.plans .container{max-width:1120px}
.plans-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;align-items:stretch}
.plan-card{position:relative;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:22px;overflow:hidden;transform-style:preserve-3d;will-change:transform;transition:transform .22s cubic-bezier(.2,.8,.3,1),border-color .3s,box-shadow .3s}
.plan-card::before{content:"";position:absolute;inset:0;z-index:6;border-radius:inherit;padding:1.5px;background:conic-gradient(from var(--angle,0deg),rgba(230,0,126,.95),rgba(168,79,208,.95),rgba(34,211,238,.8),rgba(230,0,126,.95));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;opacity:0;transition:opacity .3s;pointer-events:none}
.plan-card::after{content:"";position:absolute;inset:0;z-index:5;border-radius:inherit;background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%),rgba(255,255,255,.4),transparent 45%);opacity:0;transition:opacity .3s;pointer-events:none;mix-blend-mode:soft-light}
.plan-card:hover{transform:perspective(1000px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(-8px);border-color:transparent;box-shadow:var(--shadow)}
.plan-card:hover::before{opacity:1;animation:planBorder 4s linear infinite}
.plan-card:hover::after{opacity:1}
.plan-card.popular{border-color:transparent;box-shadow:0 0 0 2px rgba(230,0,126,.5),var(--shadow);animation:planPopular 5s ease-in-out infinite}
.plan-ribbon{position:absolute;top:14px;right:-38px;transform:rotate(38deg);z-index:7;background:var(--accent);color:#fff;font-family:var(--font-head);font-weight:700;font-size:.66rem;letter-spacing:.03em;padding:.3rem 2.6rem}
.plan-demo{position:relative;height:146px;display:grid;place-items:center;background:linear-gradient(160deg,#1c0a2e,#3a0f4e 55%,#6b1d8f);border-bottom:1px solid rgba(255,255,255,.08);overflow:hidden;isolation:isolate}
.plan-aurora{position:absolute;inset:-45%;z-index:0;background:radial-gradient(circle at 28% 30%,rgba(230,0,126,.55),transparent 42%),radial-gradient(circle at 74% 26%,rgba(80,28,108,.9),transparent 48%),radial-gradient(circle at 58% 82%,rgba(34,211,238,.28),transparent 44%);filter:blur(28px);opacity:.95;animation:planAurora 16s ease-in-out infinite alternate;pointer-events:none}
.plan-grid{position:absolute;inset:0;z-index:1;background-image:linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px);background-size:26px 26px;-webkit-mask-image:radial-gradient(120% 100% at 50% 20%,#000 30%,transparent 78%);mask-image:radial-gradient(120% 100% at 50% 20%,#000 30%,transparent 78%);opacity:.55;animation:planGrid 22s linear infinite;pointer-events:none}
.plan-demo.has-photo{background:#12051c}
.plan-demo.has-photo::before{content:"";position:absolute;inset:-8%;z-index:0;background-image:var(--plan-photo);background-size:cover;background-position:center;opacity:.32;filter:saturate(.9);transform:scale(1.05);animation:planPhoto 16s ease-in-out infinite alternate}
.plan-demo.has-photo::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(150deg,rgba(18,5,28,.72),rgba(80,28,108,.42) 45%,rgba(230,0,126,.46));pointer-events:none}
.plan-pixel-field{position:absolute;inset:0;z-index:3;pointer-events:none;opacity:0;background-image:radial-gradient(circle,rgba(255,255,255,.9) 1px,transparent 1.5px),radial-gradient(circle,rgba(230,0,126,.85) 1px,transparent 1.5px),radial-gradient(circle,rgba(34,211,238,.8) 1px,transparent 1.5px);background-size:9px 9px,9px 9px,9px 9px;background-position:0 0,4px 4px,2px 6px;mix-blend-mode:screen;transition:opacity .35s;-webkit-mask-image:radial-gradient(140% 140% at var(--mx,50%) var(--my,50%),#000 0%,#000 42%,transparent 76%);mask-image:radial-gradient(140% 140% at var(--mx,50%) var(--my,50%),#000 0%,#000 42%,transparent 76%)}
.plan-card:hover .plan-pixel-field{opacity:.95;animation:pixelTwinkle 1.6s steps(3,end) infinite}
@keyframes pixelTwinkle{0%,100%{background-position:0 0,4px 4px,2px 6px;opacity:.55}50%{background-position:9px 9px,13px 13px,11px 15px;opacity:.95}}
.plan-demo-scan{position:absolute;inset:0;z-index:2;background:repeating-linear-gradient(0deg,rgba(255,255,255,.07) 0 1px,transparent 1px 4px);mix-blend-mode:overlay;opacity:.55;pointer-events:none;animation:planScan 7s linear infinite}
.plan-demo svg{position:relative;z-index:3;width:100%;height:100%;filter:drop-shadow(0 18px 26px rgba(10,2,18,.55))}
.plan-card:hover .plan-demo.has-photo::before{opacity:.68;animation-duration:9s}
.plan-body{padding:1.25rem 1.15rem;display:flex;flex-direction:column;flex:1}
.plan-chip{align-self:flex-start;font-size:.66rem;font-weight:700;letter-spacing:.03em;padding:.28rem .62rem;border-radius:999px;margin-bottom:.7rem;color:var(--brand);background:rgba(80,28,108,.08);border:1px solid rgba(80,28,108,.16)}
.plan-name{font-size:1.18rem;margin-bottom:.4rem}
.plan-speed{display:flex;align-items:baseline;gap:.4rem;margin-bottom:.75rem}
.plan-speed-num{position:relative;display:inline-block;font-family:var(--font-head);font-size:2.1rem;font-weight:800;line-height:1;letter-spacing:-.02em}
.plan-speed-num .num-fill{background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.plan-speed-num .num-tech{position:absolute;inset:0;color:transparent;-webkit-text-fill-color:transparent;-webkit-text-stroke:1.3px var(--accent);-webkit-mask-image:repeating-linear-gradient(90deg,#000 0 4px,transparent 4px 9px);mask-image:repeating-linear-gradient(90deg,#000 0 4px,transparent 4px 9px);-webkit-mask-size:18px 100%;mask-size:18px 100%;opacity:0;pointer-events:none;transition:opacity .2s;white-space:nowrap}
.plan-card:hover .plan-speed-num .num-tech{opacity:.95;animation:techDash 1.2s linear infinite}
.plan-speed span{color:var(--muted);font-weight:600;font-size:.9rem}
.plan-desc{font-size:.83rem;color:var(--muted);margin-bottom:.9rem}
.plan-list{display:flex;flex-direction:column;gap:.45rem;margin-bottom:.9rem;flex:1}
.plan-list li{position:relative;padding-left:1.55rem;font-size:.81rem;color:var(--ink-2)}
.plan-list li::before{content:"";position:absolute;left:0;top:.34em;width:12px;height:6px;border-left:2px solid var(--accent);border-bottom:2px solid var(--accent);transform:rotate(-45deg)}
.plan-tag{font-size:.72rem;color:var(--muted);padding:.5rem .65rem;border-radius:10px;background:var(--bg-2);border:1px dashed var(--line-strong);margin-bottom:.9rem}
.plan-price{position:relative;display:flex;align-items:baseline;gap:.4rem;padding-top:.8rem;margin-bottom:.8rem;border-top:1px solid var(--line);overflow:hidden;isolation:isolate}
.plan-price-pixels{position:absolute;inset:0;z-index:0;width:100%;height:100%;display:block;pointer-events:none;opacity:.9}
.plan-price > :not(.plan-price-pixels){position:relative;z-index:1}
.plan-price strong{font-family:var(--font-head);font-size:1.45rem;font-weight:800;color:var(--brand)}
.plan-price span{font-size:.74rem;color:var(--muted)}
.plan-body .btn{font-size:.88rem;padding:.74rem 1rem}
.plan-card.is-selected [data-plan-cta]{pointer-events:none;opacity:.72;box-shadow:none}
.plan-card.is-custom{display:block;grid-column:1/-1;padding:1.05rem 1.2rem}
.plan-card.is-custom .plan-demo{display:none}
.plan-card.is-custom .plan-body{display:grid;grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"chip price btn" "name price btn" "desc price btn";align-items:center;gap:.3rem 1.2rem;padding:0}
.plan-card.is-custom .plan-chip{grid-area:chip;margin:0;justify-self:start}
.plan-card.is-custom .plan-name{grid-area:name;margin:0;font-size:1.15rem}
.plan-card.is-custom .plan-desc{grid-area:desc;margin:0;font-size:.82rem;max-width:78ch}
.plan-card.is-custom .plan-list,.plan-card.is-custom .plan-tag{display:none}
.plan-card.is-custom .plan-price{grid-area:price;align-self:center;flex-direction:column;align-items:flex-end;gap:0;margin:0;padding:0;border:0}
.plan-card.is-custom .plan-price strong{font-size:1.2rem}
.plan-card.is-custom .plan-price span,.plan-card.is-custom .plan-price-pixels{display:none}
.plan-card.is-custom .plan-body .btn-block{grid-area:btn;width:auto;min-width:140px;font-size:.82rem;padding:.68rem 1.2rem;align-self:center}
@media(max-width:700px){
  .plan-card.is-custom .plan-body{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem}
  .plan-card.is-custom .plan-price{flex-direction:row;align-items:baseline;gap:.35rem;padding-top:.55rem;border-top:1px solid var(--line);width:100%}
  .plan-card.is-custom .plan-body .btn-block{width:100%}
}

/* Checkout: plan elegido + mapa */
.plans-grid.is-selecting{grid-template-columns:minmax(250px,330px) minmax(0,1fr);align-items:start}
.plans-grid.is-selecting .plan-card:not(.is-selected){display:none}
.plans-grid.is-selecting .plan-checkout{display:flex}
.plan-checkout{display:none;flex-direction:column;gap:.7rem;scroll-margin-top:100px;background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:1.35rem;box-shadow:var(--shadow-sm);min-width:0}
.plan-checkout-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.15rem}
.plan-checkout-head .eyebrow{margin-bottom:.35rem}
.plan-checkout-head h3{font-size:1.3rem;margin:0;color:var(--ink)}
.plan-checkout-close{font-family:var(--font-head);font-size:.78rem;font-weight:600;color:var(--accent);background:none;border:none;padding:.2rem 0;cursor:pointer;white-space:nowrap}
.plan-checkout-close:hover{color:var(--brand)}
.plan-checkout-label{font-size:.68rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin-top:.1rem}
.plan-select,.plan-search{width:100%;padding:.78rem .85rem;border:1px solid var(--line-strong);border-radius:12px;background:var(--bg-2);font-family:var(--font-body);font-size:.9rem;color:var(--ink)}
.plan-select:focus,.plan-search:focus{outline:3px solid rgba(169,79,208,.25);border-color:var(--brand-3)}
.plan-search::placeholder{color:var(--muted)}
.plan-map{position:relative;width:100%;height:360px;border-radius:16px;overflow:hidden;border:1px solid var(--line);background:var(--bg-2)}
.plan-map-help{font-size:.76rem;color:var(--muted);line-height:1.55}
.plan-map-fallback{color:var(--accent);font-weight:600;border-bottom:1px solid rgba(230,0,126,.35)}
.plan-selected-address{display:flex;flex-direction:column;gap:.1rem;padding:.75rem .85rem;border-radius:12px;background:var(--bg-2);border:1px solid var(--line)}
.plan-selected-address[hidden]{display:none}
.plan-selected-address strong{font-size:.68rem;text-transform:uppercase;letter-spacing:.09em;color:var(--brand)}
.plan-selected-address span{font-size:.9rem;color:var(--ink)}
.plan-selected-address small{font-size:.76rem;color:var(--muted)}
.plan-checkout .btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}
.plan-map-error-inner{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:1.5rem;text-align:center;gap:.4rem;color:var(--muted);font-size:.85rem}
.plan-map-error-inner strong{color:var(--ink);font-family:var(--font-head)}
@media(max-width:1024px){
  .plans-grid.is-selecting{grid-template-columns:1fr}
  .plan-map{height:320px}
}
.plans-note{text-align:center;margin-top:2.4rem;color:var(--muted);font-size:.95rem}
.plans-note a{color:var(--accent);font-weight:600;border-bottom:1px solid rgba(230,0,126,.4)}
@media(max-width:1100px){.plans-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.plans-grid{grid-template-columns:1fr}}

/* Animaciones de las escenas de planes */
.pscene .ps-bubble{opacity:0;animation:psBubble 3s ease-in-out infinite}
.pscene .ps-heart{opacity:0;animation:psHeart 2.4s ease-in-out infinite}
.pscene .ps-progress{transform-box:fill-box;transform-origin:left center;animation:psProgress 3s ease-in-out infinite}
.pscene .ps-play{transform-box:fill-box;transform-origin:center;animation:psPlay 1.8s ease-in-out infinite}
.pscene .ps-device{transform-box:fill-box;transform-origin:center;animation:psDevice 2.6s ease-in-out infinite}
.pscene .ps-wave{transform-box:fill-box;transform-origin:center;animation:psWave 2.4s ease-out infinite}
.pscene .ps-button{transform-box:fill-box;transform-origin:center;animation:psDevice 1.6s ease-in-out infinite}
.pscene .ps-rocket{transform-box:fill-box;transform-origin:center;animation:psRocket 2.6s ease-in-out infinite}
.pscene .ps-line{stroke-dasharray:10 8;animation:psLine .7s linear infinite}
.pscene .ps-bar{transform-box:fill-box;transform-origin:center bottom;animation:psBar 2.6s ease-in-out infinite}
.pscene .ps-spark{opacity:0;animation:psHeart 2s ease-in-out infinite}
.pscene .ps-screen-a{animation:psSwapA 5s ease-in-out infinite}
.pscene .ps-screen-b{animation:psSwapB 5s ease-in-out infinite}
.pscene .ps-ping-dot{transform-box:fill-box;transform-origin:center;animation:psDevice 1.1s ease-in-out infinite}
.pscene .ps-float{transform-box:fill-box;transform-origin:center;animation:psFloat 5s ease-in-out infinite}
.pscene .ps-float-slow{transform-box:fill-box;transform-origin:center;animation:psFloatSlow 6.5s ease-in-out infinite}
.pscene .ps-controller{transform-box:fill-box;transform-origin:center;animation:psFloat 4.2s ease-in-out infinite}
.pscene .ps-crosshair{transform-box:fill-box;transform-origin:center;animation:psCrosshair 3.2s ease-in-out infinite}
.pscene .ps-gauge{animation:psGauge 4.5s ease-in-out infinite}

@keyframes psBubble{0%{opacity:0;transform:translateY(10px)}25%,70%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(-6px)}}
@keyframes psHeart{0%{opacity:0;transform:translateY(6px) scale(.7)}40%{opacity:1;transform:translateY(0) scale(1)}100%{opacity:0;transform:translateY(-16px) scale(1)}}
@keyframes psProgress{0%{transform:scaleX(0)}60%{transform:scaleX(1)}100%{transform:scaleX(1)}}
@keyframes psPlay{0%,100%{transform:scale(1)}50%{transform:scale(1.18)}}
@keyframes psRing{0%{transform:scale(.5);opacity:.9}100%{transform:scale(1.4);opacity:0}}
@keyframes psDevice{0%,100%{opacity:.4}50%{opacity:1}}
@keyframes psWave{0%{transform:scale(.55);opacity:.9}100%{transform:scale(1.25);opacity:0}}
@keyframes psRocket{0%{transform:translateY(10px)}50%{transform:translateY(-10px)}100%{transform:translateY(10px)}}
@keyframes psLine{to{stroke-dashoffset:-18}}
@keyframes psBar{0%{transform:scaleY(.35)}50%{transform:scaleY(1)}100%{transform:scaleY(.35)}}
@keyframes psSwapA{0%,38%{opacity:1}50%,88%{opacity:0}100%{opacity:1}}
@keyframes psSwapB{0%,38%{opacity:0}50%,88%{opacity:1}100%{opacity:0}}
@keyframes psFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes psFloatSlow{0%,100%{transform:translateY(0)}50%{transform:translateY(4px)}}
@keyframes psCrosshair{0%,100%{transform:scale(1);opacity:.75}50%{transform:scale(1.12);opacity:1}}
@keyframes psGauge{0%{stroke-dashoffset:170}55%,100%{stroke-dashoffset:26}}
@keyframes psParticle{0%{transform:translateY(8px);opacity:0}30%{opacity:.65}70%{opacity:.5}100%{transform:translateY(-26px);opacity:0}}
@keyframes planAurora{0%{transform:translate3d(-2%,-1%,0) scale(1)}100%{transform:translate3d(2%,2%,0) scale(1.08)}}
@keyframes planGrid{to{background-position:0 26px,26px 0}}

/* Animaciones premium de las tarjetas de planes */
@property --angle{syntax:'<angle>';initial-value:0deg;inherits:false}
@keyframes planBorder{to{--angle:360deg}}
@keyframes planPhoto{0%{transform:scale(1.05) translate3d(0,0,0)}100%{transform:scale(1.15) translate3d(-2%,-1.5%,0)}}
@keyframes planScan{to{background-position:0 28px}}
@keyframes techDash{to{-webkit-mask-position:18px 0;mask-position:18px 0}}
@keyframes planPopular{0%,100%{box-shadow:0 0 0 2px rgba(230,0,126,.45),var(--shadow)}50%{box-shadow:0 0 0 2px rgba(230,0,126,.7),0 18px 46px -24px rgba(230,0,126,.6),var(--shadow)}}

@media(prefers-reduced-motion:reduce){.pscene *,.scene *{animation:none!important}.plan-card.popular{animation:none!important}.plan-card::before,.plan-aurora,.plan-grid,.plan-pixel-field,.plan-demo.has-photo::before,.plan-demo-scan,.num-tech{animation:none!important}}

/* ---------- Gaming ---------- */
.gaming{background:var(--bg-warm);position:relative;overflow:hidden}
.swarm-canvas{position:absolute;inset:0;z-index:5;width:100%;height:100%;display:block;pointer-events:none}
.gaming-wrap{display:grid;grid-template-columns:1fr 1fr;gap:2.6rem;align-items:center}
.gaming-list{display:flex;flex-direction:column;gap:.7rem;margin:1.4rem 0 1.8rem}
.gaming-list li{position:relative;padding-left:1.7rem;color:var(--ink-2)}
.gaming-list li::before{content:"";position:absolute;left:0;top:.34em;width:14px;height:8px;border-left:2px solid var(--accent);border-bottom:2px solid var(--accent);transform:rotate(-45deg)}
.gaming-visual{position:relative}
.scene{border-radius:26px;padding:0;aspect-ratio:1.4;background:radial-gradient(120% 120% at 20% 0%,#2a0e3a,#12051c 60%,#0b0312);border:1px solid rgba(255,255,255,.12);box-shadow:0 34px 74px -32px rgba(42,14,58,.7),inset 0 1px 0 rgba(255,255,255,.08);position:relative;overflow:hidden;isolation:isolate}
.scene::before{content:"";position:absolute;inset:-35%;z-index:0;background:radial-gradient(circle at 26% 30%,rgba(230,0,126,.55),transparent 42%),radial-gradient(circle at 78% 22%,rgba(80,28,108,.9),transparent 48%),radial-gradient(circle at 56% 82%,rgba(34,211,238,.26),transparent 44%);filter:blur(30px);animation:planAurora 18s ease-in-out infinite alternate}
.scene::after{content:"";position:absolute;inset:0;z-index:1;background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:28px 28px;-webkit-mask-image:radial-gradient(120% 100% at 50% 25%,#000 25%,transparent 78%);mask-image:radial-gradient(120% 100% at 50% 25%,#000 25%,transparent 78%);opacity:.4;animation:planGrid 26s linear infinite;pointer-events:none}
.scene-svg{width:100%;height:auto;position:relative;z-index:2;display:block}
.scene-video{position:absolute;inset:0;z-index:2;width:100%;height:100%;object-fit:cover;object-position:center 38%;display:block;background:#0b0312;transition:opacity .25s ease}
.scene-video.is-fading{opacity:0}
.scene-vignette{position:absolute;inset:0;z-index:3;pointer-events:none;background:linear-gradient(180deg,rgba(10,3,16,.2),transparent 28%,transparent 68%,rgba(10,3,16,.4))}
.scene-gaming .wave{transform-box:fill-box;transform-origin:center;animation:psWave 2.4s ease-out infinite}
.scene-gaming .wave.w2{animation-delay:.6s}
.scene-gaming .wave.w3{animation-delay:1.2s}
.scene-gaming .g-particle{opacity:0;animation:psParticle 5s ease-in-out infinite}
.scene-gaming .ps-controller{transform-box:fill-box;transform-origin:center;animation:psFloat 4.6s ease-in-out infinite}
.scene-gaming .ps-hud{transform-box:fill-box;transform-origin:center;animation:psFloatSlow 6s ease-in-out infinite}
.scene-gaming .ps-ping-dot{transform-box:fill-box;transform-origin:center;animation:psDevice 1.1s ease-in-out infinite}
@media(max-width:960px){.gaming-wrap{grid-template-columns:1fr;gap:2rem}}

/* ---------- Galería de juegos (halftone reveal) ---------- */
.game-gallery{margin-top:clamp(52px,6vw,84px);padding-top:clamp(42px,5vw,64px);border-top:1px solid var(--line)}
.game-gallery-head{max-width:660px;margin-bottom:1.7rem}
.game-gallery-head .section-title{font-size:clamp(1.7rem,3vw,2.35rem)}
.game-gallery-head .section-sub{margin-top:.55rem}
.game-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.game-card{position:relative;aspect-ratio:16/10;border-radius:18px;overflow:hidden;background:#0b0312;border:1px solid rgba(80,28,108,.16);box-shadow:var(--shadow-sm);cursor:crosshair;isolation:isolate;transition:border-color .3s,box-shadow .3s,transform .3s}
.game-card:hover{border-color:rgba(230,0,126,.45);box-shadow:0 28px 54px -30px rgba(80,28,108,.6);transform:translateY(-3px)}
.game-card::after{content:"";position:absolute;inset:0;z-index:3;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);pointer-events:none}
.game-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;transform:scale(1.02)}
.game-halftone{position:absolute;inset:0;z-index:1;width:100%;height:100%;display:block;pointer-events:none}
.game-info{position:absolute;inset:auto 0 0 0;z-index:2;padding:1.1rem 1rem .9rem;display:flex;flex-direction:column;gap:.12rem;background:linear-gradient(to top,rgba(9,3,16,.94),rgba(9,3,16,.55) 58%,transparent);pointer-events:none}
.game-info strong{font-family:var(--font-head);font-size:.98rem;font-weight:700;color:#fff;letter-spacing:-.01em}
.game-info span{font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--game-accent,#A94FD0);font-weight:600}
@media(max-width:1024px){.game-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.game-grid{grid-template-columns:1fr}}

/* ---------- Scroll expand ---------- */
.scroll-expand-section{position:relative;background:#0b0312}
.se-track{position:relative;height:250vh}
.se-stage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;background:#0b0312}
.se-frame{position:absolute;inset:0;clip-path:inset(21% 29% 21% 29% round 26px);will-change:clip-path;overflow:hidden}
.se-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.35);transform-origin:center;will-change:transform}
.se-scrim{position:absolute;inset:0;z-index:1;background:linear-gradient(to top,rgba(5,1,10,.85),rgba(5,1,10,.12) 45%,rgba(5,1,10,.45));opacity:0;will-change:opacity;pointer-events:none}
.se-title{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;padding:0 8%;text-align:center;font-family:var(--font-head);font-size:clamp(1.1rem,3.6vw,2.9rem);font-weight:800;letter-spacing:-.03em;line-height:1.08;color:#fff;text-shadow:0 4px 30px rgba(0,0,0,.55);pointer-events:none;will-change:opacity,transform}
.se-overlay{position:absolute;inset:0;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.9rem;text-align:center;padding:6%;opacity:0;will-change:opacity,transform;color:#fff}
.se-overlay .eyebrow{background:none;-webkit-text-fill-color:#F5C518;color:#F5C518}
.se-overlay .section-title{text-shadow:0 3px 28px rgba(0,0,0,.7)}
.se-overlay .gradient-text{background:none;-webkit-text-fill-color:#F5C518;color:#F5C518;text-shadow:0 3px 28px rgba(0,0,0,.7)}
.se-overlay .section-title{color:#fff;max-width:18ch;font-size:clamp(1.9rem,4.4vw,3.4rem)}
.se-overlay p{max-width:56ch;color:rgba(255,255,255,.92);text-shadow:0 2px 16px rgba(0,0,0,.8)}
.se-overlay .btn{margin-top:.5rem}
@media(max-width:640px){
  .se-title{font-size:clamp(1.05rem,5.2vw,1.7rem)}
  .se-overlay .section-title{font-size:clamp(1.8rem,7vw,2.6rem)}
}

/* ---------- Servicios ---------- */
.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.1rem}
.service-card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.6rem 1.4rem;transition:transform .3s,border-color .3s,box-shadow .3s}
.service-card:hover{transform:translateY(-6px);border-color:var(--line-strong);box-shadow:var(--shadow-sm)}
.service-card h3{font-size:1.03rem;margin-bottom:.55rem;color:var(--ink)}
.service-card p{font-size:.87rem;color:var(--muted);margin-bottom:1rem;flex:1}
.service-who{display:inline-block;font-size:.72rem;color:var(--brand);background:rgba(80,28,108,.07);border:1px solid rgba(80,28,108,.16);padding:.3rem .7rem;border-radius:999px;margin-bottom:1rem;width:fit-content}
.service-icon{display:block;width:46px;height:46px;border-radius:13px;background:var(--grad-soft);border:1px solid var(--line-strong);margin-bottom:1.1rem;position:relative}
.service-icon::after{content:"";position:absolute;inset:0;margin:auto;width:23px;height:23px;background:var(--grad);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain}
.service-icon.empresas::after{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'%3E%3Cpath d='M3 21h18M5 21V5h9v16M14 21V9h5v12M8 9h3M8 13h3M8 17h3'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'%3E%3Cpath d='M3 21h18M5 21V5h9v16M14 21V9h5v12M8 9h3M8 13h3M8 17h3'/%3E%3C/svg%3E")}
.service-icon.dedicado::after{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Crect x='3' y='4' width='18' height='6' rx='2'/%3E%3Crect x='3' y='14' width='18' height='6' rx='2'/%3E%3Cpath d='M7 7h.01M7 17h.01'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Crect x='3' y='4' width='18' height='6' rx='2'/%3E%3Crect x='3' y='14' width='18' height='6' rx='2'/%3E%3Cpath d='M7 7h.01M7 17h.01'/%3E%3C/svg%3E")}
.service-icon.tv::after{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='7' width='20' height='13' rx='2'/%3E%3Cpath d='m8 3 4 4 4-4'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='7' width='20' height='13' rx='2'/%3E%3Cpath d='m8 3 4 4 4-4'/%3E%3C/svg%3E")}
.service-icon.futbol::after{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='m12 7 3 2-1 3.5h-4L9 9z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='m12 7 3 2-1 3.5h-4L9 9z'/%3E%3C/svg%3E")}
.service-icon.dns-fam::after{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3 5 6v5c0 4.5 3 8.3 7 10 4-1.7 7-5.5 7-10V6z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3 5 6v5c0 4.5 3 8.3 7 10 4-1.7 7-5.5 7-10V6z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E")}
.service-icon.dns-emp::after{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='11' width='18' height='9' rx='2'/%3E%3Cpath d='M7 11V7a5 5 0 0 1 10 0v4'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='11' width='18' height='9' rx='2'/%3E%3Cpath d='M7 11V7a5 5 0 0 1 10 0v4'/%3E%3C/svg%3E")}
.service-icon.dns-inst::after{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 9 12 4 2 9l10 5z'/%3E%3Cpath d='M6 11v5c0 1.5 3 3 6 3s6-1.5 6-3v-5'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 9 12 4 2 9l10 5z'/%3E%3Cpath d='M6 11v5c0 1.5 3 3 6 3s6-1.5 6-3v-5'/%3E%3C/svg%3E")}
.link-cta{font-family:var(--font-head);font-weight:600;font-size:.86rem;color:var(--accent);width:fit-content}
.link-cta:hover{color:var(--brand)}
.service-cta{background:linear-gradient(160deg,#3a0f4e,#501c6c);border-color:transparent;color:#fff}
.service-cta h3{color:#fff}
.service-cta p{color:var(--deep-muted)}
@media(max-width:1024px){.services-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.services-grid{grid-template-columns:1fr}}

/* ---------- Empresas y eventos ---------- */
.split-solutions{background:var(--bg-2)}
.split-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin-top:clamp(36px,4vw,54px);background:var(--line);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.split-half{position:relative;overflow:hidden;isolation:isolate;padding:clamp(38px,5vw,68px) clamp(24px,5vw,72px);color:#fff}
.split-half::before{content:"";position:absolute;inset:-25%;z-index:0;pointer-events:none;filter:blur(40px)}
.split-half::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:30px 30px;-webkit-mask-image:radial-gradient(120% 110% at 50% 25%,#000 25%,transparent 78%);mask-image:radial-gradient(120% 110% at 50% 25%,#000 25%,transparent 78%);opacity:.45}
.split-empresas{background:linear-gradient(145deg,#1c0a2e,#3a0f4e 55%,#501c6c)}
.split-empresas::before{background:radial-gradient(circle at 22% 26%,rgba(169,79,208,.42),transparent 45%),radial-gradient(circle at 80% 80%,rgba(230,0,126,.38),transparent 45%)}
.split-eventos{background:linear-gradient(145deg,#3a0f4e,#8e2da8 48%,#c2187a)}
.split-eventos::before{background:radial-gradient(circle at 25% 30%,rgba(34,211,238,.25),transparent 45%),radial-gradient(circle at 80% 80%,rgba(230,0,126,.45),transparent 45%)}
.split-inner{position:relative;z-index:1;max-width:520px;margin:0 auto}
.split-icon{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:16px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);margin-bottom:1.15rem;box-shadow:inset 0 1px 0 rgba(255,255,255,.16)}
.split-icon svg{width:26px;height:26px}
.split-empresas .split-icon{color:#F5C518}
.split-eventos .split-icon{color:#22D3EE}
.split-half .eyebrow{background:none;-webkit-text-fill-color:currentColor;color:#F5C518}
.split-eventos .eyebrow{color:#22D3EE}
.split-half h3{color:#fff;font-size:clamp(1.6rem,2.5vw,2.15rem);margin-bottom:.65rem}
.split-half p{color:rgba(255,255,255,.82);font-size:.94rem;max-width:46ch}
.split-list{display:flex;flex-direction:column;gap:.55rem;margin:1.25rem 0 1.5rem}
.split-list li{position:relative;padding-left:1.7rem;font-size:.9rem;color:rgba(255,255,255,.86)}
.split-list li::before{content:"";position:absolute;left:0;top:.38em;width:13px;height:7px;border-left:2px solid #F5C518;border-bottom:2px solid #F5C518;transform:rotate(-45deg)}
.split-eventos .split-list li::before{border-color:#22D3EE}
.split-note{text-align:center;margin-top:1.6rem;font-size:.82rem;color:var(--muted)}
@media(max-width:860px){.split-grid{grid-template-columns:1fr}}

/* ---------- Community ---------- */
.community-top{display:grid;grid-template-columns:1fr 1fr;gap:2.4rem;align-items:center;margin-bottom:3rem}
.community-copy .section-title{text-align:left}
.community-copy .section-sub{max-width:520px}
.community-stats{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.stat{text-align:center;padding:1.5rem 1rem;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-sm)}
.stat strong{display:block;font-family:var(--font-head);font-weight:800;font-size:2.3rem;line-height:1.05;background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.stat > span{font-size:.82rem;color:var(--muted)}
.google-rating{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.55rem;margin-bottom:1.3rem;font-size:.85rem;color:var(--muted)}
.google-rating-stars{color:#F5C518;font-size:1.05rem;letter-spacing:.08em}
.google-rating strong{font-family:var(--font-head);font-size:1.15rem;font-weight:800;color:var(--ink)}
.testimonials{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem}
.testimonial{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.6rem;box-shadow:var(--shadow-sm)}
.testimonial blockquote{font-size:.92rem;color:var(--ink-2);margin-bottom:1.2rem;position:relative;padding-top:1.5rem}
.testimonial blockquote::before{content:"“";position:absolute;top:-.5rem;left:0;font-family:var(--font-head);font-size:2.8rem;line-height:1;color:var(--accent);opacity:.5}
.testimonial-author{display:flex;align-items:center;gap:.75rem}
.avatar{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--grad);color:#fff;font-family:var(--font-head);font-weight:700}
.testimonial-author strong{display:block;font-size:.88rem;color:var(--ink)}
.testimonial-author small{color:var(--muted);font-size:.76rem}
.testimonials-note{text-align:center;margin-top:1.1rem;font-size:.78rem;color:var(--muted)}
.testimonials-note a{color:var(--accent);font-weight:600;border-bottom:1px solid rgba(230,0,126,.3)}
@media(max-width:900px){.community-top{grid-template-columns:1fr;gap:1.8rem}.testimonials{grid-template-columns:1fr}}
@media(max-width:480px){.community-stats{grid-template-columns:1fr}}

/* ---------- Partners ---------- */
.partners-loop-wrap{position:relative;overflow:hidden;padding:.4rem 0 .6rem}
.partners-track{display:flex;width:max-content;animation:partnerLoop var(--loop-duration,30s) linear infinite;will-change:transform}
.partners-track:hover,.partners-track:focus-within{animation-play-state:paused}
.partners-loop-group{display:flex;gap:1rem;padding-right:1rem}
.partner-card{flex:0 0 auto;width:190px;height:112px;display:grid;place-items:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.2rem;transition:transform .3s,border-color .3s,box-shadow .3s}
.partner-card:hover{transform:translateY(-5px);border-color:var(--line-strong);box-shadow:var(--shadow-sm)}
.partner-card img{max-height:52px;max-width:100%;width:auto;object-fit:contain;filter:grayscale(1);opacity:.7;transition:filter .3s,opacity .3s}
.partner-card:hover img{filter:none;opacity:1}
.partner-card .partner-name{font-family:var(--font-head);font-weight:600;font-size:1rem;text-align:center;color:var(--muted)}
.partners-fade{position:absolute;top:0;bottom:0;width:90px;z-index:2;pointer-events:none}
.partners-fade.left{left:0;background:linear-gradient(90deg,var(--bg),rgba(255,255,255,0))}
.partners-fade.right{right:0;background:linear-gradient(270deg,var(--bg),rgba(255,255,255,0))}
.partners-fallback{text-align:center;color:var(--muted);font-size:.9rem;padding:2rem;border:1px dashed var(--line-strong);border-radius:var(--radius)}
@keyframes partnerLoop{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
@media(max-width:640px){.partner-card{width:160px;height:100px}.partners-fade{width:50px}}

/* ---------- Contacto ---------- */
.contact{background:linear-gradient(180deg,#fff8f1,#fbf6fe);overflow:hidden}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:2.6rem;align-items:start}
.contact .section-title{color:var(--ink)}
.contact .section-sub{color:var(--muted)}
.contact-buttons{display:flex;flex-wrap:wrap;gap:.9rem;margin:1.8rem 0 1.4rem}
.contact-phones{display:flex;flex-direction:column;gap:.45rem;margin-top:1.6rem;padding-top:1.4rem;border-top:1px solid var(--line-strong)}
.contact-phones-title{font-family:var(--font-head);font-size:.74rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);margin-bottom:.3rem}
.contact-phones a{font-size:.95rem;font-weight:500;color:var(--ink);width:fit-content;transition:color .2s,transform .2s}
.contact-phones a:hover{color:var(--accent);transform:translateX(3px)}
.contact-quick{display:flex;flex-wrap:wrap;gap:1.4rem;margin-top:1.4rem}
.contact-simple{max-width:640px;margin:0 auto;text-align:center}
.contact-cta{margin:1.8rem 0 0}
.contact-phones-center{align-items:center}
.contact-quick-center{justify-content:center}
.quick-link{font-weight:600;font-size:.9rem;color:var(--accent);border-bottom:1px solid rgba(230,0,126,.4);padding-bottom:2px}
.quick-link:hover{color:var(--brand)}
.contact-form{background:#fff;border:1px solid var(--line);border-radius:22px;padding:2rem;box-shadow:var(--shadow)}
.contact-form h3{font-size:1.22rem;margin-bottom:1.4rem;color:var(--ink)}
.field{margin-bottom:1rem}
.field label{display:block;font-size:.82rem;font-weight:600;margin-bottom:.4rem;color:var(--ink-2)}
.field input,.field select,.field textarea{width:100%;padding:.85rem 1rem;border-radius:12px;font-family:inherit;font-size:.92rem;background:var(--bg-2);border:1px solid var(--line);color:var(--ink);transition:border-color .25s,box-shadow .25s,background .25s}
.field input::placeholder,.field textarea::placeholder{color:#ab99b8}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--brand-3);box-shadow:0 0 0 3px rgba(169,79,208,.16);background:#fff}
.field textarea{resize:vertical;min-height:84px}
.contact-form .btn{margin-top:.4rem}
.form-hint{font-size:.78rem;color:var(--muted);text-align:center;margin-top:.8rem}
.form-success{color:#0f9d63;font-size:.88rem;text-align:center;margin-top:.8rem}
@media(max-width:900px){.contact-grid{grid-template-columns:1fr;gap:2rem}}

/* ---------- Footer ---------- */
.footer{background:var(--deep);padding:clamp(50px,7vw,80px) 0 30px;color:var(--deep-text)}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:2.4rem}
.footer-brand img{height:42px;width:auto;margin-bottom:1.1rem}
.footer-brand p{font-size:.88rem;color:var(--deep-muted);max-width:320px}
.footer-phones{display:flex;flex-direction:column;gap:.4rem;margin-top:1.2rem}
.footer-phones span{font-family:var(--font-head);font-size:.72rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--deep-muted)}
.footer-phones a{font-size:.88rem;color:var(--deep-text);transition:color .2s}
.footer-phones a:hover{color:var(--accent-2)}
.footer-social{display:flex;gap:.6rem;margin-top:1.3rem}
.footer-social a{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;font-size:.72rem;font-weight:700;background:rgba(255,255,255,.06);border:1px solid var(--deep-line);color:var(--deep-muted);transition:.25s}
.footer-social a:hover{background:var(--accent);color:#fff;transform:translateY(-3px)}
.footer-col h4{font-size:.9rem;margin-bottom:1.1rem;color:#fff}
.footer-col ul{display:flex;flex-direction:column;gap:.6rem}
.footer-col a{font-size:.86rem;color:var(--deep-muted);transition:color .2s,padding-left .2s}
.footer-col a:hover{color:var(--accent-2);padding-left:3px}
.footer-bottom{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:3rem;padding-top:1.6rem;border-top:1px solid var(--deep-line);font-size:.8rem;color:var(--deep-muted)}
@media(max-width:900px){.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.footer-grid{grid-template-columns:1fr}}

/* ---------- Animaciones ---------- */
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
.reveal{opacity:0;transform:translateY(32px);transition:opacity .7s cubic-bezier(.2,.8,.3,1),transform .7s cubic-bezier(.2,.8,.3,1)}
.reveal.in{opacity:1;transform:none}
.fade-up{opacity:0;transform:translateY(22px);animation:fadeUp .8s cubic-bezier(.2,.8,.3,1) forwards}
.fade-up:nth-child(1){animation-delay:.05s}
.fade-up:nth-child(2){animation-delay:.15s}
.fade-up:nth-child(3){animation-delay:.25s}
.fade-up:nth-child(4){animation-delay:.35s}
.fade-up:nth-child(5){animation-delay:.45s}
.fade-up:nth-child(6){animation-delay:.55s}
@keyframes fadeUp{to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal,.fade-up{opacity:1!important;transform:none!important}.partners-track{animation:none!important}.partners-loop-wrap{overflow-x:auto}.media-card:hover .media-gif{transform:none}.media-frame::after{display:none}}

/* ---------- WhatsApp flotante ---------- */
.wa-float{position:fixed;right:20px;bottom:20px;z-index:130;display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:var(--green);color:#052e14;box-shadow:0 16px 34px -12px rgba(37,211,102,.9);transition:transform .25s}
.wa-float:hover{transform:scale(1.08)}
.wa-float svg{width:30px;height:30px}
@media(max-width:640px){.wa-float{right:14px;bottom:14px;width:52px;height:52px}}