/* PUBLIMPACTO · Diseño & SEO Web Castellón · 16/09/2026
   Extensión exclusiva de .pi-local-page. No modifica el sistema global.
   Contenido y rutas de imágenes: servicios/diseno-web-seo-castellon.html */
.pi-local-page { --local-line:rgba(0,0,0,.13); }
.pi-local-page #contenido section[id] { scroll-margin-top:92px; }
.pi-local-page #contenido [hidden] { display:none!important; }
.pi-local-page #contenido button { font-family:inherit; }
.pi-local-page #contenido :is(button,a,summary):focus-visible { outline:2px solid var(--pi-accent);outline-offset:5px; }
.pi-local-page .pi-local-hero { min-height:740px;padding-top:150px;padding-bottom:0; }
.pi-local-page .pi-local-hero h1 { font-size:clamp(46px,6.4vw,86px);line-height:1.02;letter-spacing:-.045em; }
.pi-local-page .pi-local-hero-line { display:block; }
.pi-local-page .pi-local-hero .pi-lead { max-width:690px;font-size:clamp(17px,1.5vw,20px);line-height:1.6; }
.pi-local-page .pi-local-hero-note { max-width:600px;margin-top:20px;color:rgba(255,255,255,.55);font-size:14px;line-height:1.7; }
.pi-local-page .pi-local-actions { display:flex;align-items:center;flex-wrap:wrap;gap:24px;margin-top:32px; }
.pi-local-page .pi-local-button { max-width:100%;margin:0;flex:0 0 auto; }
.pi-local-page .pi-local-text-link { display:inline-flex;align-items:center;gap:14px;font-size:14px;color:inherit; }
.pi-local-page .pi-local-text-link span { transition:transform .2s ease; }
.pi-local-page .pi-local-text-link:hover span { transform:translate(2px,-2px); }
.pi-local-page :is(.pi-local-hero,.pi-section-dark) .pi-local-text-link { color:#fff; }
.pi-local-page .pi-local-proof { display:flex;flex-wrap:wrap;list-style:none;padding:0;gap:12px 26px;margin-top:28px;color:rgba(255,255,255,.5);font-size:12px;letter-spacing:.035em; }
.pi-local-page .pi-local-proof li::before { content:'·';color:var(--pi-accent);margin-right:8px; }
.pi-local-page .pi-local-chapters { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid rgba(255,255,255,.16);margin-top:34px; }
.pi-local-page .pi-local-chapters a { display:flex;align-items:center;gap:14px;min-height:75px;color:rgba(255,255,255,.72);font-size:13px; }
.pi-local-page .pi-local-chapters a:hover { color:#fff; }
.pi-local-page .pi-local-chapters a span { color:var(--pi-accent);font-size:10px;letter-spacing:.08em; }
.pi-local-page #contenido > .pi-section { padding:92px 0; }
.pi-local-page .pi-local-intro { margin-bottom:46px; }
.pi-local-page .pi-local-pull { font-size:clamp(20px,2.1vw,26px);line-height:1.4;font-weight:400;color:#111;margin-bottom:22px; }
.pi-local-page .pi-copy > .pi-local-pull:last-child { margin:28px 0 0;padding-top:24px;border-top:1px solid var(--local-line); }
.pi-local-page .pi-local-facts { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:32px 0; }
.pi-local-page .pi-local-facts > div { border-top:1px solid var(--local-line);padding-top:18px; }
.pi-local-page .pi-local-facts dt { font-size:12px;font-weight:500;color:#111;margin-bottom:7px; }
.pi-local-page .pi-local-facts dd { margin:0;font-size:14px;line-height:1.65; }
.pi-local-page .pi-local-method .pi-ai-service-body > p + p { margin-top:18px; }
.pi-local-page .pi-local-method .pi-ai-service-body > p { font-size:16px;line-height:1.65; }
.pi-local-page .pi-local-method .pi-ai-tabs { grid-template-columns:260px minmax(0,1fr); }
.pi-local-page .pi-local-method .pi-ai-service-list.is-tabs .pi-ai-service-row { min-height:480px;padding:38px 34px;grid-template-columns:42px minmax(0,1fr);gap:20px; }
.pi-local-page .pi-local-method .is-tabs .pi-ai-service-number { display:none; }
.pi-local-page .pi-local-method .pi-ai-service-mark { width:42px;height:42px;padding:8px; }
.pi-local-page .pi-local-method .pi-ai-service-body h3 { font-size:clamp(26px,2.65vw,36px);line-height:1.15; }
.pi-local-page .pi-local-method .pi-ai-tab { min-height:80px; }
.pi-local-page .pi-local-disciplines { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:45px;margin-top:54px; }
.pi-local-page .pi-local-disciplines > div { border-top:1px solid rgba(255,255,255,.22);padding-top:22px; }
.pi-local-page .pi-local-label { display:block;font-size:10px;letter-spacing:.12em;text-transform:uppercase;font-weight:500;line-height:1.7;color:rgba(0,0,0,.5); }
.pi-local-page .pi-section-dark .pi-local-label { color:rgba(255,255,255,.5); }
.pi-local-page .pi-local-disciplines p { font-size:17px;line-height:1.9;margin-top:12px; }
.pi-local-page .pi-local-signoff { font-size:clamp(20px,2.3vw,30px);line-height:1.4;letter-spacing:-.015em;margin:38px 0 0;max-width:850px;color:#111; }
.pi-local-page .pi-section-dark .pi-local-signoff { color:white; }
.pi-local-page .pi-local-research { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin-top:45px; }
.pi-local-page .pi-local-research article { border-top:1px solid var(--local-line);padding:22px 10px 0 0; }
.pi-local-page .pi-local-index { font-size:11px;letter-spacing:.08em;font-variant-numeric:tabular-nums;font-weight:400;color:rgba(0,0,0,.4); }
.pi-local-page .pi-local-research h3 { font-size:21px;line-height:1.25;margin:18px 0 12px;font-weight:400; }
.pi-local-page .pi-local-research p { font-size:14px;line-height:1.65; }
/* Portfolio: un contenido por proyecto. Desktop: selector + panel; móvil: acordeón. */
.pi-local-page #contenido > .pi-local-portfolio { border-top:1px solid var(--local-line);padding-top:80px; }
.pi-local-page .pi-local-preview-note { font-size:12px;line-height:1.6;color:#666;margin-bottom:28px; }
.pi-local-page .pi-local-preview-note > span { font-weight:500;color:#111;padding-right:14px; }
.pi-local-page .pi-local-cases { border-top:1px solid var(--local-line);border-bottom:1px solid var(--local-line); }
.pi-local-page .pi-local-cases.is-desktop { display:grid;grid-template-columns:245px minmax(0,1fr); }
.pi-local-page .pi-local-cases-nav { border-right:1px solid var(--local-line); }
.pi-local-page .pi-local-case-tab { width:100%;min-height:82px;display:grid;grid-template-columns:24px minmax(0,1fr);gap:12px;padding:20px 18px;border:0;border-bottom:1px solid var(--local-line);background:transparent;text-align:left;cursor:pointer;position:relative;color:#111;transition:background-color .2s,color .2s; }
.pi-local-page .pi-local-case-tab:last-child { border-bottom:0; }
.pi-local-page .pi-local-case-tab strong { display:block;font-size:15px;line-height:1.25;font-weight:500; }
.pi-local-page .pi-local-case-tab small { display:block;font-size:10px;line-height:1.5;font-weight:300;margin-top:5px;opacity:.65; }
.pi-local-page .pi-local-case-tab[aria-selected=true] { color:#fff;background:#111;box-shadow:inset 3px 0 var(--pi-accent); }
.pi-local-page .pi-local-case-tab[aria-selected=true] .pi-local-index { color:rgba(255,255,255,.5); }
.pi-local-page .pi-local-case-tab:hover:not([aria-selected=true]) { background:#f5f5f2; }
.pi-local-page .pi-local-cases-panels { min-width:0; }
.pi-local-page .pi-local-case { border-bottom:1px solid var(--local-line); }
.pi-local-page .pi-local-case:last-child { border-bottom:0; }
.pi-local-page .pi-local-case > summary { min-height:82px;display:grid;grid-template-columns:26px minmax(0,1fr) 20px;gap:12px;align-items:center;cursor:pointer;list-style:none;padding:18px 0;color:#111;font-size:20px;line-height:1.25; }
.pi-local-page .pi-local-case > summary small { display:block;font-size:12px;margin-top:7px;color:#666; }
.pi-local-page .pi-local-cases.is-desktop .pi-local-case { border:0; }
.pi-local-page .pi-local-cases.is-desktop .pi-local-case > summary { display:none; }
.pi-local-page .pi-local-cases.is-desktop .pi-local-case-panel { padding:15px 0 26px 34px; }
.pi-local-page .pi-local-case-figure { margin:0; }
.pi-local-page .pi-local-case-figure img { display:block;width:100%;height:auto;max-height:570px;aspect-ratio:3184/2840;object-fit:contain;background:#fff; }
.pi-local-page .pi-local-case-figure figcaption { margin-top:2px;color:#747474;font-size:10px;line-height:1.5;text-align:right; }
.pi-local-page .pi-local-case-meta { padding-top:20px; }
.pi-local-page .pi-local-case-meta h3 { margin:8px 0 16px;color:#111;font-size:clamp(27px,3vw,36px);font-weight:400;line-height:1.15;letter-spacing:-.025em; }
.pi-local-page .pi-local-case-meta > p { font-size:15px;line-height:1.65; }
.pi-local-page .pi-local-case-meta > .pi-local-work { font-size:12px;color:#656565;margin-top:13px; }
.pi-local-page .pi-local-case-detail { margin-top:20px;border-top:1px solid var(--local-line);border-bottom:1px solid var(--local-line); }
.pi-local-page .pi-local-case-detail summary { display:flex;justify-content:space-between;align-items:center;min-height:43px;font-size:12px;cursor:pointer;list-style:none;color:#111; }
.pi-local-page .pi-local-case-detail > p { font-size:13px;line-height:1.6;padding-bottom:15px; }
.pi-local-page .pi-local-case-meta .pi-local-query-label { margin-top:21px;font-size:10px;letter-spacing:.1em;text-transform:uppercase;font-weight:500; }
.pi-local-page .pi-local-queries { list-style:none;display:flex;flex-wrap:wrap;gap:9px;margin:12px 0 0;padding:0; }
.pi-local-page .pi-local-queries li { display:flex;gap:10px;align-items:center;border:1px solid var(--local-line);padding:9px 13px;border-radius:2px;font-size:12px;line-height:1.5;color:#333;max-width:100%; }
.pi-local-page .pi-local-queries li span:last-child { overflow-wrap:anywhere; }
.pi-local-page .pi-local-case-meta .pi-local-case-date,.pi-local-page .pi-local-case-date { margin-top:17px;color:#747474;font-size:11px; }
.pi-local-page .pi-local-evidence-note { color:#747474;font-size:11px;line-height:1.7;margin:28px 0 0;max-width:900px; }
.pi-local-page .pi-local-plus { width:14px;height:14px;position:relative;display:block; }
.pi-local-page .pi-local-plus::before,.pi-local-page .pi-local-plus::after { content:'';position:absolute;background:currentColor;left:0;top:6px;width:14px;height:1px; }
.pi-local-page .pi-local-plus::after { transform:rotate(90deg);transition:transform .2s; }
.pi-local-page details[open] > summary .pi-local-plus::after { transform:rotate(0); }
.pi-local-page summary::-webkit-details-marker { display:none; }
/* Filas editoriales: proceso, tipologías y preguntas. */
.pi-local-page .pi-local-steps { list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px; }
.pi-local-page .pi-local-steps li { padding:24px 10px 15px 0;border-top:1px solid var(--local-line); }
.pi-local-page .pi-local-steps h3 { font-weight:400;font-size:23px;margin:25px 0 14px; }
.pi-local-page .pi-local-steps p { font-size:14px;line-height:1.7; }
.pi-local-page .pi-local-accordion { border-top:1px solid var(--local-line); }
.pi-local-page .pi-local-accordion > details { border-bottom:1px solid var(--local-line); }
.pi-local-page .pi-local-accordion > details > summary { list-style:none;display:flex;justify-content:space-between;gap:25px;align-items:center;padding:22px 0;cursor:pointer;font-weight:400;color:#111;font-size:19px;line-height:1.45; }
.pi-local-page .pi-local-accordion .pi-local-plus { flex-shrink:0; }
.pi-local-page .pi-local-accordion > details > p,.pi-local-page .pi-local-accordion > details > div { padding:0 26px 24px 0;font-size:15px;line-height:1.75; }
.pi-local-page .pi-local-accordion > details > div > p + p { margin-top:15px; }
.pi-local-page .pi-local-related { margin-top:30px;padding-top:24px;border-top:1px solid var(--local-line);font-size:14px;line-height:1.7; }
.pi-local-page .pi-local-related a { color:#111;text-decoration:underline;text-underline-offset:4px; }
.pi-local-page .pi-local-related > span { display:block;font-size:12px;margin-top:13px; }
.pi-local-page .pi-section-dark .pi-local-case-date { color:rgba(255,255,255,.5); }
@media (max-width:1199px) {
 .pi-local-page .pi-local-cases.is-desktop { grid-template-columns:220px minmax(0,1fr); }
 .pi-local-page .pi-local-cases.is-desktop .pi-local-case-panel { padding-left:26px; }
 .pi-local-page .pi-local-method .pi-ai-tabs { grid-template-columns:225px minmax(0,1fr); }
 .pi-local-page .pi-local-method .pi-ai-service-list.is-tabs .pi-ai-service-row { padding:30px 24px; }
}
@media (max-width:899px) {
 .pi-local-page .pi-local-hero { min-height:0;padding-top:150px; }
 .pi-local-page #contenido > .pi-section { padding:68px 0; }
 .pi-local-page .pi-local-case-panel { padding-bottom:28px; }
 .pi-local-page .pi-local-case-figure img { max-height:480px; }
 .pi-local-page .pi-local-case-meta { max-width:670px; }
 .pi-local-page .pi-local-steps { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .pi-local-page .pi-local-method .pi-ai-tabs { display:block; }
 .pi-local-page .pi-local-method .pi-ai-tablist { display:flex;flex-direction:row;overflow-x:auto;border-right:0;border-bottom:1px solid var(--local-line);scrollbar-width:thin; }
 .pi-local-page .pi-local-method .pi-ai-tab { flex:0 0 185px;min-height:76px;border-bottom:0;border-right:1px solid var(--local-line); }
 .pi-local-page .pi-local-method .pi-ai-service-list.is-tabs .pi-ai-service-row { min-height:0;padding:32px 0; }
}
@media (max-width:575px) {
 .pi-local-page .pi-local-hero { padding-top:122px; }
 .pi-local-page .pi-local-hero h1 { font-size:clamp(42px,10.8vw,60px); }
 .pi-local-page .pi-local-hero .pi-lead { font-size:16px; }
 .pi-local-page .pi-local-hero-note { font-size:13px; }
 .pi-local-page .pi-local-hero .pi-breadcrumbs { font-size:9px;line-height:1.65;gap:6px;margin-bottom:28px; }
 .pi-local-page .pi-local-actions { gap:24px;margin-top:27px; }
 .pi-local-page .pi-local-proof { display:grid;gap:7px;margin-top:30px; }
 .pi-local-page .pi-local-chapters { grid-template-columns:repeat(2,minmax(0,1fr));margin-top:28px; }
 .pi-local-page .pi-local-chapters a { min-height:55px;font-size:12px;border-bottom:1px solid rgba(255,255,255,.09); }
 .pi-local-page #contenido > .pi-section { padding:55px 0; }
 .pi-local-page .pi-local-intro { margin-bottom:28px; }
 .pi-local-page .pi-local-disciplines { grid-template-columns:1fr;gap:25px;margin-top:32px; }
 .pi-local-page .pi-local-research { grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 20px;margin-top:28px; }
 .pi-local-page .pi-local-research h3 { font-size:19px;margin-top:15px; }
 .pi-local-page .pi-local-research p { font-size:13px; }
 .pi-local-page .pi-local-case > summary { font-size:20px; }
 .pi-local-page .pi-local-case > summary small { font-size:11px; }
 .pi-local-page .pi-local-case-figure figcaption { text-align:left; }
 .pi-local-page .pi-local-case-meta h3 { font-size:29px; }
 .pi-local-page .pi-local-facts { gap:22px 20px; }
 .pi-local-page .pi-local-facts dd { font-size:13px; }
 .pi-local-page .pi-local-steps { gap:18px; }
 .pi-local-page .pi-local-steps h3 { font-size:21px;margin-top:19px; }
 .pi-local-page .pi-local-steps p { font-size:13px; }
 .pi-local-page .pi-local-accordion > details > summary { font-size:17px;padding:19px 0; }
 .pi-local-page .pi-local-accordion > details > div,.pi-local-page .pi-local-accordion > details > p { font-size:14px; }
 .pi-local-page .pi-local-method .pi-ai-service-body > p { font-size:15px; }
 .pi-local-page .pi-local-method .pi-ai-service-list.is-tabs .pi-ai-service-row { gap:14px;grid-template-columns:35px minmax(0,1fr); }
 .pi-local-page .pi-local-method .pi-ai-service-mark { width:34px;height:34px;padding:6px; }
}
@media (prefers-reduced-motion:reduce) {
 .pi-local-page #contenido *, .pi-local-page #contenido *::before,.pi-local-page #contenido *::after { scroll-behavior:auto!important;animation:none!important;transition:none!important; }
}
@media print {
 .pi-local-page .pi-local-case,.pi-local-page .pi-local-case-panel,.pi-local-page [data-method-panel] { display:block!important; }
 .pi-local-page .pi-local-cases { display:block!important; }
 .pi-local-page .pi-local-cases-nav,.pi-local-page .pi-ai-tablist { display:none!important; }
}

/* ==========================================================
   V3.29 · CASOS REALES · MINI CASOS EDITORIALES + FADE
   ----------------------------------------------------------
   Fondo blanco puro. La composición se entiende como una sola
   pieza editorial: izquierda = contexto + ficha; derecha = imagen.
   Sin flechas. Scroll y 01–09 cambian una ficha completa por fade.
   ========================================================== */
.pi-local-page #casos-reales.pi-local-portfolio-v2 {
  background:#fff;
  border-top:0;
  overflow:visible;
}
.pi-local-page #casos-reales.pi-local-portfolio-v2 > .pi-cases-v2__stage {
  position:relative;
}

/* Sticky desktop: el documento conserva recorrido vertical para los 9 casos,
   pero el escenario visual permanece fijo y cada caso entra por fade. */
.pi-local-page #casos-reales.pi-cases-scroll-mode {
  padding-top:0!important;
  padding-bottom:0!important;
}
.pi-local-page #casos-reales.pi-cases-scroll-mode > .pi-cases-v2__stage {
  position:sticky;
  top:0;
  height:100vh;
  height:100svh;
  box-sizing:border-box;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding-top:clamp(68px,8vh,92px);
  padding-bottom:clamp(22px,3vh,36px);
}

/* CABECERA: todo vive en la columna izquierda. La derecha queda limpia. */
.pi-local-page #casos-reales .pi-cases-v2__label {
  width:32.5%;
  margin-bottom:10px;
}
.pi-local-page #casos-reales .pi-cases-v2__head {
  width:32.5%;
  margin:0 0 clamp(18px,2.4vh,28px);
  padding-bottom:18px;
  border-bottom:1px solid rgba(0,0,0,.12);
}
.pi-local-page #casos-reales .pi-cases-v2__title {
  margin:0;
  max-width:390px;
  color:#111;
  font-size:clamp(29px,2.35vw,36px);
  line-height:1.06;
  font-weight:500;
  letter-spacing:-.035em;
}

.pi-local-page #casos-reales .pi-cases-v2 {
  position:relative;
  outline:0;
}

/* Contador dentro de la columna editorial izquierda. */
.pi-local-page #casos-reales .pi-cases-v2__controls {
  position:absolute;
  z-index:20;
  top:0;
  left:0;
  width:32.5%;
  min-height:42px;
  display:flex;
  align-items:flex-start;
  justify-content:flex-start;
  padding-top:0;
  pointer-events:none;
}
.pi-local-page #casos-reales .pi-cases-v2__counter {
  display:flex;
  align-items:baseline;
  gap:7px;
  font-size:11px;
  font-variant-numeric:tabular-nums;
  letter-spacing:.08em;
  color:rgba(0,0,0,.38);
}
.pi-local-page #casos-reales .pi-cases-v2__counter strong {
  color:#111;
  font-size:13px;
  font-weight:600;
}

.pi-local-page #casos-reales .pi-cases-v2__viewport {
  width:100%;
  overflow:visible;
  touch-action:pan-y pinch-zoom;
}
.pi-local-page #casos-reales .pi-cases-v2__track {
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr);
  width:100%;
}

/* DOS COLUMNAS: aprox. 33 / 67. Las nueve fichas ocupan la misma posición. */
.pi-local-page #casos-reales .pi-cases-v2__slide {
  grid-column:1;
  grid-row:1;
  width:100%;
  min-width:0;
  display:grid;
  grid-template-columns:minmax(270px,1fr) minmax(0,2fr);
  gap:clamp(36px,4.8vw,74px);
  align-items:center;
  min-height:clamp(475px,54vh,620px);
  padding:0;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  z-index:1;
  transition:opacity .42s ease,visibility 0s linear .42s;
}
.pi-local-page #casos-reales .pi-cases-v2__slide.is-active {
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  z-index:2;
  transition:opacity .42s ease,visibility 0s linear 0s;
}

/* IZQUIERDA · ficha editorial */
.pi-local-page #casos-reales .pi-cases-v2__copy {
  align-self:start;
  min-width:0;
  width:100%;
  max-width:390px;
  padding-top:54px;
}
.pi-local-page #casos-reales .pi-cases-v2__overline,
.pi-local-page #casos-reales .pi-cases-v2__query-label {
  display:block;
  color:rgba(0,0,0,.46);
  font-size:9px;
  font-weight:600;
  line-height:1.45;
  letter-spacing:.14em;
  text-transform:uppercase;
}

/* Nombre del proyecto: importante, pero no compite con la imagen. */
.pi-local-page #casos-reales .pi-cases-v2__copy h3 {
  margin:12px 0 12px;
  max-width:355px;
  color:#111;
  font-size:clamp(30px,2.25vw,38px);
  line-height:1.03;
  font-weight:500;
  letter-spacing:-.042em;
  text-wrap:balance;
}
.pi-local-page #casos-reales .pi-cases-v2__description {
  margin:0;
  max-width:372px;
  color:rgba(0,0,0,.62);
  font-size:14.5px;
  line-height:1.72;
  text-wrap:pretty;
}
.pi-local-page #casos-reales .pi-cases-v2__query-block {
  margin-top:22px;
  padding-top:16px;
  border-top:1px solid rgba(0,0,0,.12);
}
.pi-local-page #casos-reales .pi-cases-v2__query-label {
  margin-bottom:8px;
}
.pi-local-page #casos-reales .pi-cases-v2__query-group {
  display:grid;
  gap:7px;
}
.pi-local-page #casos-reales .pi-cases-v2__query {
  display:grid;
  grid-template-columns:18px minmax(0,1fr) auto auto;
  align-items:center;
  gap:8px;
  width:100%;
  min-height:42px;
  padding:8px 11px;
  border:1px solid rgba(0,0,0,.14);
  border-radius:2px;
  background:#fff;
  color:#333;
  font-size:11.5px;
  line-height:1.35;
  text-decoration:none;
  transition:border-color .28s ease,box-shadow .28s ease,transform .28s cubic-bezier(.16,1,.3,1),background-color .28s ease;
}
.pi-local-page #casos-reales .pi-cases-v2__query:hover,
.pi-local-page #casos-reales .pi-cases-v2__query:focus-visible {
  border-color:var(--pi-brand-live-color,#009fe3);
  box-shadow:inset 0 -2px var(--pi-brand-live-color,#009fe3);
  background:#fff;
  transform:translateX(3px);
}
.pi-local-page #casos-reales .pi-cases-v2__query-icon,
.pi-local-page #casos-reales .pi-cases-v2__query-arrow {
  color:var(--pi-brand-live-color,#009fe3);
  font-size:14px;
  line-height:1;
}
.pi-local-page #casos-reales .pi-cases-v2__query-arrow {
  transition:transform .25s ease;
}
.pi-local-page #casos-reales .pi-cases-v2__query:hover .pi-cases-v2__query-arrow {
  transform:translate(2px,-2px);
}
.pi-local-page #casos-reales .pi-cases-v2__query em {
  color:rgba(0,0,0,.5);
  font-size:10px;
  font-style:normal;
  font-weight:600;
  white-space:nowrap;
}

/* DERECHA · exclusivamente imagen. Sube hacia la zona liberada del antiguo
   texto introductorio para ganar presencia, siempre integrada en blanco. */
.pi-local-page #casos-reales .pi-cases-v2__visual {
  position:relative;
  min-width:0;
  min-height:clamp(505px,59vh,680px);
  margin:-112px 0 -24px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:visible;
}
.pi-local-page #casos-reales .pi-cases-v2__visual img {
  display:block;
  width:118%;
  max-width:none;
  height:clamp(525px,64vh,735px);
  object-fit:contain;
  object-position:center;
  background:transparent;
  transform:translateX(1.5%);
  filter:none;
  box-shadow:none;
  user-select:none;
  -webkit-user-drag:none;
}

/* Navegación 01–09: única navegación visual además del scroll. */
.pi-local-page #casos-reales .pi-cases-v2__dots {
  position:relative;
  z-index:10;
  display:grid;
  grid-template-columns:repeat(9,minmax(0,1fr));
  gap:0;
  margin-top:0;
  border-top:1px solid rgba(0,0,0,.12);
}
.pi-local-page #casos-reales .pi-cases-v2__dots button {
  position:relative;
  min-height:42px;
  margin:0;
  padding:11px 4px 0;
  border:0;
  background:transparent;
  color:rgba(0,0,0,.35);
  font-size:10px;
  font-variant-numeric:tabular-nums;
  cursor:pointer;
  transition:color .2s ease;
}
.pi-local-page #casos-reales .pi-cases-v2__dots button::before {
  content:"";
  position:absolute;
  top:-1px;
  left:0;
  width:100%;
  height:2px;
  background:var(--pi-brand-live-color,#009fe3);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .34s cubic-bezier(.16,1,.3,1);
}
.pi-local-page #casos-reales .pi-cases-v2__dots button.is-active,
.pi-local-page #casos-reales .pi-cases-v2__dots button:hover {
  color:#111;
}
.pi-local-page #casos-reales .pi-cases-v2__dots button.is-active::before {
  transform:scaleX(1);
}
.pi-local-page #casos-reales .pi-cases-v2__note {
  max-width:1080px;
  margin-top:7px;
  color:rgba(0,0,0,.4);
  font-size:9.25px;
  line-height:1.5;
}

@media (max-width:991px) {
  .pi-local-page #casos-reales .pi-cases-v2__label,
  .pi-local-page #casos-reales .pi-cases-v2__head { width:40%; }
  .pi-local-page #casos-reales .pi-cases-v2__controls { width:40%; }
  .pi-local-page #casos-reales .pi-cases-v2__slide {
    grid-template-columns:minmax(230px,.8fr) minmax(0,1.35fr);
    gap:28px;
    min-height:500px;
  }
  .pi-local-page #casos-reales .pi-cases-v2__copy h3 { font-size:clamp(29px,4vw,36px); }
  .pi-local-page #casos-reales .pi-cases-v2__visual {
    margin-top:-72px;
    min-height:475px;
  }
  .pi-local-page #casos-reales .pi-cases-v2__visual img {
    width:115%;
    height:clamp(430px,54vh,575px);
  }
}

@media (min-width:768px) and (max-height:760px) {
  .pi-local-page #casos-reales.pi-cases-scroll-mode > .pi-cases-v2__stage {
    padding-top:58px;
    padding-bottom:16px;
  }
  .pi-local-page #casos-reales .pi-cases-v2__label { margin-bottom:6px; }
  .pi-local-page #casos-reales .pi-cases-v2__head { margin-bottom:14px;padding-bottom:13px; }
  .pi-local-page #casos-reales .pi-cases-v2__title { font-size:29px; }
  .pi-local-page #casos-reales .pi-cases-v2__slide { min-height:405px; }
  .pi-local-page #casos-reales .pi-cases-v2__copy { padding-top:48px; }
  .pi-local-page #casos-reales .pi-cases-v2__copy h3 { font-size:32px; }
  .pi-local-page #casos-reales .pi-cases-v2__description { line-height:1.55; }
  .pi-local-page #casos-reales .pi-cases-v2__query-block { margin-top:14px;padding-top:12px; }
  .pi-local-page #casos-reales .pi-cases-v2__visual { min-height:420px;margin-top:-92px; }
  .pi-local-page #casos-reales .pi-cases-v2__visual img { height:470px; }
  .pi-local-page #casos-reales .pi-cases-v2__note { margin-top:3px; }
}

@media (max-width:767px) {
  .pi-local-page #casos-reales.pi-local-portfolio-v2 { overflow:hidden; }
  .pi-local-page #casos-reales .pi-cases-v2__label,
  .pi-local-page #casos-reales .pi-cases-v2__head,
  .pi-local-page #casos-reales .pi-cases-v2__controls { width:100%; }
  .pi-local-page #casos-reales .pi-cases-v2__head { margin-bottom:18px; }
  .pi-local-page #casos-reales .pi-cases-v2__controls {
    position:static;
    min-height:0;
    margin-bottom:12px;
  }
  .pi-local-page #casos-reales .pi-cases-v2__slide {
    grid-template-columns:1fr;
    gap:16px;
    align-items:start;
    min-height:0;
  }
  .pi-local-page #casos-reales .pi-cases-v2__copy {
    max-width:none;
    padding-top:0;
  }
  .pi-local-page #casos-reales .pi-cases-v2__copy h3 {
    max-width:520px;
    font-size:clamp(29px,7.5vw,38px);
  }
  .pi-local-page #casos-reales .pi-cases-v2__description { max-width:600px; }
  .pi-local-page #casos-reales .pi-cases-v2__query-block { margin-top:16px;padding-top:14px; }
  .pi-local-page #casos-reales .pi-cases-v2__visual {
    min-height:300px;
    margin:0;
    order:-1;
  }
  .pi-local-page #casos-reales .pi-cases-v2__visual img {
    width:116%;
    height:clamp(290px,46vh,450px);
    transform:none;
  }
  .pi-local-page #casos-reales .pi-cases-v2__dots {
    overflow-x:auto;
    grid-template-columns:repeat(9,54px);
    scrollbar-width:none;
  }
  .pi-local-page #casos-reales .pi-cases-v2__dots::-webkit-scrollbar { display:none; }
}

@media (max-width:575px) {
  .pi-local-page #casos-reales .pi-cases-v2__title { font-size:28px; }
  .pi-local-page #casos-reales .pi-cases-v2__visual { min-height:270px; }
  .pi-local-page #casos-reales .pi-cases-v2__visual img { height:clamp(260px,42vh,370px); }
  .pi-local-page #casos-reales .pi-cases-v2__query { font-size:11px; }
}

@media (prefers-reduced-motion:reduce) {
  .pi-local-page #casos-reales .pi-cases-v2__slide,
  .pi-local-page #casos-reales .pi-cases-v2__query,
  .pi-local-page #casos-reales .pi-cases-v2__dots button::before {
    transition:none!important;
  }
}


/* ==========================================================
   V3.32 · CTA FAQ · VISIBILIDAD DE FLECHA
   El botón oscuro del cierre FAQ usa círculo blanco + flecha negra.
   ========================================================== */
.pi-local-page #preguntas .pi-v2-faq-close .mil-button svg {
  background:#fff!important;
}
.pi-local-page #preguntas .pi-v2-faq-close .mil-button svg path {
  fill:#111!important;
}
