/* v9-fusion · capas, profundidad y movimiento de scroll (6-sep-2026)
   Paleta: Forest #0E3B2E · Moss #2F6B4A · Sage #88B097 · Lime #B8D66B · Cream #F5F2EA · Dark #0E1F18
   Tipos: Fraunces (display) · Inter Tight (texto) · Fragment Mono (etiquetas). Curva única .23,1,.32,1 */
:root{--v9-ease:cubic-bezier(.23,1,.32,1);--v9-sage-tint:#E4ECE4;}
html{scroll-behavior:auto;}
body{background:var(--cream);}

/* Capa 0: el hero queda fijado SOLO mientras la hoja del grito le pasa por encima (sticky acotado por .v9-pila) */
.v9-pila{position:relative;}
.portada{position:relative;z-index:0;}
.v9-pila .grito{position:relative;z-index:2;}
.portada .portada__grid{width:100%;will-change:transform,opacity,filter;transform-origin:50% 40%;}
.marco--hero{position:relative;overflow:hidden;will-change:transform;}
.marco--hero .hero__video{display:block;width:100%;height:100%;object-fit:cover;}

/* Capa 1: orbes de profundidad, detrás de las hojas transparentes */
.v9-capa{position:fixed;inset:0;z-index:1;pointer-events:none;overflow:hidden;}
.v9-orbe{position:absolute;border-radius:50%;filter:blur(80px);opacity:.5;mix-blend-mode:multiply;will-change:transform;}
.v9-orbe--a{width:54vw;height:54vw;left:-14vw;top:30vh;background:radial-gradient(circle,var(--lime) 0%,transparent 68%);}
.v9-orbe--b{width:48vw;height:48vw;right:-16vw;top:65vh;background:radial-gradient(circle,var(--sage) 0%,transparent 68%);}

/* Capa 2: las hojas. Transparentes para que el fondo del body y los orbes se vean a través */
main > section:not(.portada),main > .v9-pila > .grito{position:relative;z-index:2;}
.grito{background:var(--cream);}
.pain-points,.services-full,.cap,.camino,.about,.charla-seccion{background:transparent!important;}
.navbar{transform:none!important;}
.v9-pildora{display:none;} /* con el nav siempre visible, la píldora sobra; se conserva el código por si Fran la quiere */
.cta-final,.footer{position:relative;z-index:2;}

/* Grito sin animaciones (Fran): las líneas se ven desde el principio */
.grito__lineas .grito__l1,.grito__lineas .grito__l2{opacity:1!important;animation:none!important;}
.grito__flecha path{stroke-dashoffset:0!important;animation:none!important;}
.charla--grito{margin:clamp(40px,6vw,72px) auto 0;max-width:520px;}
.charla--grito .burbuja{animation-play-state:paused;}
.charla--grito.is-visible .burbuja{animation-play-state:running;}

/* Píldora flotante (referencia Grounded): reloj de Madrid y estado de Calajan */
.v9-pildora{position:fixed;top:14px;left:50%;transform:translateX(-50%);z-index:60;display:flex;align-items:center;gap:18px;padding:9px 16px 9px 18px;border-radius:999px;
  background:color-mix(in oklab,var(--dark) 78%,transparent);color:var(--cream);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
  font-family:var(--font-mono,'Fragment Mono',monospace);font-size:12px;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;
  transition:opacity .45s var(--v9-ease),transform .45s var(--v9-ease);}
.v9-pildora__marca{font-family:var(--font-display,'Fraunces',serif);font-style:italic;font-weight:460;text-transform:none;letter-spacing:0;font-size:17px;}
.v9-pildora__reloj{font-variant-numeric:tabular-nums;opacity:.85;}
.v9-pildora__estado{display:inline-flex;align-items:center;color:var(--lime);}
.v9-pildora__estado i{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--lime);margin-right:8px;animation:v9pulso 2.2s ease-out infinite;}
@keyframes v9pulso{0%{box-shadow:0 0 0 0 color-mix(in oklab,var(--lime) 70%,transparent);}100%{box-shadow:0 0 0 10px transparent;}}
.v9-pildora.is-oculta{opacity:0;transform:translate(-50%,-18px);pointer-events:none;}
@media (max-width:760px){.v9-pildora__reloj{display:none;}.v9-pildora{gap:12px;padding:8px 12px;}}

/* Palabras de los títulos (SplitText) */
.v9-w{display:inline-block;will-change:transform,opacity,filter;}

/* Reduced motion: sin capas móviles, sin fijado, sin orbes */
@media (prefers-reduced-motion:reduce){
  .portada{position:relative;}
  .v9-capa{display:none;}
  .v9-pildora__estado i{animation:none;}
  .charla--grito .burbuja{animation:none;opacity:1;transform:none;}
}

/* Entrada del hero al cargar */
.portada__title .v9-w{will-change:transform,opacity,filter;}

/* ===== Coherencia (6-sep, tras revisión de Fran) ===== */
.portada .btn-pill{background:var(--cream);color:var(--forest);}
.portada .btn-pill:hover{background:var(--lime);}
main section h2{font-family:var(--font-body);font-weight:800;text-transform:lowercase;letter-spacing:-0.03em;}
main section h2 em{font-family:var(--font-display);font-style:italic;font-weight:500;text-transform:none;letter-spacing:-0.01em;}
.cap__inner{max-width:1200px;}

/* ===== Capa HUD (referencia haoqi.design): datos en mono, rejilla fina, textos que se decodifican ===== */
.v9-rejilla{position:fixed;inset:0;z-index:1;pointer-events:none;
  background-image:linear-gradient(to right,color-mix(in oklab,var(--forest) 7%,transparent) 1px,transparent 1px);
  background-size:25% 100%;background-position:12.5% 0;opacity:.6;}
.portada{position:relative;}
.v9-hud{position:fixed;left:0;right:0;bottom:18px;z-index:40;transition:opacity .45s var(--v9-ease),transform .45s var(--v9-ease);display:flex;justify-content:space-between;align-items:center;padding:0 var(--pad-x,48px);
  font-family:var(--font-mono,'Fragment Mono',monospace);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:color-mix(in oklab,var(--cream) 62%,transparent);pointer-events:none;}
.v9-hud span{white-space:nowrap;}
.v9-hud .v9-hud__estado{display:inline-flex;align-items:center;gap:8px;color:var(--lime);}
.v9-hud .v9-hud__estado i{width:6px;height:6px;border-radius:50%;background:var(--lime);animation:v9pulso 2.2s ease-out infinite;}
.v9-hud__scroll{display:inline-flex;align-items:center;gap:8px;}
.v9-hud__scroll i{display:inline-block;width:1px;height:26px;background:currentColor;transform-origin:top;animation:v9scroll 1.8s cubic-bezier(.23,1,.32,1) infinite;}
@keyframes v9scroll{0%{transform:scaleY(0);opacity:0;}30%{opacity:1;}100%{transform:scaleY(1);opacity:0;}}
@media (max-width:760px){.v9-hud{font-size:10px;padding:0 20px;}.v9-hud__coord{display:none;}.v9-rejilla{background-size:50% 100%;background-position:25% 0;}}
@media (prefers-reduced-motion:reduce){.v9-hud__scroll i,.v9-hud .v9-hud__estado i{animation:none;}}

/* Ajustes tras captura (6-sep): h2 de v6 al estilo v3, pósit de «quiénes somos» sin estirar, hero con sitio para el HUD */
main .cap h2,main .cap h2 span{font-family:var(--font-body)!important;font-weight:800!important;text-transform:lowercase!important;letter-spacing:-0.03em!important;}
main .cap h2 em{font-family:var(--font-display)!important;font-style:italic!important;font-weight:500!important;text-transform:none!important;}
main .about .section-label,main .camino .section-label{display:inline-block;width:auto;}
.portada{min-height:100vh;display:flex;align-items:center;padding-bottom:84px!important;box-sizing:border-box;}

main .about .section-label,main .camino .section-label{align-self:flex-start;justify-self:start;width:auto!important;max-width:max-content;}

.portada{min-height:calc(100vh - var(--navbar-height,73px));}

.v9-hud.is-oculto{opacity:0;transform:translateY(10px);}
.portada{min-height:calc(100vh - var(--navbar-height,73px));padding-bottom:72px!important;}

/* Hero en crema (Fran, 6-sep): que no choque con el resto */
.portada{background:var(--cream)!important;}
.portada .portada__title{color:var(--forest);}
.portada .portada__title em{color:var(--moss);}
.portada .portada__sub{color:color-mix(in oklab,var(--forest) 78%,transparent);}
.portada .btn-pill{background:var(--forest);color:var(--cream);}
.portada .btn-pill:hover{background:var(--moss);color:var(--cream);}
.portada .portada__alt,.portada a:not(.btn-pill){color:var(--forest);}
.grito{background:transparent;}
.v9-hud{display:none!important;}

/* ===== Fondo como v3 (Fran, 6-sep): crema plano, sin orbes, sin rejilla, sin cambios de color ===== */
.v9-capa,.v9-rejilla{display:none!important;}
body{background:var(--cream)!important;}
.pain-points,.services-full,.cap,.camino,.about,.charla-seccion{background:revert!important;}

/* ===== Grito a dos columnas: texto a la izquierda, charla de Calajan a la derecha ===== */
.grito{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);grid-template-rows:auto auto;column-gap:clamp(32px,5vw,80px);align-items:center;max-width:1200px;margin-left:auto;margin-right:auto;}
.grito .grito__lineas{grid-column:1;grid-row:1;text-align:left;margin-left:0;margin-right:0;}
.grito .grito__lineas .grito__flecha{margin-left:0;}
.grito .grito__l2{transform:rotate(1deg);}
.grito .grito__parrafo{grid-column:1;grid-row:2;text-align:left;margin-left:0;max-width:46ch;}
.grito .charla--grito{grid-column:2;grid-row:1/3;margin:0;justify-self:end;max-width:460px;width:100%;}
.grito .grito__sticker{left:auto;right:calc(50% - 40px);top:12%;}
@media (max-width:900px){
  .grito{grid-template-columns:1fr;}
  .grito .charla--grito{grid-column:1;grid-row:3;justify-self:center;margin-top:40px;}
}

/* ===== Pulido de tarjetas: iconos en pastilla lima, jerarquía interior ===== */
.pain-card__icon,.service-card__icon{width:48px;height:48px;display:grid;place-items:center;border-radius:14px;background:color-mix(in oklab,var(--lime) 30%,white);color:var(--forest);margin-bottom:18px;transition:transform .35s var(--v9-ease),background .35s var(--v9-ease);}
.pain-card__icon svg,.service-card__icon svg{width:24px;height:24px;stroke-width:1.75;}
.pain-card:hover .pain-card__icon,.service-card:hover .service-card__icon{transform:rotate(-6deg) scale(1.06);background:var(--lime);}
.pain-card__title,.service-card h3{margin-top:0;}
.pain-card p,.service-card p{line-height:1.6;}
.service-card ul li{line-height:1.55;}
.service-card li .icon{width:16px;height:16px;background:none;border-radius:0;margin:0;display:inline-block;}

svg.service-card__icon{padding:12px;box-sizing:border-box;}

/* ===== Portada «Este es Calajan» (6-sep) ===== */
.portada__label{margin-bottom:18px;}
.portada__objeciones{list-style:none;display:flex;flex-wrap:wrap;gap:8px 18px;margin:22px 0 0;padding:0;font-family:var(--font-mono,'Fragment Mono',monospace);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:color-mix(in oklab,var(--forest) 72%,transparent);}
.portada__objeciones li::before{content:'✓';color:var(--moss);margin-right:7px;font-weight:700;}
.marco--hero{position:relative;}
.marco__postit{position:absolute;left:18px;bottom:18px;z-index:3;display:inline-block;padding:7px 12px;border-radius:3px;background:var(--lime);color:var(--forest);font-family:var(--font-mono,'Fragment Mono',monospace);font-size:11px;letter-spacing:.1em;text-transform:uppercase;transform:rotate(-2deg);box-shadow:0 6px 18px rgba(14,31,24,.18);}
/* capacidades de Calajan */
.capacidades__marco{margin-top:clamp(36px,5vw,64px);}
.capacidades{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;}
.capacidad p{font-size:15px;}
.portada .portada__title{font-size:clamp(38px,5.1vw,74px);}
.portada__micro{flex-basis:100%;margin:10px 0 0;font-family:var(--font-mono,'Fragment Mono',monospace);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:color-mix(in oklab,var(--forest) 60%,transparent);}

/* ===== Home en 9 bloques (6-sep) ===== */
.que-hacemos{padding:clamp(56px,8vw,110px) var(--pad-x,48px);}
.que-hacemos__grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:clamp(32px,5vw,80px);align-items:center;}
.que-hacemos__intro{margin:16px 0 26px;font-size:clamp(16px,1.3vw,19px);line-height:1.6;color:color-mix(in oklab,var(--forest) 78%,transparent);max-width:52ch;}
.piezas{list-style:none;margin:0 0 26px;padding:0;display:grid;gap:10px;}
.pieza-qh a{display:grid;grid-template-columns:44px 1fr;grid-template-rows:auto auto;column-gap:14px;align-items:center;padding:12px 14px;border-radius:14px;background:#fff;border:1.5px solid color-mix(in oklab,var(--forest) 12%,transparent);color:var(--forest);text-decoration:none;transition:transform .35s cubic-bezier(.23,1,.32,1),box-shadow .35s cubic-bezier(.23,1,.32,1);}
.pieza-qh a:hover{transform:translateX(4px);box-shadow:0 12px 30px color-mix(in oklab,var(--forest) 12%,transparent);}
.pieza-qh__icono{grid-row:1/3;width:44px;height:44px;display:grid;place-items:center;border-radius:12px;background:color-mix(in oklab,var(--lime) 30%,white);}
.pieza-qh__icono svg{width:22px;height:22px;}
.pieza-qh__nombre{font-family:var(--font-body);font-weight:800;letter-spacing:-.02em;font-size:17px;}
.pieza-qh__que{font-family:var(--font-display);font-style:italic;font-size:15px;color:var(--moss);}
.charla--qh{margin:0;justify-self:end;max-width:460px;width:100%;}
.charla--qh .burbuja{animation-play-state:paused;}
.charla--qh.is-visible .burbuja{animation-play-state:running;}
.btn-pill--forest{background:var(--forest);color:var(--cream);}
.btn-pill--forest:hover{background:var(--moss);color:var(--cream);}
@media (max-width:900px){.que-hacemos__grid{grid-template-columns:1fr;}.charla--qh{justify-self:center;}}
/* capacidades en tira dentro del sistema */
.capacidades__titulo{font-family:var(--font-body);font-weight:800;text-transform:lowercase;letter-spacing:-.03em;font-size:clamp(24px,2.6vw,34px);margin:clamp(40px,5vw,64px) 0 18px;}
.capacidades__titulo em{font-family:var(--font-display);font-style:italic;font-weight:500;text-transform:none;letter-spacing:-.01em;}
.capacidades--tira{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;}
.capacidades--tira .pain-card{padding:18px 18px 16px;}
.capacidades--tira .pain-card__icon{width:38px;height:38px;margin-bottom:12px;}
.capacidades--tira .pain-card__icon svg{width:20px;height:20px;}
.capacidades--tira .pain-card__title{font-size:17px;}
.capacidades--tira .capacidad p{font-size:14px;line-height:1.5;}
.capacidades__pie{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin-top:22px;}
.capacidades__aprende{max-width:62ch;font-size:15px;line-height:1.55;color:color-mix(in oklab,var(--forest) 75%,transparent);}
/* packs teaser */
.packs-teaser__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin:26px 0 26px;}
.pack .oferta__nombre{text-transform:none;}
.pack__precio{margin:6px 0 10px;font-family:var(--font-mono,'Fragment Mono',monospace);font-size:13px;letter-spacing:.04em;color:var(--forest);}
.pack__precio strong{font-size:22px;font-family:var(--font-display);font-weight:500;letter-spacing:-.01em;}
.pack__nota{margin-top:10px;font-family:var(--font-mono,'Fragment Mono',monospace);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--forest);background:var(--lime);display:inline-block;padding:5px 10px;border-radius:3px;transform:rotate(-1.5deg);}
.pack--estrella{border-color:var(--lime);box-shadow:0 0 0 3px color-mix(in oklab,var(--lime) 45%,transparent);}
/* blog en la home */
.blog-teaser{margin-top:clamp(48px,6vw,80px);}
.blog-teaser__grid{margin:18px 0 22px;}
.blog-card a{display:block;color:inherit;text-decoration:none;}
.blog-card__fecha{display:block;font-family:var(--font-mono,'Fragment Mono',monospace);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--moss);margin-bottom:10px;}
.blog-card .pain-card__title{font-size:19px;text-transform:none;}
.blog-card__leer{display:inline-block;margin-top:10px;font-weight:700;color:var(--moss);}
/* datos + calculadora, pegados */
#calculadora{padding-top:0;}

.siglas{text-transform:none!important;}

main .cap h2 .siglas,main section h2 .siglas,.siglas{text-transform:none!important;}

.packs__compromisos{max-width:70ch;margin:0 0 22px;font-size:15px;line-height:1.6;color:color-mix(in oklab,var(--forest) 78%,transparent);}

.blog-teaser__grid{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;}
/* blog en la home, v2: portada, tema, fecha */
.blog-teaser__hdr{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px;}
.blog-teaser__todos{font-weight:700;color:var(--moss);text-decoration:none;border-bottom:1px solid color-mix(in oklab,var(--moss) 40%,transparent);}
.blog-card{list-style:none;background:#fff;border:1.5px solid color-mix(in oklab,var(--forest) 12%,transparent);border-radius:18px;overflow:hidden;box-shadow:0 18px 44px color-mix(in oklab,var(--forest) 8%,transparent);transition:transform .4s cubic-bezier(.23,1,.32,1),box-shadow .4s cubic-bezier(.23,1,.32,1);}
.blog-card:hover{transform:translateY(-6px) rotate(-.4deg);box-shadow:0 26px 60px color-mix(in oklab,var(--forest) 16%,transparent);}
.blog-card a{display:flex;flex-direction:column;height:100%;color:var(--forest);text-decoration:none;}
.blog-card__portada{display:block;aspect-ratio:16/10;overflow:hidden;background:color-mix(in oklab,var(--sage) 25%,white);}
.blog-card__portada img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.23,1,.32,1);}
.blog-card:hover .blog-card__portada img{transform:scale(1.04);}
.blog-card__meta{display:flex;align-items:center;gap:10px;padding:16px 18px 0;font-family:var(--font-mono,'Fragment Mono',monospace);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--moss);}
.blog-card__tema{background:color-mix(in oklab,var(--lime) 55%,white);color:var(--forest);padding:4px 9px;border-radius:999px;}
.blog-card__titulo{margin:10px 18px 0;font-family:var(--font-display);font-weight:500;font-size:19px;line-height:1.25;letter-spacing:-.01em;text-transform:none;}
.blog-card__leer{display:inline-block;margin:14px 18px 18px;font-weight:700;color:var(--moss);}

/* móvil: la columna del hero no puede crecer por el pósit en nowrap (6-sep) */
@media (max-width:960px){
.portada__grid{grid-template-columns:minmax(0,1fr);}
}
/* el pósit va en una sola línea siempre (Fran, 6-sep); en móvil se encoge para caber */
main .portada__label{white-space:nowrap;}
@media (max-width:480px){
main .portada__label{font-size:8.6px;letter-spacing:.04em;padding:6px 10px;}
}

/* pósit del vídeo fuera de la imagen, pegado al borde inferior del marco (Fran, 6-sep) */
.marco--hero{overflow:visible;}
.marco--hero .hero__video,.marco--hero::after{border-radius:inherit;}
.marco--hero .marco__postit{bottom:-13px;left:50%;transform:translateX(-50%) rotate(-2deg);white-space:nowrap;}
@media (max-width:960px){
.marco--hero{margin-bottom:20px;}
}
/* hero un poco más cerca de la barra (Fran, 6-sep: «pero poco») */
.portada{padding-top:calc(var(--navbar-height) + clamp(24px,5vh,60px));}
@media (min-width:961px){.portada{padding-bottom:108px!important;}}
main .portada__label{margin-bottom:28px;}
/* botón y enlace secundario siempre en la misma fila (Fran, 6-sep) */
main .portada__acciones{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:24px;align-items:center;}
main .portada__acciones .portada__alt{white-space:nowrap;justify-self:start;}
main .portada__acciones .portada__micro{grid-column:1/-1;}
@media (max-width:600px){
main .portada__acciones{grid-template-columns:1fr;row-gap:16px;}
main .portada__acciones .portada__alt{white-space:normal;}
}
@media (min-width:961px){main .portada__micro{white-space:nowrap;letter-spacing:.06em;}}

.portada{overflow-x:clip;}

/* sello de tinta en la esquina del vídeo: «Empleado del mes · 3 meses seguidos» (Fran, 6-sep) */
.marco__sello{position:absolute;right:-38px;top:-38px;z-index:5;width:178px;height:178px;padding:0 12px;border-radius:50%;border:4px solid var(--forest);color:var(--forest);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;text-align:center;font-family:var(--font-body,'Inter Tight',sans-serif);font-weight:800;font-size:10.5px;letter-spacing:.03em;text-transform:uppercase;line-height:1.25;mix-blend-mode:multiply;pointer-events:none;opacity:0;transform:rotate(12deg) scale(2.2);}
.marco__sello::before{content:'';position:absolute;inset:6px;border-radius:50%;border:2px solid var(--forest);}
.marco__sello-sub{font-size:10px;letter-spacing:.08em;padding-top:7px;border-top:2px solid var(--forest);}
.marco__sello{animation:sellar .45s cubic-bezier(.2,.9,.3,1.2) 3s forwards;}
@keyframes sellar{to{opacity:.92;transform:rotate(-8deg) scale(1);}}
@media (prefers-reduced-motion:reduce){.marco__sello{animation:none;opacity:.92;transform:rotate(-8deg);}}
/* Qué hacemos: charla a la izquierda, texto a la derecha (Fran, 6-sep) */
@media (min-width:961px){
.que-hacemos__grid{grid-template-columns:minmax(0,.95fr) minmax(0,1.1fr);}
.que-hacemos__texto{order:2;}
.que-hacemos .charla--qh{order:1;}
}
/* menos aire entre secciones (Fran, 6-sep) */
main .que-hacemos,main .cap,main .camino,main .pain-points,main .about,main .cta-final{padding-top:clamp(32px,4vw,48px);padding-bottom:clamp(32px,4vw,48px);}
@media (min-width:961px){.portada{padding-bottom:48px!important;}}

/* Qué hacemos = sistema + Calajan en un solo bloque (Fran, 6-sep) */
.que-hacemos .piezas--fila{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:clamp(28px,4vw,44px) 0 26px;}
.que-hacemos .piezas--fila .pieza-qh a{grid-template-columns:1fr;grid-template-rows:auto auto 1fr;row-gap:8px;padding:18px;height:100%;align-items:start;}
.que-hacemos .piezas--fila .pieza-qh__icono{grid-row:auto;}
.que-hacemos .piezas--fila .pieza-qh a:hover{transform:translateY(-4px);}
.calajan-fila{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(24px,4vw,48px);align-items:start;}
.calajan-fila .capacidades--junto{grid-template-columns:repeat(2,minmax(0,1fr));}
.calajan-fila .charla--qh{order:0;justify-self:start;max-width:none;position:sticky;top:96px;}
@media (max-width:960px){.que-hacemos .piezas--fila{grid-template-columns:repeat(2,minmax(0,1fr));}.calajan-fila{grid-template-columns:1fr;}.calajan-fila .charla--qh{position:static;}}
@media (max-width:600px){.que-hacemos .piezas--fila{grid-template-columns:1fr;}.calajan-fila .capacidades--junto{grid-template-columns:1fr;}}
/* tarjetas del problema: icono y título en la misma fila (Fran, 6-sep) */
.pain-points .pain-card{display:grid;grid-template-columns:48px minmax(0,1fr);column-gap:14px;row-gap:10px;align-items:center;}
.pain-points .pain-card__icon{margin-bottom:0;grid-column:1;grid-row:1;}
.pain-points .pain-card__title{grid-column:2;grid-row:1;margin:0;}
.pain-points .pain-card p{grid-column:1/-1;margin:0;}

/* el problema como un día: hora + escena + «me pasa» (Fran, 6-sep) */
.pain-card.dia{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:22px 22px 18px;border:1.5px solid transparent;transition:border-color .25s var(--v9-ease),background .25s var(--v9-ease);will-change:transform;}
.pain-card.dia.dia--si{border-color:var(--lime);background:color-mix(in oklab,var(--lime) 14%,white);}
.pain-card .dia__hora{font-family:var(--font-display);font-weight:500;font-size:clamp(34px,3.2vw,44px);line-height:1;letter-spacing:-.02em;color:var(--forest);font-variant-numeric:tabular-nums;margin:0;}
.pain-card .dia__escena{margin:0;max-width:none;font-size:15.5px;line-height:1.55;color:color-mix(in oklab,var(--forest) 78%,transparent);flex:1;}
.dia__marca{display:inline-flex;align-items:center;gap:8px;margin-top:6px;font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:color-mix(in oklab,var(--forest) 70%,transparent);cursor:pointer;user-select:none;}
.dia__marca input{appearance:none;width:18px;height:18px;margin:0;border-radius:5px;border:1.5px solid color-mix(in oklab,var(--forest) 45%,transparent);background:#fff;display:grid;place-items:center;cursor:pointer;transition:background .2s var(--v9-ease),border-color .2s var(--v9-ease);}
.dia__marca input::before{content:'';width:10px;height:10px;border-radius:2px;background:var(--forest);transform:scale(0);transition:transform .18s var(--v9-ease);}
.dia__marca input:checked{background:var(--lime);border-color:var(--forest);}
.dia__marca input:checked::before{transform:scale(1);}
.dia__marca input:focus-visible{outline:2px solid var(--lime);outline-offset:2px;}
.dia__cuenta{margin:26px 0 0;display:flex;align-items:center;gap:20px;padding:12px 22px 12px 18px;border-radius:16px;background:#fff;border:1.5px solid color-mix(in oklab,var(--forest) 10%,transparent);box-shadow:0 10px 30px color-mix(in oklab,var(--forest) 6%,transparent);font-size:16px;line-height:1.4;color:var(--forest);}
.dia__num{display:inline-flex;align-items:baseline;gap:2px;flex:none;font-family:var(--font-display);font-weight:500;color:var(--forest);}
.dia__num strong{font-size:38px;line-height:1;font-weight:500;}
.dia__de{font-size:16px;color:color-mix(in oklab,var(--forest) 55%,transparent);}
.dia__msg{color:var(--forest);}
main .pain-points .dia__cuenta{max-width:none;width:100%;}
@media (min-width:1360px){.dia__msg{white-space:nowrap;}}
.pain-card .dia__titulo{font-family:var(--font-display);font-weight:500;font-size:clamp(21px,1.9vw,26px);line-height:1.15;letter-spacing:-.015em;color:var(--forest);margin:0;}
/* frases enteras por línea en la intro del problema (Fran, 6-sep) */
main .pain-points__intro{max-width:none;}
/* subrayado de rotulador lima, ligeramente torcido como los pósits (Fran, 6-sep) */
.subraya{background-image:linear-gradient(100deg,transparent 0 3%,color-mix(in oklab,var(--lime) 85%,white) 3% 97%,transparent 97%);background-repeat:no-repeat;background-size:0% .36em;background-position:0 100%;padding:0 .12em .1em;margin:0 -.12em;color:var(--forest);transition:background-size .75s cubic-bezier(.45,0,.55,1);}
.subraya.is-dibujado{background-size:100% .36em;}
@media (prefers-reduced-motion:reduce){.subraya{background-size:100% .36em;transition:none;}}
.dia__link{color:var(--forest);font-weight:700;border-bottom:2px solid var(--lime);text-decoration:none;}
.dia__link:hover{background:color-mix(in oklab,var(--lime) 40%,transparent);}
.calc__pista{margin:8px 0 0;font-size:13px;line-height:1.5;color:color-mix(in oklab,var(--forest) 62%,transparent);}
main .calculadora .cap__intro,main #calculadora .cap__intro{max-width:none;}
.calc__fuente{margin:4px 0 0;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:color-mix(in oklab,var(--forest) 45%,transparent);}

/* Qué hacemos = respuestas a los seis dolores, mismos títulos (Fran, 6-sep) */
.respuestas{margin-top:clamp(24px,3vw,36px);}
.dia__marca--fija{cursor:default;}
.dia__check--fijo{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:5px;border:1.5px solid var(--forest);background:var(--lime);}
.dia__check--fijo::before{content:'';width:10px;height:10px;border-radius:2px;background:var(--forest);}
.calajan-fila--diagrama{align-items:center;}
.sistema__derecha .diagrama{margin-top:0;max-width:none;}
.sistema__lectura{margin:22px 0 0;font-size:16px;line-height:1.6;color:color-mix(in oklab,var(--forest) 78%,transparent);}
.dia__marca--link{cursor:pointer;color:var(--forest);text-decoration:none;border-bottom:1.5px solid transparent;transition:border-color .2s var(--v9-ease);}
.dia__marca--link:hover{border-bottom-color:var(--forest);}
/* pie de las respuestas: tick lima + «tiene arreglo» y debajo el servicio (Fran, 6-sep) */
.resp__ok{display:inline-flex;align-items:center;gap:8px;margin-top:8px;font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--moss);}
.resp__tick{width:22px;height:22px;border-radius:50%;background:var(--lime);padding:4px;fill:none;stroke:var(--forest);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;flex:none;}
.resp__servicio{margin:6px 0 0;font-weight:700;font-size:15px;color:var(--forest);}
.resp__servicio a{color:var(--forest);text-decoration:none;border-bottom:2px solid var(--lime);transition:background .2s var(--v9-ease);}
.resp__servicio a:hover{background:color-mix(in oklab,var(--lime) 40%,transparent);}
.respuestas__cta{margin-top:28px;}
.capacidades__pie{justify-content:flex-start;}
/* H2 de Qué hacemos: la segunda frase entera en su línea (Fran, 6-sep) */
#qh-title{max-width:none;}
@media (min-width:1200px){#qh-title em{display:block;white-space:nowrap;font-size:.9em;}}

/* ===== El sistema, contado con la charla (C pro, 6/7-sep) ===== */
  /* mini web */
  .miniweb{border-radius:10px;border:1px solid color-mix(in oklab,var(--forest) 14%,transparent);overflow:hidden;background:var(--cream)}
  .miniweb__bar{height:16px;background:#e9ebe4;display:flex;gap:4px;align-items:center;padding:0 8px}
  .miniweb__bar i{width:6px;height:6px;border-radius:50%;background:#c9cfc3;display:block}
  .miniweb__body{padding:12px 12px 14px}
  .miniweb__h{height:9px;width:70%;background:var(--forest);border-radius:3px;margin-bottom:6px}
  .miniweb__t{height:5px;width:90%;background:#cfd6c8;border-radius:3px;margin-bottom:4px}
  .miniweb__t.s{width:60%;margin-bottom:10px}
  .miniweb__btn{display:inline-block;background:var(--lime);color:var(--forest);font:700 9px/1 var(--font-body);padding:6px 9px;border-radius:999px}
  /* mini whatsapp */
  .miniwa{background:#f4f7f1;border-radius:10px;padding:10px;display:flex;flex-direction:column;gap:6px}
  .miniwa p{margin:0;max-width:88%;font-size:11px;line-height:1.35;padding:6px 8px;border-radius:9px;background:#fff}
  .miniwa p.c{align-self:flex-end;background:color-mix(in oklab,var(--lime) 45%,white)}
  .miniwa time{display:block;font-family:var(--font-mono);font-size:8px;color:#8a948b;text-align:right;margin-top:2px}
  /* mini agenda */
  .miniag{border-radius:10px;border:1px solid color-mix(in oklab,var(--forest) 14%,transparent);overflow:hidden;font-size:10px}
  .miniag__d{background:var(--forest);color:var(--cream);font-family:var(--font-mono);font-size:9px;letter-spacing:.08em;text-transform:uppercase;padding:6px 8px}
  .miniag__r{display:flex;gap:8px;padding:5px 8px;border-top:1px solid #e6eae2;color:#8a948b}
  .miniag__r b{font-family:var(--font-mono);font-weight:400;color:#8a948b}
  .miniag__r.ok{background:color-mix(in oklab,var(--lime) 35%,white);color:var(--forest);font-weight:700}
  .miniag__r.ok b{color:var(--forest)}
  /* mini crm */
  .minicrm{border-radius:10px;border:1px solid color-mix(in oklab,var(--forest) 14%,transparent);overflow:hidden;font-size:10px}
  .minicrm__h,.minicrm__r{display:grid;grid-template-columns:1.2fr 1fr .9fr;gap:6px;padding:6px 8px}
  .minicrm__h{font-family:var(--font-mono);font-size:8.5px;letter-spacing:.08em;text-transform:uppercase;color:#8a948b;background:#f4f7f1}
  .minicrm__r{border-top:1px solid #e6eae2;color:#8a948b}
  .minicrm__r.nuevo{color:var(--forest);font-weight:700;background:color-mix(in oklab,var(--lime) 22%,white)}
  .minicrm__tag{display:inline-block;font-size:8.5px;padding:2px 6px;border-radius:999px;background:var(--lime);color:var(--forest);font-weight:700}
  .nota{position:relative;max-width:280px;font-size:15px;line-height:1.45;color:var(--forest)}
  .nota .postit{display:inline-block;padding:6px 10px;border-radius:3px;background:var(--lime);color:var(--forest);font-family:var(--font-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;transform:rotate(-2deg);margin-bottom:8px;box-shadow:0 6px 18px rgba(14,31,24,.15)}
  .lado--der .nota .postit{transform:rotate(1.5deg)}
  .nota p{margin:0}
  /* ===== C · pro ===== */
  .pro{position:relative;display:grid;grid-template-columns:300px 460px 340px;gap:44px;align-items:start;justify-content:center;padding:36px 0 50px}
  .pro__svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;fill:none;stroke:var(--forest);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;opacity:.9}
  .pro__svg path{stroke-dasharray:1;stroke-dashoffset:1}
  .pro .nota{opacity:0;transform:rotate(-6deg) scale(1.25);transition:none}
  .pro .nota .postit{margin-bottom:8px}
  .pro__col{display:flex;flex-direction:column;gap:22px}
  .pro__col--izq{padding-top:60px;text-align:right;align-items:flex-end}
  .pro__col--der{padding-top:30px}
  .canales{display:flex;flex-direction:column;gap:8px;width:100%}
  .canal{display:flex;align-items:center;gap:10px;justify-content:flex-end;padding:10px 14px;border-radius:12px;background:#fff;border:1.5px solid color-mix(in oklab,var(--forest) 12%,transparent);font-size:13.5px;color:color-mix(in oklab,var(--forest) 70%,transparent);transition:border-color .3s,color .3s,box-shadow .3s}
  .canal i{font-style:normal;width:24px;height:24px;border-radius:7px;display:grid;place-items:center;background:color-mix(in oklab,var(--lime) 35%,white);font-size:12px;font-weight:800;color:var(--forest)}
  .canal.on{border-color:var(--lime);color:var(--forest);box-shadow:0 8px 24px color-mix(in oklab,var(--lime) 30%,transparent)}
  .pro .charla{margin:0;width:460px;min-height:420px}
  .pro .charla .burbuja{opacity:0;transform:translateY(8px)}
  .escribiendo{display:none;align-self:flex-start;gap:4px;padding:10px 12px;border-radius:14px;background:#fff;width:52px}
  .escribiendo i{width:6px;height:6px;border-radius:50%;background:#9aa69c;display:block;animation:pulsa 1s infinite}
  .escribiendo i:nth-child(2){animation-delay:.15s}.escribiendo i:nth-child(3){animation-delay:.3s}
  .escribiendo.on{display:flex}
  @keyframes pulsa{0%,100%{opacity:.3;transform:translateY(0)}50%{opacity:1;transform:translateY(-2px)}}
  .pro .charla__pie{opacity:0}
  .charla--pro .burbuja{animation:none!important;}
  .pro .miniag,.pro .minicrm{font-size:12px;background:#fff;opacity:.55;transition:opacity .4s}
  .pro .miniag.on,.pro .minicrm.on{opacity:1}
  .pro .miniag__r,.pro .minicrm__r{padding:7px 10px}
  .pro .miniag__r.ok{background:transparent;color:#8a948b;font-weight:400}.pro .miniag__r.ok b{color:#8a948b}
  .pro .miniag.on .miniag__r.ok{background:color-mix(in oklab,var(--lime) 35%,white);color:var(--forest);font-weight:700}.pro .miniag.on .miniag__r.ok b{color:var(--forest)}
  .pro .minicrm__r.nuevo{display:none}.pro .minicrm.on .minicrm__r.nuevo{display:grid}
  .resumen{opacity:0;transform:translateY(14px);background:var(--forest);color:var(--cream);border-radius:16px;padding:14px 16px;box-shadow:0 18px 40px color-mix(in oklab,var(--forest) 25%,transparent)}
  .resumen__hdr{display:flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--lime);margin-bottom:8px}
  .resumen__hdr i{width:8px;height:8px;border-radius:50%;background:var(--lime);display:block}
  .resumen p{margin:0;font-size:14px;line-height:1.5}
  .resumen p b{color:var(--lime)}
  .lead{position:absolute;width:16px;height:16px;border-radius:50%;background:var(--lime);border:3px solid var(--forest);box-shadow:0 0 0 6px color-mix(in oklab,var(--lime) 35%,transparent);opacity:0;offset-rotate:0deg;pointer-events:none}

  .pro__otra{margin-top:18px;text-align:center}
  @media (max-width:1180px){.pro{grid-template-columns:1fr;justify-items:center}.pro__col--izq{text-align:left;align-items:flex-start;padding-top:0}.pro .charla{width:100%;max-width:460px}.canal{justify-content:flex-start}.pro__svg,.lead{display:none}}
.pro__lead{margin:-6px 0 6px;font-size:clamp(16px,1.3vw,19px);line-height:1.6;color:color-mix(in oklab,var(--forest) 78%,transparent);}
.canal i svg{width:15px;height:15px;color:var(--forest);}
.canal i.canal__go{background:#fff;border:1px solid #e6eae2;}
.pro__col--izq .resumen{text-align:left;margin-top:10px;}
.canal i.canal__logo{background:transparent;border:0;width:26px;height:26px;}
.canal i.canal__logo svg{width:24px;height:24px;}
.canal i.canal__go{background:#fff;border:1px solid #e6eae2;border-radius:7px;}
.canal i.canal__go svg{width:16px;height:16px;}
.charla--pro .charla__badge{left:auto;right:18px;transform:rotate(2deg);}
/* avatar: la cabeza ocupa el 29 % de alto y el 51 % de ancho de la imagen (768×1376); se posiciona a mano para centrarla */
.charla__avatar{position:relative;width:56px;height:56px;}
.charla__avatar-img{position:static;width:56px;height:56px;transform:none;object-fit:cover;object-position:center;}
.pro .nota{max-width:300px;}
.lead{display:none;}
.pro .miniag__r--ocupada{color:color-mix(in oklab,var(--forest) 70%,transparent);}
.pro .miniag__r--ocupada b{color:color-mix(in oklab,var(--forest) 70%,transparent);}
/* ticks de WhatsApp en los mensajes del cliente (7-sep) */
.ticks{display:inline-block;width:16px;height:11px;margin-left:4px;vertical-align:-1px;opacity:0;transition:opacity .2s;}
.ticks svg{width:16px;height:11px;fill:none;stroke:#9aa69c;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;}
.ticks .t2{opacity:0;transition:opacity .2s;}
.burbuja.tick-1 .ticks{opacity:1;}
.burbuja.tick-2 .ticks .t2{opacity:1;}
.burbuja.tick-azul .ticks svg{stroke:#53bdeb;}
.pro .miniag .miniag__ocupa{display:none;}
.pro .miniag.on .miniag__libre{display:none;}
.pro .miniag.on .miniag__ocupa{display:inline;}
.packs__camino{margin:28px 0 14px;font-size:clamp(16px,1.3vw,19px);line-height:1.6;color:var(--forest);}
/* bloque Sistemas (antes packs), 7-sep */
.pack__resultado{font-family:var(--font-display);font-size:clamp(19px,1.6vw,23px);line-height:1.25;letter-spacing:-.01em;color:var(--forest);margin:6px 0 12px;}
.pack__piezas{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-direction:column;gap:7px;font-size:15px;line-height:1.45;color:color-mix(in oklab,var(--forest) 78%,transparent);}
.pack__piezas li{padding-left:22px;position:relative;}
.pack__piezas li::before{content:'';position:absolute;left:0;top:.5em;width:12px;height:12px;border-radius:50%;background:var(--lime);}
.packs__compromisos{margin-top:22px;}
.packs__compromisos-t{font-weight:800;color:var(--forest);margin:0 0 8px;}
.packs__compromisos ul{list-style:none;margin:0 0 22px;padding:0;display:flex;flex-direction:column;gap:6px;font-size:15.5px;line-height:1.5;color:color-mix(in oklab,var(--forest) 78%,transparent);}
.packs__compromisos ul li{padding-left:22px;position:relative;}
.packs__compromisos ul li::before{content:'✓';position:absolute;left:0;color:var(--moss);font-weight:700;}
.pack__arregla{display:inline-block;margin:4px 0 10px;padding:5px 10px;border-radius:999px;background:color-mix(in oklab,var(--lime) 45%,white);color:var(--forest);font-family:var(--font-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;}
.pack__piezas{font-size:14.5px;}
.packs__garantia{margin:26px 0 22px;font-size:16px;line-height:1.6;color:var(--forest);}
.packs-teaser .btn-pill{margin-top:28px;}
.packs-teaser .pack{position:relative;}
.packs-teaser .pack--estrella .pack__nota{position:absolute;top:-15px;left:50%;transform:translateX(-50%) rotate(-2deg);margin:0;white-space:nowrap;z-index:2;}
.pack__bloqueado{margin:-6px 0 8px;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--moss);}
.pack__nota-icono{font-size:14px;margin-right:6px;vertical-align:-1px;letter-spacing:0;}
.packs-teaser .pack--estrella .pack__nota{display:inline-flex;align-items:center;white-space:nowrap;}

/* tarjetas de sistemas, más cuidadas (Fran, 7-sep) */
.packs-teaser .pack{display:flex;flex-direction:column;padding:28px 26px 24px;border-radius:22px;background:#fff;border:1.5px solid color-mix(in oklab,var(--forest) 10%,transparent);box-shadow:0 18px 44px color-mix(in oklab,var(--forest) 7%,transparent);transition:transform .35s var(--v9-ease),box-shadow .35s var(--v9-ease);}
@media (hover:hover) and (pointer:fine){.packs-teaser .pack:hover{transform:translateY(-4px);box-shadow:0 26px 56px color-mix(in oklab,var(--forest) 12%,transparent);}}
.packs-teaser .oferta__ref{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--moss);margin:0 0 6px;}
.packs-teaser .oferta__nombre{font-family:var(--font-body);font-weight:800;letter-spacing:-.03em;font-size:clamp(26px,2.2vw,32px);margin:0 0 10px;}
.packs-teaser .pack__resultado{margin:0 0 18px;}
.packs-teaser .pack__precio{display:flex;align-items:center;flex-wrap:wrap;gap:10px 12px;margin:0 0 10px;}
.packs-teaser .pack__precio strong{transform:translateY(2px);}
.packs-teaser .pack__precio strong{font-family:var(--font-display);font-weight:500;font-size:clamp(34px,3vw,42px);line-height:1;letter-spacing:-.02em;color:var(--forest);}
.pack__mes{display:inline-block;padding:5px 11px;border-radius:999px;background:color-mix(in oklab,var(--lime) 40%,white);color:var(--forest);font-family:var(--font-mono);font-size:11.5px;letter-spacing:.04em;}
.packs-teaser .pack__bloqueado{margin:2px 0 6px;}
.packs-teaser .pack__piezas{margin-top:16px;gap:9px;flex:1;}
.packs-teaser .pack__piezas li{padding-left:26px;}
.packs-teaser .pack__piezas li::before{content:'✓';width:17px;height:17px;top:.15em;border-radius:50%;background:var(--lime);color:var(--forest);font-size:10px;font-weight:800;display:grid;place-items:center;}
.pack__cta{display:inline-block;margin-top:22px;font-weight:700;font-size:15px;color:var(--forest);text-decoration:none;border-bottom:2px solid var(--lime);align-self:flex-start;}
.pack__cta:hover{background:color-mix(in oklab,var(--lime) 40%,transparent);}
/* la recomendada, en verde bosque */
.packs-teaser .pack--estrella{background:var(--forest);color:var(--cream);border-color:var(--forest);}
.packs-teaser .pack--estrella .oferta__ref{color:var(--lime);}
.packs-teaser .pack--estrella .oferta__nombre,.packs-teaser .pack--estrella .pack__resultado,.packs-teaser .pack--estrella .pack__precio strong,.packs-teaser .pack--estrella .pack__cta{color:var(--cream);}
.packs-teaser .pack--estrella .pack__mes{background:var(--lime);}
.packs-teaser .pack--estrella .pack__bloqueado{color:var(--lime);}
.packs-teaser .pack--estrella .pack__piezas{color:color-mix(in oklab,var(--cream) 85%,transparent);}
.packs-teaser .pack--estrella .pack__cta:hover{background:color-mix(in oklab,var(--lime) 25%,transparent);}
.pack__plazo{display:inline-block;padding:5px 11px;border-radius:999px;border:1.5px solid color-mix(in oklab,var(--forest) 22%,transparent);color:var(--forest);font-family:var(--font-mono);font-size:11.5px;letter-spacing:.04em;}
.packs-teaser .pack--estrella .pack__plazo{border-color:color-mix(in oklab,var(--cream) 40%,transparent);color:var(--cream);}
.packs-teaser .oferta__nombre{margin-top:4px;}
.packs-teaser .pack__precio{flex-wrap:nowrap;}
.packs-teaser .pack__precio strong{font-size:clamp(30px,2.6vw,36px);}
.pack__mes{font-size:11px;letter-spacing:.02em;padding:5px 10px;white-space:nowrap;}
.packs-teaser .pack__precio{align-items:baseline;gap:8px;}
.packs-teaser .pack__precio strong{font-size:clamp(34px,3vw,42px);transform:none;}
.packs-teaser .pack__mes{background:transparent;padding:0;border-radius:0;font-size:11.5px;letter-spacing:0;color:color-mix(in oklab,var(--forest) 70%,transparent);}
.packs-teaser .pack--estrella .pack__mes{background:transparent;color:color-mix(in oklab,var(--cream) 80%,transparent);}
.packs-teaser .pack__precio{flex-wrap:nowrap;margin-bottom:0;}
.packs-teaser .pack__precio strong{white-space:nowrap;}
.pack__plazo-linea{margin:10px 0 0;}
.packs-teaser .pack__bloqueado{margin:10px 0 0;}
.packs-teaser .pack__piezas{margin-top:18px;}
.packs-teaser .pack__mes{font-size:11px;}
.packs-teaser .pack__precio{flex-wrap:wrap;align-items:baseline;gap:4px 0;}
.packs-teaser .pack__mes{flex-basis:100%;font-family:var(--font-body);font-size:16px;font-weight:600;letter-spacing:-.01em;color:var(--forest);}
.packs-teaser .pack--estrella .pack__mes{color:var(--cream);}
/* Quiénes somos: título más contenido y botón a su tamaño (7-sep) */
main .about .about__cta{display:inline-flex;width:max-content;margin:30px auto 0;align-self:center;}
main .about .about__content{display:flex;flex-direction:column;}
main .about .about__visual{transform:translateY(-56px);}
/* blog más cuidado (Fran, 7-sep): portada a sangre, alturas iguales, enlace abajo, zoom al pasar */
.blog-teaser__grid{align-items:stretch;}
.blog-card{display:flex;}
.blog-card > a{display:flex;flex-direction:column;width:100%;padding:0;color:inherit;text-decoration:none;}
.blog-card__portada{display:block;width:100%;aspect-ratio:16/10;margin:0;border-radius:0;overflow:hidden;}
.blog-card__portada img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s var(--v9-ease);}
@media (hover:hover) and (pointer:fine){.blog-card:hover .blog-card__portada img{transform:scale(1.04);}.blog-card:hover{transform:translateY(-4px);}}
.blog-card{transition:transform .35s var(--v9-ease),box-shadow .35s var(--v9-ease);}
.blog-card__titulo{font-size:20px;}
.blog-card__leer{margin-top:auto;padding-top:14px;}
main .blog-card{padding:0;}
.blog-card__meta{padding:18px 20px 0;}
.blog-card__titulo{margin:10px 20px 0;}
.blog-card__leer{margin:auto 20px 20px;}
.blog-card__meta .blog-card__fecha{display:inline;margin:0;line-height:1;}
.blog-card__meta{align-items:center;}
/* cierre: Calajan a la derecha del título y título en dos líneas si hace falta (7-sep) */
.cta-final .calajan-peek{right:2vw;}
.cta-final h2{font-size:clamp(34px,4vw,58px);max-width:none;margin:0;text-wrap:initial;}
main .cta-final.cta-final--centered .calajan-peek,.cta-final .calajan-peek{bottom:0!important;right:1vw;width:clamp(200px,20vw,300px)!important;height:auto;transform:none;}
.cta-final h2{max-width:none;}
@keyframes flota{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
/* cierre en dos columnas: texto a la izquierda, Calajan grande a la derecha (Fran, 7-sep) */
main .cta-final .cta-final__inner{max-width:1200px;margin:0 auto;}
main .cta-final .cta-final__content{text-align:center;max-width:960px;margin:0 auto;}
main .cta-final h2{font-size:clamp(32px,3.4vw,48px);white-space:nowrap;}
@media (max-width:960px){main .cta-final h2{white-space:normal;}}
main .cta-final .cta-final__content .section-label{justify-content:center;}
main .cta-final .cta-final__content p{margin-left:0;max-width:none;}
main .cta-final .cta-final__actions{justify-content:center;}
main .cta-final.cta-final--centered .calajan-peek,.cta-final .calajan-peek{right:0;width:clamp(200px,19.5vw,280px)!important;}
main .cta-final h2{font-size:clamp(32px,2.95vw,42px);}
main .cta-final{padding-top:104px;padding-bottom:104px;}
@media (max-width:960px){main .cta-final .cta-final__content{max-width:none;text-align:center;}main .cta-final .cta-final__actions{justify-content:center;}.cta-final h2 br{display:none;}main .cta-final .cta-final__content .section-label{justify-content:center;}}
main .cta-final h2{margin-bottom:18px;}
main .cta-final .cta-final__content p{font-size:clamp(17px,1.4vw,20px);}
/* cierre sin Calajan, título a lo grande en dos líneas (Fran, 7-sep) */
main .cta-final .calajan-peek{display:none;}
main .cta-final .cta-final__content{max-width:1200px;}
main .cta-final h2{font-size:clamp(36px,4.3vw,62px);line-height:1.02;}
main .cta-final{padding-top:88px;padding-bottom:88px;}
main .cta-final{padding-bottom:48px;}
.footer{padding-top:40px!important;}
.footer__top{padding-top:0;}

/* ── Interiores v9 (7-sep-2026): portada corta, índice de chips, bloques de servicio ── */
.portada--interior{min-height:0!important;display:block;padding:calc(var(--navbar-height) + clamp(28px,4vw,48px)) var(--pad-x) clamp(20px,3vw,36px)!important;}
.portada--interior .cap__inner{max-width:1200px;margin:0 auto;}
.portada--interior h1{font-family:var(--font-display);font-weight:430;font-variation-settings:"opsz" 144,"SOFT" 50;font-size:clamp(36px,4.8vw,66px);line-height:1.05;letter-spacing:-.02em;color:var(--forest);margin:0;}
.portada--interior h1 em{font-style:italic;color:var(--moss);display:block;}
.portada--interior .portada__sub{margin-top:18px;max-width:none;font-size:clamp(15.5px,1.25vw,18px);line-height:1.6;color:color-mix(in oklab,var(--forest) 78%,transparent);}
.indice{display:flex;flex-wrap:wrap;gap:10px;margin:26px 0 0;padding:0;list-style:none;}
.indice a{display:inline-block;padding:8px 14px;border-radius:999px;border:1.5px solid color-mix(in oklab,var(--forest) 18%,transparent);font-family:var(--font-mono);font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--forest);text-decoration:none;transition:background .2s var(--v9-ease),border-color .2s var(--v9-ease);}
.indice a:hover{background:var(--lime);border-color:var(--lime);}
.indice a.indice__pronto{opacity:.55;border-style:dashed;}
main .srv{padding-top:clamp(28px,3.5vw,44px);padding-bottom:clamp(28px,3.5vw,44px);}
.srv + .srv .cap__inner{border-top:1.5px solid color-mix(in oklab,var(--forest) 10%,transparent);padding-top:clamp(28px,3.5vw,44px);}
.srv__grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(28px,4vw,64px);align-items:center;}
.srv--inv .srv__grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);}
.srv--inv .srv__grid>.srv__texto{order:2;}
.srv--inv .srv__grid>.srv__visual{order:1;}
.srv__texto .cap__intro{max-width:none;}
.srv__precio{margin:18px 0 0;display:flex;flex-direction:column;align-items:flex-start;gap:4px;}
main .srv h2{font-size:clamp(30px,3.3vw,46px);}
main .srv h2 em{display:block;}
.srv__arregla a{white-space:nowrap;}
.srv__precio strong{font-family:var(--font-display);font-weight:500;font-size:clamp(26px,2.4vw,34px);letter-spacing:-.01em;color:var(--forest);}
.srv--pronto .srv__precio strong{font-size:clamp(20px,1.8vw,26px);color:color-mix(in oklab,var(--forest) 60%,transparent);}
.srv__tarifas{font-family:var(--font-mono);font-size:12px;letter-spacing:.04em;color:color-mix(in oklab,var(--forest) 70%,transparent);}
.srv__niveles{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px;}
.srv__niveles li{padding:7px 12px;border-radius:999px;background:color-mix(in oklab,var(--lime) 40%,white);font-family:var(--font-mono);font-size:11.5px;letter-spacing:.03em;color:var(--forest);white-space:nowrap;}
.srv__arregla{margin:16px 0 0;display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;font-size:15px;color:var(--forest);}
.srv__arregla .resp__ok{margin-top:0;}
.srv__arregla a{color:var(--forest);text-decoration:none;font-weight:700;border-bottom:2px solid var(--lime);transition:background .2s var(--v9-ease);}
.srv__arregla a:hover{background:color-mix(in oklab,var(--lime) 40%,transparent);}
.srv__piezas{list-style:none;margin:18px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:9px 22px;font-size:15px;line-height:1.45;color:color-mix(in oklab,var(--forest) 80%,transparent);}
.srv__piezas li{padding-left:22px;position:relative;}
.srv__piezas li::before{content:'';position:absolute;left:0;top:.5em;width:12px;height:12px;border-radius:50%;background:var(--lime);}
.srv__acciones{margin-top:24px;display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px;}
.srv__mas{font-size:14.5px;color:var(--forest);text-decoration:none;border-bottom:1.5px solid color-mix(in oklab,var(--forest) 30%,transparent);transition:border-color .2s var(--v9-ease);}
.srv__mas:hover{border-color:var(--forest);}
.srv__visual img{display:block;width:100%;height:auto;border-radius:18px;border:1.5px solid color-mix(in oklab,var(--forest) 12%,transparent);box-shadow:0 16px 38px color-mix(in oklab,var(--forest) 10%,transparent);transform:rotate(-1.5deg);}
.srv--inv .srv__visual img{transform:rotate(1.2deg);}
.srv__obra{aspect-ratio:1;border-radius:18px;border:2px dashed color-mix(in oklab,var(--forest) 30%,transparent);display:flex;align-items:center;justify-content:center;text-align:center;padding:28px;background:repeating-linear-gradient(-45deg,color-mix(in oklab,var(--lime) 35%,white) 0 14px,white 14px 28px);}
.srv__obra span{display:block;font-family:var(--font-mono);font-size:12px;line-height:1.7;letter-spacing:.14em;text-transform:uppercase;color:var(--forest);background:var(--cream);padding:12px 18px;border-radius:6px;transform:rotate(-2deg);box-shadow:0 10px 24px color-mix(in oklab,var(--forest) 12%,transparent);}
main .puente{padding-top:clamp(20px,3vw,36px);}
.puente .cap__inner{background:var(--forest);border-radius:22px;padding:clamp(28px,4vw,48px);}
main .puente h2,main .puente h2 em{color:var(--cream);}
main .puente h2 em{color:var(--lime);}
.puente .cap__intro{color:color-mix(in oklab,var(--cream) 82%,transparent);}
.puente .btn-pill{background:var(--lime);color:var(--forest);}
.puente .btn-pill:hover{background:var(--cream);}
@media(max-width:960px){.srv__grid,.srv--inv .srv__grid{grid-template-columns:1fr;}.srv--inv .srv__grid>.srv__texto{order:1;}.srv--inv .srv__grid>.srv__visual{order:2;}.srv__visual{max-width:420px;}.srv__piezas{grid-template-columns:1fr;}}
/* ── Página de sistemas (packs.html) ── */
.packs-pagina .packs-teaser__grid{margin-top:26px;}
.pasos__lista{list-style:none;margin:26px 0 0;padding:0;max-width:none;display:flex;flex-direction:column;gap:14px;}
.pasos__paso{width:100%;max-width:none;display:grid;grid-template-columns:38px minmax(0,.8fr) minmax(0,1.2fr);gap:18px 24px;align-items:start;position:relative;background:#fff;border:1.5px solid color-mix(in oklab,var(--forest) 12%,transparent);border-radius:16px;padding:26px 24px 22px 24px;box-shadow:0 16px 38px color-mix(in oklab,var(--forest) 8%,transparent);}
.pasos__num{display:inline-flex;margin-bottom:0!important;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:var(--lime);color:var(--forest);font-family:var(--font-display);font-size:20px;font-weight:500;margin-bottom:14px;}
.pasos__paso h3{font-family:var(--font-display);font-weight:500;font-size:clamp(20px,1.7vw,24px);line-height:1.2;letter-spacing:-.015em;color:var(--forest);margin:0;}
.pasos__paso p{margin:0;max-width:none;font-size:15px;line-height:1.55;color:color-mix(in oklab,var(--forest) 78%,transparent);}
.sist__grid{display:flex;flex-direction:column;gap:16px;margin-top:26px;}
.sist{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.25fr);gap:16px 40px;align-items:start;background:#fff;border:1.5px solid color-mix(in oklab,var(--forest) 12%,transparent);border-radius:16px;padding:26px 24px 24px;box-shadow:0 16px 38px color-mix(in oklab,var(--forest) 8%,transparent);}
.sist .oferta__nombre{font-family:var(--font-display);font-weight:500;font-size:24px;letter-spacing:-.01em;color:var(--forest);margin:0;}
.sist__para{margin:8px 0 0;max-width:none;font-size:15px;line-height:1.5;color:color-mix(in oklab,var(--forest) 74%,transparent);}
.sist__mes{margin:16px 0 0;display:flex;flex-direction:column;align-items:flex-start;gap:8px;}
.sist__mes strong{font-family:var(--font-display);font-weight:500;font-size:28px;letter-spacing:-.01em;color:var(--forest);}
.sist__mes .pack__bloqueado{margin:0;}
.sist__cubre-titulo{margin:4px 0 0;font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--moss);}
.sist .pack__piezas{margin-top:10px;}
.comp__lista{list-style:none;margin:26px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px;}
.comp__lista li{padding:20px 22px;border-radius:14px;background:color-mix(in oklab,var(--lime) 16%,white);border:1.5px solid color-mix(in oklab,var(--lime) 60%,transparent);font-size:15px;line-height:1.5;color:color-mix(in oklab,var(--forest) 80%,transparent);}
.comp__lista strong{font-family:var(--font-display);font-weight:500;font-size:19px;letter-spacing:-.01em;color:var(--forest);}
.pf__lista{margin-top:22px;display:flex;flex-direction:column;gap:10px;max-width:1000px;}
.pf__item{background:#fff;border:1.5px solid color-mix(in oklab,var(--forest) 12%,transparent);border-radius:14px;padding:0 22px;transition:border-color .2s var(--v9-ease);}
.pf__item[open]{border-color:var(--lime);}
.pf__item summary{cursor:pointer;list-style:none;padding:18px 0;font-family:var(--font-display);font-weight:500;font-size:clamp(18px,1.5vw,21px);letter-spacing:-.01em;color:var(--forest);display:flex;justify-content:space-between;align-items:center;gap:16px;}
.pf__item summary::-webkit-details-marker{display:none;}
.pf__item summary::after{content:'+';flex:none;width:28px;height:28px;border-radius:50%;background:var(--lime);color:var(--forest);display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-body);font-weight:700;transition:transform .2s var(--v9-ease);}
.pf__item[open] summary::after{transform:rotate(45deg);}
.pf__cuerpo{padding:0 0 20px;}
.pf__cuerpo p{margin:0;max-width:none;font-size:15.5px;line-height:1.6;color:color-mix(in oklab,var(--forest) 78%,transparent);}
.pf__cuerpo strong{color:var(--forest);}
.pf__cuerpo a{color:var(--forest);border-bottom:2px solid var(--lime);text-decoration:none;}
@media(max-width:960px){.comp__lista{grid-template-columns:1fr;}.pasos__paso{grid-template-columns:38px 1fr;}.pasos__paso p{grid-column:2;}.sist{grid-template-columns:1fr;}}
/* ── Nosotros, blog, contacto y legales ── */
.historia .cap__intro + .cap__intro{margin-top:16px;}
.historia__firma{margin:22px 0 0;font-family:var(--font-display);font-style:italic;font-size:clamp(19px,1.6vw,23px);line-height:1.35;color:var(--forest);}
.historia__firma span{display:block;margin-top:6px;font-family:var(--font-mono);font-style:normal;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--moss);}
.historia .about-founder{max-width:380px;margin:0 auto;}
.calajan__cita{margin:20px 0 0;padding:16px 20px;border-left:4px solid var(--lime);font-family:var(--font-display);font-style:italic;font-size:clamp(19px,1.6vw,23px);line-height:1.35;color:var(--forest);}
.calajan__cita footer{margin-top:6px;font-family:var(--font-mono);font-style:normal;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--moss);}
.srv__visual--limpio img{border:0;box-shadow:none;transform:none;background:transparent;max-width:440px;margin:0 auto;}
.blog-pagina__grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:0;}
main .cap h2.blog-card__titulo{text-transform:none!important;font-size:clamp(18px,1.5vw,21px)!important;}
@media(max-width:960px){.blog-pagina__grid{grid-template-columns:1fr 1fr;}}
@media(max-width:640px){.blog-pagina__grid{grid-template-columns:1fr;}}
main .cal-section{padding-top:clamp(28px,3.5vw,44px);border-top:0;}
main .cal-section .cal-picker{margin-top:22px;}
main .cal-section__grid{margin-left:0;grid-template-columns:minmax(0,1fr);}
main .cal-section__calajan{width:100%;max-width:300px;margin-top:0;align-self:end;}
main .contact-section{padding-top:clamp(28px,3.5vw,44px);}
.escribe__wa{color:var(--forest);font-weight:700;text-decoration:none;border-bottom:2px solid var(--lime);}
.escribe__grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:clamp(28px,4vw,56px);margin-top:26px;align-items:start;}
.escribe .contact-form-wrap{background:#fff;border:1.5px solid color-mix(in oklab,var(--forest) 12%,transparent);border-radius:16px;padding:clamp(20px,2.4vw,32px);box-shadow:0 16px 38px color-mix(in oklab,var(--forest) 8%,transparent);}
.escribe__lado{padding-top:6px;}
.escribe__lado .sist__cubre-titulo{margin:0 0 10px;}
.escribe__lado .sist__cubre-titulo + .sist__cubre-titulo,.escribe__nota + .sist__cubre-titulo{margin-top:28px;}
.escribe__enlace{display:block;font-family:var(--font-display);font-weight:500;font-size:clamp(19px,1.6vw,23px);color:var(--forest);text-decoration:none;margin-bottom:8px;border-bottom:0;}
.escribe__enlace:hover{color:var(--moss);}
.escribe__nota{margin:14px 0 0;font-size:14.5px;line-height:1.55;color:color-mix(in oklab,var(--forest) 70%,transparent);}
.escribe__pasos{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px;counter-reset:p;}
.escribe__pasos li{position:relative;padding-left:40px;font-size:14.5px;line-height:1.5;color:color-mix(in oklab,var(--forest) 76%,transparent);counter-increment:p;}
.escribe__pasos li::before{content:counter(p);position:absolute;left:0;top:0;width:28px;height:28px;border-radius:50%;background:var(--lime);color:var(--forest);display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:15px;}
.escribe__pasos strong{color:var(--forest);font-weight:700;}
@media(max-width:960px){.escribe__grid{grid-template-columns:1fr;}}
.legal__texto{max-width:820px;}
main .legal__texto h2{font-family:var(--font-display)!important;font-weight:500!important;text-transform:none!important;letter-spacing:-.01em!important;font-size:clamp(22px,2vw,28px)!important;margin:34px 0 10px;color:var(--forest);}
main .legal__texto h3{font-family:var(--font-body);font-weight:700;font-size:17px;margin:22px 0 6px;color:var(--forest);}
.legal__texto p,.legal__texto li{font-size:15.5px;line-height:1.65;color:color-mix(in oklab,var(--forest) 78%,transparent);max-width:none;}
.legal__texto p{margin:0 0 12px;}
.legal__texto ul{margin:0 0 14px 20px;}
.legal__texto a{color:var(--forest);border-bottom:2px solid var(--lime);text-decoration:none;}
.legal__texto table{width:100%;border-collapse:collapse;font-size:14.5px;margin:12px 0 18px;}
.legal__texto th,.legal__texto td{text-align:left;padding:10px 12px;border-bottom:1.5px solid color-mix(in oklab,var(--forest) 12%,transparent);vertical-align:top;}
.legal__texto th{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--moss);}
.inner-page main .cap h2 em{display:block;}
.porque__texto{max-width:none;margin-top:6px;}
.porque__texto .cap__intro{max-width:none;font-size:16.5px;}
.porque__texto .cap__intro + .cap__intro{margin-top:16px;}
.historia__yo{grid-template-columns:minmax(0,1.45fr) minmax(0,.55fr);margin-top:clamp(28px,3.5vw,44px);padding-top:clamp(24px,3vw,36px);border-top:1.5px solid color-mix(in oklab,var(--forest) 10%,transparent);}
.historia__yo .sist__cubre-titulo{margin:0 0 10px;}
.historia__yo .cap__intro{max-width:none;}
.escribe__canales{display:flex;flex-direction:column;gap:14px;}
.escribe__canal{display:block;background:#fff;border:1.5px solid color-mix(in oklab,var(--forest) 12%,transparent);border-radius:16px;padding:22px 24px;text-decoration:none;color:var(--forest);box-shadow:0 16px 38px color-mix(in oklab,var(--forest) 8%,transparent);transition:transform .2s var(--v9-ease),border-color .2s var(--v9-ease);}
.escribe__canal:hover{transform:translateY(-3px);border-color:var(--lime);}
.escribe__canal .sist__cubre-titulo{margin:0 0 6px;}
.escribe__canal strong{display:block;font-family:var(--font-display);font-weight:500;font-size:clamp(24px,2.2vw,32px);letter-spacing:-.01em;line-height:1.1;}
.escribe__canal-nota{display:block;margin-top:10px;font-size:15px;line-height:1.5;color:color-mix(in oklab,var(--forest) 72%,transparent);}
.escribe__canal:first-child{background:color-mix(in oklab,var(--lime) 18%,white);border-color:var(--lime);}
main .cal-section .cal-embed-wrap{min-height:0;}
main .cal-section{padding-bottom:0;}
main .cal-section .cal-section__grid{margin-top:14px;}
main .escribe{padding-top:clamp(16px,2vw,28px);}
/* cinta de obra sobre la imagen del servicio que aún no existe */
.srv__visual{position:relative;}
.srv__obra-tag{position:absolute;left:-18px;right:-18px;bottom:16%;z-index:3;
  display:block;text-align:center;padding:11px 0;
  background:var(--lime);color:var(--forest);
  font-family:var(--font-mono);font-size:12.5px;letter-spacing:.22em;text-transform:uppercase;font-weight:700;
  border-top:7px solid;border-bottom:7px solid;
  border-image:repeating-linear-gradient(45deg,var(--forest) 0 9px,var(--lime) 9px 18px) 7;
  transform:rotate(-1.5deg);
  box-shadow:0 10px 26px color-mix(in oklab,var(--forest) 28%,transparent);}
.srv--inv .srv__obra-tag{transform:rotate(1.2deg);}
@media(max-width:960px){.srv__obra-tag{font-size:11px;letter-spacing:.16em;padding:9px 0;left:-12px;right:-12px;}}
/* página de Madrid: bloques pensados para que la citen buscadores e IAs */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}
main .resumen-pro{padding-top:0;padding-bottom:clamp(24px,3vw,36px);}
.resumen-pro__grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(24px,3.5vw,52px);align-items:center;}
.resumen-pro__def{margin:0;font-size:clamp(16px,1.3vw,18.5px);line-height:1.6;color:color-mix(in oklab,var(--forest) 82%,transparent);}
.resumen-pro__def strong{color:var(--forest);}
.resumen-pro__visual img{display:block;width:100%;height:auto;border-radius:18px;border:1.5px solid color-mix(in oklab,var(--forest) 12%,transparent);box-shadow:0 16px 38px color-mix(in oklab,var(--forest) 10%,transparent);transform:rotate(1.2deg);}
.tabla-pro{margin-top:22px;overflow-x:auto;background:#fff;border:1.5px solid color-mix(in oklab,var(--lime) 55%,transparent);border-radius:16px;}
.tabla-pro table{width:100%;border-collapse:collapse;font-size:15.5px;}
.tabla-pro th,.tabla-pro td{padding:14px 18px;text-align:left;border-bottom:1.5px solid color-mix(in oklab,var(--forest) 10%,transparent);white-space:nowrap;}
.tabla-pro thead th{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--moss);}
.tabla-pro tbody th{font-family:var(--font-display);font-weight:500;font-size:19px;color:var(--forest);}
.tabla-pro tbody td{color:color-mix(in oklab,var(--forest) 80%,transparent);}
.tabla-pro tbody tr:last-child th,.tabla-pro tbody tr:last-child td{border-bottom:0;}
.puente .tabla-pro{background:color-mix(in oklab,var(--cream) 96%,white);border-color:var(--lime);}
.pf__item summary h3{display:inline;margin:0;font:inherit;color:inherit;}
main .fecha-pro{padding-top:0;padding-bottom:clamp(20px,2.5vw,30px);}
.fecha-pro__txt{margin:0;font-family:var(--font-mono);font-size:11.5px;letter-spacing:.06em;color:color-mix(in oklab,var(--forest) 55%,transparent);}
@media(max-width:960px){.resumen-pro__grid{grid-template-columns:1fr;}}
/* sectores, glosario y zona en la página de Madrid */
.sectores__lista li strong{display:block;margin-bottom:4px;}
.sectores__nota{margin-top:20px;}
.glosario__lista{margin:24px 0 0;max-width:900px;}
.glosario__lista dt{font-family:var(--font-display);font-weight:500;font-size:clamp(20px,1.8vw,25px);letter-spacing:-.01em;color:var(--forest);margin-top:22px;}
.glosario__lista dt:first-child{margin-top:0;}
.glosario__lista dd{margin:6px 0 0;font-size:16px;line-height:1.6;color:color-mix(in oklab,var(--forest) 80%,transparent);border-left:3px solid var(--lime);padding-left:16px;}
main .zona{padding-bottom:clamp(28px,3.5vw,44px);}
.zona .cap__intro,.sectores .cap__intro,.glosario .cap__intro,.madrid-que .cap__intro,.puente .cap__intro{max-width:none;}
/* móvil: el sello del hero no puede salirse de la pantalla */
@media(max-width:640px){
  .marco__sello{width:132px;height:132px;right:-14px;top:-46px;padding:0 9px;gap:5px;border-width:3px;}
  .marco__sello::before{inset:5px;border-width:2px;}
  .marco__sello-sub{font-size:8.5px;padding-top:5px;}
}
@media(max-width:640px){.marco--hero .marco__postit{font-size:8.6px;letter-spacing:.04em;padding:6px 10px;}}
/* móvil: la tabla de precios se lee como tarjetas, sin arrastrar */
@media(max-width:640px){
  .tabla-pro{overflow:visible;border:0;background:transparent;border-radius:0;margin-top:18px;}
  .tabla-pro table,.tabla-pro tbody,.tabla-pro tr,.tabla-pro th,.tabla-pro td{display:block;width:auto;}
  .tabla-pro thead{display:none;}
  .tabla-pro tbody tr{background:#fff;border:1.5px solid color-mix(in oklab,var(--lime) 55%,transparent);border-radius:14px;padding:16px 18px;margin-bottom:12px;}
  .tabla-pro tbody tr:last-child{margin-bottom:0;}
  .tabla-pro tbody th{border:0;padding:0 0 10px;font-size:21px;}
  .tabla-pro tbody td{border:0;padding:4px 0;white-space:normal;font-size:15px;}
  .tabla-pro tbody td::before{content:attr(data-l) ": ";font-family:var(--font-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--moss);}
}
/* móvil: zonas de toque cómodas y tarifas legibles */
@media(max-width:640px){
  .indice a{padding:12px 16px;font-size:12px;}
  .srv__mas{display:inline-block;padding:10px 0;}
  .srv__tarifas{font-size:13px;}
  .respuestas__cta a,.srv__acciones .btn-pill{min-height:48px;display:inline-flex;align-items:center;}
}
@media(max-width:640px){.portada__alt,.pack__cta{display:inline-flex;align-items:center;min-height:44px;}}
/* móvil: con el menú abierto, la barra tiene que verse (el botón nace crema sobre el vídeo) */
body:has(.navbar__mobile.is-open) .navbar{background:var(--cream)!important;backdrop-filter:none;border-bottom:1.5px solid color-mix(in oklab,var(--forest) 12%,transparent);}
body:has(.navbar__mobile.is-open) .navbar__burger{color:var(--forest)!important;}
body:has(.navbar__mobile.is-open) .navbar__logo{opacity:1!important;pointer-events:auto;}
/* el hero del index ya es crema: el botón de menú y el logo tienen que verse desde arriba */
body:not(.inner-page) .navbar__burger{color:var(--forest)!important;}
body:not(.inner-page) .navbar__logo{opacity:1!important;pointer-events:auto;}
/* móvil: primero el vídeo de Calajan, después el texto */
@media(max-width:960px){
  .portada__grid{display:flex;flex-direction:column;align-items:stretch;}
  .portada__grid > .marco--hero{order:-1;width:100%;margin-bottom:clamp(28px,6vw,44px);}
  .portada__grid > .portada__texto{width:100%;}
}
/* móvil: el pósit de sección viaja encima del vídeo (lo coloca js/v9.js, sin duplicar contenido) */
@media(max-width:960px){.portada__grid > .portada__label{order:-2;align-self:flex-start;margin:0 0 14px;}}
/* móvil: fuera el micro del hero y menos aire hasta la sección siguiente */
@media(max-width:640px){
  .portada__micro{display:none;}
  .portada{padding-bottom:24px!important;}
}
/* móvil: el sistema se lee 1 · conversación · 2 · 3 · 4, de arriba a abajo */
@media(max-width:960px){
  #pro .pro__col{display:contents;}
  #pro > #n1, #pro #n1{order:1;}
  #pro #canales{order:2;}
  #pro #chatP{order:3;}
  #pro #n2{order:4;}
  #pro #agendaP{order:5;}
  #pro #n3{order:6;}
  #pro #crmP{order:7;}
  #pro #n4{order:8;}
  #pro #resumenP{order:9;}
  #pro-otra{display:none;}
}
/* móvil: en quiénes somos, la foto va antes del botón */
@media(max-width:960px){
  main .about .about__grid{display:flex;flex-direction:column;}
  main .about .about__content{display:contents;}
  main .about .about__content > h2{order:1;}
  main .about .about__content > p{order:2;}
  main .about .about__visual{order:3;transform:none;margin:22px 0 6px;}
  main .about .about__cta{order:4;align-self:center;}
}
@media(max-width:960px){main .about .blog-teaser{display:none;}}
/* reserva: mismos márgenes laterales que el resto de la página */
main .cal-section{padding-left:var(--pad-x);padding-right:var(--pad-x);}
main .cal-section .cap__inner{margin-left:auto;margin-right:auto;}
@media(max-width:640px){main .cal-section .cal-picker{justify-content:center;}}
/* móvil, servicios: primero se ve la foto y después el precio y el detalle */
@media(max-width:960px){
  .srv__grid{display:flex;flex-direction:column;}
  .srv__texto{display:contents;}
  .srv__texto > .section-label{order:1;}
  .srv__texto > h2{order:2;}
  .srv__texto > .cap__intro{order:3;}
  .srv__visual{order:4;margin:6px 0 18px;max-width:none;}
  .srv__texto > .srv__precio{order:5;}
  .srv__texto > .srv__niveles{order:6;}
  .srv__texto > .srv__arregla{order:7;}
  .srv__texto > .srv__piezas{order:8;}
  .srv__texto > .srv__acciones{order:9;}
}
@media(max-width:960px){
  .srv__texto > .sist__cubre-titulo{order:1;}
  .srv__texto > .historia__firma{order:6;}
  .srv__texto > .calajan__cita{order:6;}
}
@media(max-width:960px){.srv--inv .srv__grid > .srv__visual,.srv--inv .srv__visual{order:4;}.srv--inv .srv__grid > .srv__texto{order:initial;}}
@media(max-width:640px){main .portada{padding-top:calc(var(--navbar-height) + 14px);}}

/* 126 · en el cierre de los artículos el <br> separa dos frases, no es un salto estético: en móvil tiene que seguir cortando (regla de una frase por línea) */
@media (max-width:960px){.cta-final h2 br.br-frase{display:block;}}

/* 127 · Contraste. Lighthouse marcaba 8 textos por debajo del mínimo legible
   (entre 2,53 y 3,94 cuando hace falta 4,5). Son grises y verdes claros sobre
   crema en textos pequeños: se oscurecen lo justo para pasar el umbral sin
   tocar la jerarquía visual, porque parte del público pasa de los cincuenta. */
.dia__de{color:#5c7369;}
.calc__pista{color:#4c665c;}
.calc__aviso{color:#4f6a60;}
.calc__formula{color:#4a635a;}
.calc__fuente{color:#4a635a;}
.charla__estado{color:#12793c;}

/* 128 · Los dos últimos textos con poco contraste: la etiqueta verde sobre la
   cinta lima y el cargo bajo la foto del fundador. */
.section-label{color:#264d26;}
.about-founder__role{color:#566d65;}

/* 129 · Las etiquetas dentro de .about heredaban el verde al 70 % de opacidad,
   que sobre la cinta lima da 3,87 y no llega al mínimo. Sobre lima el texto va
   opaco; la cinta ya distingue la etiqueta sin necesidad de aclararla. */
.about .section-label{color:var(--forest);}
