/* Página «Contacto» (inc/contacto.php). Ámbito .lm-cto. Maqueta: Web/contacto/maqueta/ (C). */
.lm-cto{--negro:#211E22;--oliva:#6E7A45;--oliva-t:#57633A;--oliva-p:#2F3A22;--noche:#1C2216;--marfil:#F8F5EE;--lino:#EDE6D6;--hilo:#DCD4C2;--tinta:#3A3833;--piedra:#66625A;--oro:#BDA46A;--error:#9B2C1B;--ease:cubic-bezier(.16,1,.3,1);--cab:68px;display:block;background:var(--marfil);color:var(--tinta);font:400 17px/1.65 Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased}
@media(max-width:767px){.lm-cto{--cab:64px}}
.lm-cto *,.lm-cto *::before,.lm-cto *::after{box-sizing:border-box}
.lm-cto ::selection{background:var(--oliva);color:var(--marfil)}
.lm-cto img{display:block;max-width:100%}
.lm-cto h1,.lm-cto h2{font-family:"Playfair Display",Georgia,serif;font-weight:400;margin:0;color:var(--negro);letter-spacing:-.03em;text-wrap:balance}
.lm-cto h1 em,.lm-cto h2 em{font-style:italic}
.lm-cto p{margin:0}
.lm-cto a{color:inherit}
.lm-cto :focus-visible{outline:1px solid currentColor;outline-offset:5px}
.lm-cto .boton{display:inline-flex;align-items:center;justify-content:center;gap:14px;height:56px;padding:0 32px;border:0;border-radius:2px;background:var(--negro);color:var(--marfil);font:500 12px/1 Inter,sans-serif;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background-color .4s var(--ease),transform .2s}
.lm-cto .boton:hover{background:var(--oliva-p);color:var(--marfil)}
.lm-cto .boton:active{transform:translateY(1px)}
.lm-cto .boton[aria-busy="true"]{pointer-events:none;opacity:.7}
.lm-cto .boton svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;transition:transform .5s var(--ease)}
.lm-cto .boton:hover svg{transform:translateX(4px)}
.lm-cto .campo{display:grid;gap:8px}
.lm-cto .campo label{font:500 11px/1.4 Inter,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--piedra)}
.lm-cto .campo input,.lm-cto .campo textarea{width:100%;padding:12px 0 14px;border:0;border-bottom:1px solid var(--hilo);border-radius:0;background:transparent;box-shadow:none;color:var(--negro);font:400 18px/1.5 Inter,sans-serif;caret-color:var(--oliva);transition:border-color .3s}
.lm-cto .campo textarea{resize:vertical;min-height:130px}
.lm-cto .campo :is(input,textarea):focus{outline:0;border-bottom-color:var(--negro);box-shadow:none}
.lm-cto .campo :is(input,textarea)::placeholder{color:#8a867c}
.lm-cto .campo .error{min-height:1.2em;font-size:13px;color:var(--error)}
.lm-cto .campo.mal :is(input,textarea){border-bottom-color:var(--error)}
.lm-cto .privacidad{display:flex;gap:12px;align-items:flex-start;font-size:14px;line-height:1.55;color:var(--piedra)}
.lm-cto .privacidad.mal{color:var(--error)}
.lm-cto .privacidad input{width:18px;height:18px;margin:2px 0 0;accent-color:var(--negro);flex:none}
.lm-cto .privacidad a{color:var(--negro);text-underline-offset:3px}
.lm-cto .hp{position:absolute;left:-9999px}
.lm-cto .aviso{grid-column:1/-1;padding:14px 16px;background:#FBEAE6;color:var(--error);font-size:15px}
.lm-cto .enviado{display:none}
.lm-cto form.ok .enviado{display:block}
.lm-cto form.ok .pasos{display:none}
.lm-cto .motivo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:calc(100svh - var(--cab))}
.lm-cto /* Escenario de fotos */
.escena{position:sticky;top:var(--cab);height:calc(100svh - var(--cab));overflow:hidden;background:var(--noche);color:var(--marfil)}
.lm-cto .escena figure{position:absolute;inset:0;margin:0;clip-path:inset(100% 0 0 0);transition:clip-path 1.1s var(--ease)}
.lm-cto .escena figure.on{clip-path:inset(0 0 0 0);z-index:1}
.lm-cto .escena figure.sale{clip-path:inset(0 0 0 0);z-index:0}
.lm-cto .escena img{width:100%;height:100%;object-fit:cover;transform:scale(1.12);transition:transform 2.2s var(--ease)}
.lm-cto .escena figure.on img{transform:none}
.lm-cto .escena figure::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(28,34,22,.78),rgba(28,34,22,0) 48%)}
.lm-cto .escena figcaption{position:absolute;left:clamp(24px,4vw,56px);right:clamp(24px,4vw,56px);bottom:clamp(28px,4vw,56px);z-index:2}
.lm-cto .escena .palabra{display:block;font:italic 400 clamp(56px,7.4vw,124px)/.95 "Playfair Display",serif;letter-spacing:-.04em;color:var(--marfil);overflow:hidden;padding-bottom:.08em}
.lm-cto .escena .palabra span{display:inline-block;transform:translateY(105%);transition:transform 1.1s var(--ease) .25s}
.lm-cto .escena figure.on .palabra span{transform:none}
.lm-cto .escena .nota{display:block;margin-top:14px;font-size:14px;color:#D9D3C4;opacity:0;transition:opacity .8s .6s}
.lm-cto .escena figure.on .nota{opacity:1}
.lm-cto .escena .cont{position:absolute;top:28px;right:clamp(24px,4vw,56px);z-index:2;font:500 12px/1 Inter;letter-spacing:.18em;color:#F8F5EE;font-variant-numeric:tabular-nums;padding:9px 13px;border-radius:999px;background:rgba(28,34,22,.55);backdrop-filter:blur(6px)}

.lm-cto /* Columna del formulario */
.panel{padding:clamp(48px,6vw,88px) clamp(24px,5vw,88px) clamp(56px,6vw,96px)}
.lm-cto .panel h1{font-size:clamp(46px,5.2vw,82px);line-height:1.02;letter-spacing:-.035em}
.lm-cto .panel h1 em{color:var(--oliva-t)}
.lm-cto .panel .intro{margin-top:18px;font-size:18px;max-width:30em}
.lm-cto .opciones{margin:clamp(32px,4vw,48px) 0 0;padding:0;border:0}
.lm-cto .opciones legend{padding:0;margin-bottom:10px;font:500 11px/1.4 Inter;letter-spacing:.16em;text-transform:uppercase;color:var(--piedra)}
.lm-cto .op{position:relative;display:block;border-top:1px solid var(--hilo);cursor:pointer}
.lm-cto .op:last-of-type{border-bottom:1px solid var(--hilo)}
.lm-cto .op input{position:absolute;opacity:0;pointer-events:none}
.lm-cto .op .fila{display:grid;grid-template-columns:1fr auto;align-items:center;gap:16px;padding:18px 0 16px}
.lm-cto .op .nom{font:400 clamp(24px,2.3vw,32px)/1.15 "Playfair Display",serif;color:var(--piedra);transition:color .4s,transform .7s var(--ease)}
.lm-cto .op .punto{width:22px;height:22px;border:1px solid var(--hilo);border-radius:50%;display:grid;place-items:center;transition:border-color .4s}
.lm-cto .op .punto::after{content:"";width:10px;height:10px;border-radius:50%;background:var(--negro);transform:scale(0);transition:transform .5s var(--ease)}
.lm-cto .op .desc{display:grid;grid-template-rows:0fr;transition:grid-template-rows .7s var(--ease)}
.lm-cto .op .desc>span{overflow:hidden;font-size:15.5px;color:var(--tinta);max-width:34em}
.lm-cto .op:hover .nom{color:var(--negro);transform:translateX(6px)}
.lm-cto .op input:checked~.fila .nom{color:var(--negro);font-style:italic}
.lm-cto .op input:checked~.fila .punto{border-color:var(--negro)}
.lm-cto .op input:checked~.fila .punto::after{transform:none}
.lm-cto .op input:checked~.desc{grid-template-rows:1fr}
.lm-cto .op input:checked~.desc>span{padding-bottom:18px}
.lm-cto .op input:focus-visible~.fila .nom{outline:1px solid var(--negro);outline-offset:6px}

.lm-cto .datos{display:grid;grid-template-columns:1fr 1fr;gap:30px 28px;margin-top:40px}
.lm-cto .datos .ancho{grid-column:1/-1}
.lm-cto .datos .extra{display:none}
.lm-cto .datos .extra.on{display:grid;animation:aparece .7s var(--ease)}
@keyframes aparece{from{opacity:0;transform:translateY(10px)}}
.lm-cto .datos .cierre{grid-column:1/-1;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:22px;margin-top:6px}
.lm-cto .datos .campo label small{text-transform:none;letter-spacing:0;font-size:12px}
.lm-cto .enviado{outline:0;margin-top:40px}
.lm-cto .enviado h2{font-size:clamp(34px,3.4vw,48px);line-height:1.1}
.lm-cto .enviado h2 em{color:var(--oliva-t)}
.lm-cto .enviado p{margin-top:14px;font-size:18px;max-width:30em}
.lm-cto .rapido{display:flex;flex-wrap:wrap;gap:10px 28px;margin-top:36px;padding-top:24px;border-top:1px solid var(--hilo);font-size:15px;color:var(--piedra)}
.lm-cto .rapido a{color:var(--negro);text-underline-offset:4px;text-decoration-color:var(--hilo)}
.lm-cto .rapido a:hover{text-decoration-color:currentColor}

@media(max-width:960px){
  .lm-cto .motivo{grid-template-columns:1fr}
  .lm-cto .escena{position:relative;top:0;height:46svh;min-height:300px}
  .lm-cto .datos{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){.lm-cto *{transition-duration:.01ms!important;animation-duration:.01ms!important}}
