/*
Theme Name: Eating Stories
Theme URI: https://www.eatingstories.org
Author: Tania de Anta — Eating Stories
Description: Tema a medida de eatingstories.org. Migración 1:1 del diseño original con contenido nativo indexable. Paleta crema/oliva/charcoal; Cormorant Garamond, Jost y Be Vietnam Pro.
Version: 3.1
License: GNU General Public License v2 or later
Text Domain: eating-stories
*/


*{box-sizing:border-box}
html,body{margin:0;padding:0;background:#FFFAF1;overflow-x:hidden}
img{max-width:100%}
/* ── Accesibilidad táctil (WCAG 2.5.5): amplía el área de pulsación SIN mover nada ── */
@media (max-width:1024px){
  section a,section button{position:relative}
  section a::after,section button::after{content:"";position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);height:44px;min-width:44px;z-index:0;pointer-events:auto}
  section a > *,section button > *{position:relative;z-index:1}
  a,button{-webkit-tap-highlight-color:rgba(89,97,83,.12)}
}
/* ── Respeto por reduce-motion en todo el sitio ── */
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
/* ── Sin scroll horizontal jamás ── */
html,body{max-width:100%}
/* ── Header fijo (lo hacía el contenedor de Wix) ── */
#es-header{position:sticky;top:0;z-index:1000;background:#FFFAF1}
#es-header.is-scrolled{box-shadow:0 1px 0 rgba(89,97,83,.16)}
/* ── Drawer móvil ── */
#es-header .drawer{position:fixed;inset:0;z-index:1200;transform:translateX(100%);transition:transform .38s cubic-bezier(.2,.8,.2,1);will-change:transform}
#es-header .drawer.is-open{transform:translateX(0)}
@media (min-width:901px){#es-header .drawer{display:none}}

/* ══ es-header ══ */
#es-header{width:100%;position:relative}

#es-header {
  --es-cream:        #FFFAF1;
  --es-cream-2:      #F0E8E0;
  --es-olive:        #596153;
  --es-olive-light:  #808878;
  --es-charcoal:     #242121;
  --es-olive-16:     rgba(89, 97, 83, 0.16);
  --es-olive-32:     rgba(89, 97, 83, 0.32);

  --font-display: 'Cormorant Garamond', Garamond, Georgia, serif;
  --font-label:   'Jost', -apple-system, 'Segoe UI', system-ui, sans-serif;
  --font-body:    'Be Vietnam Pro', -apple-system, 'Segoe UI', system-ui, sans-serif;

  --ease:  cubic-bezier(0.2, 0.8, 0.2, 1);
  --t:     0.25s;

  --page-pad: clamp(20px, 5vw, 88px);
}

#es-header * { box-sizing: border-box; margin: 0; padding: 0; }
#es-header, #es-header { background: var(--es-cream); color: var(--es-charcoal); }
#es-header {
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
#es-header a { color: inherit; text-decoration: none; cursor: pointer; }

#es-header .nav {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  padding: 26px var(--page-pad);
  background: var(--es-cream);
  border-bottom: 1px solid var(--es-olive-16);
  position: relative;
  z-index: 50;
}

#es-header .nav__links { display: flex; gap: 40px; }
#es-header .nav__links a {
  font-family: var(--font-label);
  font-weight: 400;
  font-size: 11.5px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--es-olive);
  padding: 6px 2px;
  border-bottom: 1px solid transparent;
  transition: color var(--t) var(--ease), border-color var(--t) var(--ease);
}
#es-header .nav__links a:hover {
  color: var(--es-charcoal);
  border-bottom-color: var(--es-charcoal);
}

#es-header .brand {
  text-align: center;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
}
#es-header .brand .mark {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: 26px;
  letter-spacing: 0.26em;
  text-transform: uppercase;
  color: var(--es-olive);
  line-height: 1;
}
#es-header .brand .tag {
  font-family: var(--font-label);
  font-weight: 400;
  font-size: 9px;
  letter-spacing: 0.4em;
  text-transform: uppercase;
  color: var(--es-olive-light);
}

#es-header .nav__cta {
  justify-self: end;
  display: flex;
  align-items: center;
  gap: 28px;
}
#es-header .nav__cta > a {
  font-family: var(--font-label);
  font-weight: 400;
  font-size: 11.5px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--es-olive);
}
#es-header .nav__cta > a:not(.btn-contacto) {
  padding: 6px 2px;
  border-bottom: 1px solid transparent;
  transition: color var(--t) var(--ease), border-color var(--t) var(--ease);
}
#es-header .nav__cta > a:not(.btn-contacto):hover {
  color: var(--es-charcoal);
  border-bottom-color: var(--es-charcoal);
}

#es-header .nav__cta .btn-contacto {
  background: var(--es-olive);
  color: var(--es-cream);
  padding: 12px 22px;
  font-weight: 500;
  transition: background var(--t) var(--ease);
}
#es-header .nav__cta .btn-contacto:hover {
  background: var(--es-charcoal);
  color: var(--es-cream);
}

#es-header .hamburger {
  display: none;
  position: relative;
  width: 30px;
  height: 22px;
  background: transparent;
  border: 0;
  cursor: pointer;
  padding: 0;
  z-index: 200;
}
#es-header .hamburger span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 1.5px;
  background: var(--es-olive);
  transition: transform var(--t) var(--ease),
              top var(--t) var(--ease),
              opacity var(--t) var(--ease),
              background var(--t) var(--ease);
}
#es-header .hamburger span:nth-child(1) { top: 4px; }
#es-header .hamburger span:nth-child(2) { top: 11px; }
#es-header .hamburger span:nth-child(3) { top: 18px; }

#es-header .is-open .hamburger span { background: var(--es-cream); }
#es-header .is-open .hamburger span:nth-child(1) { top: 11px; transform: rotate(45deg); }
#es-header .is-open .hamburger span:nth-child(2) { opacity: 0; }
#es-header .is-open .hamburger span:nth-child(3) { top: 11px; transform: rotate(-45deg); }

#es-header .drawer {
  position: fixed;
  inset: 0;
  background: var(--es-olive);
  color: var(--es-cream);
  z-index: 150;
  padding: 110px var(--page-pad) 40px;
  transform: translateY(-100%);
  transition: transform 0.4s var(--ease);
  display: flex;
  flex-direction: column;
  gap: 32px;
  overflow-y: auto;
  visibility: hidden;
}
#es-header .is-open .drawer {
  transform: translateY(0);
  visibility: visible;
}
#es-header .drawer__links {
  display: flex;
  flex-direction: column;
  gap: 0;
}
#es-header .drawer__links a {
  font-family: var(--font-display);
  font-weight: 400;
  font-size: 30px;
  line-height: 1.3;
  letter-spacing: 0.01em;
  color: var(--es-cream);
  padding: 14px 0;
  border-bottom: 1px solid rgba(255, 250, 241, 0.15);
}
#es-header .drawer__links a:last-child { border-bottom: 0; }

#es-header .drawer__cta {
  margin-top: auto;
  padding-top: 24px;
}
#es-header .drawer__contacto {
  display: inline-block;
  text-align: center;
  background: var(--es-cream);
  color: var(--es-olive) !important;
  padding: 18px 22px !important;
  font-family: var(--font-label);
  font-weight: 500;
  font-size: 12px;
  letter-spacing: 0.28em;
  text-transform: uppercase;
}

@media (max-width: 860px) {
  #es-header .nav {
    grid-template-columns: auto 1fr auto;
    padding: 16px var(--page-pad);
    background: transparent;
    border-bottom: 0;
  }
  #es-header .nav__links, #es-header .nav__cta { display: none; }

  #es-header .brand { display: none; }

  #es-header .hamburger {
    display: block;
    justify-self: start;
    grid-column: 1;
  }
  #es-header .hamburger span { background: var(--es-cream); }

  #es-header .nav::after {
    content: '';
    display: block;
    width: 30px;
    grid-column: 3;
  }
}

@media (max-width: 420px) {
  #es-header .brand .mark { font-size: 18px; letter-spacing: 0.2em; }
  #es-header .brand .tag { display: none; }
  #es-header .drawer__links a { font-size: 26px; padding: 12px 0; }
  #es-header .drawer { padding: 90px 24px 32px; }
}

#es-header.drawer-open { overflow: hidden; }

/* ══ es-hero ══ */
#es-hero{width:100%;position:relative;--frameH:902px}

#es-hero *{box-sizing:border-box;margin:0;padding:0}
#es-hero,#es-hero{height:var(--frameH);color:#FFFAF1;background:#242121}
#es-hero{--es-cream:#FFFAF1;--es-charcoal:#242121;--font-display:'Cormorant Garamond',Georgia,serif;--font-label:'Jost',-apple-system,system-ui,sans-serif;--font-body:'Be Vietnam Pro',-apple-system,system-ui,sans-serif}
#es-hero{font-family:var(--font-body)}
#es-hero .hero{position:relative;width:100%;height:100%;min-height:var(--frameH);background:#242121;overflow:hidden}
#es-hero .hero__bg{position:absolute;inset:0;background-image:url("img/hero-nitida.jpg");background-size:cover;background-position:center right;will-change:transform;transform:translate3d(0,0,0);transition:transform .08s linear}
#es-hero .hero__overlay{position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(36,33,33,.55) 0%,rgba(36,33,33,.25) 40%,rgba(36,33,33,.08) 70%);pointer-events:none}
#es-hero .content{position:absolute;left:6.5%;top:50%;transform:translateY(-50%);max-width:720px;padding-right:32px;z-index:2}
#es-hero .kicker{font-family:var(--font-label);font-weight:400;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--es-cream);margin-bottom:32px;display:flex;align-items:center;gap:14px;width:fit-content;max-width:100%}
#es-hero .kicker::before{content:"";display:inline-block;width:36px;height:1px;background:var(--es-cream);opacity:.75;flex-shrink:0}
#es-hero .title{font-family:var(--font-display);font-weight:500;font-size:clamp(68px,9.6vw,132px);line-height:.92;text-transform:uppercase;letter-spacing:.01em;color:var(--es-cream);margin:0}
#es-hero .title__it{display:block;font-family:var(--font-display);font-style:italic;font-weight:400;font-size:.62em;line-height:1.0;text-transform:none;letter-spacing:-.01em;margin-top:6px}
#es-hero .lead{font-family:var(--font-body);font-weight:300;font-size:16px;line-height:1.7;color:var(--es-cream);opacity:.95;margin-top:32px;max-width:640px}
#es-hero .cta{display:flex;align-items:center;gap:34px;margin-top:40px;flex-wrap:wrap}
#es-hero .btn{font-family:var(--font-label);font-weight:400;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--es-cream);text-decoration:none;cursor:pointer;transition:all .25s cubic-bezier(.2,.8,.2,1)}
#es-hero .btn--out{border:1px solid var(--es-cream);padding:14px 28px;background:transparent;display:inline-block}
#es-hero .btn--out:hover{background:var(--es-cream);color:var(--es-charcoal)}
#es-hero .btn--lk{display:inline-flex;align-items:center;gap:10px;padding:14px 0;position:relative}
#es-hero .btn--lk::after{content:"";position:absolute;bottom:10px;left:0;width:100%;height:1px;background:var(--es-cream);opacity:.35;transition:opacity .25s}
#es-hero .btn--lk:hover::after{opacity:1}
#es-hero .btn--lk .ar{display:inline-block;transition:transform .25s cubic-bezier(.2,.8,.2,1)}
#es-hero .btn--lk:hover .ar{transform:translateX(6px)}
@media (max-width:900px){#es-hero .content{left:5%;max-width:92%;padding-right:16px}#es-hero .title{font-size:clamp(56px,14vw,96px)}#es-hero .lead{font-size:15px}}
@media (max-width:640px){
  #es-hero .hero__bg{background-image:url("img/hero-nitida.jpg");background-position:80% 45%;background-size:cover}
  #es-hero .hero__overlay{background-image:linear-gradient(180deg,rgba(36,33,33,.25) 0%,rgba(36,33,33,.5) 55%,rgba(36,33,33,.82) 100%)}
  #es-hero .content{position:absolute;left:20px;right:20px;bottom:36px;top:auto;transform:none;max-width:none;padding-right:0}
  #es-hero .kicker{font-size:9px;letter-spacing:.18em;margin-bottom:16px;gap:10px;width:fit-content;max-width:100%}
  #es-hero .kicker::before{width:20px}
  #es-hero .title{font-size:clamp(40px,12vw,68px);line-height:.96;letter-spacing:0}
  #es-hero .title__it{font-size:.6em;margin-top:4px}
  #es-hero .lead{font-size:13.5px;line-height:1.55;margin-top:16px;max-width:none}
  #es-hero .lead br{display:none}
  #es-hero .cta{gap:14px;margin-top:22px;flex-direction:column;align-items:stretch}
  #es-hero .btn--out{text-align:center;padding:14px 20px;width:100%;font-size:10.5px}
  #es-hero .btn--lk{padding:12px 0;justify-content:flex-start;width:100%}
  #es-hero .btn--lk::after{bottom:8px;width:fit-content;padding-right:0}
}
@media (max-width:400px){
  #es-hero .title{font-size:clamp(36px,11vw,56px)}
  #es-hero .content{left:16px;right:16px;bottom:28px}
}
@media (max-width:900px){#es-hero{--frameH:100svh}}

/* ══ es-sep1 ══ */
#es-sep1{width:100%;position:relative}
#es-sep1 *{box-sizing:border-box;margin:0;padding:0}#es-sep1{background:#FFFAF1}#es-sep1 .sep{height:76px;background:#FFFAF1}@media(max-width:900px){#es-sep1 .sep{height:40px}}
/* ══ es-manifiesto ══ */
#es-manifiesto{width:100%;position:relative}

#es-manifiesto {
  --es-cream:#FFFAF1; --es-cream-2:#F0E8E0; --es-olive:#596153;
  --es-olive-light:#808878; --es-charcoal:#242121;
  --es-olive-16:rgba(89,97,83,0.16); --es-olive-32:rgba(89,97,83,0.32);
  --font-display:'Cormorant Garamond',Garamond,Georgia,serif;
  --font-label:'Jost',-apple-system,system-ui,sans-serif;
  --font-body:'Be Vietnam Pro',-apple-system,system-ui,sans-serif;
  --page-pad:clamp(24px,5vw,88px);
}
#es-manifiesto *{box-sizing:border-box;margin:0;padding:0}
#es-manifiesto{background:var(--es-cream);color:var(--es-charcoal);font-family:var(--font-body);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;text-wrap:pretty}
#es-manifiesto .label{display:flex;flex-direction:column;gap:10px}
#es-manifiesto .label .num{font-family:var(--font-label);font-size:11px;letter-spacing:0.32em;text-transform:uppercase;color:var(--es-olive-light)}
#es-manifiesto .label .kicker{font-family:var(--font-label);font-weight:500;font-size:12px;letter-spacing:0.24em;text-transform:uppercase;color:var(--es-olive)}
#es-manifiesto .cta{display:inline-flex;align-items:center;gap:12px;font-family:var(--font-label);font-weight:500;font-size:12px;letter-spacing:0.2em;text-transform:uppercase;color:var(--es-olive);padding:16px 30px;border:1px solid var(--es-olive);background:transparent;text-decoration:none;cursor:pointer;transition:background .25s, color .25s}
#es-manifiesto .cta .arr{display:inline-block;transition:transform .25s}
#es-manifiesto .cta:hover{background:var(--es-olive);color:var(--es-cream)}
#es-manifiesto .cta:hover .arr{transform:translateX(6px)}
#es-manifiesto .V1{padding:clamp(100px,13vw,180px) var(--page-pad);background:var(--es-cream);position:relative;overflow:hidden}
#es-manifiesto .V1 .inner{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:180px 1fr;gap:clamp(32px,6vw,96px);position:relative}
#es-manifiesto .V1 .quote{
  font-family:var(--font-display);font-weight:400;
  font-size:clamp(40px,5.2vw,76px);
  line-height:1.05;color:var(--es-olive);
  letter-spacing:0.005em;
  max-width:20ch;
  text-transform:uppercase;
}
#es-manifiesto .V1 .quote em{font-style:italic;text-transform:none;color:var(--es-olive-light);font-weight:400}
#es-manifiesto .V1 .sub{
  font-family:var(--font-display);font-weight:400;font-style:italic;
  font-size:clamp(22px,2.2vw,32px);
  line-height:1.35;color:var(--es-olive);
  max-width:34ch;margin-top:32px;
}
#es-manifiesto .V1 .foot{
  margin-top:clamp(56px,7vw,96px);
  display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,80px);
  max-width:900px;
  padding-top:36px;border-top:1px solid var(--es-olive-32);
}
#es-manifiesto .V1 .foot .col{font-family:var(--font-body);font-size:15.5px;line-height:1.7;color:var(--es-charcoal)}
#es-manifiesto .V1 .foot .col .lbl{font-family:var(--font-label);font-size:10.5px;letter-spacing:0.3em;text-transform:uppercase;color:var(--es-olive);margin-bottom:14px}
#es-manifiesto .V1 .actions{margin-top:56px}
@media(max-width:960px){
  #es-manifiesto .V1 .inner{grid-template-columns:1fr}
  #es-manifiesto .V1 .foot{grid-template-columns:1fr;gap:32px}
}
@media (min-width:1600px){#es-manifiesto{min-height:1115px}}

/* ══ es-servicios-home ══ */
#es-servicios-home{width:100%;position:relative}

#es-servicios-home{
  --es-cream:#FFFAF1; --es-cream-2:#F0E8E0; --es-olive:#596153;
  --es-olive-light:#808878; --es-charcoal:#242121;
  --es-olive-16:rgba(89,97,83,0.16); --es-olive-32:rgba(89,97,83,0.32);
  --font-display:'Cormorant Garamond',Garamond,Georgia,serif;
  --font-label:'Jost',-apple-system,system-ui,sans-serif;
  --font-body:'Be Vietnam Pro',-apple-system,system-ui,sans-serif;
  --page-pad:clamp(24px,5vw,88px);
  --t:.25s; --ease:cubic-bezier(0.2,0.8,0.2,1);
}
#es-servicios-home *{box-sizing:border-box;margin:0;padding:0}
#es-servicios-home{background:var(--es-cream);color:var(--es-charcoal);font-family:var(--font-body);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;text-wrap:pretty}
/* Shared label */
#es-servicios-home .label{display:flex;flex-direction:column;gap:10px}
#es-servicios-home .label .num{font-family:var(--font-label);font-size:11px;letter-spacing:0.32em;text-transform:uppercase;color:var(--es-olive-light)}
#es-servicios-home .label .kicker{font-family:var(--font-label);font-weight:500;font-size:12px;letter-spacing:0.24em;text-transform:uppercase;color:var(--es-olive)}
/* Shared CTA */
#es-servicios-home .cta{display:inline-flex;align-items:center;gap:12px;font-family:var(--font-label);font-weight:500;font-size:12px;letter-spacing:0.2em;text-transform:uppercase;color:var(--es-olive);padding:16px 30px;border:1px solid var(--es-olive);background:transparent;text-decoration:none;transition:background .25s,color .25s;cursor:pointer}
#es-servicios-home .cta .arr{display:inline-block;transition:transform .25s}
#es-servicios-home .cta:hover{background:var(--es-olive);color:var(--es-cream)}
#es-servicios-home .cta:hover .arr{transform:translateX(6px)}
#es-servicios-home .cta--ghost{border:0;padding:8px 0;gap:10px}
#es-servicios-home .cta--ghost:hover{background:transparent;color:var(--es-charcoal)}
#es-servicios-home .cta--ghost:hover .arr{transform:translateX(6px)}
/* Section */
#es-servicios-home .services{
  padding:clamp(100px,13vw,180px) var(--page-pad);
  background:var(--es-cream-2);
  border-top:1px solid var(--es-olive-16);
}
#es-servicios-home .services__inner{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:180px 1fr;gap:clamp(32px,6vw,96px)}
#es-servicios-home .services__title{
  font-family:var(--font-display);font-weight:400;
  font-size:clamp(40px,5.2vw,76px);
  line-height:1.05;color:var(--es-olive);
  letter-spacing:0.005em;
  max-width:18ch;
  text-transform:uppercase;
}
#es-servicios-home .services__title em{font-style:italic;text-transform:none;color:var(--es-olive-light);font-weight:400}
#es-servicios-home .services__sub{
  font-family:var(--font-display);font-weight:400;font-style:italic;
  font-size:clamp(22px,2.2vw,32px);
  line-height:1.35;color:var(--es-olive);
  max-width:40ch;margin-top:32px;
}
/* Grid de 3 cajas — minmax(0,1fr) fuerza columnas idénticas aunque haya palabras largas */
#es-servicios-home .services__grid{
  margin-top:clamp(56px,7vw,96px);
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;
  border-top:1px solid var(--es-olive-32);
  border-left:1px solid var(--es-olive-32);
}
#es-servicios-home .service{
  background:var(--es-cream);
  padding:clamp(36px,3.5vw,56px);
  border-right:1px solid var(--es-olive-32);
  border-bottom:1px solid var(--es-olive-32);
  display:flex;flex-direction:column;
  min-width:0;
  min-height:520px;
  transition:background var(--t) var(--ease);
}
#es-servicios-home .service:hover{background:var(--es-cream-2)}
#es-servicios-home .service__num{
  font-family:var(--font-label);font-size:11px;
  letter-spacing:0.3em;text-transform:uppercase;color:var(--es-olive-light);
  margin-bottom:40px;
  display:flex;justify-content:space-between;align-items:center;
}
/* min-height fuerza que el eyebrow ocupe siempre la altura de 2 líneas, así los títulos arrancan alineados */
#es-servicios-home .service__eyebrow{
  font-family:var(--font-label);font-weight:500;font-size:11px;
  letter-spacing:0.3em;text-transform:uppercase;color:var(--es-olive);
  margin-bottom:20px;
  min-height:2.6em;
  display:flex;align-items:flex-end;
}
#es-servicios-home .service__title{
  font-family:var(--font-display);font-weight:400;
  font-size:clamp(26px,2.1vw,32px);
  line-height:1.1;color:var(--es-olive);
  text-transform:uppercase;letter-spacing:0.005em;
  margin-bottom:20px;
}
#es-servicios-home .service__title em{font-style:italic;text-transform:none;color:var(--es-olive-light);font-weight:400}
#es-servicios-home .service__body{
  font-size:15.5px;line-height:1.7;color:var(--es-charcoal);
  margin-bottom:32px;
}
#es-servicios-home .service__list{
  list-style:none;margin-top:auto;
  padding-top:24px;border-top:1px solid var(--es-olive-16);
}
#es-servicios-home .service__list li{
  display:grid;grid-template-columns:18px 1fr;
  align-items:baseline;gap:8px;
  font-family:var(--font-label);font-size:12.5px;letter-spacing:0.04em;
  color:var(--es-charcoal);padding:8px 0;
}
#es-servicios-home .service__list li::before{
  content:'';width:12px;height:1px;background:var(--es-olive);
  display:inline-block;transform:translateY(-4px);
}
#es-servicios-home .service__cta{margin-top:28px}
/* Footer de sección con CTA */
#es-servicios-home .services__foot{
  margin-top:clamp(48px,6vw,80px);
  padding-top:36px;
  border-top:1px solid var(--es-olive-32);
  max-width:900px;
  display:flex;justify-content:space-between;align-items:baseline;gap:24px;flex-wrap:wrap;
}
#es-servicios-home .services__phrase{
  font-family:var(--font-display);font-style:italic;
  font-size:clamp(22px,2.2vw,32px);
  color:var(--es-olive);max-width:30ch;line-height:1.35;
}
@media(max-width:960px){
  #es-servicios-home .services__inner{grid-template-columns:1fr}
  #es-servicios-home .services__grid{grid-template-columns:1fr}
  #es-servicios-home .service__eyebrow{min-height:0}
}
@media (min-width:1600px){#es-servicios-home{min-height:1824px}}


/* 4 tarjetas (v3: IA como servicio propio) */
#es-servicios-home .services__grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
#es-servicios-home .services__grid--4 .service{min-height:480px;padding:clamp(28px,2.4vw,44px)}
#es-servicios-home .services__grid--4 .service__title{font-size:clamp(24px,1.7vw,29px)}
@media(max-width:1240px) and (min-width:961px){#es-servicios-home .services__grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:960px){#es-servicios-home .services__grid--4{grid-template-columns:1fr}}

/* ══ es-cinta ══ */
#es-cinta{width:100%;position:relative}

  #es-cinta {
    --es-cream:      #FFFAF1;
    --es-cream-2:    #F0E8E0;
    --es-olive:      #596153;
    --es-olive-light:#808878;
    --es-olive-16:   rgba(89, 97, 83, 0.16);
  }
  #es-cinta * { box-sizing: border-box; margin: 0; padding: 0; }
  #es-cinta { background: var(--es-cream); }

  /* === La cinta === */
  #es-cinta .stripe {
    background: var(--es-cream-2);
    border-top: 1px solid var(--es-olive-16);
    border-bottom: 1px solid var(--es-olive-16);
    overflow: hidden;
    padding: 20px 0;
  }
  #es-cinta .stripe__track {
    display: flex;
    gap: 64px;
    white-space: nowrap;
    animation: es-scroll 48s linear infinite;
    font-family: 'Cormorant Garamond', Garamond, Georgia, serif;
    font-style: italic;
    font-weight: 400;
    font-size: 22px;
    color: var(--es-olive);
    align-items: center;
    width: max-content;
  }
  #es-cinta .stripe__track > span {
    display: inline-flex;
    align-items: center;
    gap: 64px;
  }
  #es-cinta .stripe__track .dot {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--es-olive-light);
  }
  #es-cinta .stripe__track .dot svg { display: block; }

  @keyframes es-scroll {
    from { transform: translateX(0); }
    to   { transform: translateX(-50%); }
  }

  /* Pausa al pasar el ratón (opcional) */
  #es-cinta .stripe:hover .stripe__track { animation-play-state: paused; }

  /* Accesibilidad: respeta preferencia de reducir animaciones */
  @media (prefers-reduced-motion: reduce) {
    #es-cinta .stripe__track { animation: none; }
  }

/* ══ es-proyectos ══ */
#es-proyectos{width:100%;position:relative}
#es-proyectos *{box-sizing:border-box;margin:0;padding:0}
#es-proyectos{background:#FFFAF1;font-family:'Be Vietnam Pro',sans-serif}
#es-proyectos .pgal{background:#FFFAF1;padding:clamp(72px,8vw,120px) 0 clamp(64px,7vw,104px);overflow:hidden;border-top:1px solid rgba(89,97,83,.16);border-bottom:1px solid rgba(89,97,83,.16)}
#es-proyectos .pgal-head{max-width:1400px;margin:0 auto clamp(40px,4.5vw,64px);padding:0 clamp(24px,5vw,88px)}
#es-proyectos .pgal-eyebrow{font-family:'Jost',sans-serif;font-weight:500;font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:#596153;display:flex;align-items:center;gap:14px;margin-bottom:22px}
#es-proyectos .pgal-eyebrow::before{content:"";width:36px;height:1px;background:#596153;opacity:.6}
#es-proyectos .pgal-title{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;font-size:clamp(34px,3.4vw,52px);line-height:1.08;color:#596153;text-transform:uppercase;letter-spacing:.005em;max-width:22ch;margin-bottom:18px}
#es-proyectos .pgal-title em{font-style:italic;text-transform:none;color:#808878}
#es-proyectos .pgal-lead{font-family:'Be Vietnam Pro',sans-serif;font-weight:300;font-size:16px;line-height:1.7;color:#242121;opacity:.82;max-width:62ch}
#es-proyectos .pgal-fila{overflow:hidden}
#es-proyectos .pgal-fila + .pgal-fila{display:none}
#es-proyectos .pgal-track{display:flex;gap:22px;width:max-content;animation:pgal-scroll 95s linear infinite;align-items:center}
#es-proyectos .pgal-fila--b .pgal-track{animation:pgal-scroll-inv 92s linear infinite}
#es-proyectos .pgal-item{width:168px;height:168px;flex:0 0 168px;overflow:hidden;background:#F0E8E0;border:7px solid #FFFAF1;outline:1px solid rgba(89,97,83,.22);outline-offset:-7px}
#es-proyectos .pgal-item img{width:100%;height:100%;object-fit:cover;display:block;filter:none;transition:transform .55s cubic-bezier(.2,.8,.2,1)}
#es-proyectos .pgal-item:hover img{transform:scale(1.05)}
@keyframes pgal-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes pgal-scroll-inv{from{transform:translateX(-50%)}to{transform:translateX(0)}}
#es-proyectos .pgal-fila:hover .pgal-track{animation-play-state:paused}
@media (max-width:900px){#es-proyectos .pgal{padding:56px 0 56px}#es-proyectos .pgal-item{width:168px;height:168px;flex:0 0 168px;overflow:hidden;background:#F0E8E0;border:7px solid #FFFAF1;outline:1px solid rgba(89,97,83,.22);outline-offset:-7px}#es-proyectos .pgal-fila + .pgal-fila{display:none}}
@media (prefers-reduced-motion:reduce){#es-proyectos .pgal-track{display:flex;gap:22px;width:max-content;animation:pgal-scroll 95s linear infinite;align-items:center}}

/* ══ es-contacto ══ */
#es-contacto{width:100%;position:relative}

#es-contacto{
  --es-cream:#FFFAF1;
  --es-cream-2:#F0E8E0;
  --es-olive:#596153;
  --es-olive-dark:#434A3F;
  --es-olive-light:#808878;
  --es-charcoal:#242121;
  --es-cream-16:rgba(255,250,241,0.16);
  --es-cream-32:rgba(255,250,241,0.32);
  --es-cream-55:rgba(255,250,241,0.55);
  --font-display:'Cormorant Garamond',Garamond,Georgia,serif;
  --font-label:'Jost',-apple-system,system-ui,sans-serif;
  --font-body:'Be Vietnam Pro',-apple-system,system-ui,sans-serif;
  --page-pad:clamp(24px,5vw,88px);
  --t:.25s;--ease:cubic-bezier(.2,.8,.2,1);
}
#es-contacto *{box-sizing:border-box;margin:0;padding:0}
#es-contacto{background:var(--es-olive-dark);color:var(--es-cream);font-family:var(--font-body);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;text-wrap:pretty}
/* Section */
#es-contacto .contact{
  padding:clamp(100px,13vw,180px) var(--page-pad);
  background:var(--es-olive-dark);
  color:var(--es-cream);
}
#es-contacto .contact__inner{
  max-width:1400px;margin:0 auto;
  display:grid;grid-template-columns:1fr 1.05fr;
  gap:clamp(48px,7vw,112px);
  align-items:start;
}
/* LEFT column */
#es-contacto .contact__left{display:flex;flex-direction:column}
#es-contacto .label{display:flex;flex-direction:column;gap:10px;margin-bottom:36px}
#es-contacto .label .num{
  font-family:var(--font-label);font-size:11px;
  letter-spacing:0.32em;text-transform:uppercase;
  color:var(--es-cream-55);
}
#es-contacto .contact__title{
  font-family:var(--font-display);font-weight:400;
  font-size:clamp(46px,6vw,88px);
  line-height:1.02;color:var(--es-cream);
  letter-spacing:0.005em;
  text-transform:uppercase;
  max-width:12ch;
}
#es-contacto .contact__title em{
  display:block;font-style:italic;text-transform:none;
  font-weight:400;color:var(--es-cream);opacity:.85;
  letter-spacing:-.005em;
  line-height:1.05;
}
#es-contacto .contact__lead{
  font-family:var(--font-body);font-weight:300;
  font-size:15.5px;line-height:1.75;color:var(--es-cream);
  opacity:.9;
  max-width:40ch;margin-top:36px;
}
/* SOCIAL BUTTONS (reemplazan las líneas) */
#es-contacto .contact__socials{
  margin-top:48px;
  display:flex;flex-wrap:wrap;gap:14px;
}
#es-contacto .social{
  display:inline-flex;align-items:center;gap:12px;
  font-family:var(--font-label);font-weight:500;font-size:11px;
  letter-spacing:0.24em;text-transform:uppercase;
  color:var(--es-cream);
  padding:14px 22px;
  border:1px solid var(--es-cream-32);
  background:transparent;text-decoration:none;
  transition:background var(--t) var(--ease),color var(--t) var(--ease),border-color var(--t) var(--ease);
}
#es-contacto .social svg{width:16px;height:16px;flex:0 0 auto;transition:transform var(--t) var(--ease)}
#es-contacto .social:hover{background:var(--es-cream);color:var(--es-olive-dark);border-color:var(--es-cream)}
#es-contacto .social:hover svg{transform:translateY(-1px)}
/* RIGHT column — form card */
#es-contacto .form-card{
  background:var(--es-cream-2);
  color:var(--es-charcoal);
  padding:clamp(32px,3.6vw,56px);
  border:1px solid rgba(0,0,0,0.04);
}
#es-contacto .form-card__kicker{
  font-family:var(--font-label);font-weight:500;font-size:11px;
  letter-spacing:0.3em;text-transform:uppercase;color:var(--es-olive);
  margin-bottom:28px;
  display:inline-flex;align-items:center;gap:10px;
}
#es-contacto .form-card__kicker::before{
  content:'';width:18px;height:1px;background:var(--es-olive);display:inline-block;
}
#es-contacto .form-grid{
  display:grid;grid-template-columns:1fr 1fr;
  gap:22px 28px;
}
#es-contacto .field{display:flex;flex-direction:column;gap:6px}
#es-contacto .field--full{grid-column:1 / -1}
#es-contacto .field label{
  font-family:var(--font-label);font-weight:500;font-size:10.5px;
  letter-spacing:0.26em;text-transform:uppercase;color:var(--es-olive);
}
#es-contacto .field input,
#es-contacto .field select,
#es-contacto .field textarea{
  width:100%;
  font-family:var(--font-body);font-size:15px;line-height:1.5;
  color:var(--es-charcoal);
  background:transparent;
  border:0;border-bottom:1px solid var(--es-olive);
  padding:10px 0 12px;
  appearance:none;-webkit-appearance:none;
  border-radius:0;
  transition:border-color var(--t) var(--ease);
}
#es-contacto .field input::placeholder,
#es-contacto .field textarea::placeholder{
  color:var(--es-olive-light);opacity:.85;
}
#es-contacto .field input:focus,
#es-contacto .field select:focus,
#es-contacto .field textarea:focus{
  outline:none;border-bottom-color:var(--es-charcoal);
}
#es-contacto .field textarea{
  resize:vertical;min-height:90px;
  border-bottom:1px solid var(--es-olive);
  padding-top:12px;
}
/* select chevron */
#es-contacto .field--select{position:relative}
#es-contacto .field--select::after{
  content:'';position:absolute;right:6px;bottom:20px;
  width:8px;height:8px;
  border-right:1.5px solid var(--es-olive);
  border-bottom:1.5px solid var(--es-olive);
  transform:rotate(45deg);
  pointer-events:none;
}
#es-contacto .field select{padding-right:24px;cursor:pointer}
/* divider + footer */
#es-contacto .form-card__divider{
  height:1px;background:rgba(89,97,83,0.25);
  border:0;margin:34px 0 26px;
}
#es-contacto .form-card__foot{
  display:flex;justify-content:space-between;align-items:center;
  gap:20px;flex-wrap:wrap;
}
#es-contacto .form-card__note{
  font-family:var(--font-label);font-size:10.5px;
  letter-spacing:0.22em;text-transform:uppercase;
  color:var(--es-olive);max-width:26ch;line-height:1.55;
}
#es-contacto .form-submit{
  display:inline-flex;align-items:center;gap:12px;
  font-family:var(--font-label);font-weight:500;font-size:12px;
  letter-spacing:0.24em;text-transform:uppercase;
  color:var(--es-cream);background:var(--es-olive);
  padding:16px 26px;border:0;cursor:pointer;
  transition:background var(--t) var(--ease);
}
#es-contacto .form-submit:hover{background:var(--es-charcoal)}
/* Mobile */
@media(max-width:960px){
  #es-contacto .contact__inner{grid-template-columns:1fr;gap:48px}
  #es-contacto .contact__title{font-size:clamp(40px,9.5vw,64px);max-width:none}
  #es-contacto .contact__lead{margin-top:24px;font-size:15px;max-width:none}
  #es-contacto .contact__socials{margin-top:36px}
  #es-contacto .form-grid{grid-template-columns:1fr;gap:20px}
  #es-contacto .form-card__foot{flex-direction:column;align-items:stretch}
  #es-contacto .form-submit{justify-content:center}
}
@media(max-width:520px){
  #es-contacto .contact{padding:72px 20px}
  #es-contacto .form-card{padding:28px 22px}
  #es-contacto .social{padding:12px 18px;font-size:10.5px;letter-spacing:0.22em}
  #es-contacto .social svg{width:14px;height:14px}
  #es-contacto .label{margin-bottom:24px}
}

/* ══ es-footer ══ */
#es-footer{width:100%;position:relative}

  #es-footer {
    --crema:        #FFFAF1;
    --crema-tonal:  #F0E8E0;
    --oliva:        #596153;
    --oliva-dark:   #434A3F;
    --oliva-claro:  #808878;
    --charcoal:     #242121;
  }

  #es-footer * { margin: 0; padding: 0; box-sizing: border-box; }

  #es-footer, #es-footer {
    background: var(--charcoal);
  }

  #es-footer {
    font-family: 'Be Vietnam Pro', sans-serif;
    font-weight: 300;
    color: var(--crema);
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }

  #es-footer a { color: inherit; text-decoration: none; cursor: pointer; }

  #es-footer .footer {
    max-width: 1280px;
    margin: 0 auto;
    padding: 80px 80px 32px;
  }

  #es-footer .footer-grid {
    display: grid;
    grid-template-columns: 1.4fr 1fr 1fr 1fr;
    gap: 80px;
    padding-bottom: 56px;
  }

  /* Columna marca */
  #es-footer .marca-nombre {
    font-family: 'Cormorant Garamond', serif;
    font-weight: 400;
    font-size: 32px;
    letter-spacing: 0.15em;
    color: var(--crema);
    margin-bottom: 24px;
  }

  #es-footer .marca-tagline {
    font-family: 'Cormorant Garamond', serif;
    font-style: italic;
    font-size: 20px;
    color: var(--crema);
    margin-bottom: 32px;
  }

  #es-footer .marca-descripcion {
    font-size: 14px;
    color: var(--crema);
    opacity: 0.7;
    max-width: 320px;
  }

  /* Columnas enlaces */
  #es-footer .columna-titulo {
    font-family: 'Jost', sans-serif;
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--oliva-claro);
    margin-bottom: 28px;
  }

  #es-footer .columna ul {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 16px;
  }

  #es-footer .columna a {
    color: var(--crema);
    text-decoration: none;
    font-size: 14px;
    transition: opacity 0.2s ease;
    display: inline-block;
  }

  #es-footer .columna a:hover {
    opacity: 0.6;
  }

  /* Bottom bar */
  #es-footer .footer-bottom {
    border-top: 1px solid rgba(255, 250, 241, 0.15);
    padding-top: 32px;
  }

  #es-footer .footer-bottom p {
    font-family: 'Jost', sans-serif;
    font-size: 11px;
    font-weight: 400;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--crema);
    opacity: 0.6;
  }

  /* Responsive */
  @media (max-width: 1024px) {
    #es-footer .footer { padding: 64px 40px 32px; }
    #es-footer .footer-grid {
      grid-template-columns: 1fr 1fr;
      gap: 48px;
    }
  }

  @media (max-width: 640px) {
    #es-footer .footer { padding: 48px 24px 24px; }
    #es-footer .footer-grid {
      grid-template-columns: 1fr;
      gap: 40px;
    }
    #es-footer .marca-nombre { font-size: 26px; }
  }



/* ══ es-hero-servicios ══ */
#es-hero-servicios{width:100%;position:relative;--frameH:1026px}

#es-hero-servicios *{box-sizing:border-box;margin:0;padding:0}
#es-hero-servicios,#es-hero-servicios{height:var(--frameH);color:#FFFAF1;background:#242121;max-width:100%;overflow-x:hidden}
#es-hero-servicios{--es-cream:#FFFAF1;--es-charcoal:#242121;--font-display:'Cormorant Garamond',Georgia,serif;--font-label:'Jost',-apple-system,system-ui,sans-serif;--font-body:'Be Vietnam Pro',-apple-system,system-ui,sans-serif}
#es-hero-servicios{font-family:var(--font-body)}
#es-hero-servicios .hero{position:relative;width:100%;height:100%;min-height:var(--frameH);background-image:linear-gradient(180deg,rgba(36,33,33,.35) 0%,rgba(36,33,33,.55) 55%,rgba(36,33,33,.82) 100%),url("img/0a5648ab-9fef14_62cb88b295ac48c5be3c6a0c5c20c55emv2.jpg");background-size:cover;background-position:center right;overflow:hidden}
#es-hero-servicios .content{position:absolute;left:6.5%;top:50%;transform:translateY(-50%);max-width:720px;padding-right:32px}
#es-hero-servicios .kicker{font-family:var(--font-label);font-weight:400;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--es-cream);margin-bottom:32px;display:flex;align-items:center;gap:14px}
#es-hero-servicios .kicker::before{content:"";display:inline-block;width:36px;height:1px;background:var(--es-cream);opacity:.75}
#es-hero-servicios .title{font-family:var(--font-display);font-weight:500;font-size:clamp(68px,9.6vw,132px);line-height:.92;text-transform:uppercase;letter-spacing:.01em;color:var(--es-cream);margin:0}
#es-hero-servicios .lead{font-family:var(--font-body);font-weight:300;font-size:16px;line-height:1.7;color:var(--es-cream);opacity:.95;margin-top:32px;max-width:640px}
#es-hero-servicios .cta{display:flex;align-items:center;gap:34px;margin-top:40px;flex-wrap:wrap}
#es-hero-servicios .btn{font-family:var(--font-label);font-weight:400;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--es-cream);text-decoration:none;cursor:pointer;transition:all .25s cubic-bezier(.2,.8,.2,1)}
#es-hero-servicios .btn--out{border:1px solid var(--es-cream);padding:14px 28px;background:transparent;display:inline-block}
#es-hero-servicios .btn--out:hover{background:var(--es-cream);color:var(--es-charcoal)}
@media (max-width:900px){
  #es-hero-servicios .content{left:5%;max-width:92%;padding-right:16px}
  #es-hero-servicios .title{font-size:clamp(56px,14vw,96px)}
  #es-hero-servicios .lead{font-size:15px}
}
@media (max-width:640px){
  #es-hero-servicios .hero{background-image:linear-gradient(180deg,rgba(36,33,33,.35) 0%,rgba(36,33,33,.55) 55%,rgba(36,33,33,.82) 100%),url("img/0a5648ab-9fef14_62cb88b295ac48c5be3c6a0c5c20c55emv2.jpg");background-position:65% center;background-size:cover}
  #es-hero-servicios .content{position:absolute;left:20px;right:20px;bottom:40px;top:auto;transform:none;max-width:none;padding-right:0;width:auto}
  #es-hero-servicios .kicker{font-size:10px;letter-spacing:.24em;margin-bottom:16px;gap:10px}
  #es-hero-servicios .kicker::before{width:20px}
  #es-hero-servicios .title{font-size:clamp(32px,10.5vw,48px);line-height:.96;letter-spacing:0}
  #es-hero-servicios .lead{font-size:13.5px;line-height:1.55;margin-top:16px;max-width:none}
  #es-hero-servicios .lead br{display:none}
  #es-hero-servicios .cta{gap:14px;margin-top:22px;flex-direction:column;align-items:stretch}
  #es-hero-servicios .btn--out{text-align:center;padding:14px 20px;width:100%;font-size:10.5px}
}
@media (max-width:400px){
  #es-hero-servicios .title{font-size:clamp(28px,10vw,40px)}
  #es-hero-servicios .content{left:16px;right:16px;bottom:32px}
}
@media (max-width:900px){#es-hero-servicios{--frameH:100svh}}


/* ══ es-servicio-1 ══ */
#es-servicio-1{width:100%;position:relative}

#es-servicio-1 *{box-sizing:border-box;margin:0;padding:0}
#es-servicio-1,#es-servicio-1{color:#242121;background:#FFFAF1;font-family:'Be Vietnam Pro',sans-serif}
#es-servicio-1{
  --cream:#FFFAF1;--cream2:#F0E8E0;
  --olive:#596153;--olive-d:#434A3F;--olive-l:#808878;
  --charcoal:#242121;
  --fd:'Cormorant Garamond',Georgia,serif;
  --fl:'Jost',sans-serif;
  --fb:'Be Vietnam Pro',sans-serif;
}
#es-servicio-1 .sec{position:relative;background:var(--cream);padding:120px 0 140px;overflow:hidden}
#es-servicio-1 .wrap{max-width:1320px;margin:0 auto;padding:0 6%}
#es-servicio-1 .num-bg{position:absolute;top:40px;right:-20px;font-family:var(--fd);font-style:italic;font-weight:400;font-size:clamp(260px,32vw,440px);line-height:.8;color:var(--olive);opacity:.07;letter-spacing:-.03em;pointer-events:none;user-select:none}

#es-servicio-1 .head{position:relative;max-width:880px;margin-bottom:80px}
#es-servicio-1 .kicker{font-family:var(--fl);font-weight:400;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--olive);margin-bottom:28px;display:flex;align-items:center;gap:14px}
#es-servicio-1 .kicker::before{content:"";width:36px;height:1px;background:var(--olive);opacity:.6}
#es-servicio-1 .title{font-family:var(--fd);font-weight:500;font-size:clamp(52px,6.4vw,96px);line-height:.98;letter-spacing:.005em;color:var(--charcoal);margin-bottom:28px}
#es-servicio-1 .title em{font-style:italic;font-weight:400;color:var(--olive)}
#es-servicio-1 .lead{font-family:var(--fb);font-weight:300;font-size:17px;line-height:1.7;color:var(--charcoal);opacity:.86;max-width:640px}

#es-servicio-1 .grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;position:relative}
#es-servicio-1 .card{background:var(--cream2);border:1px solid rgba(89,97,83,.14);padding:40px 36px 36px;display:flex;flex-direction:column;transition:border-color .25s,transform .25s}
#es-servicio-1 .card:hover{border-color:var(--olive);transform:translateY(-2px)}
#es-servicio-1 .card-tag{font-family:var(--fl);font-weight:500;font-size:10px;letter-spacing:.26em;text-transform:uppercase;color:var(--olive);margin-bottom:14px}
#es-servicio-1 .card-title{font-family:var(--fd);font-weight:500;font-size:34px;line-height:1.05;color:var(--charcoal);margin-bottom:16px}
#es-servicio-1 .card-title em{font-style:italic;font-weight:400;color:var(--olive)}
#es-servicio-1 .card-desc{font-family:var(--fb);font-weight:300;font-size:14.5px;line-height:1.65;color:var(--charcoal);opacity:.78;margin-bottom:22px}
#es-servicio-1 .card ul{list-style:none;padding:0;margin:auto 0 0}
#es-servicio-1 .card ul li{font-family:var(--fb);font-weight:300;font-size:13.5px;line-height:1.55;color:var(--charcoal);padding:9px 0 9px 18px;border-top:1px solid rgba(36,33,33,.08);position:relative}
#es-servicio-1 .card ul li:first-child{border-top:1px solid rgba(36,33,33,.14)}
#es-servicio-1 .card ul li::before{content:"";position:absolute;left:0;top:18px;width:8px;height:1px;background:var(--olive);opacity:.5}

/* Implant destacado */
#es-servicio-1 .card--implant{background:var(--olive-d);border-color:var(--olive-d)}
#es-servicio-1 .card--implant .card-tag{color:var(--cream);opacity:.65}
#es-servicio-1 .card--implant .card-title{color:var(--cream)}
#es-servicio-1 .card--implant .card-title em{color:var(--cream);opacity:.78;font-style:italic}
#es-servicio-1 .card--implant .card-desc{color:var(--cream);opacity:.82}
#es-servicio-1 .card--implant ul li{color:var(--cream);border-top-color:rgba(255,250,241,.16)}
#es-servicio-1 .card--implant ul li:first-child{border-top-color:rgba(255,250,241,.28)}
#es-servicio-1 .card--implant ul li::before{background:var(--cream);opacity:.6}
#es-servicio-1 .card--implant:hover{border-color:var(--olive-l);transform:translateY(-2px)}
#es-servicio-1 .card--implant .implant-close{font-family:var(--fd);font-style:italic;font-weight:400;font-size:17px;line-height:1.5;opacity:.88;margin-top:auto;padding-top:20px;border-top:1px solid rgba(255,250,241,.2);margin-bottom:0}

#es-servicio-1 .foot{margin-top:72px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:24px;padding-top:40px;border-top:1px solid rgba(36,33,33,.12)}
#es-servicio-1 .foot-note{font-family:var(--fd);font-style:italic;font-weight:400;font-size:22px;line-height:1.3;color:var(--charcoal);opacity:.78;max-width:560px}
#es-servicio-1 .cta{display:inline-flex;align-items:center;gap:10px;font-family:var(--fl);font-weight:500;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--cream);background:var(--olive);text-decoration:none;padding:18px 32px;cursor:pointer;border:0;transition:background .25s}
#es-servicio-1 .cta:hover{background:var(--olive-d)}
#es-servicio-1 .cta .ar{transition:transform .25s cubic-bezier(.2,.8,.2,1)}
#es-servicio-1 .cta:hover .ar{transform:translateX(6px)}

@media (max-width:980px){
  #es-servicio-1 .sec{padding:80px 0 100px}
  #es-servicio-1 .wrap{padding:0 24px}
  #es-servicio-1 .head{margin-bottom:56px}
  #es-servicio-1 .lead{font-size:15.5px}
  #es-servicio-1 .grid{grid-template-columns:1fr;gap:16px}
  #es-servicio-1 .card{padding:32px 26px 28px}
  #es-servicio-1 .card-title{font-size:28px}
  #es-servicio-1 .foot{flex-direction:column;align-items:flex-start;margin-top:48px}
  #es-servicio-1 .foot-note{font-size:19px}
  #es-servicio-1 .cta{width:100%;justify-content:center}
  #es-servicio-1 .num-bg{font-size:240px;top:20px;right:-40px}
}


/* ══ es-servicio-2 ══ */
#es-servicio-2{width:100%;position:relative}

#es-servicio-2 *{box-sizing:border-box;margin:0;padding:0}
#es-servicio-2,#es-servicio-2{color:#242121;background:#F0E8E0;font-family:'Be Vietnam Pro',sans-serif}
#es-servicio-2{
  --cream:#FFFAF1;--cream2:#F0E8E0;
  --olive:#596153;--olive-d:#434A3F;--olive-l:#808878;
  --charcoal:#242121;
  --fd:'Cormorant Garamond',Georgia,serif;
  --fl:'Jost',sans-serif;
  --fb:'Be Vietnam Pro',sans-serif;
}
#es-servicio-2 .sec{position:relative;background:var(--cream2);padding:120px 0 140px;overflow:hidden}
#es-servicio-2 .wrap{max-width:1320px;margin:0 auto;padding:0 6%}
#es-servicio-2 .num-bg{position:absolute;top:40px;right:-20px;font-family:var(--fd);font-style:italic;font-weight:400;font-size:clamp(260px,32vw,440px);line-height:.8;color:var(--olive);opacity:.09;letter-spacing:-.03em;pointer-events:none;user-select:none}

#es-servicio-2 .head{position:relative;max-width:880px;margin-bottom:80px}
#es-servicio-2 .kicker{font-family:var(--fl);font-weight:400;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--olive);margin-bottom:28px;display:flex;align-items:center;gap:14px}
#es-servicio-2 .kicker::before{content:"";width:36px;height:1px;background:var(--olive);opacity:.6}
#es-servicio-2 .title{font-family:var(--fd);font-weight:500;font-size:clamp(52px,6.4vw,96px);line-height:.98;letter-spacing:.005em;color:var(--charcoal);margin-bottom:28px}
#es-servicio-2 .title em{font-style:italic;font-weight:400;color:var(--olive)}
#es-servicio-2 .lead{font-family:var(--fb);font-weight:300;font-size:17px;line-height:1.7;color:var(--charcoal);opacity:.86;max-width:640px}

#es-servicio-2 .grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;position:relative}
#es-servicio-2 .card{background:var(--cream);border:1px solid rgba(89,97,83,.14);padding:40px 36px 36px;display:flex;flex-direction:column;transition:border-color .25s,transform .25s}
#es-servicio-2 .card:hover{border-color:var(--olive);transform:translateY(-2px)}
#es-servicio-2 .card-tag{font-family:var(--fl);font-weight:500;font-size:10px;letter-spacing:.26em;text-transform:uppercase;color:var(--olive);margin-bottom:14px}
#es-servicio-2 .card-title{font-family:var(--fd);font-weight:500;font-size:34px;line-height:1.05;color:var(--charcoal);margin-bottom:16px}
#es-servicio-2 .card-title em{font-style:italic;font-weight:400;color:var(--olive)}
#es-servicio-2 .card-desc{font-family:var(--fb);font-weight:300;font-size:14.5px;line-height:1.65;color:var(--charcoal);opacity:.78;margin-bottom:22px}
#es-servicio-2 .card ul{list-style:none;padding:0;margin:auto 0 0}
#es-servicio-2 .card ul li{font-family:var(--fb);font-weight:300;font-size:13.5px;line-height:1.55;color:var(--charcoal);padding:9px 0 9px 18px;border-top:1px solid rgba(36,33,33,.08);position:relative}
#es-servicio-2 .card ul li:first-child{border-top:1px solid rgba(36,33,33,.14)}
#es-servicio-2 .card ul li::before{content:"";position:absolute;left:0;top:18px;width:8px;height:1px;background:var(--olive);opacity:.5}

/* Implant destacado */
#es-servicio-2 .card--implant{background:var(--olive-d);border-color:var(--olive-d)}
#es-servicio-2 .card--implant .card-tag{color:var(--cream);opacity:.65}
#es-servicio-2 .card--implant .card-title{color:var(--cream)}
#es-servicio-2 .card--implant .card-title em{color:var(--cream);opacity:.78;font-style:italic}
#es-servicio-2 .card--implant .card-desc{color:var(--cream);opacity:.82}
#es-servicio-2 .card--implant:hover{border-color:var(--olive-l);transform:translateY(-2px)}
#es-servicio-2 .card--implant .implant-close{font-family:var(--fd);font-style:italic;font-weight:400;font-size:17px;line-height:1.5;opacity:.88;margin-top:auto;padding-top:20px;border-top:1px solid rgba(255,250,241,.2);margin-bottom:0}

#es-servicio-2 .foot{margin-top:72px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:24px;padding-top:40px;border-top:1px solid rgba(36,33,33,.12)}
#es-servicio-2 .foot-note{font-family:var(--fd);font-style:italic;font-weight:400;font-size:22px;line-height:1.3;color:var(--charcoal);opacity:.78;max-width:560px}
#es-servicio-2 .cta{display:inline-flex;align-items:center;gap:10px;font-family:var(--fl);font-weight:500;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--cream);background:var(--olive);text-decoration:none;padding:18px 32px;cursor:pointer;border:0;transition:background .25s}
#es-servicio-2 .cta:hover{background:var(--olive-d)}
#es-servicio-2 .cta .ar{transition:transform .25s cubic-bezier(.2,.8,.2,1)}
#es-servicio-2 .cta:hover .ar{transform:translateX(6px)}

@media (max-width:980px){
  #es-servicio-2 .sec{padding:80px 0 100px}
  #es-servicio-2 .wrap{padding:0 24px}
  #es-servicio-2 .head{margin-bottom:56px}
  #es-servicio-2 .lead{font-size:15.5px}
  #es-servicio-2 .grid{grid-template-columns:1fr;gap:16px}
  #es-servicio-2 .card{padding:32px 26px 28px}
  #es-servicio-2 .card-title{font-size:28px}
  #es-servicio-2 .foot{flex-direction:column;align-items:flex-start;margin-top:48px}
  #es-servicio-2 .foot-note{font-size:19px}
  #es-servicio-2 .cta{width:100%;justify-content:center}
  #es-servicio-2 .num-bg{font-size:240px;top:20px;right:-40px}
}


/* ══ es-servicio-ev ══ */
#es-servicio-ev{width:100%;position:relative}

#es-servicio-ev *{box-sizing:border-box;margin:0;padding:0}
#es-servicio-ev,#es-servicio-ev{color:#242121;background:#FFFAF1;font-family:'Be Vietnam Pro',sans-serif}
#es-servicio-ev{
  --cream:#FFFAF1;--cream2:#F0E8E0;
  --olive:#596153;--olive-d:#434A3F;--olive-l:#808878;
  --charcoal:#242121;
  --fd:'Cormorant Garamond',Georgia,serif;
  --fl:'Jost',sans-serif;
  --fb:'Be Vietnam Pro',sans-serif;
}
#es-servicio-ev .sec{position:relative;background:var(--cream);padding:120px 0 140px;overflow:hidden}
#es-servicio-ev .wrap{max-width:1320px;margin:0 auto;padding:0 6%}
#es-servicio-ev .num-bg{position:absolute;top:40px;right:-20px;font-family:var(--fd);font-style:italic;font-weight:400;font-size:clamp(260px,32vw,440px);line-height:.8;color:var(--olive);opacity:.07;letter-spacing:-.03em;pointer-events:none;user-select:none}

#es-servicio-ev .head{position:relative;max-width:880px;margin-bottom:80px}
#es-servicio-ev .kicker{font-family:var(--fl);font-weight:400;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--olive);margin-bottom:28px;display:flex;align-items:center;gap:14px}
#es-servicio-ev .kicker::before{content:"";width:36px;height:1px;background:var(--olive);opacity:.6}
#es-servicio-ev .title{font-family:var(--fd);font-weight:500;font-size:clamp(52px,6.4vw,96px);line-height:.98;letter-spacing:.005em;color:var(--charcoal);margin-bottom:28px}
#es-servicio-ev .title em{font-style:italic;font-weight:400;color:var(--olive)}
#es-servicio-ev .lead{font-family:var(--fb);font-weight:300;font-size:17px;line-height:1.7;color:var(--charcoal);opacity:.86;max-width:640px}

#es-servicio-ev .grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;position:relative}
#es-servicio-ev .card{background:var(--cream2);border:1px solid rgba(89,97,83,.14);padding:40px 36px 36px;display:flex;flex-direction:column;transition:border-color .25s,transform .25s}
#es-servicio-ev .card:hover{border-color:var(--olive);transform:translateY(-2px)}
#es-servicio-ev .card-tag{font-family:var(--fl);font-weight:500;font-size:10px;letter-spacing:.26em;text-transform:uppercase;color:var(--olive);margin-bottom:14px}
#es-servicio-ev .card-title{font-family:var(--fd);font-weight:500;font-size:34px;line-height:1.05;color:var(--charcoal);margin-bottom:16px}
#es-servicio-ev .card-title em{font-style:italic;font-weight:400;color:var(--olive)}
#es-servicio-ev .card-desc{font-family:var(--fb);font-weight:300;font-size:14.5px;line-height:1.65;color:var(--charcoal);opacity:.78;margin-bottom:22px}
#es-servicio-ev .card ul{list-style:none;padding:0;margin:auto 0 0}
#es-servicio-ev .card ul li{font-family:var(--fb);font-weight:300;font-size:13.5px;line-height:1.55;color:var(--charcoal);padding:9px 0 9px 18px;border-top:1px solid rgba(36,33,33,.08);position:relative}
#es-servicio-ev .card ul li:first-child{border-top:1px solid rgba(36,33,33,.14)}
#es-servicio-ev .card ul li::before{content:"";position:absolute;left:0;top:18px;width:8px;height:1px;background:var(--olive);opacity:.5}

/* Implant destacado */
#es-servicio-ev .card--implant{background:var(--olive-d);border-color:var(--olive-d)}
#es-servicio-ev .card--implant .card-tag{color:var(--cream);opacity:.65}
#es-servicio-ev .card--implant .card-title{color:var(--cream)}
#es-servicio-ev .card--implant .card-title em{color:var(--cream);opacity:.78;font-style:italic}
#es-servicio-ev .card--implant .card-desc{color:var(--cream);opacity:.82}
#es-servicio-ev .card--implant ul li{color:var(--cream);border-top-color:rgba(255,250,241,.16)}
#es-servicio-ev .card--implant ul li:first-child{border-top-color:rgba(255,250,241,.28)}
#es-servicio-ev .card--implant ul li::before{background:var(--cream);opacity:.6}
#es-servicio-ev .card--implant:hover{border-color:var(--olive-l);transform:translateY(-2px)}
#es-servicio-ev .card--implant .implant-close{font-family:var(--fd);font-style:italic;font-weight:400;font-size:17px;line-height:1.5;opacity:.88;margin-top:auto;padding-top:20px;border-top:1px solid rgba(255,250,241,.2);margin-bottom:0}

#es-servicio-ev .foot{margin-top:72px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:24px;padding-top:40px;border-top:1px solid rgba(36,33,33,.12)}
#es-servicio-ev .foot-note{font-family:var(--fd);font-style:italic;font-weight:400;font-size:22px;line-height:1.3;color:var(--charcoal);opacity:.78;max-width:560px}
#es-servicio-ev .cta{display:inline-flex;align-items:center;gap:10px;font-family:var(--fl);font-weight:500;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--cream);background:var(--olive);text-decoration:none;padding:18px 32px;cursor:pointer;border:0;transition:background .25s}
#es-servicio-ev .cta:hover{background:var(--olive-d)}
#es-servicio-ev .cta .ar{transition:transform .25s cubic-bezier(.2,.8,.2,1)}
#es-servicio-ev .cta:hover .ar{transform:translateX(6px)}

@media (max-width:980px){
  #es-servicio-ev .sec{padding:80px 0 100px}
  #es-servicio-ev .wrap{padding:0 24px}
  #es-servicio-ev .head{margin-bottom:56px}
  #es-servicio-ev .lead{font-size:15.5px}
  #es-servicio-ev .grid{grid-template-columns:1fr;gap:16px}
  #es-servicio-ev .card{padding:32px 26px 28px}
  #es-servicio-ev .card-title{font-size:28px}
  #es-servicio-ev .foot{flex-direction:column;align-items:flex-start;margin-top:48px}
  #es-servicio-ev .foot-note{font-size:19px}
  #es-servicio-ev .cta{width:100%;justify-content:center}
  #es-servicio-ev .num-bg{font-size:240px;top:20px;right:-40px}
}


/* ══ es-servicio-ia ══ */
#es-servicio-ia{width:100%;position:relative}

#es-servicio-ia *{box-sizing:border-box;margin:0;padding:0}
#es-servicio-ia,#es-servicio-ia{color:#242121;background:#F0E8E0;font-family:'Be Vietnam Pro',sans-serif}
#es-servicio-ia{
  --cream:#FFFAF1;--cream2:#F0E8E0;
  --olive:#596153;--olive-d:#434A3F;--olive-l:#808878;
  --charcoal:#242121;
  --fd:'Cormorant Garamond',Georgia,serif;
  --fl:'Jost',sans-serif;
  --fb:'Be Vietnam Pro',sans-serif;
}
#es-servicio-ia .sec{position:relative;background:var(--cream2);padding:120px 0 140px;overflow:hidden}
#es-servicio-ia .wrap{max-width:1320px;margin:0 auto;padding:0 6%}
#es-servicio-ia .num-bg{position:absolute;top:40px;right:-20px;font-family:var(--fd);font-style:italic;font-weight:400;font-size:clamp(260px,32vw,440px);line-height:.8;color:var(--olive);opacity:.09;letter-spacing:-.03em;pointer-events:none;user-select:none}

#es-servicio-ia .head{position:relative;max-width:880px;margin-bottom:80px}
#es-servicio-ia .kicker{font-family:var(--fl);font-weight:400;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--olive);margin-bottom:28px;display:flex;align-items:center;gap:14px}
#es-servicio-ia .kicker::before{content:"";width:36px;height:1px;background:var(--olive);opacity:.6}
#es-servicio-ia .title{font-family:var(--fd);font-weight:500;font-size:clamp(52px,6.4vw,96px);line-height:.98;letter-spacing:.005em;color:var(--charcoal);margin-bottom:28px}
#es-servicio-ia .title em{font-style:italic;font-weight:400;color:var(--olive)}
#es-servicio-ia .lead{font-family:var(--fb);font-weight:300;font-size:17px;line-height:1.7;color:var(--charcoal);opacity:.86;max-width:640px}

#es-servicio-ia .grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;position:relative}
#es-servicio-ia .card{background:var(--cream);border:1px solid rgba(89,97,83,.14);padding:40px 36px 36px;display:flex;flex-direction:column;transition:border-color .25s,transform .25s}
#es-servicio-ia .card:hover{border-color:var(--olive);transform:translateY(-2px)}
#es-servicio-ia .card-tag{font-family:var(--fl);font-weight:500;font-size:10px;letter-spacing:.26em;text-transform:uppercase;color:var(--olive);margin-bottom:14px}
#es-servicio-ia .card-title{font-family:var(--fd);font-weight:500;font-size:34px;line-height:1.05;color:var(--charcoal);margin-bottom:16px}
#es-servicio-ia .card-title em{font-style:italic;font-weight:400;color:var(--olive)}
#es-servicio-ia .card-desc{font-family:var(--fb);font-weight:300;font-size:14.5px;line-height:1.65;color:var(--charcoal);opacity:.78;margin-bottom:22px}
#es-servicio-ia .card ul{list-style:none;padding:0;margin:auto 0 0}
#es-servicio-ia .card ul li{font-family:var(--fb);font-weight:300;font-size:13.5px;line-height:1.55;color:var(--charcoal);padding:9px 0 9px 18px;border-top:1px solid rgba(36,33,33,.08);position:relative}
#es-servicio-ia .card ul li:first-child{border-top:1px solid rgba(36,33,33,.14)}
#es-servicio-ia .card ul li::before{content:"";position:absolute;left:0;top:18px;width:8px;height:1px;background:var(--olive);opacity:.5}

/* Implant destacado */
#es-servicio-ia .card--implant{background:var(--olive-d);border-color:var(--olive-d)}
#es-servicio-ia .card--implant .card-tag{color:var(--cream);opacity:.65}
#es-servicio-ia .card--implant .card-title{color:var(--cream)}
#es-servicio-ia .card--implant .card-title em{color:var(--cream);opacity:.78;font-style:italic}
#es-servicio-ia .card--implant .card-desc{color:var(--cream);opacity:.82}
#es-servicio-ia .card--implant:hover{border-color:var(--olive-l);transform:translateY(-2px)}
#es-servicio-ia .card--implant .implant-close{font-family:var(--fd);font-style:italic;font-weight:400;font-size:17px;line-height:1.5;opacity:.88;margin-top:auto;padding-top:20px;border-top:1px solid rgba(255,250,241,.2);margin-bottom:0}

#es-servicio-ia .foot{margin-top:72px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:24px;padding-top:40px;border-top:1px solid rgba(36,33,33,.12)}
#es-servicio-ia .foot-note{font-family:var(--fd);font-style:italic;font-weight:400;font-size:22px;line-height:1.3;color:var(--charcoal);opacity:.78;max-width:560px}
#es-servicio-ia .cta{display:inline-flex;align-items:center;gap:10px;font-family:var(--fl);font-weight:500;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--cream);background:var(--olive);text-decoration:none;padding:18px 32px;cursor:pointer;border:0;transition:background .25s}
#es-servicio-ia .cta:hover{background:var(--olive-d)}
#es-servicio-ia .cta .ar{transition:transform .25s cubic-bezier(.2,.8,.2,1)}
#es-servicio-ia .cta:hover .ar{transform:translateX(6px)}

@media (max-width:980px){
  #es-servicio-ia .sec{padding:80px 0 100px}
  #es-servicio-ia .wrap{padding:0 24px}
  #es-servicio-ia .head{margin-bottom:56px}
  #es-servicio-ia .lead{font-size:15.5px}
  #es-servicio-ia .grid{grid-template-columns:1fr;gap:16px}
  #es-servicio-ia .card{padding:32px 26px 28px}
  #es-servicio-ia .card-title{font-size:28px}
  #es-servicio-ia .foot{flex-direction:column;align-items:flex-start;margin-top:48px}
  #es-servicio-ia .foot-note{font-size:19px}
  #es-servicio-ia .cta{width:100%;justify-content:center}
  #es-servicio-ia .num-bg{font-size:240px;top:20px;right:-40px}
}


/* ══ es-sobremi-1 ══ */
#es-sobremi-1{width:100%;position:relative}

  #es-sobremi-1 {
    --crema: #FFFAF1;
    --crema-tonal: #F0E8E0;
    --oliva: #596153;
    --oliva-claro: #808878;
    --oliva-oscuro: #3D4339;
    --charcoal: #242121;
    --font-display: 'Cormorant Garamond', Georgia, serif;
    --font-label: 'Jost', -apple-system, system-ui, sans-serif;
    --font-body: 'Be Vietnam Pro', -apple-system, system-ui, sans-serif;
  }

  #es-sobremi-1 * { box-sizing: border-box; margin: 0; padding: 0; }

  #es-sobremi-1 {
    background: var(--crema);
    font-family: var(--font-body);
    font-weight: 300;
    color: var(--charcoal);
    line-height: 1.6;
    overflow-x: hidden;
  }

  /* ==== HERO ==== */
  #es-sobremi-1 .hero {
    position: relative;
    width: 100%;
    min-height: 700px;
    background-color: var(--charcoal);
    color: var(--crema);
    overflow: hidden;
    background-image:
      linear-gradient(90deg, rgba(36,33,33,0.85) 0%, rgba(36,33,33,0.55) 45%, rgba(36,33,33,0.15) 75%),
      url("img/0ba340cb-9fef14_aac0e3e547fb4367ab3c68909f56bd00mv2.jpg");
    background-size: cover;
    background-position: 100% 40%;
  }

  #es-sobremi-1 .hero-content {
    position: absolute;
    left: 6.5%;
    top: 50%;
    transform: translateY(-50%);
    max-width: 1100px;
    padding-right: 32px;
  }

  #es-sobremi-1 .kicker {
    font-family: var(--font-label);
    font-weight: 400;
    font-size: 11px;
    letter-spacing: 0.24em;
    text-transform: uppercase;
    color: var(--crema);
    margin-bottom: 32px;
    display: flex;
    align-items: center;
    gap: 14px;
  }

  #es-sobremi-1 .kicker::before {
    content: "";
    display: inline-block;
    width: 36px;
    height: 1px;
    background: currentColor;
    opacity: 0.75;
  }

  #es-sobremi-1 .hero-title {
    font-family: var(--font-display);
    font-weight: 500;
    font-size: clamp(48px, 6vw, 88px);
    line-height: 0.92;
    text-transform: uppercase;
    letter-spacing: 0.01em;
    color: var(--crema);
    margin: 0;
    white-space: nowrap;
  }

  #es-sobremi-1 .hero-title__it {
    display: block;
    font-family: var(--font-display);
    font-style: italic;
    font-weight: 400;
    font-size: 0.62em;
    line-height: 1;
    text-transform: none;
    letter-spacing: 0;
    margin: 6px 0;
    text-indent: 0.05em;
  }

  #es-sobremi-1 .hero-sub {
    font-family: var(--font-body);
    font-weight: 300;
    font-size: 16px;
    line-height: 1.7;
    color: var(--crema);
    opacity: 0.95;
    margin-top: 32px;
    max-width: 640px;
  }

  #es-sobremi-1 .hero-cta {
    margin-top: 40px;
  }

  /* ==== SECCIONES ==== */
  #es-sobremi-1 section.bloque {
    padding: 140px 80px;
    max-width: 1280px;
    margin: 0 auto;
  }

  #es-sobremi-1 section.bloque-full {
    padding: 140px 0;
  }

  #es-sobremi-1 section.bloque-full .inner {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 80px;
  }

  #es-sobremi-1 .bloque-eyebrow {
    font-family: var(--font-label);
    font-weight: 400;
    font-size: 11px;
    letter-spacing: 0.24em;
    text-transform: uppercase;
    color: var(--oliva);
    margin-bottom: 32px;
    display: flex;
    align-items: center;
    gap: 14px;
  }

  #es-sobremi-1 .bloque-eyebrow::before {
    content: "";
    display: inline-block;
    width: 36px;
    height: 1px;
    background: currentColor;
    opacity: 0.75;
  }

  #es-sobremi-1 .bloque-titulo {
    font-family: var(--font-display);
    font-weight: 500;
    font-size: clamp(40px, 5.5vw, 72px);
    line-height: 1;
    letter-spacing: 0.005em;
    color: var(--charcoal);
    margin-bottom: 48px;
    max-width: 900px;
  }

  #es-sobremi-1 .bloque-titulo em {
    font-style: italic;
    font-weight: 400;
  }

  /* ==== BIO ==== */
  #es-sobremi-1 .bio-texto {
    font-family: var(--font-body);
    font-weight: 300;
    font-size: 18px;
    line-height: 1.85;
    color: var(--charcoal);
    max-width: 820px;
  }

  #es-sobremi-1 .bio-texto strong {
    font-weight: 500;
    color: var(--oliva);
  }

  /* ==== PROSA EN BLOQUES ==== */
  #es-sobremi-1 .bloque-prosa {
    font-family: var(--font-body);
    font-weight: 300;
    font-size: 17px;
    line-height: 1.75;
    color: var(--charcoal);
  }

  #es-sobremi-1 .bloque-prosa p + p {
    margin-top: 24px;
  }

  #es-sobremi-1 .bloque-prosa strong {
    font-weight: 500;
    color: var(--oliva);
  }

  /* ==== MANTRA — destacado editorial ==== */
  #es-sobremi-1 .mantra {
    background: var(--crema-tonal);
  }

  #es-sobremi-1 .mantra-frase {
    font-family: var(--font-display);
    font-weight: 400;
    font-style: italic;
    font-size: clamp(32px, 4.2vw, 56px);
    line-height: 1.2;
    color: var(--oliva);
    max-width: 900px;
    margin-bottom: 40px;
  }

  #es-sobremi-1 .mantra-flow {
    font-family: var(--font-label);
    font-weight: 500;
    font-size: 13px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--charcoal);
    display: flex;
    gap: 24px;
    flex-wrap: wrap;
    align-items: center;
  }

  #es-sobremi-1 .mantra-flow .paso {
    padding: 14px 24px;
    border: 1px solid var(--oliva);
  }

  #es-sobremi-1 .mantra-flow .fl {
    color: var(--oliva);
    opacity: 0.5;
  }

  /* ==== ANTIMISIÓN — fondo oliva oscuro ==== */
  #es-sobremi-1 .antimision {
    background: var(--oliva-oscuro);
    color: var(--crema);
  }

  #es-sobremi-1 .antimision .bloque-eyebrow,
  #es-sobremi-1 .antimision .bloque-titulo {
    color: var(--crema);
  }

  #es-sobremi-1 .antimision .bloque-titulo em {
    color: var(--crema);
    opacity: 0.85;
  }

  #es-sobremi-1 .antimision-lista {
    display: flex;
    flex-direction: column;
    border-top: 1px solid rgba(255, 250, 241, 0.2);
    margin-top: 40px;
  }

  #es-sobremi-1 .antimision-item {
    padding: 32px 0;
    border-bottom: 1px solid rgba(255, 250, 241, 0.2);
    font-family: var(--font-display);
    font-weight: 400;
    font-size: clamp(20px, 2.2vw, 28px);
    line-height: 1.4;
    color: var(--crema);
    display: grid;
    grid-template-columns: 60px 1fr;
    gap: 24px;
    align-items: baseline;
  }

  #es-sobremi-1 .antimision-item .num {
    font-family: var(--font-label);
    font-weight: 500;
    font-size: 12px;
    letter-spacing: 0.2em;
    color: var(--crema);
    opacity: 0.55;
    padding-top: 10px;
  }

  #es-sobremi-1 .antimision-item em {
    font-style: italic;
    opacity: 0.9;
  }

  /* ==== DEFIENDO — cards grid ==== */
  #es-sobremi-1 .defiendo-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0;
    margin-top: 40px;
    border-top: 1px solid rgba(36, 33, 33, 0.15);
    border-left: 1px solid rgba(36, 33, 33, 0.15);
  }

  #es-sobremi-1 .defiendo-card {
    padding: 48px 40px;
    border-right: 1px solid rgba(36, 33, 33, 0.15);
    border-bottom: 1px solid rgba(36, 33, 33, 0.15);
    background: var(--crema);
  }

  #es-sobremi-1 .defiendo-card .titulo {
    font-family: var(--font-display);
    font-weight: 500;
    font-size: 28px;
    line-height: 1.15;
    color: var(--charcoal);
    margin-bottom: 16px;
  }

  #es-sobremi-1 .defiendo-card .titulo em {
    font-style: italic;
    color: var(--oliva);
  }

  #es-sobremi-1 .defiendo-card .cuerpo {
    font-size: 15px;
    line-height: 1.7;
    color: var(--charcoal);
    opacity: 0.85;
  }

  /* ==== VALORES — fila tipográfica ==== */
  #es-sobremi-1 .valores {
    background: var(--charcoal);
    color: var(--crema);
    padding: 100px 80px;
    text-align: center;
  }

  #es-sobremi-1 .valores-label {
    font-family: var(--font-label);
    font-weight: 400;
    font-size: 11px;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    color: var(--crema);
    opacity: 0.6;
    margin-bottom: 40px;
  }

  #es-sobremi-1 .valores-fila {
    font-family: var(--font-display);
    font-style: italic;
    font-weight: 400;
    font-size: clamp(28px, 4vw, 52px);
    line-height: 1.3;
    color: var(--crema);
    letter-spacing: 0.005em;
  }

  #es-sobremi-1 .valores-fila .sep {
    opacity: 0.4;
    padding: 0 18px;
  }

  /* ==== PRENSA — cards grandes ==== */
  #es-sobremi-1 .prensa {
    background: var(--crema);
  }

  #es-sobremi-1 .prensa-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
    margin-top: 40px;
  }

  #es-sobremi-1 .prensa-card {
    display: flex;
    flex-direction: column;
    text-decoration: none;
    color: inherit;
    transition: transform 0.3s cubic-bezier(0.2, 0.8, 0.2, 1);
  }

  #es-sobremi-1 .prensa-card:hover {
    transform: translateY(-4px);
  }

  #es-sobremi-1 .prensa-card-img {
    width: 100%;
    aspect-ratio: 4 / 3;
    background: var(--crema-tonal);
    overflow: hidden;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  #es-sobremi-1 .prensa-card-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s cubic-bezier(0.2, 0.8, 0.2, 1);
  }

  #es-sobremi-1 .prensa-card:hover .prensa-card-img img {
    transform: scale(1.04);
  }

  /* Placeholder tipográfico cuando no hay imagen aún */
  #es-sobremi-1 .prensa-card-placeholder {
    width: 100%;
    height: 100%;
    background: var(--oliva);
    color: var(--crema);
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-display);
    font-style: italic;
    font-size: 36px;
    padding: 24px;
    text-align: center;
    line-height: 1.1;
  }

  #es-sobremi-1 .prensa-card-body {
    padding: 24px 0 0;
  }

  #es-sobremi-1 .prensa-card-meta {
    font-family: var(--font-label);
    font-weight: 500;
    font-size: 11px;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--oliva);
    margin-bottom: 12px;
  }

  #es-sobremi-1 .prensa-card-titulo {
    font-family: var(--font-display);
    font-weight: 500;
    font-size: 24px;
    line-height: 1.2;
    color: var(--charcoal);
    margin-bottom: 8px;
  }

  #es-sobremi-1 .prensa-card-link {
    font-family: var(--font-label);
    font-weight: 400;
    font-size: 11px;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--oliva);
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 16px;
  }

  #es-sobremi-1 .prensa-card-link .ar {
    transition: transform 0.25s;
  }

  #es-sobremi-1 .prensa-card:hover .prensa-card-link .ar {
    transform: translateX(4px);
  }

  /* ==== CTA FINAL ==== */
  #es-sobremi-1 .cta-final {
    background: var(--oliva-oscuro);
    color: var(--crema);
    padding: 160px 80px;
    text-align: center;
  }

  #es-sobremi-1 .cta-final .bloque-eyebrow {
    color: var(--crema);
    justify-content: center;
  }

  #es-sobremi-1 .cta-final-titulo {
    font-family: var(--font-display);
    font-weight: 500;
    font-size: clamp(48px, 6vw, 88px);
    line-height: 1;
    text-transform: uppercase;
    color: var(--crema);
    margin-bottom: 48px;
    letter-spacing: 0.01em;
  }

  #es-sobremi-1 .cta-final-titulo em {
    font-style: italic;
    font-weight: 400;
    text-transform: none;
    display: block;
    font-size: 0.72em;
    margin: 4px 0;
  }

  #es-sobremi-1 .cta-group {
    display: flex;
    gap: 34px;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
  }

  #es-sobremi-1 .btn {
    font-family: var(--font-label);
    font-weight: 400;
    font-size: 11px;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--crema);
    text-decoration: none;
    cursor: pointer;
    transition: all 0.25s cubic-bezier(0.2, 0.8, 0.2, 1);
  }

  #es-sobremi-1 .btn--out {
    border: 1px solid var(--crema);
    padding: 16px 32px;
    background: transparent;
    display: inline-block;
  }

  #es-sobremi-1 .btn--out:hover {
    background: var(--crema);
    color: var(--charcoal);
  }

  #es-sobremi-1 .btn--lk {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 14px 0;
    position: relative;
  }

  #es-sobremi-1 .btn--lk::after {
    content: "";
    position: absolute;
    bottom: 10px;
    left: 0;
    width: 100%;
    height: 1px;
    background: var(--crema);
    opacity: 0.35;
    transition: opacity 0.25s;
  }

  #es-sobremi-1 .btn--lk:hover::after { opacity: 1; }

  #es-sobremi-1 .btn--lk .ar {
    display: inline-block;
    transition: transform 0.25s cubic-bezier(0.2, 0.8, 0.2, 1);
  }

  #es-sobremi-1 .btn--lk:hover .ar { transform: translateX(6px); }

  /* ==== RESPONSIVE ==== */
  @media (max-width: 1024px) {
    #es-sobremi-1 .prensa-grid { grid-template-columns: repeat(2, 1fr); }
    #es-sobremi-1 .defiendo-grid { grid-template-columns: 1fr; }
  }

  @media (max-width: 900px) {
    #es-sobremi-1 .hero-content { left: 5%; max-width: 92%; padding-right: 16px; }
    #es-sobremi-1 section.bloque,
    #es-sobremi-1 .cta-final,
    #es-sobremi-1 .valores { padding-left: 40px; padding-right: 40px; }
    #es-sobremi-1 section.bloque-full .inner { padding: 0 40px; }
  }

  @media (max-width: 640px) {
    #es-sobremi-1 section.bloque,
    #es-sobremi-1 .cta-final { padding: 80px 24px; }
    #es-sobremi-1 section.bloque-full { padding: 80px 0; }
    #es-sobremi-1 section.bloque-full .inner { padding: 0 24px; }
    #es-sobremi-1 .valores {
      padding: 80px 24px;
      /* Forzar full-bleed (truco transform para escapar contenedor) */
      position: relative;
      left: 50%;
      right: 50%;
      margin-left: -50vw;
      margin-right: -50vw;
      width: 100vw;
      max-width: 100vw;
    }

    #es-sobremi-1 .hero {
      background-image:
        linear-gradient(180deg, rgba(36,33,33,0.25) 0%, rgba(36,33,33,0.6) 55%, rgba(36,33,33,0.9) 100%),
        url("img/0ba340cb-9fef14_aac0e3e547fb4367ab3c68909f56bd00mv2.jpg");
      background-position: center 20%;
    }

    #es-sobremi-1 .hero-content {
      position: absolute;
      left: 24px;
      right: 24px;
      bottom: 48px;
      top: auto;
      transform: none;
      max-width: none;
    }

    #es-sobremi-1 .hero-title {
      font-size: clamp(48px, 13vw, 72px);
      white-space: normal;
    }

    #es-sobremi-1 .hero-sub {
      font-size: 14px;
      line-height: 1.6;
      margin-top: 20px;
    }

    #es-sobremi-1 .mantra-flow .paso { padding: 12px 18px; font-size: 12px; }

    #es-sobremi-1 .antimision-item {
      grid-template-columns: 1fr;
      gap: 4px;
    }

    #es-sobremi-1 .prensa-grid { grid-template-columns: 1fr; gap: 48px; }

    #es-sobremi-1 .cta-group {
      flex-direction: column;
      gap: 18px;
    }

    #es-sobremi-1 .btn--out { width: 100%; text-align: center; padding: 18px 24px; }
  }


/* ══ es-valores ══ */
#es-valores{width:100%;position:relative}

  #es-valores * { box-sizing: border-box; margin: 0; padding: 0; }
  #es-valores, #es-valores {
    width: 100%;
    background: #242121;
    overflow-x: hidden;
  }
  #es-valores {
    font-family: 'Be Vietnam Pro', -apple-system, system-ui, sans-serif;
    color: #FFFAF1;
  }

  #es-valores .valores-section {
    width: 100%;
    background: #242121;
    color: #FFFAF1;
    text-align: center;
    padding: 100px 40px;
  }

  #es-valores .valores-label {
    font-family: 'Jost', -apple-system, system-ui, sans-serif;
    font-weight: 400;
    font-size: 11px;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    color: #FFFAF1;
    opacity: 0.6;
    margin-bottom: 40px;
  }

  #es-valores .valores-fila {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-style: italic;
    font-weight: 400;
    font-size: clamp(22px, 3.2vw, 48px);
    line-height: 1.4;
    color: #FFFAF1;
    letter-spacing: 0.005em;
  }

  #es-valores .valores-fila .sep {
    opacity: 0.4;
    padding: 0 14px;
  }

  /* Mobile */
  @media (max-width: 750px) {
    #es-valores .valores-section {
      padding: 70px 24px;
    }
    #es-valores .valores-label {
      font-size: 10px;
      letter-spacing: 0.26em;
      margin-bottom: 28px;
    }
    #es-valores .valores-fila {
      font-size: clamp(18px, 5.5vw, 26px);
      line-height: 1.55;
    }
    #es-valores .valores-fila .sep {
      padding: 0 6px;
    }
  }

  @media (max-width: 420px) {
    #es-valores .valores-section {
      padding: 60px 20px;
    }
    #es-valores .valores-fila {
      font-size: 16px;
      line-height: 1.7;
    }
    #es-valores .valores-fila .sep {
      padding: 0 4px;
    }
  }


/* ══ es-sobremi-2 ══ */
#es-sobremi-2{width:100%;position:relative}

  #es-sobremi-2 {
    --crema: #FFFAF1;
    --crema-tonal: #F0E8E0;
    --oliva: #596153;
    --oliva-claro: #808878;
    --oliva-oscuro: #3D4339;
    --charcoal: #242121;
    --font-display: 'Cormorant Garamond', Georgia, serif;
    --font-label: 'Jost', -apple-system, system-ui, sans-serif;
    --font-body: 'Be Vietnam Pro', -apple-system, system-ui, sans-serif;
  }

  #es-sobremi-2 * { box-sizing: border-box; margin: 0; padding: 0; }

  #es-sobremi-2 {
    background: var(--crema);
    font-family: var(--font-body);
    font-weight: 300;
    color: var(--charcoal);
    line-height: 1.6;
  }

  /* ==== HERO ==== */
  #es-sobremi-2 .hero {
    position: relative;
    width: 100%;
    min-height: 700px;
    background-color: var(--charcoal);
    color: var(--crema);
    overflow: hidden;
    background-image:
      linear-gradient(90deg, rgba(36,33,33,0.85) 0%, rgba(36,33,33,0.55) 45%, rgba(36,33,33,0.15) 75%),
      url("img/0ba340cb-9fef14_aac0e3e547fb4367ab3c68909f56bd00mv2.jpg");
    background-size: cover;
    background-position: 100% 40%;
  }

  #es-sobremi-2 .hero-content {
    position: absolute;
    left: 6.5%;
    top: 50%;
    transform: translateY(-50%);
    max-width: 1100px;
    padding-right: 32px;
  }

  #es-sobremi-2 .kicker {
    font-family: var(--font-label);
    font-weight: 400;
    font-size: 11px;
    letter-spacing: 0.24em;
    text-transform: uppercase;
    color: var(--crema);
    margin-bottom: 32px;
    display: flex;
    align-items: center;
    gap: 14px;
  }

  #es-sobremi-2 .kicker::before {
    content: "";
    display: inline-block;
    width: 36px;
    height: 1px;
    background: currentColor;
    opacity: 0.75;
  }

  #es-sobremi-2 .hero-title {
    font-family: var(--font-display);
    font-weight: 500;
    font-size: clamp(48px, 6vw, 88px);
    line-height: 0.92;
    text-transform: uppercase;
    letter-spacing: 0.01em;
    color: var(--crema);
    margin: 0;
    white-space: nowrap;
  }

  #es-sobremi-2 .hero-title__it {
    display: block;
    font-family: var(--font-display);
    font-style: italic;
    font-weight: 400;
    font-size: 0.62em;
    line-height: 1;
    text-transform: none;
    letter-spacing: 0;
    margin: 6px 0;
    text-indent: 0.05em;
  }

  #es-sobremi-2 .hero-sub {
    font-family: var(--font-body);
    font-weight: 300;
    font-size: 16px;
    line-height: 1.7;
    color: var(--crema);
    opacity: 0.95;
    margin-top: 32px;
    max-width: 640px;
  }

  #es-sobremi-2 .hero-cta {
    margin-top: 40px;
  }

  /* ==== SECCIONES ==== */
  #es-sobremi-2 section.bloque {
    padding: 140px 80px;
    max-width: 1280px;
    margin: 0 auto;
  }

  #es-sobremi-2 section.bloque-full {
    padding: 140px 0;
  }

  #es-sobremi-2 section.bloque-full .inner {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 80px;
  }

  #es-sobremi-2 .bloque-eyebrow {
    font-family: var(--font-label);
    font-weight: 400;
    font-size: 11px;
    letter-spacing: 0.24em;
    text-transform: uppercase;
    color: var(--oliva);
    margin-bottom: 32px;
    display: flex;
    align-items: center;
    gap: 14px;
  }

  #es-sobremi-2 .bloque-eyebrow::before {
    content: "";
    display: inline-block;
    width: 36px;
    height: 1px;
    background: currentColor;
    opacity: 0.75;
  }

  #es-sobremi-2 .bloque-titulo {
    font-family: var(--font-display);
    font-weight: 500;
    font-size: clamp(40px, 5.5vw, 72px);
    line-height: 1;
    letter-spacing: 0.005em;
    color: var(--charcoal);
    margin-bottom: 48px;
    max-width: 900px;
  }

  #es-sobremi-2 .bloque-titulo em {
    font-style: italic;
    font-weight: 400;
  }

  /* ==== BIO ==== */
  #es-sobremi-2 .bio-texto {
    font-family: var(--font-body);
    font-weight: 300;
    font-size: 18px;
    line-height: 1.85;
    color: var(--charcoal);
    max-width: 820px;
  }

  #es-sobremi-2 .bio-texto strong {
    font-weight: 500;
    color: var(--oliva);
  }

  /* ==== PROSA EN BLOQUES ==== */
  #es-sobremi-2 .bloque-prosa {
    font-family: var(--font-body);
    font-weight: 300;
    font-size: 17px;
    line-height: 1.75;
    color: var(--charcoal);
  }

  #es-sobremi-2 .bloque-prosa p + p {
    margin-top: 24px;
  }

  #es-sobremi-2 .bloque-prosa strong {
    font-weight: 500;
    color: var(--oliva);
  }

  /* ==== MANTRA — destacado editorial ==== */
  #es-sobremi-2 .mantra {
    background: var(--crema-tonal);
  }

  #es-sobremi-2 .mantra-frase {
    font-family: var(--font-display);
    font-weight: 400;
    font-style: italic;
    font-size: clamp(32px, 4.2vw, 56px);
    line-height: 1.2;
    color: var(--oliva);
    max-width: 900px;
    margin-bottom: 40px;
  }

  #es-sobremi-2 .mantra-flow {
    font-family: var(--font-label);
    font-weight: 500;
    font-size: 13px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--charcoal);
    display: flex;
    gap: 24px;
    flex-wrap: wrap;
    align-items: center;
  }

  #es-sobremi-2 .mantra-flow .paso {
    padding: 14px 24px;
    border: 1px solid var(--oliva);
  }

  #es-sobremi-2 .mantra-flow .fl {
    color: var(--oliva);
    opacity: 0.5;
  }

  /* ==== ANTIMISIÓN — fondo oliva oscuro ==== */
  #es-sobremi-2 .antimision {
    background: var(--oliva-oscuro);
    color: var(--crema);
  }

  #es-sobremi-2 .antimision .bloque-eyebrow,
  #es-sobremi-2 .antimision .bloque-titulo {
    color: var(--crema);
  }

  #es-sobremi-2 .antimision .bloque-titulo em {
    color: var(--crema);
    opacity: 0.85;
  }

  #es-sobremi-2 .antimision-lista {
    display: flex;
    flex-direction: column;
    border-top: 1px solid rgba(255, 250, 241, 0.2);
    margin-top: 40px;
  }

  #es-sobremi-2 .antimision-item {
    padding: 32px 0;
    border-bottom: 1px solid rgba(255, 250, 241, 0.2);
    font-family: var(--font-display);
    font-weight: 400;
    font-size: clamp(20px, 2.2vw, 28px);
    line-height: 1.4;
    color: var(--crema);
    display: grid;
    grid-template-columns: 60px 1fr;
    gap: 24px;
    align-items: baseline;
  }

  #es-sobremi-2 .antimision-item .num {
    font-family: var(--font-label);
    font-weight: 500;
    font-size: 12px;
    letter-spacing: 0.2em;
    color: var(--crema);
    opacity: 0.55;
    padding-top: 10px;
  }

  #es-sobremi-2 .antimision-item em {
    font-style: italic;
    opacity: 0.9;
  }

  /* ==== DEFIENDO — cards grid ==== */
  #es-sobremi-2 .defiendo-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0;
    margin-top: 40px;
    border-top: 1px solid rgba(36, 33, 33, 0.15);
    border-left: 1px solid rgba(36, 33, 33, 0.15);
  }

  #es-sobremi-2 .defiendo-card {
    padding: 48px 40px;
    border-right: 1px solid rgba(36, 33, 33, 0.15);
    border-bottom: 1px solid rgba(36, 33, 33, 0.15);
    background: var(--crema);
  }

  #es-sobremi-2 .defiendo-card .titulo {
    font-family: var(--font-display);
    font-weight: 500;
    font-size: 28px;
    line-height: 1.15;
    color: var(--charcoal);
    margin-bottom: 16px;
  }

  #es-sobremi-2 .defiendo-card .titulo em {
    font-style: italic;
    color: var(--oliva);
  }

  #es-sobremi-2 .defiendo-card .cuerpo {
    font-size: 15px;
    line-height: 1.7;
    color: var(--charcoal);
    opacity: 0.85;
  }

  /* ==== VALORES — fila tipográfica ==== */
  #es-sobremi-2 .valores {
    background: var(--charcoal);
    color: var(--crema);
    padding: 100px 80px;
    text-align: center;
  }

  #es-sobremi-2 .valores-label {
    font-family: var(--font-label);
    font-weight: 400;
    font-size: 11px;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    color: var(--crema);
    opacity: 0.6;
    margin-bottom: 40px;
  }

  #es-sobremi-2 .valores-fila {
    font-family: var(--font-display);
    font-style: italic;
    font-weight: 400;
    font-size: clamp(28px, 4vw, 52px);
    line-height: 1.3;
    color: var(--crema);
    letter-spacing: 0.005em;
  }

  #es-sobremi-2 .valores-fila .sep {
    opacity: 0.4;
    padding: 0 18px;
  }

  /* ==== PRENSA — cards grandes ==== */
  #es-sobremi-2 .prensa {
    background: var(--crema);
  }

  #es-sobremi-2 .prensa-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
    margin-top: 40px;
  }

  #es-sobremi-2 .prensa-card {
    display: flex;
    flex-direction: column;
    text-decoration: none;
    color: inherit;
    transition: transform 0.3s cubic-bezier(0.2, 0.8, 0.2, 1);
  }

  #es-sobremi-2 .prensa-card:hover {
    transform: translateY(-4px);
  }

  #es-sobremi-2 .prensa-card-img {
    width: 100%;
    aspect-ratio: 4 / 3;
    background-color: var(--oliva);
    background-size: cover;
    background-position: center;
    overflow: hidden;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  /* Overlay oscuro fuerte sobre la foto */
  #es-sobremi-2 .prensa-card-img::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(36,33,33,0.75) 0%, rgba(36,33,33,0.85) 100%);
    transition: background 0.4s cubic-bezier(0.2, 0.8, 0.2, 1);
    pointer-events: none;
  }

  #es-sobremi-2 .prensa-card:hover .prensa-card-img::before {
    background: linear-gradient(180deg, rgba(36,33,33,0.55) 0%, rgba(36,33,33,0.65) 100%);
  }

  /* Variante: cuando la foto ya viene oscura (Atresmedia), overlay más suave */
  #es-sobremi-2 .prensa-card.is-dark-photo .prensa-card-img::before {
    background: linear-gradient(180deg, rgba(36,33,33,0.25) 0%, rgba(36,33,33,0.40) 100%);
  }

  #es-sobremi-2 .prensa-card.is-dark-photo:hover .prensa-card-img::before {
    background: linear-gradient(180deg, rgba(36,33,33,0.10) 0%, rgba(36,33,33,0.20) 100%);
  }

  #es-sobremi-2 .prensa-card-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s cubic-bezier(0.2, 0.8, 0.2, 1);
  }

  #es-sobremi-2 .prensa-card:hover .prensa-card-img img {
    transform: scale(1.04);
  }

  /* Nombre del medio sobre la foto */
  #es-sobremi-2 .prensa-card-placeholder {
    position: relative;
    z-index: 1;
    width: auto;
    height: auto;
    background: transparent;
    color: var(--crema);
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-display);
    font-style: italic;
    font-size: 36px;
    padding: 24px;
    text-align: center;
    line-height: 1.1;
  }

  #es-sobremi-2 .prensa-card-body {
    padding: 24px 0 0;
  }

  #es-sobremi-2 .prensa-card-meta {
    font-family: var(--font-label);
    font-weight: 500;
    font-size: 11px;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--oliva);
    margin-bottom: 12px;
  }

  #es-sobremi-2 .prensa-card-titulo {
    font-family: var(--font-display);
    font-weight: 500;
    font-size: 24px;
    line-height: 1.2;
    color: var(--charcoal);
    margin-bottom: 8px;
  }

  #es-sobremi-2 .prensa-card-link {
    font-family: var(--font-label);
    font-weight: 400;
    font-size: 11px;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--oliva);
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 16px;
  }

  #es-sobremi-2 .prensa-card-link .ar {
    transition: transform 0.25s;
  }

  #es-sobremi-2 .prensa-card:hover .prensa-card-link .ar {
    transform: translateX(4px);
  }

  /* ==== CTA FINAL ==== */
  #es-sobremi-2 .cta-final {
    background: var(--oliva-oscuro);
    color: var(--crema);
    padding: 140px 80px;
  }

  #es-sobremi-2 .cta-final-inner {
    max-width: 1280px;
    margin: 0 auto;
  }

  #es-sobremi-2 .cta-final .bloque-eyebrow {
    color: var(--crema);
  }

  #es-sobremi-2 .cta-final-titulo {
    font-family: var(--font-display);
    font-weight: 500;
    font-size: clamp(40px, 5.5vw, 72px);
    line-height: 1;
    text-transform: uppercase;
    color: var(--crema);
    margin-bottom: 48px;
    letter-spacing: 0.005em;
    max-width: 900px;
  }

  #es-sobremi-2 .cta-final-titulo em {
    font-style: italic;
    font-weight: 400;
    text-transform: none;
    display: block;
    font-size: 0.72em;
    margin: 4px 0;
  }

  #es-sobremi-2 .cta-group {
    display: flex;
    gap: 34px;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
  }

  #es-sobremi-2 .btn {
    font-family: var(--font-label);
    font-weight: 400;
    font-size: 11px;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--crema);
    text-decoration: none;
    cursor: pointer;
    transition: all 0.25s cubic-bezier(0.2, 0.8, 0.2, 1);
  }

  #es-sobremi-2 .btn--out {
    border: 1px solid var(--crema);
    padding: 16px 32px;
    background: transparent;
    display: inline-block;
  }

  #es-sobremi-2 .btn--out:hover {
    background: var(--crema);
    color: var(--charcoal);
  }

  #es-sobremi-2 .btn--lk {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 14px 0;
    position: relative;
  }

  #es-sobremi-2 .btn--lk::after {
    content: "";
    position: absolute;
    bottom: 10px;
    left: 0;
    width: 100%;
    height: 1px;
    background: var(--crema);
    opacity: 0.35;
    transition: opacity 0.25s;
  }

  #es-sobremi-2 .btn--lk:hover::after { opacity: 1; }

  #es-sobremi-2 .btn--lk .ar {
    display: inline-block;
    transition: transform 0.25s cubic-bezier(0.2, 0.8, 0.2, 1);
  }

  #es-sobremi-2 .btn--lk:hover .ar { transform: translateX(6px); }

  /* ==== RESPONSIVE ==== */
  @media (max-width: 1024px) {
    #es-sobremi-2 .prensa-grid { grid-template-columns: repeat(2, 1fr); }
    #es-sobremi-2 .defiendo-grid { grid-template-columns: 1fr; }
  }

  @media (max-width: 900px) {
    #es-sobremi-2 .hero-content { left: 5%; max-width: 92%; padding-right: 16px; }
    #es-sobremi-2 section.bloque,
    #es-sobremi-2 .cta-final,
    #es-sobremi-2 .valores { padding-left: 40px; padding-right: 40px; }
    #es-sobremi-2 section.bloque-full .inner { padding: 0 40px; }
  }

  @media (max-width: 640px) {
    #es-sobremi-2 section.bloque,
    #es-sobremi-2 .cta-final { padding: 80px 24px; }
    #es-sobremi-2 section.bloque-full { padding: 80px 0; }
    #es-sobremi-2 section.bloque-full .inner { padding: 0 24px; }
    #es-sobremi-2 .valores { padding: 80px 24px; }

    #es-sobremi-2 .hero {
      background-image:
        linear-gradient(180deg, rgba(36,33,33,0.25) 0%, rgba(36,33,33,0.6) 55%, rgba(36,33,33,0.9) 100%),
        url("img/0ba340cb-9fef14_aac0e3e547fb4367ab3c68909f56bd00mv2.jpg");
      background-position: center 20%;
    }

    #es-sobremi-2 .hero-content {
      position: absolute;
      left: 24px;
      right: 24px;
      bottom: 48px;
      top: auto;
      transform: none;
      max-width: none;
    }

    #es-sobremi-2 .hero-title {
      font-size: clamp(48px, 13vw, 72px);
      white-space: normal;
    }

    #es-sobremi-2 .hero-sub {
      font-size: 14px;
      line-height: 1.6;
      margin-top: 20px;
    }

    #es-sobremi-2 .mantra-flow .paso { padding: 12px 18px; font-size: 12px; }

    #es-sobremi-2 .antimision-item {
      grid-template-columns: 1fr;
      gap: 4px;
    }

    #es-sobremi-2 .prensa-grid { grid-template-columns: 1fr; gap: 48px; }

    #es-sobremi-2 .cta-group {
      flex-direction: column;
      gap: 18px;
    }

    #es-sobremi-2 .btn--out { width: 100%; text-align: center; padding: 18px 24px; }
  }


/* ══ es-blog ══ */
#es-blog{width:100%;position:relative}

#es-blog *{box-sizing:border-box;margin:0;padding:0}
#es-blog{--cream:#FFFAF1;--cream2:#F0E8E0;--olive:#596153;--olive-l:#808878;--olive-d:#3D4339;--charcoal:#242121;
--fd:'Cormorant Garamond',Georgia,serif;--fl:'Jost',sans-serif;--fb:'Be Vietnam Pro',sans-serif}
#es-blog{background:var(--cream);color:var(--charcoal);font-family:var(--fb);font-weight:300}
#es-blog .bwrap{max-width:1400px;margin:0 auto;padding:clamp(72px,9vw,132px) clamp(24px,5vw,88px) clamp(80px,10vw,140px)}
#es-blog .bhead{margin-bottom:clamp(48px,6vw,84px)}
#es-blog .beyebrow{font-family:var(--fl);font-weight:400;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--olive);display:flex;align-items:center;gap:14px;margin-bottom:26px}
#es-blog .beyebrow::before{content:"";width:36px;height:1px;background:var(--olive);opacity:.6}
#es-blog .btitle{font-family:var(--fd);font-weight:500;font-size:clamp(44px,6vw,88px);line-height:1;color:var(--charcoal);letter-spacing:.005em}
#es-blog .btitle em{font-style:italic;font-weight:400;color:var(--olive)}
#es-blog .bsub{font-size:17px;line-height:1.7;opacity:.82;max-width:620px;margin-top:26px}
/* destacado */
#es-blog .bfeat{display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(28px,4vw,64px);align-items:center;background:var(--cream2);border:1px solid rgba(89,97,83,.14);padding:clamp(24px,3vw,40px);margin-bottom:clamp(48px,6vw,80px)}
#es-blog .bfeat-media{aspect-ratio:16/10;overflow:hidden;display:block}
#es-blog .bfeat-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s cubic-bezier(.2,.8,.2,1)}
#es-blog .bfeat:hover .bfeat-media img{transform:scale(1.03)}
#es-blog .bfeat-tag{font-family:var(--fl);font-weight:500;font-size:10px;letter-spacing:.26em;text-transform:uppercase;color:var(--olive);margin-bottom:16px}
#es-blog .bfeat-title{font-family:var(--fd);font-weight:500;font-size:clamp(28px,3.2vw,44px);line-height:1.08;margin-bottom:18px}
#es-blog .bfeat-title a{color:var(--charcoal);text-decoration:none}
#es-blog .bfeat-title a:hover{color:var(--olive)}
#es-blog .bfeat-exc{font-size:15.5px;line-height:1.7;opacity:.8;margin-bottom:24px}
/* grid */
#es-blog .bgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,2.6vw,40px)}
#es-blog .bpost{display:flex;flex-direction:column;border-top:1px solid rgba(89,97,83,.22);padding-top:22px}
#es-blog .bpost-media{aspect-ratio:3/2;overflow:hidden;display:block;background:var(--cream2);margin-bottom:20px}
#es-blog .bpost-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s cubic-bezier(.2,.8,.2,1)}
#es-blog .bpost:hover .bpost-media img{transform:scale(1.04)}
#es-blog .bpost-meta{font-family:var(--fl);font-weight:400;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--olive-l);margin-bottom:12px}
#es-blog .bpost-title{font-family:var(--fd);font-weight:500;font-size:26px;line-height:1.12;margin-bottom:14px}
#es-blog .bpost-title a{color:var(--charcoal);text-decoration:none}
#es-blog .bpost-title a:hover{color:var(--olive)}
#es-blog .bpost-exc{font-size:14.5px;line-height:1.65;opacity:.76;margin-bottom:20px;flex:1}
#es-blog .bpost-link,#es-blog .bfeat-link{font-family:var(--fl);font-weight:500;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--olive);text-decoration:none;display:inline-flex;align-items:center;gap:9px;margin-top:auto}
#es-blog .bpost-link .ar,#es-blog .bfeat-link .ar{transition:transform .25s cubic-bezier(.2,.8,.2,1)}
#es-blog .bpost-link:hover .ar,#es-blog .bfeat-link:hover .ar{transform:translateX(6px)}
@media (max-width:1100px){#es-blog .bgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:900px){#es-blog .bfeat{grid-template-columns:1fr;gap:24px}}
@media (max-width:640px){#es-blog .bgrid{grid-template-columns:1fr;gap:34px}#es-blog .bpost-title{font-size:24px}#es-blog .btitle{font-size:clamp(36px,11vw,54px)}}


/* ═══ ARTÍCULO DEL BLOG — plantilla editorial (single.php)
   ═══════════════════════════════════════════════════════════════ */
.es-skip{position:absolute;left:-9999px;top:0;background:#242121;color:#FFFAF1;padding:12px 20px;z-index:9999;font-family:'Jost',sans-serif;font-size:12px;letter-spacing:.18em;text-transform:uppercase}
.es-skip:focus{left:0}
:focus-visible{outline:2px solid #596153;outline-offset:3px}

.espost{background:#FFFAF1;color:#242121;font-family:'Be Vietnam Pro',sans-serif;font-weight:300}
.espost-head{padding:clamp(64px,8vw,110px) clamp(24px,5vw,88px) clamp(28px,3vw,44px)}
.espost-head-inner{max-width:820px;margin:0 auto}
.espost-eyebrow{font-family:'Jost',sans-serif;font-weight:400;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:#596153;margin-bottom:24px;display:flex;align-items:center;gap:14px}
.espost-eyebrow::before{content:"";width:36px;height:1px;background:#596153;opacity:.6}
.espost-eyebrow a{color:inherit;text-decoration:none}
.espost-eyebrow a:hover{opacity:.7}
.espost-title{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-size:clamp(34px,4.6vw,64px);line-height:1.06;letter-spacing:.004em;margin:0 0 22px}
.espost-meta{font-family:'Jost',sans-serif;font-weight:400;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#808878}
.espost-dot{margin:0 8px}
.espost-cover{margin:0 auto clamp(40px,5vw,72px);max-width:1200px;padding:0 clamp(24px,5vw,88px)}
.espost-cover img{width:100%;height:auto;display:block}

.espost-body{max-width:720px;margin:0 auto;padding:0 clamp(24px,5vw,88px) clamp(56px,6vw,88px);font-size:17px;line-height:1.78}
.espost-body > p{margin:0 0 26px}
.espost-body > p:first-of-type{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-size:22px;line-height:1.5;color:#596153;margin-bottom:38px}
.espost-body h2{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-size:clamp(28px,3vw,38px);line-height:1.15;margin:52px 0 20px;color:#242121}
.espost-body h3{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-size:clamp(22px,2.2vw,27px);line-height:1.2;margin:38px 0 14px;color:#596153}
.espost-body h4{font-family:'Jost',sans-serif;font-weight:500;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:#596153;margin:36px 0 12px}
.espost-body a{color:#596153;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.espost-body a:hover{color:#242121}
.espost-body strong{font-weight:500}
.espost-body ul,.espost-body ol{margin:0 0 28px;padding-left:22px}
.espost-body li{margin:0 0 12px;line-height:1.7}
.espost-body ul{list-style:none;padding-left:0}
.espost-body ul li{position:relative;padding-left:22px}
.espost-body ul li::before{content:"";position:absolute;left:0;top:13px;width:9px;height:1px;background:#596153;opacity:.65}
.espost-body blockquote{margin:38px 0;padding:26px 30px;background:#F0E8E0;border-left:2px solid #596153;font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-size:21px;line-height:1.5;color:#242121}
.espost-body blockquote p{margin:0}
.espost-body img,.espost-body figure{max-width:100%;height:auto;margin:34px 0}
.espost-body figure img{display:block;width:100%;height:auto}
.espost-body figcaption{font-family:'Jost',sans-serif;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#808878;margin-top:10px}
.espost-body hr{border:0;height:1px;background:rgba(89,97,83,.28);margin:48px auto;width:100%;position:relative}
.espost-body table{width:100%;border-collapse:collapse;margin:32px 0;font-size:15px}
.espost-body th,.espost-body td{border:1px solid rgba(89,97,83,.24);padding:12px 14px;text-align:left}
.espost-body th{font-family:'Jost',sans-serif;font-weight:500;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:#596153;background:#F0E8E0}
.espost-body iframe,.espost-body video{max-width:100%;aspect-ratio:16/9;height:auto;display:block;margin:34px 0}

.espost-cta{max-width:720px;margin:0 auto clamp(56px,6vw,90px);padding:clamp(32px,4vw,48px);background:#242121;color:#FFFAF1}
.espost-cta-title{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(22px,2.4vw,30px);line-height:1.25;margin:0 0 14px}
.espost-cta-text{font-size:15px;line-height:1.7;opacity:.86;margin:0 0 26px}
.espost-cta-btn{display:inline-flex;align-items:center;gap:10px;font-family:'Jost',sans-serif;font-weight:500;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:#242121;background:#FFFAF1;padding:16px 30px;text-decoration:none;transition:background .25s}
.espost-cta-btn:hover{background:#F0E8E0}
.espost-cta-btn .ar{transition:transform .25s cubic-bezier(.2,.8,.2,1)}
.espost-cta-btn:hover .ar{transform:translateX(6px)}

.espost-rel{max-width:1400px;margin:0 auto;padding:0 clamp(24px,5vw,88px) clamp(72px,8vw,120px)}
.espost-rel .beyebrow{margin-bottom:34px}

.bpag{margin-top:clamp(48px,5vw,72px);border-top:1px solid rgba(89,97,83,.22);padding-top:30px}
.bpag ul{list-style:none;display:flex;gap:8px;flex-wrap:wrap;padding:0;margin:0;justify-content:center}
.bpag a,.bpag span{font-family:'Jost',sans-serif;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#596153;text-decoration:none;padding:12px 16px;border:1px solid rgba(89,97,83,.24);display:inline-block}
.bpag a:hover{background:#F0E8E0}
.bpag .current{background:#596153;color:#FFFAF1;border-color:#596153}

@media (max-width:640px){
  .espost-body{font-size:16.5px}
  .espost-body > p:first-of-type{font-size:20px}
  .espost-body blockquote{padding:20px 22px;font-size:19px}
  .espost-cta{padding:28px 24px}
}


/* ═══ Enlaces legales del pie ═══ */
.legal-links{background:#242121;padding:22px clamp(24px,5vw,88px) 26px;display:flex;gap:26px;flex-wrap:wrap;justify-content:center;border-top:1px solid rgba(255,250,241,.1)}
.legal-links a{font-family:'Jost',sans-serif;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:#FFFAF1;opacity:.62;text-decoration:none;transition:opacity .25s}
.legal-links a:hover{opacity:1}
@media (max-width:640px){.legal-links{gap:14px;flex-direction:column;align-items:center;text-align:center}}

/* ═══ Páginas legales ═══ */
.lgl{max-width:820px;margin:0 auto;padding:clamp(72px,8vw,120px) clamp(24px,5vw,88px) clamp(80px,9vw,130px)}
.lgl-eyebrow{font-family:'Jost',sans-serif;font-weight:400;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:#596153;display:flex;align-items:center;gap:14px;margin-bottom:24px}
.lgl-eyebrow::before{content:"";width:36px;height:1px;background:#596153;opacity:.6;flex:0 0 36px}
.lgl h1{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-size:clamp(38px,5vw,68px);line-height:1.04;margin-bottom:18px}
.lgl-date{font-family:'Jost',sans-serif;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#808878;margin-bottom:48px}
.lgl h2{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-size:clamp(23px,2.4vw,30px);line-height:1.2;margin:44px 0 16px;color:#596153}
.lgl p{font-size:16px;line-height:1.78;margin-bottom:18px}
.lgl ul{margin:0 0 22px;padding-left:0;list-style:none}
.lgl li{position:relative;padding-left:20px;margin-bottom:11px;font-size:16px;line-height:1.7}
.lgl li::before{content:"";position:absolute;left:0;top:13px;width:9px;height:1px;background:#596153;opacity:.6}
.lgl strong{font-weight:500}
.lgl a{color:#596153}
@media(max-width:640px){.lgl p,.lgl li{font-size:15.5px}}

/* Aviso del formulario de contacto */
.es-aviso-formulario{font-family:'Jost',sans-serif;font-size:13px;letter-spacing:.06em;padding:14px 18px;margin:0 0 22px;border-left:2px solid #596153;background:rgba(240,232,224,.65);color:#242121}
.es-aviso-formulario.es-error{border-left-color:#8a4b3f;background:rgba(138,75,63,.08)}

/* ═══ Selector de idioma: píldora ES | EN ═══ */
.lang-pill{display:inline-flex;align-items:stretch;border:1px solid rgba(89,97,83,.5);margin-left:16px;font-family:'Jost',sans-serif;font-weight:600;font-size:13px;letter-spacing:.16em;text-transform:uppercase;line-height:1}
.lang-pill .lang-cur{padding:10px 13px;background:#596153;color:#FFFAF1;cursor:default}
.lang-pill a{padding:10px 13px;color:#596153;text-decoration:none;transition:background .25s,color .25s}
.lang-pill a:hover{background:rgba(89,97,83,.14);color:#242121}
#es-footer .lang-pill{margin:14px 0 0}
#es-header .drawer .lang-pill{margin:18px 0 0}

/* anclas con compensación del header fijo */
.es-ancla{position:relative;top:-90px;display:block;height:0}

/* ══ es-speaker ══ */
#es-speaker{width:100%;position:relative;background:#F0E8E0;font-family:'Be Vietnam Pro',sans-serif;color:#242121}
#es-speaker *{box-sizing:border-box;margin:0;padding:0}
#es-speaker .spk{padding:clamp(90px,10vw,150px) 6%;border-top:1px solid rgba(89,97,83,.16)}
#es-speaker .spk-wrap{max-width:1320px;margin:0 auto}
#es-speaker .spk-kicker{font-family:'Jost',sans-serif;font-weight:500;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:#596153;margin-bottom:26px;display:flex;align-items:center;gap:14px}
#es-speaker .spk-kicker::before{content:"";width:36px;height:1px;background:#596153;opacity:.6}
#es-speaker .spk-title{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-size:clamp(44px,5.4vw,84px);line-height:1;letter-spacing:.005em;margin-bottom:26px;max-width:16ch}
#es-speaker .spk-title em{font-style:italic;font-weight:400;color:#596153}
#es-speaker .spk-lead{font-weight:300;font-size:17px;line-height:1.7;opacity:.86;max-width:680px;margin-bottom:44px}
#es-speaker .spk-datos{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(89,97,83,.25);border:1px solid rgba(89,97,83,.25);margin-bottom:56px}
#es-speaker .spk-dato{background:#FFFAF1;padding:26px 24px}
#es-speaker .spk-dato b{display:block;font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-size:30px;line-height:1.05;color:#596153;margin-bottom:8px}
#es-speaker .spk-dato span{font-family:'Jost',sans-serif;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:#242121;opacity:.75;line-height:1.5;display:block}
#es-speaker .spk-gal{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:230px;gap:14px;margin-bottom:52px}
#es-speaker .spk-gal figure{overflow:hidden;background:#FFFAF1;position:relative}
#es-speaker .spk-gal img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .55s cubic-bezier(.2,.8,.2,1)}
#es-speaker .spk-gal figure:hover img{transform:scale(1.04)}
#es-speaker .spk-gal .alto{grid-row:span 2}
#es-speaker .spk-gal .ancho{grid-column:span 2}
#es-speaker .spk-temas{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-size:clamp(20px,2vw,27px);line-height:1.45;color:#596153;max-width:52ch;margin-bottom:40px}
#es-speaker .spk-cta{display:inline-flex;align-items:center;gap:10px;font-family:'Jost',sans-serif;font-weight:500;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:#FFFAF1;background:#596153;text-decoration:none;padding:18px 32px;transition:background .25s}
#es-speaker .spk-cta:hover{background:#434A3F}
#es-speaker .spk-cta .ar{transition:transform .25s cubic-bezier(.2,.8,.2,1)}
#es-speaker .spk-cta:hover .ar{transform:translateX(6px)}
@media (max-width:960px){
 #es-speaker .spk{padding:70px 24px 80px}
 #es-speaker .spk-datos{grid-template-columns:1fr 1fr}
 #es-speaker .spk-gal{grid-template-columns:1fr 1fr;grid-auto-rows:170px;gap:10px}
 #es-speaker .spk-cta{width:100%;justify-content:center}
}


/* ══ Galería de proyectos · tira fina enmarcada (opción C) ══ */
#es-proyectos .pgal-item{width:168px;height:168px;flex:0 0 168px;border:7px solid #FFFAF1;outline:1px solid rgba(89,97,83,.22);outline-offset:-7px;background:#F0E8E0;overflow:hidden}
#es-proyectos .pgal-item img{width:100%;height:100%;object-fit:cover;display:block;filter:none;transition:transform .55s cubic-bezier(.2,.8,.2,1)}
#es-proyectos .pgal-item:hover img{transform:scale(1.05)}
#es-proyectos .pgal-track{gap:22px;animation-duration:95s;align-items:center}
#es-proyectos .pgal-fila + .pgal-fila{display:none}
@media (max-width:900px){#es-proyectos .pgal-item{width:132px;height:132px;flex:0 0 132px;border-width:5px;outline-offset:-5px}#es-proyectos .pgal-track{gap:16px}}


/* ══ Galería de proyectos · círculos + cabecera con el patrón canónico de sección ══ */
#es-proyectos .pgal{padding:clamp(100px,13vw,180px) clamp(24px,5vw,88px) clamp(72px,9vw,120px);background:#FFFAF1;border-top:1px solid rgba(89,97,83,.16);border-bottom:0;overflow:hidden}
#es-proyectos .pgal-inner{max-width:1400px;margin:0 auto clamp(48px,6vw,88px);padding:0;display:grid;grid-template-columns:180px 1fr;gap:clamp(32px,6vw,96px);align-items:start}
#es-proyectos .label{display:flex;flex-direction:column;gap:10px}
#es-proyectos .num{font-family:'Jost',sans-serif;font-weight:400;font-size:11px;line-height:1.65;letter-spacing:0.32em;text-transform:uppercase;color:#808878}
#es-proyectos .kicker{font-family:'Jost',sans-serif;font-weight:500;font-size:12px;line-height:1.65;letter-spacing:0.24em;text-transform:uppercase;color:#596153;margin:0}
#es-proyectos .kicker::before{display:none}
#es-proyectos .pgal-title{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;font-size:clamp(40px,5.2vw,76px);line-height:1.05;color:#596153;letter-spacing:0.005em;max-width:18ch;text-transform:uppercase;margin:0}
#es-proyectos .pgal-sub{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;font-style:italic;font-size:clamp(22px,2.2vw,32px);line-height:1.35;color:#596153;max-width:40ch;margin:32px 0 0}
#es-proyectos .pgal-item{width:200px;height:200px;flex:0 0 200px;border-radius:50%;overflow:hidden;background:transparent;border:1px solid rgba(89,97,83,.35);outline:0;outline-offset:0}
#es-proyectos .pgal-item img{width:100%;height:100%;object-fit:cover;display:block;filter:none;border-radius:50%;transition:transform .55s cubic-bezier(.2,.8,.2,1)}
#es-proyectos .pgal-item:hover img{transform:scale(1.04)}
#es-proyectos .pgal-track{gap:clamp(28px,3vw,48px);animation-duration:110s;align-items:center}
@media (max-width:960px){
 #es-proyectos .pgal-inner{grid-template-columns:1fr;gap:22px}
 #es-proyectos .pgal-item{width:140px;height:140px;flex:0 0 140px}
 #es-proyectos .pgal-track{gap:20px}
}


/* ══ Conmutador de idioma · subrayado editorial (opción 1) ══ */
.lang-pill{display:inline-flex;align-items:baseline;gap:8px;margin-left:22px;padding:0;border:0;background:none;font-family:'Jost',sans-serif;font-weight:400;font-size:11px;line-height:1.65;letter-spacing:0.18em;text-transform:uppercase}
.lang-pill .lang-cur{padding:0 0 3px;background:none;color:#242121;opacity:1;border-bottom:1px solid #596153}
.lang-pill a{padding:0 0 3px;color:#242121;opacity:.42;text-decoration:none;border-bottom:1px solid transparent;transition:opacity .25s,border-color .25s}
.lang-pill a:hover{opacity:.85;border-bottom-color:rgba(89,97,83,.45)}
.lang-pill .sep{font-style:normal;opacity:.28;color:#242121}
#es-header .drawer .lang-pill,#es-footer .lang-pill{margin-left:0}
#es-header .drawer .lang-pill .lang-cur,#es-header .drawer .lang-pill a,#es-header .drawer .lang-pill .sep,
#es-footer .lang-pill .lang-cur,#es-footer .lang-pill a,#es-footer .lang-pill .sep{color:inherit}
#es-header .drawer .lang-pill .lang-cur,#es-footer .lang-pill .lang-cur{border-bottom-color:currentColor}


/* ══ AJUSTE 4 COLUMNAS · rejilla y pie a ancho completo, filas clavadas ══ */
#es-servicios-home .services__inner{display:grid;grid-template-columns:180px 1fr;column-gap:clamp(32px,6vw,96px);row-gap:0;align-items:start}
#es-servicios-home .services__inner > div:not(.label){display:contents}
#es-servicios-home .label{grid-column:1;grid-row:1}
#es-servicios-home .services__title{grid-column:2;grid-row:1;max-width:20ch;text-wrap:balance}
#es-servicios-home .services__sub{grid-column:2;grid-row:2}
#es-servicios-home .services__grid{grid-column:1 / -1;grid-row:3;margin-top:clamp(48px,6vw,80px)}
#es-servicios-home .services__foot{grid-column:1 / -1;grid-row:4}
/* las seis filas de las tarjetas, alineadas entre sí con subgrid */
#es-servicios-home .services__grid--4{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(6,auto)}
#es-servicios-home .services__grid--4 .service{display:grid;grid-row:span 6;grid-template-rows:subgrid;row-gap:0}
#es-servicios-home .service__num,#es-servicios-home .service__eyebrow{white-space:nowrap;min-height:0}
#es-servicios-home .service__title{overflow-wrap:break-word;hyphens:none}
@media (max-width:1100px){
 #es-servicios-home .services__grid--4{grid-template-columns:repeat(2,1fr);grid-template-rows:auto}
 #es-servicios-home .services__grid--4 .service{grid-row:auto;grid-template-rows:none;display:flex;flex-direction:column}
}
@media (max-width:760px){
 #es-servicios-home .services__inner{grid-template-columns:1fr}
 #es-servicios-home .label,#es-servicios-home .services__title,#es-servicios-home .services__sub{grid-column:1}
 #es-servicios-home .services__grid--4{grid-template-columns:1fr}
 #es-servicios-home .services__title br.solo-ancho{display:none}
}

/* ══ Conferenciante · patrón canónico de sección + galería editorial ══ */
#es-speaker{width:100%;position:relative;background:#F0E8E0;font-family:'Be Vietnam Pro',sans-serif;color:#242121}
#es-speaker *{box-sizing:border-box}
#es-speaker .spk{max-width:1576px;margin:0 auto;padding:clamp(100px,13vw,180px) clamp(24px,5vw,88px) clamp(72px,9vw,120px);border-top:1px solid rgba(89,97,83,.16)}
#es-speaker .spk-inner{display:grid;grid-template-columns:180px 1fr;column-gap:clamp(32px,6vw,96px);align-items:start;margin-bottom:clamp(48px,6vw,80px)}
#es-speaker .label{display:flex;flex-direction:column;gap:10px}
#es-speaker .num{font-family:'Jost',sans-serif;font-weight:400;font-size:11px;line-height:1.65;letter-spacing:0.32em;text-transform:uppercase;color:#808878}
#es-speaker .kicker{font-family:'Jost',sans-serif;font-weight:500;font-size:12px;line-height:1.65;letter-spacing:0.24em;text-transform:uppercase;color:#596153}
#es-speaker .spk-title{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;font-size:clamp(40px,5.2vw,76px);line-height:1.05;letter-spacing:0.005em;color:#596153;text-transform:uppercase;max-width:20ch;text-wrap:balance;margin:0}
#es-speaker .spk-title em{font-style:italic;text-transform:none}
#es-speaker .spk-sub{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;font-style:italic;font-size:clamp(22px,2.2vw,32px);line-height:1.35;color:#596153;max-width:40ch;margin:32px 0 0}
#es-speaker .spk-datos{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(89,97,83,.22);border:1px solid rgba(89,97,83,.22);margin-bottom:clamp(48px,6vw,72px)}
#es-speaker .spk-dato{background:#F0E8E0;padding:28px 26px;display:flex;flex-direction:column;gap:10px}
#es-speaker .spk-dato b{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;font-size:32px;line-height:1.15;color:#596153}
#es-speaker .spk-dato span{font-family:'Be Vietnam Pro',sans-serif;font-weight:300;font-size:14px;line-height:1.7;color:rgba(36,33,33,.82)}
#es-speaker .spk-gal{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:300px;gap:16px;margin-bottom:clamp(48px,6vw,72px)}
#es-speaker .spk-gal figure{margin:0;overflow:hidden;background:#e7dfd5}
#es-speaker .spk-gal img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.2,.8,.2,1)}
#es-speaker .spk-gal figure:hover img{transform:scale(1.03)}
#es-speaker .spk-gal .g1{grid-column:span 5;grid-row:span 2}
#es-speaker .spk-gal .g2{grid-column:span 7}
#es-speaker .spk-gal .g3{grid-column:span 4}
#es-speaker .spk-gal .g4{grid-column:span 3}
#es-speaker .spk-gal .g5{grid-column:span 8}
#es-speaker .spk-gal .g6{grid-column:span 4}
#es-speaker .spk-temas{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;font-style:italic;font-size:clamp(22px,2.2vw,32px);line-height:1.35;color:#596153;max-width:none;margin:0 0 clamp(36px,4vw,48px)}
#es-speaker .spk-cta{display:inline-flex;align-items:center;gap:10px;font-family:'Jost',sans-serif;font-weight:500;font-size:11px;letter-spacing:0.22em;text-transform:uppercase;color:#242121;background:transparent;border:1px solid rgba(36,33,33,.55);text-decoration:none;padding:18px 32px;transition:background .3s,color .3s,border-color .3s}
#es-speaker .spk-cta:hover{background:#596153;border-color:#596153;color:#FFFAF1}
#es-speaker .spk-cta .ar{transition:transform .25s cubic-bezier(.2,.8,.2,1)}
#es-speaker .spk-cta:hover .ar{transform:translateX(6px)}
@media (max-width:1100px){
 #es-speaker .spk-datos{grid-template-columns:repeat(2,1fr)}
 #es-speaker .spk-gal{grid-auto-rows:230px}
}
@media (max-width:760px){
 #es-speaker .spk-inner{grid-template-columns:1fr;row-gap:22px}
 #es-speaker .spk-datos{grid-template-columns:1fr}
 #es-speaker .spk-gal{grid-template-columns:1fr;grid-auto-rows:240px}
 #es-speaker .spk-gal .g1{grid-column:span 1;grid-row:span 2}
 #es-speaker .spk-gal .g2,#es-speaker .spk-gal .g3,#es-speaker .spk-gal .g4,#es-speaker .spk-gal .g5,#es-speaker .spk-gal .g6{grid-column:span 1}
 #es-speaker .spk-cta{width:100%;justify-content:center}
}


/* ══ AJUSTE PIE Y SALTO DE TÍTULO ══ */
#es-servicios-home .services__foot{max-width:none;width:100%}
#es-servicios-home .services__title br.solo-ancho{display:inline}
@media (max-width:760px){#es-servicios-home .services__title br.solo-ancho{display:none}}


/* ══ ANCHO DE TITULO MEDIDO · la línea más larga mide 804px a 76px de cuerpo; 24ch = 870px ══ */
#es-servicios-home .services__title{max-width:24ch}
#es-speaker .spk-title{max-width:24ch}
#es-proyectos .pgal-title{max-width:24ch}


/* ══ ARREGLO MOVIL v1 ══ */
/* 1. overflow-x:hidden en html Y body creaba dos contenedores de scroll: cada uno reservaba
      barra (46px aquí) y el documento perdía 92px de ancho. clip no crea contenedor. */
html{overflow-x:clip;overflow-y:visible}
body{overflow-x:clip;overflow-y:visible;width:100%;max-width:100%}
/* 2. Cabecera móvil: el original es transparente sobre el hero con hamburguesa crema.
      Mi envoltorio fijo le ponía fondo crema encima y la hamburguesa desaparecía. */
@media (max-width:860px){
 #es-header{background:transparent;box-shadow:none}
 #es-header .nav{background:transparent}
 #es-header .hamburger span{background:#FFFAF1}
 #es-header.is-scrolled{background:#FFFAF1;box-shadow:0 1px 0 rgba(89,97,83,.16)}
 #es-header.is-scrolled .hamburger span{background:#242121}
}


/* ══ ARREGLO MOVIL v2 · titulares de sección ══
   Medido a 342px de ancho útil: "de trabajar juntos." ocupa 423px a cuerpo 40 y solo 339px a 32.
   32px es el mayor cuerpo con el que TODOS los titulares caben en dos líneas con sentido. */
@media (max-width:760px){
 #es-manifiesto .quote,
 #es-servicios-home .services__title,
 #es-proyectos .pgal-title,
 #es-speaker .spk-title{font-size:32px;line-height:1.08;max-width:none}
 #es-servicios-home .services__title br.solo-ancho{display:inline}
 #es-manifiesto .sub,
 #es-servicios-home .services__sub,
 #es-proyectos .pgal-sub,
 #es-speaker .spk-sub,
 #es-speaker .spk-temas{font-size:20px;line-height:1.4;max-width:none}
}


/* ══ ARREGLO MOVIL v3 · especificidad ══
   La regla original del manifiesto es #es-manifiesto .V1 .quote (id + 2 clases) y ganaba. */
@media (max-width:760px){
 #es-manifiesto .V1 .quote{font-size:32px;line-height:1.08;max-width:none}
 #es-manifiesto .V1 .sub{font-size:20px;line-height:1.4;max-width:none}
}


/* ══ ARREGLO MOVIL v4 · titulares de bloque y contacto ══
   Medido a 342px útiles: "Implementación de la IA" mide 396px a cuerpo 40 y cabe a 34. */
@media (max-width:760px){
 #es-servicio-1 .title,#es-servicio-2 .title,#es-servicio-3 .title,#es-servicio-ia .title,
 #es-servicio-4 .title{font-size:34px;line-height:1.08;max-width:none}
 #es-contacto .title,#es-contacto h2{font-size:32px;line-height:1.08}
 #es-sobremi-1 .title,#es-sobremi-2 .title,#es-sobremi-3 .title{font-size:34px;line-height:1.08}
}


/* ══ ARREGLO MOVIL v5 · ids reales de sección ══ */
@media (max-width:760px){
 #es-servicio-ev .title,#es-servicio-ia .title,#es-servicio-1 .title,#es-servicio-2 .title{font-size:34px;line-height:1.08;max-width:none}
 #es-contacto .contact__title{font-size:32px;line-height:1.08;max-width:none}
 #es-hero-servicios .title{font-size:40px;line-height:1.04}
}


/* ══ ARREGLO MENU MOVIL ══
   El CSS original abre el cajón con ".is-open .drawer" (clase en el ancestro).
   site.js pone la clase en el propio .drawer, así que nunca se abría. Cubrimos los tres casos. */
#es-header .drawer.is-open,
#es-header.is-open .drawer,
#es-header .nav.is-open .drawer{transform:translateY(0) translateX(0)!important;visibility:visible!important}
#es-header .drawer{transition:transform .4s cubic-bezier(.2,.8,.2,1),visibility 0s}
body.drawer-open{overflow:hidden}


/* ═══ PAGINACIÓN DEL BLOG · especificidad #es-blog para ganar a las reglas de enlace ═══ */
#es-blog .bpag{margin-top:clamp(48px,5vw,72px);border-top:1px solid rgba(89,97,83,.22);padding-top:30px}
#es-blog .bpag ul.page-numbers{list-style:none;display:flex;gap:8px;flex-wrap:wrap;padding:0;margin:0;justify-content:center;align-items:center}
#es-blog .bpag ul.page-numbers li{list-style:none;margin:0;padding:0;display:block}
#es-blog .bpag a.page-numbers,#es-blog .bpag span.page-numbers{font-family:'Jost',sans-serif;font-weight:500;font-size:11px;line-height:1;letter-spacing:.16em;text-transform:uppercase;color:#596153;text-decoration:none;padding:14px 20px;border:1px solid rgba(89,97,83,.24);display:inline-block;background:transparent;transition:background .25s ease,color .25s ease}
#es-blog .bpag a.page-numbers:hover{background:#F0E8E0;color:#596153}
#es-blog .bpag span.current{background:#596153;color:#FFFAF1;border-color:#596153}
#es-blog .bpag .dots{border-color:transparent}

/* Entrada sin imagen destacada: mantiene la altura de la rejilla, no deja el hueco gris */
#es-blog .bpost--sinfoto .bpost-body{padding-top:0}
#es-blog .bpost--sinfoto::before{content:"";display:block;aspect-ratio:3/2;margin-bottom:20px;background:var(--cream2);background-image:radial-gradient(circle at 50% 45%,rgba(89,97,83,.10) 0 1px,transparent 1px);background-size:14px 14px}
#es-blog .bfeat--sinfoto{grid-template-columns:1fr}



/* ═══ FORMULARIO DE CONTACTO · legibilidad sobre el fondo oliva ═══
   fondo de la seccion rgb(67,74,63) · antes las etiquetas eran rgb(89,97,83): contraste 1,15:1 */
#es-contacto .form-card label{color:rgba(255,250,241,.72);opacity:1}
#es-contacto .form-card__note{color:rgba(255,250,241,.62)}
#es-contacto .form-card__divider{border:0;border-top:1px solid rgba(255,250,241,.20)}
#es-contacto .field--select::after{color:rgba(255,250,241,.72)}
#es-contacto .form-card__foot{display:flex;align-items:center;justify-content:space-between;gap:clamp(20px,3vw,48px);flex-wrap:wrap}
#es-contacto .form-card__foot .form-card__note{flex:1 1 260px;max-width:none;margin:0;line-height:1.7}
#es-contacto .form-card__foot .form-submit{flex:0 0 auto}
#es-contacto .form-card__kicker{display:none}



/* ═══ CONFERENCIANTE · misma caja y misma tipografía que el resto de la página ═══
   Antes: .spk max-width 1576 / padding 166,4-64-115,2  ·  el resto de secciones: 1280 / 140-80
   Además las tres rejillas desbordaban por usar 1fr (mínimo auto) en vez de minmax(0,1fr):
   .spk-inner 180+1191,2 = 1371 en 965 · .spk-datos 4x360,75 = 1443 · .spk-gal 12x106 = 1272 */
#es-speaker .spk{max-width:1280px;padding:140px 80px;margin:0 auto}
@media (max-width:900px){#es-speaker .spk{padding-left:40px;padding-right:40px}}
@media (max-width:640px){#es-speaker .spk{padding:80px 24px}}

#es-speaker .spk-inner{display:block;margin-bottom:56px}
#es-speaker .spk-inner > div{max-width:none}
#es-speaker .spk-inner .label{display:block;margin:0}
#es-speaker .spk-inner .num{display:none}
#es-speaker .spk-inner .kicker{font-family:'Jost',-apple-system,system-ui,sans-serif;font-weight:400;font-size:11px;line-height:1.6;letter-spacing:.24em;text-transform:uppercase;color:#596153;margin:0 0 32px;display:flex;align-items:center;gap:14px}
#es-speaker .spk-inner .kicker::before{content:"";display:inline-block;width:36px;height:1px;background:currentColor;opacity:.75;flex:0 0 auto}
#es-speaker .spk-title{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-size:clamp(40px,5.5vw,72px);line-height:1;letter-spacing:.005em;color:#242121;margin:0 0 32px;max-width:900px}
#es-speaker .spk-title em{font-style:italic;font-weight:400}
#es-speaker .spk-sub{font-family:'Be Vietnam Pro',-apple-system,system-ui,sans-serif;font-weight:300;font-size:18px;line-height:1.85;color:#242121;max-width:820px;margin:0}

#es-speaker .spk-datos{grid-template-columns:repeat(4,minmax(0,1fr))}
#es-speaker .spk-gal{grid-template-columns:repeat(12,minmax(0,1fr))}
#es-speaker .spk-temas{max-width:820px}
@media (max-width:900px){
 #es-speaker .spk-datos{grid-template-columns:repeat(2,minmax(0,1fr))}
 #es-speaker .spk-gal{grid-template-columns:repeat(6,minmax(0,1fr))}
}
@media (max-width:640px){
 #es-speaker .spk-datos{grid-template-columns:minmax(0,1fr)}
 #es-speaker .spk-gal{grid-template-columns:repeat(2,minmax(0,1fr))}
 #es-speaker .spk-sub{font-size:16px}
}

\n
/* La entrada sin fotografía no lleva marcador inventado: es una ficha tipográfica */
#es-blog .bpost--sinfoto::before{content:none}
#es-blog .bpost--sinfoto .bpost-title{font-size:30px;margin-top:4px}
#es-blog .bpost--sinfoto{align-self:start}
\n
/* Etiquetas del formulario: la regla real es #es-contacto .field label (1,1,1) */
#es-contacto .contact-form .field label{color:rgba(255,250,241,.74)}
#es-contacto .contact-form .field--select::after{color:rgba(255,250,241,.74)}
#es-contacto .contact-form .field select option{color:#242121}

/* Etiquetas del formulario de contacto sobre fondo oliva */
#es-contacto .contact-form .field label{color:rgba(255,250,241,.74)}
#es-contacto .contact-form .field--select::after{color:rgba(255,250,241,.74)}
#es-contacto .contact-form .field select option{color:#242121}

/* Entrada sin fotografia: ficha tipografica, sin marcador inventado */
#es-blog .bpost.bpost--sinfoto::before{content:none}
#es-blog .bpost.bpost--sinfoto .bpost-title{font-size:30px;margin-top:4px}
#es-blog .bpost.bpost--sinfoto{align-self:start}

/* ═══ GALERIA DE PROYECTOS · marco lineal circular ═══
   El marco venia de la version cuadrada: outline 1px con offset -7px, que no sigue
   el border-radius, asi que en circulo no se dibujaba. Se sustituye por un borde real. */
#es-proyectos .pgal-item{
  border:1px solid rgba(89,97,83,.32);
  border-radius:50%;
  outline:none;
  padding:6px;
  background:#FFFAF1;
  box-sizing:border-box;
  overflow:visible;
}
#es-proyectos .pgal-item img{
  border-radius:50%;
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
#es-proyectos .pgal-item:hover{border-color:rgba(89,97,83,.55)}

/* ═══ DESPLEGABLE DE CONTACTO · el select nativo se pintaba en blanco y negro ═══ */
#es-contacto .contact-form select{
  -webkit-appearance:none;appearance:none;
  background:transparent;
  color:#FFFAF1;
  font-family:'Be Vietnam Pro',-apple-system,system-ui,sans-serif;
  font-weight:300;font-size:15px;
  border:0;border-bottom:1px solid rgba(255,250,241,.28);
  border-radius:0;padding:10px 28px 10px 0;width:100%;
  cursor:pointer;
}
#es-contacto .contact-form select:focus{outline:none;border-bottom-color:rgba(255,250,241,.7)}
#es-contacto .contact-form select option{background:#FFFAF1;color:#242121}
#es-contacto .contact-form select optgroup{background:#FFFAF1;color:#242121}

/* ═══ PRENSA · el boton Ver bailaba segun lo largo del titular ═══
   Las tarjetas se estiran a la misma altura en la rejilla; el enlace se ancla abajo. */
#es-sobremi-1 .prensa-card{height:100%}
#es-sobremi-1 .prensa-card-body{display:flex;flex-direction:column;flex:1 1 auto}
#es-sobremi-1 .prensa-card-link{margin-top:auto;padding-top:18px}

/* ═══ CIERRE DE NOSOTROS · la banda estaba sin contenedor ni centrado ═══ */
#es-sobremi-2 .cta-final{text-align:center}
#es-sobremi-2 .cta-final-inner{max-width:1280px;margin:0 auto}
#es-sobremi-2 .cta-final .bloque-eyebrow{color:#FFFAF1;justify-content:center}
#es-sobremi-2 .cta-final-titulo{color:#FFFAF1;text-transform:uppercase;letter-spacing:.01em}
#es-sobremi-2 .cta-final-titulo em{font-style:italic;font-weight:400;text-transform:none;display:block;font-size:.72em;margin:4px 0}
#es-sobremi-2 .cta-final .cta-group{display:flex;gap:18px;justify-content:center;flex-wrap:wrap;align-items:center}

/* ═══ GALERIA · sin marco. Circulo limpio, como estaba. ═══ */
#es-proyectos .pgal-item{border:0;padding:0;background:transparent;border-radius:50%;overflow:hidden;outline:none}
#es-proyectos .pgal-item img{border-radius:50%}
#es-proyectos .pgal-item:hover{border-color:transparent}

/* ═══ BANDA DE DATOS DEL CONFERENCIANTE · vuelve al sistema ═══
   Estaba en Jost 11,5px MAYUSCULAS con letter-spacing .08em para texto de listado.
   En toda la web no existe un listado en mayusculas: el cuerpo es Be Vietnam Pro
   300 en caja normal. Se retira tambien la caja gris con bordes, que tampoco existe. */
#es-speaker .spk-datos{
  background:transparent;
  border:0;
  border-top:1px solid rgba(89,97,83,.22);
  border-bottom:1px solid rgba(89,97,83,.22);
  gap:0;
}
#es-speaker .spk-dato{
  background:transparent;
  padding:34px clamp(20px,2.4vw,36px);
  border-left:1px solid rgba(89,97,83,.16);
  display:flex;flex-direction:column;gap:12px;
}
#es-speaker .spk-dato:first-child{border-left:0;padding-left:0}
#es-speaker .spk-dato b{
  font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;
  font-size:30px;line-height:1.05;letter-spacing:.005em;color:#596153;margin:0;
}
#es-speaker .spk-dato span{
  font-family:'Be Vietnam Pro',-apple-system,system-ui,sans-serif;
  font-weight:300;font-size:15px;line-height:1.75;
  letter-spacing:normal;text-transform:none;
  color:#242121;opacity:.82;display:block;
}
@media (max-width:900px){
  #es-speaker .spk-dato{padding:26px 0;border-left:0;border-top:1px solid rgba(89,97,83,.16)}
  #es-speaker .spk-dato:first-child{border-top:0}
  #es-speaker .spk-dato span{font-size:14.5px}
}

/* ═══ GALERIA DE CONFERENCIANTE · filas justificadas, recorte cero ═══
   Cada figura lleva su relacion nativa en --r. Con flex-grow:var(--r) el ancho
   se reparte en proporcion a la relacion, y con aspect-ratio:var(--r) la altura
   resultante es identica para todas las de la fila. Consecuencia: el hueco de
   cada foto tiene EXACTAMENTE la proporcion del archivo, asi que object-fit
   no recorta nada. Ni cabezas cortadas ni zoom inventado. */
#es-speaker .spk-gal{display:block;margin-bottom:clamp(44px,5vw,64px)}
#es-speaker .spk-fila{display:flex;gap:clamp(10px,1.4vw,20px);margin-bottom:clamp(10px,1.4vw,20px)}
#es-speaker .spk-fila:last-child{margin-bottom:0}
#es-speaker .spk-gal figure{flex:var(--r) 1 0;min-width:0;aspect-ratio:var(--r);overflow:hidden;background:#F0E8E0;margin:0}
#es-speaker .spk-gal img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .55s cubic-bezier(.2,.8,.2,1)}
#es-speaker .spk-gal figure:hover img{transform:scale(1.03)}

#es-speaker .spk-gal .gp{--r:1.4995}   /* Disruptiva, mesa redonda   1600x1067 */
#es-speaker .spk-gal .gv{--r:0.5625}   /* escenario, vertical         900x1600 */
#es-speaker .spk-gal .gs{--r:1.7998}   /* sala con publico           1600x889  */
#es-speaker .spk-gal .go{--r:1.0000}   /* Onda Madrid, cuadrada      1600x1600 */
#es-speaker .spk-gal .gt{--r:1.8328}   /* Telemadrid                 1600x873  */
#es-speaker .spk-gal .ga{--r:1.4995}   /* auditorio institucional    1600x1067 */
#es-speaker .spk-gal .gl{--r:1.5009}   /* Learning Day               1600x1066 */
#es-speaker .spk-gal .gq{--r:1.7556}   /* Square On Stage            1243x708  */

@media (max-width:760px){
  #es-speaker .spk-fila{flex-direction:column}
  #es-speaker .spk-gal figure{flex:none;width:100%}
}

/* ═══ COLLAGE DE CONFERENCIANTE v2 · mosaico de 6 columnas ═══
   Criterio: minimo 3 piezas por fila, las horizontales ocupan 2 o 3 columnas,
   y la vertical (ella sola en escenario) recorre las 4 filas: es la pieza de
   mas presencia y la que invade el resto del mosaico. */
#es-speaker .spk-gal{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  grid-auto-rows:var(--celda);
  gap:clamp(10px,1.4vw,16px);
  --celda:clamp(96px,13.5vw,174px);
  margin-bottom:clamp(44px,5vw,64px);
}
#es-speaker .spk-gal figure{margin:0;overflow:hidden;background:#F0E8E0}
#es-speaker .spk-gal img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .55s cubic-bezier(.2,.8,.2,1)}
#es-speaker .spk-gal figure:hover img{transform:scale(1.03)}

#es-speaker .spk-gal .gp{grid-column:1 / 4; grid-row:1 / 3}   /* Disruptiva, la mas ancha */
#es-speaker .spk-gal .go{grid-column:4 / 5; grid-row:1 / 2}   /* Onda Madrid, cuadrada    */
#es-speaker .spk-gal .gq{grid-column:4 / 5; grid-row:2 / 3}   /* Square On Stage          */
#es-speaker .spk-gal .gv{grid-column:5 / 7; grid-row:1 / 5}   /* ELLA SOLA, la mas alta   */
#es-speaker .spk-gal .gs{grid-column:1 / 3; grid-row:3 / 4}   /* sala llena               */
#es-speaker .spk-gal .gt{grid-column:3 / 5; grid-row:3 / 4}   /* Telemadrid               */
#es-speaker .spk-gal .ga{grid-column:1 / 3; grid-row:4 / 5}   /* auditorio institucional  */
#es-speaker .spk-gal .gl{grid-column:3 / 5; grid-row:4 / 5}   /* Learning Day             */

/* encuadre: el punto de interes de cada foto, para que el recorte no corte a nadie */
#es-speaker .spk-gal .gp img{object-position:50% 46%}
#es-speaker .spk-gal .go img{object-position:33% 46%}
#es-speaker .spk-gal .gq img{object-position:52% 46%}
#es-speaker .spk-gal .gv img{object-position:50% 56%}
#es-speaker .spk-gal .gs img{object-position:50% 42%}
#es-speaker .spk-gal .gt img{object-position:44% 34%}
#es-speaker .spk-gal .ga img{object-position:64% 46%}
#es-speaker .spk-gal .gl img{object-position:52% 44%}

@media (max-width:760px){
  #es-speaker .spk-gal{grid-template-columns:repeat(4,minmax(0,1fr));--celda:clamp(78px,20vw,110px)}
  #es-speaker .spk-gal .gp{grid-column:1 / 4; grid-row:1 / 3}
  #es-speaker .spk-gal .go{grid-column:4 / 5; grid-row:1 / 2}
  #es-speaker .spk-gal .gq{grid-column:4 / 5; grid-row:2 / 3}
  #es-speaker .spk-gal .gv{grid-column:1 / 3; grid-row:3 / 6}
  #es-speaker .spk-gal .gs{grid-column:3 / 5; grid-row:3 / 4}
  #es-speaker .spk-gal .gt{grid-column:3 / 5; grid-row:4 / 5}
  #es-speaker .spk-gal .ga{grid-column:3 / 5; grid-row:5 / 6}
  #es-speaker .spk-gal .gl{grid-column:1 / 5; grid-row:6 / 7}
}

/* El bloque de filas justificadas queda anulado: en el mosaico manda la celda */
#es-speaker .spk-gal figure{aspect-ratio:auto;flex:none;min-width:0}
#es-speaker .spk-fila{display:contents}

/* ═══ COLLAGE DE CONFERENCIANTE · montaje de Tania, reproducido al pixel ═══
   Retícula medida sobre su composición (1078x627): tres columnas de 257 / 310 / 488
   y ocho piezas con estas proporciones exactas. Los archivos ya vienen recortados
   a esa proporción, así que object-fit no recorta absolutamente nada.
   Capa oscura al 8% para igualar la luz entre fotos, como en su montaje. */
#es-speaker .spk-gal{
  display:flex;
  align-items:stretch;
  gap:clamp(8px,1.1vw,15px);
  aspect-ratio:1078 / 627;
  margin-bottom:clamp(44px,5vw,64px);
}
#es-speaker .spk-col{display:flex;flex-direction:column;gap:clamp(5px,.7vw,9px);min-width:0}
#es-speaker .spk-col--a{flex:257 1 0}
#es-speaker .spk-col--b{flex:310 1 0}
#es-speaker .spk-col--c{flex:488 1 0}
#es-speaker .spk-par{display:flex;gap:clamp(5px,.7vw,8px);min-height:0}
#es-speaker .spk-par .t-ond{flex:192 1 0}
#es-speaker .spk-par .t-squ{flex:288 1 0}

#es-speaker .spk-gal figure{
  margin:0;min-height:0;min-width:0;overflow:hidden;background:#E0DCD8;position:relative;
}
#es-speaker .spk-gal img{width:100%;height:100%;object-fit:cover;display:block}
#es-speaker .spk-gal figure::after{
  content:"";position:absolute;inset:0;background:rgba(24,20,18,.11);pointer-events:none;
}
/* alturas dentro de cada columna, en la proporción del montaje original */
#es-speaker .spk-col--a .t-esc{flex:456 1 0}
#es-speaker .spk-col--a .t-dis{flex:165 1 0}
#es-speaker .spk-col--b .t-lea{flex:312 1 0}
#es-speaker .spk-col--b .t-muj{flex:308 1 0}
#es-speaker .spk-col--c .t-tel{flex:217 1 0}
#es-speaker .spk-col--c .spk-par{flex:172 1 0}
#es-speaker .spk-col--c .t-sal{flex:212 1 0}

@media (max-width:760px){
  #es-speaker .spk-gal{flex-direction:column;aspect-ratio:auto;gap:8px}
  #es-speaker .spk-col{flex:none !important}
  #es-speaker .spk-col--a{flex-direction:row !important}
  #es-speaker .spk-col--a .t-esc{flex:257 1 0;aspect-ratio:257/456}
  #es-speaker .spk-col--a .t-dis{flex:257 1 0;aspect-ratio:257/165;align-self:flex-start}
  #es-speaker .spk-col--b .t-lea{aspect-ratio:310/312}
  #es-speaker .spk-col--b .t-muj{aspect-ratio:310/308}
  #es-speaker .spk-col--c .t-tel{aspect-ratio:488/217}
  #es-speaker .spk-col--c .t-sal{aspect-ratio:488/212}
  #es-speaker .spk-par .t-ond{aspect-ratio:192/172}
  #es-speaker .spk-par .t-squ{aspect-ratio:288/172}
}
