/*
 * Melite — estilos del tema. Mismo diseño que la propuesta publicada en melite-propuesta.vercel.app.
 * Para cambiar textos, fotos o enlaces no hace falta tocar este archivo: todo se edita desde Elementor
 * o desde Apariencia → Personalizar → Melite.
 */

/* ---------- Base WordPress / Elementor ---------- */
*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
h1, h2, h3, h4, p { margin: 0; }
button { font: inherit; }
.melite-home .elementor-widget, .melite-home .elementor-widget-container { margin: 0 !important; padding: 0 !important; }
.melite-home .e-con, .melite-home .e-con-inner, .melite-home .elementor-section, .melite-home .elementor-container, .melite-home .elementor-column, .melite-home .elementor-widget-wrap { padding: 0 !important; margin: 0 !important; gap: 0 !important; max-width: none !important; width: 100% !important; --container-max-width: none; --padding-top: 0; --padding-bottom: 0; --padding-left: 0; --padding-right: 0; --gap: 0; --row-gap: 0; --column-gap: 0; display: block; }
.admin-bar .barra { top: calc(32px + env(safe-area-inset-top, 0px)); }
@media (max-width: 782px) { .admin-bar .barra { top: calc(46px + env(safe-area-inset-top, 0px)); } }
/* En móvil la barra de WordPress se va al hacer scroll: la cabecera fija sube arriba del todo */
@media (max-width: 600px) { .admin-bar .barra { top: env(safe-area-inset-top, 0px); } }
/* Layout: retícula de 12 columnas sobre 1440 (col 82 px, medianil 24 px, márgenes 96 px), como el Figma. Tema único claro por manual de marca. */
:root {
  --azul: #101D35;
  --azul-80: rgba(16, 29, 53, .8);
  --azul-60: rgba(16, 29, 53, .6);
  --azul-20: rgba(16, 29, 53, .2);
  --beige-calido: #F3EFEA;
  --beige-claro: #F9F7F5;
  --blanco: #FFFFFF;
  --ovalo-cta: #000000;          /* tal cual Figma */
  --burbuja: #F44E66;            /* tal cual Figma */
  --burbuja-sombra: #B2B2B2;
  --burbuja-texto: #FFFFFF;

  --lora: "Lora", "Iowan Old Style", "Palatino Linotype", Georgia, serif;
  --hanken: "Hanken Grotesk", "Helvetica Neue", Arial, sans-serif;

  --margen: clamp(28px, 6.667vw, 96px);
  --col: calc((min(100vw, 1440px) - 2 * var(--margen) - 11 * 24px) / 12);
  --paso: calc(var(--col) + 24px);
  color-scheme: light;
}
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body {
  margin: 0;
  background: var(--beige-claro);
  color: var(--azul);
  font-family: var(--hanken);
  font-size: 16px;
  line-height: 1.5;
  overflow-x: hidden;
}
body::before { content: ""; position: fixed; inset: 0 0 auto; height: env(safe-area-inset-top, 0px); z-index: 60; background: var(--beige-claro); }
img, video { max-width: 100%; display: block; }
a { color: inherit; }
:focus-visible { outline: 2px solid var(--azul); outline-offset: 4px; }
[hidden] { display: none !important; }
.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

.wrap {
  max-width: 1440px;
  margin-inline: auto;
  padding-left: max(var(--margen), env(safe-area-inset-left, 0px));
  padding-right: max(var(--margen), env(safe-area-inset-right, 0px));
  box-sizing: border-box;
}

/* Tipos de marca */
.lora-it { font-family: var(--lora); font-style: italic; font-weight: 400; }
.h2 { font-family: var(--lora); font-style: italic; font-weight: 400; font-size: clamp(44px, 4.17vw, 60px); line-height: 1.2; margin: 0; text-wrap: balance; }

/* ---------- Página (se desliza sobre el footer: comentario #6) ---------- */
#pagina { position: relative; z-index: 2; background: var(--beige-claro); }
#servicios { scroll-margin-top: 90px; }

/* ---------- Cabecera ---------- */
.cabecera { padding-top: 48px; }
.cabecera__fila { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding-bottom: 40px; border-bottom: 1px solid var(--azul-60); }
.cabecera__logo img { width: 258px; height: auto; }
.nav { display: flex; gap: 47px; }
.nav a { font-family: var(--lora); font-style: italic; font-size: 20px; text-decoration: none; position: relative; padding-block: 4px; }
.nav a::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: currentColor; transform: scaleX(0); transform-origin: left; transition: transform .35s ease; }
.nav a:hover::after { transform: scaleX(1); }
.hamburguesa { display: none; background: none; border: 0; padding: 8px; margin-right: -8px; cursor: pointer; color: var(--azul); }

/* Menú móvil */
.menu-movil { position: fixed; top: calc(60px + env(safe-area-inset-top, 0px)); left: 0; right: 0; bottom: 0; z-index: 45; background: var(--beige-claro); display: flex; flex-direction: column; clip-path: inset(0 0 100% 0); transition: clip-path .5s cubic-bezier(.7,0,.2,1), visibility 0s .5s; visibility: hidden; }
.menu-movil.abierto { clip-path: inset(0 0 0 0); visibility: visible; transition: clip-path .5s cubic-bezier(.7,0,.2,1); }
.barra .ico-cerrar { display: none; }
html.menu-abierto .barra .ico-abrir { display: none; }
html.menu-abierto .barra .ico-cerrar { display: block; }
.menu-movil .cabecera__fila { border-color: var(--azul); }
.menu-movil nav { display: flex; flex-direction: column; gap: 22px; margin-top: 64px; }
.menu-movil nav a { font-family: var(--lora); font-style: italic; font-size: 32px; line-height: 1.25; text-decoration: none; }

/* ---------- Hero ---------- */
.hero { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 24px; margin-top: 124px; align-items: start; }
.hero h1 { grid-column: 1 / -1; grid-row: 1; margin: 0; font-family: var(--lora); font-weight: 400; font-size: clamp(64px, 7.64vw, 110px); line-height: 1.19; letter-spacing: -.005em; }
.nowrap { white-space: nowrap; }
.hero__intro { grid-column: 9 / 12; grid-row: 1; margin: 34px 0 0; font-size: 16px; line-height: 24px; max-width: 280px; }
.ovalo { display: inline-block; font-style: italic; font-size: .91em; line-height: 1; padding: .06em .4em .14em; margin-left: .12em; border: 1.5px solid currentColor; border-radius: 50%; vertical-align: .06em; }
.br-movil { display: none; }

/* Palabra que se escribe y se borra (comentario #12) */
.cursor { display: inline-block; width: .035em; height: .82em; margin-left: .05em; background: currentColor; vertical-align: -.04em; animation: parpadea 1s steps(1) infinite; }
.cursor.quieto { animation: none; }
@keyframes parpadea { 50% { opacity: 0; } }

/* ---------- Vídeo (comentario #7) ---------- */
.video { margin-top: 126px; display: flex; justify-content: center; padding-inline: 0; }
.video__marco { width: calc(57.78% + 42.22% * var(--crece, 0)); max-width: 100%; aspect-ratio: 832 / 463; overflow: hidden; background: var(--azul); }
.video__marco video { width: 100%; height: 100%; object-fit: cover; }

/* ---------- Cita ---------- */
.cita { margin: 165px 0 0 auto; max-width: 500px; text-align: right; font-size: 22px; line-height: 29px; text-wrap: pretty; }

/* ---------- Marquee (comentario #10) ---------- */
.marquee { margin-top: 126px; overflow: hidden; white-space: nowrap; }
.marquee__pista { display: inline-flex; animation: desliza 38s linear infinite; }
.marquee__item { display: inline-flex; align-items: center; gap: 30px; padding-right: 30px; font-size: clamp(38px, 2.92vw, 42px); font-weight: 400; text-transform: uppercase; line-height: 1.2; }
.asterisco { width: 44px; height: 42px; flex: none; animation: gira 9s linear infinite; }
@keyframes desliza { to { transform: translateX(-50%); } }
@keyframes gira { to { transform: rotate(360deg); } }
.marquee:hover .marquee__pista, .marquee:hover .asterisco { animation-play-state: paused; }
@media (prefers-reduced-motion: reduce) { .marquee__pista { animation-duration: 60s; } .asterisco { animation-duration: 14s; } }

/* ---------- Servicios ---------- */
.servicios-cab { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 24px; margin-top: 230px; align-items: center; scroll-margin-top: 120px; }
.servicios-cab__titulo { grid-column: 1 / 8; margin: 0; font-size: clamp(44px, 4.17vw, 60px); line-height: 1.38; font-weight: 400; }
.servicios-cab__titulo .lora-it { display: inline-flex; align-items: center; gap: 26px; }
.flecha-abajo { width: 42px; height: 47px; }
.cta-ovalo { grid-column: 8 / 13; justify-self: end; width: 100%; max-width: 510px; aspect-ratio: 510 / 216; display: grid; place-content: center; text-align: center; gap: 12px; padding: 0 64px; box-sizing: border-box; border: 1px solid var(--ovalo-cta); border-radius: 50%; text-decoration: none; transition: background .3s ease; }
.cta-ovalo:hover { background: var(--beige-calido); }
.cta-ovalo strong { font-family: var(--lora); font-style: italic; font-weight: 400; font-size: 26px; line-height: 34px; }
.cta-ovalo span { font-size: 18px; line-height: 23px; }

.servicios { position: relative; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 80px; margin-top: 137px; padding-bottom: 221px; max-width: 1440px; margin-inline: auto; }
.servicios::before, .servicios::after { content: ""; position: absolute; top: 33px; bottom: 0; width: 1px; background: var(--azul); }
.servicios::before { left: 33.333%; }
.servicios::after { left: 66.666%; }
.servicio { width: min(390px, calc(100% - 48px)); justify-self: center; text-align: center; position: relative; }
.servicio:nth-child(3n+2) { transform: translateY(110px); }
.servicio:nth-child(3n+3) { transform: translateY(221px); }
.servicio__img { aspect-ratio: 3 / 2; overflow: hidden; margin-top: 33px; }
.servicio__img img { width: 100%; height: 100%; object-fit: cover; }
.servicio h3 { font-family: var(--lora); font-style: italic; font-weight: 400; font-size: 26px; line-height: 34px; margin: 34px 0 16px; text-wrap: balance; }
.servicio p { font-size: 18px; line-height: 23px; margin: 0; text-wrap: pretty; }
.servicio p + p { margin-top: 6px; }
.burbuja { position: absolute; top: 0; left: 51px; width: 97px; height: auto; z-index: 1; filter: drop-shadow(0 0 0 transparent); }
.burbuja .b-sombra { fill: var(--burbuja-sombra); }
.burbuja .b-fondo { fill: var(--burbuja); }
.burbuja .b-texto { fill: var(--burbuja-texto); }

/* ---------- Por qué elegirnos ---------- */
.porque { margin-top: 120px; scroll-margin-top: 120px; }
.porque__lista { margin: 80px 0 0; padding: 0; list-style: none; border-top: 1px solid var(--azul); }
.porque__lista li { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 24px; padding: 28px 0 26px; border-bottom: 1px solid var(--azul); }
.porque__lista h3 { grid-column: 1 / 5; margin: 0; font-family: var(--lora); font-weight: 400; font-size: 30px; line-height: 1.3; }
.porque__lista p { grid-column: 5 / 13; margin: 4px 0 0; font-size: 18px; line-height: 23px; }
.porque__lista em { display: block; font-weight: 600; }

/* ---------- Sobre nosotras ---------- */
.nosotras { margin-top: 200px; scroll-margin-top: 120px; }
.nosotras__bloque { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 24px; }
.nosotras__a .nosotras__texto { grid-column: 2 / 6; }
.nosotras__a .foto { grid-column: 8 / 12; margin-top: 73px; }
.nosotras__a .h2 { text-align: right; }
.nosotras__texto p { margin: 0 0 24px; font-size: 16px; line-height: 24px; text-wrap: pretty; }
.nosotras__texto .h2 + p { margin-top: 112px; }
.nosotras__b { margin-top: 75px; align-items: center; }
.nosotras__b .foto { grid-column: 2 / 6; grid-row: 1; }
.nosotras__b .nosotras__texto { grid-column: 7 / 11; grid-row: 1; }
.foto { position: relative; margin: 0; }
.foto img { width: 100%; height: auto; aspect-ratio: 9 / 10; object-fit: cover; }
.etiqueta { position: absolute; bottom: 52px; display: inline-flex; align-items: center; gap: 14px; background: var(--blanco); padding: 8px 38px 9px 28px; font-family: var(--lora); font-style: italic; font-size: 30px; line-height: 42px; transition: clip-path .55s cubic-bezier(.6,0,.2,1); }
.etiqueta svg { width: 47px; height: 42px; flex: none; }
.nosotras__a .etiqueta { right: calc(-1 * var(--paso)); }
.nosotras__b .etiqueta { left: calc(-1 * var(--paso)); bottom: 38px; }
/* Nombres siempre visibles sobre las fotos (Patricia, 27/10/2026) */

/* ---------- Contacto ---------- */
.contacto { margin-top: 240px; scroll-margin-top: 120px; }
.contacto__filas { margin-top: 90px; border-top: 1px solid var(--azul); }
.contacto__fila { display: flex; justify-content: flex-end; align-items: baseline; gap: 80px; padding: 14px max(34px, env(safe-area-inset-right, 0px)) 14px max(var(--margen), env(safe-area-inset-left, 0px)); border-bottom: 1px solid var(--azul); font-size: clamp(36px, 4.17vw, 60px); line-height: 1.3; }
.contacto__fila .valores { display: flex; gap: 54px; flex-wrap: wrap; justify-content: flex-end; }
.contacto__fila a { text-decoration: none; font-variant-numeric: tabular-nums; }
.contacto__fila a:hover { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 8px; }

/* ---------- Footer (comentario #6: efecto del footer de 14islands) ---------- */
.pie { position: relative; z-index: 1; background: var(--beige-claro); overflow: hidden; padding-top: 120px; }
.pie__fila { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; }
.pie__logo { width: min(750px, 58vw); margin-left: -1px; margin-bottom: -.2%; overflow: hidden; }
.pie__logo img { width: 100%; height: auto; transform: translateY(calc(100% * (1 - var(--revela, 1)))); will-change: transform; }
/* Como en 14islands: cada línea sube un 40 % mientras aparece al entrar en pantalla */
@keyframes sube { 0% { opacity: 0; transform: translateY(40%); } }
.sube.anima { animation: sube 1.4s cubic-bezier(.2,.7,.2,1) both; animation-delay: var(--d, 0s); }
.pie__der { display: flex; flex-direction: column; align-items: flex-end; gap: 22px; padding: 0 max(32px, env(safe-area-inset-right, 0px)) 26px 0; }
.pie__legal { display: flex; gap: 33px; font-size: 15px; white-space: nowrap; }
.rrss { display: flex; gap: 19px; }
.rrss a { width: 40px; height: 40px; border-radius: 50%; background: var(--azul); color: var(--beige-claro); display: grid; place-items: center; transition: transform .25s ease; }
.rrss a:hover { transform: translateY(-2px); }
.rrss svg { display: block; }
.pie__legal a { text-decoration: none; }
.pie__legal a:hover { text-decoration: underline; }


/* CTA en tarjetas + formulario */
.cta-servicio { display: inline-flex; margin-top: 20px; align-items: center; gap: 10px; background: none; border: 1px solid var(--azul-60); border-radius: 999px; padding: 8px 18px 9px; font: 400 14px/1.2 var(--lora); text-transform: uppercase; letter-spacing: .06em; color: var(--azul); cursor: pointer; transition: background .25s, color .25s, border-color .25s; }
.cta-servicio:hover { background: var(--azul); color: var(--beige-claro); border-color: var(--azul); }
.cta-servicio svg { width: 20px; height: 18px; }
.formulario { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 24px; margin-top: 110px; }
.formulario__intro { grid-column: 1 / 5; }
.formulario__intro h3 { font: italic 400 36px/1.25 var(--lora); margin: 0 0 18px; }
.formulario__intro p { margin: 0; font-size: 16px; line-height: 24px; max-width: 34ch; }
.formulario form { grid-column: 6 / 13; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 26px 24px; }
.campo { display: grid; gap: 8px; min-width: 0; }
.campo--ancho { grid-column: 1 / -1; }
.campo label, .campo legend { font-size: 13px; letter-spacing: .08em; text-transform: uppercase; }
.campo input, .campo textarea { font: 400 18px/1.4 var(--hanken); color: var(--azul); background: transparent; border: 0; border-bottom: 1px solid var(--azul-60); padding: 8px 0; border-radius: 0; }
.campo textarea { resize: vertical; min-height: 96px; }
.campo input:focus, .campo textarea:focus { outline: none; border-color: var(--azul); box-shadow: 0 1px 0 var(--azul); }
fieldset.campo { border: 0; padding: 0; margin: 0; }
.chips { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 4px; }
.chip input { position: absolute; opacity: 0; pointer-events: none; }
.chip span { display: inline-block; padding: 8px 16px 9px; border: 1px solid var(--azul-60); border-radius: 999px; font: 400 15px/1.2 var(--lora); text-transform: uppercase; letter-spacing: .06em; cursor: pointer; transition: background .2s, color .2s; }
.chip input:checked + span { background: var(--azul); color: var(--beige-claro); border-color: var(--azul); }
.chip input:focus-visible + span { outline: 2px solid var(--azul); outline-offset: 3px; }
.consentimiento { grid-column: 1 / -1; display: flex; gap: 10px; align-items: flex-start; font-size: 14px; line-height: 20px; }
.consentimiento input { margin-top: 3px; accent-color: var(--azul); }
.enviar { grid-column: 1 / -1; justify-self: start; display: inline-flex; align-items: center; gap: 14px; padding: 15px 30px 16px; background: var(--azul); color: var(--beige-claro); border: 1px solid var(--azul); border-radius: 999px; font: 400 16px/1 var(--lora); text-transform: uppercase; letter-spacing: .06em; cursor: pointer; transition: background .3s, color .3s; }
.enviar:hover { background: transparent; color: var(--azul); }
.enviar svg { width: 24px; height: 21px; }
.error { grid-column: 1 / -1; margin: 0; font-size: 15px; }
.enviado { grid-column: 1 / -1; background: var(--beige-calido); padding: 28px; display: grid; gap: 14px; }
.enviado h4 { margin: 0; font: italic 400 26px/1.3 var(--lora); }
.enviado pre { margin: 0; white-space: pre-wrap; font: 400 15px/1.5 var(--hanken); background: var(--beige-claro); padding: 16px; max-height: 220px; overflow: auto; }
.enviado .acciones { display: flex; gap: 18px; flex-wrap: wrap; align-items: center; }
.btn-linea { background: none; border: 0; border-bottom: 1px solid var(--azul); padding: 4px 0; font: italic 400 18px/1.3 var(--lora); color: var(--azul); cursor: pointer; }
.nota-proto { font-size: 13px; color: var(--azul-80); margin: 0; }

/* Cabecera fija (siempre) */
.barra { position: fixed; top: env(safe-area-inset-top, 0px); left: 0; right: 0; z-index: 50; background: var(--beige-claro); border-bottom: 1px solid var(--azul-20); transform: translateY(-110%); transition: transform .45s cubic-bezier(.6,0,.2,1); }
.barra.visible { transform: none; }
.barra .wrap { display: flex; align-items: center; justify-content: space-between; gap: 24px; height: 72px; }
.barra__logo img { width: 116px; height: auto; }
.barra .nav { gap: 34px; }
.barra .nav a { font-size: 18px; }
.btn-ovalo { display: inline-flex; align-items: center; padding: 11px 22px 12px; border: 1px solid var(--azul); border-radius: 999px; font: 400 14px/1 var(--lora); text-transform: uppercase; letter-spacing: .06em; text-decoration: none; white-space: nowrap; transition: background .3s, color .3s; }
.btn-ovalo:hover { background: var(--azul); color: var(--beige-claro); }
.barra .hamburguesa { display: none; }


/* Cómo trabajamos */
.proceso { margin-top: 200px; scroll-margin-top: 120px; }
.proceso__pasos { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; margin: 80px 0 0; padding: 0; list-style: none; counter-reset: paso; }
.proceso__pasos li { position: relative; padding-top: 30px; border-top: 1px solid var(--azul); counter-increment: paso; min-width: 0; }
.proceso__pasos li::before { content: counter(paso, decimal-leading-zero); display: block; font: italic 400 64px/1 var(--lora); margin-bottom: 26px; }
.proceso__pasos h3 { margin: 0 0 12px; font: 400 30px/1.3 var(--lora); }
.proceso__pasos p { margin: 0; font-size: 18px; line-height: 23px; max-width: 30ch; }
.proceso__pasos li:not(:last-child) svg { position: absolute; top: -21px; right: -6px; width: 47px; height: 42px; background: var(--beige-claro); padding-left: 8px; }

/* Entrada de imágenes: desenfoque (elegido por Patricia y Andrea) */
.foto__img { overflow: hidden; }
html.img-desenfoque .revela-img img { opacity: 0; filter: blur(16px); transform: scale(1.06); transition: opacity 1.6s ease, filter 1.6s ease, transform 2s cubic-bezier(.2,.6,.2,1); }
html.img-desenfoque .revela-img.visto img { opacity: 1; filter: none; transform: none; }


/* ====================== MÓVIL (frame 425) ====================== */
@media (max-width: 899px) {
  .cabecera { padding-top: 36px; }
  .cabecera__fila { padding-bottom: 22px; }
  .cabecera__logo img, .menu-movil .cabecera__logo img { width: 136px; }
  .menu-movil .cabecera__logo img { width: 178px; }
  .cabecera .nav { display: none; }
  .hamburguesa { display: block; }

  .hero { display: block; margin-top: 64px; }
  .hero h1 { font-size: clamp(44px, 15.3vw, 65px); line-height: 1.28; }
  .ovalo { margin-left: 0; margin-right: .12em; }
  .br-movil { display: inline; }
  .br-desk { display: none; }
  .hero__intro { margin: 36px 0 0 auto; max-width: 172px; font-size: 14px; line-height: 18px; }

  .video { margin-top: 48px; }
  .video__marco { width: 100%; }
  .cita { margin-top: 70px; max-width: 290px; font-size: 20px; line-height: 26px; }
  .marquee { margin-top: 60px; }
  .marquee__item { font-size: 38px; gap: 20px; padding-right: 20px; }
  .asterisco { width: 22px; height: 21px; }

  .servicios-cab { display: block; margin-top: 110px; }
  .servicios-cab__titulo { font-size: 44px; line-height: 1.18; }
  .servicios-cab__titulo .lora-it { gap: 16px; }
  .flecha-abajo { width: 30px; height: 34px; }
  .cta-ovalo { margin: 56px auto 0; padding: 0 44px; aspect-ratio: 510 / 250; }
  .cta-ovalo strong { font-size: 24px; line-height: 30px; }
  .cta-ovalo span { font-size: 16px; line-height: 21px; }

  .servicios { grid-template-columns: 1fr; row-gap: 70px; padding-bottom: 0; margin-top: 70px; }
  .servicios::before, .servicios::after { display: none; }
  .servicio { width: 100%; padding-inline: max(var(--margen), env(safe-area-inset-left, 0px)) max(var(--margen), env(safe-area-inset-right, 0px)); box-sizing: border-box; }
  .servicio:nth-child(3n+2), .servicio:nth-child(3n+3) { transform: none; }
  .servicio__img { margin-inline: calc(-1 * var(--margen)); }
  .burbuja { left: max(var(--margen), 40px); width: 82px; }

  .porque { margin-top: 110px; }
  .porque__lista { margin-top: 44px; }
  .porque__lista li { display: block; padding: 26px 0 22px; }
  .porque__lista h3 { font-size: 26px; margin-bottom: 14px; }
  .porque__lista p { font-size: 16px; line-height: 21px; }

  .nosotras { margin-top: 110px; }
  .nosotras__bloque { display: block; }
  .nosotras__a .h2 { text-align: right; }
  .nosotras__texto { max-width: 300px; margin-left: auto; margin-right: auto; }
  .nosotras__texto .h2 + p { margin-top: 56px; }
  .nosotras__texto p { font-size: 14px; line-height: 21px; }
  .foto { width: 70%; margin: 40px 0 0 auto; }
  .nosotras__b .foto { margin-top: 0; }
  .nosotras__b .nosotras__texto { margin-top: 56px; }
  .etiqueta { font-size: 22px; line-height: 30px; padding: 6px 22px 6px 16px; gap: 10px; }
  .etiqueta svg { width: 30px; height: 27px; }
  .nosotras__a .etiqueta, .nosotras__b .etiqueta { left: -18%; right: auto; bottom: 34px; }

  .contacto { margin-top: 110px; }
  .contacto__filas { margin-top: 30px; }
  .contacto__fila { display: block; padding: 18px var(--margen) 14px; font-size: 40px; line-height: 1.25; }
  .contacto__fila .valores { display: block; }
  .contacto__fila .valores a { display: block; }

  .pie { padding-top: 70px; }
  .pie__fila { flex-direction: column-reverse; align-items: stretch; gap: 26px; }
  .pie__der { align-items: center; padding: 0 var(--margen); }
  .pie__legal { justify-content: space-between; align-self: stretch; gap: 12px; font-size: 12px; }
  .pie__logo { width: 100%; margin-left: 0; margin-bottom: 0; }

  .formulario { display: block; margin-top: 70px; }
  .formulario__intro { margin-bottom: 36px; }
  .formulario form { grid-template-columns: 1fr; }
  .barra .nav { display: none; }
  .barra .hamburguesa { display: block; }
  .barra .wrap { height: 60px; gap: 14px; }
  .barra .btn-ovalo { margin-left: auto; }
  .barra__logo img { width: 92px; }
  .btn-ovalo { padding: 9px 14px 10px; font-size: 12px; }
  .proceso { margin-top: 110px; }
  .proceso__pasos { grid-template-columns: 1fr; gap: 40px; margin-top: 44px; }
  .proceso__pasos li::before { font-size: 48px; margin-bottom: 18px; }
  .proceso__pasos li:not(:last-child) svg { display: none; }
}
@media (min-width: 900px) and (max-width: 1180px) {
  .nav { gap: 28px; }
  .nav a { font-size: 18px; }
  .hero h1 { grid-column: 1 / -1; }
  .hero__intro { grid-column: 7 / 13; grid-row: 2; margin-top: 40px; }
  .servicios-cab__titulo { grid-column: 1 / 8; }
  .barra .nav { display: none; }
}
/* ====== Ajustes de Patricia y Andrea (CAMBIOS WEB, 23/10/2026) ====== */
.servicio p {
font-size: 16px; line-height: 140%; margin: 0; text-wrap: pretty;
}
.servicio h3 {
font-family: var(--lora); font-style: italic;
font-weight: 400;
font-size: 22px;
line-height: 140%;
margin: 34px 0 16px;
text-wrap: balance;
}
@media (max-width: 899px) {
    .cta-ovalo span { font-size: 14px; line-height: 140%;
padding-bottom: 6px;
    }
}
@media (max-width: 899px) {
    .cta-ovalo strong {
 font-size: 20px;
line-height: 30px;
    }
}
@media (max-width: 899px) {
    .marquee__item { font-size: 22px; gap: 20px; padding-right: 20px;
    }
}
@media (max-width: 899px) {
    .servicios-cab__titulo {
font-size: 38px;
line-height: 1.18;
    }
}
@media (max-width: 899px) {
    .porque__lista h3 { font-size: 22px;
margin-bottom: 14px;
    }
}
@media (max-width: 899px) {
    .porque__lista p {
font-size: 16px; line-height: 140%;
    }
}
.proceso__pasos h3 {
margin: 0 0 12px; font: 400 30px / 1.3 var(--lora); font-size: 22px;
}
.proceso__pasos p {
 margin: 0;
font-size: 16px;
line-height: 140%;
max-width: 30ch;
}
@media (max-width: 899px) {
    .cita {
 margin-top: 70px;
max-width: 290px;
font-size: 16px;
 line-height: 140%;
    }
}
@media (max-width: 899px) {
    .contacto__fila {
display: block;
padding: 18px var(--margen) 14px;
font-size: 40px;
line-height: 150%;
    }
}
/* ====== Ajustes de Patricia (WhatsApp, 23/10/2026) ====== */
.formulario__intro h3 {
font: italic 400 36px / 1.25 var(--lora);
margin: 0 0 18px;
font-size: 22px;
}
div#chips {
 margin-top: 20px;
}
.campo input, .campo textarea {
font: 400 18px / 1.4 var(--hanken);
color: var(--azul);
background: transparent;
border: 0;
border-bottom: 1px solid var(--azul-60);
padding: 8px 0;
border-radius: 0;
font-size: 14px;
}
@media (max-width: 899px) {
.formulario__intro p {
margin: 0;
 font-size: 14px;
 line-height: 140%;
 max-width: 34ch;
}}

/* ---------- Prioridad sobre los estilos genéricos de Elementor ---------- */
.servicio .servicio__img img { width: 100%; height: 100%; object-fit: cover; max-width: none; }
.foto .foto__img img { width: 100%; height: auto; aspect-ratio: 9 / 10; object-fit: cover; }
.cabecera__logo img, .barra__logo img, .pie__logo img { max-width: none; }

/* ---------- Formulario real (WordPress) ---------- */
.enviado p { margin: 0; font-size: 16px; line-height: 24px; }
.enviar[disabled] { opacity: .6; cursor: wait; }
.campo--trampa { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

/* ---------- Páginas legales ---------- */
.legal { margin-top: 124px; }
.legal h1 { font-family: var(--lora); font-style: italic; font-weight: 400; font-size: 60px; line-height: 77px; margin: 0 0 80px; max-width: 760px; text-wrap: balance; }
.legal__texto { max-width: 1150px; font-size: 16px; line-height: 21px; }
.legal__texto h2, .legal__texto h3 { font-family: var(--hanken); font-weight: 600; font-size: 16px; line-height: 21px; margin: 44px 0 14px; text-transform: none; }
.legal__texto p, .legal__texto ul, .legal__texto ol { margin: 0 0 14px; }
.legal__texto a { text-decoration: underline; text-underline-offset: 3px; }
.legal__texto table { width: 100%; border-collapse: collapse; margin: 8px 0 18px; font-size: 14px; line-height: 19px; }
.legal__texto th, .legal__texto td { text-align: left; vertical-align: top; padding: 10px 12px 10px 0; border-bottom: 1px solid var(--azul-20); }
.legal__texto th { font-weight: 600; border-bottom-color: var(--azul); }
@media (max-width: 899px) { .legal__texto table { display: block; overflow-x: auto; font-size: 13px; } .legal__texto th, .legal__texto td { min-width: 110px; } }
@media (max-width: 899px) {
  .legal { margin-top: 64px; }
  .legal h1 { font-size: 44px; line-height: 1.2; margin-bottom: 44px; }
  .legal__texto { font-size: 14px; line-height: 20px; }
  .legal__texto h2, .legal__texto h3 { font-size: 14px; }
}

/* Móviles estrechos (375 px): el óvalo de «¿Tienes una idea?» un poco más alto para que el texto respire */
@media (max-width: 400px) { .cta-ovalo { aspect-ratio: 510 / 300; padding: 0 34px; } }
