:root{
  --black:#090909;
  --white:#ffffff;
  --gray:#eaf4fa;
  --line:#cfdae1;
  --ink:#1d1d1d;
  --muted:#6e6e6e;
  --max:1420px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--ink);
  background:var(--white);
  font-family:"Inter", Arial, sans-serif;
  line-height:1.55;
}
a{color:inherit}
img{max-width:100%}
.container{width:min(var(--max),calc(100% - 64px));margin:0 auto}

.site-header{
  background:var(--black);
  color:white;
}
.header-inner{
  min-height:112px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:48px;
}
.brand{
  text-decoration:none;
  display:flex;
  flex-direction:column;
  flex:0 0 auto;
  line-height:1;
  align-items:center;
}
.brand-name{
  font-family:"Source Serif 4",Georgia,serif;
  font-size:19px;
  font-weight:500;
  letter-spacing:.055em;
  color:white;
  text-align:center;
}
.brand-name .initial{font-size:1.13em}
.brand-role{
  margin-top:8px;
  font-family:"Montserrat",Arial,sans-serif;
  font-size:11px;
  letter-spacing:.19em;
  color:#d1d1d1;
  text-align:center;
}
.main-menu{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:34px;
}
.main-menu a{
  text-decoration:none;
  font-family:"Montserrat",Arial,sans-serif;
  font-size:12px;
  font-weight:400;
  letter-spacing:.035em;
  color:#e0e0e0;
}
.main-menu a:hover{color:white}
.menu-toggle{
  display:none;
  border:1px solid #555;
  background:none;
  color:white;
  font-family:"Montserrat",Arial,sans-serif;
  font-size:11px;
  padding:8px 11px;
}

.hero{
  padding:74px 0 82px;
}
.hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) 325px;
  gap:88px;
  align-items:center;
}
.hero-copy h1{
  margin:0;
  max-width:1060px;
  font-size:44pt;
  line-height:1.13;
  font-weight:300;
  letter-spacing:-.025em;
}
.hero-subtitle{
  margin:42px 0 0;
  max-width:1080px;
  font-size:18pt;
  line-height:1.3;
  font-weight:300;
  color:var(--muted);
}
.outline-button{
  display:inline-block;
  margin-top:60px;
  padding:17px 24px;
  border:1px solid #888;
  text-decoration:none;
  font-family:"Montserrat",Arial,sans-serif;
  font-size:12px;
  letter-spacing:.045em;
}
.outline-button:hover{
  background:var(--black);
  color:white;
  border-color:var(--black);
}
.portrait-column{
  justify-self:end;
  width:100%;
  max-width:315px;
  text-align:center;
}
.portrait{
  margin:0;
  width:100%;
  aspect-ratio:3/4;
  background:#000;
  overflow:hidden;
}
.portrait img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
}
.portrait-name{
  margin:8px 0 0;
  font-family:"Montserrat",Arial,sans-serif;
  font-size:12pt;
  line-height:1.2;
  color:var(--muted);
}
.portrait-role{
  margin:2px 0 0;
  font-family:"Montserrat",Arial,sans-serif;
  font-size:10.5pt;
  line-height:1.15;
  color:var(--muted);
}

.section{padding:78px 0}
.section-gray{background:var(--gray)}
.section-grid{
  display:grid;
  grid-template-columns:.88fr 1.12fr;
  gap:90px;
}
.section-label{
  margin:0 0 14px;
  font-family:"Montserrat",Arial,sans-serif;
  font-size:11px;
  font-weight:500;
  letter-spacing:.14em;
  color:#656565;
}
h2{
  margin:0;
  font-size:30pt;
  line-height:1.18;
  font-weight:300;
  letter-spacing:-.015em;
}
.section-body{
  font-size:15pt;
  font-weight:300;
  color:var(--muted);
}
.section-body p{margin:0 0 22px}
.text-list{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0 36px;
  margin-top:28px;
  border-top:1px solid var(--line);
}
.text-list span{
  padding:13px 0;
  border-bottom:1px solid var(--line);
  color:var(--ink);
}
.credential{
  display:inline-block;
  color:var(--ink);
  padding-top:18px;
  border-top:1px solid var(--line);
}
.two-data{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:28px;
  margin-top:34px;
}
.two-data div{
  padding-top:15px;
  border-top:1px solid var(--line);
}
.two-data strong,.two-data span{display:block}
.two-data strong{color:var(--ink);font-weight:500}
.two-data span{font-size:13pt;margin-top:4px}

.books-header{
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:40px;
  margin-bottom:38px;
}
.books-header h2{font-size:30pt}
.books-header>p{
  margin:0;
  max-width:420px;
  color:var(--muted);
  font-size:15pt;
}
.books-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:48px;
}
.book{
  display:grid;
  grid-template-columns:125px 1fr;
  gap:20px;
  align-items:start;
}
.cover{
  aspect-ratio:2/3;
  padding:14px;
  display:flex;
  align-items:flex-end;
  font-size:12pt;
  line-height:1.2;
  box-shadow:0 10px 24px rgba(0,0,0,.12);
}
.cover-dark{background:#1c1c1c;color:white}
.cover-mid{background:#666;color:white}
.cover-light{background:#ddd;color:#222}
.book h3{
  margin:0 0 7px;
  font-size:17pt;
  font-weight:500;
  line-height:1.25;
}
.book p{margin:0;color:var(--muted);font-size:13pt}
.note{margin-top:28px;color:#777;font-size:11pt}
.mail{display:inline-block;margin:4px 0 22px;font-size:16pt}

.site-footer{
  background:var(--black);
  color:white;
  padding:66px 0;
}
.footer-grid{
  display:grid;
  grid-template-columns:.8fr 1.25fr 1fr;
  gap:62px;
  align-items:start;
}
.footer-grid>div+div{
  border-left:1px solid #3a3a3a;
  padding-left:48px;
}
.footer-grid p{
  margin:0 0 10px;
  color:#d0d0d0;
  font-size:12pt;
}
.footer-socials{
  display:flex;
  gap:26px;
}
.footer-socials a{
  color:white;
  text-decoration:none;
  font-family:"Montserrat",Arial,sans-serif;
  font-size:20px;
  font-weight:600;
}

@media(max-width:1100px){
  .main-menu{gap:20px}
  .main-menu a{font-size:10.5px}
  .hero-grid{grid-template-columns:minmax(0,1fr) 300px;gap:58px}
  .hero-copy h1{font-size:38pt}
  .hero-subtitle{font-size:16pt}
}
@media(max-width:900px){
  .header-inner{min-height:88px}
  .menu-toggle{display:block}
  .main-menu{
    display:none;
    position:absolute;
    left:0;
    right:0;
    top:88px;
    background:var(--black);
    padding:24px 32px 30px;
    flex-direction:column;
    align-items:flex-start;
    z-index:20;
    border-top:1px solid #333;
  }
  .main-menu.open{display:flex}
  .site-header{position:relative}
  .hero-grid,.section-grid{grid-template-columns:1fr;gap:42px}
  .portrait-column{justify-self:start;max-width:330px}
  .hero-copy h1{font-size:34pt}
  .hero-subtitle{font-size:15pt}
  .books-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .footer-grid>div+div{border-left:0;border-top:1px solid #3a3a3a;padding-left:0;padding-top:28px}
}
@media(max-width:600px){
  .container{width:min(var(--max),calc(100% - 28px))}
  .header-inner{min-height:78px}
  .brand-name{font-size:16px}
  .brand-role{font-size:9px}
  .main-menu{top:78px}
  .hero{padding:44px 0 56px}
  .hero-copy h1{font-size:29pt;line-height:1.11}
  .hero-subtitle{margin-top:26px;font-size:14pt}
  .outline-button{margin-top:36px;width:100%;text-align:center}
  .portrait-column{max-width:none}
  .section{padding:58px 0}
  h2,.books-header h2{font-size:24pt}
  .section-body{font-size:14pt}
  .text-list,.two-data{grid-template-columns:1fr}
  .books-header{align-items:flex-start;flex-direction:column}
  .book{grid-template-columns:96px 1fr}
  .book h3{font-size:15pt}
  .cover{font-size:9.5pt}
}


/* V9 - acceso al lector, sin alterar el look and feel aprobado */
.book-read{
  display:inline-block;
  margin-top:18px;
  padding:9px 13px;
  border:1px solid #8b8b8b;
  text-decoration:none;
  font-family:"Montserrat",Arial,sans-serif;
  font-size:10px;
  letter-spacing:.07em;
  color:var(--ink);
  background:transparent;
}
.book-read:hover{
  background:var(--black);
  color:white;
  border-color:var(--black);
}


/* V10 - biblioteca completa: sólo reemplaza las tapas provisionales por las reales */
.book-cover-image{
  width:125px;
  height:auto;
  display:block;
  box-shadow:0 10px 24px rgba(0,0,0,.12);
}
@media(max-width:600px){
  .book-cover-image{width:96px}
}


/* V11 - ajustes de biblioteca solicitados */
.book-cover-image{
  width:150px !important;
  height:225px !important;
  object-fit:contain;
  object-position:center;
  background:#fff;
  box-shadow:0 10px 24px rgba(0,0,0,.12);
}

/* Botones de la página en gris suave, manteniendo el estilo sobrio aprobado */
.book-read,
.cta,
.button,
.btn{
  background:#eeeeee !important;
  border-color:#b8b8b8 !important;
  color:#1d1d1d !important;
}
.book-read:hover,
.cta:hover,
.button:hover,
.btn:hover{
  background:#e2e2e2 !important;
  border-color:#9f9f9f !important;
  color:#1d1d1d !important;
}

@media(max-width:600px){
  .book-cover-image{
    width:126px !important;
    height:189px !important;
  }
}


/* V13 - alineación visual exacta de las tres tapas
   Referencia: Un modelo general de gestión por competencias.
   Misma altura visible; ancho proporcional propio; sin cajas blancas añadidas. */
.book{
  grid-template-columns:max-content 1fr !important;
  align-items:start !important;
}

.book-cover-image{
  height:225px !important;
  width:auto !important;
  max-width:none !important;
  object-fit:unset !important;
  object-position:unset !important;
  background:transparent !important;
  display:block !important;
  align-self:start !important;
}

@media(max-width:600px){
  .book{
    grid-template-columns:max-content 1fr !important;
  }
  .book-cover-image{
    height:147px !important;
    width:auto !important;
  }
}


/* V14 - botones de los tres libros alineados exactamente con la base de las tapas */
.book > div{
  height:225px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
}

.book-read{
  margin-top:auto !important;
  align-self:flex-start !important;
}

@media(max-width:600px){
  .book > div{
    height:147px !important;
  }
}


/* V16 - ajustes visuales solicitados */

/* Botón principal en el mismo gris suave de los botones de libros */
.outline-button{
  background:#eeeeee !important;
  border-color:#b8b8b8 !important;
  color:#1d1d1d !important;
}
.outline-button:hover{
  background:#e2e2e2 !important;
  border-color:#9f9f9f !important;
  color:#1d1d1d !important;
}

/* Rótulos internos de sección ligeramente mayores; no modifica el menú superior */
.section-label{
  font-size:13px !important;
}

/* Presencial / online pasan debajo del botón del hero, manteniéndose lado a lado */
.hero-two-data{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:28px;
  margin-top:34px;
  max-width:760px;
}
.hero-two-data > div{
  padding-top:15px;
  border-top:1px solid var(--line);
}
.hero-two-data strong,
.hero-two-data span{
  display:block;
}
.hero-two-data strong{
  color:var(--ink);
  font-weight:500;
  font-size:15pt;
}
.hero-two-data span{
  font-size:13pt;
  margin-top:4px;
  color:var(--muted);
}

/* Al eliminar el texto lateral de Libros, el encabezado queda limpio */
.books-header{
  justify-content:flex-start !important;
}

/* Footer más amplio para ubicación + mapa, dejando espacio futuro para redes/WhatsApp */
.site-footer{
  padding:74px 0 82px !important;
}
.footer-grid{
  grid-template-columns:.7fr 1fr 1.55fr !important;
  gap:52px !important;
}
.footer-location-map{
  display:grid;
  grid-template-columns:minmax(180px,.75fr) minmax(260px,1.25fr);
  gap:28px;
  align-items:center;
}
.footer-location-copy p{
  font-size:13pt !important;
  line-height:1.4;
  color:#e2e2e2 !important;
}
.footer-map{
  width:100%;
  min-height:190px;
}
.footer-map iframe{
  display:block;
  width:100%;
  height:190px;
  border:0;
}

@media(max-width:1100px){
  .footer-grid{
    grid-template-columns:.6fr .9fr 1.5fr !important;
    gap:36px !important;
  }
  .footer-location-map{
    grid-template-columns:1fr;
    gap:16px;
  }
}

@media(max-width:900px){
  .hero-two-data{
    max-width:none;
  }
  .footer-grid{
    grid-template-columns:1fr !important;
  }
  .footer-location-map{
    grid-template-columns:1fr !important;
  }
}

@media(max-width:600px){
  .section-label{
    font-size:12px !important;
  }
  .hero-two-data{
    grid-template-columns:1fr;
    gap:18px;
  }
  .hero-two-data strong{
    font-size:14pt;
  }
  .hero-two-data span{
    font-size:12.5pt;
  }
}


/* V17 - bloque presencial/online correctamente ubicado en Contacto */
.contact-two-data{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:28px;
  margin-top:34px;
  max-width:760px;
}
.contact-two-data > div{
  padding-top:15px;
  border-top:1px solid var(--line);
}
.contact-two-data strong,
.contact-two-data span{
  display:block;
}
.contact-two-data strong{
  color:var(--ink);
  font-weight:500;
  font-size:15pt;
}
.contact-two-data span{
  font-size:13pt;
  margin-top:4px;
  color:var(--muted);
}

@media(max-width:600px){
  .contact-two-data{
    grid-template-columns:1fr;
    gap:18px;
  }
  .contact-two-data strong{
    font-size:14pt;
  }
  .contact-two-data span{
    font-size:12.5pt;
  }
}


/* V18 - identidad debajo de la foto */
.portrait-name{
  font-size:16pt !important;
  line-height:1.18 !important;
  margin-top:12px !important;
}
.portrait-role{
  font-size:14pt !important;
  line-height:1.18 !important;
  margin-top:3px !important;
}

/* V18 - mapa de ubicación aproximada, sin pin ni dirección exacta */
.footer-map{
  min-height:210px !important;
}
#approx-map{
  width:100%;
  height:210px;
  min-height:210px;
  background:#e9eef1;
}
#approx-map .leaflet-control-attribution{
  font-size:9px;
}
#approx-map .leaflet-container{
  cursor:default;
}

@media(max-width:600px){
  .portrait-name{
    font-size:15pt !important;
  }
  .portrait-role{
    font-size:13pt !important;
  }
  #approx-map{
    height:200px;
    min-height:200px;
  }
}


/* Leaflet core mínimo incluido localmente para que el mapa funcione también al abrir index.html desde el disco */
.leaflet-pane,
.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow,
.leaflet-tile-container,
.leaflet-pane > svg,
.leaflet-pane > canvas,
.leaflet-zoom-box,
.leaflet-image-layer,
.leaflet-layer {
  position:absolute;
  left:0;
  top:0;
}
.leaflet-container {
  overflow:hidden;
  position:relative;
  outline:0;
  font-family:Arial, Helvetica, sans-serif;
}
.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow {
  user-select:none;
  -webkit-user-drag:none;
}
.leaflet-tile {
  filter:inherit;
  visibility:hidden;
}
.leaflet-tile-loaded {
  visibility:inherit;
}
.leaflet-zoom-animated {
  transform-origin:0 0;
}
.leaflet-map-pane canvas {
  z-index:100;
}
.leaflet-map-pane svg {
  z-index:200;
}
.leaflet-tile-pane {
  z-index:200;
}
.leaflet-overlay-pane {
  z-index:400;
}
.leaflet-shadow-pane {
  z-index:500;
}
.leaflet-marker-pane {
  z-index:600;
}
.leaflet-tooltip-pane {
  z-index:650;
}
.leaflet-popup-pane {
  z-index:700;
}
.leaflet-map-pane svg {
  pointer-events:none;
}
.leaflet-control {
  position:relative;
  z-index:800;
  pointer-events:auto;
}
.leaflet-top,
.leaflet-bottom {
  position:absolute;
  z-index:1000;
  pointer-events:none;
}
.leaflet-top { top:0; }
.leaflet-right { right:0; }
.leaflet-bottom { bottom:0; }
.leaflet-left { left:0; }
.leaflet-control-attribution {
  margin:0;
  padding:0 5px;
  background:rgba(255,255,255,.8);
  font-size:9px;
  line-height:16px;
}
.leaflet-bottom.leaflet-right .leaflet-control {
  margin:0;
}


/* V20 - mapa estable: se vuelve al Google Maps embebido simple */
.footer-map{
  min-height:190px !important;
}
.footer-map iframe{
  display:block !important;
  width:100% !important;
  height:190px !important;
  min-height:190px !important;
  border:0 !important;
}


/* V22 - ajustes de portada y jerarquía de títulos solicitados */
/* Portada: el mensaje pasa a ser el elemento principal y la foto reduce protagonismo. */
.hero-grid{
  grid-template-columns:minmax(0,1fr) 245px;
  gap:76px;
}
.hero-copy h1{
  font-size:39pt;
  line-height:1.14;
  font-weight:600;
}
.hero-subtitle{
  margin-top:34px;
  font-size:16pt;
  line-height:1.35;
}
.portrait-column{
  max-width:235px;
}
.portrait-name{
  font-size:13pt !important;
  margin-top:9px !important;
}
.portrait-role{
  font-size:11.5pt !important;
}

/* Todos los títulos de las secciones siguientes quedan en negrita, sin cambiar su tamaño. */
h2{
  font-weight:600;
}

@media(max-width:1100px){
  .hero-grid{grid-template-columns:minmax(0,1fr) 225px;gap:52px}
  .hero-copy h1{font-size:36pt}
  .hero-subtitle{font-size:15pt}
  .portrait-column{max-width:215px}
}
@media(max-width:900px){
  .hero-grid{grid-template-columns:1fr;gap:42px}
  .portrait-column{max-width:220px}
  .hero-copy h1{font-size:34pt}
}
@media(max-width:600px){
  .hero-copy h1{font-size:29pt;line-height:1.11}
  .hero-subtitle{margin-top:26px;font-size:14pt}
  .portrait-column{max-width:200px}
  .portrait-name{font-size:12.5pt !important}
  .portrait-role{font-size:11pt !important}
}


/* V23 - ajustes específicos para móvil */
/* Menú móvil: icono hamburguesa en lugar de la palabra MENÚ. */
.menu-toggle{
  width:42px;
  height:38px;
  padding:0;
  align-items:center;
  justify-content:center;
}
.hamburger{
  width:20px;
  display:flex;
  flex-direction:column;
  gap:4px;
}
.hamburger span{
  display:block;
  height:2px;
  width:100%;
  background:#fff;
}
@media(max-width:900px){
  .menu-toggle{display:flex}
}

/* El mapa muestra una zona fija de Recoleta y no abre Maps al tocarlo. */
.footer-map iframe{
  pointer-events:none !important;
}

/* En teléfonos, el retrato queda centrado respecto del ancho de la pantalla. */
@media(max-width:600px){
  .portrait-column{
    justify-self:center !important;
    margin-left:auto;
    margin-right:auto;
  }
}


/* V24 - integración selectiva de observaciones de Martina
   Se mantiene la identidad general V23 y se incorporan jerarquía, contraste y recursos de lectura. */
.hero-label{
  margin:0 0 18px;
  font-family:"Montserrat",Arial,sans-serif;
  font-size:12px;
  font-weight:600;
  letter-spacing:.16em;
  color:#6b6b6b;
}

/* CTA con mayor jerarquía visual, sin cambiar estructura ni ubicación. */
.outline-button{
  background:#252525 !important;
  border-color:#252525 !important;
  color:#fff !important;
  font-weight:600;
  transition:background .18s ease,border-color .18s ease;
}
.outline-button span{
  display:inline-block;
  margin-left:8px;
  font-size:1.15em;
}
.outline-button:hover{
  background:#090909 !important;
  border-color:#090909 !important;
  color:#fff !important;
}

/* Motivos como etiquetas suaves: lectura más rápida y menos aspecto de tabla. */
.text-list{
  display:flex !important;
  flex-wrap:wrap;
  gap:10px 10px !important;
  margin-top:28px;
  border-top:0 !important;
}
.text-list span{
  padding:9px 14px !important;
  border:1px solid #d9e4ea !important;
  border-radius:999px;
  background:rgba(255,255,255,.68);
  color:#3f464b;
  font-size:12.5pt;
  line-height:1.2;
}

/* Un único bloque oscuro genera ritmo sin convertir toda la web en una estética nueva. */
.section-dark{
  background:#292c30;
  color:#fff;
}
.section-dark .section-label{
  color:#c8d0d5;
}
.section-dark h2{
  color:#fff;
}
.section-dark .section-body{
  color:#d6dadd;
}
.section-dark .section-body strong{
  color:#fff;
  font-weight:600;
}

/* Jerarquía dentro de textos largos, aplicada sólo a frases de entrada. */
#perfil .section-body strong{
  color:#333;
  font-weight:600;
}

/* Libros: una base visual muy leve para ordenar las tres piezas sin convertirlas en tarjetas pesadas. */
.book{
  padding:18px;
  background:#f7fafc;
  border:1px solid #edf2f5;
}

@media(max-width:900px){
  .hero-label{margin-bottom:14px}
}
@media(max-width:600px){
  .hero-label{font-size:10.5px;margin-bottom:13px}
  .text-list{gap:8px !important}
  .text-list span{font-size:11.5pt;padding:8px 12px !important}
  .book{padding:14px}
}

/* V25 - prueba con énfasis tipográfico + footer inspirado en la propuesta de Martina */
/* Se mantiene el título completo; sólo se enfatiza una palabra clave, como prueba visual. */
.hero-copy h1 em{
  font-style:italic;
  font-weight:500;
}

/* Footer: composición en tres columnas, iconografía sutil y cierre inferior. */
.site-footer{
  background:#171717;
  color:#fff;
  padding:58px 0 0;
}
.footer-main{
  display:grid;
  grid-template-columns:1.05fr 1.35fr .7fr;
  gap:76px;
  align-items:start;
  padding-bottom:48px;
}
.footer-name{
  margin:0;
  font-family:"Source Serif 4",Georgia,serif;
  font-size:16px;
  font-weight:600;
  letter-spacing:.075em;
  color:#fff;
}
.footer-role{
  margin:5px 0 20px;
  font-family:"Montserrat",Arial,sans-serif;
  font-size:9px;
  letter-spacing:.2em;
  color:#a9a9a9;
}
.footer-intro{
  margin:0;
  max-width:340px;
  font-size:11.5pt;
  line-height:1.55;
  color:#bcbcbc;
}
.footer-heading{
  margin:0 0 18px;
  font-family:"Montserrat",Arial,sans-serif;
  font-size:10px;
  font-weight:600;
  letter-spacing:.16em;
  color:#bdbdbd;
}
.footer-contact{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
.footer-contact-row{
  display:flex;
  align-items:flex-start;
  gap:11px;
  margin:0 0 13px;
  color:#c8c8c8;
  font-size:11.5pt;
  line-height:1.42;
  text-decoration:none;
}
a.footer-contact-row:hover{color:#fff}
.footer-mini-icon{
  width:18px;
  height:18px;
  flex:0 0 18px;
  margin-top:1px;
  color:#a8a8a8;
}
.footer-mini-icon svg,
.footer-social-icon svg{
  display:block;
  width:100%;
  height:100%;
  fill:none;
  stroke:currentColor;
  stroke-width:1.6;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.footer-social-icon .fill-dot{
  fill:currentColor;
  stroke:none;
}
.footer-social-icons{
  display:flex;
  gap:11px;
}
.footer-social-icon{
  width:38px;
  height:38px;
  border:1px solid #424242;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#c9c9c9;
}
.footer-social-icon svg{
  width:18px;
  height:18px;
}
.footer-bottom{
  min-height:64px;
  border-top:1px solid #333;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
}
.footer-bottom p{
  margin:0;
  font-size:10.5pt;
  color:#8f8f8f;
}
.footer-bottom a{
  text-decoration:none;
  font-family:"Montserrat",Arial,sans-serif;
  font-size:9.5px;
  letter-spacing:.12em;
  color:#a9a9a9;
}
.footer-bottom a:hover{color:#fff}

@media(max-width:900px){
  .footer-main{
    grid-template-columns:1fr 1fr;
    gap:42px 54px;
  }
  .footer-follow{grid-column:1 / -1}
}
@media(max-width:600px){
  .footer-main{
    grid-template-columns:1fr;
    gap:34px;
    padding-bottom:38px;
  }
  .footer-follow{grid-column:auto}
  .footer-main > div + div{
    border-top:1px solid #333;
    padding-top:28px;
  }
  .footer-bottom{
    min-height:82px;
    align-items:flex-start;
    justify-content:center;
    flex-direction:column;
    gap:8px;
    padding:18px 0 20px;
  }
}


/* V26 - consolidación: correo profesional, matrícula sin identificador y mapa aproximado fijo */
.footer-map-section{
  display:grid;
  grid-template-columns:minmax(220px,.72fr) minmax(0,1.55fr);
  gap:54px;
  align-items:center;
  padding:34px 0 42px;
  border-top:1px solid #333;
}
.footer-map-copy p:last-child{
  margin:0;
  max-width:420px;
  color:#bcbcbc;
  font-size:11.5pt;
  line-height:1.55;
}
.footer-map{
  width:100%;
  height:235px;
  overflow:hidden;
  border:1px solid #3b3b3b;
  background:#e9e9e9;
}
.footer-map iframe{
  display:block;
  width:100%;
  height:100%;
  border:0;
  pointer-events:none !important;
  filter:grayscale(100%) contrast(.94) brightness(.96);
}
@media(max-width:900px){
  .footer-map-section{
    grid-template-columns:1fr;
    gap:22px;
  }
  .footer-map-copy p:last-child{max-width:none}
}
@media(max-width:600px){
  .footer-map-section{
    padding:30px 0 34px;
  }
  .footer-map{height:210px}
}


/* V29 - mapa estático corregido */
.footer-map{
  width:100%;
  max-width:620px;
  height:auto;
  overflow:hidden;
  border:1px solid #3b3b3b;
  background:#171717;
  justify-self:end;
}
.footer-map img{
  display:block;
  width:100%;
  height:auto;
  border:0;
}
@media(max-width:900px){
  .footer-map{
    max-width:620px;
    justify-self:start;
  }
}
@media(max-width:600px){
  .footer-map{
    width:100%;
    max-width:none;
  }
}

/* V30 - distribución del footer según maqueta del usuario */
.footer-layout-v30{
  display:grid;
  grid-template-columns:minmax(280px,.78fr) minmax(520px,1.22fr);
  gap:72px;
  align-items:start;
}
.footer-left-v30{
  display:flex;
  flex-direction:column;
  gap:58px;
}
.footer-right-v30{
  display:flex;
  flex-direction:column;
  gap:34px;
}
.footer-right-v30 .footer-map-copy{
  padding-top:2px;
}
.footer-right-v30 .footer-map-copy p:not(.footer-heading){
  margin:0;
  max-width:620px;
  color:#d0d0d0;
  font-size:13pt;
  line-height:1.5;
}
.footer-right-v30 .footer-map{
  width:100%;
  max-width:none;
  border:1px solid #3b3b3b;
  background:#171717;
  overflow:hidden;
}
.footer-right-v30 .footer-map img{
  display:block;
  width:100%;
  height:auto;
}
.footer-left-v30 .footer-contact,
.footer-left-v30 .footer-follow{
  margin:0;
}
.footer-layout-v30 + .footer-bottom{
  margin-top:54px;
  padding-top:24px;
  border-top:1px solid #2e2e2e;
}

@media(max-width:1050px){
  .footer-layout-v30{
    grid-template-columns:minmax(250px,.8fr) minmax(430px,1.2fr);
    gap:44px;
  }
}
@media(max-width:820px){
  .footer-layout-v30{
    grid-template-columns:1fr;
    gap:54px;
  }
  .footer-left-v30{
    gap:36px;
  }
  .footer-right-v30{
    gap:24px;
  }
}
@media(max-width:600px){
  .footer-layout-v30{
    gap:42px;
  }
  .footer-left-v30{
    gap:30px;
  }
  .footer-right-v30 .footer-map-copy p:not(.footer-heading){
    font-size:12.5pt;
  }
  .footer-layout-v30 + .footer-bottom{
    margin-top:40px;
  }
}

/* V31 - adaptación móvil específica. No modifica la versión PC aprobada. */
@media(max-width:600px){

  /* Márgenes y cabecera más compactos */
  .container{
    width:calc(100% - 32px);
  }
  .header-inner{
    min-height:74px;
    gap:16px;
  }
  .brand{
    align-items:flex-start;
  }
  .brand-name{
    font-size:15.5px;
    letter-spacing:.045em;
    text-align:left;
  }
  .brand-role{
    margin-top:6px;
    font-size:8.5px;
    text-align:left;
  }
  .menu-toggle{
    border:0;
    width:36px;
    height:36px;
  }
  .main-menu{
    top:74px;
    padding:22px 16px 26px;
    gap:18px;
  }
  .main-menu a{
    font-size:11px;
  }

  /* Portada móvil: lectura más clara y menos aire innecesario */
  .hero{
    padding:38px 0 48px;
  }
  .hero-grid{
    gap:34px;
  }
  .hero-label{
    margin-bottom:12px;
    font-size:10px;
  }
  .hero-copy h1{
    font-size:27pt;
    line-height:1.10;
    letter-spacing:-.022em;
  }
  .hero-subtitle{
    margin-top:22px;
    font-size:13.25pt;
    line-height:1.42;
  }
  .outline-button{
    margin-top:30px;
    padding:15px 16px;
    font-size:10.5px;
  }

  /* Foto: centrada, algo más pequeña y con separación propia */
  .portrait-column{
    max-width:176px !important;
    justify-self:center !important;
    margin:2px auto 0 !important;
  }
  .portrait-name{
    margin-top:9px !important;
    font-size:11.5pt !important;
  }
  .portrait-role{
    font-size:10pt !important;
  }

  /* Secciones: menos altura, títulos contenidos y bloques más legibles */
  .section{
    padding:48px 0;
  }
  .section-grid{
    gap:25px;
  }
  .section-label{
    margin-bottom:10px;
    font-size:10.5px !important;
  }
  h2,
  .books-header h2{
    font-size:22.5pt;
    line-height:1.16;
  }
  .section-body{
    font-size:13.25pt;
    line-height:1.5;
  }
  .section-body p{
    margin-top:0;
  }
  .text-list{
    gap:8px !important;
    margin-top:22px;
  }
  .text-list span{
    padding:8px 11px !important;
    font-size:11.25pt;
  }

  /* Libros: cada libro respira como unidad y no queda apretado */
  .books-grid{
    gap:30px;
  }
  .book{
    gap:17px !important;
  }
  .book-cover-image{
    height:132px !important;
  }
  .book > div{
    height:132px !important;
  }
  .book h3{
    font-size:13.5pt;
    line-height:1.25;
  }
  .book-read{
    font-size:8.5px;
    padding:8px 10px;
  }

  /* Contacto */
  .contact-two-data{
    margin-top:26px;
    gap:16px;
  }
  .mail{
    overflow-wrap:anywhere;
  }

  /* Footer móvil: composición propia, no copia del desktop */
  .site-footer{
    padding-top:44px;
  }
  .footer-layout-v30{
    display:flex;
    flex-direction:column;
    gap:38px;
  }
  .footer-left-v30{
    gap:30px;
  }
  .footer-right-v30{
    gap:18px;
  }
  .footer-name{
    font-size:14px;
  }
  .footer-role{
    margin-top:6px;
    font-size:9px;
  }
  .footer-intro{
    margin-top:22px;
    font-size:11.75pt;
    line-height:1.48;
  }
  .footer-heading{
    margin-bottom:16px;
    font-size:9.5px;
  }
  .footer-contact-row{
    font-size:11.25pt;
    gap:10px;
    margin-top:12px;
    overflow-wrap:anywhere;
  }
  .footer-social-icons{
    gap:10px;
  }
  .footer-social-icon{
    width:38px;
    height:38px;
  }

  /* En móvil, UBICACIÓN funciona como bloque visual independiente. */
  .footer-right-v30{
    padding-top:30px;
    border-top:1px solid #2e2e2e;
  }
  .footer-right-v30 .footer-map-copy p:not(.footer-heading){
    font-size:11.75pt;
    line-height:1.48;
    max-width:none;
  }
  .footer-right-v30 .footer-map{
    width:100%;
    border:0;
    background:transparent;
  }
  .footer-right-v30 .footer-map img{
    width:100%;
    border-radius:6px;
  }

  /* Cierre más compacto */
  .footer-layout-v30 + .footer-bottom{
    margin-top:34px;
    padding-top:18px;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:12px;
  }
  .footer-bottom p,
  .footer-bottom a{
    font-size:9.5px;
  }
}


/* V34 - revisión de textos y Motivos de consulta */
#motivo .section-grid{
  align-items:start;
}
#motivo h2{
  font-style:normal;
}
.motives-list{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  grid-template-columns:1fr;
  gap:0;
}
.motives-list li{
  position:relative;
  margin:0;
  padding:12px 0 12px 25px;
  border-bottom:1px solid var(--line);
  color:var(--ink);
  font-size:15pt;
  font-weight:300;
  line-height:1.42;
}
.motives-list li:first-child{
  border-top:1px solid var(--line);
}
.motives-list li::before{
  content:"";
  position:absolute;
  left:2px;
  top:1.12em;
  width:7px;
  height:7px;
  border:1px solid #7f8b92;
  border-radius:50%;
  background:transparent;
}
.motives-list em{
  font-family:"Source Serif 4",Georgia,serif;
  font-style:italic;
  font-weight:500;
  color:#252525;
}
@media(max-width:600px){
  .motives-list li{
    padding:10px 0 10px 22px;
    font-size:12.25pt;
    line-height:1.42;
  }
  .motives-list li::before{
    left:1px;
    top:1.08em;
    width:6px;
    height:6px;
  }
}


/* V35 - ajuste de portada y Motivos de consulta */
#motivo .motives-intro{
  margin:0;
  max-width:560px;
  font-size:20pt;
  line-height:1.42;
  font-weight:300;
  letter-spacing:-.01em;
  color:var(--ink);
}
.motives-list{
  gap:18px;
}
.motives-list li{
  padding:2px 0 2px 25px;
  border:0 !important;
}
.motives-list li:first-child{
  border:0 !important;
}
.motives-list em{
  font-family:inherit !important;
  font-style:italic;
  font-weight:inherit !important;
  color:inherit;
}
@media(max-width:900px){
  #motivo .motives-intro{
    max-width:none;
    font-size:18pt;
  }
}
@media(max-width:600px){
  #motivo .motives-intro{
    font-size:16pt;
    line-height:1.45;
  }
  .motives-list{
    gap:14px;
  }
  .motives-list li{
    padding:1px 0 1px 22px;
  }
}

/* V36 - Orientación clínica, Perfil profesional y unificación tipográfica de Motivos */
#motivo .motives-intro,
#motivo .motives-list,
#motivo .motives-list li,
#motivo .motives-list em{
  font-family:"Inter",Arial,sans-serif !important;
}
#motivo .motives-list li{
  font-weight:300;
}
#motivo .motives-list em{
  font-style:italic;
  font-weight:300 !important;
}
.saracho-link{
  color:#2f6f98;
  text-decoration:none;
  border-bottom:1px solid rgba(47,111,152,.35);
}
.saracho-link:hover{
  border-bottom-color:#2f6f98;
}

/* V37 - ajustes acordados: Motivos, Libros y Primera entrevista */
#motivo .motives-intro{
  font-family:"Inter",Arial,sans-serif !important;
  font-size:17.25pt;
  line-height:1.48;
  font-weight:300;
  letter-spacing:-.006em;
}
#motivo .motives-list em{
  font-family:inherit !important;
  font-style:italic !important;
  font-weight:inherit !important;
}

/* Libros sin tarjetas: fondo blanco y composición editorial */
.books-header{
  align-items:flex-end;
}
.books-intro{
  margin:0;
  max-width:620px;
  color:var(--muted);
  font-size:15pt;
  line-height:1.5;
  font-weight:300;
}
.book{
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
}

/* Primera entrevista: texto + formulario integrado */
.contact-layout-v37{
  display:grid;
  grid-template-columns:minmax(0,.82fr) minmax(520px,1.18fr);
  gap:88px;
  align-items:start;
}
.contact-copy-v37 h2{
  margin-bottom:24px;
}
.contact-intro-v37{
  margin:0;
  max-width:560px;
  color:var(--muted);
  font-size:15pt;
  line-height:1.55;
  font-weight:300;
}
.contact-facts-v37{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
  margin-top:38px;
}
.contact-facts-v37 > div{
  padding-top:13px;
  border-top:1px solid var(--line);
}
.contact-facts-v37 strong,
.contact-facts-v37 span{
  display:block;
}
.contact-facts-v37 strong{
  font-size:12.5pt;
  font-weight:500;
  color:var(--ink);
}
.contact-facts-v37 span{
  margin-top:4px;
  font-size:11.5pt;
  color:var(--muted);
}
.contact-form-panel-v37{
  padding:34px 36px 32px;
  background:#fff;
  border:1px solid #dce5ea;
}
.contact-form-kicker-v37{
  margin:0 0 22px;
  font-family:"Montserrat",Arial,sans-serif;
  font-size:10.5px;
  letter-spacing:.13em;
  color:#6e7880;
}
.contact-form-v37{
  display:grid;
  gap:20px;
}
.contact-form-row-v37{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}
.contact-form-v37 label{
  display:grid;
  gap:8px;
}
.contact-form-v37 label > span{
  font-size:11.5pt;
  color:#4d5458;
}
.contact-form-v37 input,
.contact-form-v37 textarea{
  width:100%;
  border:1px solid #cbd6dc;
  background:#fff;
  color:var(--ink);
  font:inherit;
  font-size:13.5pt;
  font-weight:300;
  padding:13px 14px;
  outline:none;
  border-radius:0;
}
.contact-form-v37 textarea{
  resize:vertical;
  min-height:150px;
}
.contact-form-v37 input:focus,
.contact-form-v37 textarea:focus{
  border-color:#7f929e;
}
.contact-submit-v37{
  justify-self:start;
  margin-top:2px;
  padding:13px 18px;
  border:1px solid #8c999f;
  background:#fff;
  color:var(--ink);
  font-family:"Montserrat",Arial,sans-serif;
  font-size:10.5px;
  letter-spacing:.07em;
  cursor:pointer;
}
.contact-submit-v37:hover{
  background:#f1f4f6;
}
.contact-alt-v37{
  margin:20px 0 0;
  color:var(--muted);
  font-size:11.5pt;
  line-height:1.45;
}

@media(max-width:1000px){
  .contact-layout-v37{
    grid-template-columns:1fr;
    gap:42px;
  }
  .contact-form-panel-v37{
    max-width:760px;
  }
}
@media(max-width:600px){
  #motivo .motives-intro{
    font-size:14.25pt;
    line-height:1.48;
  }
  .books-intro{
    font-size:13pt;
  }
  .contact-layout-v37{
    gap:30px;
  }
  .contact-intro-v37{
    font-size:13.25pt;
  }
  .contact-facts-v37{
    grid-template-columns:1fr;
    gap:12px;
    margin-top:28px;
  }
  .contact-form-panel-v37{
    padding:24px 20px 22px;
  }
  .contact-form-row-v37{
    grid-template-columns:1fr;
    gap:18px;
  }
  .contact-form-v37 input,
  .contact-form-v37 textarea{
    font-size:12.5pt;
  }
  .contact-submit-v37{
    width:100%;
    text-align:center;
  }
}

/* V38 - libros en una línea, WhatsApp prioritario y ajustes tipográficos */
/* Motivos: misma escala, peso y color que el texto general de los bloques */
#motivo .motives-intro{
  font-family:"Inter",Arial,sans-serif !important;
  font-size:15pt;
  line-height:1.55;
  font-weight:300;
  letter-spacing:0;
  color:var(--muted);
}
#motivo .motives-list,
#motivo .motives-list li,
#motivo .motives-list em{
  font-family:"Inter",Arial,sans-serif !important;
}
#motivo .motives-list em{
  font-style:italic !important;
  font-weight:300 !important;
}

/* Libros: texto debajo de Publicaciones y a lo ancho en desktop */
.books-header-v38{
  display:block;
  margin-bottom:38px;
}
.books-title-v38{
  width:100%;
}
.books-title-v38 .books-intro{
  margin:14px 0 0;
  max-width:none;
  width:100%;
  font-size:15pt;
  line-height:1.45;
}
@media(min-width:1100px){
  .books-title-v38 .books-intro{
    white-space:nowrap;
  }
}

/* WhatsApp como vía principal de contacto */
.whatsapp-primary-v38{
  display:inline-block;
  margin-top:30px;
  padding:15px 20px;
  background:var(--black);
  border:1px solid var(--black);
  color:#fff;
  text-decoration:none;
  font-family:"Montserrat",Arial,sans-serif;
  font-size:10.5px;
  font-weight:500;
  letter-spacing:.055em;
  line-height:1.3;
}
.whatsapp-primary-v38:hover{
  background:#2a2a2a;
  border-color:#2a2a2a;
}
.contact-facts-v37{
  margin-top:30px;
}

/* Formulario un poco más compacto en vertical */
.contact-form-panel-v37{
  padding:28px 32px 26px;
}
.contact-form-kicker-v37{
  margin-bottom:18px;
}
.contact-form-v37{
  gap:16px;
}
.contact-form-v37 textarea{
  min-height:105px;
}

@media(max-width:600px){
  #motivo .motives-intro{
    font-size:13.25pt;
    line-height:1.5;
  }
  .books-title-v38 .books-intro{
    font-size:13pt;
    white-space:normal;
  }
  .whatsapp-primary-v38{
    display:block;
    width:100%;
    margin-top:24px;
    padding:16px 14px;
    text-align:center;
    font-size:10px;
  }
  .contact-facts-v37{
    margin-top:24px;
  }
  .contact-form-panel-v37{
    padding:22px 18px 20px;
  }
  .contact-form-v37 textarea{
    min-height:96px;
  }
}

/* V39 - WhatsApp más visible y ajuste definitivo de tipografía en Motivos */
#motivo .motives-intro,
#motivo .motives-list,
#motivo .motives-list li{
  font-family:"Inter",Arial,sans-serif !important;
  font-style:normal;
  font-weight:300 !important;
}
#motivo .motives-list em{
  font-family:"Inter",Arial,sans-serif !important;
  font-style:italic !important;
  font-weight:300 !important;
  font-synthesis:none;
}
.whatsapp-primary-v38{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  padding:16px 22px;
  font-size:12.5px;
  font-weight:500;
  letter-spacing:.045em;
}
.whatsapp-icon-v39{
  display:block;
  width:23px;
  height:23px;
  flex:0 0 23px;
}
@media(max-width:600px){
  .whatsapp-primary-v38{
    gap:10px;
    padding:17px 14px;
    font-size:11.5px;
    line-height:1.35;
  }
  .whatsapp-icon-v39{
    width:24px;
    height:24px;
    flex-basis:24px;
  }
}

/* V40 - revisión ejecutiva de jerarquía visual y conversión */

/* Rótulos de sección: mayor presencia sin competir con los títulos */
.hero-label,
.section-label{
  font-size:14px !important;
  letter-spacing:.145em !important;
  font-weight:500 !important;
}
.hero-label{margin-bottom:22px !important}

/* Hero: más aire, retrato con mayor campo negro y CTA menos pesado */
.hero-copy h1{max-width:1080px}
.hero-subtitle{margin-top:54px !important}
.outline-button{
  margin-top:52px !important;
  padding:15px 22px !important;
  background:transparent !important;
  color:#303030 !important;
  border:1px solid #aeb4b8 !important;
  font-weight:500 !important;
}
.outline-button:hover{
  background:#f3f5f6 !important;
  color:#111 !important;
  border-color:#8d959a !important;
}
.hero-grid{grid-template-columns:minmax(0,1fr) 365px;gap:84px}
.portrait-column{max-width:355px}
.portrait{
  width:355px;
  max-width:100%;
  aspect-ratio:auto;
  padding:20px;
  background:#000;
  overflow:hidden;
}
.portrait img{
  width:315px;
  max-width:100%;
  aspect-ratio:3/4;
  height:auto;
  object-fit:cover;
  display:block;
  margin:0 auto;
}

/* Motivos de consulta: bloque de mayor jerarquía después del hero */
#motivo{background:#e6f0f5}
#motivo .section-grid{grid-template-columns:.8fr 1.2fr;gap:76px}
#motivo .motives-intro{
  max-width:590px;
  font-family:"Inter",Arial,sans-serif !important;
  font-size:18pt !important;
  line-height:1.48 !important;
  font-weight:400 !important;
  color:#30383d !important;
  letter-spacing:-.01em !important;
}
#motivo .motives-list{gap:16px}
#motivo .motives-list li{
  padding:4px 0 4px 30px !important;
  font-size:16pt !important;
  line-height:1.42 !important;
  font-weight:400 !important;
  color:#1d2529 !important;
}
#motivo .motives-list li::before{
  left:3px !important;
  top:.84em !important;
  width:8px !important;
  height:8px !important;
  border:0 !important;
  border-radius:50%;
  background:#4f616b !important;
  box-shadow:0 0 0 4px rgba(79,97,107,.11);
}
#motivo .motives-list em{
  font-weight:400 !important;
  color:#111 !important;
}

/* Orientación clínica: se elimina el bloque negro para recuperar jerarquía global */
.section-orientation{
  background:#fff;
  color:var(--ink);
}
.section-orientation .section-label{color:#656565}
.section-orientation h2{color:var(--ink)}
.section-orientation .section-body{color:var(--muted)}

/* Primera entrevista: dos vías equivalentes, sin gran tarjeta blanca */
.contact-layout-v37{
  grid-template-columns:1fr 1fr !important;
  gap:78px !important;
  align-items:start;
}
.whatsapp-primary-v38{
  margin-top:30px !important;
  min-height:60px;
  padding:17px 24px !important;
  font-size:13.5px !important;
}
.contact-facts-v37{
  margin-top:34px !important;
  gap:24px !important;
}
.contact-facts-v37 strong{
  font-size:14pt !important;
  font-weight:500 !important;
}
.contact-facts-v37 span{
  font-size:12.5pt !important;
}
.contact-form-panel-v37{
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
}
.contact-form-kicker-v37{
  margin:2px 0 25px !important;
  font-size:14px !important;
  font-weight:500 !important;
  letter-spacing:.13em !important;
  color:#59666e !important;
}
.contact-form-v37{gap:16px !important}
.contact-form-v37 input,
.contact-form-v37 textarea{background:#fff !important}
.contact-form-v37 textarea{min-height:94px !important}
.contact-submit-v37{padding:13px 19px !important}

/* Footer: más equilibrio entre contacto y mapa */
.site-footer{padding:58px 0 0 !important}
.footer-layout-v40{
  display:grid;
  grid-template-columns:.95fr 1.05fr;
  gap:88px;
  align-items:start;
  padding-bottom:54px;
}
.footer-left-v40{display:grid;gap:30px}
.footer-intro-v40{
  margin:14px 0 0;
  color:#d0d0d0;
  font-size:11.5pt;
}
.footer-contact-v40,
.footer-follow-v40{display:grid;gap:11px}
.footer-contact-row-v40,
.footer-social-row-v40{
  display:flex;
  align-items:center;
  gap:12px;
  color:#e2e2e2;
  text-decoration:none;
  font-size:11.5pt;
  line-height:1.35;
}
.footer-brand-icon{
  width:24px;
  height:24px;
  flex:0 0 24px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.footer-brand-icon svg{
  width:20px;
  height:20px;
  fill:none;
  stroke:#aeb7bd;
  stroke-width:1.6;
}
.footer-brand-icon img{width:21px;height:21px;display:block}
.footer-social-list-v40{display:grid;gap:10px}
.footer-social-brand{
  width:24px;
  height:24px;
  flex:0 0 24px;
  border-radius:6px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  font-family:Arial,sans-serif;
  font-weight:700;
  font-size:13px;
  line-height:1;
}
.footer-social-brand.instagram{background:#c13584}
.footer-social-brand.linkedin{background:#0a66c2}
.footer-social-brand.facebook{background:#1877f2}
.footer-map-copy-v40 p:last-child{
  margin:0 0 20px;
  color:#e2e2e2;
  font-size:11.75pt;
  line-height:1.45;
  max-width:650px;
}
.footer-map-v40{
  width:100%;
  max-width:650px;
  min-height:0 !important;
}
.footer-map-v40 img{
  display:block;
  width:100%;
  height:auto;
  max-height:410px;
  object-fit:cover;
}

@media(max-width:1100px){
  .hero-grid{grid-template-columns:minmax(0,1fr) 335px;gap:56px}
  .portrait-column{max-width:325px}
  .portrait{width:325px;padding:16px}
  .portrait img{width:293px}
  #motivo .section-grid{gap:54px}
  .footer-layout-v40{gap:54px}
}

@media(max-width:900px){
  .hero-grid{grid-template-columns:1fr !important;gap:42px}
  .portrait-column{justify-self:center;max-width:350px}
  .portrait{width:350px;padding:18px}
  .portrait img{width:314px}
  #motivo .section-grid{grid-template-columns:1fr;gap:34px}
  .contact-layout-v37{grid-template-columns:1fr !important;gap:44px !important}
  .footer-layout-v40{grid-template-columns:1fr;gap:44px}
  .footer-map-v40{max-width:620px}
}

@media(max-width:600px){
  .hero-label,
  .section-label{font-size:12px !important}
  .hero-subtitle{margin-top:34px !important}
  .outline-button{margin-top:34px !important}
  .portrait-column{max-width:300px !important}
  .portrait{width:300px !important;padding:16px !important}
  .portrait img{width:268px !important}
  #motivo .motives-intro{
    font-size:15.25pt !important;
    line-height:1.45 !important;
  }
  #motivo .motives-list{gap:13px}
  #motivo .motives-list li{
    font-size:13.25pt !important;
    padding-left:27px !important;
  }
  #motivo .motives-list li::before{
    width:7px !important;
    height:7px !important;
    box-shadow:0 0 0 3px rgba(79,97,107,.11);
  }
  .whatsapp-primary-v38{
    width:100%;
    min-height:58px;
    font-size:12px !important;
  }
  .contact-facts-v37{
    grid-template-columns:repeat(3,1fr) !important;
    gap:10px !important;
  }
  .contact-facts-v37 strong{font-size:12.25pt !important}
  .contact-facts-v37 span{font-size:10.75pt !important}
  .contact-form-kicker-v37{font-size:12px !important;margin-bottom:18px !important}
  .contact-form-v37 textarea{min-height:88px !important}
  .footer-layout-v40{gap:36px;padding-bottom:42px}
  .footer-contact-row-v40,.footer-social-row-v40{font-size:10.75pt}
  .footer-map-v40 img{max-height:none}
}

/* V41 - revisión ejecutiva completa: cierre de jerarquías y rediseño de contacto/footer */

/* HERO: título algo mayor; mismo recuadro negro, retrato más pequeño dentro */
.hero-copy h1{
  font-size:47pt !important;
  line-height:1.11 !important;
  max-width:1120px !important;
}
.portrait{
  width:355px !important;
  height:473px !important;
  padding:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:#000 !important;
}
.portrait img{
  width:255px !important;
  height:auto !important;
  max-height:405px !important;
  object-fit:contain !important;
  display:block !important;
  margin:0 auto !important;
}

/* MOTIVOS: la introducción usa exactamente la tipografía del texto general */
#motivo .motives-intro{
  max-width:590px !important;
  font-family:"Inter",Arial,sans-serif !important;
  font-size:15pt !important;
  line-height:1.55 !important;
  font-weight:300 !important;
  color:var(--muted) !important;
  letter-spacing:normal !important;
}

/* ORIENTACIÓN: fondo claro, sin el peso del antiguo bloque negro */
.section-orientation{
  background:#fff !important;
  color:var(--ink) !important;
}
.section-orientation .section-label{color:#656565 !important}
.section-orientation h2{color:var(--ink) !important}
.section-orientation .section-body{color:var(--muted) !important}

/* PERFIL: mayor densidad académica, sin convertirlo en CV */
.profile-body-v41{max-width:760px}
.profile-body-v41 p{margin-bottom:19px}
.academic-detail-v41{
  color:#555f65;
}

/* LIBROS: más aire, tapas protagonistas, información debajo */
.books-header-v38{margin-bottom:62px !important}
.books-grid-v41{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:70px !important;
  align-items:start !important;
}
.book-v41{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  text-align:center !important;
  gap:0 !important;
}
.book-v41 .book-cover-image{
  height:278px !important;
  width:auto !important;
  max-width:230px !important;
  object-fit:contain !important;
  margin:0 auto !important;
  box-shadow:0 12px 28px rgba(0,0,0,.12) !important;
}
.book-v41 .book-info-v41{
  height:auto !important;
  min-height:0 !important;
  width:100%;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  margin-top:24px !important;
}
.book-v41 h3{
  margin:0 0 13px !important;
  max-width:360px;
  font-size:14.5pt !important;
  line-height:1.3 !important;
  font-weight:500 !important;
  min-height:2.6em !important;
}
.book-meta-v41{
  margin:2px 0 !important;
  color:#7a7f82 !important;
  font-size:10.5pt !important;
  line-height:1.35 !important;
}
.book-v41 .book-read{
  margin-top:22px !important;
  align-self:center !important;
}

/* PRIMERA ENTREVISTA: reconstruida como una sola unidad visual */
.contact-section-v41{background:var(--gray)}
.contact-header-v41{
  max-width:850px;
  margin-bottom:42px;
}
.contact-header-v41 h2{margin-bottom:22px}
.contact-intro-v41{
  margin:0;
  max-width:780px;
  color:var(--muted);
  font-size:15pt;
  line-height:1.5;
  font-weight:300;
}
.care-modes-v41{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
  margin:0 0 10px;
  max-width:1120px;
}
.care-mode-v41{
  padding:22px 24px 23px;
  background:rgba(255,255,255,.58);
  border-top:2px solid #899aa4;
}
.care-mode-v41 span,
.care-mode-v41 strong{display:block}
.care-mode-kicker-v41{
  margin-bottom:8px;
  font-family:"Montserrat",Arial,sans-serif;
  font-size:12px;
  font-weight:600;
  letter-spacing:.12em;
  color:#596970;
}
.care-mode-v41 strong{
  margin-bottom:4px;
  font-size:15pt;
  font-weight:500;
  color:#222;
}
.care-mode-v41 strong + span{
  color:var(--muted);
  font-size:11.5pt;
  line-height:1.45;
}
.session-duration-v41{
  margin:12px 0 40px;
  color:#6f787d;
  font-size:11.5pt;
}
.contact-options-v41{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:30px;
  align-items:stretch;
}
.contact-option-v41{
  background:#fff;
  border:1px solid #d5e0e6;
  padding:30px;
  display:flex;
  flex-direction:column;
  min-height:370px;
}
.contact-option-heading-v41{
  display:flex;
  align-items:center;
  gap:16px;
  margin-bottom:19px;
}
.contact-option-icon-v41{
  width:38px;
  height:38px;
  flex:0 0 38px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.whatsapp-icon-v41{object-fit:contain}
.email-icon-v41{
  border-radius:50%;
  background:#e8f1f8;
}
.email-icon-v41 svg{
  width:22px;
  height:22px;
  fill:none;
  stroke:#3478a4;
  stroke-width:1.6;
}
.contact-option-kicker-v41{
  display:block;
  margin-bottom:4px;
  font-family:"Montserrat",Arial,sans-serif;
  font-size:11px;
  font-weight:600;
  letter-spacing:.12em;
  color:#64727a;
}
.contact-option-v41 h3{
  margin:0;
  font-size:20pt;
  line-height:1.18;
  font-weight:400;
}
.contact-option-v41 > p{
  margin:0 0 24px;
  color:var(--muted);
  font-size:12.5pt;
  line-height:1.48;
  max-width:560px;
}
.contact-action-v41{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:13px 20px;
  border:1px solid #aeb8bd;
  background:#f4f5f5;
  color:#202020;
  text-decoration:none;
  font-family:"Montserrat",Arial,sans-serif;
  font-size:11px;
  font-weight:500;
  letter-spacing:.055em;
  cursor:pointer;
}
.whatsapp-action-v41{
  margin-top:auto;
  align-self:flex-start;
  border-color:#8cae99;
  background:#f4f8f5;
}
.contact-form-v41{
  display:flex;
  flex-direction:column;
  gap:13px;
  flex:1;
}
.contact-form-row-v41{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
.contact-form-v41 label{
  display:flex;
  flex-direction:column;
  gap:6px;
  color:#42494d;
  font-size:10.5pt;
}
.contact-form-v41 input,
.contact-form-v41 textarea{
  width:100%;
  border:1px solid #cad5db;
  background:#fbfcfc;
  padding:10px 11px;
  font:inherit;
  color:#222;
  outline:none;
}
.contact-form-v41 input{height:43px}
.contact-form-v41 textarea{
  min-height:84px;
  resize:vertical;
}
.email-action-v41{
  margin-top:3px;
  align-self:flex-start;
}

/* FOOTER: mapa conservado; mayor contrapeso del bloque izquierdo */
.site-footer{padding:58px 0 0 !important}
.footer-layout-v41{
  display:grid;
  grid-template-columns:.82fr 1.18fr;
  gap:72px;
  align-items:start;
  padding-bottom:54px;
}
.footer-left-v41{display:grid;gap:30px}
.footer-intro-v41{
  margin:14px 0 0;
  color:#d0d0d0;
  font-size:11.5pt;
  line-height:1.48;
}
.footer-heading-v41{margin-bottom:13px !important}
.footer-contact-v41,.footer-follow-v41{display:block}
.footer-row-v41{
  display:flex;
  align-items:center;
  gap:13px;
  margin:0 0 12px;
  color:#e5e5e5;
  text-decoration:none;
  font-size:11.5pt;
  line-height:1.35;
}
.footer-row-v41 small{
  color:#aeb4b8;
  font-size:9.5pt;
}
.footer-icon-v41,
.footer-brand-v41{
  width:30px;
  height:30px;
  flex:0 0 30px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.footer-icon-v41{
  border-radius:50%;
}
.footer-icon-v41 svg{
  width:18px;
  height:18px;
  fill:none;
  stroke-width:1.7;
}
.footer-icon-mail-v41{background:#e7f2fa}
.footer-icon-mail-v41 svg{stroke:#3483b8}
.footer-icon-location-v41{background:#fcece8}
.footer-icon-location-v41 svg{stroke:#db5546}
.footer-icon-license-v41{background:#edf0f4}
.footer-icon-license-v41 svg{stroke:#697a89}
.footer-icon-whatsapp-v41{background:#e8f8ee}
.footer-icon-whatsapp-v41 img{width:21px;height:21px;display:block}
.footer-social-list-v41{display:grid;gap:2px}
.footer-brand-v41 svg{width:28px;height:28px;display:block}
.footer-right-v41{min-width:0}
.footer-location-heading-v41{
  font-size:14px !important;
  letter-spacing:.145em !important;
  margin:0 0 16px !important;
}
.footer-map-v41{
  width:100% !important;
  max-width:none !important;
  min-height:0 !important;
}
.footer-map-v41 img{
  display:block;
  width:100%;
  height:auto;
  max-height:410px;
  object-fit:cover;
}
.footer-bottom-v41{
  border-top:1px solid #2e2e2e;
  padding-top:25px;
  padding-bottom:34px;
}

@media(max-width:1100px){
  .hero-copy h1{font-size:41pt !important}
  .portrait{width:325px !important;height:433px !important}
  .portrait img{width:232px !important;max-height:365px !important}
  .books-grid-v41{gap:42px !important}
  .book-v41 .book-cover-image{height:245px !important;max-width:205px !important}
  .footer-layout-v41{gap:48px}
}

@media(max-width:900px){
  .hero-copy h1{font-size:34pt !important}
  .portrait{width:350px !important;height:466px !important}
  .portrait img{width:250px !important;max-height:395px !important}
  .books-grid-v41{grid-template-columns:1fr !important;gap:54px !important}
  .book-v41 .book-cover-image{height:265px !important}
  .contact-options-v41{grid-template-columns:1fr}
  .care-modes-v41{max-width:none}
  .footer-layout-v41{grid-template-columns:1fr;gap:42px}
}

@media(max-width:600px){
  .hero-copy h1{font-size:30pt !important;line-height:1.1 !important}
  .portrait{width:300px !important;height:400px !important}
  .portrait img{width:215px !important;max-height:340px !important}
  #motivo .motives-intro{
    font-size:14pt !important;
    line-height:1.52 !important;
  }
  .books-header-v38{margin-bottom:44px !important}
  .book-v41 .book-cover-image{height:235px !important;max-width:190px !important}
  .book-v41 h3{font-size:13.5pt !important;max-width:290px}
  .care-modes-v41{grid-template-columns:1fr;gap:14px}
  .care-mode-v41{padding:18px}
  .session-duration-v41{margin-bottom:30px}
  .contact-option-v41{padding:22px;min-height:0}
  .contact-option-v41 h3{font-size:17pt}
  .contact-form-row-v41{grid-template-columns:1fr}
  .contact-action-v41{width:100%;align-self:stretch}
  .footer-row-v41{font-size:10.75pt}
  .footer-location-heading-v41{font-size:13px !important}
  .footer-map-v41 img{max-height:none}
}

/* V42 - consolidación ejecutiva y control de conflictos */

/* HERO: en desktop el título gana un poco más de presencia. En móvil se conserva la escala aprobada. */
.hero-title-v42{
  font-size:51pt !important;
  line-height:1.10 !important;
  max-width:1160px !important;
}

/* MOTIVOS: clase nueva y exclusiva. Evita todas las reglas heredadas de versiones anteriores. */
#motivo .motives-intro-v42{
  margin:0;
  max-width:610px;
  font-family:"Inter",Arial,sans-serif;
  font-size:19pt;
  line-height:1.48;
  font-weight:300;
  color:var(--muted);
  letter-spacing:-.005em;
}

/* PERFIL: más peso para la trayectoria académica sin alterar la información suministrada. */
.profile-body-v42{
  max-width:850px;
}
.profile-body-v42 p{
  margin-bottom:20px;
}
.academic-detail-v42{
  color:#4f585d;
}

/* PRIMERA ENTREVISTA: las dos filas comparten exactamente la misma retícula en desktop. */
.care-modes-v42,
.contact-options-v42{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
  gap:30px !important;
  width:100% !important;
  max-width:none !important;
}

/* FOOTER: ambas columnas tienen la misma altura visual. El mapa ocupa toda la altura disponible. */
.footer-layout-v42{
  align-items:stretch !important;
}
.footer-left-v42{
  height:100%;
}
.footer-right-v42{
  display:flex;
  flex-direction:column;
  min-height:100%;
}
.footer-location-heading-v42{
  font-size:15px !important;
  margin-bottom:16px !important;
}
.footer-map-v42{
  flex:1 1 auto;
  min-height:430px !important;
  overflow:hidden;
}
.footer-map-v42 img{
  width:100% !important;
  height:100% !important;
  min-height:430px !important;
  max-height:none !important;
  object-fit:cover !important;
}

/* Iconos de contacto: símbolo limpio, sin círculo ni placa de fondo. */
.footer-icon-v41{
  width:32px !important;
  height:32px !important;
  flex:0 0 32px !important;
  border-radius:0 !important;
  background:transparent !important;
}
.footer-icon-v41 svg{
  width:24px !important;
  height:24px !important;
  stroke-width:1.8 !important;
}
.footer-icon-mail-v41 svg{stroke:#4aa3df !important}
.footer-icon-location-v41 svg{stroke:#ea6658 !important}
.footer-icon-license-v41 svg{stroke:#b7c1c9 !important}
.footer-icon-whatsapp-v41 img{
  width:27px !important;
  height:27px !important;
}
.footer-brand-v41{
  width:32px !important;
  height:32px !important;
  flex:0 0 32px !important;
}
.footer-brand-v41 svg{
  width:30px !important;
  height:30px !important;
}

@media(max-width:1100px){
  .hero-title-v42{font-size:44pt !important}
  .footer-map-v42,
  .footer-map-v42 img{min-height:400px !important}
}

@media(max-width:900px){
  .hero-title-v42{font-size:34pt !important}
  .care-modes-v42,
  .contact-options-v42{grid-template-columns:1fr !important}
  .footer-map-v42,
  .footer-map-v42 img{min-height:0 !important;height:auto !important}
}

@media(max-width:600px){
  .hero-title-v42{font-size:30pt !important;line-height:1.10 !important}
  #motivo .motives-intro-v42{
    font-size:16.5pt;
    line-height:1.48;
  }
  .footer-location-heading-v42{font-size:13px !important}
}


/* V43 - tres correcciones puntuales aprobadas. Nada más se modifica. */

/* 1) HERO: aumento inequívoco del título principal en desktop. */
.hero-copy .hero-title-v43{
  font-size:56pt !important;
  line-height:1.08 !important;
  max-width:1180px !important;
}

/* 2) MOTIVOS: el texto introductorio usa literalmente el mismo sistema h2 de los demás bloques. */
#motivo .motives-intro-v43{
  margin:0 !important;
  max-width:none !important;
  font-family:inherit !important;
  font-size:30pt !important;
  line-height:1.18 !important;
  font-weight:300 !important;
  letter-spacing:-.015em !important;
  color:var(--ink) !important;
  font-style:normal !important;
}

/* 3) ALINEACIÓN: Motivos adopta la misma retícula que Orientación/Perfil.
   El texto de cada motivo comienza exactamente en la misma línea vertical;
   la viñeta queda colgando hacia el espacio entre columnas. */
#motivo .section-grid{
  grid-template-columns:.88fr 1.12fr !important;
  gap:90px !important;
}
#motivo .motives-list li{
  padding-left:0 !important;
}
#motivo .motives-list li::before{
  left:-28px !important;
}

@media(max-width:1100px){
  .hero-copy .hero-title-v43{font-size:48pt !important}
  #motivo .section-grid{gap:68px !important}
}

@media(max-width:900px){
  .hero-copy .hero-title-v43{font-size:36pt !important}
  #motivo .section-grid{grid-template-columns:1fr !important;gap:34px !important}
  #motivo .motives-list li{padding-left:27px !important}
  #motivo .motives-list li::before{left:2px !important}
  #motivo .motives-intro-v43{font-size:30pt !important}
}

@media(max-width:600px){
  .hero-copy .hero-title-v43{font-size:30pt !important;line-height:1.10 !important}
  #motivo .motives-intro-v43{font-size:26pt !important;line-height:1.18 !important}
}

/* 4) PRIMERA ENTREVISTA: las tarjetas superiores e inferiores comparten exactamente
   los mismos ejes de columna en desktop. Se fuerza la misma retícula y el mismo gap. */
@media(min-width:901px){
  .care-modes-v41.care-modes-v42,
  .contact-options-v41.contact-options-v42{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    column-gap:30px !important;
    row-gap:30px !important;
    width:100% !important;
    max-width:none !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }
  .care-modes-v41.care-modes-v42 > *,
  .contact-options-v41.contact-options-v42 > *{
    min-width:0 !important;
    width:auto !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }
}


/* V44 - Motivos de consulta reconstruido desde cero siguiendo exactamente
   la arquitectura tipográfica y de retícula de Orientación clínica / Perfil. */
#motivo.motives-v44 .section-grid{
  grid-template-columns:.88fr 1.12fr !important;
  gap:90px !important;
  align-items:start !important;
}

/* El título izquierdo hereda sin excepciones el h2 global usado por los bloques siguientes. */
#motivo.motives-v44 h2{
  margin:0 !important;
  font-family:inherit !important;
  font-size:30pt !important;
  line-height:1.18 !important;
  font-weight:600 !important;
  letter-spacing:-.015em !important;
  color:var(--ink) !important;
  font-style:normal !important;
}

/* Columna derecha: mismo cuerpo que Orientación clínica. */
#motivo.motives-v44 .motives-body-v44{
  font-family:"Inter",Arial,sans-serif !important;
  font-size:15pt !important;
  line-height:1.48 !important;
  font-weight:300 !important;
  color:var(--muted) !important;
}
#motivo.motives-v44 .motives-lead-v44{
  margin:0 0 26px !important;
  color:var(--muted) !important;
}

/* Lista limpia: círculo abierto, sin halo ni relleno, tal como en la maqueta. */
#motivo.motives-v44 .motives-list-v44{
  list-style:none !important;
  margin:0 !important;
  padding:0 !important;
  display:grid !important;
  gap:9px !important;
}
#motivo.motives-v44 .motives-list-v44 li{
  position:relative !important;
  margin:0 !important;
  padding:0 0 0 34px !important;
  border:0 !important;
  font-family:"Inter",Arial,sans-serif !important;
  font-size:15pt !important;
  line-height:1.42 !important;
  font-weight:300 !important;
  color:var(--muted) !important;
}
#motivo.motives-v44 .motives-list-v44 li::before{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  top:.50em !important;
  width:9px !important;
  height:9px !important;
  border:1.4px solid #7f8b92 !important;
  border-radius:50% !important;
  background:transparent !important;
  box-shadow:none !important;
}
#motivo.motives-v44 .motives-list-v44 em{
  font-family:inherit !important;
  font-style:italic !important;
  font-weight:inherit !important;
  color:inherit !important;
}

@media(max-width:1100px){
  #motivo.motives-v44 .section-grid{gap:68px !important}
}
@media(max-width:900px){
  #motivo.motives-v44 .section-grid{
    grid-template-columns:1fr !important;
    gap:34px !important;
  }
  #motivo.motives-v44 h2{font-size:30pt !important}
}
@media(max-width:600px){
  #motivo.motives-v44 h2{
    font-size:24pt !important;
    line-height:1.18 !important;
  }
  #motivo.motives-v44 .motives-body-v44,
  #motivo.motives-v44 .motives-list-v44 li{
    font-size:14pt !important;
  }
  #motivo.motives-v44 .motives-list-v44{gap:11px !important}
  #motivo.motives-v44 .motives-list-v44 li{padding-left:28px !important}
  #motivo.motives-v44 .motives-list-v44 li::before{
    width:8px !important;
    height:8px !important;
  }
}

/* V48 - prueba cromática 2: color solo en palabras estratégicas de títulos.
   Se recuperan botón, viñetas y cursivas de Motivos exactamente al tratamiento previo sin color. */
:root{
  --accent-warm:#9a433f;
}

/* Hero: conservar “trabajar” en terracota y cursiva. */
.hero-copy .hero-title-v43 em{
  color:var(--accent-warm) !important;
}

/* Motivos / Orientación / Perfil: una palabra de cada título con el mismo acento y cursiva. */
.accent-heading-word{
  color:var(--accent-warm) !important;
  font-style:italic !important;
  font-weight:inherit !important;
  font-family:inherit !important;
}

/* El CTA vuelve al diseño aprobado antes de V47. */
.outline-button{
  color:#303030 !important;
  border-color:#aeb4b8 !important;
  background:transparent !important;
}
.outline-button:hover{
  color:#111 !important;
  border-color:#8d959a !important;
  background:transparent !important;
}

/* Motivos vuelve completamente a su tratamiento neutro aprobado en V46. */
#motivo.motives-v44 .motives-list-v44 li::before{
  border-color:#7f8b92 !important;
}
#motivo.motives-v44 .motives-list-v44 em{
  color:inherit !important;
}
/* === V49: comparación de cuatro colores de acento en títulos === */
/* Prueba visual únicamente. No modifica estructura, tipografía ni otros elementos. */

/* 1. Terracota actual */
.hero-copy .hero-title-v43 em{
  color:#9A433F !important;
  font-style:italic !important;
}

/* 2. Borgoña / vino */
.accent-persona{
  color:#7B3346 !important;
  font-style:italic !important;
}

/* 3. Verde petróleo apagado */
.accent-practica{
  color:#356D69 !important;
  font-style:italic !important;
}

/* 4. Ciruela sobrio */
.accent-clinica{
  color:#6D4B70 !important;
  font-style:italic !important;
}

/* === V50: cierre cromático ===
   Un único verde petróleo apagado como acento en las cuatro palabras estratégicas. */
:root{
  --accent-final:#356D69;
}
.hero-copy .hero-title-v43 em,
.accent-persona,
.accent-practica,
.accent-clinica{
  color:var(--accent-final) !important;
  font-style:italic !important;
}

/* V51 — Primera entrevista compactada. Mantiene toda la información y funcionalidad,
   reduce aproximadamente un tercio de la altura visual y unifica ambos CTA. */
.contact-section-v41{
  padding-top:56px !important;
  padding-bottom:56px !important;
}
.contact-header-v41{
  margin-bottom:28px !important;
}
.contact-header-v41 h2{
  margin-bottom:15px !important;
}
.care-mode-v41{
  padding:16px 20px 17px !important;
}
.care-mode-kicker-v41{
  margin-bottom:6px !important;
}
.session-duration-v41{
  margin:9px 0 24px !important;
}
.contact-options-v41{
  gap:30px !important;
}
.contact-option-v41{
  padding:22px 24px !important;
  min-height:0 !important;
}
.contact-option-heading-v41{
  margin-bottom:13px !important;
}
.contact-option-v41 > p{
  margin-bottom:16px !important;
}
.contact-form-v41{
  gap:10px !important;
}
.contact-form-row-v41{
  gap:12px !important;
}
.contact-form-v41 label{
  gap:4px !important;
}
.contact-form-v41 input{
  height:39px !important;
  padding:8px 10px !important;
}
.contact-form-v41 textarea{
  min-height:62px !important;
  height:62px !important;
  padding:8px 10px !important;
}
.contact-action-v41,
.whatsapp-action-v41,
.email-action-v41{
  min-height:44px !important;
  padding:11px 18px !important;
  border-color:#aeb8bd !important;
  background:#f4f5f5 !important;
  color:#202020 !important;
}
.whatsapp-action-v41{
  margin-top:auto !important;
}
.email-action-v41{
  margin-top:2px !important;
}

@media(max-width:900px){
  .contact-section-v41{
    padding-top:48px !important;
    padding-bottom:48px !important;
  }
  .contact-header-v41{
    margin-bottom:26px !important;
  }
  .session-duration-v41{
    margin-bottom:22px !important;
  }
  .contact-option-v41{
    padding:20px !important;
  }
  .contact-form-v41 textarea{
    min-height:80px !important;
    height:80px !important;
  }
}


/* V52 — Primera entrevista según maqueta aprobada: bloque más angosto y compacto. */
@media(min-width:901px){
  .contact-section-v41{
    padding-top:50px !important;
    padding-bottom:48px !important;
  }
  .contact-header-v41{
    max-width:none !important;
    margin-bottom:12px !important;
  }
  .contact-header-v41 h2{
    margin-bottom:6px !important;
  }
  .contact-intro-v41{
    max-width:none !important;
    white-space:nowrap;
    font-size:14pt !important;
    line-height:1.35 !important;
  }
  .care-modes-v41{
    gap:24px !important;
    margin:0 0 10px !important;
    max-width:none !important;
  }
  .care-mode-v41{
    padding:14px 20px 15px !important;
  }
  .care-mode-kicker-v41{
    margin-bottom:7px !important;
  }
  .care-mode-v41 strong{
    margin-bottom:0 !important;
  }
  .contact-options-v41{
    gap:24px !important;
  }
  .contact-option-v41{
    padding:20px 22px !important;
    min-height:260px !important;
  }
  .contact-option-heading-v41{
    margin-bottom:12px !important;
  }
  .contact-option-v41 > p{
    margin-bottom:14px !important;
  }
  .contact-form-v41{
    gap:8px !important;
  }
  .contact-form-row-v41{
    gap:10px !important;
  }
  .contact-form-v41 textarea{
    min-height:58px !important;
    height:58px !important;
  }
  .contact-action-v41,
  .whatsapp-action-v41,
  .email-action-v41{
    min-height:42px !important;
    padding:10px 17px !important;
  }
}

@media(max-width:900px){
  .care-mode-v41 strong + span,
  .session-duration-v41{display:none !important;}
}


/* V56 — visibilidad de modalidad y actualización de motivos. */
.hero-copy .outline-button{
  font-size:14px !important;
  padding:15px 24px !important;
  background:#e9ebec !important;
  border-color:#b5bcc0 !important;
  color:#262626 !important;
  font-weight:500 !important;
}
.hero-copy .outline-button:hover{
  background:#dde1e2 !important;
  border-color:#9da6ab !important;
  color:#111 !important;
}
@media(max-width:600px){
  .hero-copy .outline-button{
    font-size:13px !important;
    padding:14px 16px !important;
    white-space:nowrap;
  }
}


/* V57 — modalidades en portada + redes verificadas */
.hero-mode-actions{
  display:flex;
  gap:18px;
  margin-top:48px;
  flex-wrap:wrap;
}
.hero-copy .hero-mode-actions .outline-button{
  margin-top:0 !important;
}
.hero-mode-button{
  display:flex !important;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-width:245px;
  min-height:72px;
  text-align:center;
  line-height:1.15 !important;
}
.hero-mode-main{
  display:block;
  font:inherit;
  font-weight:500;
  letter-spacing:inherit;
}
.hero-mode-sub{
  display:block;
  margin-top:7px;
  font-size:12px;
  font-weight:500;
  letter-spacing:.02em;
}
.footer-brand-v41.instagram-v57 svg,
.footer-brand-v41.facebook-v57 svg{
  width:28px;
  height:28px;
  display:block;
}

@media(max-width:600px){
  .hero-mode-actions{
    display:grid;
    grid-template-columns:1fr;
    gap:12px;
    margin-top:34px;
  }
  .hero-mode-button{
    width:100%;
    min-width:0;
    min-height:66px;
  }
}


/* V58 — prueba de botones compactos según maqueta del usuario */
.hero-mode-actions{
  gap:10px !important;
}

.hero-mode-button{
  width:230px !important;
  min-width:230px !important;
  min-height:54px !important;
  padding:7px 12px !important;
  line-height:1.02 !important;
}

.hero-mode-main{
  font-size:12px !important;
  line-height:1.02 !important;
  font-weight:500 !important;
  margin-left:0 !important;
}

.hero-mode-sub{
  margin-top:2px !important;
  margin-left:0 !important;
  font-size:12px !important;
  line-height:1.02 !important;
  font-weight:500 !important;
  letter-spacing:.01em !important;
}

@media(max-width:600px){
  .hero-mode-actions{
    gap:8px !important;
  }

  .hero-mode-button{
    width:100% !important;
    min-height:52px !important;
    padding:6px 10px !important;
    box-sizing:border-box;
  }

  .hero-mode-main,
  .hero-mode-sub{
    font-size:11.5px !important;
  }
}


/* ===== NAVEGACIÓN ENTRE PÁGINAS INTERNAS · V3 ===== */
.nav-dropdown{position:relative;display:flex;align-items:center}
.nav-dropdown>a{display:flex;align-items:center;gap:6px}
.nav-dropdown>a::after{content:"▾";font-size:9px;opacity:.72;transform:translateY(-1px)}
.nav-dropdown-menu{
  display:none;position:absolute;top:100%;left:0;min-width:255px;
  padding:10px 0;background:#0a0a0a;border:1px solid #282828;
  box-shadow:0 12px 26px rgba(0,0,0,.20);z-index:50
}
.nav-dropdown:hover .nav-dropdown-menu,
.nav-dropdown:focus-within .nav-dropdown-menu{display:block}
.main-menu .nav-dropdown-menu a{
  display:block;padding:10px 16px;white-space:nowrap;
  font-size:10px;line-height:1.3;color:#ededed;text-decoration:none
}
.main-menu .nav-dropdown-menu a:hover,
.main-menu .nav-dropdown-menu a:focus{background:#171717;color:#fff}
.motive-link{color:inherit;text-decoration:none}
.motive-link:hover em,.motive-link:focus em{color:var(--accent-final)}
.hero-mode-button.online-page-link{text-decoration:none}

@media(max-width:900px){
  .nav-dropdown{display:block;width:100%}
  .nav-dropdown>a::after{content:""}
  .nav-dropdown-menu{
    display:block;position:static;min-width:0;padding:3px 0 5px 18px;
    border:0;box-shadow:none;background:transparent
  }
  .main-menu .nav-dropdown-menu a{padding:7px 0;font-size:9px;opacity:.78}
}


/* ===== AJUSTES DE NAVEGACIÓN Y ENLACES VISIBLES · V3.1 ===== */

/* Flecha desplegable más clara */
.nav-dropdown>a::after{
  content:"▼"!important;
  font-size:14px!important;
  margin-left:9px!important;
  opacity:.92!important;
  line-height:1!important;
  transform:translateY(-1px)!important;
}

/* Enlaces en motivos de consulta */
.motives-list-v44 li.has-detail-link{
  position:relative;
}
.motives-list-v44 li.has-detail-link > a.motive-link{
  display:flex;
  align-items:baseline;
  gap:10px;
  width:100%;
  color:inherit;
  text-decoration:none;
  cursor:pointer;
  transition:color .18s ease, transform .18s ease;
}
.motives-list-v44 li.has-detail-link > a.motive-link::after{
  content:"→";
  flex:0 0 auto;
  margin-left:3px;
  color:var(--accent-final,#356D69);
  font-family:"Inter",Arial,sans-serif;
  font-size:21px;
  font-style:normal;
  font-weight:500;
  line-height:1;
  transform:translateY(1px);
}
.motives-list-v44 li.has-detail-link .linked-keyword{
  color:var(--accent-final,#356D69);
  font-style:italic;
}
.motives-list-v44 li.has-detail-link > a.motive-link:hover,
.motives-list-v44 li.has-detail-link > a.motive-link:focus{
  color:#43494c;
}
.motives-list-v44 li.has-detail-link > a.motive-link:hover::after,
.motives-list-v44 li.has-detail-link > a.motive-link:focus::after{
  transform:translate(4px,1px);
}

/* En móvil: área táctil amplia y desplegable siempre comprensible */
@media(max-width:900px){
  .nav-dropdown>a::after{
    content:"▼"!important;
    font-size:13px!important;
    margin-left:8px!important;
  }
  .main-menu .nav-dropdown-menu{
    display:none;
    padding:5px 0 8px 16px;
  }
  .nav-dropdown.is-open .nav-dropdown-menu{
    display:block;
  }
  .motives-list-v44 li.has-detail-link > a.motive-link{
    min-height:44px;
    padding:5px 0;
    align-items:center;
  }
  .motives-list-v44 li.has-detail-link > a.motive-link::after{
    font-size:22px;
    margin-left:auto;
    padding-left:10px;
  }
}


/* ===== NAVEGACIÓN ATENCIÓN · V3.2 ===== */
.nav-attention{position:relative;display:flex;align-items:center}
.nav-attention>a{display:flex;align-items:center;gap:6px}
.nav-attention>a::after{
  content:"▼";
  font-size:14px;
  margin-left:9px;
  opacity:.92;
  line-height:1;
  transform:translateY(-1px)
}
.nav-attention-menu{
  display:none;position:absolute;top:100%;left:0;min-width:245px;
  padding:10px 0;background:#0a0a0a;border:1px solid #282828;
  box-shadow:0 12px 26px rgba(0,0,0,.20);z-index:50
}
.nav-attention:hover .nav-attention-menu,
.nav-attention:focus-within .nav-attention-menu{display:block}
.main-menu .nav-attention-menu a{
  display:block;padding:10px 16px;white-space:nowrap;
  font-size:10px;line-height:1.3;color:#ededed;text-decoration:none
}
.main-menu .nav-attention-menu a:hover,
.main-menu .nav-attention-menu a:focus{background:#171717;color:#fff}
@media(max-width:900px){
  .nav-attention{display:block;width:100%}
  .nav-attention>a::after{content:"▼";font-size:13px;margin-left:8px}
  .nav-attention-menu{
    display:none;position:static;min-width:0;padding:5px 0 8px 16px;
    border:0;box-shadow:none;background:transparent
  }
  .nav-attention.is-open .nav-attention-menu{display:block}
  .main-menu .nav-attention-menu a{padding:7px 0;font-size:9px;opacity:.78}
}
