:root{
--navy:#0c3151;--blue:#1167d8;--cyan:#16b9e9;--purple:#7a33e8;--green:#11a65d;--orange:#f19a1a;
--ink:#10233a;--muted:#5e6c7c;--line:#dce6f0;--soft:#f4f8fc;--shadow:0 18px 50px rgba(12,49,81,.12)
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--ink);line-height:1.5;background:#fff}
a{text-decoration:none;color:inherit}.container{width:min(1180px,calc(100% - 40px));margin:0 auto}.narrow{max-width:900px}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}
.nav-wrap{min-height:78px;display:flex;align-items:center;gap:26px}.brand{display:flex;align-items:center;gap:12px;min-width:245px}
.brand-mark{width:40px;height:40px;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:4px}.brand-mark i{display:block;border-radius:4px;background:var(--blue)}.brand-mark i:nth-child(2),.brand-mark i:nth-child(3){background:var(--cyan)}.brand-mark i:nth-child(4){background:var(--navy)}
.brand-copy{display:flex;flex-direction:column}.brand-copy strong{font-size:1.45rem;letter-spacing:-.03em}.brand-copy small{font-size:.58rem;letter-spacing:.12em;color:#33485d}
.main-nav{display:flex;align-items:center;gap:20px;flex:1;justify-content:flex-end;font-size:.91rem}.main-nav a{padding:28px 0;color:#20374c;position:relative}.main-nav a.active,.main-nav a:hover{color:var(--blue)}.main-nav a.active:after{content:"";position:absolute;left:0;right:0;bottom:17px;height:3px;border-radius:999px;background:linear-gradient(90deg,var(--blue),var(--cyan))}
.nav-cta{background:var(--blue)!important;color:#fff!important;padding:12px 18px!important;border-radius:14px}.nav-cta:after{display:none!important}.menu-toggle{display:none;border:0;background:none;font-size:1.5rem;color:var(--navy)}
.hero{position:relative;overflow:hidden;background:radial-gradient(circle at 78% 20%,rgba(22,185,233,.22),transparent 28%),linear-gradient(135deg,#071b2d 0%,#0c3151 48%,#103e67 100%);color:#fff}
.hero-grid{min-height:690px;display:grid;grid-template-columns:1.02fr 1fr;align-items:center;gap:28px;padding:64px 0 56px}.eyebrow,.section-kicker{font-size:.77rem;letter-spacing:.14em;font-weight:800;color:var(--cyan)}
.hero h1{font-size:clamp(3.1rem,6vw,5.3rem);line-height:.95;margin:14px 0 22px;letter-spacing:-.05em}.hero h1 span{color:var(--cyan)}
.hero-lead{font-size:1.22rem;max-width:650px;color:#dbe8f3}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin:30px 0 28px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:15px;padding:15px 22px;font-weight:800;cursor:pointer;font-size:.98rem}.btn-primary{background:linear-gradient(135deg,var(--blue),#198bf0);color:#fff;box-shadow:0 14px 28px rgba(17,103,216,.28)}.btn-outline{border:1px solid rgba(255,255,255,.5);color:#fff;background:rgba(255,255,255,.04)}
.hero-points{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;color:#dce8f3;font-size:.92rem}.hero-points b{color:var(--cyan);margin-right:6px}
.hero-build{min-height:520px;position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center}.build-caption{font-style:italic;font-size:1.1rem;color:#bfefff;max-width:280px;text-align:right;align-self:flex-end;margin-bottom:12px}
.stack{width:min(100%,640px);filter:drop-shadow(0 26px 30px rgba(0,0,0,.22));transform:perspective(1100px) rotateY(-7deg)}.stack-row{display:flex;gap:12px;align-items:center;justify-content:center}.stack-row.second,.stack-row.third{margin-top:12px}
.connector{font-size:2rem;color:#89def9}.lego{min-height:118px;border-radius:13px;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:18px 10px;text-align:center;font-weight:900;color:#fff;box-shadow:inset 0 -10px 0 rgba(0,0,0,.09),0 9px 22px rgba(0,0,0,.17);overflow:hidden}.lego:before{content:"";position:absolute;top:10px;left:18px;width:16px;height:16px;border-radius:50%;background:rgba(255,255,255,.25);box-shadow:24px 0 0 rgba(255,255,255,.25),48px 0 0 rgba(255,255,255,.25)}.lego span,.lego small{position:relative;z-index:1}.lego span{font-size:.76rem;line-height:1.08}.lego small{font-size:.64rem;margin-bottom:6px;letter-spacing:.04em}.lego.base{background:linear-gradient(150deg,#eef5fb,#a9bbc9);color:#17324a;min-width:220px}.lego.base:before{background:rgba(12,49,81,.12);box-shadow:24px 0 0 rgba(12,49,81,.12),48px 0 0 rgba(12,49,81,.12)}.lego.blue{background:linear-gradient(150deg,#208cf2,#0e59c2)}.lego.purple{background:linear-gradient(150deg,#984ef0,#5f1dbb)}.lego.green{background:linear-gradient(150deg,#20bb73,#0f8d50)}.lego.orange{background:linear-gradient(150deg,#ffb33e,#db7a00)}.lego.cyan{background:linear-gradient(150deg,#25cdec,#0b9fc0)}
.build-note{margin-top:14px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:14px 18px;display:flex;gap:12px;align-items:center;max-width:620px}.build-note b{display:block}.build-note div span{display:block;color:#c7dce9;font-size:.86rem}.ch-mini{width:34px;height:34px;flex:0 0 34px;border-radius:8px;background:linear-gradient(135deg,var(--cyan),var(--blue));display:inline-flex;align-items:center;justify-content:center;font-weight:900}
.section{padding:80px 0}.section-head{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:30px}.section-head h2,.section h2{font-size:clamp(2rem,4vw,3rem);margin:8px 0 0;letter-spacing:-.04em}.section-head p{max-width:560px;color:var(--muted);margin:0}
.promise{background:#fff}.promise-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.promise-grid article{border:1px solid var(--line);border-radius:20px;padding:22px;background:#fff;box-shadow:0 5px 18px rgba(12,49,81,.04)}.promise-grid h3{margin:15px 0 8px}.promise-grid p{color:var(--muted);font-size:.9rem;margin:0}.promise-icon{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:900;box-shadow:inset 0 -8px 0 rgba(0,0,0,.08)}.promise-icon.blue{background:var(--blue)}.promise-icon.cyan{background:var(--cyan)}.promise-icon.purple{background:var(--purple)}.promise-icon.green{background:var(--green)}.promise-icon.orange{background:var(--orange)}
.experiences{background:var(--soft);border-top:1px solid #e5eef7;border-bottom:1px solid #e5eef7}.case-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:16px}.case-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:26px;box-shadow:0 5px 18px rgba(12,49,81,.04)}.case-card.featured{background:linear-gradient(160deg,#eef7ff,#fff);border-color:#cfe1f4}.case-top{display:flex;justify-content:space-between;align-items:center;gap:14px}.case-tag{font-size:.68rem;letter-spacing:.1em;font-weight:900;color:#6c7f8f}.case-mark{width:46px;height:46px;border-radius:13px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:900}.case-mark.blue{background:var(--blue)}.case-mark.purple{background:var(--purple)}.case-mark.cyan{background:var(--cyan)}.case-card h3{font-size:1.2rem;line-height:1.15;margin:20px 0 16px}.case-card p{color:var(--muted);font-size:.92rem}.case-line{display:grid;grid-template-columns:110px 1fr;gap:10px;padding:11px 0;border-top:1px solid var(--line);font-size:.88rem}.case-line b{color:var(--navy)}.case-link{display:inline-block;margin-top:16px;color:var(--blue);font-weight:900}.case-status{display:inline-flex;padding:8px 12px;border-radius:999px;background:#f3ebff;color:var(--purple);font-size:.78rem;font-weight:900}

.sector-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}.sector{border:1px solid var(--line);border-radius:18px;background:#fff;padding:22px 14px;display:flex;flex-direction:column;gap:6px;align-items:center;text-align:center}.sector .emoji{font-size:1.9rem}.sector b{font-size:.92rem}.sector small{color:var(--muted);font-size:.7rem}
.value{background:#fff;padding-top:55px}.value-panel{background:linear-gradient(120deg,var(--navy),#12416e);color:#fff;border-radius:28px;padding:44px;display:flex;align-items:center;justify-content:space-between;gap:30px;box-shadow:var(--shadow)}.value-panel h2{max-width:800px}.value-panel p{max-width:790px;color:#d7e6f3}.section-kicker.light{color:#89def9}.time-card{min-width:150px;height:150px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#26c9ef,#0d63c6 70%);display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 20px 38px rgba(0,0,0,.18);text-align:center}.time-card span{font-size:.75rem;letter-spacing:.15em;font-weight:900}.time-card strong{font-size:2rem}.time-card small{opacity:.85}.benefit-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:18px}.benefit-grid div{padding:18px;border:1px solid var(--line);border-radius:18px;background:#fff}.benefit-grid b{display:block;margin-bottom:7px}.benefit-grid span{font-size:.84rem;color:var(--muted)}
.faq details{border-top:1px solid var(--line);padding:18px 0}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;font-weight:800;font-size:1.02rem}.faq details p{color:var(--muted);max-width:820px}
.form-note{color:#bcd1e2;font-size:.75rem}
.site-footer{background:#071b2d;color:#cbd9e5}.footer-wrap{padding:28px 0;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:.82rem}.footer-wrap strong{display:block;color:#fff}.footer-wrap span{display:block;font-size:.65rem;letter-spacing:.1em}.footer-wrap a{color:#89def9}


/* V8 — iconografía semántica del hero */
.visual-icon{
  width:36px;height:36px;display:flex;align-items:center;justify-content:center;
  margin:2px auto 5px;opacity:.98;z-index:2;
}
.visual-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.lego-brick .visual-icon{color:#fff}
.lego-brick.foundation .visual-icon.dark{color:#17324a}
.lego-brick.idea .visual-icon{width:42px;height:42px;margin-top:0;margin-bottom:4px}
.lego-brick.idea em{margin-top:0}
.endpoint-icon{
  width:26px;height:26px;display:flex;align-items:center;justify-content:center;margin-bottom:3px;
}
.endpoint-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.endpoint-block.need .endpoint-icon,.endpoint-block.solution .endpoint-icon{color:#fff}
.endpoint-label{line-height:1}
.lego-brick strong{margin-top:0}

/* Identidad LEGO TECCHNEX */
.hero-build{min-height:520px;position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center}
.build-caption{display:flex;gap:10px;align-items:center;justify-content:flex-end;width:100%;font-weight:800;font-style:normal;letter-spacing:.02em}
.build-caption b{color:var(--cyan);font-size:1.35rem}
.lego-scene{width:min(100%,720px);padding:8px 2px 0;position:relative;filter:drop-shadow(0 24px 28px rgba(0,0,0,.20))}
.lego-row{display:flex;justify-content:center;gap:7px;position:relative}
.lego-foundation{margin-top:8px}
.lego-process{margin-top:-7px;z-index:2}
.lego-top-wrap{display:flex;justify-content:center;position:relative;z-index:3;margin-bottom:-7px}
.lego-brick{position:relative;color:#fff;border-radius:13px;min-height:126px;padding:23px 11px 13px;text-align:center;display:flex;flex-direction:column;justify-content:center;align-items:center;box-shadow:inset 0 -10px 0 rgba(0,0,0,.12),0 12px 18px rgba(0,0,0,.18),inset 0 2px 0 rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.12);overflow:hidden}
.lego-brick:after{content:"";position:absolute;left:0;right:0;bottom:10px;height:1px;background:rgba(255,255,255,.10)}
.lego-brick .studs{position:absolute;top:8px;left:50%;transform:translateX(-50%);display:flex;gap:18px;z-index:4}
.lego-brick .studs i{display:block;width:16px;height:16px;border-radius:50%;background:rgba(255,255,255,.26);box-shadow:inset 0 2px 2px rgba(255,255,255,.25),inset 0 -2px 2px rgba(0,0,0,.10)}
.lego-brick strong{font-size:.86rem;line-height:1.05;margin-top:6px;z-index:2}
.lego-brick small{font-size:.68rem;line-height:1.15;color:rgba(255,255,255,.88);margin-top:6px;z-index:2}
.lego-brick em{font-style:normal;font-size:.58rem;letter-spacing:.08em;opacity:.88;z-index:2}
.lego-brick.foundation{flex:1;min-width:0;min-height:94px;background:linear-gradient(160deg,#f7fafc,#b5c4cf);color:#17324a;box-shadow:inset 0 -10px 0 rgba(11,36,56,.08),0 10px 18px rgba(0,0,0,.12)}
.lego-brick.foundation .studs i{background:rgba(12,49,81,.13);box-shadow:inset 0 2px 2px rgba(255,255,255,.45)}
.lego-brick.foundation small{color:#4b6375}
.lego-brick.purple{background:linear-gradient(155deg,#a458f2,#5d1bb3)}
.lego-brick.cyan{background:linear-gradient(155deg,#2fd7ec,#0798ba)}
.lego-brick.green{background:linear-gradient(155deg,#2ac278,#0b8c4b)}
.lego-brick.red{background:linear-gradient(155deg,#f25d64,#bd2d35)}
.lego-brick.blue{background:linear-gradient(155deg,#218cf2,#0a53bb)}
.lego-brick.idea{width:236px;min-height:126px;background:linear-gradient(155deg,#2a93f8,#0751b7);box-shadow:inset 0 -10px 0 rgba(0,0,0,.12),0 18px 26px rgba(0,0,0,.24),0 0 0 1px rgba(126,230,255,.10)}
.lego-brick.idea em{font-size:.94rem;font-weight:900;letter-spacing:.05em}
.lego-brick.idea strong{font-size:.94rem;line-height:1.1}
.lego-flow-arrow{position:absolute;color:#73e6ff;font-size:3.2rem;font-weight:900;z-index:5;text-shadow:0 6px 14px rgba(0,0,0,.25)}
.mini-lego{display:inline-flex;padding:8px 13px;border-radius:10px;color:#fff!important;font-weight:900;box-shadow:inset 0 -5px 0 rgba(0,0,0,.12)}
.mini-lego.blue{background:var(--blue)}.mini-lego.purple{background:var(--purple)}.mini-lego.cyan{background:var(--cyan)}.mini-lego.green{background:var(--green)}.mini-lego.red{background:var(--red)}.mini-lego.solution{background:var(--green);font-style:normal}


/* CAM-PÁGINA-01F — sección "Cómo trabajamos" */
.promise{background:#fff;padding-top:78px;padding-bottom:72px}
.accent-title{color:var(--cyan)}
.process-construction{
  display:grid;
  grid-template-columns:1fr 24px 1fr 24px 1fr 24px 1fr 24px 1fr;
  gap:10px;
  align-items:stretch;
  margin-top:34px;
}
.process-piece{
  position:relative;
  border-radius:18px;
  min-height:285px;
  padding:20px 18px 46px;
  color:#fff;
  box-shadow:inset 0 -12px 0 rgba(0,0,0,.10),0 12px 22px rgba(12,49,81,.14);
  overflow:hidden;
}
.process-piece:before{
  content:"";
  position:absolute;
  top:9px;
  left:50%;
  transform:translateX(-50%);
  width:15px;height:15px;border-radius:50%;
  background:rgba(255,255,255,.24);
  box-shadow:24px 0 0 rgba(255,255,255,.24),48px 0 0 rgba(255,255,255,.24);
}
.step-blue{background:linear-gradient(155deg,#238df2,#0d5bc0)}
.step-cyan{background:linear-gradient(155deg,#31d1e9,#089aba)}
.step-purple{background:linear-gradient(155deg,#9b57f0,#6121b5)}
.step-green{background:linear-gradient(155deg,#2ac27a,#0b8e4d)}
.step-orange{background:linear-gradient(155deg,#ffb13a,#df7f03)}
.process-top{display:flex;justify-content:space-between;align-items:center;position:relative;z-index:2}
.process-number{font-weight:900;font-size:.82rem;letter-spacing:.06em}
.process-studs{display:flex;gap:6px;opacity:.75}
.process-studs i{display:block;width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.22)}
.process-icon{width:58px;height:58px;margin:14px auto 9px;display:flex;align-items:center;justify-content:center;position:relative;z-index:2}
.process-icon svg{width:100%;height:100%;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.process-piece h3{font-size:1.18rem;margin:8px 0 8px;position:relative;z-index:2}
.process-piece p{font-size:.90rem;color:rgba(255,255,255,.91);margin:0;position:relative;z-index:2}
.process-label{
  position:absolute;left:18px;right:18px;bottom:14px;
  font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;font-weight:900;
  color:rgba(255,255,255,.90)
}
.process-arrow{align-self:center;justify-self:center;color:#94a6b8;font-size:1.8rem;font-weight:900}
.process-track{display:flex;align-items:center;gap:9px;margin:22px 40px 0}
.track-point{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:100px;text-align:center;font-size:.70rem;text-transform:uppercase;letter-spacing:.06em}
.track-point span{width:13px;height:13px;border-radius:50%;display:block}
.track-line{height:2px;flex:1;background:linear-gradient(90deg,#dbe6ee,#bfcfdb)}
.blue-point span{background:var(--blue)}.cyan-point span{background:var(--cyan)}.purple-point span{background:var(--purple)}.green-point span{background:var(--green)}.orange-point span{background:var(--orange)}
.blue-point b{color:var(--blue)}.cyan-point b{color:#0dabc8}.purple-point b{color:var(--purple)}.green-point b{color:var(--green)}.orange-point b{color:#dc7d05}


/* CAM-PÁGINA-01G — sección "Tu necesidad" */
.need-intro{
  display:grid;
  grid-template-columns:1.25fr .75fr;
  gap:22px;
  margin-top:30px;
  padding:26px;
  border:1px solid var(--line);
  border-radius:24px;
  background:linear-gradient(135deg,#f8fbff,#eef8ff);
}
.need-badge{
  display:inline-block;
  padding:7px 11px;
  border-radius:999px;
  background:#e4f6fe;
  color:#058eb5;
  font-size:.68rem;
  letter-spacing:.09em;
  font-weight:900;
}
.need-main-copy h3{font-size:1.8rem;margin:14px 0 8px}
.need-main-copy p{color:var(--muted);max-width:740px;margin:0}
.need-visual{display:flex;align-items:center;justify-content:center}
.need-question{
  width:min(100%,270px);
  min-height:150px;
  background:linear-gradient(150deg,#197fe7,#0d5ac2);
  color:#fff;
  border-radius:20px;
  padding:22px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;
  box-shadow:inset 0 -10px 0 rgba(0,0,0,.10),0 18px 26px rgba(17,103,216,.19);
}
.question-icon{width:42px;height:42px;display:flex;align-items:center;justify-content:center}
.question-icon svg{width:100%;height:100%;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.need-question strong{font-size:1.02rem;text-align:center}

.need-path{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
  margin-top:20px;
}
.need-option{
  border:1px solid var(--line);
  border-radius:22px;
  padding:24px;
  min-height:210px;
  background:#fff;
  box-shadow:0 7px 20px rgba(12,49,81,.05);
  position:relative;
  overflow:hidden;
}
.need-option:before{
  content:"";
  position:absolute;
  left:0;right:0;top:0;height:6px;
}
.blue-option:before{background:var(--blue)}
.purple-option:before{background:var(--purple)}
.green-option:before{background:var(--green)}
.need-icon{
  width:56px;height:56px;border-radius:15px;
  display:flex;align-items:center;justify-content:center;
  color:#fff;
  box-shadow:inset 0 -8px 0 rgba(0,0,0,.10);
}
.blue-option .need-icon{background:var(--blue)}
.purple-option .need-icon{background:var(--purple)}
.green-option .need-icon{background:var(--green)}
.need-icon svg{width:31px;height:31px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.need-option h3{margin:16px 0 8px;font-size:1.12rem}
.need-option p{margin:0;color:var(--muted);font-size:.9rem}

.need-build{
  margin-top:20px;
  padding:24px;
  border-radius:24px;
  background:linear-gradient(120deg,var(--navy),#124d79);
  color:#fff;
  display:grid;
  grid-template-columns:1fr 1.6fr auto;
  align-items:center;
  gap:18px;
}
.need-build-title h3{margin:7px 0 0;font-size:1.35rem}
.need-build-flow{
  display:flex;align-items:center;justify-content:center;gap:9px;flex-wrap:wrap;
}
.need-build-flow b{color:#91e7ff}


.need-cta{white-space:nowrap}


/* CAM-PÁGINA-01H — simpleza */
.simple-value{padding:72px 0 66px;background:#fff}
.simple-section-head{display:flex;align-items:end;justify-content:space-between;gap:34px;margin-bottom:24px}
.simple-section-head h2{font-size:clamp(2rem,3.6vw,2.75rem);margin:8px 0 0;letter-spacing:-.04em}
.simple-section-head p{max-width:560px;color:var(--muted);margin:0}
.sector-pills{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}
.sector-pill{min-height:78px;border:1px solid var(--line);border-radius:18px;background:#fff;display:flex;align-items:center;justify-content:center;gap:9px;font-size:.86rem;box-shadow:0 5px 14px rgba(12,49,81,.04)}
.sector-pill span{font-size:1.35rem}
.sector-pill.blue{border-top:4px solid var(--blue)}
.sector-pill.cyan{border-top:4px solid var(--cyan)}
.sector-pill.purple{border-top:4px solid var(--purple)}
.sector-pill.green{border-top:4px solid var(--green)}
.sector-pill.orange{border-top:4px solid var(--orange)}
.sector-pill.neutral{border-top:4px solid #9ca9b5}
.results-mini{margin-top:28px;padding:28px;border-radius:24px;background:linear-gradient(120deg,var(--navy),#124c77);color:#fff}
.results-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:14px}
.results-grid article{display:flex;align-items:flex-start;gap:12px;padding:16px;border-radius:16px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.10)}
.result-icon{font-size:1.65rem;line-height:1}.results-grid h3{margin:0 0 4px;font-size:1rem}.results-grid p{margin:0;color:#d2e4f0;font-size:.82rem}
.time-message{text-align:center;margin:20px 0 0;color:#91e7ff;font-weight:900;font-size:1rem}

/* CAM-PÁGINA-01I — broche de oro */
.final-contact{background:var(--soft);padding:74px 0 66px}
.final-card{
  background:linear-gradient(135deg,#0a2a47,#0f4e79);
  border-radius:30px;
  padding:40px;
  color:#fff;
  display:grid;
  grid-template-columns:1.12fr .88fr;
  gap:38px;
  box-shadow:0 22px 55px rgba(12,49,81,.18);
  overflow:hidden;
}
.final-story h2{font-size:clamp(2.5rem,5vw,4rem);line-height:.98;margin:10px 0 16px;letter-spacing:-.045em}
.final-lead{font-size:1.06rem;color:#d7e8f4;max-width:680px;margin:0}
.unfinished-build{
  margin-top:28px;
  padding:20px 18px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:22px;
  background:rgba(255,255,255,.055);
}
.finish-row{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.finish-block{
  min-height:68px;border-radius:12px;display:flex;align-items:center;justify-content:center;
  font-size:.68rem;font-weight:900;letter-spacing:.04em;text-align:center;
  box-shadow:inset 0 -8px 0 rgba(0,0,0,.06)
}
.white-block{background:linear-gradient(160deg,#f7fafc,#b9c7d1);color:#17324a}
.finish-gap{
  display:flex;align-items:center;justify-content:center;gap:14px;margin-top:12px
}
.finish-arrow{
  width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  color:#8fe8ff;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);
  font-size:1.2rem;font-weight:900
}
.project-block{
  min-width:255px;min-height:105px;border-radius:15px;
  background:linear-gradient(155deg,#208cf2,#0a58bf);
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  padding:16px;color:#fff;
  box-shadow:inset 0 -10px 0 rgba(0,0,0,.12),0 14px 26px rgba(0,0,0,.22)
}
.project-icon{width:35px;height:35px;margin-bottom:7px}.project-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.project-block strong{font-size:.86rem}.project-block small{font-size:.66rem;color:#d9effb;margin-top:4px}
.final-tagline{
  margin-top:24px;
  font-size:1.15rem;font-weight:900;color:#91e8ff;letter-spacing:.01em
}
.final-form{
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
  border-radius:22px;
  padding:24px;
  display:grid;
  gap:13px;
}
.form-title{margin-bottom:4px}.mini-label{font-size:.66rem;letter-spacing:.1em;font-weight:900;color:#8fe8ff}
.form-title h3{margin:8px 0 0;font-size:1.55rem}
.final-form label{font-size:.82rem;font-weight:800;color:#fff}
.final-form input,.final-form textarea{
  display:block;width:100%;margin-top:6px;
  border:1px solid rgba(255,255,255,.20);
  border-radius:12px;background:rgba(255,255,255,.08);
  padding:12px 14px;color:#fff;outline:none;font:inherit
}
.final-form input::placeholder,.final-form textarea::placeholder{color:#bdd0df}
.final-form input:focus,.final-form textarea:focus{border-color:#7de5ff;box-shadow:0 0 0 2px rgba(125,229,255,.12)}
.final-submit{width:100%;margin-top:3px;font-size:1rem}
.form-note{color:#c4d8e6;font-size:.74rem}
@media(max-width:860px){
  .final-card{grid-template-columns:1fr;padding:30px}
}
@media(max-width:620px){
  .final-card{padding:22px;border-radius:24px}
  .finish-row{grid-template-columns:repeat(2,1fr)}
  .finish-gap{flex-direction:column}
  .project-block{min-width:0;width:100%}
  .final-tagline{font-size:1rem}
}

@media(max-width:1100px){.sector-pills{grid-template-columns:repeat(3,1fr)}}
@media(max-width:860px){.simple-section-head{align-items:start;flex-direction:column}.results-grid{grid-template-columns:1fr}}
@media(max-width:620px){.simple-value{padding:58px 0}.sector-pills{grid-template-columns:repeat(2,1fr)}.sector-pill{min-height:68px}.results-mini{padding:22px}}

@media(max-width:1100px){
  .need-build{grid-template-columns:1fr;justify-items:start}
  .need-build-flow{justify-content:flex-start}
}
@media(max-width:860px){
  .need-intro{grid-template-columns:1fr}
  .need-visual{justify-content:flex-start}
  .need-path{grid-template-columns:1fr}
}
@media(max-width:620px){
  .need-intro{padding:20px}
  .need-main-copy h3{font-size:1.5rem}
  .need-build{padding:20px}
  .need-build-flow{gap:6px}
  
}

@media(max-width:1100px){
  .process-construction{grid-template-columns:repeat(5,1fr);gap:10px}
  .process-arrow{display:none}
  .process-track{margin-left:15px;margin-right:15px}
}
@media(max-width:860px){
  .process-construction{grid-template-columns:1fr 1fr}
  .process-track{display:none}
}
@media(max-width:620px){
  .process-construction{grid-template-columns:1fr}
  .process-piece{min-height:235px}
}

@media(max-width:1100px){.main-nav{gap:14px;font-size:.84rem}.promise-grid{grid-template-columns:repeat(3,1fr)}.case-grid{grid-template-columns:1fr 1fr}.case-card.featured{grid-column:1/-1}.benefit-grid{grid-template-columns:repeat(3,1fr)}.sector-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:860px){.menu-toggle{display:block;margin-left:auto}.main-nav{display:none;position:absolute;left:20px;right:20px;top:84px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:18px;padding:12px;flex-direction:column;align-items:stretch}.main-nav.open{display:flex}.main-nav a{padding:12px 10px}.main-nav a.active:after{display:none}.nav-cta{text-align:center}.hero-grid{grid-template-columns:1fr;min-height:auto}.hero-copy{padding-top:28px}.hero-build{min-height:480px}.section-head{align-items:start;flex-direction:column}.promise-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.lego-scene{padding-top:6px}.lego-foundation{margin-top:-4px}.lego-row{gap:4px}.lego-brick{border-radius:9px;padding:22px 4px 8px}.lego-brick .studs{gap:7px}.lego-brick .studs i{width:11px;height:11px}.lego-brick strong{font-size:.48rem}.lego-brick small{font-size:.42rem}.lego-brick em{font-size:.44rem}.lego-brick.idea{width:182px;min-height:108px}.lego-brick.idea em{font-size:.72rem}.lego-brick.idea strong{font-size:.64rem}.mini-lego{padding:7px 9px}.container{width:min(100% - 26px,1180px)}.brand{min-width:0}.brand-copy strong{font-size:1.05rem}.brand-copy small{font-size:.46rem}.hero h1{font-size:2.7rem}.hero-lead{font-size:1.02rem}.hero-points{grid-template-columns:1fr}.build-caption{align-self:flex-start;text-align:left}.stack{transform:none}.stack-row{gap:6px}.connector{font-size:1.2rem}.lego.base{min-width:0;flex:1;min-height:90px}.stack-row.second .lego{flex:1}.stack-row.third .lego{flex:1;min-height:90px}.lego span{font-size:.55rem}.lego small{font-size:.5rem}.promise-grid,.case-card.featured{grid-column:auto}.sector-grid{grid-template-columns:repeat(2,1fr)}.benefit-grid{grid-template-columns:1fr}.value-panel{padding:28px;flex-direction:column;align-items:flex-start}.time-card{min-width:120px;height:120px}.footer-wrap{flex-direction:column;align-items:flex-start}}

/* V6 — Flujo de protagonismo: TU NECESIDAD → TU SOLUCIÓN */
.build-caption{
  position:relative;
  inset:auto;
  width:min(100%,690px);
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  margin:0 auto 16px;
  color:#fff;
  text-align:center;
  font-style:normal;
}
.endpoint-block{
  min-width:210px;
  min-height:76px;
  padding:15px 18px 13px;
  border-radius:14px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  position:relative;
  overflow:hidden;
  color:#fff;
  box-shadow:inset 0 -7px 0 rgba(0,0,0,.12),0 10px 22px rgba(0,0,0,.18);
  border:1px solid rgba(255,255,255,.14);
}
.endpoint-block:before{
  content:"";
  position:absolute;
  top:8px;
  left:50%;
  transform:translateX(-50%);
  width:14px;
  height:14px;
  border-radius:50%;
  background:rgba(255,255,255,.25);
  box-shadow:22px 0 0 rgba(255,255,255,.25),44px 0 0 rgba(255,255,255,.25);
}
.endpoint-block.need{
  background:linear-gradient(155deg,#0d84e9,#0b52b8);
}
.endpoint-block.solution{
  background:linear-gradient(155deg,#21be72,#0a8d4c);
}
.endpoint-label{
  position:relative;
  z-index:2;
  font-size:1.02rem;
  letter-spacing:.05em;
  font-weight:900;
  line-height:1.05;
  margin-top:6px;
}
.endpoint-block small{
  position:relative;
  z-index:2;
  margin-top:5px;
  font-size:.68rem;
  color:rgba(255,255,255,.9);
  line-height:1.1;
}
.endpoint-arrow{
  font-size:2rem;
  line-height:1;
  font-weight:900;
  color:#7de5ff;
  text-shadow:0 5px 12px rgba(0,0,0,.2);
}
.lego-scene{padding-top:2px}
@media(max-width:620px){
  .build-caption{gap:7px;margin-bottom:10px}
  .endpoint-block{min-width:0;width:42%;min-height:64px;padding:12px 8px 10px}
  .endpoint-label{font-size:.62rem}
  .endpoint-block small{font-size:.48rem}
  .endpoint-arrow{font-size:1.4rem}
}


/* CAM-PÁGINA-01L: presentación adaptable de las imágenes modulares TECCHNEX. */
.modular-brand{background:linear-gradient(180deg,#f5f9fd 0%,#ffffff 100%)}
.modular-brand-head{align-items:end;margin-bottom:30px}
.modular-brand-head p{max-width:540px}
.modular-main-figure{margin:0;padding:14px;background:#fff;border:1px solid #dce7f2;border-radius:22px;box-shadow:0 16px 42px rgba(12,49,81,.09);overflow:hidden}
.modular-main-figure img{display:block;width:100%;height:auto;max-height:760px;object-fit:contain;border-radius:12px}
.modular-main-figure figcaption{padding:13px 10px 4px;color:#52657b;text-align:center;font-size:.94rem}
.modular-brand-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:22px}
.modular-brand-card{margin:0;overflow:hidden;background:#fff;border:1px solid #dce7f2;border-radius:20px;box-shadow:0 12px 30px rgba(12,49,81,.07)}
.modular-brand-card img{display:block;width:100%;height:auto;aspect-ratio:1.5/1;object-fit:contain;background:#fff;padding:10px}
.modular-brand-card figcaption{display:flex;flex-direction:column;gap:6px;padding:0 20px 20px;color:#53667b}
.modular-brand-card figcaption strong{color:#123b5d;font-size:1.05rem}
.modular-brand-card figcaption span{line-height:1.55}
@media(max-width:760px){.modular-brand-head{margin-bottom:20px}.modular-main-figure{padding:7px;border-radius:15px}.modular-main-figure figcaption{font-size:.82rem}.modular-brand-grid{grid-template-columns:1fr;gap:16px}.modular-brand-card img{aspect-ratio:1.4/1}}


/* CAM-PÁGINA-01M: mejora quirúrgica de legibilidad y jerarquía de la galería modular. */
.modular-brand .container{min-width:0}
.modular-brand-head h2{max-width:720px}
.modular-brand-head p{font-size:1rem;line-height:1.7}
.modular-main-figure{width:100%;max-width:1180px;margin-inline:auto}
.modular-main-figure img{width:100%;height:auto;max-height:none;object-fit:contain}
.modular-main-figure figcaption{font-size:.95rem;line-height:1.6}
.modular-brand-grid{align-items:stretch}
.modular-brand-card{display:flex;flex-direction:column;min-width:0}
.modular-brand-card img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain;padding:12px}
.modular-brand-card figcaption{font-size:.94rem;line-height:1.6}
.modular-brand-card figcaption strong{font-size:1.05rem;line-height:1.35}
@media(max-width:760px){
  .modular-brand.section{padding:52px 0}
  .modular-brand-head{display:block;margin-bottom:20px}
  .modular-brand-head h2{font-size:clamp(1.8rem,7vw,2.4rem);line-height:1.12}
  .modular-brand-head p{font-size:.98rem;line-height:1.65;margin-top:14px}
  .modular-main-figure{padding:8px;border-radius:16px}
  .modular-main-figure img{border-radius:9px}
  .modular-main-figure figcaption{padding:10px 7px 3px;font-size:.85rem}
  .modular-brand-grid{grid-template-columns:1fr;gap:16px;margin-top:16px}
  .modular-brand-card img{padding:10px}
  .modular-brand-card figcaption{padding:0 15px 17px;font-size:.92rem}
}
@media(min-width:761px) and (max-width:1024px){
  .modular-brand-grid{gap:16px}
  .modular-brand-card figcaption{padding:0 16px 18px}
}


/* CAM-PÁGINA-01N — relieve 3D tipo bloque LEGO para las tarjetas del proceso.
   Intervención exclusivamente visual: conserva HTML, textos y navegación. */
.process-piece{
  border:1px solid rgba(255,255,255,.34);
  border-radius:13px;
  box-shadow:
    inset 0 2px 0 rgba(255,255,255,.36),
    inset 0 -13px 0 rgba(0,0,0,.19),
    inset -4px 0 0 rgba(0,0,0,.06),
    0 5px 0 rgba(0,0,0,.10),
    0 14px 20px rgba(12,49,81,.18);
  transform:translateY(0);
  transition:transform .18s ease, box-shadow .18s ease;
}
.process-piece::before{
  /* Se retiran los puntos planos anteriores; los studs 3D son los de .process-studs. */
  display:none;
}
.process-piece::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:0;height:13px;
  border-radius:0 0 12px 12px;
  background:linear-gradient(to bottom,rgba(255,255,255,.10),rgba(0,0,0,.15));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16);
  pointer-events:none;
}
.process-studs{
  display:flex;
  gap:6px;
  align-items:flex-start;
  opacity:1;
}
.process-studs i{
  display:block;
  width:15px;height:13px;
  border-radius:5px 5px 7px 7px;
  border:1px solid rgba(255,255,255,.40);
  background:linear-gradient(180deg,rgba(255,255,255,.78) 0%,rgba(255,255,255,.38) 24%,rgba(255,255,255,.18) 55%,rgba(0,0,0,.12) 100%);
  box-shadow:
    inset 0 2px 1px rgba(255,255,255,.32),
    inset 0 -2px 2px rgba(0,0,0,.18),
    0 3px 2px rgba(0,0,0,.15);
}
.process-piece h3,.process-piece p,.process-piece .process-icon,.process-piece .process-top,.process-piece .process-label{
  text-shadow:0 1px 1px rgba(0,0,0,.10);
}
@media (hover:hover) and (pointer:fine){
  .process-piece:hover{
    transform:translateY(-3px);
    box-shadow:
      inset 0 2px 0 rgba(255,255,255,.42),
      inset 0 -13px 0 rgba(0,0,0,.19),
      inset -4px 0 0 rgba(0,0,0,.06),
      0 6px 0 rgba(0,0,0,.10),
      0 18px 24px rgba(12,49,81,.22);
  }
}
@media (prefers-reduced-motion:reduce){
  .process-piece{transition:none}
}


/* CAM-PÁGINA-01O — studs de ensamble sobre la cara superior, no en el frente. */
.process-piece{
  overflow:visible;
  padding-top:42px;
  border-radius:5px 5px 15px 15px;
  box-shadow:
    inset 0 2px 0 rgba(255,255,255,.40),
    inset -5px 0 0 rgba(0,0,0,.08),
    inset 0 -14px 0 rgba(0,0,0,.17),
    0 5px 0 rgba(0,0,0,.12),
    0 16px 22px rgba(12,49,81,.19);
}
/* Quitamos los puntos decorativos planos de la cara frontal. */
.process-piece:before{display:none}
.process-top{
  height:30px;
  display:block;
  position:relative;
  margin-top:-31px;
  margin-bottom:3px;
}
.process-number{
  position:absolute;
  left:0;
  bottom:0;
}
.process-studs{
  position:absolute;
  left:50%;
  top:0;
  transform:translateX(-50%);
  display:grid;
  grid-template-columns:repeat(2, 25px);
  grid-template-rows:repeat(2, 14px);
  gap:2px 5px;
  width:55px;
  opacity:1;
}
.process-studs i{
  display:block;
  width:25px;
  height:14px;
  border-radius:50% / 38%;
  border:1px solid rgba(255,255,255,.48);
  background:linear-gradient(180deg,rgba(255,255,255,.88) 0%,rgba(255,255,255,.43) 20%,rgba(255,255,255,.18) 52%,rgba(0,0,0,.13) 100%);
  box-shadow:
    inset 0 2px 2px rgba(255,255,255,.38),
    inset 0 -3px 3px rgba(0,0,0,.17),
    0 3px 3px rgba(0,0,0,.19);
}
.process-icon{margin-top:8px}
@media (max-width:700px){
  .process-piece{padding-top:40px}
  .process-top{margin-top:-29px}
  .process-studs{grid-template-columns:repeat(2,21px);grid-template-rows:repeat(2,12px);width:47px;gap:2px 4px}
  .process-studs i{width:21px;height:12px}
}


/* CAM-PÁGINA-01P — studs ampliados, separados y sobresalientes del cuerpo del bloque. */
.process-construction{
  padding-top:22px;
  overflow:visible;
}
.process-piece{
  overflow:visible;
  margin-top:12px;
  position:relative;
  border-radius:6px 6px 15px 15px;
  box-shadow:
    inset 0 2px 0 rgba(255,255,255,.43),
    inset -5px 0 0 rgba(0,0,0,.08),
    inset 0 -14px 0 rgba(0,0,0,.17),
    0 5px 0 rgba(0,0,0,.12),
    0 18px 24px rgba(12,49,81,.20);
}
.process-top{
  height:24px;
  margin-top:-35px;
  margin-bottom:7px;
}
.process-studs{
  top:-15px;
  grid-template-columns:repeat(2, 31px);
  grid-template-rows:repeat(2, 18px);
  gap:3px 9px;
  width:71px;
}
.process-studs i{
  width:31px;
  height:18px;
  border-radius:50% / 38%;
  border:1px solid rgba(255,255,255,.58);
  background:linear-gradient(180deg,
    rgba(255,255,255,.96) 0%,
    rgba(255,255,255,.62) 15%,
    rgba(255,255,255,.23) 48%,
    rgba(0,0,0,.18) 100%);
  box-shadow:
    inset 0 2px 2px rgba(255,255,255,.52),
    inset 0 -3px 3px rgba(0,0,0,.18),
    0 4px 4px rgba(0,0,0,.23);
}
.process-icon{margin-top:9px}
@media (min-width:1100px){
  .process-construction{column-gap:20px}
  .process-piece{min-height:300px}
  .process-studs{
    grid-template-columns:repeat(2, 34px);
    grid-template-rows:repeat(2, 20px);
    gap:4px 10px;
    width:78px;
  }
  .process-studs i{width:34px;height:20px}
}
@media (max-width:700px){
  .process-construction{padding-top:17px}
  .process-piece{margin-top:9px;padding-top:40px}
  .process-top{margin-top:-31px}
  .process-studs{
    top:-12px;
    grid-template-columns:repeat(2, 24px);
    grid-template-rows:repeat(2, 14px);
    gap:3px 6px;
    width:54px;
  }
  .process-studs i{width:24px;height:14px}
}


/* CAM-PÁGINA-01Q — reemplazo visual por imágenes independientes de los bloques 01 a 04.
   La quinta etapa (Mejoramos) conserva su tarjeta HTML original porque no se recibió imagen individual. */
.process-piece.process-piece-image{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  min-height: 0 !important;
  overflow: visible !important;
  display: flex;
  align-items: flex-start;
  justify-content: center;
}
.process-piece.process-piece-image::before,
.process-piece.process-piece-image::after{
  display:none !important;
  content:none !important;
}
.process-card-image{
  display:block;
  width:100%;
  max-width:190px;
  height:auto;
  object-fit:contain;
  filter: drop-shadow(0 9px 8px rgba(10,35,60,.18));
  transition: transform .2s ease, filter .2s ease;
}
.process-piece.process-piece-image:hover .process-card-image{
  transform: translateY(-4px);
  filter: drop-shadow(0 13px 10px rgba(10,35,60,.22));
}
@media (max-width: 1050px){
  .process-card-image{max-width:175px}
}
@media (max-width: 760px){
  .process-card-image{max-width:210px}
  .process-piece.process-piece-image{min-height:0 !important}
}
@media (prefers-reduced-motion: reduce){
  .process-card-image{transition:none}
  .process-piece.process-piece-image:hover .process-card-image{transform:none}
}


/* CAM-PÁGINA-01R — cinco tarjetas individuales sin fondo blanco exterior. */
.process-construction{align-items:center;gap:clamp(8px,1.2vw,20px);padding-top:24px;overflow:visible}
.process-piece.process-piece-image{width:100%;min-width:0;align-self:center;justify-self:center;overflow:visible}
.process-card-image{width:100%;max-width:225px;height:auto;object-fit:contain;filter:drop-shadow(0 10px 8px rgba(8,32,53,.20));}
.process-piece.process-piece-image:hover .process-card-image{transform:translateY(-3px);filter:drop-shadow(0 13px 10px rgba(8,32,53,.24))}
.process-arrow{align-self:center;justify-self:center}
@media (min-width:1100px){.process-card-image{max-width:235px}}
@media (max-width:1050px){.process-card-image{max-width:195px}}
@media (max-width:760px){
 .process-construction{grid-template-columns:minmax(0,1fr);gap:8px;justify-items:center;padding-top:12px}
 .process-piece.process-piece-image{width:min(100%,230px);margin:0 auto}
 .process-card-image{width:100%;max-width:230px}
 .process-arrow{transform:rotate(90deg);line-height:1;margin:0}
}


/* CAM-PÁGINA-01S — integración de infografía modular realista con fondo transparente */
.hero-build{min-height:520px;gap:0}
.hero-modular-infographic{display:block;width:100%;max-width:700px;height:auto;object-fit:contain;filter:drop-shadow(0 12px 20px rgba(0,0,0,.10))}
@media(max-width:860px){.hero-build{min-height:0;padding:10px 0 24px}.hero-modular-infographic{max-width:680px;width:100%}}
@media(max-width:620px){.hero-modular-infographic{width:100%;max-width:100%}.build-note{margin-top:8px;padding:10px 12px}}


/* CAM-PÁGINA-01T: integración del logotipo original sin caja blanca ni alteración de otras secciones. */
.original-brand-signature{
  margin: 0 auto 28px;
  width: min(100%, 760px);
  padding: 8px 18px;
  display: flex;
  justify-content: center;
  align-items: center;
  background: radial-gradient(ellipse at center, rgba(255,255,255,.98) 0%, rgba(255,255,255,.72) 48%, rgba(255,255,255,0) 78%);
}
.original-brand-signature img{
  display:block;
  width:100%;
  height:auto;
  max-height:440px;
  object-fit:contain;
  filter: drop-shadow(0 12px 16px rgba(12,49,81,.09));
}
@media(max-width:760px){
  .original-brand-signature{width:100%;margin:0 auto 20px;padding:4px 6px}
  .original-brand-signature img{max-height:none}
}


/* CAM-PÁGINA-01U — logo original, tarjetas nítidas y contactos visibles. */
.brand{min-width:260px;max-width:390px;flex:0 1 340px;padding:7px 0}
.brand-original-logo{display:block;width:100%;height:auto;max-height:68px;object-fit:contain;object-position:left center}
.brand:focus-visible{outline:3px solid var(--cyan);outline-offset:4px;border-radius:6px}
.process-construction-native{display:grid;grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr) 24px minmax(0,1fr) 24px minmax(0,1fr) 24px minmax(0,1fr);gap:8px;align-items:stretch}
.native-brick{position:relative;min-height:310px;padding:92px 18px 42px;border:1px solid rgba(255,255,255,.28);border-radius:13px;color:#fff;text-align:left;display:flex;flex-direction:column;align-items:flex-start;overflow:visible;box-shadow:inset 0 -12px 0 rgba(0,0,0,.19),inset 0 3px 0 rgba(255,255,255,.25),0 14px 24px rgba(12,49,81,.17)}
.native-brick:after{content:"";position:absolute;left:0;right:0;bottom:0;height:14px;border-radius:0 0 12px 12px;background:rgba(0,0,0,.12);pointer-events:none}
.native-brick.step-blue{background:linear-gradient(145deg,#268cf4,#0758bd)}.native-brick.step-cyan{background:linear-gradient(145deg,#2bd2e4,#0798b5)}.native-brick.step-purple{background:linear-gradient(145deg,#a24ff0,#641fc0)}.native-brick.step-green{background:linear-gradient(145deg,#2ac982,#07874b)}.native-brick.step-orange{background:linear-gradient(145deg,#ffb23c,#df7b00)}
.native-studs{position:absolute;top:-20px;left:0;right:0;display:grid;grid-template-columns:repeat(2,38px);justify-content:center;gap:7px 14px;z-index:2}
.native-studs i{height:22px;border-radius:50% / 42%;background:linear-gradient(180deg,rgba(255,255,255,.52),rgba(255,255,255,.05) 35%,rgba(0,0,0,.12) 100%),currentColor;border:1px solid rgba(255,255,255,.45);box-shadow:inset 0 2px 3px rgba(255,255,255,.4),0 4px 5px rgba(0,0,0,.22);color:rgba(255,255,255,.22)}
.step-blue .native-studs i{background-color:#1675de}.step-cyan .native-studs i{background-color:#10bfd4}.step-purple .native-studs i{background-color:#812ce0}.step-green .native-studs i{background-color:#12a45c}.step-orange .native-studs i{background-color:#f39817}
.native-number{position:absolute;top:16px;left:17px;font-weight:900;font-size:1rem;letter-spacing:.04em}
.native-icon{align-self:center;font-size:2.8rem;line-height:1;margin:0 0 15px;font-weight:800;text-shadow:0 2px 3px rgba(0,0,0,.12)}.native-code{font-size:2rem}
.native-brick h3{font-size:1.22rem;line-height:1.15;margin:0 0 10px;font-weight:850;align-self:center;text-align:center}.native-brick p{font-size:.9rem;line-height:1.45;margin:0 0 18px;color:rgba(255,255,255,.96)}.native-footer{position:absolute;bottom:16px;left:12px;right:12px;text-align:center;font-size:.68rem;letter-spacing:.07em;line-height:1.2}
.process-construction-native .process-arrow{display:flex;align-items:center;justify-content:center;color:#8aa3ba;font-size:1.65rem}
.modular-main-figure-valid{margin:0 auto 20px;max-width:940px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:14px;box-shadow:var(--shadow)}.modular-main-figure-valid img{display:block;width:100%;height:auto;object-fit:contain}.modular-brand-grid-valid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.modular-brand-card-copy{padding:22px 24px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(12,49,81,.06)}.modular-brand-card-copy h3{margin:0 0 8px;font-size:1.08rem}.modular-brand-card-copy p{margin:0;color:var(--muted);font-size:.94rem}
.contact-email{margin:4px 0 0;color:#d7e8f4;font-size:.86rem}.contact-email a,.footer-email{color:#8fe8ff;font-weight:800;text-decoration:underline;text-underline-offset:3px}.footer-email{font-size:.88rem}
@media(max-width:1100px){.brand{min-width:220px;max-width:285px}.process-construction-native{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.process-construction-native .process-arrow{display:none}.native-brick{padding-left:13px;padding-right:13px}.native-brick p{font-size:.82rem}}
@media(max-width:860px){.nav-wrap{gap:12px}.brand{min-width:0;max-width:260px;flex:0 1 260px}.brand-original-logo{max-height:58px}.process-construction-native{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 18px}.native-brick{min-height:285px}.modular-brand-grid-valid{grid-template-columns:1fr}.footer-email{overflow-wrap:anywhere}}
@media(max-width:620px){.brand{max-width:215px;flex-basis:215px}.brand-original-logo{max-height:52px}.process-construction-native{grid-template-columns:1fr;gap:30px}.native-brick{min-height:260px;padding:76px 22px 42px}.native-studs{top:-18px}.native-studs i{height:24px;width:40px}.native-brick h3{font-size:1.35rem}.native-brick p{font-size:.98rem}.process-construction-native .process-arrow{display:none}.modular-main-figure-valid{padding:8px;border-radius:14px}}


/* CAM-PÁGINA-01V — conservar las imágenes originales y cubrir su texto borroso
   con paneles opacos en el color de cada bloque; el texto HTML permanece nítido. */
.process-construction-images{display:grid;grid-template-columns:minmax(0,1fr) 20px minmax(0,1fr) 20px minmax(0,1fr) 20px minmax(0,1fr) 20px minmax(0,1fr);align-items:center;gap:clamp(5px,.8vw,14px);padding-top:28px;overflow:visible}
.process-construction-images .image-card-wrap{position:relative;width:100%;min-width:0;align-self:center;justify-self:center;overflow:visible;display:block}
.process-construction-images .process-card-image{display:block;width:100%;max-width:235px;height:auto;object-fit:contain;filter:drop-shadow(0 10px 8px rgba(8,32,53,.20));transition:transform .2s ease,filter .2s ease}
.process-construction-images .image-card-wrap:hover .process-card-image{transform:translateY(-3px);filter:drop-shadow(0 13px 10px rgba(8,32,53,.24))}
.process-construction-images .image-card-copy{position:absolute;left:9%;right:9%;top:53%;height:33%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:5px 7px 7px;border:1px solid rgba(255,255,255,.34);border-radius:10px 10px 7px 7px;box-shadow:inset 0 1px 0 rgba(255,255,255,.24),0 2px 3px rgba(0,0,0,.12);color:#fff;z-index:2;overflow:hidden}
.process-construction-images .step-blue .image-card-copy{background:linear-gradient(145deg,#0879ed,#0757b8)}
.process-construction-images .step-cyan .image-card-copy{background:linear-gradient(145deg,#13c7dd,#0797b2)}
.process-construction-images .step-purple .image-card-copy{background:linear-gradient(145deg,#922df0,#5f18b8)}
.process-construction-images .step-green .image-card-copy{background:linear-gradient(145deg,#17b96e,#057a43)}
.process-construction-images .step-orange .image-card-copy{background:linear-gradient(145deg,#ffa51e,#d96e00)}
.process-construction-images .image-card-copy h3{font-size:clamp(.82rem,1.15vw,1.05rem);line-height:1.12;font-weight:850;margin:0 0 5px;color:#fff;text-align:center}
.process-construction-images .image-card-copy p{font-size:clamp(.62rem,.82vw,.76rem);line-height:1.28;font-weight:500;color:#fff;margin:0;text-align:center;text-wrap:pretty}
.process-construction-images .image-card-footer{position:absolute;left:9%;right:9%;bottom:6.2%;height:10%;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.28);border-radius:0 0 6px 6px;color:#fff;text-align:center;font-size:clamp(.55rem,.72vw,.68rem);line-height:1.1;letter-spacing:.035em;z-index:3;padding:0 3px}
.process-construction-images .process-arrow{font-size:clamp(1.1rem,1.8vw,1.65rem);color:#7391b2;line-height:1;text-align:center}
@media(max-width:1050px){.process-construction-images{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.process-construction-images .process-arrow{display:none}.process-construction-images .process-card-image{max-width:200px}.process-construction-images .image-card-copy{left:8%;right:8%;padding:4px 5px}.process-construction-images .image-card-copy p{font-size:clamp(.58rem,.95vw,.72rem)}}
@media(max-width:760px){.process-construction-images{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 18px;padding-top:22px}.process-construction-images .process-piece-image{width:min(100%,245px);margin:0 auto}.process-construction-images .process-card-image{max-width:245px}.process-construction-images .process-arrow{display:none}.process-construction-images .image-card-copy h3{font-size:1rem}.process-construction-images .image-card-copy p{font-size:.72rem}}
@media(max-width:480px){.process-construction-images{grid-template-columns:minmax(0,1fr);gap:26px}.process-construction-images .process-piece-image{width:min(100%,260px)}.process-construction-images .image-card-copy{left:9%;right:9%;top:53%;height:33%;padding:6px 10px}.process-construction-images .image-card-copy h3{font-size:1.1rem;margin-bottom:6px}.process-construction-images .image-card-copy p{font-size:.8rem;line-height:1.3}.process-construction-images .image-card-footer{font-size:.68rem}}
@media(prefers-reduced-motion:reduce){.process-construction-images .process-card-image{transition:none}.process-construction-images .image-card-wrap:hover .process-card-image{transform:none}}


/* CAM-PÁGINA-01W — corrección quirúrgica de alineación de fichas con imagen.
   El panel de texto queda anclado a cada tarjeta, encima del texto pequeño original.
   Se fijan medidas relativas al bloque y se evita que el panel se desplace a un lado. */
.process-construction-images .image-card-wrap{
  position:relative !important;
  display:block !important;
  width:100% !important;
  min-width:0 !important;
  align-self:center !important;
  justify-self:center !important;
  box-sizing:border-box !important;
  line-height:normal;
}
.process-construction-images .process-card-image{
  display:block !important;
  position:relative !important;
  width:100% !important;
  max-width:235px !important;
  height:auto !important;
  margin:0 auto !important;
  object-fit:contain !important;
}
.process-construction-images .image-card-copy{
  position:absolute !important;
  left:12% !important;
  right:12% !important;
  top:49% !important;
  height:37% !important;
  width:auto !important;
  box-sizing:border-box !important;
  margin:0 !important;
  transform:none !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  align-items:center !important;
  padding:4px 5px !important;
  z-index:5 !important;
  opacity:1 !important;
  border-radius:7px 7px 5px 5px !important;
  overflow:hidden !important;
}
.process-construction-images .image-card-copy h3{
  margin:0 0 4px !important;
  font-size:clamp(.72rem,1vw,.96rem) !important;
  line-height:1.1 !important;
  color:#fff !important;
  text-align:center !important;
}
.process-construction-images .image-card-copy p{
  margin:0 !important;
  font-size:clamp(.55rem,.72vw,.69rem) !important;
  line-height:1.22 !important;
  color:#fff !important;
  text-align:center !important;
}
.process-construction-images .image-card-footer{
  position:absolute !important;
  left:12% !important;
  right:12% !important;
  bottom:5.5% !important;
  height:10% !important;
  box-sizing:border-box !important;
  z-index:6 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 3px !important;
  font-size:clamp(.48rem,.62vw,.62rem) !important;
  line-height:1.05 !important;
  white-space:normal !important;
}
@media(max-width:1050px){
 .process-construction-images .image-card-copy{left:10% !important;right:10% !important;padding:3px 4px !important}
 .process-construction-images .image-card-copy h3{font-size:clamp(.68rem,.9vw,.82rem) !important}
 .process-construction-images .image-card-copy p{font-size:clamp(.51rem,.7vw,.62rem) !important}
}
@media(max-width:760px){
 .process-construction-images .image-card-wrap{width:min(100%,245px) !important}
 .process-construction-images .image-card-copy{left:12% !important;right:12% !important;top:49% !important;height:37% !important;padding:5px 7px !important}
 .process-construction-images .image-card-copy h3{font-size:.92rem !important}
 .process-construction-images .image-card-copy p{font-size:.68rem !important;line-height:1.22 !important}
 .process-construction-images .image-card-footer{font-size:.6rem !important}
}
@media(max-width:480px){
 .process-construction-images .image-card-wrap{width:min(100%,260px) !important}
 .process-construction-images .image-card-copy h3{font-size:1rem !important}
 .process-construction-images .image-card-copy p{font-size:.76rem !important;line-height:1.24 !important}
}


/* CAM-PÁGINA-01X — imágenes LEGO del usuario con fondo transparente.
   Se eliminan las capas HTML de texto: el texto ya está integrado en cada imagen. */
.process-construction-images{
  grid-template-columns:minmax(0,1fr) 20px minmax(0,1fr) 20px minmax(0,1fr) 20px minmax(0,1fr) 20px minmax(0,1fr);
  align-items:center; gap:clamp(6px,1vw,16px); padding-top:18px; overflow:visible;
}
.process-construction-images .image-card-wrap{width:100%; min-width:0; display:flex; align-items:center; justify-content:center; background:transparent; border:0; box-shadow:none; padding:0; overflow:visible;}
.process-construction-images .process-card-image{display:block; width:100%; max-width:260px; height:auto; margin:0 auto; object-fit:contain; filter:drop-shadow(0 8px 8px rgba(8,32,53,.14));}
.process-construction-images .image-card-copy,.process-construction-images .image-card-footer{display:none!important;}
.process-construction-images .process-arrow{align-self:center; color:#8aa3ba; font-size:clamp(1rem,1.7vw,1.5rem);}
@media(max-width:1050px){.process-construction-images{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.process-construction-images .process-arrow{display:none}.process-construction-images .process-card-image{max-width:220px}}
@media(max-width:760px){.process-construction-images{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 18px}.process-construction-images .image-card-wrap{width:min(100%,260px);margin:0 auto}.process-construction-images .process-card-image{max-width:260px}}
@media(max-width:480px){.process-construction-images{grid-template-columns:minmax(0,1fr);gap:22px}.process-construction-images .image-card-wrap{width:min(100%,290px)}.process-construction-images .process-card-image{max-width:290px}}


/* CAM-PÁGINA-01Y — bloques de ensamble para el campo «Tu necesidad». Intervención localizada. */
.need-intro{
  align-items:center;
  background:linear-gradient(135deg,#f7fbff 0%,#eaf6ff 100%);
  overflow:visible;
}
.need-visual{padding:18px 8px 10px;}
.need-question{
  position:relative;
  isolation:isolate;
  overflow:visible;
  width:min(100%,290px);
  min-height:158px;
  margin-top:8px;
  border:1px solid rgba(255,255,255,.32);
  border-radius:17px;
  background:linear-gradient(145deg,#248df2 0%,#1269d0 72%,#0752ae 100%);
  box-shadow:inset 0 -12px 0 rgba(0,34,100,.25),inset 0 2px 0 rgba(255,255,255,.28),0 20px 28px rgba(17,103,216,.22);
}
.need-question:before{
  content:"";position:absolute;z-index:-1;left:22%;right:22%;height:25px;top:-17px;
  background:
    radial-gradient(ellipse at center, #53aaff 0%,#1674d5 58%,#084d9b 70%,transparent 73%) 0 0/42% 100% no-repeat,
    radial-gradient(ellipse at center, #53aaff 0%,#1674d5 58%,#084d9b 70%,transparent 73%) 100% 0/42% 100% no-repeat;
  filter:drop-shadow(0 3px 2px rgba(0,24,65,.3));
}
.need-question:after{
  content:"";position:absolute;left:0;right:0;bottom:-8px;height:12px;border-radius:0 0 17px 17px;
  background:linear-gradient(180deg,#0b5cbb,#073e87);z-index:-2;
}
.need-question .question-icon,.need-question strong{position:relative;z-index:1;text-shadow:0 1px 2px rgba(0,0,0,.12)}
.need-question .question-icon{width:46px;height:46px}
.need-path{gap:22px;align-items:stretch;margin-top:26px}
.need-option{
  --brick-top:#278cf1;--brick-mid:#1474d6;--brick-side:#0755a7;
  border:1px solid rgba(255,255,255,.55);
  border-radius:15px;
  padding:42px 22px 25px;
  min-height:230px;
  margin-top:12px;
  overflow:visible;
  color:#fff;
  background:linear-gradient(145deg,var(--brick-top) 0%,var(--brick-mid) 70%,var(--brick-side) 100%);
  box-shadow:inset 0 2px 0 rgba(255,255,255,.34),inset 0 -12px 0 rgba(0,0,0,.17),0 14px 19px rgba(12,49,81,.16);
  cursor:pointer;
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;
  outline-offset:5px;
}
.need-option:before{
  content:"";position:absolute;left:0;right:0;top:-12px;height:17px;border-radius:9px 9px 3px 3px;
  background:linear-gradient(180deg,rgba(255,255,255,.28),rgba(255,255,255,.02));
  border-top:1px solid rgba(255,255,255,.6);
}
.need-option:after{
  content:"";position:absolute;top:-27px;left:50%;width:88px;height:29px;transform:translateX(-50%);
  background:
    radial-gradient(ellipse at 50% 28%,var(--stud-hi) 0%,var(--stud-hi) 13%,var(--stud-mid) 48%,var(--stud-low) 72%,transparent 75%) 0 0/43px 100% no-repeat,
    radial-gradient(ellipse at 50% 28%,var(--stud-hi) 0%,var(--stud-hi) 13%,var(--stud-mid) 48%,var(--stud-low) 72%,transparent 75%) 100% 0/43px 100% no-repeat;
  filter:drop-shadow(0 4px 2px rgba(0,0,0,.24));pointer-events:none;
}
.blue-option{--brick-top:#278cf1;--brick-mid:#126ed0;--brick-side:#074e9f;--stud-hi:#7bc5ff;--stud-mid:#2188e8;--stud-low:#064b9c}
.purple-option{--brick-top:#9854f0;--brick-mid:#7836d0;--brick-side:#4c159a;--stud-hi:#d0a1ff;--stud-mid:#8a40e5;--stud-low:#4d169b}
.green-option{--brick-top:#25c47c;--brick-mid:#0da665;--brick-side:#087647;--stud-hi:#86f1b9;--stud-mid:#17b66e;--stud-low:#087544}
.need-option .need-icon{width:58px;height:58px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.28);box-shadow:inset 0 -7px 0 rgba(0,0,0,.12)}
.need-option h3{margin-top:16px;color:#fff}
.need-option p{color:rgba(255,255,255,.94)}
.need-option:hover,.need-option:focus-visible{transform:translateY(-5px);box-shadow:inset 0 2px 0 rgba(255,255,255,.4),inset 0 -12px 0 rgba(0,0,0,.17),0 20px 24px rgba(12,49,81,.22)}
.need-option.is-selected{outline:3px solid #123b5d;outline-offset:4px;filter:saturate(1.08)}
.need-option.is-selected:before{background:linear-gradient(180deg,rgba(255,255,255,.5),rgba(255,255,255,.08))}
.need-build{position:relative}
.need-build-flow .flow-block{border-radius:8px;box-shadow:inset 0 -4px 0 rgba(0,0,0,.14),inset 0 1px 0 rgba(255,255,255,.3)}
@media(max-width:860px){.need-path{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 18px}.need-option{min-height:220px}}
@media(max-width:620px){.need-path{grid-template-columns:1fr;gap:24px}.need-option{min-height:0;padding:40px 22px 26px}.need-visual{justify-content:center}.need-question{margin-top:16px}.need-build-flow{flex-wrap:wrap}.need-build-flow b{display:none}}
@media(prefers-reduced-motion:reduce){.need-option{transition:none}}


/* CAM-PÁGINA-01Z: imagen aprobada para el bloque «Construimos contigo».
   En escritorio conserva la composición exacta; los hotspots transparentes mantienen las acciones.
   En móvil se muestra el HTML responsive previo para conservar legibilidad y usabilidad. */
.need-image-stage{position:relative;width:100%;max-width:2048px;margin:0 auto 4px;line-height:0;isolation:isolate}
.need-image-stage>img{display:block;width:100%;height:auto;border:0;border-radius:0;box-shadow:none}
.need-image-hotspot{position:absolute;display:block;z-index:2;margin:0;padding:0;border:0;background:transparent;border-radius:12px;cursor:pointer;line-height:normal}
.need-image-hotspot:focus-visible{outline:3px solid #00bce8;outline-offset:2px;background:rgba(255,255,255,.08)}
.need-image-hotspot-main{left:65.5%;top:1%;width:29%;height:36%}
.need-image-hotspot-idea{left:3.8%;top:39%;width:30%;height:39%}
.need-image-hotspot-problem{left:34.7%;top:39%;width:30%;height:39%}
.need-image-hotspot-improve{left:66%;top:39%;width:30%;height:39%}
.need-image-hotspot-contact{left:79%;top:83%;width:18%;height:15%}
.need-image-fallback{display:none}
.need-image-hotspot.is-selected{outline:3px solid rgba(255,255,255,.95);outline-offset:-5px;background:rgba(255,255,255,.08)}
@media(max-width:760px){
  .need-image-stage{display:none}
  .need-image-fallback{display:block}
}
@media(prefers-reduced-motion:reduce){.need-image-hotspot{scroll-behavior:auto}}
