/* cableadoestructurado.mx — V2.4 Premium Storytelling */
.hero-v24{min-height:100svh;overflow:hidden}.hero-v24 .hero-copy{z-index:4}.hero-v24 .hero-copy h1{letter-spacing:-.058em}.hero-v24 .hero-copy h1 em{color:var(--primary);font-style:italic;font-weight:520}.hero-v24 .hero-photo-shell{border-radius:34px;box-shadow:0 32px 100px rgba(7,27,58,.17);background:#dce9fb}.hero-v24 .hero-photo-shell:before{content:"";position:absolute;inset:0;background:linear-gradient(155deg,rgba(255,255,255,.18),transparent 42%,rgba(7,27,58,.13));z-index:2;pointer-events:none}.hero-v24 .hero-photo-shell img,.hero-v24 .hero-photo-shell video{filter:saturate(.9) contrast(1.035)}.hero-photo-caption{position:absolute;z-index:5;left:20px;bottom:18px;display:flex;align-items:center;gap:9px;padding:8px 11px;border:1px solid rgba(255,255,255,.28);border-radius:999px;background:rgba(7,27,58,.4);backdrop-filter:blur(14px);color:#fff;font-size:7px;letter-spacing:.16em}.hero-photo-caption i{width:6px;height:6px;border-radius:50%;background:#6da4ff;box-shadow:0 0 12px #6da4ff}.hero-v24.motion-off *{animation:none!important;transition:none!important}.v24-intro{padding-bottom:115px}

/* Sticky scroll narrative */
.story-v24{position:relative;background:linear-gradient(180deg,#f7faff 0,#fff 11%,#fff 100%);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.story-v24-heading{display:grid;grid-template-columns:.38fr 1.62fr;gap:5vw;align-items:end;padding-bottom:55px}.story-v24-heading>div:last-child{max-width:980px}.story-v24-heading h2,.field-v24-heading h2,.transformation-v24-copy h2{margin:0;font-size:clamp(42px,5.1vw,78px);line-height:.98;letter-spacing:-.057em;font-weight:520;color:var(--navy)}.story-v24-heading p,.field-v24-heading p,.transformation-v24-copy>p{max-width:740px;margin:22px 0 0;color:var(--muted);font-size:15px;line-height:1.72}.story-v24-shell{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(430px,.82fr);gap:8vw;padding-top:25px;padding-bottom:110px}.story-v24-visual{min-width:0}.story-v24-sticky{position:sticky;top:110px;height:calc(100vh - 150px);min-height:600px;display:flex;flex-direction:column}.story-static .story-v24-sticky{position:relative;top:auto;height:680px}.story-v24-media-stack{position:relative;flex:1;min-height:0;border-radius:34px;overflow:hidden;background:#081a37;box-shadow:0 30px 95px rgba(6,40,88,.18)}.story-v24-media{position:absolute;inset:0;margin:0;opacity:0;transform:scale(1.035);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform 1.1s cubic-bezier(.2,.7,.2,1)}.story-v24-media.is-active{opacity:1;transform:scale(1)}.story-v24-media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(4,18,43,.68) 100%),linear-gradient(90deg,rgba(4,18,43,.16),transparent 58%)}.story-v24-media img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.9) contrast(1.03)}.story-v24-media figcaption{position:absolute;z-index:3;left:30px;right:30px;bottom:25px;display:flex;align-items:flex-end;justify-content:space-between;gap:20px;color:#fff}.story-v24-media figcaption span{font-size:10px;letter-spacing:.18em;color:#a8c9ff}.story-v24-media figcaption strong{font-size:20px;font-weight:620;letter-spacing:-.02em;text-align:right}.story-v24-meter{display:grid;grid-template-columns:26px 1fr 26px;gap:10px;align-items:center;margin-top:17px;font-size:9px;color:#69809f}.story-v24-meter div{height:2px;background:#dde7f5;overflow:hidden;border-radius:20px}.story-v24-meter i{display:block;width:20%;height:100%;background:var(--primary);transform-origin:left center;transition:width .45s var(--ease)}.story-v24-steps{padding-top:6vh}.story-v24-step{min-height:72vh;display:flex;flex-direction:column;justify-content:center;border-top:1px solid var(--line);opacity:.38;transition:opacity .45s var(--ease),transform .45s var(--ease);transform:translateY(8px);position:relative}.story-v24-step:last-child{border-bottom:1px solid var(--line)}.story-v24-step.is-active{opacity:1;transform:none}.story-v24-no{font-size:10px;color:#8da0b9;margin-bottom:30px}.story-v24-step h3{font-size:clamp(38px,4vw,62px);line-height:1;letter-spacing:-.05em;font-weight:540;color:var(--navy);margin:8px 0 18px}.story-v24-step>p{font-size:15px;line-height:1.7;color:var(--muted);max-width:620px}.story-v24-step .service-tags{margin:16px 0 8px}.story-v24-step .text-link{margin-top:23px;width:max-content}.story-v24-mobile-media{display:none}

/* Before / after */
.transformation-v24{display:grid;grid-template-columns:minmax(300px,.68fr) minmax(0,1.32fr);gap:7vw;align-items:center;padding-top:130px;padding-bottom:145px}.transformation-v24-copy{max-width:520px}.transformation-v24-copy .section-label{margin-bottom:30px}.transformation-v24-copy .text-link{margin-top:28px}.ba-v24{position:relative;height:min(72vh,760px);min-height:560px;border-radius:34px;overflow:hidden;background:#071b3a;box-shadow:0 30px 100px rgba(7,27,58,.2);touch-action:pan-y}.ba-v24>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.ba-after{z-index:1}.ba-before{z-index:2;clip-path:inset(0 calc(100% - var(--split)) 0 0)}.ba-shade{position:absolute;z-index:3;inset:0;background:linear-gradient(180deg,rgba(4,18,43,.04),rgba(4,18,43,.18));pointer-events:none}.ba-label{position:absolute;z-index:5;top:22px;padding:9px 12px;border-radius:999px;background:rgba(255,255,255,.92);color:var(--navy);font-size:8px;letter-spacing:.16em;font-weight:850;box-shadow:0 8px 24px rgba(7,27,58,.12);pointer-events:none}.ba-label.before{left:22px}.ba-label.after{right:22px}.ba-divider{position:absolute;z-index:6;top:0;bottom:0;left:var(--split);width:2px;background:#fff;transform:translateX(-1px);pointer-events:none;box-shadow:0 0 18px rgba(0,0,0,.18)}.ba-divider span{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:50px;height:50px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--primary);font-size:18px;box-shadow:0 12px 35px rgba(7,27,58,.25)}.ba-range{position:absolute;z-index:8;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0}

/* Field gallery */
.field-v24{padding:125px 0 120px;background:#071b3a;color:#fff;overflow:hidden}.field-v24-heading{display:grid;grid-template-columns:.38fr 1.62fr;gap:5vw;align-items:end;padding-top:0;padding-bottom:55px}.field-v24-heading .section-label{color:#80a7dc}.field-v24-heading h2{color:#fff}.field-v24-heading p{color:#a9bed8}.field-v24-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:105px;gap:12px;padding-top:0;padding-bottom:0}.field-v24-item{position:relative;border:0;padding:0;border-radius:24px;overflow:hidden;background:#0d2b56;cursor:zoom-in;min-height:0;box-shadow:0 18px 50px rgba(0,0,0,.16)}.field-v24-item:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(3,15,36,.78));pointer-events:none}.field-v24-item img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.9);transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .5s}.field-v24-item:hover img{transform:scale(1.045);filter:saturate(1)}.field-v24-item span{position:absolute;z-index:3;left:20px;right:20px;bottom:17px;color:#fff;display:flex;align-items:flex-end;gap:12px;text-align:left;font-size:11px;line-height:1.3}.field-v24-item span b{font-size:8px;color:#86b6ff;letter-spacing:.14em}.field-v24-item-1{grid-column:span 5;grid-row:span 5}.field-v24-item-2{grid-column:span 3;grid-row:span 4}.field-v24-item-3{grid-column:span 4;grid-row:span 6}.field-v24-item-4{grid-column:span 3;grid-row:span 4}.field-v24-item-5{grid-column:span 5;grid-row:span 5}.field-v24-item-6{grid-column:span 4;grid-row:span 5}.field-v24-item-7{grid-column:span 3;grid-row:span 5}.immersive-v24{margin-top:0}.immersive-v24 .immersive-media img{filter:saturate(.82) contrast(1.05)}.v24-process{margin-top:0}.v24-projects{padding-top:130px}.v24-cta{margin-top:30px}

/* CMS preview hints on public page when embedded */
html.cms-preview .site-header{position:absolute}.cms-preview .whatsapp-fab{display:none}

@media(max-width:1100px){.story-v24-shell{grid-template-columns:1fr 420px;gap:5vw}.story-v24-sticky{height:calc(100vh - 135px);min-height:540px}.transformation-v24{grid-template-columns:.72fr 1.28fr;gap:4vw}.ba-v24{min-height:500px}.field-v24-grid{grid-auto-rows:90px}}
@media(max-width:900px){.story-v24-heading,.field-v24-heading{grid-template-columns:1fr;gap:24px}.story-v24-shell{display:block}.story-v24-visual{display:none}.story-v24-steps{padding-top:0}.story-v24-step{min-height:auto;opacity:1;transform:none;padding:60px 0}.story-v24-mobile-media{display:block;height:430px;border-radius:25px;overflow:hidden;margin-bottom:28px;background:#eaf1fb}.story-v24-mobile-media img{width:100%;height:100%;object-fit:cover}.transformation-v24{grid-template-columns:1fr;gap:50px}.transformation-v24-copy{max-width:760px}.ba-v24{height:680px}.field-v24-grid{grid-template-columns:repeat(6,1fr);grid-auto-rows:105px}.field-v24-item-1,.field-v24-item-5{grid-column:span 3}.field-v24-item-2,.field-v24-item-4,.field-v24-item-7{grid-column:span 3}.field-v24-item-3,.field-v24-item-6{grid-column:span 3}}
@media(max-width:650px){.hero-v24 .hero-photo-shell{border-radius:25px}.hero-photo-caption{left:13px;bottom:12px;font-size:6px}.story-v24-heading{padding-bottom:24px}.story-v24-heading h2,.field-v24-heading h2,.transformation-v24-copy h2{font-size:clamp(38px,11vw,54px)}.story-v24-shell{padding-top:0;padding-bottom:75px}.story-v24-step{padding:45px 0}.story-v24-mobile-media{height:350px}.story-v24-step h3{font-size:38px}.transformation-v24{padding-top:85px;padding-bottom:95px}.ba-v24{height:590px;min-height:0;border-radius:24px}.ba-label{top:14px}.ba-label.before{left:14px}.ba-label.after{right:14px}.ba-divider span{width:44px;height:44px}.field-v24{padding-top:85px;padding-bottom:85px}.field-v24-heading{padding-bottom:30px}.field-v24-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;padding-right:20px}.field-v24-item,.field-v24-item-1,.field-v24-item-2,.field-v24-item-3,.field-v24-item-4,.field-v24-item-5,.field-v24-item-6,.field-v24-item-7{flex:0 0 82vw;height:520px;scroll-snap-align:center;border-radius:22px}.field-v24-grid::-webkit-scrollbar{display:none}}
@media(prefers-reduced-motion:reduce){.story-v24-media,.story-v24-step,.field-v24-item img{transition:none!important}.story-v24-sticky{position:relative;top:auto}.story-v24-step{opacity:1;transform:none}}


/* V2.4.1 — Hero editorial full-bleed. Deliberately distinct from V2.3/V2.4 initial fold. */
.hero-v241{
  min-height:100svh;
  padding:0;
  display:grid;
  grid-template-columns:minmax(460px,44vw) minmax(0,1fr);
  gap:0;
  align-items:stretch;
  background:#fff;
  isolation:isolate;
}
.hero-v241:before,.hero-v241:after,.hero-v241 .hero-network,.hero-v241 .hero-orbit,.hero-v241 .visual-halo{display:none!important}
.hero-v241 .hero-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:150px clamp(42px,5vw,88px) 108px max(var(--pad),clamp(42px,5vw,88px));
  background:linear-gradient(180deg,#fff 0%,#fbfdff 100%);
  min-width:0;
}
.hero-v241 .hero-copy:before{
  content:"CABLEADOESTRUCTURADO.MX";
  position:absolute;
  left:clamp(42px,5vw,88px);
  top:112px;
  color:#9aacbf;
  font-size:8px;
  font-weight:850;
  letter-spacing:.24em;
}
.hero-v241 .hero-copy h1{
  max-width:var(--hero-title-max,760px);
  margin:24px 0 28px;
  font-size:clamp(48px,5.1vw,var(--hero-title-desktop,70px));
  line-height:var(--hero-title-lh,.98);
  letter-spacing:-.062em;
  font-weight:560;
  color:var(--navy);
}
.hero-v241 .hero-copy h1 em{
  display:inline-block;
  margin-top:.12em;
  font-size:calc(1em * var(--hero-emphasis-scale,.9));
  color:var(--primary);
  font-style:normal;
  font-weight:500;
}
.hero-v241 .hero-copy>p{max-width:610px;font-size:16px;line-height:1.7;color:var(--muted)}
.hero-v241 .hero-actions{margin-top:30px}
.hero-v241 .hero-proof{max-width:620px;margin-top:48px;padding-top:20px}
.hero-v241 .hero-visual{
  min-height:100svh;
  display:block;
  overflow:hidden;
  background:#071b3a;
}
.hero-v241 .hero-photo-stage{position:relative;z-index:1}
.hero-v241 .hero-photo-shell{
  position:absolute;
  inset:0;
  border-radius:0;
  box-shadow:none;
  background:#071b3a;
  overflow:hidden;
}
.hero-v241 .hero-photo-shell:before{
  display:block;
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  background:
    linear-gradient(90deg,rgba(7,27,58,.30),transparent 28%),
    linear-gradient(180deg,rgba(7,27,58,.08) 0%,transparent 45%,rgba(7,27,58,.52) 100%);
}
.hero-v241 .hero-photo-shell img,.hero-v241 .hero-photo-shell video{
  width:100%;height:100%;object-fit:cover;
  filter:saturate(.92) contrast(1.08);
  animation:none;
  transform:scale(1.015);
}
.hero-v241 .hero-photo-scan{
  position:absolute;inset:0;z-index:3;pointer-events:none;
  background:linear-gradient(180deg,transparent 0%,rgba(53,145,255,.11) 49.7%,rgba(255,255,255,.65) 50%,rgba(53,145,255,.08) 50.4%,transparent 51%);
  background-size:100% 240%;
  animation:v241Scan 7s linear infinite;
  mix-blend-mode:screen;
  opacity:.68;
}
@keyframes v241Scan{from{background-position:0 120%}to{background-position:0 -120%}}
.hero-v241 .hero-photo-index{top:112px;right:34px;left:auto;background:rgba(7,27,58,.46);border-color:rgba(255,255,255,.24);color:#fff;backdrop-filter:blur(16px)}
.hero-v241 .hero-photo-caption{left:34px;bottom:42px}
.hero-v241 .signal-card{z-index:5;background:rgba(7,27,58,.52);border-color:rgba(255,255,255,.18);color:#fff;box-shadow:0 20px 50px rgba(0,0,0,.15)}
.hero-v241 .signal-card span{color:#aac2df}.hero-v241 .signal-card strong{color:#fff}
.hero-v241 .signal-card-a{left:34px;top:31%}.hero-v241 .signal-card-b{right:34px;top:48%}.hero-v241 .signal-card-c{left:34px;bottom:105px}
.hero-v241 .hero-bottomline{
  left:clamp(42px,5vw,88px);
  right:calc(56vw + 34px);
  bottom:28px;
  z-index:8;
}
.hero-v241+.ticker{margin-top:0}

@media(max-width:1100px){
 .hero-v241{grid-template-columns:minmax(410px,48vw) 1fr}
 .hero-v241 .hero-copy{padding-left:38px;padding-right:38px}
 .hero-v241 .hero-copy:before{left:38px}
 .hero-v241 .hero-bottomline{left:38px;right:calc(52vw + 28px)}
}
@media(max-width:900px){
 .hero-v241{display:flex;flex-direction:column;min-height:auto;background:#fff}
 .hero-v241 .hero-copy{min-height:76svh;padding:128px var(--pad) 70px;order:1}
 .hero-v241 .hero-copy:before{left:var(--pad);top:96px}
 .hero-v241 .hero-visual{order:2;min-height:72svh;height:72svh}
 .hero-v241 .hero-photo-shell{position:absolute}
 .hero-v241 .hero-bottomline{display:none}
 .hero-v241 .hero-proof{margin-top:38px}
}
@media(max-width:650px){
 .hero-v241 .hero-copy{min-height:auto;padding:116px var(--pad) 60px}
 .hero-v241 .hero-copy:before{top:86px;font-size:7px}
 .hero-v241 .hero-copy h1{font-size:var(--hero-title-mobile,40px);line-height:1.02;margin-top:20px}
 .hero-v241 .hero-copy>p{font-size:15px}
 .hero-v241 .hero-visual{height:62svh;min-height:510px}
 .hero-v241 .hero-photo-index{top:18px;right:16px}
 .hero-v241 .hero-photo-caption{left:16px;right:16px;bottom:18px;width:max-content;max-width:calc(100% - 32px)}
 .hero-v241 .signal-card-a{left:16px;top:23%}.hero-v241 .signal-card-b{right:16px;top:46%}.hero-v241 .signal-card-c{left:16px;bottom:70px}
}
@media(prefers-reduced-motion:reduce){.hero-v241 .hero-photo-scan{animation:none}}


/* V2.4.2 — hero production fix after live-host review */
.page-home .site-header:not(.scrolled){
  height:88px;
  background:rgba(255,255,255,.94);
  -webkit-backdrop-filter:blur(18px);
  backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(16,33,61,.08);
  box-shadow:0 8px 34px rgba(12,46,96,.035);
}
.page-home .site-header:not(.scrolled) .main-nav>a:not(.nav-cta){color:#526580}
.page-home .site-header:not(.scrolled) .main-nav>a:not(.nav-cta):hover,
.page-home .site-header:not(.scrolled) .main-nav>a.is-active{color:var(--primary)}
.page-home .site-header:not(.scrolled) .nav-cta{background:var(--primary);border-color:var(--primary);box-shadow:0 10px 28px rgba(11,92,255,.16)}

.hero-v242{
  grid-template-columns:minmax(520px,45.5vw) minmax(0,1fr);
}
.hero-v242 .hero-copy{
  padding-top:154px;
  padding-bottom:104px;
}
.hero-v242 .hero-copy:before{top:116px}
.hero-v242 .hero-visual,
.hero-v242 .hero-photo-stage{
  width:100%;
  min-width:0;
  min-height:100svh;
  height:100svh;
}
.hero-v242 .hero-photo-shell{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  max-width:none!important;
  height:100%!important;
  min-height:100%!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  transform:none!important;
  perspective:none!important;
}
.hero-v242 .hero-photo-shell:after{display:none!important}
.hero-v242 .hero-photo-shell img,
.hero-v242 .hero-photo-shell video{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  max-width:none!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center;
  transform:scale(1.012)!important;
}
.hero-v242 .hero-photo-shell:before{
  background:
    linear-gradient(90deg,rgba(7,27,58,.18),transparent 28%),
    linear-gradient(180deg,rgba(7,27,58,.03) 0%,transparent 50%,rgba(7,27,58,.46) 100%);
}
.hero-v242 .hero-photo-scan{opacity:.34}
.hero-v242 .hero-photo-index{top:116px;right:28px}
.hero-v242 .hero-photo-caption{left:28px;bottom:30px}
.hero-v242 .signal-card{
  min-width:132px;
  padding:11px 13px;
  border-radius:12px;
  background:rgba(6,26,57,.62);
  -webkit-backdrop-filter:blur(15px);
  backdrop-filter:blur(15px);
}
.hero-v242 .signal-card-a,
.hero-v242 .signal-card-b,
.hero-v242 .signal-card-c{top:auto;right:auto;bottom:82px}
.hero-v242 .signal-card-a{left:28px}
.hero-v242 .signal-card-b{left:176px}
.hero-v242 .signal-card-c{left:324px}
.hero-v242 .hero-bottomline{bottom:22px}

@media(max-width:1180px){
  .hero-v242{grid-template-columns:minmax(470px,48vw) minmax(0,1fr)}
  .hero-v242 .signal-card-c{display:none}
  .hero-v242 .hero-bottomline{right:calc(52vw + 28px)}
}
@media(max-width:900px){
  .page-home .site-header:not(.scrolled){height:72px}
  .hero-v242{display:flex}
  .hero-v242 .hero-copy{padding-top:124px}
  .hero-v242 .hero-copy:before{top:91px}
  .hero-v242 .hero-visual,.hero-v242 .hero-photo-stage{height:70svh;min-height:560px}
  .hero-v242 .signal-card-c{display:block}
}
@media(max-width:650px){
  .hero-v242 .hero-visual,.hero-v242 .hero-photo-stage{height:62svh;min-height:500px}
  .hero-v242 .hero-photo-index{top:16px;right:14px}
  .hero-v242 .hero-photo-caption{left:14px;bottom:14px}
  .hero-v242 .signal-card{min-width:112px;padding:9px 10px;transform:none}
  .hero-v242 .signal-card-a{left:14px;bottom:68px}
  .hero-v242 .signal-card-b{left:140px;bottom:68px}
  .hero-v242 .signal-card-c{display:none}
}
