/* Contacto y origen de marca: continuidad de la identidad institucional. */
.nav { gap: clamp(14px, 1.6vw, 23px); }
.origen-nombre { scroll-margin-top: 115px; }
.origen-nombre-cuerpo { display: grid; grid-template-columns: 1.1fr .65fr; gap: 12%; align-items: start; }
.origen-nombre-frase p { font-size: clamp(46px, 5.2vw, 78px); line-height: 1.09; letter-spacing: -.045em; }
.origen-nombre-frase > .micro { display: block; margin-top: 28px; color: var(--gris); max-width: 310px; line-height: 1.8; }
.origen-nombre .prosa p + p { margin-top: 23px; }
.origen-nombre .prosa .enlace { margin-top: 26px; }
.cita-origen { margin: 30px 0; padding: 25px 0 25px 25px; border-left: 1px solid var(--borde); }
.relato-capitulo .cita-origen p { font-family: var(--serif); font-size: 24px; font-style: italic; line-height: 1.5; color: var(--perla); }
.relato-capitulo .cita-origen .cita-origen-remate { font-size: clamp(29px, 3vw, 40px); line-height: 1.2; letter-spacing: -.02em; }
.cita-origen cite { display: block; font-style: normal; font-size: 12px; color: var(--gris); line-height: 1.7; margin-top: 20px; }
.contacto-cuerpo { display: grid; grid-template-columns: minmax(0,.75fr) minmax(0,1.25fr); gap: 7%; align-items: start; padding-bottom: 110px; }
.contacto-canales { min-width: 0; padding-top: 8px; }
.contacto-correo > .micro, .contacto-alternativa > .micro { display: block; color: var(--gris); margin-bottom: 20px; }
.contacto-correo > a { display: inline-flex; align-items: center; gap: 15px; font-size: clamp(21px,2.2vw,31px); line-height: 1.5; letter-spacing: -.025em; border-bottom: 1px solid var(--borde); padding-bottom: 8px; max-width: 100%; }
.contacto-correo > p, .contacto-alternativa > p { font-size: 16px; line-height: 1.85; color: var(--gris); max-width: 370px; margin-top: 22px; }
.contacto-alternativa { margin-top: 44px; padding-top: 30px; border-top: 1px solid var(--borde); }
.contacto-alternativa h2 { font-size: clamp(34px,3.2vw,45px); }
.contacto-alternativa .enlace { margin-top: 20px; }
.contacto-textura { height: 250px; position: relative; overflow: hidden; margin-top: 40px; border: 1px solid var(--borde); background: #030505; isolation: isolate; }
.contacto-textura img { width: 100%; height: 100%; object-fit: cover; opacity: .65; filter: grayscale(1); }
.contacto-textura::after { content: ''; position: absolute; inset: 0; background: linear-gradient(0deg,rgba(0,0,0,.7),transparent 60%); z-index: 0; }
.contacto-textura figcaption { position: absolute; bottom: 20px; left: 22px; z-index: 1; font-size: 10px; color: var(--perla); }
.contacto-panel { min-width: 0; background: var(--perla); color: var(--negro); padding: clamp(25px,3.4vw,50px); }
.contacto-panel-titulo { margin-bottom: 36px; }
.contacto-panel-titulo > .micro { display: block; color: #535950; margin-bottom: 22px; }
.contacto-panel-titulo h2 { font-size: clamp(43px,4.5vw,62px); }
.contacto-panel-titulo > p { margin-top: 22px; max-width: 400px; font-size: 15px; line-height: 1.8; color: #535950; }
.contacto-campos { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 26px 22px; }
.contacto-campo { min-width: 0; }
.contacto-campo-amplio { grid-column: 1 / -1; }
.contacto-campo label { display: block; font-size: 13px; line-height: 1.6; margin-bottom: 10px; }
.contacto-campo label span { color: #535950; font-size: 11px; }
.contacto-campo input, .contacto-campo select, .contacto-campo textarea { display: block; width: 100%; min-width: 0; border: 1px solid #91968c; border-radius: 0; background: rgba(255,255,255,.35); color: var(--negro); font: inherit; font-size: 16px; padding: 12px 13px; min-height: 49px; }
.contacto-campo input:hover, .contacto-campo select:hover, .contacto-campo textarea:hover { border-color: #52584e; }
.contacto-campo input:focus-visible, .contacto-campo select:focus-visible, .contacto-campo textarea:focus-visible { outline: 2px solid #343d2d; outline-offset: 2px; }
.contacto-campo textarea { resize: vertical; min-height: 165px; max-height: 650px; line-height: 1.7; }
.contacto-campo textarea::placeholder { color: #64695f; }
.contacto-campo select { padding-right: 24px; }
.contacto-ayuda { display: block; font-size: 12px; color: #535950; margin-top: 8px; line-height: 1.7; }
.contacto-trampa { display: none; }
.contacto-privacidad-resumen { font-size: 12px; color: #535950; line-height: 1.8; margin-top: 23px; }
.contacto-privacidad-resumen a, .contacto-privacidad a { text-decoration: underline; text-underline-offset: 3px; }
.contacto-enviar { margin-top: 25px; width: 100%; background: var(--negro); color: var(--perla); justify-content: space-between; }
.contacto-enviar:hover { background: #263023; }
.contacto-enviar:disabled { opacity: .65; cursor: wait; }
.estado-formulario { border: 1px solid #65755b; background: rgba(101,117,91,.08); margin-top: 22px; padding: 17px 18px; font-size: 14px; line-height: 1.8; }
.estado-formulario[data-tipo="error"] { border-color: #965947; background: rgba(150,89,71,.07); }
.estado-formulario:focus { outline: 2px solid #535950; outline-offset: 3px; }
.confirmacion-nativa { display: none; scroll-margin-top: 125px; }
.confirmacion-nativa:target { display: block; margin: 0 0 25px; }
.contacto-privacidad { border-top: 1px solid #a2a79b; margin-top: 30px; padding-top: 8px; scroll-margin-top: 120px; }
.contacto-privacidad summary { display: flex; align-items: center; justify-content: space-between; cursor: pointer; min-height: 48px; font-size: 12px; gap: 15px; }
.contacto-privacidad summary span { font-size: 20px; }
.contacto-privacidad[open] summary span { transform: rotate(45deg); }
.contacto-privacidad > p { font-size: 13px; line-height: 1.85; margin: 12px 0; color: #535950; overflow-wrap: anywhere; }
@media(max-width:1150px) { .nav { gap: 14px; font-size: 12px; } .contacto-cuerpo { gap: 5%; grid-template-columns: minmax(0,.7fr) minmax(0,1.3fr); } .contacto-correo > a { font-size: 24px; } }
@media(max-width:1050px) { .nav { gap: 0; font-size: 24px; } .origen-nombre-cuerpo { grid-template-columns: 1fr 1fr; gap: 6%; } .contacto-cuerpo { grid-template-columns: 1fr 1.35fr; gap: 4%; } .contacto-campos { grid-template-columns: 1fr; gap: 22px; } .contacto-correo > a { font-size: 22px; gap: 8px; } }
@media(max-width:760px) { .contacto-cuerpo { grid-template-columns: 1fr; gap: 40px; padding-bottom: 65px; } .contacto-panel { grid-row: 1; padding: 30px 25px; } .contacto-panel-titulo h2 { font-size: 48px; } .contacto-campos { grid-template-columns: repeat(2,minmax(0,1fr)); } .contacto-correo > a { font-size: 28px; } .contacto-canales { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; } .contacto-alternativa { margin-top: 0; padding-top: 0; border-top: 0; } .contacto-textura { grid-column: 1 / -1; height: 210px; margin-top: 0; } .origen-nombre-cuerpo { grid-template-columns: 1fr; gap: 35px; } .origen-nombre-frase p { font-size: 56px; } }
@media(max-width:520px) { .contacto-panel { padding: 28px 21px; } .contacto-panel-titulo { margin-bottom: 28px; } .contacto-campos, .contacto-canales { grid-template-columns: 1fr; gap: 23px; } .contacto-panel-titulo h2 { font-size: 45px; } .contacto-panel-titulo > p { font-size: 15px; } .contacto-campo label { font-size: 14px; } .contacto-campo-amplio { grid-column: auto; } .contacto-alternativa { border-top: 1px solid var(--borde); padding-top: 25px; margin-top: 5px; } .contacto-textura { grid-column: auto; height: 215px; margin-top: 8px; } .contacto-correo > a { font-size: clamp(22px,6vw,28px); } .relato-capitulo .cita-origen p { font-size: 22px; } .relato-capitulo .cita-origen .cita-origen-remate { font-size: 32px; } .cita-origen { margin: 25px 0; padding-left: 19px; } .origen-nombre-frase p { font-size: 48px; } .origen-nombre-frase > .micro { font-size: 10px; } }
