/* Six Art Media · sitio 2030
   Sigue el manual de marca (marca/manual): tinta, hueso, vino y vino luz; Nohemi para títulos, Inter para textos.
   Oscuro por defecto; el modo claro está diseñado aparte. */

@font-face{font-family:"Nohemi";font-weight:300;font-display:swap;src:url(fuentes/Nohemi-Light.woff2) format("woff2")}
@font-face{font-family:"Nohemi";font-weight:400;font-display:swap;src:url(fuentes/Nohemi-Regular.woff2) format("woff2")}
@font-face{font-family:"Nohemi";font-weight:600;font-display:swap;src:url(fuentes/Nohemi-SemiBold.woff2) format("woff2")}
@font-face{font-family:"Inter";font-weight:100 900;font-display:swap;src:url(fuentes/inter-var-latin.woff2) format("woff2")}

:root{
  --tinta:#0F0B0E; --hueso:#F4EEF0; --vino:#791239; --vino-luz:#E04A7C;
  --fondo:#0F0B0E; --fondo-2:#150F13; --superficie:#19131A; --linea:#2E2329; --linea-fuerte:#4A3842;
  --texto:#F4EEF0; --suave:#B4A8AF; --acento:#E04A7C; --boton:#E04A7C; --boton-texto:#0F0B0E;
  --diana:#E04A7C; --seis:#F4EEF0;
  --titulo:"Nohemi","Avenir Next","Helvetica Neue",Arial,sans-serif;
  --cuerpo:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
  --ancho:1200px; --margen:clamp(18px,4.5vw,48px);
  --radio:8px;
  color-scheme:dark;
}
[data-tema="claro"]{
  --fondo:#F1E8EE; --fondo-2:#E9DDE5; --superficie:#F8F2F5; --linea:#DDCDD6; --linea-fuerte:#C4AFBB; /* modo claro: todo en un lila suave, nada en blanco puro */
  --texto:#170F13; --suave:#5E5560; --acento:#B32A5C; --boton:#791239; --boton-texto:#F4EEF0;
  --diana:#791239; --seis:#170F13;
  color-scheme:light;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--fondo);color:var(--texto);font:17px/1.65 var(--cuerpo);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg{max-width:100%}
a{color:inherit}
h1,h2,h3{font-family:var(--titulo);font-weight:300;line-height:1.04;letter-spacing:-.025em;margin:0;text-wrap:balance}
h1{font-size:clamp(36px,4.1vw,58px)}
h2{font-size:clamp(30px,3.9vw,50px)}
h3{font-size:clamp(20px,1.8vw,24px);font-weight:600;letter-spacing:-.01em;line-height:1.2}
h1 b,h2 b{font-weight:600}
h1 b{color:var(--acento)}
p{margin:0}
b,strong{font-weight:600}
:focus-visible{outline:2px solid var(--acento);outline-offset:3px;border-radius:4px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.saltar{position:absolute;left:12px;top:-60px;background:var(--boton);color:var(--boton-texto);padding:10px 14px;border-radius:6px;z-index:100;text-decoration:none}
.saltar:focus{top:12px}

.contenedor{max-width:var(--ancho);margin:0 auto;padding-inline:var(--margen)}
.seccion{padding-block:clamp(72px,10vw,136px);border-top:1px solid var(--linea)}
.encabezado{display:grid;gap:18px;max-width:820px;margin-bottom:clamp(36px,5vw,64px)}
.dos-columnas{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(32px,6vw,96px);align-items:start}
.pila{display:grid;gap:22px;align-content:start}
.dos-columnas > div:first-child{display:grid;gap:18px;align-content:start}
.whatsapp h2{font-size:clamp(28px,3.3vw,42px)}
.centrado{text-align:center;justify-items:center;justify-content:center}
.etiqueta{font:600 12px/1.3 var(--cuerpo);letter-spacing:.16em;text-transform:uppercase;color:var(--acento)}
.entrada{font-size:clamp(17px,1.35vw,20px);color:var(--suave);max-width:60ch}
.entrada b{color:var(--texto)}
.nota{font-size:13px;color:var(--suave)}
.remate{font:600 22px/1.2 var(--titulo);color:var(--acento)}

/* ---------- logo ---------- */
.seis{display:block;height:auto}
.seis .seis-6{fill:var(--seis)}
.seis .seis-diana{fill:var(--diana)}
.logotipo{display:inline-flex;align-items:baseline;gap:.3em;font-family:var(--titulo);font-size:22px;line-height:1;white-space:nowrap;text-decoration:none}
.logotipo .seis{height:.92em;width:auto} /* horizontal: el 6 mide 1,3 veces las mayúsculas (manual, cap. 04) */
.logotipo-texto{font-weight:300;letter-spacing:-.01em}
.logotipo-texto b{font-weight:600;letter-spacing:-.02em}
.logotipo-grande{font-size:28px}

/* 6 animado: relleno → pista → diana (manual de marca, cap. 08) */
.seis-anim{display:block;width:100%;height:auto;overflow:visible}
.seis-anim .a-relleno{fill:none;stroke:var(--seis);stroke-width:30;stroke-linejoin:round}
.seis-anim .a-corte{fill:none;stroke:#000;stroke-width:12;stroke-linejoin:round} /* va dentro de una máscara: el corte es transparente y deja ver el fondo */
.seis-anim .a-diana{fill:var(--diana);transform-box:fill-box;transform-origin:center}
.seis-anim .a-onda{fill:none;stroke:var(--diana);stroke-width:2;opacity:0;transform-box:fill-box;transform-origin:center}
.seis-anim.reproducir .a-relleno{stroke-dasharray:1;stroke-dashoffset:1;animation:dibujar 1.2s cubic-bezier(.65,0,.35,1) .2s forwards}
.seis-anim.reproducir .a-corte{stroke-dasharray:1;stroke-dashoffset:1;animation:dibujar 1.2s cubic-bezier(.65,0,.35,1) 1.4s forwards}
.seis-anim.reproducir .a-diana{transform:scale(0);animation:caer .5s cubic-bezier(.3,1.6,.5,1) 2.4s forwards}
.seis-anim.reproducir .a-onda{animation:onda 1.1s ease-out 2.6s}
@keyframes dibujar{to{stroke-dashoffset:0}}
@keyframes caer{to{transform:scale(1)}}
@keyframes onda{0%{opacity:.9;transform:scale(1)}100%{opacity:0;transform:scale(3.4)}}

/* ---------- botones ---------- */
.botones{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.boton{display:inline-flex;align-items:center;justify-content:center;gap:10px;font:600 15px/1 var(--cuerpo);padding:16px 22px;border-radius:999px;text-decoration:none;border:1px solid transparent;cursor:pointer;transition:transform .15s ease,background .2s,border-color .2s,color .2s}
.boton:active{transform:translateY(1px)}
.boton-principal{background:var(--boton);color:var(--boton-texto)}
.boton-principal:hover{filter:brightness(1.08)}
.boton-principal span{transition:transform .2s}
.boton-principal:hover span{transform:translateX(3px)}
.boton-linea{border-color:var(--linea-fuerte);color:var(--texto);background:transparent}
.boton-linea:hover{border-color:var(--acento)}
.boton-texto{color:var(--suave);padding-inline:6px}
.boton-texto:hover{color:var(--texto)}
.boton-chico{padding:11px 16px;font-size:14px}
.boton-ancho{width:100%}

/* ---------- cabecera ---------- */
.cabecera{position:sticky;top:0;z-index:50;background:var(--fondo);border-bottom:1px solid transparent;transition:border-color .2s}
.cabecera.con-borde{border-color:var(--linea)}
.cabecera-fila{display:flex;align-items:center;gap:24px;min-height:76px}
.cabecera-logo{text-decoration:none;flex:none}
.menu{display:flex;align-items:center;gap:28px;margin-left:auto}
.menu + .cabecera-acciones{margin-left:0}
.menu ul{display:flex;gap:22px;list-style:none;margin:0;padding:0}
.menu ul a{font-size:14.5px;text-decoration:none;color:var(--suave)}
.menu ul a:hover,.menu ul a[aria-current]{color:var(--texto)}
.cabecera-acciones{display:flex;gap:6px;align-items:center;margin-left:auto}
.tema,.hamburguesa{width:42px;height:42px;border-radius:999px;border:1px solid var(--linea);background:transparent;color:var(--texto);display:grid;place-items:center;cursor:pointer}
.tema svg{width:18px;height:18px}
.hamburguesa{display:none;gap:5px;align-content:center}
.hamburguesa span:not(.sr){display:block;width:16px;height:1.6px;background:currentColor;transition:transform .2s}
.hamburguesa[aria-expanded="true"] span:nth-child(1){transform:translateY(3.3px) rotate(45deg)}
.hamburguesa[aria-expanded="true"] span:nth-child(2){transform:translateY(-3.3px) rotate(-45deg)}

/* ---------- portada ---------- */
.portada{padding-block:clamp(40px,7vw,96px) clamp(64px,9vw,120px)}
.portada-grilla{display:grid;grid-template-columns:minmax(0,7.5fr) minmax(0,4.5fr);gap:clamp(32px,5vw,72px);align-items:center}
.portada-texto{display:grid;gap:26px}
.sellos{display:flex;flex-wrap:wrap;gap:10px 22px;list-style:none;margin:6px 0 0;padding:0;font-size:14px;color:var(--suave)}
.sellos li{display:flex;align-items:center;gap:8px}
.sellos li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--acento)}
.portada-marca{position:relative;aspect-ratio:1/1;display:grid;place-items:center}
.anillos{position:absolute;inset:0;width:100%;height:100%}
.anillos circle,.anillos line{fill:none;stroke:var(--linea);stroke-width:1}
.portada-seis{width:62%;background:none;border:0;padding:0;cursor:pointer;position:relative}

/* ---------- problema ---------- */
.fugas{list-style:none;counter-reset:f;margin:0;padding:0;display:grid;gap:0;border-top:1px solid var(--linea)}
.fugas li{counter-increment:f;position:relative;padding:20px 0 20px 56px;border-bottom:1px solid var(--linea);font-size:17px}
.fugas li::before{content:"0" counter(f);position:absolute;left:0;top:18px;font:300 22px/1.2 var(--titulo);color:var(--acento)}

/* ---------- sistema SIX ---------- */
.sistema-grilla{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(32px,6vw,96px);align-items:start}
.sistema-dial{position:sticky;top:110px}
.sistema-dial svg{width:100%;max-width:440px;display:block;margin:0 auto}
.dial-palo{stroke:var(--seis);stroke-width:22;fill:none}
.dial-arco{fill:none;stroke:var(--linea-fuerte);stroke-width:22;transition:stroke .4s}
.dial-arco.hecho{stroke:var(--seis)}
.dial-arco.activo{stroke:var(--diana)}
.dial-diana{fill:var(--diana);stroke:var(--fondo);stroke-width:7;transition:cx .6s cubic-bezier(.65,0,.35,1),cy .6s cubic-bezier(.65,0,.35,1)}
.dial-num{font:600 13px var(--cuerpo);letter-spacing:.16em;fill:var(--suave)}
.dial-nombre{font:400 30px var(--titulo);fill:var(--texto);letter-spacing:-.02em}
.pasos{list-style:none;margin:0;padding:0;display:grid}
.paso{display:grid;grid-template-columns:56px minmax(0,1fr);column-gap:18px;row-gap:8px;padding:clamp(28px,4vw,44px) 0;border-top:1px solid var(--linea);opacity:.78;transition:opacity .4s}
.paso:last-child{border-bottom:1px solid var(--linea)}
.paso.activo{opacity:1}
.paso-num{grid-row:span 2;width:44px;height:44px;border-radius:50%;border:1px solid var(--linea-fuerte);display:grid;place-items:center;font:400 18px/1 var(--titulo)}
.paso.activo .paso-num{background:var(--diana);border-color:var(--diana);color:var(--boton-texto)}
.paso p{color:var(--suave)}
.sistema .centrado{margin-top:clamp(40px,5vw,64px);display:flex}

/* ---------- SixPulse ---------- */
.pulso{background:var(--tinta);color:#F4EEF0;--texto:#F4EEF0;--suave:#B4A8AF;--linea:#2E2329;--acento:#E04A7C;--diana:#E04A7C}
.lista-check{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.lista-check li{display:grid;grid-template-columns:24px minmax(0,1fr);gap:10px;font-size:16.5px}
.lista-check li::before{content:"";width:16px;height:16px;margin-top:5px;border-radius:50%;border:5px solid var(--acento);box-sizing:border-box}
/* Monitor de SixPulse: una línea de pulso; cada pico es un aviso */
.monitor{margin:clamp(48px,6vw,80px) 0 0;padding:0;border-top:1px solid #2E2329}
.monitor-cabeza{display:flex;justify-content:space-between;gap:12px;padding:16px 0;font:600 11.5px/1 var(--cuerpo);letter-spacing:.16em;text-transform:uppercase;color:#8F838A}
.monitor-vivo{display:inline-flex;align-items:center;gap:8px;color:#E04A7C}
.monitor-vivo i{width:8px;height:8px;border-radius:50%;background:#E04A7C;animation:latido 1.8s infinite}
.monitor-linea{display:block;width:100%;height:clamp(120px,16vw,200px);background-image:linear-gradient(#1C1519 1px,transparent 1px),linear-gradient(90deg,#1C1519 1px,transparent 1px);background-size:100% 25%,4.1666% 100%;overflow:visible}
.ecg{fill:none;stroke:#E04A7C;stroke-width:2.2;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.pico{fill:#0F0B0E;stroke:#E04A7C;stroke-width:2;vector-effect:non-scaling-stroke}
.monitor.dibujar .monitor-linea{animation:barrido 2.4s cubic-bezier(.45,0,.2,1) both}
@keyframes barrido{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}

.eventos{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #2E2329}
.eventos li{position:relative;padding:22px 28px 28px 0;display:grid;gap:10px;align-content:start}
.eventos li + li{padding-left:28px;border-left:1px solid #2E2329}
.evento-hora{font:600 12px/1.3 var(--cuerpo);letter-spacing:.08em;color:#8F838A;font-variant-numeric:tabular-nums}
.evento-titulo{font:300 clamp(20px,1.9vw,26px)/1.18 var(--titulo);letter-spacing:-.015em}
.evento-titulo b{font-weight:600;color:#E04A7C}
.evento-detalle{font-size:14.5px;color:#B4A8AF}
.evento-estado{font-size:13px;font-weight:600;color:#F4EEF0;margin-top:4px}
.evento-estado::before{content:"→ ";color:#E04A7C}
.evento-auto::before{content:"✓ ";color:#3DBE8B}
.sello{justify-self:start;margin-top:6px;font:600 13px/1 var(--titulo);letter-spacing:.22em;text-transform:uppercase;color:#E04A7C;border:2px solid currentColor;border-radius:3px;padding:7px 10px 6px;transform:rotate(-5deg);box-shadow:inset 0 0 0 2px #0F0B0E,inset 0 0 0 3px currentColor}
.monitor .nota{margin-top:6px;color:#8F838A}
@keyframes latido{0%{box-shadow:0 0 0 0 rgba(224,74,124,.55)}70%{box-shadow:0 0 0 10px rgba(224,74,124,0)}100%{box-shadow:0 0 0 0 rgba(224,74,124,0)}}

/* ---------- WhatsApp ---------- */
.chat{background:var(--superficie);border:1px solid var(--linea);border-radius:18px;padding:18px;display:grid;gap:10px;max-width:440px;width:100%;justify-self:center}
.chat-cabeza{display:flex;gap:12px;align-items:center;padding-bottom:12px;border-bottom:1px solid var(--linea)}
.chat-cabeza small{display:block;font-size:12px;color:var(--suave)}
.chat-avatar{width:38px;height:38px;border-radius:50%;background:var(--fondo-2);display:grid;place-items:center;font:600 15px var(--titulo)}
.chat-origen{font-size:12.5px;background:color-mix(in srgb,var(--acento) 14%,transparent);border:1px dashed var(--acento);color:var(--texto);border-radius:8px;padding:8px 10px}
.burbuja{max-width:85%;background:var(--fondo-2);border-radius:14px 14px 14px 4px;padding:10px 13px;font-size:15px}
.burbuja-yo{justify-self:end;background:color-mix(in srgb,var(--vino) 45%,var(--superficie));color:var(--texto);border-radius:14px 14px 4px 14px}
[data-tema="claro"] .burbuja-yo{background:#E8D2DE}
.chat-venta{display:grid;grid-template-columns:1fr auto;gap:2px 10px;border-radius:10px;padding:12px 14px;background:var(--fondo-2);border:1px solid var(--linea);margin-top:4px}
.chat-venta span{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#3DBE8B;font-weight:600}
.chat-venta b{grid-row:span 2;align-self:center;font:600 22px var(--titulo)}
.chat-venta small{font-size:12.5px;color:var(--suave)}

/* ---------- servicios ---------- */
.bento{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.tarjeta{border:1px solid var(--linea);border-radius:var(--radio);padding:26px;display:flex;flex-direction:column;gap:10px;text-decoration:none;min-height:210px;background:var(--fondo);transition:border-color .2s,background .2s}
a.tarjeta:hover{border-color:var(--acento)}
.t-grande{grid-column:span 2;min-height:250px}
.t-acento{grid-column:span 2;background:var(--vino);border-color:var(--vino);color:#F4EEF0;--suave:#E9D3DA;--acento:#F4EEF0}
.t-acento:hover{border-color:#F4EEF0!important}
.tarjeta h3{font-size:clamp(22px,2.2vw,30px);font-weight:400;letter-spacing:-.02em;overflow-wrap:break-word;hyphens:auto}
.tarjeta:not(.t-grande):not(.t-ancho):not(.t-acento) h3{font-size:clamp(22px,1.75vw,26px)}
.tarjeta p{color:var(--suave);font-size:15.5px}
.t-tag{font:600 11px/1 var(--cuerpo);letter-spacing:.14em;text-transform:uppercase;color:var(--acento)}
.t-mas{margin-top:auto;font-weight:600;font-size:14px}
.t-pronto{border-style:dashed}
.t-ancho{grid-column:span 2}

/* ---------- casos ---------- */
.caso{border:1px solid var(--linea);border-radius:var(--radio);padding:clamp(24px,4vw,44px);display:grid;gap:32px;background:var(--superficie)}
.caso + .caso{margin-top:16px}
.caso-cabeza{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 24px}
.caso-cabeza h3{font-size:clamp(26px,3vw,38px);font-weight:600;letter-spacing:-.02em}
.caso-cabeza p{color:var(--suave);font-size:14px}
.cifras{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-top:1px solid var(--linea)}
.cifra{display:block;padding:24px 24px 0 0;min-width:0}
.cifra b{display:block;font:300 clamp(36px,3.8vw,54px)/1 var(--titulo);letter-spacing:-.03em;font-variant-numeric:tabular-nums;margin-top:6px}
.cifra .cifra-rango{font-size:clamp(24px,2.3vw,32px);margin-top:12px}
.cifra small{display:block;color:var(--suave);font-size:14px;margin-top:10px}
.cifra-antes{font:300 18px/1 var(--titulo);color:var(--suave);text-decoration:line-through;margin-right:6px}
.cifra-flecha{color:var(--acento)}
.caso-b{grid-template-columns:minmax(0,4fr) minmax(0,7fr);align-items:center}
.casos .nota{margin-top:20px}

/* ---------- por qué ---------- */
.razones{list-style:none;margin:0;padding:0;display:grid}
.razones li{padding:20px 0;border-bottom:1px solid var(--linea);color:var(--suave);font-size:16.5px}
.razones li:first-child{border-top:1px solid var(--linea)}
.razones b{display:block;color:var(--texto);font:600 20px/1.3 var(--titulo);margin-bottom:4px}

/* ---------- preguntas ---------- */
.faq{border-top:1px solid var(--linea)}
.faq-item{border-bottom:1px solid var(--linea)}
.faq-item summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;padding:22px 0;font:400 clamp(18px,1.6vw,21px)/1.3 var(--titulo);letter-spacing:-.01em}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary i{flex:none;width:22px;height:22px;position:relative;margin-top:2px}
.faq-item summary i::before,.faq-item summary i::after{content:"";position:absolute;left:50%;top:50%;width:14px;height:1.6px;background:var(--acento);transform:translate(-50%,-50%);transition:transform .25s}
.faq-item summary i::after{transform:translate(-50%,-50%) rotate(90deg)}
.faq-item[open] summary i::after{transform:translate(-50%,-50%) rotate(0)}
.faq-item p{padding:0 40px 24px 0;color:var(--suave);max-width:62ch}

/* ---------- cierre ---------- */
.cierre{background:var(--vino);color:#F4EEF0;padding-block:clamp(72px,10vw,128px);--texto:#F4EEF0;--suave:#E9D3DA;--acento:#F4EEF0;--boton:#F4EEF0;--boton-texto:#791239;--linea-fuerte:#C98AA2;--seis:#F4EEF0;--diana:#F4EEF0}
.cierre h1 b,.cierre h2 b{color:#F4EEF0}
.cierre-grilla{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,8fr);gap:clamp(32px,6vw,96px);align-items:center}
.cierre-seis .seis{width:100%;max-width:240px;opacity:.95}

/* ---------- pie ---------- */
.pie{padding-block:72px 40px;border-top:1px solid var(--linea);font-size:15px}
.pie-grilla{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr);gap:40px}
.pie-marca{display:grid;gap:18px;align-content:start;justify-items:start}
.pie-marca p{color:var(--suave);max-width:42ch}
.pie ul{list-style:none;margin:0;padding:0;display:grid;gap:10px;color:var(--suave)}
.pie ul a{text-decoration:none}
.pie ul a:hover{color:var(--texto)}
.pie-titulo{font:600 12px/1 var(--cuerpo);letter-spacing:.16em;text-transform:uppercase;margin-bottom:16px}
.pie-siguenos{margin-top:14px}
.pie-siguenos .pie-titulo{margin-bottom:12px}
.pie-redes{margin-top:0!important;display:flex!important;flex-wrap:wrap;gap:10px!important}
.pie-redes a{width:44px;height:44px;border-radius:999px;border:1px solid var(--linea-fuerte);display:grid;place-items:center;color:var(--texto);transition:color .2s,border-color .2s,background .2s,transform .2s}
.pie-redes a:hover{color:var(--boton-texto);background:var(--acento);border-color:var(--acento);transform:translateY(-2px)}
.pie-redes svg{width:20px;height:20px}
.pie-grupo{margin-top:56px;padding-top:24px;border-top:1px solid var(--linea);display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 28px;color:var(--suave);font-size:14px}
.pie-grupo b{color:var(--texto)}
.pie-legal a{color:var(--suave)}
.pie-sixflow{flex-basis:100%;order:2}
.pie-sixflow a{color:var(--texto)}
.pie-legal{order:3}

.flotante-whatsapp{position:fixed;right:max(18px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));z-index:60;width:56px;height:56px;border-radius:50%;background:#25D366;color:#0F0B0E;display:grid;place-items:center;box-shadow:0 6px 20px rgba(0,0,0,.25);transition:transform .2s}
.flotante-whatsapp:hover{transform:scale(1.06)}
.flotante-whatsapp svg{width:28px;height:28px}

/* ---------- páginas de servicio ---------- */
.portada-paso{display:grid;gap:18px;justify-items:center;text-align:center;color:var(--suave);font-size:14px}
.seis-servicio{width:min(260px,70%)}
.destacado{background:var(--fondo-2)}
.destacado-texto{font:300 clamp(28px,3.6vw,48px)/1.12 var(--titulo);letter-spacing:-.02em;max-width:26ch;margin-top:18px}
.destacado-texto b{font-weight:600;color:var(--acento)}
.como{list-style:none;margin:0;padding:0;display:grid;border-top:1px solid var(--linea)}
.como li{display:grid;grid-template-columns:56px minmax(0,4fr) minmax(0,6fr);gap:18px;align-items:baseline;padding:26px 0;border-bottom:1px solid var(--linea)}
.como .paso-num{grid-row:auto;align-self:start}
.como h3{font-size:clamp(20px,2vw,26px);font-weight:400;letter-spacing:-.015em}
.como p{color:var(--suave);font-size:16px}
.etapas{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:2px solid var(--texto)}
.etapas li{padding:22px 22px 0 0;display:grid;gap:8px;align-content:start}
.etapa-cuando{font:600 12px/1 var(--cuerpo);letter-spacing:.12em;text-transform:uppercase;color:var(--acento)}
.etapas p{color:var(--suave);font-size:15.5px}
.chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.chips li{border:1px solid var(--linea-fuerte);border-radius:999px;padding:10px 16px;font-size:15px}
.prueba{background:var(--superficie)}
.prueba-texto{font:300 clamp(26px,3.2vw,42px)/1.15 var(--titulo);letter-spacing:-.02em;max-width:30ch;margin-top:16px}
.prueba-texto b{font-weight:600;color:var(--acento)}

/* ---------- auditoría ---------- */
.auditoria-grilla{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(32px,6vw,88px);align-items:start}
.subtitulo{font-size:22px;font-weight:600;margin-top:10px}
.formulario{background:var(--superficie);border:1px solid var(--linea);border-radius:14px;padding:clamp(22px,3vw,34px);display:grid;gap:16px;position:sticky;top:100px}
.form-cabeza{display:flex;gap:14px;align-items:center;padding-bottom:16px;border-bottom:1px solid var(--linea)}
.form-cabeza .seis{width:30px}
.form-cabeza b{font:600 20px var(--titulo);display:block}
.form-cabeza small{color:var(--suave);font-size:13.5px}
.campo{display:grid;gap:6px;border:0;margin:0;padding:0;min-width:0}
.campo label,.campo legend{font-size:13.5px;font-weight:600;padding:0}
.campo label span{font-weight:400;color:var(--suave)}
.campo-doble{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.campo input,.campo select{width:100%;font:16px/1.3 var(--cuerpo);color:var(--texto);background:var(--fondo);border:1px solid var(--linea-fuerte);border-radius:8px;padding:13px 14px}
.campo input:focus,.campo select:focus{outline:2px solid var(--acento);outline-offset:0;border-color:transparent}
.campo [aria-invalid="true"]{border-color:#E5484D}
.opciones{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.opciones label{white-space:nowrap;display:inline-flex;align-items:center;gap:8px;border:1px solid var(--linea-fuerte);border-radius:999px;padding:9px 14px;font-weight:400;cursor:pointer}
.opciones label:has(input:checked){border-color:var(--acento);background:color-mix(in srgb,var(--acento) 12%,transparent)}
.opciones input{accent-color:var(--acento);margin:0}
.trampa{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.form-estado{font-size:14px;min-height:1em}
.form-estado.ok{color:#3DBE8B}
.form-estado.error{color:#E5484D}
.form-nota{font-size:12.5px;color:var(--suave)}

/* ---------- 404 ---------- */
.error-404{min-height:60vh;display:grid;align-items:center}
.error-seis .seis{width:120px;margin:0 auto 10px}


/* ---------- fondos fotográficos (pocos, en capas, se mueven al bajar) ---------- */
.portada-con-fondo{position:relative;overflow:hidden;isolation:isolate}
.portada-fondo{position:absolute;inset:-8% 0 -8% 22%;z-index:-1;pointer-events:none}
.portada-fondo img{width:100%;height:100%;object-fit:cover;object-position:70% 50%;display:block;transform:translate3d(0,var(--desplaza,0px),0) scale(1.06);will-change:transform;animation:respira 18s ease-in-out infinite alternate}
.portada-fondo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--fondo) 0%,color-mix(in srgb,var(--fondo) 80%,transparent) 22%,color-mix(in srgb,var(--fondo) 25%,transparent) 75%,color-mix(in srgb,var(--fondo) 55%,transparent) 100%),linear-gradient(0deg,var(--fondo) 0%,transparent 30%)}
[data-tema="claro"] .portada-fondo{opacity:.0}
[data-tema="claro"] .portada-con-fondo .anillos{opacity:1}
.portada-con-fondo .anillos circle,.portada-con-fondo .anillos line{stroke:color-mix(in srgb,var(--texto) 14%,transparent)}
@keyframes respira{from{scale:1}to{scale:1.05}}


/* Sección con foto: la foto va a la izquierda, bajo el chat, y se funde con el fondo */
.foto-seccion{position:relative;overflow:hidden;isolation:isolate;background:#0F0B0E;color:#F4EEF0;--fondo:#0F0B0E;--fondo-2:#150F13;--superficie:#19131A;--linea:#2E2329;--linea-fuerte:#4A3842;--texto:#F4EEF0;--suave:#B4A8AF;--acento:#E04A7C;--vino:#791239}
.wa-foto{position:relative;margin:0;border-radius:6px;overflow:hidden;aspect-ratio:4/5;background:#150F13}
.wa-foto picture,.wa-foto img{position:absolute;inset:0;width:100%;height:100%}
.wa-foto img{object-fit:cover;object-position:76% 45%;transform:scale(1.04) translate3d(0,var(--desplaza,0px),0);will-change:transform}
.wa-foto::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(15,11,14,.92) 78%)}
.wa-burbujas{position:absolute;left:0;right:0;bottom:0;z-index:1;padding:clamp(18px,3vw,30px);display:grid;gap:8px}
.wa-burbujas .burbuja{background:rgba(25,19,26,.88);color:#F4EEF0;font-size:14.5px;max-width:80%}
.wa-burbujas .burbuja-yo{background:rgba(121,18,57,.92)}
.wa-burbujas .chat-origen{justify-self:start;font-size:12px;background:rgba(15,11,14,.75);border:1px solid #E04A7C;border-radius:999px;padding:6px 12px}
.wa-burbujas .chat-venta{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-top:6px;padding:12px 0 0;border-top:1px solid rgba(244,238,240,.25);background:none;border-left:0;border-right:0;border-bottom:0;border-radius:0}
.wa-burbujas .chat-venta span{font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:#3DBE8B;font-weight:600}
.wa-burbujas .chat-venta b{font:600 24px var(--titulo)}
.wa-foto .nota{position:absolute;top:12px;right:14px;z-index:1;color:rgba(244,238,240,.7)}


/* Cierre: las luces de la ciudad se funden con el vinotinto (lo negro de la foto desaparece) */
.cierre-con-luces{position:relative;overflow:hidden;isolation:isolate}
.cierre-luces{position:absolute;inset:-12% 0 -12% 40%;z-index:-1;pointer-events:none;mix-blend-mode:screen;opacity:.6;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 55%);mask-image:linear-gradient(90deg,transparent 0%,#000 55%)}
.cierre-luces img{width:100%;height:100%;object-fit:cover;object-position:60% 50%;display:block;transform:translate3d(0,var(--desplaza,0px),0) scale(1.05);will-change:transform;filter:contrast(1.35) brightness(.85)}

/* ---------- celular y tableta ---------- */
@media (max-width:1080px){
  .menu ul{gap:16px}
  .menu ul a{font-size:13.5px}
}
@media (max-width:980px){
  .hamburguesa{display:grid}
  .menu + .cabecera-acciones{margin-left:auto}
  .menu{position:fixed;inset:76px 0 auto 0;background:var(--fondo);border-bottom:1px solid var(--linea);flex-direction:column;align-items:stretch;gap:18px;padding:18px var(--margen) 26px;display:none}
  .menu.abierto{display:flex}
  .menu ul{flex-direction:column;gap:0}
  .menu ul a{display:block;padding:14px 0;border-bottom:1px solid var(--linea);font-size:17px;color:var(--texto)}
  .bento{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bento .t-grande,.bento .t-ancho{grid-column:span 1}
  .cifras{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:24px}
  .eventos{grid-template-columns:minmax(0,1fr)}
  .eventos li + li{padding-left:0;border-left:0;border-top:1px solid #2E2329}
  .etapas{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:28px}
  .pie-grilla{grid-template-columns:1fr 1fr}
  .pie-marca{grid-column:1/-1}
}
@media (max-width:820px){
  .portada-grilla,.dos-columnas,.sistema-grilla,.auditoria-grilla,.caso-b,.cierre-grilla{grid-template-columns:minmax(0,1fr)}
  .portada-marca{max-width:240px;width:100%;justify-self:center;order:-1}
  .portada-servicio .portada-paso{display:none}
  .sistema-dial{position:static;max-width:320px;justify-self:center;width:100%}
  .paso{opacity:1}
  .formulario{position:static}
  .cierre-seis .seis{max-width:120px}
}
@media (max-width:560px){
  body{font-size:16px}
  .bento,.etapas,.cifras,.pie-grilla{grid-template-columns:minmax(0,1fr)}
  .como li{grid-template-columns:44px minmax(0,1fr)}
  .como li p{grid-column:2}
  .t-grande,.t-acento,.t-ancho{grid-column:auto}
  .campo-doble{grid-template-columns:minmax(0,1fr)}
  .botones .boton{width:100%}
  .cabecera-logo .logotipo{font-size:19px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .seis-anim.reproducir .a-relleno,.seis-anim.reproducir .a-corte{stroke-dashoffset:0}
  .seis-anim.reproducir .a-diana{transform:none}
}

/* ---------- idioma, nosotros, textos legales y calculadora ---------- */
.idioma{height:42px;min-width:42px;padding-inline:10px;border-radius:999px;border:1px solid var(--linea);display:grid;place-items:center;font:600 12.5px/1 var(--cuerpo);letter-spacing:.08em;color:var(--suave);text-decoration:none}
.idioma:hover{color:var(--texto);border-color:var(--linea-fuerte)}
.equipo{align-items:center}
.equipo-foto{margin:0;border-radius:var(--radio);overflow:hidden;border:1px solid var(--linea);max-width:460px}
.equipo-foto img{display:block;width:100%;height:auto;filter:grayscale(.15) contrast(1.02)}
.prosa{max-width:760px;display:grid;gap:18px}
.prosa h1{font-size:clamp(30px,4vw,46px)}
.prosa h2{font-size:clamp(20px,2vw,24px);margin-top:22px}
.prosa p,.prosa li{color:var(--suave);line-height:1.7}
.prosa b{color:var(--texto)}
.prosa ul{display:grid;gap:10px;padding-left:1.2em;margin:0}
.prosa li::marker{color:var(--acento)}
.legal-portada{border-top:0;padding-top:clamp(40px,6vw,80px)}
.calculadora-portada{border-top:0;padding-top:clamp(40px,6vw,80px)}
.centrado-texto{text-align:center;margin-inline:auto;justify-items:center}
.centrado-texto .entrada{margin-inline:auto}
.calculadora-marco{max-width:820px;margin:0 auto clamp(32px,4vw,48px)}
.calculadora-marco iframe{display:block;min-height:640px}
.botones.centrado{justify-content:center}
