/* ===== Proyectos especiales =====
   Concepto: el prisma. Una idea (luz blanca) entra y sale dividida en rojo, amarillo y azul: muchas formas.
   Montserrat (la letra de la marca) para títulos, DM Sans para texto, JetBrains Mono para datos. */
#v-esp{
  --e-tinta:#0E0F10;
  --e-tinta-2:#17191B;
  --e-crema:#FAF5ED;
  --e-papel:#EFEAE0;
  --e-gris:#8C8780;
  --e-gris-osc:#5B5751;
  --e-rojo:#C2192E;
  --e-amarillo:#ECC328;
  --e-azul:#285DA2;
  --e-linea:rgba(14,15,16,.16);
  --e-tit:'Montserrat','Arial Black',Arial,sans-serif;
  --e-texto:'DM Sans',Arial,Helvetica,sans-serif;
  --e-mono:'JetBrains Mono',ui-monospace,Menlo,Consolas,monospace;
  --e-g:clamp(16px,5vw,72px);
  --e-max:1240px;
  color-scheme:light;
  background:var(--e-crema);color:var(--e-tinta);font-family:var(--e-texto);font-size:17px;line-height:1.55;min-height:100vh;-webkit-font-smoothing:antialiased;
}
html.en-especiales body{background:#0E0F10}
#v-esp *{box-sizing:border-box}
#v-esp p,#v-esp h1,#v-esp h2,#v-esp h3{margin:0}
#v-esp h1,#v-esp h2,#v-esp h3{font-weight:inherit;text-wrap:balance}
#v-esp a{color:inherit}
#v-esp button{font:inherit;color:inherit}
#v-esp :focus-visible{outline:2px solid var(--e-azul);outline-offset:3px}
#v-esp .e-et{font-family:var(--e-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--e-gris-osc)}
#v-esp .e-mono{font-family:var(--e-mono);font-size:12px;letter-spacing:.04em;font-variant-numeric:tabular-nums}

/* Barra */
#v-esp .e-barra{position:sticky;top:env(safe-area-inset-top,0px);z-index:30;padding-inline:var(--e-g);background:linear-gradient(var(--e-tinta) 45%,rgba(14,15,16,0))}
#v-esp .e-barra-in{max-width:var(--e-max);margin-inline:auto;height:68px;display:flex;align-items:center;justify-content:space-between;gap:12px}
#v-esp .e-barra img{height:32px;width:auto;display:block}
#v-esp .e-links{display:flex;gap:8px;flex-wrap:wrap}
#v-esp .e-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;font-family:var(--e-mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;padding:11px 18px;border-radius:999px;border:1px solid currentColor;background:none;cursor:pointer;transition:background .15s ease,color .15s ease}
#v-esp .e-btn.lleno{background:var(--e-tinta);color:var(--e-crema);border-color:var(--e-tinta)}
#v-esp .e-btn.lleno:hover{background:var(--e-azul);border-color:var(--e-azul)}
#v-esp .e-barra .e-btn{color:var(--e-crema)}
#v-esp .e-barra .e-btn.lleno{background:var(--e-crema);color:var(--e-tinta);border-color:var(--e-crema)}
@media (max-width:520px){#v-esp .e-ocultar{display:none}}

/* Portada: el prisma */
#v-esp .e-hero{position:relative;background:var(--e-tinta);color:var(--e-crema);margin-top:-68px;padding:calc(68px + clamp(8px,2vw,24px)) var(--e-g) clamp(40px,6vw,72px);overflow:hidden;min-height:min(100svh,920px);display:flex;flex-direction:column}
#v-esp .e-lienzo{position:absolute;inset:0;width:100%;height:100%;display:block}
#v-esp .e-hero-in{position:relative;z-index:1;max-width:var(--e-max);width:100%;margin-inline:auto;flex:1;display:flex;flex-direction:column;justify-content:space-between;gap:28px;pointer-events:none}
#v-esp .e-hero-in a,#v-esp .e-hero-in button{pointer-events:auto}
#v-esp .e-hero .e-et{color:#A9A49C}
#v-esp .e-titulo{font-family:var(--e-tit);font-weight:900;font-size:clamp(44px,7.4vw,112px);line-height:.9;letter-spacing:-.02em;text-transform:uppercase;max-width:11ch}
#v-esp .e-titulo span{display:block}
@media (max-width:700px){#v-esp .e-hero-in{justify-content:flex-end}#v-esp .e-hero-in>.e-et{margin-bottom:auto}}
#v-esp .e-titulo .e-r{color:var(--e-rojo)}#v-esp .e-titulo .e-a{color:var(--e-amarillo)}#v-esp .e-titulo .e-z{color:#5C8FD6}
#v-esp .e-hero-pie{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:end}
#v-esp .e-frase{font-size:clamp(18px,1.8vw,23px);line-height:1.4;max-width:36ch;color:#E9E3D8}
#v-esp .e-hero-pie .e-btn{color:var(--e-crema)}
@media (max-width:700px){#v-esp .e-hero-pie{grid-template-columns:1fr}}

/* Secciones apiladas */
#v-esp .e-sec{padding:clamp(72px,10vw,140px) var(--e-g)}
#v-esp .e-wrap{max-width:var(--e-max);margin-inline:auto;display:flex;flex-direction:column;gap:clamp(28px,4vw,48px)}
#v-esp .e-pila{position:sticky;top:0;z-index:var(--z,2);border-radius:28px 28px 0 0;box-shadow:0 -24px 60px rgba(14,15,16,.22),inset 0 1px 0 rgba(255,255,255,.5)}
#v-esp .e-pila.ultima{position:relative}
#v-esp .e-pila::after{content:"";position:absolute;inset:0;border-radius:inherit;background:#0E0F10;opacity:calc(var(--dim,0)*.55);pointer-events:none;z-index:40}
#v-esp .e-pliegue{transform-origin:50% 0;will-change:transform}
@media (prefers-reduced-motion:reduce){#v-esp .e-pila{position:relative}#v-esp .e-pila::after{display:none}#v-esp .e-pliegue{transform:none!important}}
#v-esp .e-tit{font-family:var(--e-tit);font-weight:900;font-size:clamp(38px,6.4vw,92px);line-height:.92;letter-spacing:-.02em;text-transform:uppercase}
#v-esp .e-intro{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(20px,4vw,64px);align-items:end}
#v-esp .e-intro>p{max-width:44ch;color:var(--e-gris-osc)}
@media (max-width:820px){#v-esp .e-intro{grid-template-columns:1fr}}

/* Combina disciplinas */
#v-esp #e-combina{background:var(--e-crema)}
#v-esp .e-mezcla{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(24px,4vw,56px);align-items:center}
#v-esp .e-mezcla>*{min-width:0}
#v-esp .e-discs{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
#v-esp .e-disc{all:unset;box-sizing:border-box;cursor:pointer;width:100%;display:flex;align-items:center;gap:12px;padding:14px 16px;border:1.5px solid var(--e-tinta);border-radius:14px;font-family:var(--e-tit);font-weight:800;font-size:clamp(15px,1.5vw,18px);text-transform:uppercase;letter-spacing:.01em;transition:background .15s ease,color .15s ease}
#v-esp .e-disc i{flex:none;width:14px;height:14px;background:var(--c);border:1.5px solid var(--e-tinta)}
#v-esp .e-disc:hover{background:rgba(14,15,16,.05)}
#v-esp .e-disc[aria-pressed="true"]{background:var(--e-tinta);color:var(--e-crema)}
#v-esp .e-disc[aria-pressed="true"] i{border-color:var(--c)}
#v-esp .e-disc:focus-visible{outline:2px solid var(--e-azul);outline-offset:2px}
#v-esp .e-rayos{width:100%;max-width:100%;aspect-ratio:1.25;display:block;background:var(--e-tinta);border-radius:20px}
#v-esp .e-rayos text{font-family:var(--e-tit);font-weight:800;font-size:15px;letter-spacing:.04em;fill:#FAF5ED;text-transform:uppercase}
#v-esp .e-rayos .ray{transition:opacity .35s ease}
#v-esp .e-resumen{font-family:var(--e-tit);font-weight:800;font-size:clamp(18px,1.8vw,22px);line-height:1.25;text-transform:uppercase}
#v-esp .e-resumen em{font-style:normal;color:var(--e-azul)}
@media (max-width:860px){#v-esp .e-mezcla{grid-template-columns:1fr}#v-esp .e-rayos{order:-1}}
@media (max-width:520px){#v-esp .e-disc{font-size:11.5px;letter-spacing:0;padding:12px 10px;gap:8px}#v-esp .e-disc i{width:12px;height:12px}}
@media (max-width:340px){#v-esp .e-discs{grid-template-columns:1fr}}

/* Proceso */
#v-esp #e-proceso{background:var(--e-papel)}
#v-esp .e-pasos{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
#v-esp .e-paso{display:grid;grid-template-columns:5ch minmax(0,1fr) minmax(0,1.1fr);gap:clamp(12px,3vw,40px);align-items:baseline;padding:clamp(18px,2.6vw,28px) 0;border-top:1px solid var(--e-tinta)}
#v-esp .e-paso:last-child{border-bottom:1px solid var(--e-tinta)}
#v-esp .e-paso span{font-family:var(--e-mono);font-size:13px;color:var(--e-gris-osc)}
#v-esp .e-paso b{font-family:var(--e-tit);font-weight:900;font-size:clamp(24px,3.4vw,46px);line-height:1;text-transform:uppercase;letter-spacing:-.01em}
#v-esp .e-paso p{color:var(--e-gris-osc);font-size:clamp(16px,1.5vw,19px)}
#v-esp .e-paso.esencia b{color:var(--e-rojo)}
@media (max-width:700px){#v-esp .e-paso{grid-template-columns:4ch minmax(0,1fr)}#v-esp .e-paso p{grid-column:2}}

/* Cuéntanos tu idea */
#v-esp #e-idea{background:var(--e-tinta);color:var(--e-crema)}
#v-esp #e-idea .e-et{color:#A9A49C}
#v-esp #e-idea .e-intro>p{color:#C9C3B9}
#v-esp .e-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
#v-esp .e-campo{display:flex;flex-direction:column;gap:8px;min-width:0}
#v-esp .e-campo.ancho{grid-column:1/-1}
#v-esp .e-campo>span{font-weight:700;font-size:15px}
#v-esp .e-campo>span small{display:block;font-weight:400;font-size:13px;color:#A9A49C;margin-top:2px}
#v-esp .e-campo input,#v-esp .e-campo textarea,#v-esp .e-campo select{font:16px/1.45 var(--e-texto);color:var(--e-crema);background:var(--e-tinta-2);border:1px solid #3A3D40;border-radius:12px;padding:12px 14px;width:100%}
#v-esp .e-campo textarea{min-height:120px;resize:vertical}
#v-esp .e-campo input::placeholder,#v-esp .e-campo textarea::placeholder{color:#7F7A72}
#v-esp .e-campo [aria-invalid="true"]{border-color:#E5484D;border-width:2px}
#v-esp .e-campo input:focus,#v-esp .e-campo textarea:focus,#v-esp .e-campo select:focus{outline:2px solid var(--e-amarillo);outline-offset:1px}
#v-esp .e-chips{display:flex;flex-wrap:wrap;gap:8px}
#v-esp .e-chip{all:unset;box-sizing:border-box;cursor:pointer;font-size:14px;padding:9px 14px;border:1px solid #4A4D50;border-radius:999px}
#v-esp .e-chip[aria-pressed="true"]{background:var(--e-crema);color:var(--e-tinta);border-color:var(--e-crema)}
#v-esp .e-chip:focus-visible{outline:2px solid var(--e-amarillo);outline-offset:2px}
#v-esp .e-envio{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:12px;align-items:center;border-top:1px solid #2C2F32;padding-top:18px}
#v-esp .e-envio .e-btn{color:var(--e-crema)}
#v-esp .e-envio .e-btn.lleno{background:var(--e-amarillo);color:var(--e-tinta);border-color:var(--e-amarillo)}
#v-esp .e-envio .e-btn.lleno:hover{background:var(--e-crema);border-color:var(--e-crema)}
#v-esp .e-nota{font-size:14px;color:#A9A49C}
#v-esp .e-check{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:700;cursor:pointer}
#v-esp .e-check input{width:20px;height:20px;accent-color:var(--e-amarillo);margin:0}
@media (max-width:640px){#v-esp .e-form{grid-template-columns:1fr}}
#v-esp .e-pie{position:relative;z-index:9;background:var(--e-tinta);color:#8C8780;padding:24px var(--e-g) calc(24px + env(safe-area-inset-bottom,0px));border-top:1px solid #2C2F32;text-align:center;font-family:var(--e-mono);font-size:12px}
