/* =========================================================
   SOPORTE INNOVA — Hoja de estilos principal
   Paleta: Blanco #FFFFFF · Verde Turquesa #02D1B6 · Negro Azulado #010F11
   ========================================================= */

:root{
  --white:#FFFFFF;
  --orange:#02D1B6;
  --magenta:#010F11;
  --ink:#15111C;
  --ink-soft:#241C2E;
  --gray-900:#1E1926;
  --gray-600:#6B6478;
  --gray-300:#D9D5E0;
  --gray-100:#F1EFF4;
  --gray-50:#F8F7FA;
  --grad-signal: linear-gradient(120deg, var(--orange) 0%, var(--magenta) 100%);
  --grad-signal-soft: linear-gradient(120deg, rgba(2,209,182,.12) 0%, rgba(1,15,17,.12) 100%);

  --font-display:'Sora', 'Segoe UI', sans-serif;
  --font-body:'Inter', 'Segoe UI', sans-serif;
  --font-mono:'JetBrains Mono', monospace;

  --radius-s:8px;
  --radius-m:16px;
  --radius-l:28px;
  --shadow-card: 0 20px 45px -25px rgba(21,17,28,.35);
  --shadow-float: 0 12px 40px -12px rgba(21,17,28,.45);
  --header-h:108px;
  --container:1200px;
}

*,*::before,*::after{box-sizing:border-box;}
/* Refuerzo: algunas clases (.btn, etc.) fijan su propio "display" con la
   misma especificidad que la hoja de estilos por defecto del navegador
   para [hidden], por lo que sin esto un elemento oculto vía JS (hidden=true)
   podía seguir mostrándose. */
[hidden]{display:none!important;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--font-body);
  color:var(--ink);
  background:var(--white);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;margin:0;padding:0;}
button{font-family:inherit;cursor:pointer;}
input,select,textarea{font-family:inherit;font-size:1rem;}

h1,h2,h3,h4{
  font-family:var(--font-display);
  font-weight:700;
  line-height:1.1;
  margin:0 0 .5em;
  letter-spacing:-.01em;
}
p{line-height:1.7;color:var(--gray-600);margin:0 0 1em;}
.eyebrow{
  display:inline-flex;align-items:center;gap:.5em;
  font-family:var(--font-mono);
  font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--magenta);font-weight:600;
  margin-bottom:1rem;
}
.eyebrow::before{
  content:"";width:22px;height:2px;background:var(--grad-signal);display:inline-block;
}

.container{width:100%;max-width:var(--container);margin:0 auto;padding:0 24px;}
.section{padding:96px 0;}
.section-tight{padding:64px 0;}
.section-alt{background:var(--gray-50);}
.section-dark{background:var(--ink);color:var(--white);}
.section-dark p{color:var(--gray-300);}
.section-dark h2, .section-dark h3{color:var(--white);}

:focus-visible{outline:3px solid var(--orange);outline-offset:3px;}

/* Skip link */
.skip-link{
  position:absolute;left:-999px;top:0;background:var(--ink);color:var(--white);
  padding:12px 20px;z-index:9999;border-radius:0 0 8px 0;
}
.skip-link:focus{left:0;}

/* ============ Botones ============ */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.6em;
  padding:14px 28px;border-radius:999px;border:none;
  font-family:var(--font-display);font-weight:600;font-size:.95rem;
  transition:transform .25s ease, box-shadow .25s ease, background .25s ease, color .25s ease;
  white-space:nowrap;
}
.btn-primary{
  background:var(--grad-signal);color:var(--white);
  box-shadow:0 14px 30px -12px rgba(1,15,17,.55);
}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 18px 36px -10px rgba(1,15,17,.65);}
.btn-ghost{
  background:transparent;color:var(--white);border:1.5px solid rgba(255,255,255,.5);
}
.btn-ghost:hover{background:rgba(255,255,255,.12);border-color:#fff;}
.btn-outline{
  background:transparent;color:var(--ink);border:1.5px solid var(--gray-300);
}
.btn-outline:hover{border-color:var(--magenta);color:var(--magenta);}
.btn-block{width:100%;}
.btn:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none;}

/* ============ Header / Menú flotante ============ */
.site-header{
  position:absolute;top:0;left:0;width:100%;z-index:200;
  padding-top:22px;
}
.site-header.is-solid{
  position:fixed;top:0;padding-top:0;
  background:rgba(21,17,28,.82);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  box-shadow:0 8px 30px -16px rgba(0,0,0,.5);
  animation:dropIn .35s ease;
}
@keyframes dropIn{from{transform:translateY(-100%);}to{transform:translateY(0);}}
.nav-shell{
  display:flex;align-items:center;justify-content:space-between;
  background:rgba(21,17,28,.6);
  border:1px solid rgba(255,255,255,.12);
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  border-radius:999px;padding:14px 12px 14px 24px;
  box-shadow:var(--shadow-float);
}
.site-header.is-solid .nav-shell{
  background:transparent;border-color:transparent;backdrop-filter:none;box-shadow:none;
  border-radius:0;padding:18px 0;
}
.logo{
  display:flex;flex-direction:column;align-items:flex-start;gap:3px;
  font-family:var(--font-display);font-weight:700;color:var(--white);
}
.logo-img{
  height:40px;width:auto;display:block;
}
.logo span.brand-sub{
  display:block;font-family:var(--font-body);font-weight:400;font-size:.62rem;
  letter-spacing:.12em;text-transform:uppercase;color:var(--gray-300);
}
.main-nav{display:flex;align-items:center;gap:2px;}
.main-nav a{
  color:var(--gray-300);font-size:.92rem;font-weight:500;padding:10px 16px;border-radius:999px;
  transition:color .2s, background .2s;position:relative;
}
.main-nav a:hover,.main-nav a[aria-current="page"]{color:var(--white);background:rgba(255,255,255,.08);}
.main-nav .has-dropdown{position:relative;}
.dropdown{
  position:absolute;top:calc(100% + 14px);left:0;min-width:280px;
  background:var(--white);border-radius:var(--radius-m);
  box-shadow:var(--shadow-card);padding:10px;
  opacity:0;visibility:hidden;transform:translateY(8px);
  transition:opacity .2s ease, transform .2s ease, visibility .2s;
}
.has-dropdown:hover .dropdown,.has-dropdown:focus-within .dropdown{
  opacity:1;visibility:visible;transform:translateY(0);
}
.dropdown a{
  color:var(--ink);display:flex;flex-direction:column;gap:2px;padding:12px 14px;border-radius:var(--radius-s);
}
.dropdown a:hover{background:var(--gray-50);}
.dropdown a strong{font-family:var(--font-display);font-size:.9rem;font-weight:600;}
.dropdown a small{color:var(--gray-600);font-size:.78rem;font-weight:400;}
.header-cta{display:flex;align-items:center;gap:10px;}
.header-cta .btn{padding:12px 22px;font-size:.85rem;}

.nav-toggle{
  display:none;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.25);
  background:rgba(255,255,255,.06);align-items:center;justify-content:center;flex-direction:column;gap:5px;
  flex:none;
}
.nav-toggle span{width:18px;height:2px;background:#fff;border-radius:2px;transition:.3s;}
.nav-toggle.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav-toggle.is-open span:nth-child(2){opacity:0;}
.nav-toggle.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

/* Menú móvil: fuera de pantalla por defecto en TODOS los anchos,
   solo se muestra cuando se le agrega la clase .is-open (evita que
   quede duplicado bajo el header en pantallas de escritorio). */
.mobile-nav{
  position:fixed;inset:0;background:var(--ink);z-index:190;
  padding:110px 28px 40px;transform:translateX(100%);transition:transform .35s ease;
  overflow-y:auto;visibility:hidden;
}
.mobile-nav.is-open{transform:translateX(0);visibility:visible;}
.mobile-nav a{
  display:block;color:#fff;font-family:var(--font-display);font-size:1.3rem;padding:14px 0;
  border-bottom:1px solid rgba(255,255,255,.1);
}
.mobile-nav .btn{margin-top:26px;}
.mobile-nav .mobile-sub{padding-left:14px;}
.mobile-nav .mobile-sub a{font-size:1rem;color:var(--gray-300);border-bottom:none;padding:10px 0;}

/* ============ Hero (80vh, slider) ============ */
.hero{
  position:relative;width:100%;min-height:80vh;
  background:var(--ink);color:var(--white);overflow:hidden;
}
.hero-slide{
  position:absolute;inset:0;width:100%;height:100%;opacity:0;visibility:hidden;
  transition:opacity 1s ease;display:flex;align-items:center;z-index:1;
}
.hero-slide.is-active{opacity:1;visibility:visible;z-index:2;}
.hero-bg{
  position:absolute;inset:0;
  background-size:cover;background-position:center;
}
.hero-bg::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:
    linear-gradient(120deg, rgba(21,17,28,.92) 10%, rgba(21,17,28,.55) 55%, rgba(1,15,17,.35) 100%);
}
.hero-slide:nth-child(1) .hero-bg{background-color:#1B1424;background-image:
  radial-gradient(circle at 15% 25%, rgba(2,209,182,.35), transparent 45%),
  radial-gradient(circle at 85% 75%, rgba(1,15,17,.4), transparent 50%),
  linear-gradient(160deg,#191320,#241830 60%, #2b1830);}
.hero-slide:nth-child(2) .hero-bg{background-color:#1B1424;background-image:
  radial-gradient(circle at 80% 20%, rgba(2,209,182,.3), transparent 45%),
  radial-gradient(circle at 20% 80%, rgba(1,15,17,.35), transparent 50%),
  linear-gradient(200deg,#161018,#231a2c 60%, #2a1a2c);}
.hero-slide:nth-child(3) .hero-bg{background-color:#1B1424;background-image:
  radial-gradient(circle at 50% 15%, rgba(2,209,182,.32), transparent 45%),
  radial-gradient(circle at 30% 85%, rgba(1,15,17,.3), transparent 55%),
  linear-gradient(180deg,#181119,#221a2b 60%, #2a1c2e);}

.hero-grid{
  position:absolute;inset:0;
  background-image:linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px),
                   linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px);
  background-size:52px 52px;
  -webkit-mask-image:linear-gradient(to bottom, transparent, black 40%, transparent 90%);
  mask-image:linear-gradient(to bottom, transparent, black 40%, transparent 90%);
}
.hero-content{position:relative;z-index:2;max-width:680px;padding-top:var(--header-h);}
.hero-content .eyebrow{color:#02D1B6;}
.hero-content .eyebrow::before{background:var(--grad-signal);}
.hero-content h1,.hero-content h2{font-size:clamp(2.2rem,4.6vw,3.6rem);color:var(--white);}
.hero-content h1 em,.hero-content h2 em{
  font-style:normal;background:var(--grad-signal);-webkit-background-clip:text;
  background-clip:text;color:transparent;
}
.hero-content p{color:var(--gray-300);font-size:1.08rem;max-width:540px;}
.hero-actions{display:flex;gap:14px;margin-top:2rem;flex-wrap:wrap;}

.hero-dots{
  position:absolute;left:24px;bottom:28px;z-index:3;
  display:flex;gap:10px;padding:0 24px;
}
.hero-dot{
  width:34px;height:4px;border-radius:4px;background:rgba(255,255,255,.25);border:none;padding:0;
  position:relative;overflow:hidden;
}
.hero-dot span{position:absolute;inset:0;background:var(--grad-signal);transform:scaleX(0);transform-origin:left;}
.hero-dot.is-active span{animation:fillDot 7s linear forwards;}
@keyframes fillDot{from{transform:scaleX(0);}to{transform:scaleX(1);}}

.hero-panel{
  position:absolute;right:24px;bottom:0;top:0;z-index:2;
  display:flex;align-items:center;
}
.status-card{
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);
  backdrop-filter:blur(14px);border-radius:var(--radius-m);padding:22px 24px;
  min-width:300px;box-shadow:var(--shadow-float);
}
.status-card h4{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--gray-300);font-weight:600;margin-bottom:14px;}
.status-row{display:flex;align-items:center;justify-content:space-between;padding:7px 0;font-size:.85rem;border-top:1px solid rgba(255,255,255,.08);}
.status-row:first-of-type{border-top:none;}
.status-ok{color:#7CE0A1;display:flex;align-items:center;gap:6px;font-weight:600;}
.status-ok::before{content:"";width:7px;height:7px;border-radius:50%;background:#7CE0A1;}

@media (max-width: 960px){ .hero-panel{display:none;} }

/* ============ Marquee de confianza ============ */
.trust-strip{background:var(--gray-50);padding:26px 0;border-bottom:1px solid var(--gray-100);}
.trust-strip .container{display:flex;flex-wrap:wrap;gap:32px;align-items:center;justify-content:space-between;}
.trust-item{display:flex;align-items:center;gap:10px;color:var(--gray-600);font-size:.85rem;font-weight:600;}
.trust-item strong{color:var(--ink);font-family:var(--font-display);font-size:1.15rem;}

/* ============ Grids / Cards ============ */
.section-head{max-width:100%;margin-bottom:56px;}
.section-head.center{margin-left:auto;margin-right:auto;text-align:center;}
.section-head h2{font-size:clamp(1.7rem,3vw,2.4rem);}

.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}

.service-card{
  background:var(--white);border:1px solid var(--gray-100);border-radius:var(--radius-m);
  padding:34px 30px;transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;
  display:flex;flex-direction:column;height:100%;
}
.service-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-card);border-color:transparent;}
.service-icon{
  width:52px;height:52px;border-radius:14px;background:var(--grad-signal-soft);
  display:flex;align-items:center;justify-content:center;margin-bottom:20px;
}
.service-icon svg{width:26px;height:26px;stroke:var(--magenta);}
.service-card h3{font-size:1.2rem;}
.service-card .tag-list{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 20px;}
.service-card .tag-list li{
  font-size:.72rem;font-weight:600;color:var(--magenta);background:rgba(1,15,17,.08);
  padding:5px 11px;border-radius:999px;
}
.card-link{margin-top:auto;display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:.9rem;color:var(--ink);}
.card-link svg{width:16px;height:16px;transition:transform .2s;}
.service-card:hover .card-link svg{transform:translateX(4px);}

.stat-card{
  background:var(--ink);color:var(--white);border-radius:var(--radius-m);padding:30px;
  position:relative;overflow:hidden;
}
.stat-card::before{
  content:"";position:absolute;width:160px;height:160px;border-radius:50%;
  background:var(--grad-signal);opacity:.25;filter:blur(40px);top:-60px;right:-60px;pointer-events:none;
}
.stat-card .num{font-family:var(--font-display);font-size:2.6rem;font-weight:700;position:relative;}
.stat-card .label{color:var(--gray-300);font-size:.85rem;position:relative;}

.process-list{counter-reset:step;}
.process-item{
  display:grid;grid-template-columns:64px 1fr;gap:22px;padding:26px 0;border-top:1px solid var(--gray-100);
}
.process-item:first-child{border-top:none;}
.process-num{
  font-family:var(--font-mono);font-size:.95rem;color:var(--white);background:var(--grad-signal);
  width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;
}
.process-item h4{font-size:1.05rem;margin-bottom:6px;}

.quote-block{
  border-left:3px solid transparent;border-image:var(--grad-signal) 1;padding-left:26px;
}
.quote-block p{font-size:1.15rem;color:var(--ink);font-style:italic;}
.quote-block cite{font-style:normal;font-weight:600;font-size:.85rem;color:var(--gray-600);}

.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;}
.media-frame{
  border-radius:var(--radius-l);overflow:hidden;position:relative;min-height:360px;
  background:linear-gradient(155deg,#1B1424,#2a1a2c 60%,#2b1830);
}
.media-frame img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 20%;
}
.media-frame picture{display:block;width:100%;height:100%;}
.media-frame.has-photo::after{display:none;}
.media-frame.has-photo::before{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:1;
  background:linear-gradient(180deg, rgba(21,17,28,0) 45%, rgba(21,17,28,.85) 100%);
}
.media-frame::after{
  content:"";position:absolute;inset: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:36px 36px;
}
.media-frame .badge{
  position:absolute;bottom:20px;left:20px;z-index:2;background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.15);backdrop-filter:blur(10px);border-radius:var(--radius-s);
  padding:12px 16px;color:#fff;font-size:.8rem;
}

.cta-band{
  background:var(--grad-signal);border-radius:var(--radius-l);padding:64px;color:#fff;
  display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap;
  position:relative;overflow:hidden;
}
.cta-band::after{
  content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 85% 20%, rgba(255,255,255,.25), transparent 45%);
  pointer-events:none;
}
.cta-band h2{color:#fff;font-size:clamp(1.6rem,3vw,2.1rem);position:relative;}
.cta-band p{color:rgba(255,255,255,.88);position:relative;}
.cta-band .btn-primary{background:#fff;color:var(--magenta);box-shadow:none;position:relative;}
.cta-band .btn-primary:hover{background:var(--ink);color:#fff;}

/* ============ Breadcrumb / página interna ============ */
.page-hero{
  background:var(--ink);color:#fff;padding:calc(var(--header-h) + 70px) 0 70px;position:relative;overflow:hidden;
}
.page-hero::before{
  content:"";position:absolute;inset:0;background-image:
    radial-gradient(circle at 90% 10%, rgba(2,209,182,.28), transparent 45%),
    radial-gradient(circle at 10% 90%, rgba(1,15,17,.28), transparent 45%);
  pointer-events:none;
}
.hero-actions{position:relative;}
.breadcrumb{position:relative;display:flex;gap:8px;align-items:center;font-size:.82rem;color:var(--gray-300);margin-bottom:18px;}
.breadcrumb a:hover{color:#fff;}
.page-hero h1{position:relative;font-size:clamp(1.9rem,4vw,2.8rem);max-width:720px;}
.page-hero p.lead{position:relative;color:var(--gray-300);max-width:620px;font-size:1.05rem;}

.definition-lead{
  max-width:820px;margin:0 auto;text-align:center;font-size:1.12rem;color:var(--ink);
  padding:26px 30px;background:var(--gray-50);border-radius:var(--radius-m);border:1px solid var(--gray-100);
}
.definition-lead strong{color:var(--magenta);}

.side-nav{background:var(--gray-50);border-radius:var(--radius-m);padding:10px;}
.side-nav a{
  display:block;padding:13px 16px;border-radius:var(--radius-s);font-size:.9rem;font-weight:500;color:var(--gray-600);
}
.side-nav a:hover{background:var(--white);color:var(--ink);}
.side-nav a[aria-current="page"]{background:var(--white);color:var(--magenta);font-weight:700;box-shadow:var(--shadow-card);}

.feature-check{display:grid;gap:14px;margin:24px 0;}
.feature-check li{display:flex;gap:12px;align-items:flex-start;font-size:.95rem;color:var(--ink);}
.feature-check svg{flex:none;width:20px;height:20px;stroke:var(--white);background:var(--grad-signal);border-radius:50%;padding:4px;margin-top:1px;}

/* ============ Formularios ============ */
.form-card{
  background:var(--white);border-radius:var(--radius-l);box-shadow:var(--shadow-card);
  border:1px solid var(--gray-100);padding:44px;
}
.field{margin-bottom:20px;}
.field label{display:block;font-size:.82rem;font-weight:600;color:var(--ink);margin-bottom:7px;}
.field .hint{font-size:.76rem;color:var(--gray-600);margin-top:5px;}
.field input[type=text],.field input[type=email],.field input[type=tel],.field select,.field textarea{
  width:100%;padding:13px 16px;border-radius:var(--radius-s);border:1.5px solid var(--gray-300);
  background:var(--white);color:var(--ink);transition:border-color .2s, box-shadow .2s;
}
.field input:focus,.field select:focus,.field textarea:focus{
  border-color:var(--magenta);box-shadow:0 0 0 4px rgba(1,15,17,.12);outline:none;
}
.field textarea{resize:vertical;min-height:120px;}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;}

.choice-group{display:flex;gap:12px;flex-wrap:wrap;}
.choice-pill{
  border:1.5px solid var(--gray-300);border-radius:999px;padding:10px 20px;font-size:.88rem;font-weight:600;
  color:var(--gray-600);background:#fff;transition:.2s;
}
.choice-pill input{position:absolute;opacity:0;pointer-events:none;}
.choice-pill:has(input:checked){
  border-color:transparent;background:var(--grad-signal);color:#fff;
}
.choice-pill:has(input:focus-visible){outline:3px solid var(--orange);outline-offset:2px;}

.form-msg{
  margin-top:18px;padding:14px 18px;border-radius:var(--radius-s);font-size:.88rem;display:none;
}
.form-msg.is-success{display:block;background:rgba(124,224,161,.15);color:#1c7a45;border:1px solid rgba(124,224,161,.4);}
.form-msg.is-error{display:block;background:rgba(2,209,182,.1);color:#B23A28;border:1px solid rgba(2,209,182,.35);}

/* ---- Wizard cotización ---- */
.wizard{max-width:760px;margin:0 auto;}
.wizard-progress{margin-bottom:38px;}
.wizard-steps{display:flex;justify-content:space-between;margin-bottom:12px;}
.wizard-step-label{
  font-family:var(--font-mono);font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;
  color:var(--gray-600);display:flex;flex-direction:column;align-items:center;gap:6px;flex:1;position:relative;text-align:center;
}
.wizard-step-label .circle{
  width:30px;height:30px;border-radius:50%;background:var(--gray-100);color:var(--gray-600);
  display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;font-size:.8rem;
  transition:.3s;border:2px solid var(--gray-100);
}
.wizard-step-label.is-active .circle{background:var(--grad-signal);color:#fff;border-color:transparent;}
.wizard-step-label.is-done .circle{background:var(--ink);color:#fff;border-color:transparent;}
.wizard-step-label.is-active{color:var(--ink);font-weight:700;}
.wizard-track{height:5px;background:var(--gray-100);border-radius:99px;overflow:hidden;}
.wizard-track-fill{height:100%;background:var(--grad-signal);border-radius:99px;transition:width .5s ease;width:20%;}

.wizard-panel{display:none;animation:panelIn .45s ease;}
.wizard-panel.is-active{display:block;}
@keyframes panelIn{from{opacity:0;transform:translateX(24px);}to{opacity:1;transform:translateX(0);}}

.service-select-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:8px;}
.service-select-card{
  border:1.5px solid var(--gray-300);border-radius:var(--radius-m);padding:22px 18px;text-align:left;
  background:#fff;transition:.2s;position:relative;
}
.service-select-card input{position:absolute;opacity:0;pointer-events:none;}
.service-select-card:has(input:checked){border-color:transparent;box-shadow:0 0 0 2.5px var(--magenta), var(--shadow-card);}
.service-select-card:has(input:focus-visible){outline:3px solid var(--orange);outline-offset:2px;}
.service-select-card .service-icon{margin-bottom:14px;width:42px;height:42px;}
.service-select-card strong{display:block;font-family:var(--font-display);font-size:.95rem;margin-bottom:5px;}
.service-select-card span{font-size:.78rem;color:var(--gray-600);}

.wizard-nav{display:flex;justify-content:space-between;margin-top:32px;gap:14px;}
.summary-box{background:var(--gray-50);border-radius:var(--radius-m);padding:24px;margin-bottom:22px;}
.summary-row{display:flex;justify-content:space-between;padding:9px 0;border-top:1px solid var(--gray-100);font-size:.88rem;}
.summary-row:first-child{border-top:none;}
.summary-row dt{color:var(--gray-600);}
.summary-row dd{margin:0;font-weight:600;color:var(--ink);text-align:right;}

/* ============ Footer ============ */
.site-footer{background:var(--ink);color:var(--gray-300);padding:72px 0 30px;}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px;padding-bottom:50px;border-bottom:1px solid rgba(255,255,255,.1);}
.footer-brand p{color:var(--gray-300);max-width:280px;font-size:.9rem;}
.footer-brand .logo{margin-bottom:16px;}
.footer-brand .logo-img{height:36px;}
.footer-col h5{color:#fff;font-family:var(--font-display);font-size:.85rem;text-transform:uppercase;letter-spacing:.06em;margin-bottom:18px;}
.footer-col a{display:block;color:var(--gray-300);font-size:.88rem;margin-bottom:12px;transition:color .2s;}
.footer-col a:hover{color:var(--orange);}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:26px;flex-wrap:wrap;gap:12px;font-size:.8rem;color:var(--gray-600);}
.social-row{display:flex;gap:10px;}
.social-row a{
  width:36px;height:36px;border-radius:50%;border:1px solid rgba(255,255,255,.15);
  display:flex;align-items:center;justify-content:center;
}
.social-row a:hover{background:var(--grad-signal);border-color:transparent;}
.social-row svg{width:16px;height:16px;stroke:currentColor;}

/* ============ FAQ (SEO / GEO) ============ */
.faq-list{max-width:820px;margin:0 auto;display:grid;gap:14px;}
.faq-item{
  background:var(--white);border:1px solid var(--gray-100);border-radius:var(--radius-m);
  padding:26px 30px;
}
.faq-item h3{font-size:1.02rem;margin-bottom:8px;font-family:var(--font-display);}
.faq-item p{margin:0;font-size:.92rem;}

/* ============ Legal pages ============ */
.legal-content h2{font-size:1.3rem;margin-top:2.2em;}
.legal-content h3{font-size:1.05rem;margin-top:1.6em;}
.legal-content p, .legal-content li{color:var(--gray-600);font-size:.96rem;}
.legal-content ul{list-style:disc;padding-left:1.4em;margin-bottom:1em;}
.legal-content ul li{margin-bottom:.5em;}
.legal-meta{color:var(--gray-600);font-size:.85rem;margin-bottom:2.4em;}

/* ============ Utilidades ============ */
.mt-0{margin-top:0;}
.text-center{text-align:center;}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease, transform .7s ease;}
.reveal.is-visible{opacity:1;transform:translateY(0);}

/* ============ Responsive ============ */
@media (max-width:1080px){
  .grid-4{grid-template-columns:repeat(2,1fr);}
  .footer-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:960px){
  .main-nav, .header-cta{display:none;}
  .nav-toggle{display:flex;}
  .split{grid-template-columns:1fr;gap:36px;}
  .grid-3{grid-template-columns:1fr 1fr;}
  .service-select-grid{grid-template-columns:1fr;}
  .cta-band{flex-direction:column;text-align:center;padding:44px 28px;}
}
@media (max-width:720px){
  :root{--header-h:92px;}
  .section{padding:64px 0;}
  .grid-3,.grid-2,.grid-4{grid-template-columns:1fr;}
  .field-row{grid-template-columns:1fr;}
  .hero{min-height:auto;padding-bottom:64px;}
  .hero-content{padding-top:calc(var(--header-h) + 30px);}
  .form-card{padding:26px;}
  .logo-img{height:32px;}
  .wizard-step-label span.label-text{display:none;}
  .footer-grid{grid-template-columns:1fr;gap:30px;}
  .footer-bottom{flex-direction:column;align-items:flex-start;}
  .page-hero{padding-top:calc(var(--header-h) + 40px);}
  .cta-band{padding:34px 22px;}

  .nav-shell{align-items:flex-start;}
}
