/* V4 aislada · caso HERGA + FAQ. Todos los selectores nuevos están namespaced. */

.cciv4-case,
.cciv4-faq-section{
  --cciv4-ease:cubic-bezier(.2,.76,.22,1);
  --cciv4-line:rgba(184,208,255,.16);
  --cciv4-blue:#315cf6;
  --cciv4-cyan:#72dfea;
  --cciv4-ink:#f4f7ff;
  --cciv4-muted:#9aabc7;
}

/* Caso HERGA */
.cciv4-case{overflow:hidden;padding-block:clamp(76px,6.6vw,102px)}
.cciv4-case-head{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);
  align-items:end;
  gap:clamp(34px,5vw,76px);
  margin-bottom:clamp(42px,4.7vw,66px);
}
.cciv4-case-head h2{
  max-width:900px;
  margin:0;
  color:var(--cciv4-ink);
  font:400 clamp(2.15rem,3vw,2.8rem)/1.02 var(--cci-serif,Georgia,serif);
  letter-spacing:-.05em;
  text-wrap:balance;
}
.cciv4-case-head>p{
  max-width:530px;
  margin:0 0 4px;
  color:#a9b8d1;
  font-size:clamp(.95rem,1.14vw,1.08rem);
  line-height:1.72;
}
.cciv4-case-stage{
  display:grid;
  gap:18px;
}
.cciv4-case-media{
  position:relative;
  min-width:0;
  padding:13px;
  border:1px solid var(--cciv4-line);
  border-radius:28px;
  background:linear-gradient(150deg,rgba(16,31,66,.95),rgba(3,8,20,.96));
  overflow:hidden;
  box-shadow:0 42px 95px -58px #000;
}
.cciv4-case-media:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(120deg,rgba(114,223,234,.1),transparent 32%,rgba(49,92,246,.12));
  z-index:2;
}
.cciv4-case-gallery-track{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}
.cciv4-case-photo{position:relative;aspect-ratio:1.51/1;margin:0;border-radius:16px;overflow:hidden;background:#040815}
.cciv4-case-photo img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--cciv4-ease)}
.cciv4-case-photo figcaption{
  position:absolute;
  z-index:2;
  left:14px;
  bottom:13px;
  padding:8px 10px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:7px;
  color:#e5edff;
  background:rgba(3,7,17,.76);
  backdrop-filter:blur(8px);
  font:600 .48rem/1 var(--cci-mono,monospace);
  letter-spacing:.06em;
}
.cciv4-case-media-label{
  position:absolute;
  z-index:5;
  top:25px;
  left:25px;
  display:flex;
  align-items:center;
  gap:8px;
  padding:9px 11px;
  border:1px solid rgba(255,255,255,.17);
  border-radius:999px;
  color:#dfe9fb;
  background:rgba(3,8,20,.77);
  font:600 .48rem/1 var(--cci-mono,monospace);
  letter-spacing:.09em;
}
.cciv4-case-media-label i{width:6px;height:6px;border-radius:50%;background:#7be5c4;box-shadow:0 0 12px rgba(123,229,196,.8)}
.cciv4-case-story{display:grid;grid-template-columns:minmax(260px,.56fr) minmax(0,1.44fr);align-items:stretch;gap:clamp(24px,3.5vw,48px)}
.cciv4-case-disclosure{
  margin:0;
  padding:18px;
  border:1px solid rgba(114,223,234,.22);
  border-radius:12px;
  color:#afbed7;
  background:rgba(114,223,234,.055);
  align-content:center;
  display:grid;
  font-size:.72rem;
  line-height:1.62;
}
.cciv4-case-story ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:0;padding:0;list-style:none;border-block:1px solid var(--cciv4-line)}
.cciv4-case-story li{
  display:grid;
  grid-template-columns:38px 1fr;
  gap:15px;
  padding:21px 18px;
  border-right:1px solid var(--cciv4-line);
}
.cciv4-case-story li:first-child{padding-left:0}
.cciv4-case-story li:last-child{border-right:0;padding-right:0}
.cciv4-case-story li>span{color:#6f82a3;font:600 .56rem/1.45 var(--cci-mono,monospace)}
.cciv4-case-story h3{margin:0;color:#f0f5ff;font:500 clamp(1.25rem,1.65vw,1.48rem)/1.17 var(--cci-serif,Georgia,serif)}
.cciv4-case-story li p{margin:9px 0 0;color:#8fa0bd;font-size:.78rem;line-height:1.68}

.cciv4-case-proof{
  display:grid;
  grid-template-columns:minmax(0,1.38fr) minmax(310px,.62fr);
  gap:18px;
  margin-top:24px;
}
.cciv4-growth,
.cciv4-offer-card,
.cciv4-scenario{
  margin:0;
  border:1px solid var(--cciv4-line);
  border-radius:22px;
  background:linear-gradient(155deg,rgba(15,29,63,.94),rgba(4,9,22,.94));
  box-shadow:inset 0 1px rgba(255,255,255,.055);
}
.cciv4-growth{overflow:hidden}
.cciv4-growth>header{
  min-height:70px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:13px 20px;
  border-bottom:1px solid var(--cciv4-line);
}
.cciv4-growth>header div{display:grid;gap:5px}
.cciv4-growth>header span,
.cciv4-growth>header small{
  color:#7790b6;
  font:600 .48rem/1.25 var(--cci-mono,monospace);
  letter-spacing:.08em;
}
.cciv4-growth>header strong{color:#eaf1ff;font:500 1.05rem/1.2 var(--cci-serif,Georgia,serif)}
.cciv4-growth>header small{color:#72dfea}
.cciv4-growth-plot{position:relative;min-height:322px;overflow:hidden}
.cciv4-growth-plot:before{
  content:"";
  position:absolute;
  width:410px;
  height:230px;
  right:-160px;
  top:-120px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(114,223,234,.14),transparent 68%);
}
.cciv4-growth-plot svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.cciv4-growth-grid{fill:none;stroke:rgba(151,178,233,.085);stroke-width:1}
.cciv4-growth-line-shadow{fill:none;stroke:rgba(49,92,246,.22);stroke-width:15;stroke-linecap:round}
.cciv4-growth-line{
  fill:none;
  stroke:url(#cciv4-growth-gradient);
  stroke-width:4;
  stroke-linecap:round;
  stroke-dasharray:1;
  stroke-dashoffset:1;
  transition:stroke-dashoffset 1.25s .12s var(--cciv4-ease);
  filter:url(#cciv4-growth-glow);
}
.cciv4-growth-point{fill:#ecfeff;stroke:#315cf6;stroke-width:5;opacity:0;transform:scale(.5);transform-box:fill-box;transform-origin:center;transition:opacity .45s,transform .6s var(--cciv4-ease)}
.cciv4-growth-point-current{stroke:#72dfea;transition-delay:.88s}
.cciv4-growth-halo{fill:rgba(114,223,234,.12);stroke:rgba(114,223,234,.35);opacity:0;transform-box:fill-box;transform-origin:center}
.cciv4-case.is-inview .cciv4-growth-line{stroke-dashoffset:0}
.cciv4-case.is-inview .cciv4-growth-point{opacity:1;transform:scale(1)}
.cciv4-case.is-inview.is-motion-live .cciv4-growth-halo{animation:cciv4CaseHalo 2.8s ease-out infinite}
.cciv4-growth-label{position:absolute;z-index:2;display:grid;pointer-events:none}
.cciv4-growth-label small{color:#7086aa;font:600 .45rem/1 var(--cci-mono,monospace);letter-spacing:.08em}
.cciv4-growth-label strong{margin-top:7px;color:#f2f7ff;font:400 clamp(2.1rem,3.3vw,3.5rem)/.82 var(--cci-serif,Georgia,serif);letter-spacing:-.06em}
.cciv4-growth-label span{margin-top:7px;color:#8fa2c0;font-size:.66rem}
.cciv4-growth-label-start{left:23px;bottom:18px}
.cciv4-growth-label-current{top:23px;right:25px;text-align:right}
.cciv4-growth-label-current strong{color:#dffcff}
.cciv4-growth figcaption{padding:13px 20px;border-top:1px solid var(--cciv4-line);color:#7184a4;font-size:.61rem;line-height:1.55}

.cciv4-offer-stack{display:grid;grid-template-rows:auto auto;gap:12px}
.cciv4-offer-card{padding:24px;overflow:hidden;position:relative}
.cciv4-offer-card:after{
  content:"";
  position:absolute;
  width:220px;
  height:220px;
  right:-100px;
  top:-100px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(49,92,246,.24),transparent 68%);
  pointer-events:none;
}
.cciv4-offer-card-top{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:15px}
.cciv4-offer-card-top span{color:#7d90b0;font:600 .48rem/1 var(--cci-mono,monospace);letter-spacing:.08em}
.cciv4-offer-card-top i{width:8px;height:8px;border-radius:50%;background:#7be5c4;box-shadow:0 0 15px rgba(123,229,196,.75)}
.cciv4-offer-card>strong{display:block;margin-top:28px;color:#f6f9ff;font:400 clamp(3.6rem,5.5vw,5.8rem)/.78 var(--cci-serif,Georgia,serif);letter-spacing:-.065em}
.cciv4-offer-card h3{margin:14px 0 0;color:#dce7fa;font:500 1.25rem/1.15 var(--cci-serif,Georgia,serif)}
.cciv4-offer-card>p{margin:14px 0 0;color:#8fa0bd;font-size:.7rem;line-height:1.62}
.cciv4-offer-route{display:grid;grid-template-columns:auto 1fr auto 1fr auto;align-items:center;gap:8px;margin-top:25px;color:#7186a7;font:600 .43rem/1.2 var(--cci-mono,monospace);letter-spacing:.04em}
.cciv4-offer-route i{height:1px;background:linear-gradient(90deg,#315cf6,#72dfea)}
.cciv4-scenario{overflow:hidden}
.cciv4-scenario summary{
  min-height:58px;
  display:grid;
  grid-template-columns:1fr auto 44px;
  align-items:center;
  gap:12px;
  padding:7px 8px 7px 18px;
  color:#dce6f9;
  cursor:pointer;
  list-style:none;
}
.cciv4-scenario summary::-webkit-details-marker{display:none}
.cciv4-scenario summary>span{font:500 .9rem/1.2 var(--cci-serif,Georgia,serif)}
.cciv4-scenario summary>small{color:#7386a7;font:600 .4rem/1.2 var(--cci-mono,monospace);letter-spacing:.06em;text-transform:uppercase}
.cciv4-scenario summary>i{width:44px;height:44px;border:1px solid var(--cciv4-line);border-radius:50%;position:relative}
.cciv4-scenario summary>i:before,.cciv4-scenario summary>i:after{content:"";position:absolute;top:21px;left:13px;right:13px;height:1px;background:#90a3c4;transition:transform .3s var(--cciv4-ease)}
.cciv4-scenario summary>i:after{transform:rotate(90deg)}
.cciv4-scenario[open] summary>i:after{transform:none}
.cciv4-scenario-answer{display:grid!important;grid-template-rows:0fr;opacity:.4;transform:translateY(-5px);transition:grid-template-rows .42s var(--cciv4-ease),opacity .3s,transform .42s var(--cciv4-ease)}
.cciv4-scenario[open]>.cciv4-scenario-answer{grid-template-rows:1fr;opacity:1;transform:none}
.cciv4-scenario-answer>div{min-height:0;overflow:hidden}
.cciv4-scenario-answer p{margin:0;padding:0 18px;color:#91a2bd;font-size:.68rem;line-height:1.58}
.cciv4-scenario-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:13px 18px}
.cciv4-scenario-grid span{padding:12px;border:1px solid var(--cciv4-line);border-radius:10px;background:rgba(255,255,255,.025);display:grid;gap:7px}
.cciv4-scenario-grid small{color:#7185a7;font:600 .4rem/1 var(--cci-mono,monospace)}
.cciv4-scenario-grid strong{color:#e9f4ff;font:500 1.15rem/1 var(--cci-serif,Georgia,serif)}
.cciv4-scenario-answer .cciv4-scenario-warning{padding-bottom:17px;color:#7184a4}
.cciv4-case-note{max-width:980px;margin:15px 0 0;color:#6e82a3;font-size:.63rem;line-height:1.6}

/* V5 · El gráfico conserva solo dos cifras comprobables. El trazado intermedio
   se presenta de forma inequívoca como representación visual, no como histórico. */
.cciv4-growth.is-cciv5-chart .cciv4-growth-plot{
  min-height:390px;
  background:
    radial-gradient(circle at 83% 18%,rgba(114,223,234,.08),transparent 29%),
    linear-gradient(180deg,rgba(6,14,34,.28),rgba(3,8,20,.08));
}
.cciv4-growth.is-cciv5-chart .cciv4-growth-plot svg{z-index:1}
.cciv4-growth.is-cciv5-chart .cciv4-growth-grid{stroke:rgba(151,178,233,.105);stroke-dasharray:3 7}
.cciv4-growth.is-cciv5-chart .cciv5-growth-axis-line{fill:none;stroke:rgba(184,208,255,.25);stroke-width:1.2}
.cciv4-growth.is-cciv5-chart .cciv5-growth-area{fill:url(#cciv5-growth-area-gradient);opacity:0;transition:opacity .8s .2s var(--cciv4-ease)}
.cciv4-case.is-inview .cciv4-growth.is-cciv5-chart .cciv5-growth-area{opacity:1}
.cciv4-growth.is-cciv5-chart .cciv4-growth-line-shadow{stroke-width:12;opacity:.72}
.cciv4-growth.is-cciv5-chart .cciv4-growth-line{stroke-width:3.5}
.cciv5-growth-axis-y{
  position:absolute;
  z-index:3;
  top:22%;
  bottom:19%;
  left:17px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  color:#687d9f;
  pointer-events:none;
  font:600 .42rem/1 var(--cci-mono,monospace);
  letter-spacing:.03em;
}
.cciv5-growth-axis-y:before{
  content:"VISITAS / MES";
  position:absolute;
  top:50%;
  left:-37px;
  width:92px;
  color:#536987;
  text-align:center;
  letter-spacing:.09em;
  transform:translateY(-50%) rotate(-90deg);
}
.cciv5-growth-axis-x{
  position:absolute;
  z-index:3;
  right:49px;
  bottom:20px;
  left:74px;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:12px;
  color:#647a9d;
  pointer-events:none;
  font:600 .42rem/1.2 var(--cci-mono,monospace);
  letter-spacing:.055em;
}
.cciv5-growth-axis-x i{height:1px;background:linear-gradient(90deg,rgba(49,92,246,.5),rgba(114,223,234,.42));position:relative}
.cciv5-growth-axis-x i:after{content:"";position:absolute;right:0;top:-2px;width:5px;height:5px;border-radius:50%;background:#72dfea;box-shadow:0 0 9px rgba(114,223,234,.66)}
.cciv5-growth-legend{
  position:absolute;
  z-index:4;
  top:17px;
  left:74px;
  display:flex;
  flex-wrap:wrap;
  gap:8px 16px;
  color:#7085a7;
  pointer-events:none;
  font:600 .42rem/1.2 var(--cci-mono,monospace);
  letter-spacing:.045em;
}
.cciv5-growth-legend span{display:flex;align-items:center;gap:7px}
.cciv5-growth-legend i{display:block;width:7px;height:7px;border-radius:50%;background:#eafcff;box-shadow:0 0 0 3px rgba(49,92,246,.48)}
.cciv5-growth-legend span:last-child i{width:22px;height:1px;border-radius:0;background:linear-gradient(90deg,#315cf6,#72dfea);box-shadow:none}
.cciv4-growth.is-cciv5-chart .cciv4-growth-label-start{left:76px;bottom:48px}
.cciv4-growth.is-cciv5-chart .cciv4-growth-label-current{top:53px;right:39px}
.cciv4-growth.is-cciv5-chart .cciv4-growth-label strong{font-size:clamp(2rem,2.75vw,2.85rem)}
.cciv4-growth.is-cciv5-chart figcaption{display:flex;align-items:flex-start;gap:9px;color:#7f91ae}
.cciv4-growth.is-cciv5-chart figcaption:before{content:"i";flex:0 0 17px;width:17px;height:17px;display:grid;place-items:center;margin-top:1px;border:1px solid rgba(114,223,234,.35);border-radius:50%;color:#9ef0f4;font:700 .52rem/1 var(--cci-mono,monospace)}

/* V5 · Diversificación como objetivo estratégico, nunca como una cifra del caso. */
.cciv5-diversity-card{
  position:relative;
  margin:0;
  padding:20px;
  overflow:hidden;
  border:1px solid rgba(114,223,234,.16);
  border-radius:18px;
  background:linear-gradient(145deg,rgba(11,27,56,.96),rgba(4,10,24,.96));
  box-shadow:inset 0 1px rgba(255,255,255,.045);
}
.cciv5-diversity-card:before{content:"";position:absolute;right:-74px;bottom:-92px;width:190px;height:190px;border:1px solid rgba(114,223,234,.1);border-radius:50%;box-shadow:0 0 0 30px rgba(49,92,246,.025),0 0 0 60px rgba(49,92,246,.018);pointer-events:none}
.cciv5-diversity-card>header{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:13px}
.cciv5-diversity-card>header span,.cciv5-diversity-card>header small{font:600 .43rem/1.25 var(--cci-mono,monospace);letter-spacing:.075em}
.cciv5-diversity-card>header span{color:#7d91b2}
.cciv5-diversity-card>header small{padding:6px 8px;border:1px solid rgba(114,223,234,.22);border-radius:999px;color:#8eeaf0;background:rgba(114,223,234,.045)}
.cciv5-diversity-card h3{position:relative;z-index:1;max-width:380px;margin:17px 0 0;color:#edf4ff;font:500 clamp(1.25rem,1.65vw,1.55rem)/1.08 var(--cci-serif,Georgia,serif);letter-spacing:-.025em}
.cciv5-diversity-card>p{position:relative;z-index:1;margin:9px 0 0;color:#8799b7;font-size:.66rem;line-height:1.58}
.cciv5-diversity-markets{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:6px;margin-top:15px}
.cciv5-diversity-markets span{padding:7px 8px;border:1px solid rgba(157,183,234,.13);border-radius:7px;color:#9dafca;background:rgba(255,255,255,.025);font:600 .4rem/1.15 var(--cci-mono,monospace);opacity:.36;transform:translateY(5px);transition:opacity .45s var(--cciv4-ease),transform .45s var(--cciv4-ease),border-color .35s,color .35s}
.cciv4-case.is-inview .cciv5-diversity-markets span{opacity:1;transform:none}
.cciv4-case.is-inview .cciv5-diversity-markets span:nth-child(2){transition-delay:.05s}.cciv4-case.is-inview .cciv5-diversity-markets span:nth-child(3){transition-delay:.1s}.cciv4-case.is-inview .cciv5-diversity-markets span:nth-child(4){transition-delay:.15s}.cciv4-case.is-inview .cciv5-diversity-markets span:nth-child(5){transition-delay:.2s}.cciv4-case.is-inview .cciv5-diversity-markets span:nth-child(6){transition-delay:.25s}
.cciv5-diversity-card>small{position:relative;z-index:1;display:block;margin-top:12px;color:#657a9b;font-size:.52rem;line-height:1.5}

/* V5 · Sección 07: la información se sincroniza al explorar cada criterio. */
.cci-v4 #encaje .cci-fit-scope{transition:border-color .36s var(--cciv4-ease),background .36s var(--cciv4-ease),box-shadow .36s var(--cciv4-ease)}
.cci-v4 #encaje .cci-fit-scope[data-fit="0"]{border-color:rgba(49,92,246,.2);background:linear-gradient(110deg,rgba(49,92,246,.08),rgba(255,255,255,.9))}
.cci-v4 #encaje .cci-fit-scope[data-fit="1"]{border-color:rgba(244,184,106,.28);background:linear-gradient(110deg,rgba(244,184,106,.09),rgba(255,255,255,.92))}
.cci-v4 #encaje .cci-fit-scope[data-fit="2"]{border-color:rgba(255,125,137,.24);background:linear-gradient(110deg,rgba(255,125,137,.075),rgba(255,255,255,.92))}
.cci-v4 #encaje .cci-fit-gates{align-items:start;interpolate-size:allow-keywords}
.cci-v4 #encaje .cci-fit-gates details{will-change:transform;transition:transform .42s var(--cciv4-ease),border-color .35s,box-shadow .42s var(--cciv4-ease),background .35s}
.cci-v4 #encaje .cci-fit-gates details.is-cciv5-active,.cci-v4 #encaje .cci-fit-gates details[open]{z-index:2;border-color:rgba(49,92,246,.34);background:linear-gradient(155deg,#fff,#f7f9ff);transform:translateY(-4px);box-shadow:0 32px 78px -48px rgba(24,57,139,.5)}
.cci-v4 #encaje .cci-fit-gates details:nth-child(2).is-cciv5-active,.cci-v4 #encaje .cci-fit-gates details:nth-child(2)[open]{border-color:rgba(224,154,65,.38);background:linear-gradient(155deg,#fff,#fffaf3)}
.cci-v4 #encaje .cci-fit-gates details:nth-child(3).is-cciv5-active,.cci-v4 #encaje .cci-fit-gates details:nth-child(3)[open]{border-color:rgba(213,96,111,.3);background:linear-gradient(155deg,#fff,#fff7f8)}
.cci-v4 #encaje .cci-fit-gates summary{transition:background .3s var(--cciv4-ease),transform .34s var(--cciv4-ease)}
.cci-v4 #encaje .cci-fit-gates summary:focus-visible{outline-offset:-5px}
.cci-v4 #encaje .cci-fit-gates details>div{transform-origin:top;animation:cciv5FitReveal .42s var(--cciv4-ease) both}
@supports selector(details::details-content){
  .cci-v4 #encaje .cci-fit-gates details::details-content{block-size:0;overflow:clip;opacity:0;transform:translateY(-7px);transition:block-size .48s var(--cciv4-ease),content-visibility .48s allow-discrete,opacity .28s ease,transform .48s var(--cciv4-ease)}
  .cci-v4 #encaje .cci-fit-gates details[open]::details-content{block-size:auto;opacity:1;transform:none}
}

/* La V4 compacta la lectura posterior en escritorio sin sacrificar aire ni legibilidad. */
.cci-v4 .cci-context-photo{position:relative;margin:28px 0 0;overflow:hidden;border-radius:22px;background:#071127;box-shadow:0 28px 70px -42px rgba(12,31,75,.62)}
.cci-v4 .cci-context-photo img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;margin:0;max-width:none;border-radius:inherit}
.cci-v4 .cci-context-photo figcaption{position:absolute;left:14px;bottom:13px;margin:0;padding:8px 11px;border:1px solid rgba(255,255,255,.18);border-radius:999px;color:#edf4ff;background:rgba(3,8,20,.76);backdrop-filter:blur(9px);font:600 .58rem/1.2 var(--cci-mono,monospace);letter-spacing:.05em}
.cci-v4 .cci-section:not(.cciv4-case):not(.cciv4-faq-section){padding-block:clamp(78px,7.2vw,112px)}
.cci-v4 .cci-section-head{margin-bottom:clamp(38px,4.5vw,62px)}
.cci-v4 .cci-section-head h2{max-width:28ch;font-size:clamp(2.1rem,2.9vw,2.8rem);line-height:1.03}
.cci-v4 .cci-contact-copy h2{max-width:23ch;font-size:clamp(2.15rem,3vw,2.9rem);line-height:1.02}

@media (min-width:1100px) and (max-height:900px){
  .cci-v4 .cci-section:not(.cciv4-case):not(.cciv4-faq-section){padding-block:74px}
  .cci-v4 .cci-section-head{margin-bottom:40px}
  .cci-v4 .cci-section-head h2{font-size:clamp(2.05rem,2.8vw,2.7rem)}
}

/* CTA tipo Veltian: raíl de color, texto y celda de flecha separados. */
.cciv4-cta-band{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:clamp(28px,4vw,58px);
  margin-top:34px;
  padding:28px 30px;
  border:1px solid rgba(114,223,234,.24);
  border-radius:20px;
  background:linear-gradient(112deg,rgba(49,92,246,.2),rgba(255,255,255,.045));
}
.cciv4-cta-band>div:first-child>p{margin:0 0 9px;color:#72dfea;font:600 .5rem/1 var(--cci-mono,monospace);letter-spacing:.1em}
.cciv4-cta-band h3{max-width:760px;margin:0;color:#f3f7ff;font:500 clamp(1.55rem,2.2vw,2.2rem)/1.06 var(--cci-serif,Georgia,serif);letter-spacing:-.035em}
.cciv4-cta-band>div:first-child>span{display:block;max-width:720px;margin-top:10px;color:#92a4c1;font-size:.74rem;line-height:1.55}
.cciv4-cta-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:9px}
.cciv4-cta{
  position:relative;
  min-height:54px;
  display:grid;
  grid-template-columns:1fr 52px;
  align-items:stretch;
  border:1px solid rgba(255,255,255,.2);
  border-radius:11px;
  color:#f4f8ff;
  background:rgba(255,255,255,.06);
  overflow:hidden;
  text-decoration:none;
  transition:transform .32s var(--cciv4-ease),border-color .32s,box-shadow .32s;
}
.cciv4-cta:before{content:"";position:absolute;z-index:2;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,#315cf6,#72dfea);transform:scaleX(.18);transform-origin:left;transition:transform .55s var(--cciv4-ease)}
.cciv4-cta>span{display:flex;align-items:center;padding:0 18px;font-size:.76rem;font-weight:800;line-height:1.2}
.cciv4-cta>i{min-width:52px;display:grid;place-items:center;border-left:1px solid rgba(255,255,255,.16);font-style:normal;transition:transform .32s var(--cciv4-ease),background .32s}
.cciv4-cta-light{color:#111a34;background:#fff;border-color:#fff;box-shadow:0 22px 54px -28px rgba(86,137,255,.86)}
.cciv4-cta-light>i{border-color:rgba(17,26,52,.12)}
.cciv4-cta:focus-visible{outline:2px solid #72dfea;outline-offset:4px}

/* FAQ */
.cciv4-faq-section{
  /* Evita que overflow:clip del componente base interrumpa position:sticky. */
  overflow:visible;
  padding-block:clamp(84px,7.5vw,116px);
  isolation:isolate;
}
.cciv4-faq-section:before{z-index:-1;pointer-events:none}
.cciv4-faq-head{
  display:grid;
  grid-template-columns:minmax(0,1.4fr) minmax(300px,.6fr);
  align-items:end;
  gap:clamp(32px,5vw,72px);
  margin-bottom:clamp(42px,5vw,66px);
}
.cciv4-faq-head h2{max-width:980px;margin:0;color:#f4f7ff;font:400 clamp(2.15rem,3vw,2.8rem)/1.02 var(--cci-serif,Georgia,serif);letter-spacing:-.045em;text-wrap:balance}
.cciv4-faq-head>p{max-width:520px;margin:0 0 4px;color:#9faec7;font-size:clamp(.95rem,1.12vw,1.06rem);line-height:1.7}
.cciv4-faq-layout{display:grid;grid-template-columns:minmax(310px,.68fr) minmax(0,1.32fr);align-items:start;gap:clamp(34px,4.7vw,66px)}
.cciv4-faq-guide-shell{align-self:start}
.cciv4-faq-guide{
  padding:26px;
  border:1px solid var(--cciv4-line);
  border-radius:22px;
  color:#dfe8f9;
  background:linear-gradient(155deg,rgba(14,27,58,.96),rgba(5,11,26,.96));
  box-shadow:0 36px 86px -55px #000,inset 0 1px rgba(255,255,255,.055);
}
.cciv4-faq-guide-top{display:flex;align-items:end;justify-content:space-between;gap:15px}
.cciv4-faq-guide-top>span{color:#72dfea;font:600 .49rem/1 var(--cci-mono,monospace);letter-spacing:.1em}
.cciv4-faq-guide-top>p{display:flex;align-items:baseline;gap:7px;margin:0}
.cciv4-faq-guide-top b{color:#f4f8ff;font:400 clamp(2.7rem,4vw,4rem)/.8 var(--cci-serif,Georgia,serif);letter-spacing:-.06em}
.cciv4-faq-guide-top small{color:#65799a;font:600 .52rem/1 var(--cci-mono,monospace)}
.cciv4-faq-map{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:23px}
.cciv4-faq-map button{
  min-width:44px;
  min-height:58px;
  display:grid;
  place-content:center;
  justify-items:center;
  gap:5px;
  padding:7px 4px;
  border:1px solid rgba(156,182,231,.14);
  border-radius:10px;
  color:#7586a5;
  background:rgba(255,255,255,.025);
  cursor:pointer;
  transition:transform .3s var(--cciv4-ease),border-color .3s,color .3s,background .3s;
}
.cciv4-faq-map button i{font:600 .44rem/1 var(--cci-mono,monospace);font-style:normal}
.cciv4-faq-map button span{font:500 .39rem/1.15 var(--cci-mono,monospace);letter-spacing:.03em;overflow-wrap:anywhere}
.cciv4-faq-map button.is-active{color:#e7fbff;border-color:rgba(114,223,234,.52);background:radial-gradient(circle,rgba(114,223,234,.17),rgba(49,92,246,.11));transform:translateY(-2px);box-shadow:0 14px 32px -26px rgba(114,223,234,.86)}
.cciv4-faq-map button:focus-visible{outline:2px solid #72dfea;outline-offset:3px}
.cciv4-faq-guide blockquote{min-height:4.3em;margin:24px 0 0;color:#e1e9f8;font:400 italic clamp(1.3rem,1.65vw,1.65rem)/1.18 var(--cci-serif,Georgia,serif);letter-spacing:-.02em}
.cciv4-faq-guide>small{display:block;margin-top:19px;color:#7082a0;font-size:.59rem;line-height:1.6}
.cciv4-faq-list{border-top:1px solid var(--cciv4-line)}
.cciv4-faq-item{position:relative;border-bottom:1px solid var(--cciv4-line);background:transparent;transition:background .32s,border-color .32s}
.cciv4-faq-item:before{content:"";position:absolute;left:0;top:17px;bottom:17px;width:2px;background:linear-gradient(#315cf6,#72dfea);opacity:0;transform:scaleY(.25);transform-origin:center;transition:opacity .34s,transform .42s var(--cciv4-ease)}
.cciv4-faq-item summary{
  min-height:94px;
  display:grid;
  grid-template-columns:38px minmax(0,1fr) 46px;
  align-items:center;
  gap:15px;
  padding:17px 10px;
  cursor:pointer;
  list-style:none;
  transition:transform .32s var(--cciv4-ease);
}
.cciv4-faq-item summary::-webkit-details-marker{display:none}
.cciv4-faq-item summary>span{color:#687a99;font:600 .55rem/1 var(--cci-mono,monospace)}
.cciv4-faq-item h3{margin:0;color:#dce5f7;font:500 clamp(1.23rem,1.7vw,1.58rem)/1.18 var(--cci-serif,Georgia,serif);letter-spacing:-.02em;transition:color .3s}
.cciv4-faq-item summary>i{width:44px;height:44px;border:1px solid rgba(174,199,255,.17);border-radius:50%;position:relative;transition:transform .36s var(--cciv4-ease),border-color .3s}
.cciv4-faq-item summary>i:before,.cciv4-faq-item summary>i:after{content:"";position:absolute;top:21px;left:13px;right:13px;height:1px;background:#8293b5;transition:transform .36s var(--cciv4-ease)}
.cciv4-faq-item summary>i:after{transform:rotate(90deg)}
.cciv4-faq-item[open]{background:linear-gradient(90deg,rgba(49,92,246,.14),transparent 78%)}
.cciv4-faq-item[open]:before{opacity:1;transform:scaleY(1)}
.cciv4-faq-item[open] summary{transform:translateX(5px)}
.cciv4-faq-item[open] h3{color:#fff}
.cciv4-faq-item[open] summary>i{border-color:rgba(114,223,234,.32);transform:rotate(90deg)}
.cciv4-faq-item[open] summary>i:after{transform:rotate(0)}
.cciv4-faq-answer{
  display:grid!important;
  grid-template-rows:0fr;
  opacity:.25;
  transform:translateY(-7px);
  transition:grid-template-rows .46s var(--cciv4-ease),opacity .3s,transform .46s var(--cciv4-ease);
}
.cciv4-faq-item[open]>.cciv4-faq-answer{grid-template-rows:1fr;opacity:1;transform:none}
.cciv4-faq-answer>div{min-height:0;overflow:hidden}
.cciv4-faq-answer p{max-width:800px;margin:0;padding:0 62px 29px 63px;color:#9cadc8;font-size:.84rem;line-height:1.75}
.cciv4-faq-item summary:focus-visible{outline:2px solid #72dfea;outline-offset:-2px;border-radius:10px}
.cciv4-faq-cta{margin-top:38px}

@media (min-width:1100px){
  .cciv4-faq-guide-shell{position:sticky;top:calc(var(--cp-header-offset,82px) + 22px)}
}

@media (hover:hover) and (pointer:fine){
  .cciv4-case-photo:hover img{transform:scale(1.025)}
  .cciv5-diversity-card:hover .cciv5-diversity-markets span{color:#d9f8fb;border-color:rgba(114,223,234,.3)}
  .cci-v4 #encaje .cci-fit-gates details:hover{transform:translateY(-4px);box-shadow:0 32px 78px -48px rgba(24,57,139,.5)}
  .cciv4-cta:hover{transform:translateY(-2px);border-color:rgba(114,223,234,.48);box-shadow:0 22px 48px -30px rgba(49,92,246,.72)}
  .cciv4-cta:hover:before{transform:scaleX(1)}
  .cciv4-cta:hover>i{transform:translate(2px,-1px);background:rgba(114,223,234,.075)}
  .cciv4-faq-map button:hover{color:#e2ebfb;border-color:rgba(114,223,234,.38);transform:translateY(-2px)}
  .cciv4-faq-item summary:hover{transform:translateX(4px)}
}

@media (max-width:1099px){
  .cciv4-case-head,.cciv4-faq-head{grid-template-columns:1fr}
  .cciv4-case-head>p,.cciv4-faq-head>p{max-width:760px}
  .cciv4-case-story{grid-template-columns:1fr}
  .cciv4-case-story ol{grid-template-columns:repeat(3,minmax(0,1fr))}
  .cciv4-case-story li:first-child{padding-left:18px}
  .cciv4-case-story li:last-child{padding-right:18px}
  .cciv4-case-proof{grid-template-columns:1fr}
  .cciv4-offer-stack{grid-template-columns:1fr 1fr;grid-template-rows:auto}
  .cciv4-offer-stack>.cciv4-scenario{grid-column:1/-1}
  .cciv4-faq-layout{grid-template-columns:1fr}
  .cciv4-faq-guide-shell{position:static}
  .cciv4-faq-guide{padding:20px}
  .cciv4-faq-guide-top{align-items:center}
  .cciv4-faq-map{grid-template-columns:repeat(12,minmax(52px,1fr));overflow-x:auto;scrollbar-width:thin;padding:2px 0 8px;scroll-snap-type:x proximity}
  .cciv4-faq-map button{scroll-snap-align:start}
  .cciv4-faq-guide blockquote{min-height:0;margin-top:17px}
  .cciv4-faq-guide>small{margin-top:12px}
}

@media (max-width:800px){
  .cciv4-case-media{padding:11px}
  .cciv4-case-gallery-track{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:76%;gap:9px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;padding-bottom:4px}
  .cciv4-case-photo{scroll-snap-align:start}
  .cciv4-case-story ol{grid-template-columns:1fr}
  .cciv4-case-story li{border-right:0;border-bottom:1px solid var(--cciv4-line)}
  .cciv4-case-story li:last-child{border-bottom:0}
  .cciv4-offer-stack{grid-template-columns:1fr}
  .cciv4-cta-band{grid-template-columns:1fr;padding:24px}
  .cciv4-cta-actions{justify-content:flex-start}
  .cciv4-faq-head h2,.cciv4-case-head h2{font-size:clamp(1.95rem,8vw,2.35rem)}
}

@media (max-width:560px){
  .cciv4-case,.cciv4-faq-section{padding-block:72px}
  .cciv4-case-media{border-radius:21px}
  .cciv4-case-gallery-track{grid-auto-columns:86%}
  .cciv4-case-media-label{top:22px;left:22px}
  .cciv4-growth>header{align-items:flex-start;flex-direction:column;justify-content:center}
  .cciv4-growth-plot{min-height:280px}
  .cciv4-growth.is-cciv5-chart .cciv4-growth-plot{min-height:350px}
  .cciv5-growth-legend{right:14px;left:55px;gap:6px 10px}
  .cciv5-growth-axis-y{left:9px}
  .cciv5-growth-axis-y:before{display:none}
  .cciv5-growth-axis-x{right:20px;left:54px}
  .cciv4-growth.is-cciv5-chart .cciv4-growth-label-start{left:53px;bottom:45px}
  .cciv4-growth.is-cciv5-chart .cciv4-growth-label-current{right:17px}
  .cciv4-growth.is-cciv5-chart .cciv4-growth-label strong{font-size:1.9rem}
  .cciv4-growth-label-current{right:18px}
  .cciv4-growth-label-start{left:18px}
  .cciv4-scenario summary{grid-template-columns:1fr 44px}.cciv4-scenario summary>small{display:none}
  .cciv4-scenario-grid{grid-template-columns:1fr}
  .cciv4-cta{width:100%}
  .cciv4-faq-guide{padding:17px}
  .cciv4-faq-map{grid-template-columns:repeat(12,58px)}
  .cciv4-faq-map button span{display:none}
  .cciv4-faq-item summary{grid-template-columns:30px minmax(0,1fr) 44px;gap:10px;min-height:88px;padding-inline:4px}
  .cciv4-faq-item h3{font-size:1.18rem}
  .cciv4-faq-answer p{padding:0 9px 25px 40px;font-size:.8rem}
}

@media (prefers-reduced-motion:reduce){
  .cciv4-case *,
  .cciv4-faq-section *{scroll-behavior:auto!important;animation:none!important;transition-duration:.001ms!important;transition-delay:0s!important}
  .cciv4-growth-line{stroke-dashoffset:0!important}
  .cciv4-growth-point{opacity:1!important;transform:none!important}
  .cciv4-growth-halo{opacity:.2!important}
  .cciv5-diversity-markets span{opacity:1!important;transform:none!important}
  .cci-v4 #encaje .cci-fit-gates details>div{animation:none!important}
}

@media (forced-colors:active){
  .cciv4-growth-line,.cciv4-offer-route i{stroke:Highlight;background:Highlight}
  .cciv4-faq-map button.is-active,.cciv4-faq-item[open],.cciv4-cta,.cciv5-diversity-card,.cci-v4 #encaje .cci-fit-gates details[open]{border:2px solid Highlight}
}

@keyframes cciv4CaseHalo{
  0%{opacity:.5;transform:scale(.65)}
  72%,100%{opacity:0;transform:scale(1.55)}
}

@keyframes cciv5FitReveal{
  0%{opacity:.35;transform:translateY(-7px)}
  100%{opacity:1;transform:none}
}
