
  /* ---------- Tokens de marca (referencia rápida) ----------
     --tinta:      #1C1B1B   texto / fondos oscuros
     --crema:      #F5F4F9   fondo claro base
     --crema-2:    #FFFDFD   cremas de tarjeta / campos
     --arena:      #F0EDDF   secciones y tarjetas claras
     --terracota:  #192006   color de acción / acento principal
     --terracota-h:#0F1402   terracota hover
     --arcilla:    #8A6D14   acentos secundarios / itálicas
     --salvia:     #7F856A   verde de confirmación
  ------------------------------------------------------------- */
  :root{
    --tinta:#1C1B1B; --crema:#F5F4F9; --crema-2:#FFFDFD; --arena:#F0EDDF;
    --terracota:#192006; --terracota-h:#0F1402; --arcilla:#8A6D14; --salvia:#7F856A;
    --logo:'Cormorant Garamond', Georgia, serif;
    --display:'PP Neue Montreal', 'Neue Montreal', 'Schibsted Grotesk', sans-serif;
    --sans:'PP Neue Montreal', 'Neue Montreal', 'Schibsted Grotesk', system-ui, sans-serif, -apple-system, sans-serif;
    --serif:'PP Neue Montreal', 'Neue Montreal', 'Schibsted Grotesk', sans-serif;
  }
  *, *::before, *::after { box-sizing: border-box; }
  html { scroll-behavior: smooth; }
  html, body { margin: 0; padding: 0; }
  body { background: var(--tinta); font-family: var(--sans); -webkit-font-smoothing: antialiased; overflow-x: clip; }
  ::selection { background: var(--arcilla); color: var(--crema-2); }
  input, textarea, button { font-family: inherit; }


  /* Aparición al hacer scroll. Solo oculta si el JavaScript de la web está en marcha
     (él pone la clase acervo-html): si no llegara a cargar, el contenido se ve igual. */
  html.acervo-html .reveal { opacity: 0; transform: translateY(34px);
            transition: opacity 1s cubic-bezier(.22,1,.36,1), transform 1s cubic-bezier(.22,1,.36,1); }
  html.acervo-html .reveal.is-in { opacity: 1; transform: none; }

  /* ---------- Estados hover / focus ---------- */
  .nav-cta, .btn-terracota { transition: background .45s ease, color .45s ease, transform .25s ease !important; }
  .nav-cta:hover { background: #E2DFC2; color: #1C1B1B; transform: translateY(-1px); }
  .nav-cta.is-scrolled { background: #E43E00 !important; color: #FEFCB0 !important; }
  .nav-cta.is-scrolled:hover { background: #C33500 !important; }
  .menu-link:hover { color: #E0B334; }
  .btn-terracota:hover { background: #192006; color: #FEFCB0; transform: translateY(-2px); }
  .btn-arena:hover { background: #C33500; transform: translateY(-1px); }
  .cta-arena { transition: background .45s ease, color .45s ease, transform .25s ease; }
  .cta-arena:hover { background: #192006; color: #FEFCB0; transform: translateY(-1px); }
  .gbadge:hover { background: #E2DFC2; border-color: #E2DFC2; }

  /* ---------- Bloque de contacto (terracota) ---------- */
  .c-label { font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase; color: #8A6D14; margin-bottom: 8px; }
  .c-link, .c-val { color: #192006; font-size: clamp(17px,1.5vw,20px); line-height: 1.4; }
  .c-link { text-decoration: none; border-bottom: 1px solid rgba(25,32,6,0.4); padding-bottom: 2px; transition: border-color .2s ease; }
  .c-link:hover { border-color: #192006; }
  .cfield { width: 100%; background: transparent; border: none; border-bottom: 1.5px solid rgba(25,32,6,0.4); color: #192006; font-family: inherit; font-size: 18px; padding: 12px 2px; outline: none; transition: border-color .25s ease; }
  .cfield::placeholder { color: rgba(25,32,6,0.55); }
  .cfield:focus { border-bottom-color: #192006; }
  textarea.cfield { resize: vertical; min-height: 92px; line-height: 1.5; }

  /* ---------- Tarjetas de servicios ---------- */
  .serv-card { transition: transform .3s ease, border-color .3s ease;
    padding: 30px 16px 34px 0 !important; min-height: 220px !important; gap: 16px !important; justify-content: flex-start !important; }
  .serv-card h3 { font-size: clamp(23px,2vw,31px) !important; min-height: 2.4em; margin: 0 !important; }
  .serv-card p { font-size: clamp(16px,1.4vw,19px) !important; }
  .serv-card:hover { transform: translateY(-3px); border-color: rgba(254,252,176,0.55); }
  .svc-u { background-image: linear-gradient(#E43E00, #E43E00); background-repeat: no-repeat; background-position: left 100%; background-size: var(--hlfill, 0%) 2.5px; padding-bottom: 8px; }
  @media (prefers-reduced-motion: reduce){ .svc-u{ background-size: 100% 2.5px !important; } .u-line-y{ background-size: 100% 2px !important; } .line-fill, .serv-card{ background-size: 100% 1.5px !important; } }
  @media (max-width: 1040px){ [data-serv-grid]{ grid-template-columns: 1fr 1fr !important; } [data-serv-title]{ grid-template-columns: 1fr 1fr !important; } }
  @media (max-width: 620px){ [data-serv-grid]{ grid-template-columns: 1fr !important; } [data-serv-title]{ grid-template-columns: 1fr !important; } [data-serv-title] > h2{ grid-row: 2 !important; } [data-serv-title] > a{ grid-column: 1 !important; grid-row: 3 !important; justify-self: start !important; margin-top: 38px; } }


  /* ---------- Foto de Isabel y sello de Soda Lemon ---------- */
  .retrato-quien { background-image: var(--img-retrato); background-size: cover; background-position: center top; background-repeat: no-repeat; background-color: #D9D4BC; }
  .sello-sodalemon { display: block; width: 180px; height: 47px; background-image: var(--img-sello); background-size: contain; background-repeat: no-repeat; background-position: left center; }

  /* ---------- Cinta de reseñas ---------- */
  .reviews-track { align-items: stretch; }

  /* ---------- Responsive (idéntico al diseño original) ---------- */
  @media (max-width: 960px){
    [data-r="quien"]{ grid-template-columns:1fr!important; }
    .retrato-quien{ height:auto!important; min-height:0!important; aspect-ratio: 961 / 1400; }
    [data-r="cta"]{ grid-template-columns:1fr!important; gap:36px!important; }
    [data-r="foot"]{ grid-template-columns:1fr 1fr!important; gap:32px!important; }
    [data-r="foot"] [data-foot-brand]{ grid-column:1 / -1!important; }
  }
  @media (max-width: 600px){
    #inicio > div{ padding-top: 112px !important; }
    #inicio > div > div:first-child{ flex: 0 0 auto !important; }
    .cta-arena, .gbadge{ width: 100% !important; justify-content: center !important; }
    .svc-row{ flex-direction: column !important; align-items: flex-start !important; gap: 16px !important; }
    [data-r="cta"] > div:first-child{ order: 2; }
    [data-r="cta"] > div:last-child{ order: 1; }
    [data-r="foot"]{ gap: 64px !important; }
    [data-pad]{ padding-left:22px!important; padding-right:22px!important; }
    [data-hero-foot]{ flex-direction:column!important; align-items:flex-start!important; gap:26px!important; padding-right:0!important; }
    [data-cta-nav]{ display:none!important; }
    [data-r="foot"]{ grid-template-columns:1fr!important; }
    [data-r="foot"] [data-foot-brand]{ grid-column:auto!important; }
    [data-menu-links] a{ font-size:36px!important; }
  }

  /* ---------- Cursor personalizado (solo ratón) ---------- */
  @media (pointer: fine){
    html.cursor-on, html.cursor-on * { cursor: none !important; }
    .cursor-ring, .cursor-dot, .cursor-ripple { position: fixed; top: 0; left: 0; z-index: 9000; pointer-events: none; border-radius: 50%; mix-blend-mode: difference; }
    .cursor-ring { width: 34px; height: 34px; margin: -17px 0 0 -17px; border: 1.6px solid #fff; opacity: 0;
      transition: width .28s cubic-bezier(.22,1,.36,1), height .28s cubic-bezier(.22,1,.36,1), margin .28s cubic-bezier(.22,1,.36,1), background .28s ease, opacity .3s ease; will-change: transform; }
    .cursor-dot { width: 6px; height: 6px; margin: -3px 0 0 -3px; background: #fff; opacity: 0; transition: opacity .3s ease; will-change: transform; }
    html.cursor-on .cursor-ring, html.cursor-on .cursor-dot { opacity: 1; }
    .cursor-ring.is-hover { width: 74px; height: 74px; margin: -37px 0 0 -37px; background: #fff; }
    .cursor-ring.is-down { width: 26px; height: 26px; margin: -13px 0 0 -13px; }
    .cursor-ripple { width: 16px; height: 16px; margin: -8px 0 0 -8px; border: 1.6px solid #fff; animation: cursorRipple .6s ease-out forwards; }
    @keyframes cursorRipple { from { transform: scale(.4); opacity: .8; } to { transform: scale(3.6); opacity: 0; } }
  }
  @media (prefers-reduced-motion: reduce){ .cursor-ring { transition: opacity .3s ease; } }


/* ═══════════════════════════════════════════════════════════════
   Ajustes para que WordPress, el tema y Elementor no alteren
   el diseño ni rompan las animaciones.
   ═══════════════════════════════════════════════════════════════ */

/* Base de la página */
html, body.acervo, body.acervo.elementor-page {
  margin: 0 !important; padding: 0 !important;
  background: #F0EEDA !important; color: #1C1B1B !important;
  font-family: var(--sans) !important;
  max-width: none !important;
}
/* el tema fija un interlineado de 1.5 en el body; la web está diseñada con el normal */
body.acervo { font-size: 16px !important; line-height: normal !important; }
html.acervo-html, body.acervo { overflow-x: clip !important; }

/* Las secciones ocupan todo el ancho y sin separaciones heredadas */
body.acervo .elementor-section.elementor-section-boxed > .elementor-container { max-width: none !important; }
body.acervo .elementor-section > .elementor-container,
body.acervo .elementor-widget-html,
body.acervo .elementor-widget-html > .elementor-widget-container,
body.acervo .elementor-widget-wrap,
body.acervo .elementor-column > .elementor-element-populated { margin: 0 !important; padding: 0 !important; }
body.acervo .elementor-column-gap-default > .elementor-row > .elementor-column > .elementor-element-populated { padding: 0 !important; }

/* Ningún contenedor puede recortar el contenido ni el scroll */
body.acervo .elementor,
body.acervo .elementor-section-wrap,
body.acervo .elementor-section,
body.acervo .elementor-container,
body.acervo .elementor-row,
body.acervo .elementor-column,
body.acervo .elementor-element,
body.acervo .elementor-widget-wrap,
body.acervo .elementor-widget-html,
body.acervo .elementor-widget-html > .elementor-widget-container { overflow: visible !important; }

/* Si el tema o Elementor Pro dejan su cabecera o su pie, los ocultamos: la web trae los suyos */
body.acervo header#masthead, body.acervo .site-header, body.acervo #site-header,
body.acervo footer#colophon, body.acervo .site-footer, body.acervo #site-footer,
body.acervo .elementor-location-header, body.acervo .elementor-location-footer,
body.acervo .wp-site-blocks > header, body.acervo .wp-site-blocks > footer { display: none !important; }

/* La barra de administración desplaza la página: recolocamos lo que va fijo.
   (!important porque la barra y el menú llevan "top" escrito en línea) */
body.acervo.admin-bar #nav  { top: 32px !important; }
body.acervo.admin-bar #menu { top: 32px !important; }
@media screen and (max-width: 782px) {
  body.acervo.admin-bar #nav  { top: 46px !important; }
  body.acervo.admin-bar #menu { top: 46px !important; }
}

/* El tema no debe imponer tamaños ni márgenes a nuestros textos */
body.acervo h1, body.acervo h2, body.acervo h3,
body.acervo p, body.acervo ul, body.acervo li, body.acervo figure, body.acervo blockquote { margin: 0; }
body.acervo h1, body.acervo h2, body.acervo h3 { font-family: inherit; text-transform: none; }
body.acervo img { max-width: none; height: auto; }
body.acervo a { text-decoration: none; }
body.acervo button, body.acervo input, body.acervo textarea { font-family: inherit; }

/* Hello Elementor pone los pies de figura en cursiva: los nombres de los testimonios van rectos */
body.acervo .review-card figcaption { font-style: normal !important; line-height: normal !important; }

/* Hello Elementor impide el salto de línea en los botones: las preguntas largas se cortarían en móvil */
body.acervo .faq-btn { white-space: normal !important; text-align: left !important; text-transform: none !important; }
/* …y les impone un interlineado de 1.5 que haría más altas las preguntas frecuentes */
body.acervo .faq-btn, body.acervo #menuOpen, body.acervo #menuClose, body.acervo #contactForm button[type="submit"] { line-height: normal !important; }
body.acervo #menuOpen, body.acervo #menuClose, body.acervo #contactForm button[type="submit"] { text-transform: none !important; letter-spacing: normal !important; box-shadow: none !important; }

/* Enlaces de contacto: que el color del tema al pasar el ratón no los cambie */
body.acervo .c-link, body.acervo .c-link:hover, body.acervo .c-link:focus { color: #192006 !important; }

/* En el editor de Elementor el menú desplegable y el cursor no tapan la interfaz */
body.elementor-editor-active #menu,
body.elementor-editor-active .cursor-ring,
body.elementor-editor-active .cursor-dot,
body.elementor-editor-active .cursor-ripple { display: none !important; }

/* La barra de administración manda: nada de la web se pone por encima */
body.acervo #nav  { z-index: 60; }
body.acervo #menu { z-index: 80; }
#wpadminbar { z-index: 99999 !important; }

/* Con la barra de admin, las secciones a pantalla completa se ajustan */
body.acervo.admin-bar section[style*="100vh"] { min-height: calc(100vh - 32px) !important; }
@media screen and (max-width: 782px) {
  body.acervo.admin-bar section[style*="100vh"] { min-height: calc(100vh - 46px) !important; }
}

/* Los campos del formulario no heredan el estilo del tema ni de Elementor */
body.acervo .cfield,
body.acervo input.cfield,
body.acervo textarea.cfield {
  -webkit-appearance: none; appearance: none;
  width: 100% !important; padding: 12px 2px !important; margin: 0 !important;
  font-size: 18px !important; letter-spacing: normal !important; text-transform: none !important;
  border: none !important; border-bottom: 1.5px solid rgba(25,32,6,0.4) !important;
  border-radius: 0 !important; background: transparent !important;
  box-shadow: none !important; outline: none !important;
  color: #192006 !important; font-family: inherit !important;
}
body.acervo input.cfield { line-height: normal !important; }
body.acervo textarea.cfield { line-height: 1.5 !important; min-height: 92px !important; resize: vertical; }
body.acervo .cfield:focus { border-bottom-color: #192006 !important; }
body.acervo .cfield::placeholder { color: rgba(25,32,6,0.55) !important; opacity: 1; }
body.acervo #contactForm input[type="checkbox"] { -webkit-appearance: checkbox; appearance: auto; }
body.acervo button[type="submit"] { -webkit-appearance: none; appearance: none; }

/* Respaldo: si no se aplicó la plantilla Lienzo, se oculta la cabecera y el
   pie del tema sea cual sea su nombre. El pie de la web va dentro de las
   secciones de Elementor, así que esto no lo afecta. */
body.acervo > header, body.acervo > footer,
body.acervo > .site-header, body.acervo > .site-footer,
body.acervo > #header, body.acervo > #footer,
body.acervo > .wp-site-blocks > header, body.acervo > .wp-site-blocks > footer { display: none !important; }

/* ═══════════════════════════════════════════════════════════════
   Páginas legales (aviso legal y política de privacidad)
   ═══════════════════════════════════════════════════════════════ */
  body .acervo-legal{background:#F0EEDA;color:#192006;font-family:'PP Neue Montreal','Neue Montreal','Schibsted Grotesk',system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased;line-height:1.65;min-height:100vh}
  body .acervo-legal *,body .acervo-legal *::before,body .acervo-legal *::after{box-sizing:border-box}
  body .acervo-legal ::selection{background:#E43E00;color:#FEFCB0}
  /* barra superior */
  body .acervo-legal .barra{position:sticky;top:0;z-index:10;background:rgba(240,238,218,.92);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 1px 0 rgba(25,32,6,.10)}
  body.admin-bar .acervo-legal .barra{top:32px}
  @media screen and (max-width:782px){body.admin-bar .acervo-legal .barra{top:46px}}
  @media screen and (max-width:600px){body.admin-bar .acervo-legal .barra{top:0}}
  body .acervo-legal .barra-int{max-width:1100px;margin:0 auto;padding:0 clamp(24px,6vw,64px);height:88px;display:flex;align-items:center;justify-content:space-between;gap:16px}
  body .acervo-legal a.logo{color:#192006;text-decoration:none;font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-size:38px;letter-spacing:-.02em;line-height:1}
  body .acervo-legal a.logo b{color:#E43E00;font-weight:500}
  body .acervo-legal a.volver{display:inline-flex;align-items:center;gap:10px;height:50px;padding:0 24px;border:1px solid rgba(25,32,6,.25);border-radius:100px;color:#192006;text-decoration:none;font-size:16px;font-weight:500;line-height:1;white-space:nowrap;transition:background .25s ease,border-color .25s ease,color .25s ease}
  body .acervo-legal a.volver:hover{background:#192006;border-color:#192006;color:#FEFCB0}
  /* cuerpo del documento */
  body .acervo-legal main{display:block;max-width:820px;margin:0 auto;padding:clamp(56px,8vw,110px) clamp(24px,6vw,48px) clamp(80px,10vw,130px)}
  body .acervo-legal .rotulo{font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:#E43E00;font-weight:600;margin:0 0 26px;line-height:1.4}
  body .acervo-legal h1{margin:0 0 20px;font-family:inherit;font-weight:500;font-size:clamp(46px,6.4vw,88px);line-height:1;letter-spacing:-.05em;color:#E43E00;text-transform:none}
  body .acervo-legal .fecha{margin:0 0 clamp(40px,5vw,60px);font-size:14px;line-height:1.5;color:#5C5844}
  body .acervo-legal .ficha{background:#192006;color:#FEFCB0;border-radius:18px;padding:clamp(28px,4.5vw,44px);margin:0 0 clamp(44px,6vw,64px);scroll-margin-top:120px}
  body .acervo-legal .ficha p{color:#FEFCB0;font-size:clamp(17px,1.6vw,19px);line-height:1.6;margin:0 0 14px}
  body .acervo-legal .ficha p:last-child{margin-bottom:0}
  body .acervo-legal .ficha strong{color:#FEFCB0;font-weight:600}
  body .acervo-legal .ficha a{color:#FEFCB0;text-decoration-color:rgba(254,252,176,.55)}
  body .acervo-legal .ficha a:hover{color:#FEFCB0;text-decoration-color:#E43E00}
  body .acervo-legal .nw{white-space:nowrap}
  body .acervo-legal h2{margin:clamp(52px,6vw,72px) 0 18px;padding:0;font-family:inherit;font-weight:500;font-size:clamp(26px,3vw,36px);line-height:1.15;letter-spacing:-.03em;color:#192006;text-transform:none;scroll-margin-top:120px}
  body .acervo-legal h2 .n{color:#E43E00;margin-right:.14em}
  body .acervo-legal h2 .cola{display:block;margin-top:10px;font-size:clamp(17px,1.6vw,19px);letter-spacing:0;line-height:1.5;color:#5C5844;font-weight:400}
  body .acervo-legal h3{margin:36px 0 14px;padding:0;font-family:inherit;font-weight:600;font-size:clamp(19px,1.8vw,21px);line-height:1.3;letter-spacing:-.01em;color:#192006;text-transform:none}
  body .acervo-legal p,body .acervo-legal li{font-size:17px;line-height:1.7;color:#3A3F2A;margin:0 0 16px}
  body .acervo-legal ul{padding:0 0 0 22px;margin:4px 0 22px;list-style:disc}
  body .acervo-legal li{margin-bottom:10px;padding-left:4px}
  body .acervo-legal li::marker{color:#E43E00}
  body .acervo-legal a{color:#192006;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
  body .acervo-legal a:hover{color:#E43E00}
  body .acervo-legal strong{color:#192006;font-weight:600}
  body .acervo-legal ul.indice a{text-decoration:none;border-bottom:1px solid rgba(25,32,6,.25);transition:color .2s ease,border-color .2s ease}
  body .acervo-legal ul.indice a:hover{color:#E43E00;border-bottom-color:#E43E00}
  /* fichas de cada tratamiento de datos */
  body .acervo-legal .tratamiento{background:#FFFDFD;border-radius:16px;padding:4px clamp(20px,3vw,34px) 6px;margin:0 0 20px}
  body .acervo-legal .tratamiento h3{margin:24px 0 6px}
  body .acervo-legal .tratamiento table{width:100%;border-collapse:collapse;border:0;margin:0;background:transparent;font-size:16px}
  body .acervo-legal .tratamiento table tbody tr th,body .acervo-legal .tratamiento table tbody tr td{text-align:left;padding:18px 0;border:0;border-bottom:1px solid rgba(25,32,6,.10);vertical-align:top;background:transparent;font-size:16.5px;line-height:1.65;color:#3A3F2A}
  body .acervo-legal .tratamiento table tbody tr:last-child th,body .acervo-legal .tratamiento table tbody tr:last-child td{border-bottom:0}
  body .acervo-legal .tratamiento table tbody tr th{width:30%;padding-right:22px;font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:#E43E00;font-weight:600;line-height:2.2}
  /* pie */
  body .acervo-legal footer{display:block;background:#192006;color:#DEDAC8;padding:clamp(44px,6vw,64px) clamp(24px,6vw,64px);font-size:14px;line-height:1.5}
  body .acervo-legal footer .pie{max-width:1100px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px 32px}
  body .acervo-legal footer a.pie-logo{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-size:38px;letter-spacing:-.02em;line-height:1;color:#FEFCB0;text-decoration:none}
  body .acervo-legal footer a.pie-logo b{color:#E43E00;font-weight:500}
  body .acervo-legal footer .pie-enlaces{display:flex;flex-wrap:wrap;gap:10px 26px}
  body .acervo-legal footer a{color:#DEDAC8;text-decoration:none;font-size:15px}
  body .acervo-legal footer a:hover,body .acervo-legal footer a[aria-current="page"]{color:#FEFCB0}
  body .acervo-legal footer .copy{color:#7E7A5E;width:100%;padding-top:22px;box-shadow:inset 0 1px 0 rgba(222,218,200,.14)}
  @media (max-width:640px){
    body .acervo-legal .barra-int{height:74px}
    body .acervo-legal a.logo{font-size:33px}
    body .acervo-legal a.volver{height:44px;padding:0 18px;font-size:15px}
    body .acervo-legal .tratamiento table tbody tr th,body .acervo-legal .tratamiento table tbody tr td{display:block;width:100%;padding:0}
    body .acervo-legal .tratamiento table tbody tr th{padding:18px 0 4px;border-bottom:0}
    body .acervo-legal .tratamiento table tbody tr td{padding:0 0 18px}
  }
