/* =============================================================================
   srv/contacto.css — /contacto/ «Línea directa» · actos 1–4, escenario fijado («viva»), foto de Alberto, tarjeta n.º 1, llamada con
   flechas, formulario de noche con minimapa y errores en contorno, avisos y barra «un naranja». Enlazado en el <body> justo antes del
   acto 1 (?v=filemtime). Gramática de Sofía: crema = voz, ámbar = luz encontrada (contorno = falta luz), naranja = la acción.
   Q5: nada de esto es antecesor de luces, charcos ni encendido (opacity/visibility solo en los actos de texto). Una regla por línea.
   ========================================================================== */

/* --- escenario fijado («viva»: lo pone contacto.js con scrollY < ½ visor; sin JS, RM o LITE la página queda en flujo) --- */
.pw-ct--viva .pw-ct__fija{height:calc(100svh * 2.6)}
@media (max-width:980px),(max-aspect-ratio:9/10){.pw-ct--viva .pw-ct__fija{height:calc(100svh * 2.4)}}
.pw-ct--viva .pw-ct__txt{position:sticky;top:0;height:100vh;height:100lvh;overflow:hidden}
.pw-ct--viva .pw-ct__acto0{position:absolute;left:0;right:0;top:0}
.pw-ct--viva .pw-ct__acto1,.pw-ct--viva .pw-ct__acto2a{position:absolute;inset:0;min-height:0;margin:0;background:none;visibility:hidden;opacity:0}
.pw-ct--viva .pw-ct__foto{display:none}
.pw-ct--viva .pw-ct__lienzo{display:block}
.pw-ct--viva .pw-ct__b{background:#081327}

/* --- foto de Alberto en la escena (composición final: cara ≈ (76 %, 33 %) en escritorio, (54 %, 32 %) en móvil; fundido a la noche) --- */
.pw-ct__b img{aspect-ratio:860 / 1506;height:117%;width:auto;left:calc(76.4% - 38.4vh);top:-5.5%;-webkit-mask-image:radial-gradient(ellipse 43% 54% at 57.5% 36%,#000 45%,transparent 100%);mask-image:radial-gradient(ellipse 43% 54% at 57.5% 36%,#000 45%,transparent 100%)}
.pw-ct__b img.es-lista{opacity:1}
@media (max-width:980px),(max-aspect-ratio:9/10){.pw-ct__b img{width:110%;height:auto;left:-9.45%;top:calc(32.5% - 63.9vw);-webkit-mask-image:radial-gradient(ellipse 46% 38% at 57.5% 32%,#000 50%,transparent 100%);mask-image:radial-gradient(ellipse 46% 38% at 57.5% 32%,#000 50%,transparent 100%)}}

/* --- acto 1: placa (H2 + H3) sobre el velo --- */
.pw-ct__acto1{position:relative;display:flex;align-items:flex-end;min-height:88vh;min-height:88svh;padding:0 0 12svh}
.pw-ct__placa{position:relative;isolation:isolate;margin-left:var(--ct-x);margin-right:20px;max-width:34rem}
.pw-ct__placa::before,.pw-ct__alb::before{content:"";position:absolute;inset:-10px -16px;z-index:-1;border-radius:26px;background:rgb(8 19 39/.55);box-shadow:0 0 34px 22px rgb(8 19 39/.55);pointer-events:none}
.pw-ct__placa h2{margin:0;font:600 clamp(20px,1rem + .8vw,28px)/1.2 var(--sans);letter-spacing:.02em;color:var(--h2-crema)}
.pw-ct__esp{margin:.55rem 0 0;font:500 clamp(16px,.9rem + .3vw,19px)/1.4 var(--sans);color:var(--h2-crema-2)}
@media (max-width:980px),(max-aspect-ratio:9/10){.pw-ct--viva .pw-ct__acto1{align-items:flex-start;padding:calc(var(--cab) + 20px) 0 0}.pw-ct__placa{margin-left:20px}}

/* --- acto 2a: «Conócenos» + la promesa junto a la cara + aviso en el mismo visor --- */
.pw-ct__acto2a{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,22rem);gap:clamp(24px,4vw,64px);align-items:center;padding:clamp(48px,10svh,112px) var(--ct-x);background:linear-gradient(rgb(8 19 39/0),var(--h2-noche) 22%)}
.pw-ct__foto{grid-column:2;grid-row:1;margin:0;aspect-ratio:4 / 5;border-radius:24px;overflow:hidden;background:var(--h2-noche-2)}
.pw-ct__foto img{width:100%;height:100%;object-fit:cover;object-position:57% 30%}
.pw-ct__alb{position:relative;isolation:isolate;grid-column:1;grid-row:1;max-width:39rem}
.pw-ct__alb h2{margin:0;font:600 13px/1.2 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--h2-crema-2)}
.pw-ct__promesa{margin:.7rem 0 0;font-family:var(--serif);font-size:clamp(2rem,1.4rem + 1.6vw,2.6rem);line-height:1.12;letter-spacing:-.02em;color:var(--h2-crema);text-wrap:balance}
.pw-ct__promesa strong{font-weight:400}
.pw-ct__aviso{display:inline-block;margin:1.1rem 0 0;padding:.35rem .75rem;border-radius:999px;background:rgb(14 31 61/.92);font-size:13px;line-height:1.35;color:var(--h2-crema-2)}
.pw-ct--viva .pw-ct__acto2a{display:flex;align-items:center;padding:0 var(--ct-x)}
.pw-ct--viva .pw-ct__alb{max-width:min(39rem,46vw)}
@media (max-width:980px),(max-aspect-ratio:9/10){.pw-ct__acto2a{grid-template-columns:minmax(0,1fr);padding:40px 20px 24px}.pw-ct__foto,.pw-ct__alb{grid-column:1;grid-row:auto}.pw-ct__foto{max-width:24rem;aspect-ratio:1}.pw-ct--viva .pw-ct__acto2a{align-items:flex-end;padding:0 20px 28px}.pw-ct--viva .pw-ct__alb{max-width:none}.pw-ct__promesa{font-size:2rem}}

/* --- acto 2b: cargo, correo (sin mailto), dirección, tarjeta n.º 1 y «Ver más» en fantasma --- */
.pw-ct__acto2b{position:relative;padding:clamp(40px,7svh,88px) var(--ct-x) 0;background:var(--h2-noche)}
.pw-ct__datos{display:grid;justify-items:start;gap:.45rem;max-width:40rem;font-size:1.0625rem;line-height:1.5;color:var(--h2-crema-2)}
.pw-ct__datos p{margin:0}
.pw-ct__cargo{color:var(--h2-crema)}
.pw-ct__correo{-webkit-user-select:all;user-select:all;overflow-wrap:anywhere}
.pw-ct__n1{display:flex;align-items:flex-start;gap:.85rem;margin:.6rem 0;padding:1rem 1.15rem;max-width:30rem;border-radius:18px;background:rgb(14 31 61/.92);box-shadow:inset 0 0 0 1px rgb(244 233 214/.1)}
.pw-ct__n1m{display:grid;place-items:center;flex:none;width:2rem;height:2rem;border-radius:50%;background:var(--h2-luz);color:var(--h2-noche);font:700 1rem/1 var(--sans)}
.pw-ct__n1 p{display:grid;gap:.15rem;margin:0;font-size:.9375rem;line-height:1.4}
.pw-ct__n1t{color:var(--h2-crema);font-weight:600}
.pw-ct__n1d{color:var(--h2-dato);font-variant-numeric:tabular-nums}
.pw-ct__n1f{color:var(--h2-crema-3);font-size:.875rem}
.pw-ct__vermas{margin:.5rem 0 0!important}
.pw-ct__vermas .pw-boton{min-height:48px;padding:.7rem 1.25rem;font-size:.95rem;font-weight:600}
.pw-ct__vermas .pws-ext{color:var(--h2-crema-3)}

/* --- acto 3: WhatsApp (noche sólida, un radial ámbar al 6 % detrás del botón) --- */
.pw-ct__acto3{position:relative;padding:clamp(56px,10svh,112px) var(--ct-x) clamp(24px,5svh,56px);background:radial-gradient(36rem 20rem at 26% 58%,rgb(255 194 122/.06),rgb(255 194 122/0) 70%),var(--h2-noche)}
.pw-ct__col3{max-width:46rem}
.pw-ct__comodo{margin:0 0 1rem;font-size:1.0625rem;line-height:1.5;color:var(--h2-crema-2)}
.pw-ct__llamada{margin:0;background:#192233;box-shadow:inset 0 0 0 1px rgb(244 233 214/.16);color:var(--h2-crema)}
.pw-ct__llamada>p{color:var(--h2-crema)}
.pw-ct__flechas{white-space:nowrap}
.pw-ct__fl{position:relative;display:inline-block;margin-inline:.06em;font-family:var(--sans);font-size:1.12em;line-height:1;color:transparent;-webkit-text-stroke:1.5px rgb(255 203 138/.6)}
.pw-ct__fl::after{content:attr(data-g);position:absolute;left:0;top:0;color:#FFCB8A;-webkit-text-stroke:0;opacity:0}
.es-flechas .pw-ct__fl::after{animation:pwct-fl .52s linear both}
.es-flechas .pw-ct__fl:nth-of-type(2)::after{animation-delay:.18s}
.es-flechas .pw-ct__fl:nth-of-type(3)::after{animation-delay:.36s}
@keyframes pwct-fl{0%{opacity:0;animation-timing-function:cubic-bezier(0,.6,.3,1)}9%{opacity:1}28%{opacity:1;animation-timing-function:cubic-bezier(.1,.7,.3,1)}100%{opacity:0}}
html:not(.pws-vivo) .pw-ct__fl::after{opacity:.45}
html:not(.pws-vivo) .pw-ct__fl:nth-of-type(2)::after{opacity:.75}
html:not(.pws-vivo) .pw-ct__fl:nth-of-type(3)::after{opacity:1}
.pw-ct__pedir{min-height:56px;padding:0 1.6rem;gap:.55rem;font:700 1.0625rem/1 var(--sans)}
.pw-ct__pedir .pw-ic{color:var(--h2-accion-txt);width:1.25rem;height:1.25rem}
.pw-ct__pedir.es-apagado{background:transparent;color:var(--h2-crema);box-shadow:inset 0 0 0 1.5px var(--h2-borde)}
.pw-ct__pedir.es-apagado .pw-ic{color:rgb(244 233 214/.85)}
.pw-ct__cita{margin:2rem 0 0;padding-left:1.2rem;border-left:2px solid rgb(244 233 214/.35);font-style:italic;color:var(--h2-crema)}
.pw-ct__cita p{margin:0}

/* --- acto 4: formulario de noche (vidrio #192233), minimapa, errores en contorno ámbar, autorrelleno neutralizado --- */
.pw-ct__acto4{position:relative;padding:clamp(32px,6svh,72px) var(--ct-x) clamp(56px,10svh,120px);background:var(--h2-noche)}
.pw-ct__col4{max-width:48rem}
.pw-ct__completa{margin:0;font-family:var(--serif);font-size:clamp(1.6rem,1.2rem + 1.4vw,2.4rem);line-height:1.15;letter-spacing:-.015em;color:var(--h2-crema)}
.pw-ct__solo{margin:.8rem 0 0;max-width:42rem;font-size:1.0625rem;line-height:1.55;color:var(--h2-crema-2)}
.pw-ct__form{display:grid;grid-template-columns:minmax(0,1fr) 106px;column-gap:28px;align-items:start;margin:1.6rem 0 0;padding:clamp(1.25rem,1rem + 1.5vw,2.25rem);border-radius:1.5rem;background:#192233;box-shadow:inset 0 0 0 1px rgb(244 233 214/.12);color:var(--h2-crema)}
.pw-ct__form>*{grid-column:1}
.pw-ct__form>.pw-ct__mini{grid-column:2;grid-row:1 / span 3}
.pw-ct__form .pw-campo label{font-size:13px;font-weight:600;letter-spacing:.12em;color:var(--h2-crema-2)}
.pw-ct__form .pw-opcional{color:var(--h2-crema-3)}
.pw-ct__form .pw-campo input{border-bottom:1.5px solid var(--h2-borde-campo);color:var(--h2-crema);caret-color:#FFCB8A}
.pw-ct__form .pw-campo input:focus{border-bottom:2px solid var(--h2-crema)}
.pw-ct__form .pw-campo input:focus-visible{box-shadow:none;outline:2px solid var(--h2-crema);outline-offset:3px}
.pw-ct__form input:-webkit-autofill,.pw-ct__form input:-webkit-autofill:hover,.pw-ct__form input:-webkit-autofill:focus{-webkit-text-fill-color:#F4E9D6;caret-color:#FFCB8A;box-shadow:0 0 0 100px #192233 inset;transition:background-color 9999s}
.pw-ct__form .pw-campo.es-error,.pw-ct__form .pw-check.es-error{border-radius:12px;box-shadow:0 0 0 2px rgb(255 203 138/.6);padding:.5rem .6rem}
.pw-ct__err{display:flex;align-items:center;gap:.45rem;margin:0;font-size:.875rem;line-height:1.35;color:var(--h2-crema)}
.pw-ct__err i,.pw-ct__excl{display:inline-grid;place-items:center;flex:none;width:1.15rem;height:1.15rem;border-radius:50%;box-shadow:inset 0 0 0 1.5px #FFCB8A;color:#FFCB8A;font:700 .75rem/1 var(--sans);font-style:normal}
.pw-ct__form .pw-check{color:var(--h2-crema-2)}
.pw-ct__form .pw-check input{accent-color:#FFCB8A}
.pw-ct__form .pw-check a{color:var(--h2-crema);text-decoration-color:rgb(255 203 138/.55);text-decoration-thickness:1.5px;text-underline-offset:.22em}
.pw-ct__form .pw-check a:hover{text-decoration-color:#FFCB8A}
.pw-ct__enviar{min-height:56px;background:var(--h2-accion);color:var(--h2-accion-txt);font:700 1.125rem/1 var(--sans)}
.pw-ct__enviar::after{display:none}
.pw-ct__enviar:hover{background:var(--h2-accion-hover)}
.pw-ct__form .pw-form__pie,.pw-ct__form .pw-form__pie .pw-ic{color:var(--h2-crema-2)}
.pw-ct .pw-aviso{grid-column:1;display:flow-root;background:#0E1F3D;color:var(--h2-crema);overflow-wrap:anywhere}
.pw-ct .pw-aviso a{color:var(--h2-crema);text-decoration-color:rgb(255 203 138/.55)}
.pw-ct .pw-aviso--ok{box-shadow:inset 3px 0 0 #FFCB8A}
.pw-ct .pw-aviso--ko{box-shadow:inset 0 0 0 1.5px rgb(255 203 138/.6)}
.pw-ct__avatar{float:left;width:48px;height:48px;margin:0 .8rem .2rem 0;border-radius:50%}
.pw-ct .pw-aviso .pw-ct__excl{margin-right:.5rem;vertical-align:-.15em}
.pw-ct__mini{display:grid;gap:.45rem;margin:0}
.pw-ct__mapa{position:relative;width:106px;height:var(--d-bh);border-radius:10px;overflow:hidden;background-color:#081327;background-repeat:no-repeat;background-position:var(--d-bp);background-size:var(--d-bs)}
.pw-ct__mapa picture{display:contents}
.pw-ct__mapa img{position:absolute;inset:0;width:100%;height:100%;max-width:none;mix-blend-mode:plus-lighter;opacity:0;transition:opacity 60ms linear}
.pw-ct__form.es-1 .pw-ct__e1,.pw-ct__form.es-3 .pw-ct__mapa img,.pw-ct__form.es-enviado .pw-ct__mapa img{opacity:1}
.pw-ct__form.es-3 .pw-ct__e2{transition-delay:70ms}
.pw-ct__form.es-3 .pw-ct__e3{transition-delay:140ms}
.pw-ct__mini figcaption{padding:.15rem .35rem;border-radius:6px;background:#0E1F3D;font-size:13px;line-height:1.3;color:var(--h2-crema)}
@media (max-width:980px),(max-aspect-ratio:9/10){.pw-ct__form{grid-template-columns:minmax(0,1fr)}.pw-ct__form input,.pw-ct__form .pw-check{scroll-margin-top:calc(var(--cab) + 104px)}.pw-ct__form>.pw-ct__mini{grid-column:1;grid-row:auto;position:sticky;top:calc(var(--cab) + 8px);z-index:2;grid-template-columns:106px minmax(0,1fr);align-items:center;margin:0 0 1rem;padding:.5rem;border-radius:12px;background:#0E1F3D}.pw-ct__mapa{height:var(--m-bh);background-position:var(--m-bp);background-size:var(--m-bs)}.pw-ct__mini figcaption{padding:0}}

/* --- barra móvil: WhatsApp en fantasma a la izquierda, «Llamar» naranja a la derecha; solo sin CTA propio a la vista y fuera de B --- */
.pws--ct .pw-barra{grid-template-columns:1fr 1.4fr}
.pws--ct .pw-barra [data-wa-enlace="barra"]{background:transparent;color:var(--h2-crema);box-shadow:inset 0 0 0 1.5px var(--h2-borde)}
.pws--ct .pw-barra [data-wa-enlace="barra"]::after{display:none}
.pws--ct .pw-barra .pw-boton--llamar{background:var(--h2-accion);color:var(--h2-accion-txt);font-weight:700}
.pws--ct .pw-barra.es-visible:not(.es-libre),html.pw-ct--b .pws--ct .pw-barra{translate:0 140%;visibility:hidden}
html.pw-ct--a1v body.pws--ct .pw-barra.pw-barra{translate:0 0;visibility:visible}

/* --- modos --- */
@media (prefers-contrast:more){.pw-ct__esp,.pw-ct__datos,.pw-ct__comodo,.pw-ct__solo,.pw-ct__aviso,.pw-ct__n1f{color:var(--h2-crema)}.pw-ct__form,.pw-ct__llamada{background:#0E1F3D}.pw-ct__form .pw-campo input{border-bottom-color:var(--h2-crema-3)}}
@media (forced-colors:active){.pw-ct__b,.pw-ct__lienzo,.pw-ct__mapa{display:none}.pw-ct__form .pw-campo.es-error{outline:2px solid Highlight}.pw-ct__fl{color:CanvasText;-webkit-text-stroke:0}}
@media print{.pw-ct__mini,.pw-ct__saltar{display:none}}
