:root{
  --bg:#0a1119;
  --panel:#101b28;
  --panel-2:#152232;
  --steel-1:#1c2b3a;
  --steel-2:#4c7996;
  --accent:#e63946;
  --ink:#f3f6f9;
  --muted:#7f97ac;
  --line:rgba(124,151,172,0.18);
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  background:var(--bg);
  color:var(--ink);
  font-family:'Work Sans',sans-serif;
  overflow-x:hidden;
}
h1,h2,h3{
  font-family:'Big Shoulders Display',sans-serif;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:0.5px;
  line-height:0.95;
}
.mono{font-family:'JetBrains Mono',monospace;letter-spacing:1px;}
a{color:inherit;text-decoration:none;}

#scrubber{position:fixed;top:0;left:0;width:100%;height:5px;background:var(--panel);z-index:999;}
#scrubber-fill{height:100%;width:0%;background:var(--accent);transition:width .05s linear;}
#timecode{
  position:fixed;top:12px;right:20px;z-index:999;font-size:0.75rem;color:var(--muted);
  background:rgba(10,17,25,0.7);padding:4px 10px;border:1px solid var(--line);border-radius:3px;
  backdrop-filter:blur(4px);
}
#timecode span{color:var(--accent);}

header{
  position:fixed;top:5px;left:0;width:100%;z-index:998;
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 24px;
}
header .brandlink{display:flex;align-items:center;gap:12px;}
header img{width:34px;}
header .brand{font-family:'Big Shoulders Display';font-weight:800;font-size:1.05rem;letter-spacing:1px;}
header .brand small{display:block;font-family:'JetBrains Mono';font-weight:400;font-size:0.55rem;color:var(--muted);letter-spacing:2px;}
header .back{font-family:'JetBrains Mono';font-size:0.75rem;color:var(--muted);border:1px solid var(--line);padding:8px 16px;border-radius:20px;}
header .back:hover{border-color:var(--steel-2);}

section{
  position:relative;padding:140px 8vw 100px;min-height:100vh;
  display:flex;flex-direction:column;justify-content:center;
  border-bottom:1px solid var(--line);
}
.marker{
  font-family:'JetBrains Mono';font-size:0.75rem;color:var(--muted);
  margin-bottom:22px;display:flex;align-items:center;gap:10px;
}
.marker .dot{width:6px;height:6px;border-radius:50%;background:var(--accent);}

/* HERO (generic, used on subpages too) */
.hero{
  background:linear-gradient(180deg, rgba(10,17,25,0.4), rgba(10,17,25,0.95)),
    radial-gradient(circle at 75% 25%, rgba(76,121,150,0.25), transparent 45%);
  text-align:left;min-height:80vh;
}
.hero h1{font-size:clamp(2.4rem,6vw,4.6rem);max-width:18ch;}
.hero p{margin-top:26px;color:var(--muted);max-width:52ch;font-size:1.05rem;line-height:1.55;}
.hero .cta-row{margin-top:36px;display:flex;gap:16px;flex-wrap:wrap;}

.scroll-cue{position:absolute;bottom:40px;left:8vw;font-family:'JetBrains Mono';font-size:0.7rem;color:var(--muted);display:flex;align-items:center;gap:8px;}
.scroll-cue .bar{width:1px;height:30px;background:var(--muted);position:relative;overflow:hidden;}
.scroll-cue .bar::after{content:'';position:absolute;top:-100%;left:0;width:100%;height:100%;background:var(--accent);animation:scrolldown 1.6s infinite;}
@keyframes scrolldown{ to{ top:100%; } }

/* CARDS (perfiles / servicios) */
h2.sec-title{font-size:clamp(2rem,4.5vw,3rem);margin-bottom:16px;}
.sec-lead{color:var(--muted);max-width:56ch;margin-bottom:50px;}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.cards.cols-4{grid-template-columns:repeat(4,1fr);}
.card{
  background:var(--panel);border:1px solid var(--line);border-radius:6px;
  padding:30px 24px;transition:border-color .25s ease, transform .25s ease;
  cursor:pointer;display:flex;flex-direction:column;
}
.card:hover{border-color:var(--steel-2);transform:translateY(-4px);}
.card .num{font-family:'JetBrains Mono';color:var(--accent);font-size:0.72rem;margin-bottom:16px;display:block;}
.card h3{font-size:1.3rem;margin-bottom:10px;text-transform:none;}
.card p{color:var(--muted);font-size:0.88rem;line-height:1.5;margin-bottom:20px;flex-grow:1;}
.card .price{font-family:'Big Shoulders Display';font-size:1.6rem;color:var(--ink);margin-bottom:14px;}
.card .price small{font-family:'JetBrains Mono';font-size:0.65rem;color:var(--muted);display:block;text-transform:uppercase;}
.card .go{font-family:'JetBrains Mono';font-size:0.72rem;color:var(--steel-2);margin-top:auto;}
.card.premium{border-color:rgba(230,57,70,0.3);}
.card .tag{
  position:absolute;top:-10px;right:20px;background:var(--accent);color:#fff;
  font-family:'JetBrains Mono';font-size:0.6rem;padding:3px 10px;border-radius:10px;
}
.card{position:relative;}

.group-title{font-family:'JetBrains Mono';font-size:0.8rem;color:var(--steel-2);letter-spacing:2px;margin:50px 0 22px;text-transform:uppercase;}
.group-title:first-of-type{margin-top:0;}

/* PROCESO timeline (home) */
.proceso-wrap{display:grid;grid-template-columns:1.1fr 0.9fr;gap:60px;align-items:start;}
.timeline{position:relative;padding-left:26px;}
.timeline::before{content:'';position:absolute;left:0;top:6px;bottom:6px;width:1px;background:linear-gradient(var(--steel-2),var(--accent));}
.tl-step{position:relative;padding:0 0 26px 30px;}
.tl-step:last-child{padding-bottom:0;}
.tl-step::before{content:'';position:absolute;left:-4.5px;top:4px;width:9px;height:9px;border-radius:50%;background:var(--bg);border:2px solid var(--accent);}
.tl-step .tc{font-family:'JetBrains Mono';color:var(--muted);font-size:0.75rem;margin-bottom:4px;display:block;}
.tl-step h3{font-size:1.2rem;margin-bottom:4px;text-transform:none;}
.tl-step p{color:var(--muted);font-size:0.9rem;max-width:56ch;}

.reel-preview{
  aspect-ratio:16/9;background:var(--panel);border:1px solid var(--line);border-radius:8px;
  display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative;
}
.reel-preview .play{width:52px;height:52px;border-radius:50%;background:var(--accent);display:flex;align-items:center;justify-content:center;z-index:2;}
.reel-preview .play::after{content:'';border-style:solid;border-width:8px 0 8px 14px;border-color:transparent transparent transparent #fff;margin-left:4px;}
.reel-preview .cap{position:absolute;bottom:16px;left:16px;right:16px;font-family:'JetBrains Mono';font-size:0.7rem;color:var(--muted);z-index:2;}
.reel-preview::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% 30%, rgba(76,121,150,0.25), transparent 60%);}

/* PORTFOLIO embed (subpages) */
.portfolio-embed{border-radius:8px;overflow:hidden;border:1px solid var(--line);aspect-ratio:16/9;}
.portfolio-embed iframe{width:100%;height:100%;border:0;}

/* NOSOTROS */
#nosotros{background:var(--panel-2);}
#nosotros .wrap{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;}
#nosotros p{color:var(--muted);margin-bottom:16px;line-height:1.6;}
.stat-row{display:flex;gap:34px;margin-top:30px;flex-wrap:wrap;}
.stat b{font-family:'Big Shoulders Display';font-size:2.2rem;color:var(--steel-2);display:block;}
.stat span{font-family:'JetBrains Mono';font-size:0.68rem;color:var(--muted);}
#nosotros .logowrap{display:flex;align-items:center;justify-content:center;}
#nosotros .logowrap img{width:100%;max-width:280px;}

/* RESEÑAS */
#resenas{min-height:auto;padding:70px 8vw;text-align:center;align-items:center;background:var(--bg);}
#resenas a{
  display:inline-flex;align-items:center;gap:10px;font-family:'JetBrains Mono';font-size:0.9rem;
  border:1px solid var(--line);padding:14px 28px;border-radius:30px;transition:border-color .2s ease;
}
#resenas a:hover{border-color:var(--steel-2);}
#resenas p{color:var(--muted);margin-bottom:18px;font-size:0.95rem;}

/* CONTACTO */
#contacto{text-align:center;align-items:center;border-bottom:none;min-height:70vh;}
#contacto h2{font-size:clamp(2.2rem,6vw,4rem);max-width:16ch;margin:0 auto 22px;}
#contacto p{color:var(--muted);max-width:44ch;margin:0 auto 40px;}
.cta-row{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;}
.btn{padding:16px 34px;border-radius:4px;font-family:'JetBrains Mono';font-size:0.85rem;letter-spacing:0.5px;}
.btn.primary{background:var(--accent);color:#fff;}
.btn.ghost{border:1px solid var(--line);color:var(--ink);}
.btn.small{padding:10px 20px;font-size:0.72rem;}

footer{text-align:center;padding:30px;color:var(--muted);font-family:'JetBrains Mono';font-size:0.7rem;}

@media(max-width:900px){
  .proceso-wrap{grid-template-columns:1fr;}
  .cards.cols-4{grid-template-columns:1fr 1fr;}
}
@media(max-width:820px){
  .cards{grid-template-columns:1fr;}
  #nosotros .wrap{grid-template-columns:1fr;}
  header .brand small{display:none;}
}

/* card sin efecto hover (no clickeable) */
.card.static{cursor:default;}
.card.static:hover{border-color:var(--line);transform:none;}
.card .thumb{
  width:100%;aspect-ratio:4/3;border-radius:4px;overflow:hidden;
  margin-bottom:16px;background:var(--panel-2);
  display:flex;align-items:center;justify-content:center;
  color:var(--muted);font-family:'JetBrains Mono';font-size:0.65rem;text-align:center;
}
.card .thumb img{width:100%;height:100%;object-fit:cover;display:block;}

/* grilla de videos individuales */
.video-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.video-item{border:1px solid var(--line);border-radius:6px;overflow:hidden;background:var(--panel);}
.video-item .frame{aspect-ratio:16/9;}
.video-item .frame iframe{width:100%;height:100%;border:0;display:block;}
.video-item .label{padding:14px 16px;font-family:'JetBrains Mono';font-size:0.72rem;color:var(--muted);}
@media(max-width:900px){.video-grid{grid-template-columns:1fr;}}

/* hero con video al lado (empresarial) */
.hero.split .hero-grid{display:grid;grid-template-columns:1.1fr 0.9fr;gap:50px;align-items:center;width:100%;}
.hero.split .hero-video{aspect-ratio:16/9;border-radius:8px;overflow:hidden;border:1px solid var(--line);}
.hero.split .hero-video iframe{width:100%;height:100%;border:0;}
@media(max-width:900px){.hero.split .hero-grid{grid-template-columns:1fr;}}

/* grilla de 2 columnas */
.cards.cols-2{grid-template-columns:repeat(2,1fr);}
@media(max-width:820px){.cards.cols-2{grid-template-columns:1fr;}}

/* tarjeta de servicio con acciones (ver ejemplo / precios) */
.card.svc{padding-bottom:26px;}
.svc-actions{display:flex;gap:10px;margin-top:auto;position:relative;flex-wrap:wrap;}
.btn.small.primary{background:var(--accent);color:#fff;}
.btn.small.info{background:var(--steel-2);color:#fff;border:none;cursor:pointer;font-family:'JetBrains Mono';}
.price-wrap{position:relative;}
.price-pop{
  display:none;position:absolute;bottom:120%;left:50%;transform:translateX(-50%);
  background:var(--panel-2);border:1px solid var(--line);border-radius:8px;padding:14px;width:210px;
  box-shadow:0 10px 30px rgba(0,0,0,0.5);z-index:20;
}
.price-pop.show{display:block;}
.price-pop::after{
  content:'';position:absolute;top:100%;left:50%;transform:translateX(-50%);
  border:6px solid transparent;border-top-color:var(--panel-2);
}
.price-pop p{color:var(--ink);font-size:0.78rem;margin-bottom:10px;line-height:1.4;font-family:'Work Sans';}

/* tarjeta de servicio con imagen de fondo */
.card.svc{position:relative;overflow:hidden;z-index:0;}
.card.svc .bg{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  opacity:0.5;z-index:-2;
}
.card.svc::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(10,17,25,0.35), rgba(10,17,25,0.85));
  z-index:-1;
}

/* botón whatsapp */
.btn.whatsapp{background:#25D366;color:#08331c;}

/* grilla de 3 columnas */
.cards.cols-3{grid-template-columns:repeat(3,1fr);}
@media(max-width:900px){.cards.cols-3{grid-template-columns:1fr;}}

/* precio dentro de tarjeta con imagen de fondo */
.card.svc .price{font-family:'Big Shoulders Display';font-size:1.5rem;color:var(--ink);margin:2px 0 14px;}
.card.svc .price small{font-family:'JetBrains Mono';font-size:0.6rem;color:var(--muted);display:block;text-transform:uppercase;}
.btn.small.ghost{border:1px solid var(--line);color:var(--ink);background:transparent;}

/* stats verticales grandes (reemplaza al logo en Quienes Somos) */
.stat-stack{display:flex;flex-direction:column;gap:34px;justify-content:center;}
.bigstat b{
  font-family:'Big Shoulders Display';font-weight:800;font-size:clamp(3rem,6vw,4.5rem);
  color:var(--steel-2);line-height:0.9;display:block;
}
.bigstat span{font-family:'JetBrains Mono';font-size:0.75rem;color:var(--muted);letter-spacing:2px;}

/* boton de reseñas: plateado con brillo animado */
#resenas a{
  position:relative;overflow:hidden;
  background:linear-gradient(120deg, #8c98a4, #e8edf1 35%, #b9c2ca 50%, #e8edf1 65%, #8c98a4);
  background-size:250% 100%;
  color:#12181f;
  border:none;
  font-weight:600;
  animation:shine 3.5s linear infinite;
  box-shadow:0 4px 18px rgba(200,210,220,0.15);
  transition:transform .2s ease, box-shadow .2s ease;
}
#resenas a:hover{
  transform:translateY(-3px) scale(1.02);
  box-shadow:0 8px 26px rgba(200,210,220,0.3);
}
@keyframes shine{
  0%{background-position:0% 50%;}
  100%{background-position:250% 50%;}
}

/* ===== COTIZADOR ===== */
.wiz-shell{max-width:760px;margin:0 auto;width:100%;}
.wiz-progress{
  display:flex;gap:6px;margin-bottom:40px;
}
.wiz-progress .seg{flex:1;height:3px;background:var(--line);border-radius:2px;overflow:hidden;}
.wiz-progress .seg.done{background:var(--accent);}
.wiz-progress .seg.current{background:linear-gradient(90deg,var(--accent) 50%,var(--line) 50%);}

.wiz-step{display:none;}
.wiz-step.active{display:block;animation:fadein .35s ease;}
@keyframes fadein{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:translateY(0);}}

.wiz-eyebrow{font-family:'JetBrains Mono';font-size:0.75rem;color:var(--muted);margin-bottom:14px;display:flex;align-items:center;gap:10px;}
.wiz-eyebrow .dot{width:6px;height:6px;border-radius:50%;background:var(--accent);}
.wiz-question{font-family:'Big Shoulders Display';font-weight:800;text-transform:uppercase;font-size:clamp(1.6rem,4vw,2.4rem);line-height:1.05;margin-bottom:30px;}

.wiz-options{display:flex;flex-direction:column;gap:12px;margin-bottom:30px;}
.wiz-opt{
  text-align:left;background:var(--panel);border:1px solid var(--line);border-radius:8px;
  padding:18px 20px;color:var(--ink);font-family:'Work Sans';font-size:1rem;cursor:pointer;
  transition:border-color .2s ease, background .2s ease;
}
.wiz-opt:hover{border-color:var(--steel-2);}
.wiz-opt.selected{border-color:var(--accent);background:var(--panel-2);}
.wiz-opt .letter{
  display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;
  border-radius:50%;border:1px solid var(--line);font-family:'JetBrains Mono';font-size:0.7rem;
  margin-right:12px;color:var(--muted);
}
.wiz-opt.selected .letter{border-color:var(--accent);color:var(--accent);}

.wiz-nav{display:flex;justify-content:space-between;align-items:center;margin-top:10px;}
.wiz-back{font-family:'JetBrains Mono';font-size:0.75rem;color:var(--muted);background:none;border:none;cursor:pointer;}
.wiz-back:hover{color:var(--ink);}
.wiz-next{font-family:'JetBrains Mono';font-size:0.8rem;background:var(--accent);color:#fff;border:none;padding:14px 30px;border-radius:4px;cursor:pointer;opacity:0.4;pointer-events:none;transition:opacity .2s;}
.wiz-next.enabled{opacity:1;pointer-events:auto;}

.wiz-input{
  width:100%;background:var(--panel);border:1px solid var(--line);border-radius:8px;
  padding:16px 18px;color:var(--ink);font-family:'Work Sans';font-size:1rem;margin-bottom:14px;
}
.wiz-input::placeholder{color:var(--muted);}
.wiz-label{font-family:'JetBrains Mono';font-size:0.7rem;color:var(--muted);letter-spacing:1px;margin-bottom:8px;display:block;text-transform:uppercase;}

.wiz-type-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;}
@media(max-width:700px){.wiz-type-grid{grid-template-columns:1fr;}}
.wiz-type-card{
  background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:26px 22px;cursor:pointer;
  transition:border-color .2s ease, transform .2s ease;text-align:left;
}
.wiz-type-card:hover{border-color:var(--steel-2);transform:translateY(-3px);}
.wiz-type-card h3{font-size:1.25rem;margin-bottom:8px;text-transform:none;}
.wiz-type-card p{color:var(--muted);font-size:0.85rem;line-height:1.5;}

.wiz-result{text-align:center;padding:20px 0;}
.wiz-result .range{font-family:'Big Shoulders Display';font-weight:800;font-size:clamp(2.2rem,6vw,3.4rem);color:var(--steel-2);margin:20px 0 8px;}
.wiz-result .disclaimer{color:var(--muted);font-size:0.85rem;max-width:48ch;margin:0 auto 30px;line-height:1.5;}
.wiz-result .cta-row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}

.wiz-fallback{text-align:center;padding:20px 0;}
.wiz-fallback p{color:var(--muted);max-width:48ch;margin:0 auto 30px;line-height:1.6;}

.honeypot{position:absolute;left:-9999px;}

/* footer con redes sociales */
footer{display:flex;flex-direction:column;align-items:center;gap:14px;}
.footer-social{display:flex;gap:16px;}
.footer-social a{
  width:36px;height:36px;border-radius:50%;border:1px solid var(--line);
  display:flex;align-items:center;justify-content:center;color:var(--muted);
  transition:border-color .2s ease, color .2s ease;
}
.footer-social a:hover{border-color:var(--steel-2);color:var(--ink);}
.footer-social svg{width:16px;height:16px;fill:currentColor;}

/* boton plateado animado (contanos sobre tu proyecto) */
.btn.silver{
  position:relative;overflow:hidden;border:none;cursor:pointer;font-weight:600;
  background:linear-gradient(120deg, #8c98a4, #e8edf1 35%, #b9c2ca 50%, #e8edf1 65%, #8c98a4);
  background-size:250% 100%;
  color:#12181f;
  animation:shine 3.5s linear infinite;
  box-shadow:0 4px 18px rgba(200,210,220,0.15);
  transition:transform .2s ease, box-shadow .2s ease;
}
.btn.silver:hover{
  transform:translateY(-2px) scale(1.02);
  box-shadow:0 8px 26px rgba(200,210,220,0.3);
}
