/* ═══════════════════════════════════════════════════════════
   GROSYM APP V2 — styles.css
   Cyber-Organic Dark Theme
═══════════════════════════════════════════════════════════ */

/* ── TOKENS ── */
:root {
  --bg:       #012012;
  --bg-card:  #031A10;
  --bg-card2: #062018;
  --green:    #00C57C;
  --acid:     #9CF21B;
  --orange:   #FD5001;
  --cream:    #FEF1D8;
  --border:   rgba(0, 197, 124, .18);
  --border-o: rgba(253, 80, 1, .3);
  --text:     #FEF1D8;
  --muted:    rgba(254, 241, 216, .5);
  --dim:      rgba(254, 241, 216, .25);
  --shadow:   0 20px 60px rgba(0,0,0,.45);
  --glow-g:   0 0 20px rgba(0,197,124,.15);
  --glow-o:   0 0 20px rgba(253,80,1,.2);
  --r-sm:     6px;
  --r-md:     12px;
  --r-lg:     20px;
  --trans:    .22s ease;
  --font-h:   'Sora', system-ui, sans-serif;
  --font-b:   'Inter', system-ui, sans-serif;
}

/* ── RESET ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;font-size:16px;}
body{
  background:
    linear-gradient(rgba(1,32,18,.88),rgba(1,32,18,.88)),
    url('assets/motherboard.webp') center/cover fixed;
  color:var(--text);
  font-family:var(--font-b);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none;}
button{cursor:pointer;border:none;background:none;font:inherit;}
img{max-width:100%;display:block;}
ul{list-style:none;}

/* ── CONTAINER ── */
.container{max-width:1240px;margin:0 auto;padding:0 24px;}

/* ── TYPOGRAPHY ── */
h1,h2,h3,h4{font-family:var(--font-h);line-height:1.1;color:var(--cream);}
h1{font-size:clamp(2.2rem,5vw,4rem);font-weight:800;letter-spacing:-.02em;}
h2{font-size:clamp(1.8rem,3.5vw,3rem);font-weight:700;letter-spacing:-.01em;}
h3{font-size:clamp(1.2rem,2vw,1.7rem);font-weight:600;}
h4{font-size:1rem;font-weight:700;}
p{color:var(--muted);line-height:1.7;}

.eyebrow{
  display:inline-block;
  font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--green);margin-bottom:14px;
}
.eyebrow-sm{
  display:block;font-size:.65rem;font-weight:700;letter-spacing:.12em;
  text-transform:uppercase;color:var(--acid);margin-bottom:8px;
}
.section-sub{font-size:1rem;color:var(--muted);max-width:560px;margin:0 auto 48px;line-height:1.7;text-align:center;}
.text-orange{color:var(--orange);}

/* ── BUTTONS ── */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:12px 24px;border-radius:var(--r-sm);
  font-family:var(--font-h);font-size:.88rem;font-weight:700;
  letter-spacing:.01em;transition:all var(--trans);white-space:nowrap;cursor:pointer;
}
.btn-orange{background:var(--orange);color:#fff;}
.btn-orange:hover{background:#e04500;transform:translateY(-2px);box-shadow:var(--glow-o);}
.btn-outline{
  background:transparent;color:var(--cream);
  border:1.5px solid rgba(254,241,216,.3);
}
.btn-outline:hover{border-color:var(--green);color:var(--green);}
.btn-ghost{background:transparent;color:var(--muted);border:1.5px solid var(--border);}
.btn-ghost:hover{border-color:var(--green);color:var(--green);}
.btn-green{background:var(--green);color:#011A0C;}
.btn-green:hover{background:#00a868;transform:translateY(-2px);}
.btn-lg{padding:16px 32px;font-size:.95rem;border-radius:var(--r-md);}
.hidden{display:none!important;}

/* ══════════════════════════════════════════════════════════
   LOADER
══════════════════════════════════════════════════════════ */
.loader{
  position:fixed;inset:0;z-index:9999;
  background:var(--bg);
  display:flex;align-items:center;justify-content:center;
  flex-direction:column;gap:32px;
  transition:opacity .6s ease, visibility .6s ease;
}
.loader.hiding{opacity:0;visibility:hidden;}
.loader.gone{display:none;}

.loader-inner{display:flex;flex-direction:column;align-items:center;gap:20px;}

.plant-svg{width:90px;height:135px;overflow:visible;}

.svg-roots{opacity:0;animation:fadeIn .4s .3s forwards;}
.root{stroke-dasharray:40;stroke-dashoffset:40;animation:drawLine .5s ease forwards;}
.r1{animation-delay:.4s;} .r2{animation-delay:.55s;}
.r3{animation-delay:.4s;} .r4{animation-delay:.55s;}
.r5{animation-delay:.7s;} .r6{animation-delay:.7s;}
.root-node{opacity:0;animation:popIn .3s ease forwards;}
.n1{animation-delay:.85s;} .n2{animation-delay:.85s;}
.n3{animation-delay:.9s;}  .n4{animation-delay:.9s;}

.svg-stem{
  stroke-dasharray:200;stroke-dashoffset:200;
  animation:drawLine 1s .9s ease forwards;
}
.svg-leaf{opacity:0;transform-origin:60px 165px;}
.leaf-l{animation:leafUnfold .5s 1.5s ease forwards;}
.leaf-r{animation:leafUnfold .5s 1.7s ease forwards;}
.leaf-top{animation:leafUnfold .5s 2s ease forwards;}
.leaf-circuit{opacity:0;animation:fadeIn .4s 2.2s forwards;}
.stem-node{opacity:0;animation:popIn .3s ease forwards;}
.sn1{animation-delay:1.6s;} .sn2{animation-delay:1.8s;} .sn3{animation-delay:2.1s;}

@keyframes drawLine{to{stroke-dashoffset:0;}}
@keyframes fadeIn{to{opacity:1;}}
@keyframes popIn{to{opacity:1;transform:scale(1);}from{opacity:0;transform:scale(0.4);}}
@keyframes leafUnfold{to{opacity:1;transform:scale(1);}from{opacity:0;transform:scale(.3) rotate(-20deg);}}

.loader-label{
  font-family:var(--font-h);font-size:.8rem;font-weight:600;
  color:var(--muted);letter-spacing:.1em;text-transform:uppercase;
}
.loader-dots::after{content:'...';animation:dots 1.2s steps(3,end) infinite;}
@keyframes dots{0%,20%{content:'.'}40%{content:'..'}60%,100%{content:'...'}}

.loader-bar-track{width:140px;height:3px;background:var(--border);border-radius:3px;overflow:hidden;}
.loader-bar-fill{height:100%;width:0%;background:linear-gradient(90deg,var(--green),var(--acid));animation:loadBar 3.5s ease forwards;}
@keyframes loadBar{to{width:100%;}}

/* Codex-style animated grid overlay behind loader plant */
.loader-grid{
  position:absolute;inset:0;z-index:0;
  background:
    linear-gradient(rgba(0,197,124,.07) 1px,transparent 1px),
    linear-gradient(90deg,rgba(0,197,124,.06) 1px,transparent 1px);
  background-size:42px 42px;
  animation:gridDrift 4s linear infinite;
  pointer-events:none;
}
.loader-inner{position:relative;z-index:1;}
@keyframes gridDrift{to{background-position:42px 42px;}}

/* ══════════════════════════════════════════════════════════
   CUSTOM CURSOR — 22px dot, intenso
══════════════════════════════════════════════════════════ */
/* ══════════════════════════════════════════════════════════
   DIMENSION CIRCLES — horizontal row below wizard shell
══════════════════════════════════════════════════════════ */
.dim-circles-row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:8px;
  padding:22px 0 8px;
  border-top:1px solid var(--border);
  position:relative;z-index:1;
}
.dim-circle-item{
  display:flex;flex-direction:column;
  align-items:center;gap:7px;flex:1;
}
.dim-circle-wrap{
  position:relative;
  width:48px;height:48px;
  display:flex;align-items:center;justify-content:center;
}
.dim-ring{
  width:48px;height:48px;
  transform:rotate(-90deg); /* start fill from top */
  display:block;
}
.dr-track{
  fill:none;
  stroke:rgba(0,197,124,.12);
  stroke-width:3;
}
.dr-fill{
  fill:none;
  stroke:url(#dimGradient);
  stroke-width:3;
  stroke-linecap:round;
  stroke-dasharray:106.8; /* 2π×17 */
  stroke-dashoffset:106.8; /* starts empty */
  transition:stroke-dashoffset .8s cubic-bezier(.4,0,.2,1);
}
.dr-pct{
  position:absolute;
  font-family:var(--font-h);font-size:.52rem;font-weight:800;
  color:var(--green);line-height:1;
  pointer-events:none;
}
.dr-lbl{
  font-size:.52rem;font-weight:700;text-transform:uppercase;
  letter-spacing:.07em;color:var(--dim);text-align:center;
  max-width:56px;line-height:1.2;
}
@media(max-width:860px){
  .dim-circles-row{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:16px 8px;
    padding:20px 0;
  }
}
@media(max-width:540px){
  .dim-circles-row{grid-template-columns:repeat(3,1fr);}
}

/* ── CURSOR — removed for touch/web compatibility ── */
.cursor-dot,.cursor-glow,.cursor-trail{display:none;}

/* ══════════════════════════════════════════════════════════
   HEADER — logo only
══════════════════════════════════════════════════════════ */
.header{
  position:sticky;top:0;z-index:100;
  background:rgba(1,32,18,.92);
  backdrop-filter:blur(16px);
}
.header::after{
  content:'';position:absolute;bottom:0;left:50%;transform:translateX(-50%);
  width:52%;height:1px;background:var(--border);pointer-events:none;
}
.header-inner{
  display:flex;align-items:center;justify-content:center;gap:32px;height:76px;
}
.logo{
  display:inline-flex;align-items:center;gap:10px;flex-shrink:0;
}
/* Stacked logo: image on top, text below */
.logo-stacked{
  flex-direction:column;gap:5px;margin-bottom:10px;
}
/* Logo PNG image */
.logo-img{height:46px;width:auto;display:block;object-fit:contain;}
.logo-img-sm{height:28px;}
/* "Grosym" text — always visible, Sora font */
.logo-name{
  font-family:var(--font-h);font-size:.78rem;font-weight:700;
  color:var(--cream);letter-spacing:.04em;text-transform:uppercase;
  line-height:1;
}
.logo-stacked .logo-name{font-size:.72rem;}
/* Fallback (kept for footer compatibility) */
.logo-fallback{display:none;align-items:center;gap:10px;}
.logo-mark{
  display:grid;place-items:center;
  width:34px;height:34px;border-radius:8px;
  background:var(--orange);color:#fff;
  font-family:var(--font-h);font-size:1rem;font-weight:800;
  box-shadow:0 0 12px rgba(253,80,1,.4);
}
.logo-text{
  font-family:var(--font-h);font-size:1.2rem;font-weight:800;
  color:var(--cream);letter-spacing:-.01em;
}
.nav{display:flex;gap:28px;margin-left:auto;}
.nav-link{font-size:.85rem;font-weight:500;color:var(--muted);transition:color var(--trans);}
.nav-link:hover{color:var(--green);}
.header-cta{margin-left:16px;padding:10px 20px;font-size:.83rem;}
.menu-toggle{
  display:none;flex-direction:column;gap:5px;
  padding:8px;margin-left:auto;cursor:pointer;
}
.menu-toggle span{display:block;width:22px;height:2px;background:var(--cream);border-radius:2px;transition:all var(--trans);}

/* ══════════════════════════════════════════════════════════
   HERO (kept, orphaned — no longer in HTML)
══════════════════════════════════════════════════════════ */
.hero{position:relative;padding:96px 0 80px;overflow:hidden;border-bottom:1px solid var(--border);}
.hero-bg-circuit{
  position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(0,197,124,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0,197,124,.04) 1px, transparent 1px);
  background-size:40px 40px;
  mask-image:radial-gradient(ellipse 80% 80% at 50% 50%, black, transparent);
}
.hero-inner{position:relative;z-index:1;}
.hero-content{max-width:680px;}
.hero-h1{
  margin-bottom:20px;
  background:linear-gradient(135deg, var(--cream) 60%, rgba(254,241,216,.5));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.hero-h1 .text-orange{
  background:linear-gradient(90deg, var(--orange), #ff7a3d);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.hero-sub{font-size:1.05rem;color:var(--muted);margin-bottom:36px;max-width:520px;}
.hero-ctas{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:48px;}
.hero-stats{display:flex;align-items:center;gap:20px;}
.hero-stat{text-align:center;}
.stat-num{display:block;font-family:var(--font-h);font-size:1.8rem;font-weight:800;color:var(--green);}
.stat-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--dim);}
.hero-stat-sep{width:1px;height:36px;background:var(--border);}
.hero-orb{
  position:absolute;right:-100px;top:-100px;width:500px;height:500px;border-radius:50%;
  background:radial-gradient(circle, rgba(0,197,124,.08), transparent 70%);
  pointer-events:none;
}

/* ══════════════════════════════════════════════════════════
   SPRINT SECTION
══════════════════════════════════════════════════════════ */

/* ── SPRINT INTRO — big headline above wizard ── */
.sprint-intro{
  max-width:780px;
  padding:72px 0 56px;
}
.sprint-headline{
  font-family:var(--font-h);
  font-size:clamp(2.4rem,5.5vw,4.4rem);
  font-weight:800;letter-spacing:-.03em;
  color:var(--cream);line-height:1.05;
  margin-bottom:22px;
}
.sprint-headline .text-orange{
  background:linear-gradient(90deg,var(--orange),#ff7a3d);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.sprint-lead{
  font-size:1.05rem;color:var(--muted);
  max-width:600px;line-height:1.75;margin-bottom:36px;
}
.sprint-stats{
  display:flex;align-items:center;gap:28px;
}
.sprint-stat{text-align:center;}
.sprint-stat .stat-num{display:block;font-family:var(--font-h);font-size:2.2rem;font-weight:800;color:var(--green);}
.sprint-stat .stat-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.09em;color:var(--dim);}
.sprint-stat-sep{width:1px;height:44px;background:var(--border);}

.sprint-section{padding:48px 0 80px;position:relative;overflow:hidden;}
/* Codex-style animated dot field behind the wizard */
.sprint-section::before{
  content:'';position:absolute;inset:0;z-index:0;pointer-events:none;
  background:
    radial-gradient(circle, rgba(156,242,27,.85) 0 3px, transparent 4px) 0 0 / 116px 116px,
    radial-gradient(circle, rgba(0,197,124,.65) 0 2px, transparent 3px) 0 0 / 164px 164px,
    radial-gradient(circle at 20% 30%, rgba(156,242,27,.10), transparent 14rem),
    radial-gradient(circle at 80% 70%, rgba(253,80,1,.10), transparent 13rem);
  animation:circuitCurrent 10s linear infinite;
  opacity:.34;
  mask-image:linear-gradient(to bottom, black 0%, black 55%, transparent 76%);
  -webkit-mask-image:linear-gradient(to bottom, black 0%, black 55%, transparent 76%);
}
.sprint-section::after{
  content:'';position:absolute;inset:0;z-index:0;pointer-events:none;
  background:
    radial-gradient(circle, rgba(156,242,27,.9) 0 3px, transparent 4px) 0 0 / 190px 190px,
    radial-gradient(circle, rgba(253,80,1,.8) 0 2px, transparent 4px) 0 0 / 230px 230px,
    radial-gradient(circle, rgba(0,197,124,.8) 0 2px, transparent 4px) 0 0 / 260px 260px,
    linear-gradient(180deg, rgba(1,32,18,.0), rgba(1,18,11,.55));
  mix-blend-mode:screen;
  animation:dataSweep 6.9s linear infinite;
  opacity:.375;
  mask-image:linear-gradient(to bottom, black 0%, black 52%, transparent 72%);
  -webkit-mask-image:linear-gradient(to bottom, black 0%, black 52%, transparent 72%);
}
.sprint-section>.container{position:relative;z-index:1;}
/* Ambas capas de puntos se mueven — diagonal seamless */
@keyframes circuitCurrent{
  from{background-position:0 0, 0 0, 0 0, 0 0;}
  to{background-position:116px 116px, 164px 164px, 0 0, 0 0;}
}
@keyframes dataSweep{
  from{background-position:0 0, 0 0, 0 0, 0 0;}
  to{background-position:190px 190px, -230px 230px, 260px -260px, 0 0;}
}
.sprint-shell{
  display:grid;
  grid-template-columns:250px 1fr 230px;
  gap:24px;align-items:start;
}

/* ── ASIDES ── */
.aside-sticky{position:sticky;top:80px;}
.aside-card{
  background:var(--bg-card);
  border:1px solid var(--border);
  border-radius:var(--r-lg);
  padding:24px;
  box-shadow:var(--shadow), var(--glow-g);
}
.aside-title{font-size:1rem;font-weight:700;color:var(--cream);margin-bottom:8px;}
.aside-desc{font-size:.82rem;color:var(--muted);margin-bottom:20px;line-height:1.6;}

/* ── LIVE ESTIMATE ── */
.live-estimate{display:flex;flex-direction:column;gap:0;margin-bottom:20px;}
.est-row{padding:10px 0;border-bottom:1px solid var(--border);}
.est-row:last-child{border-bottom:none;}
.est-lbl{
  display:block;font-size:.65rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.1em;color:var(--dim);margin-bottom:3px;
}
.est-val{display:block;font-size:.88rem;font-weight:700;color:var(--green);}
.est-val.accent{color:var(--acid);}

/* ── DIMENSION BARS ── */
.dim-card{margin-top:16px;padding:20px;}
.dim-list{display:flex;flex-direction:column;gap:10px;margin-top:12px;}
.dim-row{display:flex;flex-direction:column;gap:4px;}
.dim-lbl{
  font-size:.6rem;font-weight:700;text-transform:uppercase;
  letter-spacing:.1em;color:var(--dim);
}
.dim-track{
  height:4px;background:rgba(0,197,124,.12);
  border-radius:2px;overflow:hidden;
}
.dim-fill{
  height:100%;
  background:linear-gradient(90deg,var(--green),var(--acid));
  border-radius:2px;
  transition:width .6s ease;
  box-shadow:0 0 6px rgba(0,197,124,.4);
}

/* ── LEVEL METER ── */
.level-meter{margin-top:4px;}
.meter-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;color:var(--dim);margin-bottom:6px;}
.meter-track{height:6px;background:rgba(255,255,255,.08);border-radius:6px;overflow:hidden;margin-bottom:4px;}
.meter-fill{height:100%;background:linear-gradient(90deg,var(--green),var(--acid));border-radius:6px;transition:width .5s ease;}
.meter-ticks{display:flex;justify-content:space-between;}
.meter-ticks span{font-size:.6rem;color:var(--dim);}

/* ── BRIEFING CARD ── */
.briefing-card{position:relative;}
.briefing-title{font-size:.9rem;font-weight:700;color:var(--cream);margin-bottom:12px;}
.briefing-list{display:flex;flex-direction:column;gap:0;}
.briefing-empty{font-size:.78rem;color:var(--dim);font-style:italic;}
.briefing-row{padding:8px 0;border-bottom:1px solid var(--border);}
.briefing-row:last-child{border-bottom:none;}
.b-key{display:block;font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--dim);margin-bottom:2px;}
.b-val{display:block;font-size:.8rem;color:var(--cream);font-weight:500;}

.briefing-locked{margin-top:16px;padding-top:16px;border-top:1px solid var(--border);}
.lock-lines{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;filter:blur(4px);opacity:.3;}
.lock-line{height:8px;background:var(--muted);border-radius:4px;}
.lock-line.short{width:60%;} .lock-line.medium{width:80%;}
.lock-badge{display:flex;align-items:center;gap:8px;font-size:.72rem;color:var(--dim);}
.lock-icon{font-size:.9rem;}

/* ══════════════════════════════════════════════════════════
   WIZARD CARD + circuit background
══════════════════════════════════════════════════════════ */
.wizard-wrap{position:relative;}
.circuit-bg{
  position:absolute;
  inset:-20px;
  border-radius:calc(var(--r-lg) + 20px);
  pointer-events:none;
  z-index:0;
  opacity:.85;
  display:block;
}
.wizard-card{
  background:var(--bg-card);
  border:1px solid var(--border);
  border-radius:var(--r-lg);
  padding:36px 36px 28px;
  box-shadow:var(--shadow);
  min-height:520px;
  position:relative;
  z-index:1;
}

/* ── PROGRESS ── */
.progress-wrap{margin-bottom:28px;}
.progress-info{display:flex;justify-content:space-between;margin-bottom:8px;}
.prog-label{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--dim);}
.prog-pct{font-size:.68rem;color:var(--dim);}
.prog-track{height:5px;background:rgba(255,255,255,.07);border-radius:5px;overflow:hidden;}
.prog-fill{height:100%;background:linear-gradient(90deg,var(--green),var(--acid));border-radius:5px;transition:width .4s ease;}

/* ── STEP HEADER ── */
.step-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;}
.step-category{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--orange);}
.step-count{font-size:.68rem;color:var(--dim);}
.step-title{font-family:var(--font-h);font-size:clamp(1.3rem,2.5vw,1.7rem);font-weight:700;color:var(--cream);margin-bottom:6px;line-height:1.15;}
.step-help{font-size:.85rem;color:var(--muted);margin-bottom:22px;line-height:1.6;}

/* ── STEP TIP ── */
.step-tip{
  display:flex;gap:10px;align-items:flex-start;
  background:rgba(156,242,27,.07);
  border:1px solid rgba(156,242,27,.2);
  border-radius:var(--r-md);
  padding:12px 14px;
  margin-bottom:20px;
  font-size:.8rem;color:rgba(156,242,27,.85);
  line-height:1.5;
}
.step-tip-icon{font-size:1rem;flex-shrink:0;margin-top:1px;}

/* ── RADIO OPTIONS ── */
.options-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px;margin-bottom:24px;}
.opt-card{
  display:block;padding:14px 14px;
  border:1.5px solid var(--border);
  border-radius:var(--r-md);
  cursor:pointer;transition:all var(--trans);
  font-size:.85rem;font-weight:500;color:var(--muted);
  background:var(--bg-card2);
  user-select:none;
}
.opt-card:hover{border-color:var(--green);color:var(--cream);background:rgba(0,197,124,.07);}
.opt-card.selected{border-color:var(--green);background:rgba(0,197,124,.12);color:var(--cream);}
.opt-card input{display:none;}

/* ── CHECKBOX OPTIONS ── */
.checks-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px;margin-bottom:24px;}
.chk-card{
  display:flex;align-items:center;gap:9px;padding:11px 12px;
  border:1.5px solid var(--border);border-radius:var(--r-md);
  cursor:pointer;transition:all var(--trans);
  font-size:.82rem;color:var(--muted);
  background:var(--bg-card2);user-select:none;
}
.chk-card:hover{border-color:var(--green);color:var(--cream);}
.chk-card.selected{border-color:var(--green);background:rgba(0,197,124,.1);color:var(--cream);}
.chk-mark{
  width:16px;height:16px;border:1.5px solid rgba(255,255,255,.2);
  border-radius:4px;flex-shrink:0;display:flex;align-items:center;justify-content:center;
  font-size:.65rem;color:transparent;transition:all var(--trans);
}
.chk-card.selected .chk-mark{background:var(--green);border-color:var(--green);color:#011A0C;font-weight:900;}
.chk-card input{display:none;}

/* ── TEXT INPUTS ── */
.inputs-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:24px;}
.field-group{display:flex;flex-direction:column;gap:6px;}
.field-group.full{grid-column:1/-1;}
.field-lbl{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--dim);}
.field-input{
  padding:12px 14px;
  background:var(--bg-card2);
  border:1.5px solid var(--border);
  border-radius:var(--r-sm);
  color:var(--cream);font-family:var(--font-b);font-size:.9rem;
  outline:none;transition:border-color var(--trans);width:100%;
}
.field-input::placeholder{color:var(--dim);}
.field-input:focus{border-color:var(--green);background:rgba(0,197,124,.04);}
textarea.field-input{resize:vertical;min-height:80px;}
.field-input.field-error{
  border-color:#ff4d4d !important;
  box-shadow:0 0 0 3px rgba(255,77,77,.18);
  animation:shake .3s ease;
}
@keyframes shake{
  0%,100%{transform:translateX(0);}
  25%{transform:translateX(-5px);}
  75%{transform:translateX(5px);}
}

/* ── NAV BUTTONS ── */
.step-nav{display:flex;gap:12px;margin-top:28px;padding-top:20px;border-top:1px solid var(--border);}
.step-nav .btn{flex:1;justify-content:center;}
.step-error{
  font-size:.8rem;color:var(--orange);
  padding:10px 14px;background:rgba(253,80,1,.1);
  border:1px solid rgba(253,80,1,.3);border-radius:var(--r-sm);
  margin-bottom:12px;display:none;
}
.step-error.show{display:block;}

/* ══════════════════════════════════════════════════════════
   RESULT
══════════════════════════════════════════════════════════ */
.result-section{padding:80px 0;background:linear-gradient(180deg,rgba(0,197,124,.06) 0%,transparent 40%);}
.result-header{text-align:center;max-width:660px;margin:0 auto 56px;}
.symbiont-canvas{border-radius:50%;margin:0 auto 24px;display:block;}
.result-header h2{margin-bottom:12px;}
.result-lead{font-size:1rem;color:var(--muted);}

/* ── RESULT GRID ── */
.result-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px;}
.res-card{
  background:var(--bg-card);border:1px solid var(--border);
  border-radius:var(--r-lg);padding:28px;
  box-shadow:var(--shadow);
}
.res-card.full{grid-column:1/-1;}
.res-label{
  font-size:.65rem;font-weight:700;text-transform:uppercase;
  letter-spacing:.1em;color:var(--acid);margin-bottom:12px;display:block;
}
.res-card h3{font-family:var(--font-h);font-size:1.15rem;color:var(--cream);margin-bottom:16px;}

/* ── GROWTH SCORE ── */
.score-display{display:flex;align-items:center;gap:18px;margin-bottom:14px;}
.score-badge{
  width:60px;height:60px;background:var(--orange);border-radius:50%;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  flex-shrink:0;box-shadow:var(--glow-o);
}
.score-num{font-size:1.4rem;font-weight:800;color:#fff;line-height:1;}
.score-max{font-size:.6rem;color:rgba(255,255,255,.6);}
.score-info{flex:1;}
.score-name{font-size:1rem;font-weight:700;color:var(--cream);margin-bottom:4px;}
.score-desc{font-size:.82rem;color:var(--muted);line-height:1.5;}

/* ── INVESTMENT ROWS ── */
.invest-rows{margin-top:8px;}
.invest-row{
  display:flex;justify-content:space-between;align-items:center;
  padding:10px 0;border-bottom:1px solid var(--border);
}
.invest-row:last-child{border-bottom:none;}
.inv-lbl{font-size:.82rem;color:var(--muted);}
.inv-val{font-size:.95rem;font-weight:800;color:var(--acid);}
.invest-note{font-size:.75rem;color:var(--dim);margin-top:14px;font-style:italic;}

/* ── MODULE RESULT CARDS ── */
.mods-result-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;margin-top:12px;}
.mod-res-card{padding:14px;border-radius:var(--r-md);border:1.5px solid var(--border);background:var(--bg-card2);}
.mod-res-card.essential{border-color:var(--green);background:rgba(0,197,124,.08);}
.mod-res-card.recommended{border-color:rgba(156,242,27,.4);background:rgba(156,242,27,.05);}
.mod-res-name{font-size:.88rem;font-weight:700;color:var(--cream);margin-bottom:4px;}
.mod-res-pri{font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px;}
.essential .mod-res-pri{color:var(--green);}
.recommended .mod-res-pri{color:var(--acid);}
.later .mod-res-pri{color:var(--dim);}
.mod-res-desc{font-size:.78rem;color:var(--muted);line-height:1.5;}

/* ── ROADMAP ── */
.roadmap-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:12px;}
.rdmp-label{
  font-size:.65rem;font-weight:800;text-transform:uppercase;
  letter-spacing:.1em;color:var(--orange);margin-bottom:12px;display:block;
}
.rdmp-items{display:flex;flex-direction:column;gap:8px;}
.rdmp-item{
  font-size:.8rem;color:var(--muted);line-height:1.5;
  padding-left:14px;position:relative;
}
.rdmp-item::before{
  content:'';position:absolute;left:0;top:8px;
  width:5px;height:5px;background:var(--green);border-radius:50%;
}

/* ── ROLES / SYMBIONTS ── */
.roles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px;margin-top:12px;}
.role-card{
  padding:14px 10px;border:1.5px solid var(--border);border-radius:var(--r-md);
  text-align:center;background:var(--bg-card2);transition:all var(--trans);
}
.role-card.active{border-color:var(--green);background:rgba(0,197,124,.08);}
.role-icon{font-size:1.3rem;margin-bottom:8px;}
.role-name{font-size:.78rem;font-weight:700;color:var(--cream);}
.role-sub{font-size:.65rem;color:var(--dim);margin-top:2px;}
.roles-note{font-size:.78rem;color:var(--dim);margin-top:16px;font-style:italic;line-height:1.6;}

/* ── RESULT CTAs ── */
.result-ctas{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:40px;padding-top:32px;border-top:1px solid var(--border);}

/* ── STRATEGY LOCK ── */
.strategy-lock-block{
  position:relative;margin-bottom:0;
  border-radius:var(--r-lg);overflow:hidden;
  background:var(--bg-card);border:1px solid var(--border);
  padding:32px;margin-top:20px;
}
.lock-blurred{filter:blur(8px);pointer-events:none;user-select:none;}
.lock-blurred h3{color:var(--cream);margin-bottom:16px;}
.blur-rows{display:flex;flex-direction:column;gap:10px;}
.blur-row{height:10px;background:var(--muted);border-radius:4px;opacity:.4;}
.blur-row.short{width:55%;} .blur-row.medium{width:75%;}
.lock-cta-overlay{
  position:absolute;inset:0;display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:12px;
  background:rgba(1,32,18,.7);backdrop-filter:blur(2px);
}
.lock-emoji{font-size:2rem;}
.lock-cta-overlay p{font-size:.9rem;color:var(--muted);}
.strategy-lock-block.unlocked .lock-blurred{filter:none;}
.strategy-lock-block.unlocked .lock-cta-overlay{display:none;}

/* ══════════════════════════════════════════════════════════
   PATH MAP (Codex style)
══════════════════════════════════════════════════════════ */
.path-section{padding:80px 0;border-top:1px solid var(--border);}
.path-section h2{margin-bottom:12px;}

/* Dark map container */
.path-map{
  margin-top:48px;
  background:#010e07;
  border:1px solid rgba(0,197,124,.16);
  border-radius:var(--r-lg);
  padding:56px 48px 64px;
  position:relative;
  overflow:hidden;
}
/* Subtle grid bg inside the map */
.path-map::before{
  content:'';position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(0,197,124,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(0,197,124,.035) 1px,transparent 1px);
  background-size:44px 44px;
  pointer-events:none;
}

/* Dashed animated SVG connector */
.path-svg{
  position:absolute;
  inset:0;
  width:100%;height:100%;
  pointer-events:none;
  z-index:0;
  overflow:visible;
}
.path-line{
  fill:none;
  stroke:var(--green);
  stroke-width:1.5;
  stroke-dasharray:7 7;
  stroke-dashoffset:0;
  opacity:.3;
  animation:dashFlow 24s linear infinite;
}
@keyframes dashFlow{to{stroke-dashoffset:-280;}}

/* 2-column staggered grid */
.path-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:28px 48px;
  position:relative;
  z-index:1;
}

.pm-card{
  background:var(--bg-card);
  border:1px solid var(--border);
  border-radius:var(--r-lg);
  padding:28px 24px 24px;
  position:relative;
  transition:all var(--trans);
}
.pm-card:hover{
  border-color:rgba(0,197,124,.4);
  transform:translateY(-5px);
  box-shadow:0 12px 40px rgba(0,0,0,.5);
}

/* Stagger: even cards pushed down */
.pm-c2,.pm-c4,.pm-c6{margin-top:52px;}

/* Last card: centered full width */
.pm-c7{
  grid-column:1/-1;
  max-width:400px;
  margin:0 auto;
}

/* Orange numbered circle */
.pm-num{
  position:absolute;
  top:-16px;left:24px;
  width:32px;height:32px;
  background:var(--orange);
  border-radius:50%;
  font-family:var(--font-h);font-size:.72rem;font-weight:800;color:#fff;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 0 14px rgba(253,80,1,.6);
  z-index:2;
}

/* G badge hidden per design */
.pm-logo{ display:none; }
.pm-tag{font-size:.58rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em;color:var(--acid);display:block;margin-bottom:8px;}
.pm-card h4{font-size:.98rem;font-weight:700;color:var(--cream);margin-bottom:8px;line-height:1.3;}
.pm-card p{font-size:.83rem;color:var(--muted);line-height:1.65;}

/* ══════════════════════════════════════════════════════════
   SISTEMAS GROSYM
══════════════════════════════════════════════════════════ */
.sistemas-section{padding:80px 0;border-top:1px solid var(--border);}
.section-header{margin-bottom:48px;text-align:center;}
.sistemas-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));
  gap:16px;margin-bottom:32px;
}
/* ── Sistema card — full perimeter animated border ── */
@property --b-angle{syntax:'<angle>';inherits:false;initial-value:0deg;}
@keyframes borderSpin{to{--b-angle:360deg;}}

.sistema-card{
  background:var(--bg-card);border:1px solid var(--border);
  border-radius:var(--r-lg);padding:24px 20px;
  position:relative;transition:all var(--trans);
  /* overflow:hidden removed — full perimeter border needs it gone */
}
.sistema-card::before{
  content:'';
  position:absolute;inset:-1px;
  border-radius:calc(var(--r-lg) + 1px);
  padding:1.5px;
  background:conic-gradient(from var(--b-angle),var(--green) 0%,var(--acid) 25%,transparent 40%,transparent 60%,var(--green) 100%);
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  opacity:0;
  transition:opacity .4s;
  pointer-events:none;
  z-index:0;
}
.sistema-card:hover{
  border-color:rgba(0,197,124,.12);
  box-shadow:var(--glow-g),0 16px 48px rgba(0,0,0,.4);
  transform:translateY(-3px);
}
.sistema-card:hover::before{
  opacity:1;
  animation:borderSpin 2s linear infinite;
}
/* When detail is open, cancel the float */
.sistema-card.sc-open{transform:none!important;}
.sistema-card.sc-open:hover{transform:none!important;box-shadow:var(--glow-g);}
.sc-icon{font-size:1.6rem;color:var(--green);margin-bottom:12px;}
.sc-badge{
  position:absolute;top:14px;right:14px;
  font-size:.6rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;
  color:var(--orange);border:1px solid var(--border-o);
  border-radius:99px;padding:3px 8px;background:rgba(253,80,1,.1);
}
.sistema-card h3,.sc-top h3{font-size:.95rem;font-weight:700;color:var(--cream);margin-bottom:10px;}
.sistema-card>p,.sc-top>p{font-size:.82rem;color:var(--muted);line-height:1.6;margin-bottom:14px;}
.sc-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px;}
.sc-tags span{
  font-size:.65rem;font-weight:600;
  background:rgba(0,197,124,.1);border:1px solid rgba(0,197,124,.2);
  color:var(--green);border-radius:4px;padding:3px 8px;
}
.sc-price{font-size:.82rem;color:var(--dim);}
.sc-price strong{color:var(--acid);}

/* ── SISTEMA EXPAND ── */
.sc-price-row{
  display:flex;align-items:center;justify-content:space-between;
  gap:10px;flex-wrap:wrap;margin-top:4px;
}
.sc-expand-btn{
  font-size:.7rem;font-weight:700;color:var(--green);
  background:transparent;
  border:1px solid rgba(0,197,124,.3);
  border-radius:99px;padding:5px 12px;
  cursor:pointer;transition:all var(--trans);
  white-space:nowrap;font-family:var(--font-b);
}
.sc-expand-btn:hover{background:rgba(0,197,124,.1);border-color:var(--green);}
.sc-expand-btn.expanded{color:var(--orange);border-color:rgba(253,80,1,.35);}
.sc-expand-btn.expanded:hover{background:rgba(253,80,1,.08);border-color:var(--orange);}
.sc-detail{
  border-top:1px solid var(--border);
  margin-top:18px;padding-top:20px;
  animation:fadeIn .25s ease;
}
.det-section{margin-bottom:18px;}
.det-section:last-of-type{margin-bottom:4px;}
.det-section h5{
  font-family:var(--font-h);font-size:.78rem;font-weight:700;
  color:var(--cream);margin-bottom:10px;
}
.det-section ul{display:flex;flex-direction:column;gap:5px;padding-left:0;}
.det-section li{
  font-size:.79rem;color:var(--muted);line-height:1.5;
  padding-left:14px;position:relative;list-style:none;
}
.det-section li::before{
  content:'';position:absolute;left:0;top:7px;
  width:4px;height:4px;background:var(--green);border-radius:50%;
}
.det-section p{font-size:.82rem;color:var(--muted);line-height:1.65;}
.det-section strong{color:var(--cream);}
.sc-quote-btn{
  display:flex;width:100%;font-size:.78rem;padding:10px 16px;
  border-radius:var(--r-sm);margin-top:8px;
  justify-content:center;align-items:center;text-align:center;
  white-space:normal;line-height:1.3;
}

.sistemas-note{
  font-size:.85rem;color:var(--dim);
  border-left:2px solid var(--green);padding-left:16px;
  font-style:italic;line-height:1.7;
}

/* ══════════════════════════════════════════════════════════
   TRY GROSYM'S
══════════════════════════════════════════════════════════ */
.try-section{padding:80px 0;border-top:1px solid var(--border);}
.try-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;margin-top:0;}
.try-card{
  background:var(--bg-card);border:1px solid var(--border);
  border-radius:var(--r-lg);overflow:hidden;transition:all var(--trans);
  display:block;
}
.try-card:hover{border-color:var(--orange);box-shadow:var(--glow-o);transform:translateY(-3px);}
.try-card.try-soon{opacity:.7;}
.try-card.try-soon:hover{opacity:.9;}
.try-preview{
  height:180px;display:flex;align-items:center;justify-content:center;
  position:relative;overflow:hidden;
}
.barak-preview{background:linear-gradient(135deg,#00112a,#00224d);}
.soon-preview{background:linear-gradient(135deg,#0d1a14,#021208);}
.soon-preview-2{background:linear-gradient(135deg,#0d1a14,#021208);}

/* Barak card gets BLUE border instead of orange */
.try-barak{border-color:rgba(24,119,242,.25)!important;}
.try-barak:hover{border-color:#1877F2!important;box-shadow:0 0 24px rgba(24,119,242,.3)!important;transform:translateY(-3px);}

/* ── Try card variant previews ── */
.meta-preview{
  background:linear-gradient(135deg,#011a0c,#04350f);
  border-bottom:2px solid var(--acid);
}
.try-meta:hover{border-color:var(--acid);box-shadow:0 0 24px rgba(156,242,27,.22);}

.carnavalia-preview{background:linear-gradient(135deg,#1a0128,#500098);}
.try-carnavalia:hover{border-color:#a855f7;box-shadow:0 0 24px rgba(168,85,247,.25);}

.merida-preview{background:linear-gradient(135deg,#e8f4f8,#c5e8f0);}
.try-merida:hover{border-color:#90c8d8;box-shadow:0 0 24px rgba(144,200,216,.25);}

.uip-preview{background:linear-gradient(135deg,#ffffff,#f0f4ff);}
.try-uip:hover{border-color:#3b82f6;box-shadow:0 0 24px rgba(59,130,246,.25);}

.futbol-preview{background:linear-gradient(135deg,#011f0c,#024e18);}
.try-futbol:hover{border-color:var(--green);box-shadow:var(--glow-g);}

.try-preview-label{display:none;}

/* Real images in try card previews */
.try-preview-img{
  width:100%;height:100%;
  object-fit:cover;
  opacity:.75;
  transition:opacity var(--trans);
  position:absolute;inset:0;
}
.try-card:hover .try-preview-img{opacity:.92;}
/* Logo images: contain with padding so they never touch card edges */
.try-logo-img{
  object-fit:contain!important;
  padding:24px 32px;
}
/* Merida/UIP: logos on light bg need less opacity */
.merida-preview .try-preview-img,
.uip-preview .try-preview-img{opacity:.9;}
.merida-preview .try-preview-img:hover,
.uip-preview .try-preview-img:hover{opacity:1;}
/* CTA strip between sections */
.cta-strip{
  padding:48px 0;
  border-top:1px solid var(--border);
  text-align:center;
}
.cta-strip h3{
  font-family:var(--font-h);font-size:clamp(1.4rem,3vw,2.2rem);font-weight:700;
  color:var(--cream);margin-bottom:8px;
}
.cta-strip p{font-size:.95rem;color:var(--muted);margin-bottom:24px;line-height:1.7;}
.cta-strip-btns{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;}
.try-circuit-lines{display:none;}
.try-info{padding:20px;}
.try-tag{
  font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;
  color:var(--acid);display:block;margin-bottom:6px;
}
.try-info h4{font-size:.95rem;font-weight:700;color:var(--cream);margin-bottom:8px;}
.try-info p{font-size:.82rem;color:var(--muted);line-height:1.6;margin-bottom:12px;}
.try-link{font-size:.8rem;font-weight:700;color:var(--orange);}
.try-link.soon{color:var(--dim);}

/* ══════════════════════════════════════════════════════════
   LOGOS CAROUSEL SECTION
══════════════════════════════════════════════════════════ */
.logos-carousel-section{padding:64px 0;border-top:1px solid var(--border);}
.logos-carousel-section h2{margin-bottom:10px;}
.logos-carousel-section .eyebrow{display:block;}

/* ══════════════════════════════════════════════════════════
   BEFORE / AFTER — panel dramático de dolor vs sueño
══════════════════════════════════════════════════════════ */
.ba-section{padding:80px 0;border-top:1px solid var(--border);}
.ba-list{display:flex;flex-direction:column;gap:20px;margin-top:48px;}

.ba-row{
  display:grid;
  grid-template-columns:1fr 86px 1fr;
  border-radius:var(--r-lg);
  overflow:hidden;
  min-height:190px;
  box-shadow:0 16px 52px rgba(0,0,0,.55);
}
/* LEFT — problema / dolor */
.ba-before-col{
  background:linear-gradient(135deg,rgba(55,3,3,.95),rgba(20,0,0,.98));
  padding:36px 30px;
  display:flex;flex-direction:column;justify-content:center;gap:10px;
  border:none;position:relative;
}
/* RIGHT — sueño / solución */
.ba-after-col{
  background:linear-gradient(135deg,rgba(0,35,20,.9),rgba(0,18,10,.98));
  padding:36px 30px;
  display:flex;flex-direction:column;justify-content:center;gap:10px;
  border:none;position:relative;
}
/* CENTER ARROW */
.ba-arrow-col{
  display:flex;align-items:center;justify-content:center;
  background:rgba(0,6,3,.99);
  padding:0 6px;
  flex-direction:column;gap:10px;
}
.ba-arrow-svg{
  width:62px;height:62px;
  filter:drop-shadow(0 0 16px rgba(253,80,1,.9)) drop-shadow(0 0 32px rgba(253,80,1,.5));
  flex-shrink:0;
}

/* Header row within each col */
.ba-header{
  display:flex;align-items:center;gap:12px;
  margin-bottom:6px;
}
.ba-emoji{
  font-size:2.2rem;line-height:1;display:block;
  filter:none;
  animation:baFloat 3s ease-in-out infinite;
}
@keyframes baFloat{
  0%,100%{transform:translateY(0);}
  50%{transform:translateY(-5px);}
}
.ba-emoji-sad{filter:grayscale(.6);}
.ba-cat-label{
  font-size:.6rem;font-weight:800;text-transform:uppercase;
  letter-spacing:.12em;color:rgba(254,241,216,.3);display:block;margin-bottom:3px;
}
.ba-stage{
  font-size:.7rem;font-weight:800;text-transform:uppercase;
  letter-spacing:.12em;display:inline-flex;align-items:center;gap:5px;
}
.before-stage{color:rgba(255,80,80,.85);}
.after-stage{color:var(--green);}

/* Text styles */
.ba-before-col .ba-text{
  font-size:1.05rem;color:rgba(254,241,216,.45);
  line-height:1.65;margin:0;font-weight:500;
}
.ba-after-col .ba-text{
  font-size:1.05rem;color:var(--cream);
  line-height:1.65;margin:0;font-weight:600;
}
/* Subtle accent line on left edge */
.ba-before-col::before{
  content:'';position:absolute;left:0;top:20%;bottom:20%;width:3px;
  background:linear-gradient(180deg,transparent,rgba(220,50,50,.5),transparent);
}
/* Accent line on right edge of after col */
.ba-after-col::after{
  content:'';position:absolute;right:0;top:20%;bottom:20%;width:3px;
  background:linear-gradient(180deg,transparent,rgba(0,197,124,.55),transparent);
}
/* Category chip at top of arrow col */
.ba-cat{
  font-size:.58rem;font-weight:800;text-transform:uppercase;
  letter-spacing:.1em;color:var(--dim);text-align:center;
  writing-mode:vertical-rl;
}

/* ══════════════════════════════════════════════════════════
   REVIEWS
══════════════════════════════════════════════════════════ */
.reviews-section{padding:80px 0;border-top:1px solid var(--border);}
.reviews-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;}
.review-card{
  background:var(--bg-card);border:1px solid var(--border);
  border-radius:var(--r-lg);padding:24px;
  transition:border-color var(--trans);
}
.review-card:hover{border-color:var(--green);}
.review-top{display:flex;align-items:center;gap:12px;margin-bottom:14px;}
.review-avatar{
  width:40px;height:40px;border-radius:50%;flex-shrink:0;
  background:var(--orange);color:#fff;
  font-family:var(--font-h);font-size:1rem;font-weight:800;
  display:flex;align-items:center;justify-content:center;
}
.review-top strong{display:block;font-size:.88rem;color:var(--cream);}
.stars{font-size:.8rem;color:#FBBC04;letter-spacing:1px;}
.g-badge{display:none;}
.review-card p{font-size:.85rem;color:var(--muted);line-height:1.7;font-style:italic;}

/* ══════════════════════════════════════════════════════════
   BRANDS CAROUSEL (shared styles)
══════════════════════════════════════════════════════════ */
.brands-section{padding:64px 0;border-top:1px solid var(--border);}
.brands-section h2{margin-bottom:10px;}
.carousel-outer{overflow:hidden;margin-top:32px;position:relative;}
.carousel-outer::before,.carousel-outer::after{
  content:'';position:absolute;top:0;bottom:0;width:80px;z-index:1;
}
.carousel-outer::before{left:0;background:linear-gradient(90deg,var(--bg),transparent);}
.carousel-outer::after{right:0;background:linear-gradient(-90deg,var(--bg),transparent);}
.carousel-track{
  display:flex;gap:16px;
  animation:scrollLeft 28s linear infinite;
  width:max-content;
}
/* hover pause removed — carousel runs continuously */
@keyframes scrollLeft{from{transform:translateX(0);}to{transform:translateX(-50%);}}
.brand-chip{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:10px 22px;
  background:var(--bg-card);border:1px solid var(--border);
  border-radius:var(--r-md);
  white-space:nowrap;
  transition:all var(--trans);
  height:62px;
  min-width:120px;
}
.brand-chip:hover{border-color:var(--green);box-shadow:0 0 18px rgba(0,197,124,.22);}
.brand-logo{
  height:32px;width:auto;max-width:88px;
  filter:grayscale(1) brightness(.65) contrast(.9);
  transition:filter var(--trans);
  object-fit:contain;display:block;flex-shrink:0;
}
.brand-name{
  font-family:var(--font-h);font-size:.8rem;font-weight:600;
  color:var(--muted);transition:color var(--trans);
}
.brand-chip:hover .brand-logo{filter:grayscale(0) brightness(1.05);}
.brand-chip:hover .brand-name{color:var(--cream);}
.brands-note{font-size:.75rem;color:var(--dim);font-style:italic;margin-top:20px;display:block;}

/* ══════════════════════════════════════════════════════════
   CONTROL ROOM — Grosym v2.0 en construcción
══════════════════════════════════════════════════════════ */
.cr-teaser{
  padding:100px 0;
  background:rgba(0,11,6,.93);
  border-top:1px solid var(--border);
  position:relative;
  overflow:hidden;
}
/* Orange shadow glow (behind the creature area) */
.cr-glow{
  position:absolute;
  right:0;top:50%;transform:translateY(-50%);
  width:55%;height:140%;
  background:radial-gradient(ellipse at 70% 50%, rgba(253,80,1,.18) 0%, rgba(253,80,1,.07) 35%, transparent 70%);
  pointer-events:none;
}
/* Grid circuit pattern in background */
.cr-teaser::before{
  content:'';
  position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(0,197,124,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0,197,124,.04) 1px, transparent 1px);
  background-size:28px 28px;
  mask-image:radial-gradient(ellipse 80% 80% at 50% 50%,black,transparent);
  pointer-events:none;
}
.cr-layout{
  display:grid;
  grid-template-columns:1fr 420px;
  gap:48px;align-items:center;
  position:relative;z-index:1;
}
.teaser-badge{
  display:inline-flex;align-items:center;gap:6px;
  font-size:.65rem;font-weight:800;
  text-transform:uppercase;letter-spacing:.12em;color:var(--orange);
  border:1px solid var(--border-o);border-radius:99px;padding:5px 14px;margin-bottom:22px;
}
.cr-title{
  font-family:var(--font-h);
  font-size:clamp(2.4rem,5vw,4.5rem);
  font-weight:800;color:var(--cream);
  line-height:1;margin-bottom:18px;
  letter-spacing:-.03em;
}
.cr-title .text-orange{
  background:linear-gradient(90deg,var(--orange),#ff7a3d);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.cr-blink{
  animation:blink .8s step-end infinite;
  color:var(--orange);-webkit-text-fill-color:var(--orange);
}
@keyframes blink{0%,100%{opacity:1;}50%{opacity:0;}}
.cr-desc{
  font-size:1rem;color:var(--muted);line-height:1.75;max-width:480px;margin-bottom:28px;
}
.cr-chips{display:flex;flex-wrap:wrap;gap:10px;}
.cr-chip{
  font-size:.75rem;font-weight:600;
  color:var(--dim);border:1px solid var(--border);
  border-radius:99px;padding:6px 14px;
  background:rgba(255,255,255,.03);
  animation:chipPulse 3s ease-in-out infinite;
}
.cr-chip:nth-child(2){animation-delay:.6s;}
.cr-chip:nth-child(3){animation-delay:1.2s;}
@keyframes chipPulse{
  0%,100%{border-color:var(--border);color:var(--dim);}
  50%{border-color:rgba(253,80,1,.4);color:rgba(254,241,216,.6);}
}
/* Creature area */
.cr-creature-area{
  position:relative;
  height:400px;
  display:flex;align-items:center;justify-content:center;
}
.cr-canvas{
  width:100%;height:100%;
  display:block;
}

/* ══════════════════════════════════════════════════════════
   FAQ
══════════════════════════════════════════════════════════ */
.faq-section{padding:80px 0;border-top:1px solid var(--border);}
.faq-section h2{margin-bottom:40px;}
.faq-list{display:flex;flex-direction:column;}
.faq-item{border-bottom:1px solid var(--border);}
.faq-item:first-of-type{border-top:1px solid var(--border);}
.faq-item summary{
  padding:20px 0;font-size:.95rem;font-weight:600;color:var(--cream);
  cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;
  transition:color var(--trans);
}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{
  content:'+';font-size:1.3rem;color:var(--green);
  transition:transform var(--trans);flex-shrink:0;
}
.faq-item[open] summary{color:var(--green);}
.faq-item[open] summary::after{transform:rotate(45deg);}
.faq-item p{padding:0 0 20px;font-size:.88rem;color:var(--muted);max-width:640px;line-height:1.7;}
.faq-item summary:hover{color:var(--green);}

/* ══════════════════════════════════════════════════════════
   FOOTER
══════════════════════════════════════════════════════════ */
.footer{padding:60px 0 32px;border-top:1px solid var(--border);}
.footer-top{display:flex;justify-content:space-between;gap:48px;margin-bottom:40px;padding-bottom:36px;border-bottom:1px solid var(--border);}
.footer-brand .logo{display:inline-flex;margin-bottom:10px;}
.footer-brand p{font-size:.85rem;line-height:1.7;max-width:220px;margin-bottom:12px;}
.footer-contact{font-size:.82rem;color:var(--dim);line-height:1.8;}
.footer-nav{display:flex;flex-direction:column;gap:12px;}
.footer-nav a{font-size:.85rem;color:var(--dim);transition:color var(--trans);}
.footer-nav a:hover{color:var(--green);}
.footer-disclaimer{margin-bottom:28px;padding-bottom:24px;border-bottom:1px solid var(--border);}
.footer-disclaimer p{font-size:.72rem;color:var(--dim);line-height:1.7;max-width:700px;}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;}
.footer-bottom p{font-size:.72rem;color:var(--dim);}
.powered-by strong{color:var(--green);}

/* ══════════════════════════════════════════════════════════
   POPUP
══════════════════════════════════════════════════════════ */
.popup-overlay{
  position:fixed;inset:0;z-index:500;
  background:rgba(1,32,18,.85);backdrop-filter:blur(8px);
  display:flex;align-items:center;justify-content:center;
  animation:fadeIn .3s ease;
}
.popup-card{
  background:var(--bg-card);border:1px solid var(--border);
  border-radius:var(--r-lg);padding:48px 40px;
  max-width:420px;width:90%;text-align:center;
  box-shadow:var(--shadow), var(--glow-g);
  animation:slideUp .4s ease;
}
@keyframes slideUp{from{transform:translateY(30px);opacity:0;}to{transform:translateY(0);opacity:1;}}
.popup-plant{font-size:3rem;margin-bottom:16px;animation:bounce 1s ease infinite;}
@keyframes bounce{0%,100%{transform:translateY(0);}50%{transform:translateY(-8px);}}
.popup-card h3{font-size:1.4rem;font-weight:800;color:var(--cream);margin-bottom:12px;}
.popup-card p{font-size:.9rem;color:var(--muted);margin-bottom:28px;line-height:1.7;}

/* ══════════════════════════════════════════════════════════
   TOAST
══════════════════════════════════════════════════════════ */
.toast{
  position:fixed;left:50%;bottom:24px;z-index:400;
  transform:translateX(-50%) translateY(20px);
  opacity:0;pointer-events:none;
  padding:12px 20px;border-radius:99px;
  background:var(--green);color:#011A0C;
  font-size:.82rem;font-weight:700;
  transition:all .25s ease;
  box-shadow:0 4px 20px rgba(0,197,124,.3);
}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0);}

/* ══════════════════════════════════════════════════════════
   SCROLL REVEAL
══════════════════════════════════════════════════════════ */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .6s ease, transform .6s ease;}
.reveal.visible{opacity:1;transform:translateY(0);}

/* ══════════════════════════════════════════════════════════
   RESPONSIVE
══════════════════════════════════════════════════════════ */
@media(max-width:1100px){
  .sprint-shell{grid-template-columns:220px 1fr;}
  .aside-right{display:none;}
  .result-grid{grid-template-columns:1fr;}
}
@media(max-width:860px){
  .nav,.header-cta{display:none;}
  .menu-toggle{display:flex;}
  .sprint-shell{grid-template-columns:1fr;}
  .aside-left{display:none;}
  .wizard-card{padding:24px 18px;}
  .options-grid,.checks-grid{grid-template-columns:1fr 1fr;}
  .inputs-grid{grid-template-columns:1fr;}
  .roadmap-cols{grid-template-columns:1fr;}
  .roles-grid{grid-template-columns:repeat(4,1fr);}
  .result-ctas{flex-direction:column;}
  .result-ctas .btn{justify-content:center;}
  .footer-top{flex-direction:column;gap:28px;}
  .footer-bottom{flex-direction:column;gap:8px;}
  /* Path map tablet */
  .path-map{padding:36px 28px 48px;}
  .path-grid{gap:20px 32px;}
  .pm-c2,.pm-c4,.pm-c6{margin-top:36px;}
  /* BA — stack on tablet */
  .ba-row{grid-template-columns:1fr 60px 1fr;}
  .ba-before-col,.ba-after-col{padding:24px 18px;}
  .ba-arrow-svg{width:44px;height:44px;}
  .cr-layout{grid-template-columns:1fr;gap:32px;}
  .cr-creature-area{height:280px;}
  /* Sprint intro reduced */
  .sprint-intro{padding:48px 0 32px;}
  .sprint-headline{font-size:clamp(2rem,8vw,3.2rem);}
}
@media(max-width:540px){
  .options-grid,.checks-grid{grid-template-columns:1fr;}
  .roles-grid{grid-template-columns:repeat(3,1fr);}
  .reviews-grid{grid-template-columns:1fr;}
  /* Path map mobile: single column, no stagger */
  .path-grid{grid-template-columns:1fr;}
  .pm-c2,.pm-c4,.pm-c6{margin-top:0;}
  .pm-c7{grid-column:1;max-width:100%;}
  /* SVG dashed connector: scale to single-column on mobile */
  .path-svg{opacity:.5;}
  /* BA fully stacked on mobile */
  .ba-row{grid-template-columns:1fr;gap:0;border-radius:var(--r-md);}
  .ba-arrow-col{height:60px;flex-direction:row;gap:0;writing-mode:horizontal-tb;}
  .ba-before-col,.ba-after-col{padding:20px;}
  .ba-cat{writing-mode:horizontal-tb;}
  .sprint-stats{gap:16px;}
  .sprint-stat .stat-num{font-size:1.6rem;}
  .sc-price-row{flex-direction:column;align-items:flex-start;}
}

/* CR layout mobile */
@media(max-width:540px){
  .cr-layout{grid-template-columns:1fr;}
  .cr-creature-area{height:220px;}
  .cr-title{font-size:2.4rem;}
  .cta-strip h3{font-size:1.3rem;}
  .cta-strip-btns{flex-direction:column;align-items:center;}
}

/* ══════════════════════════════════════════════════════════
   SPRINT BOTTOM ROW — 2-col hero + teaser bloqueado
══════════════════════════════════════════════════════════ */
.sprint-bottom-row{
  display:grid;
  grid-template-columns:1fr 340px;
  gap:48px;
  align-items:center;
  padding:48px 0 72px;
}
.sprint-bottom-row .sprint-intro{
  max-width:none;
  padding:0;
}
.sprint-result-teaser{
  position:relative;
  border-radius:var(--r-lg);
  overflow:hidden;
  border:1px solid var(--border);
  background:var(--bg-card);
  min-height:300px;
  box-shadow:var(--shadow),var(--glow-g);
}
.srt-inner{position:relative;height:100%;min-height:300px;}
.srt-blurred{
  padding:28px 24px;
  filter:blur(7px);
  pointer-events:none;
  user-select:none;
  opacity:.7;
}
.srt-eyebrow{
  font-size:.58rem;font-weight:800;text-transform:uppercase;
  letter-spacing:.14em;color:var(--acid);margin-bottom:10px;display:block;
}
.srt-blurred h3{
  font-family:var(--font-h);font-size:1.1rem;color:var(--cream);
  margin-bottom:18px;line-height:1.3;font-weight:700;
}
.srt-blurred h3 span{color:var(--orange);}
.srt-rows{display:flex;flex-direction:column;gap:7px;margin-bottom:14px;}
.srt-row{height:7px;background:var(--muted);border-radius:4px;opacity:.3;}
.srt-row.srt-short{width:55%;}
.srt-row.srt-medium{width:75%;}
.srt-tags{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:14px;}
.srt-tags span{height:22px;width:72px;background:rgba(0,197,124,.18);border-radius:12px;}
.srt-price-blur{height:28px;background:rgba(156,242,27,.2);border-radius:6px;margin-top:4px;}
.srt-lock-overlay{
  position:absolute;inset:0;
  display:flex;flex-direction:column;
  align-items:center;justify-content:center;
  gap:14px;
  background:rgba(1,32,18,.7);
  backdrop-filter:blur(4px);
  text-align:center;padding:24px;
}
.srt-logo{
  width:44px;height:44px;border-radius:10px;
  background:var(--orange);color:#fff;
  font-family:var(--font-h);font-size:1.2rem;font-weight:800;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 0 18px rgba(253,80,1,.55);
}
.srt-lock-overlay p{font-size:.85rem;color:var(--muted);line-height:1.65;}

/* ══════════════════════════════════════════════════════════
   PATH SECTION — full-width dark background
══════════════════════════════════════════════════════════ */
.path-section{
  padding:80px 0;
  border-top:1px solid var(--border);
  background:rgba(1,14,7,.93);
  position:relative;
  overflow:hidden;
}
.path-section::before{
  content:'';position:absolute;inset:0;pointer-events:none;z-index:0;
  background-image:
    linear-gradient(rgba(0,197,124,.04) 1px,transparent 1px),
    linear-gradient(90deg,rgba(0,197,124,.04) 1px,transparent 1px);
  background-size:44px 44px;
}
.path-section>.container{position:relative;z-index:1;}
/* Remove box from path-map — section is now the container */
.path-map{
  margin-top:48px;
  background:transparent;
  border:none;
  border-radius:0;
  padding:0;
  position:relative;
  overflow:visible;
}
.path-map::before{display:none;}

/* ══════════════════════════════════════════════════════════
   SISTEMAS SECTION — animated dot background
══════════════════════════════════════════════════════════ */
.sistemas-section{position:relative;overflow:hidden;}
.sistemas-section::before{
  content:'';position:absolute;inset:0;z-index:0;pointer-events:none;
  background:
    radial-gradient(circle, rgba(156,242,27,.7) 0 2px, transparent 3px) 20px 20px / 120px 120px,
    radial-gradient(circle, rgba(0,197,124,.55) 0 2px, transparent 3px) 80px 80px / 170px 170px,
    radial-gradient(circle at 10% 50%, rgba(0,197,124,.08), transparent 20rem),
    radial-gradient(circle at 90% 20%, rgba(253,80,1,.06), transparent 16rem);
  animation:circuitCurrent 10s linear infinite;
  opacity:.32;
}
.sistemas-section>.container{position:relative;z-index:1;}

/* ══════════════════════════════════════════════════════════
   BRANDS CAROUSEL — pill style, 35s speed, 10% bigger logos
══════════════════════════════════════════════════════════ */
.carousel-track{
  display:flex;gap:16px;
  animation:scrollLeft 35s linear infinite;
  width:max-content;
}
.brand-chip{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:10px 22px;
  background:var(--bg-card);border:1px solid var(--border);
  border-radius:var(--r-md);
  white-space:nowrap;
  transition:all var(--trans);
  height:64px;
  min-width:120px;
}
.brand-chip:hover{border-color:var(--green);box-shadow:0 0 18px rgba(0,197,124,.22);}
.brand-logo{
  height:35px;width:auto;max-width:97px;
  filter:grayscale(1) brightness(.65) contrast(.9);
  transition:filter var(--trans);
  object-fit:contain;display:block;flex-shrink:0;
}
.brand-chip:hover .brand-logo{filter:grayscale(0) brightness(1.05);}
.brand-name{
  font-family:var(--font-h);font-size:.8rem;font-weight:600;
  color:var(--muted);transition:color var(--trans);
}
.brand-chip:hover .brand-name{color:var(--cream);}

/* ══════════════════════════════════════════════════════════
   WORLD MAP SECTION
══════════════════════════════════════════════════════════ */
.worldmap-section{
  padding:96px 0;
  border-top:1px solid var(--border);
  position:relative;overflow:hidden;
  background:linear-gradient(180deg,transparent,rgba(0,197,124,.03) 50%,transparent);
}
.worldmap-section::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(ellipse 60% 60% at 70% 50%, rgba(0,197,124,.07), transparent),
    radial-gradient(ellipse 40% 40% at 30% 50%, rgba(253,80,1,.04), transparent);
}
.worldmap-inner{
  display:grid;
  grid-template-columns:1fr 440px;
  gap:72px;align-items:center;
  position:relative;z-index:1;
}
.worldmap-badge{
  display:inline-flex;align-items:center;gap:8px;
  font-size:.65rem;font-weight:800;letter-spacing:.16em;
  text-transform:uppercase;color:var(--green);
  border:1px solid rgba(0,197,124,.3);
  border-radius:99px;padding:5px 14px;
  background:rgba(0,197,124,.08);
  margin-bottom:20px;
}
.wm-badge-dot{
  width:7px;height:7px;border-radius:50%;
  background:var(--green);
  box-shadow:0 0 8px var(--green),0 0 16px rgba(0,197,124,.5);
  animation:badgePulse 2s ease-in-out infinite;
}
@keyframes badgePulse{0%,100%{opacity:1;transform:scale(1);}50%{opacity:.4;transform:scale(.8);}}
.worldmap-text h2{margin-bottom:18px;}
.wm-lead{
  font-size:1rem;color:var(--muted);line-height:1.75;
  max-width:480px;margin-bottom:28px;
}
.worldmap-chips{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:28px;}
.wm-chip{
  font-size:.78rem;font-weight:600;
  padding:6px 14px;border-radius:99px;
  background:rgba(0,197,124,.1);border:1px solid rgba(0,197,124,.22);
  color:var(--green);
}
.wm-stats{display:flex;align-items:center;gap:24px;}
.wm-stat{text-align:center;}
.wm-stat-num{
  display:block;font-family:var(--font-h);font-size:1.8rem;font-weight:800;
  color:var(--green);line-height:1;
}
.wm-stat-lbl{
  font-size:.65rem;text-transform:uppercase;letter-spacing:.09em;color:var(--dim);margin-top:3px;display:block;
}
.wm-stat-sep{width:1px;height:36px;background:var(--border);}
.worldmap-globe-wrap{
  display:flex;align-items:center;justify-content:center;
}
.globe-canvas{
  width:400px;height:400px;
  display:block;
  border-radius:50%;
  box-shadow:
    0 0 60px rgba(0,197,124,.15),
    0 0 120px rgba(0,197,124,.06),
    0 0 0 1px rgba(0,197,124,.2);
}

/* CTA row in worldmap */
.wm-cta-row{
  display:flex;flex-wrap:wrap;gap:12px;margin-top:32px;
}

/* ══════════════════════════════════════════════════════════
   FINAL CTA SECTION
══════════════════════════════════════════════════════════ */
.final-cta-section{
  padding:100px 0;
  border-top:1px solid var(--border);
  background:linear-gradient(135deg,rgba(0,197,124,.06),rgba(253,80,1,.04));
  position:relative;overflow:hidden;
  text-align:center;
}
.final-cta-section::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(ellipse 60% 80% at 50% 50%, rgba(0,197,124,.08), transparent);
}
.fcta-wrap{
  max-width:580px;margin:0 auto;
  position:relative;z-index:1;
}
.fcta-headline{
  font-family:var(--font-h);
  font-size:clamp(2.4rem,5vw,4rem);
  font-weight:800;letter-spacing:-.02em;
  color:var(--cream);line-height:1.05;
  margin-bottom:18px;
}
.fcta-lead{
  font-size:1rem;color:var(--muted);line-height:1.75;
  max-width:440px;margin:0 auto 36px;
}
.fcta-btns{
  display:flex;flex-wrap:wrap;gap:14px;justify-content:center;
}

/* ── Responsive worldmap ── */
@media(max-width:1100px){
  .worldmap-inner{grid-template-columns:1fr 360px;gap:48px;}
  .globe-canvas{width:340px;height:340px;}
}
@media(max-width:860px){
  .worldmap-inner{grid-template-columns:1fr;gap:40px;}
  .globe-canvas{width:320px;height:320px;}
  .sprint-bottom-row{grid-template-columns:1fr;gap:32px;}
  .sprint-result-teaser{min-height:220px;}
  .srt-inner{min-height:220px;}
}

/* Mobile nav open */
.nav.open{
  display:flex;flex-direction:column;
  position:fixed;top:64px;left:0;right:0;
  background:rgba(1,32,18,.98);
  border-bottom:1px solid var(--border);
  padding:24px;gap:20px;z-index:99;
  animation:fadeIn .2s ease;
}
.nav.open .nav-link{font-size:1rem;color:var(--cream);}

/* ══════════════════════════════════════════════════════════
   URGENCY SELECT — styled to match field-input
══════════════════════════════════════════════════════════ */
select.field-input{
  appearance:auto;-webkit-appearance:auto;
  cursor:pointer;
}
select.field-input option{background:var(--bg-card);color:var(--cream);}

/* ══════════════════════════════════════════════════════════
   TASK LIST — post-resultado unlocked + locked tasks
══════════════════════════════════════════════════════════ */
.task-section{margin-top:28px;}
.task-section-eyebrow{
  font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.14em;
  color:var(--acid);display:block;margin-bottom:12px;
}
.task-list{display:flex;flex-direction:column;gap:7px;}
.task-item{
  display:flex;align-items:flex-start;gap:12px;
  padding:10px 14px;border-radius:var(--r-sm);
  background:var(--bg-card2);border:1px solid var(--border);
  transition:border-color var(--trans);
}
.task-item.unlocked{border-color:rgba(0,197,124,.28);background:rgba(0,197,124,.04);}
.task-item.locked{
  filter:blur(2.5px);opacity:.42;pointer-events:none;
  user-select:none;
}
.task-num{
  font-family:var(--font-h);font-size:.62rem;font-weight:800;
  color:var(--orange);flex-shrink:0;margin-top:2px;min-width:16px;
}
.task-item.unlocked .task-num{color:var(--green);}
.task-text{font-size:.82rem;color:var(--muted);line-height:1.5;}
.task-item.unlocked .task-text{color:var(--cream);}
.task-lock-wrap{
  display:flex;align-items:center;justify-content:center;
  padding:14px;border-radius:var(--r-md);
  background:rgba(0,0,0,.2);border:1px dashed rgba(255,255,255,.1);
  margin-top:12px;font-size:.78rem;color:var(--dim);gap:8px;
}

/* ══════════════════════════════════════════════════════════
   DISCOUNT BADGES in result investment section
══════════════════════════════════════════════════════════ */
.discount-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px;}
.discount-chip{
  display:inline-flex;align-items:center;gap:6px;
  padding:5px 12px;border-radius:99px;
  background:rgba(253,80,1,.10);border:1px solid rgba(253,80,1,.28);
  font-size:.68rem;font-weight:700;color:var(--orange);
}
.discount-chip.green{
  background:rgba(0,197,124,.10);border-color:rgba(0,197,124,.28);
  color:var(--green);
}

/* ══════════════════════════════════════════════════════════
   BRIEFING SEND CTA BLOCK
══════════════════════════════════════════════════════════ */
.briefing-send-block{
  background:linear-gradient(135deg,rgba(0,197,124,.12),rgba(253,80,1,.08));
  border:1.5px solid rgba(0,197,124,.35);
  border-radius:var(--r-lg);padding:32px;
  text-align:center;margin-top:32px;
}
.briefing-send-block h3{font-size:1.1rem;margin-bottom:6px;}
.briefing-send-block p{font-size:.88rem;color:var(--muted);margin-bottom:22px;line-height:1.65;}
.briefing-send-btns{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-bottom:18px;}
.briefing-sent-msg{
  display:none;font-size:.88rem;color:var(--green);font-weight:600;
  padding:12px;border-radius:var(--r-sm);
  background:rgba(0,197,124,.1);border:1px solid rgba(0,197,124,.25);
}
.briefing-sent-msg.show{display:block;}

/* ══════════════════════════════════════════════════════════
   CONSULTATION BOOKING BLOCK
══════════════════════════════════════════════════════════ */
.booking-block{
  background:var(--bg-card);border:1px solid var(--border);
  border-radius:var(--r-lg);padding:24px;margin-top:16px;
  display:flex;flex-wrap:wrap;align-items:flex-start;gap:20px;
}
.booking-text{flex:1;min-width:200px;}
.booking-title{font-size:.95rem;font-weight:700;color:var(--cream);margin-bottom:6px;}
.booking-desc{font-size:.82rem;color:var(--muted);line-height:1.6;margin-bottom:0;}
.booking-price{
  font-size:1.3rem;font-weight:800;font-family:var(--font-h);
  color:var(--acid);display:block;margin-bottom:2px;
}
.booking-price-note{font-size:.68rem;color:var(--dim);}
.booking-cta{display:flex;flex-direction:column;gap:6px;align-items:flex-end;}
.booking-form{display:flex;gap:8px;flex-wrap:wrap;align-items:center;}
.booking-input{
  padding:10px 12px;border-radius:var(--r-sm);
  background:var(--bg-card2);border:1.5px solid var(--border);
  color:var(--cream);font-family:var(--font-b);font-size:.85rem;
  outline:none;transition:border-color var(--trans);cursor:pointer;
}
.booking-input:focus{border-color:var(--green);}
.booking-note{font-size:.7rem;color:var(--dim);}

/* ══════════════════════════════════════════════════════════
   RESULT COMPACT — tighter layout
══════════════════════════════════════════════════════════ */
.result-grid{gap:14px;margin-bottom:14px;}
.res-card{padding:20px;}
.result-ctas{display:none;} /* replaced by briefing-send-block in JS */

/* try-link demo style */
.try-link.demo{color:var(--orange);font-weight:700;cursor:pointer;}
.try-link.demo:hover{color:#ff7040;}

/* ══════════════════════════════════════════════════════════
   SELECTIONS SUMMARY — resumen de respuestas bajo nivel
══════════════════════════════════════════════════════════ */
.selections-summary{
  display:flex;flex-wrap:wrap;gap:6px;
  margin-top:14px;padding-top:14px;
  border-top:1px solid var(--border);
}
.sel-item{
  display:inline-flex;align-items:center;gap:5px;
  padding:4px 10px;border-radius:99px;
  background:rgba(0,197,124,.07);border:1px solid rgba(0,197,124,.15);
  font-size:.72rem;color:var(--muted);
}
.sel-icon{font-size:.78rem;flex-shrink:0;}
.sel-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:170px;}

/* ══════════════════════════════════════════════════════════
   INVESTMENT — discounts restructure
══════════════════════════════════════════════════════════ */
.invest-divider{height:1px;background:var(--border);margin:14px 0 10px;}
.invest-total-block{
  background:rgba(0,197,124,.07);border:1px solid rgba(0,197,124,.2);
  border-radius:var(--r-sm);padding:10px 14px;margin-bottom:10px;
}
.invest-total-row{
  display:flex;justify-content:space-between;align-items:center;padding:4px 0;
}
.invest-total-row:not(:last-child){border-bottom:1px solid rgba(0,197,124,.1);}
.inv-total-lbl{font-size:.75rem;color:var(--muted);}
.inv-total-val{font-size:.88rem;font-weight:800;color:var(--acid);}
.invest-urgency{
  font-size:.74rem;font-weight:600;color:var(--orange);
  padding:8px 12px;border-radius:var(--r-sm);
  background:rgba(253,80,1,.08);border:1px solid rgba(253,80,1,.2);
  margin-bottom:10px;
}

/* ══════════════════════════════════════════════════════════
   AI RECOMMENDATION BLOCK
══════════════════════════════════════════════════════════ */
.ai-rec-block{
  background:linear-gradient(135deg,rgba(0,197,124,.09),rgba(156,242,27,.04));
  border:1px solid rgba(0,197,124,.22);
  border-radius:var(--r-md);padding:18px 20px;margin-bottom:14px;
}
.ai-rec-eyebrow{
  font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.13em;
  color:var(--acid);display:block;margin-bottom:10px;
}
.ai-rec-text{font-size:.88rem;color:var(--cream);line-height:1.75;margin:0;}
.ai-rec-text strong{color:var(--acid);}
.vp-quote{
  font-size:.95rem;color:var(--cream);font-weight:600;
  line-height:1.7;font-style:italic;
  padding:12px 16px;border-left:3px solid var(--green);
  background:rgba(0,197,124,.05);border-radius:0 var(--r-sm) var(--r-sm) 0;
  margin-bottom:10px;
}
.vp-benefit{font-size:.85rem;color:var(--muted);margin:0;}
.vp-benefit strong{color:var(--acid);}

/* ══════════════════════════════════════════════════════════
   MERCADO PAGO BUTTON — azul oficial #009ee3
══════════════════════════════════════════════════════════ */
.btn-mp{
  background:linear-gradient(135deg,#00b1ea,#009ee3);
  color:#fff;font-weight:700;
  border:1px solid rgba(0,158,227,.5);
  box-shadow:0 4px 20px rgba(0,158,227,.38);
  transition:all var(--trans);
}
.btn-mp:hover{
  background:linear-gradient(135deg,#00c3ff,#00b1ea);
  box-shadow:0 6px 28px rgba(0,158,227,.55);
  transform:translateY(-1px);
}

/* ══════════════════════════════════════════════════════════
   BOOKING BLOCK REDESIGN
══════════════════════════════════════════════════════════ */
.booking-block{
  background:linear-gradient(135deg,rgba(0,158,227,.08),rgba(0,193,255,.04));
  border:1.5px solid rgba(0,158,227,.28);
  border-radius:var(--r-lg);padding:32px;margin-top:20px;
}
.booking-header{margin-bottom:24px;}
.booking-badge{
  display:inline-flex;align-items:center;gap:8px;
  padding:5px 14px;border-radius:99px;
  background:rgba(0,158,227,.15);border:1px solid rgba(0,158,227,.32);
  font-size:.7rem;font-weight:700;color:#00b1ea;
  margin-bottom:14px;
}
.booking-main-title{
  font-size:1.25rem;font-weight:800;color:var(--cream);
  line-height:1.3;margin-bottom:10px;
}
.booking-main-desc{
  font-size:.86rem;color:var(--muted);line-height:1.72;
  margin-bottom:16px;max-width:540px;
}
.booking-benefits{display:flex;flex-wrap:wrap;gap:8px 24px;}
.bk-benefit{font-size:.78rem;color:var(--cream);font-weight:500;}

.booking-form-section{
  display:flex;flex-wrap:wrap;gap:24px;align-items:flex-start;
  margin-top:4px;
}
.booking-form-fields{
  flex:1;min-width:220px;display:flex;flex-direction:column;gap:12px;
}
.booking-label{
  font-size:.72rem;font-weight:700;color:var(--muted);
  text-transform:uppercase;letter-spacing:.1em;
}
.booking-slots{display:flex;flex-wrap:wrap;gap:8px;}
.slot-btn{
  padding:8px 14px;border-radius:var(--r-sm);
  background:var(--bg-card2);border:1.5px solid var(--border);
  color:var(--muted);font-size:.82rem;font-weight:600;
  cursor:pointer;transition:all var(--trans);font-family:var(--font-b);
}
.slot-btn:hover{border-color:rgba(0,158,227,.5);color:var(--cream);}
.slot-btn.selected{
  background:rgba(0,158,227,.18);
  border-color:rgba(0,158,227,.65);
  color:#00c3ff;
}

.booking-pay-col{
  display:flex;flex-direction:column;gap:12px;
  align-items:flex-start;min-width:210px;
}
.booking-price-display{display:flex;flex-direction:column;gap:3px;}
.booking-amount{
  font-size:2.2rem;font-weight:800;font-family:var(--font-h);
  color:#00b1ea;line-height:1;
}
.booking-sub-note{font-size:.72rem;color:var(--dim);}
.booking-gcal-wrap{margin-top:2px;width:100%;}
.booking-gcal-wrap .btn-outline{width:100%;justify-content:center;}
.booking-security-note{font-size:.7rem;color:var(--dim);margin:0;}
@media(max-width:600px){
  .booking-block{padding:20px;}
  .booking-pay-col{width:100%;}
  .booking-amount{font-size:1.8rem;}
  .sel-text{max-width:130px;}
}

/* ══════════════════════════════════════════════════════════
   PROGRESS HINT — micro-mensajes de aliento en el wizard
══════════════════════════════════════════════════════════ */
.progress-hint{
  font-size:.78rem;font-weight:600;color:var(--acid);
  text-align:center;margin-top:.6rem;margin-bottom:0;
  opacity:0;transition:opacity .4s ease;
}

/* ══════════════════════════════════════════════════════════
   RESUME BANNER — "Continuar sprint" al recargar
══════════════════════════════════════════════════════════ */
#resume-banner{
  position:fixed;bottom:-80px;left:50%;transform:translateX(-50%);
  background:var(--bg-card);border:1.5px solid var(--green);
  border-radius:var(--r-lg);padding:14px 20px;
  display:flex;flex-wrap:wrap;gap:10px;align-items:center;
  z-index:9999;box-shadow:0 4px 32px rgba(0,197,124,.22);
  font-family:var(--font-b);color:var(--cream);
  transition:bottom .35s cubic-bezier(.4,0,.2,1);
  max-width:calc(100vw - 2rem);
}
#resume-banner.show{bottom:1.5rem;}
.rb-text{font-size:.87rem;flex:1;min-width:180px;}
.rb-btn-yes{
  padding:7px 16px;border-radius:var(--r-sm);
  background:var(--orange);color:#fff;font-weight:700;font-size:.82rem;
  border:none;cursor:pointer;font-family:var(--font-b);
  transition:background var(--trans);
}
.rb-btn-yes:hover{background:#e04400;}
.rb-btn-no{
  padding:7px 14px;border-radius:var(--r-sm);
  background:transparent;color:var(--muted);font-size:.78rem;
  border:1px solid var(--border);cursor:pointer;font-family:var(--font-b);
  transition:border-color var(--trans);
}
.rb-btn-no:hover{border-color:var(--muted);}

/* ══════════════════════════════════════════════════════════
   PDF DOWNLOAD BUTTON
══════════════════════════════════════════════════════════ */
.result-actions-pdf{
  text-align:center;margin-top:16px;padding-bottom:8px;
}

/* ══════════════════════════════════════════════════════════
   PRINT MEDIA — solo muestra la sección resultado
══════════════════════════════════════════════════════════ */
@media print{
  .header,.sprint-section,.path-section,.ba-section,
  .cta-strip,.sistemas-section,.try-section,
  .logos-carousel-section,.reviews-section,.cr-teaser,
  .worldmap-section,.faq-section,.final-cta-section,
  .footer,#popup-overlay,.toast,.cursor-dot,.cursor-glow,
  #loader,.result-actions-pdf,.booking-block,
  .briefing-send-block,[onclick="resetSprint()"]{
    display:none !important;
  }
  #result{ display:block !important; }
  body{ background:#fff !important; color:#012012 !important; }
  .res-card{
    break-inside:avoid;
    border:1px solid #ccc !important;
    margin-bottom:1rem;
    background:#fff !important;
  }
  .res-label,.score-name,.mod-res-name,.rdmp-label{color:#012012 !important;}
  .score-desc,.mod-res-desc,.task-text,.ai-rec-text,.inv-lbl,.muted{color:#444 !important;}
  .inv-val,.inv-total-val,.acid,.score-badge{color:#006644 !important;}
  .task-item.locked{filter:none !important;opacity:.35 !important;}
}
