/* ==========================================================================
   VADU · Estilo editorial (revista)
   Hero de portada: clase "vadu-hero" en un Grupo de ancho completo con dos
   grupos adentro: "vadu-hero__text" y "vadu-hero__media".
   ========================================================================== */

/* Textura de papel: se aplica con la clase "vadu-grain" o dentro del hero */
.vadu-hero::after, .vadu-grain::after{
  content:""; position:absolute; inset:0; pointer-events:none; z-index:3; opacity:.14; mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .11 0 0 0 0 .1 0 0 0 0 .1 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
.vadu-grain{ position:relative; }

/* La portada no lleva el espacio superior que Kadence pone al contenido */
.home .content-area{ margin-top:0; }
.home .entry-content > .wp-block-group:not(.alignfull){ max-width:var(--vadu-max, 1680px); margin-left:auto; margin-right:auto; padding-left:var(--vadu-gutter, 24px); padding-right:var(--vadu-gutter, 24px); }

/* --- Hero ---------------------------------------------------------------- */
/* Kadence envuelve cada grupo en .wp-block-group__inner-container: se vuelve transparente para que la cuadrícula vea las dos columnas */
.vadu-hero > .wp-block-group__inner-container,
.vadu-hero__text > .wp-block-group__inner-container,
.vadu-hero__media > .wp-block-group__inner-container{ display:contents; }
.entry-content .vadu-hero{ position:relative; display:grid; grid-template-columns:1.12fr 1fr; min-height:calc(100svh - 128px); margin:0 !important; padding:0 !important; overflow:hidden; isolation:isolate; }
.vadu-hero__text{ display:flex; flex-direction:column; justify-content:center; gap:0; padding:clamp(2rem, 5vw, 5rem) clamp(1.5rem, 5vw, 6rem) clamp(2.5rem, 5vw, 4rem) max(var(--vadu-gutter, 24px), calc((100vw - var(--vadu-max, 1680px)) / 2 + var(--vadu-gutter, 24px))); position:relative; z-index:2; }

.vadu-issue{ display:flex; flex-wrap:wrap; gap:0; margin:0 0 clamp(2rem, 5vh, 4rem) !important; padding:.75rem 0; border-top:1px solid var(--global-palette1); border-bottom:1px solid color-mix(in srgb, var(--global-palette1) 20%, transparent);
  font-family:var(--vadu-sans); font-size:.68rem; letter-spacing:.2em; text-transform:uppercase; color:var(--global-palette1); }
.vadu-issue span{ padding:0 1.1rem; border-left:1px solid color-mix(in srgb, var(--global-palette1) 25%, transparent); }
.vadu-issue span:first-child{ padding-left:0; border-left:0; font-weight:600; }

.entry-content h1.vadu-hero__title{ font-size:clamp(3rem, 6.6vw, 6.8rem); font-weight:300; line-height:.96; letter-spacing:-.025em; margin:0 0 1.6rem; }
.vadu-hero__title em{ display:inline-block; font-style:italic; transition:opacity .5s ease, transform .5s cubic-bezier(.22,.61,.36,1), filter .5s ease; }
.vadu-hero__title em.is-out{ opacity:0; transform:translateY(.18em); filter:blur(4px); }
.vadu-hero__words{ display:none; } /* lista de palabras que rotan, se edita como párrafo */

.vadu-hero__lead{ font-size:clamp(1rem, 1.2vw, 1.12rem); line-height:1.6; max-width:36ch; color:var(--global-palette4); margin:0 0 2rem !important; }
.vadu-hero .wp-block-buttons{ gap:.8rem; }
.vadu-hero .is-style-outline .wp-block-button__link{ background:transparent; color:var(--global-palette1); border:1px solid var(--global-palette1); }
.vadu-hero .is-style-outline .wp-block-button__link:hover{ background:var(--global-palette1); color:var(--global-palette8); }

.vadu-hero__scroll{ margin:clamp(2rem, 6vh, 4.5rem) 0 0 !important; display:flex; align-items:center; gap:1rem; font-family:var(--vadu-sans); font-size:.68rem; letter-spacing:.22em; text-transform:uppercase; color:var(--global-palette6); }
.vadu-hero__scroll::before{ content:""; width:56px; height:1px; background:currentColor; transform-origin:left; animation:vadu-line 2.6s cubic-bezier(.65,0,.35,1) infinite; }
@keyframes vadu-line{ 0%{ transform:scaleX(0); } 50%{ transform:scaleX(1); transform-origin:left; } 51%{ transform-origin:right; } 100%{ transform:scaleX(0); transform-origin:right; } }

.vadu-hero__media{ position:relative; overflow:hidden; margin:0 !important; min-height:100%; }
.vadu-hero__media .wp-block-image{ position:absolute; inset:0; margin:0 !important; }
.vadu-hero__media .wp-block-image img{ width:100%; height:100%; object-fit:cover; object-position:50% 45%; animation:vadu-kenburns 28s ease-in-out infinite alternate; transform-origin:60% 40%; }
@keyframes vadu-kenburns{ from{ transform:scale(1.02); } to{ transform:scale(1.12) translate(-1%, 1%); } }
.vadu-hero__media::before{ content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(180deg, rgba(28,27,26,0) 55%, rgba(28,27,26,.35)); pointer-events:none; }

.vadu-hero__credit{ position:absolute; right:clamp(.8rem, 1.6vw, 1.6rem); bottom:clamp(1.2rem, 3vw, 2.4rem); z-index:2; margin:0 !important; writing-mode:vertical-rl; transform:rotate(180deg);
  font-family:var(--vadu-sans); font-size:.64rem; letter-spacing:.24em; text-transform:uppercase; color:var(--global-palette8); }

/* Sello circular que gira sobre el borde de la foto */
.vadu-seal{ position:absolute; left:calc(1.12 / 2.12 * 100% - 66px); bottom:clamp(2rem, 10vh, 6rem); width:132px; height:132px; z-index:4; border-radius:50%; background:var(--global-palette8);
  display:grid; place-items:center; box-shadow:0 10px 30px -12px rgba(28,27,26,.25); }
.vadu-seal svg{ position:absolute; inset:8px; width:calc(100% - 16px); height:calc(100% - 16px); animation:vadu-spin 26s linear infinite; }
.vadu-seal text{ font-family:var(--vadu-sans); font-size:9.6px; letter-spacing:3.2px; text-transform:uppercase; fill:var(--global-palette1); }
.vadu-seal__mark{ font-family:var(--vadu-serif); font-style:italic; font-size:1.9rem; line-height:1; color:var(--global-palette2); }
@keyframes vadu-spin{ to{ transform:rotate(360deg); } }

/* Entrada al cargar — solo si el JS del tema corrió (clase vadu-js en <html>) */
.vadu-js .vadu-hero__text > *, .vadu-js .vadu-hero__text > .wp-block-group__inner-container > *{ opacity:0; transform:translateY(18px); transition:opacity .9s cubic-bezier(.22,.61,.36,1), transform .9s cubic-bezier(.22,.61,.36,1); }
.vadu-js .vadu-hero.is-in .vadu-hero__text > *, .vadu-js .vadu-hero.is-in .vadu-hero__text > .wp-block-group__inner-container > *{ opacity:1; transform:none; }
.vadu-js .vadu-hero.is-in .vadu-hero__text > *:nth-child(2){ transition-delay:.1s; }
.vadu-js .vadu-hero.is-in .vadu-hero__text > *:nth-child(3){ transition-delay:.2s; }
.vadu-js .vadu-hero.is-in .vadu-hero__text > *:nth-child(4){ transition-delay:.3s; }
.vadu-js .vadu-hero.is-in .vadu-hero__text > *:nth-child(5){ transition-delay:.4s; }
.vadu-js .vadu-hero.is-in .vadu-hero__text > *:nth-child(6){ transition-delay:.5s; }
.vadu-js .vadu-hero__media{ clip-path:inset(0 0 0 100%); transition:clip-path 1.3s cubic-bezier(.77,0,.18,1) .15s; }
.vadu-js .vadu-hero.is-in .vadu-hero__media{ clip-path:inset(0 0 0 0); }
.vadu-js .vadu-seal{ opacity:0; transform:scale(.8); transition:opacity .8s ease 1.1s, transform .8s cubic-bezier(.22,.61,.36,1) 1.1s; }
.vadu-js .vadu-hero.is-in .vadu-seal{ opacity:1; transform:none; }

/* --- Celular y tablet --------------------------------------------------- */
@media (max-width: 960px){
  .entry-content .vadu-hero{ grid-template-columns:1fr; min-height:0; }
  .vadu-hero__media{ order:-1; height:62svh; min-height:360px; }
  .vadu-hero__text{ padding:3.2rem var(--vadu-gutter, 20px) 3rem; }
  .vadu-seal{ left:var(--vadu-gutter, 20px); right:auto; top:calc(62svh - 56px); bottom:auto; width:112px; height:112px; }
  .vadu-hero__scroll{ display:none; }
}
@media (max-width: 560px){
  .vadu-issue span{ padding:0 .7rem; }
  .vadu-issue span:last-child{ display:none; }
}

@media (prefers-reduced-motion: reduce){
  .vadu-hero__media .wp-block-image img, .vadu-seal svg, .vadu-hero__scroll::before{ animation:none; }
  .vadu-js .vadu-hero__text > *, .vadu-js .vadu-hero__media, .vadu-js .vadu-seal{ transition:none; opacity:1; transform:none; clip-path:none; }
}

/* ==========================================================================
   Secciones editoriales (portada y resto del sitio)
   Kadence envuelve los grupos en .wp-block-group__inner-container: se vuelve
   transparente para que las cuadrículas vean a sus hijos.
   ========================================================================== */
.vadu-sec > .wp-block-group__inner-container,
.vadu-sec .wp-block-group > .wp-block-group__inner-container{ display:contents; }

.entry-content .vadu-sec{ max-width:var(--vadu-max, 1680px); margin:0 auto !important; padding:clamp(4.5rem, 9vw, 8.5rem) var(--vadu-gutter, 24px) !important; }
.entry-content .vadu-sec.alignfull{ max-width:none; }
.vadu-sec--beige{ background:var(--global-palette7); }
.vadu-sec--ink{ background:var(--global-palette1); color:var(--global-palette8); }
.vadu-sec--ink h2, .vadu-sec--ink h3{ color:var(--global-palette8); }

/* Cabecera de sección: número · título · enlace */
.vadu-head{ display:grid; grid-template-columns:auto 1fr auto; align-items:end; gap:1.5rem; padding-bottom:1.2rem; margin-bottom:clamp(2rem, 4vw, 3.5rem) !important; border-bottom:1px solid var(--global-palette1); }
.vadu-head .vadu-num{ margin:0 !important; font-family:var(--vadu-sans); font-size:.72rem; letter-spacing:.22em; text-transform:uppercase; color:var(--global-palette6); align-self:start; padding-top:.6rem; }
.entry-content .vadu-head h2{ margin:0; font-size:clamp(2.2rem, 4.6vw, 4rem); font-weight:300; line-height:1; }
.vadu-head .vadu-more{ margin:0 !important; }
.vadu-more a, a.vadu-more{ font-family:var(--vadu-sans); font-size:.74rem; letter-spacing:.16em; text-transform:uppercase; text-decoration:none; color:var(--global-palette1); border-bottom:1px solid var(--global-palette2); padding-bottom:.25rem; white-space:nowrap; transition:color .3s; }
.vadu-more a:hover{ color:var(--global-palette6); }

/* Franja en movimiento */
.entry-content .vadu-marquee{ background:var(--global-palette1); color:var(--global-palette8); overflow:hidden; margin:0 !important; padding:1.3rem 0 !important; white-space:nowrap; }
.vadu-marquee__src{ display:none; }
.vadu-marquee__track{ display:inline-flex; animation:vadu-marquee 38s linear infinite; }
.vadu-marquee__track span{ font-family:var(--vadu-serif); font-weight:300; font-size:clamp(1.6rem, 3vw, 2.6rem); padding:0 1.6rem; display:inline-flex; align-items:center; gap:3.2rem; }
.vadu-marquee__track span:nth-child(even){ font-style:italic; color:var(--global-palette2); }
.vadu-marquee__track span::after{ content:"✦"; font-size:.9rem; color:var(--global-palette2); font-style:normal; }
.vadu-marquee:hover .vadu-marquee__track{ animation-play-state:paused; }
@keyframes vadu-marquee{ to{ transform:translateX(-50%); } }

/* 01 · Manifiesto */
.vadu-manifesto{ display:grid; grid-template-columns:.8fr 1.6fr; gap:clamp(2rem, 6vw, 6rem); align-items:start; }
.vadu-stat{ margin:0 !important; font-family:var(--vadu-serif); font-weight:300; font-size:clamp(6rem, 13vw, 11rem); line-height:.8; letter-spacing:-.04em; color:var(--global-palette1); }
.vadu-stat em{ color:var(--global-palette2); font-style:normal; }
.vadu-stat-label{ margin:1rem 0 0 !important; font-family:var(--vadu-sans); font-size:.74rem; letter-spacing:.2em; text-transform:uppercase; color:var(--global-palette6); max-width:18ch; }
.entry-content .vadu-pull{ font-family:var(--vadu-serif); font-weight:300; font-size:clamp(1.9rem, 3.6vw, 3.1rem); line-height:1.12; letter-spacing:-.01em; color:var(--global-palette1); margin:0 0 2.2rem; border:0; padding:0; }
.vadu-pull em{ color:var(--global-palette6); }
.vadu-dropcap{ columns:2 18rem; column-gap:2.5rem; color:var(--global-palette4); line-height:1.75; }
.vadu-dropcap::first-letter{ float:left; font-family:var(--vadu-serif); font-size:4.6rem; line-height:.8; padding:.35rem .6rem 0 0; color:var(--global-palette1); }

/* 02 · Servicios como índice */
.vadu-index__row{ display:grid; grid-template-columns:4.5rem 1.1fr 1fr 2.5rem; align-items:center; gap:1.5rem; padding:clamp(1.4rem, 2.6vw, 2.2rem) 0 !important; margin:0 !important; border-bottom:1px solid color-mix(in srgb, var(--global-palette1) 16%, transparent); position:relative; transition:padding .5s var(--vadu-ease, ease); }
.vadu-index__row::before{ content:""; position:absolute; inset:0; background:var(--global-palette7); transform:scaleY(0); transform-origin:bottom; transition:transform .5s cubic-bezier(.22,.61,.36,1); z-index:-1; }
.vadu-index__row:hover{ padding-left:1.2rem !important; padding-right:1.2rem !important; }
.vadu-index__row:hover::before{ transform:scaleY(1); }
.vadu-index{ position:relative; z-index:0; }
.vadu-index__row .vadu-num{ margin:0 !important; font-family:var(--vadu-sans); font-size:.72rem; letter-spacing:.2em; color:var(--global-palette6); }
.entry-content .vadu-index__row h3{ margin:0; font-size:clamp(1.8rem, 3.2vw, 2.8rem); font-weight:300; line-height:1.05; }
.vadu-index__row h3 a{ color:inherit; text-decoration:none; }
.vadu-index__row h3 a::after{ content:""; position:absolute; inset:0; }
.vadu-index__row:hover h3{ font-style:italic; }
.vadu-index__row p:not(.vadu-num):not(.vadu-arrow-cell){ margin:0 !important; color:var(--global-palette5); line-height:1.6; font-size:.98rem; }
.vadu-arrow-cell{ margin:0 !important; font-size:1.4rem; color:var(--global-palette1); text-align:right; transition:transform .5s cubic-bezier(.22,.61,.36,1); }
.vadu-index__row:hover .vadu-arrow-cell{ transform:translateX(6px) rotate(-45deg); color:var(--global-palette2); }

/* 03 · Trabajo como revista */
.vadu-work{ display:grid; grid-template-columns:1.25fr 1fr; grid-auto-flow:dense; gap:clamp(2rem, 4vw, 3.5rem) clamp(1.5rem, 3vw, 3rem); }
.vadu-card{ margin:0 !important; position:relative; }
.vadu-card--feature{ grid-row:span 2; }
.vadu-card .wp-block-image{ margin:0 0 1.2rem !important; overflow:hidden; background:var(--global-palette7); }
.vadu-card .wp-block-image img{ display:block; width:100%; height:auto; transition:transform 1.2s cubic-bezier(.22,.61,.36,1), filter .6s; }
.vadu-card--wide{ grid-column:1 / -1; }
.vadu-card:hover .wp-block-image img{ transform:scale(1.05); }
.vadu-card .vadu-kicker-s{ margin:0 0 .5rem !important; font-family:var(--vadu-sans); font-size:.68rem; letter-spacing:.2em; text-transform:uppercase; color:var(--global-palette6); }
.entry-content .vadu-card h3{ margin:0 0 .5rem; font-size:clamp(1.6rem, 2.6vw, 2.3rem); font-weight:300; line-height:1.08; }
.vadu-card h3 a{ color:inherit; text-decoration:none; }
.vadu-card h3 a::after{ content:""; position:absolute; inset:0; }
.vadu-card h3 em{ color:var(--global-palette6); }
.vadu-card p.vadu-meta{ margin:0 !important; font-size:.9rem; color:var(--global-palette5); }

/* Resultados */
.vadu-results{ display:grid; grid-template-columns:repeat(4, 1fr); gap:0; border-top:1px solid color-mix(in srgb, var(--global-palette1) 25%, transparent); }
.vadu-result{ margin:0 !important; padding:2rem 1.5rem 0 0 !important; border-right:1px solid color-mix(in srgb, var(--global-palette1) 15%, transparent); }
.vadu-result + .vadu-result{ padding-left:1.5rem !important; }
.vadu-result:last-child{ border-right:0; }
.vadu-result .vadu-big{ margin:0 0 .6rem !important; font-family:var(--vadu-serif); font-weight:300; font-size:clamp(3.2rem, 6.4vw, 5.8rem); line-height:.9; letter-spacing:-.03em; color:var(--global-palette1); }
.vadu-result p:not(.vadu-big){ margin:0 !important; font-size:.92rem; color:var(--global-palette4); max-width:20ch; }
.vadu-source{ margin:2rem 0 0 !important; font-family:var(--vadu-sans); font-size:.7rem; letter-spacing:.2em; text-transform:uppercase; color:var(--global-palette6); }

/* Marcas */
.vadu-brands{ display:flex; flex-wrap:wrap; justify-content:center; align-items:baseline; gap:.4rem 0; margin:0 !important; text-align:center; font-family:var(--vadu-serif); font-weight:300; font-size:clamp(1.7rem, 3.6vw, 3.2rem); line-height:1.25; color:var(--global-palette1); }
.vadu-brands span{ padding:0 clamp(.8rem, 2vw, 1.8rem); transition:color .3s, font-style .3s; }
.vadu-brands span:nth-child(even){ font-style:italic; color:var(--global-palette6); }
.vadu-brands span:hover{ color:var(--global-palette2); font-style:italic; }
.vadu-brands-label{ text-align:center; margin:0 0 2rem !important; font-family:var(--vadu-sans); font-size:.72rem; letter-spacing:.22em; text-transform:uppercase; color:var(--global-palette6); }

/* 04 · Cómo trabajo */
.vadu-steps{ display:grid; grid-template-columns:repeat(4, 1fr); gap:clamp(1.2rem, 2.5vw, 2.5rem); counter-reset:paso; }
.vadu-step{ margin:0 !important; padding-top:1.6rem !important; border-top:1px solid color-mix(in srgb, var(--global-palette8) 30%, transparent); position:relative; }
.vadu-step::before{ counter-increment:paso; content:counter(paso, decimal-leading-zero); display:block; font-family:var(--vadu-serif); font-style:italic; font-size:3rem; line-height:1; color:var(--global-palette2); margin-bottom:1.4rem; }
.vadu-step::after{ content:""; position:absolute; top:-1px; left:0; height:1px; width:0; background:var(--global-palette2); transition:width 1.2s cubic-bezier(.22,.61,.36,1); }
.vadu-step.is-visible::after, .vadu-steps.is-visible .vadu-step::after{ width:100%; }
.entry-content .vadu-step h3{ margin:0 0 .7rem; font-size:1.6rem; font-weight:400; }
.vadu-step p{ margin:0 !important; font-size:.94rem; line-height:1.65; color:color-mix(in srgb, var(--global-palette8) 72%, transparent); }

/* Cierre IA con foto */
.vadu-split{ display:grid; grid-template-columns:1fr 1.1fr; gap:clamp(2rem, 6vw, 6rem); align-items:center; }
.vadu-split .wp-block-image{ margin:0 !important; overflow:hidden; }
.vadu-split .wp-block-image img{ width:100%; aspect-ratio:4/5; object-fit:cover; }
.entry-content .vadu-split h2{ font-size:clamp(2.2rem, 4.4vw, 3.8rem); font-weight:300; line-height:1.05; margin:0 0 1.5rem; }
.vadu-split h2 em{ color:var(--global-palette6); }
.vadu-split p{ color:var(--global-palette4); line-height:1.75; max-width:46ch; }
.vadu-tools{ font-family:var(--vadu-sans); font-size:.74rem !important; letter-spacing:.16em; text-transform:uppercase; color:var(--global-palette6) !important; margin-top:1.8rem !important; }

/* Aparición al hacer scroll */
.vadu-js .vadu-reveal{ opacity:0; transform:translateY(34px); transition:opacity 1s cubic-bezier(.22,.61,.36,1), transform 1s cubic-bezier(.22,.61,.36,1); }
.vadu-js .vadu-reveal.is-visible{ opacity:1; transform:none; }

@media (max-width: 960px){
  .vadu-manifesto, .vadu-split{ grid-template-columns:1fr; }
  .vadu-work{ grid-template-columns:1fr; }
  .vadu-card--feature{ grid-row:auto; }
  .vadu-index__row{ grid-template-columns:2.6rem 1fr 2rem; }
  .vadu-index__row p:not(.vadu-num):not(.vadu-arrow-cell){ grid-column:2 / 3; }
  .vadu-results{ grid-template-columns:1fr 1fr; }
  .vadu-result:nth-child(2){ border-right:0; }
  .vadu-result:nth-child(3){ padding-left:0 !important; }
  .vadu-steps{ grid-template-columns:1fr 1fr; row-gap:3rem; }
  .vadu-head{ grid-template-columns:1fr auto; }
  .vadu-head .vadu-num{ grid-column:1 / -1; }
}
@media (max-width: 560px){
  .vadu-steps{ grid-template-columns:1fr; }
  .vadu-dropcap{ columns:1; }
  .vadu-head{ grid-template-columns:1fr; }
}
@media (prefers-reduced-motion: reduce){
  .vadu-marquee__track{ animation:none; }
  .vadu-js .vadu-reveal{ opacity:1; transform:none; transition:none; }
}

/* Utilidades de sección */
.vadu-inner{ max-width:calc(var(--vadu-max, 1680px) - 2 * var(--vadu-gutter, 24px)); margin:0 auto; }
p.vadu-num{ font-family:var(--vadu-sans); font-size:.72rem; letter-spacing:.22em; text-transform:uppercase; color:var(--global-palette6); }
.vadu-sec--ink .vadu-head{ border-bottom-color:color-mix(in srgb, var(--global-palette8) 30%, transparent); }
.vadu-sec--ink h2 em{ color:var(--global-palette2); }
.vadu-split__text .vadu-num{ margin-bottom:1.4rem !important; }

/* Ajustes tras revisión 2026-09-24 */
.vadu-stat-label{ max-width:none; overflow-wrap:normal; word-break:normal; hyphens:none; }

.vadu-card .wp-block-image img, .vadu-split .wp-block-image img{ display:block; }
.vadu-card .wp-block-image a{ display:block; }
.vadu-stat-label{ margin-top:1.8rem !important; }

/* ==========================================================================
   SEO · 2026-09-27
   ========================================================================== */

/* H1 del hero: la línea de edición lleva la palabra clave. «Nº 01» y el año son decoración (no son texto del H1). */
.entry-content h1.vadu-issue{ font-family:var(--vadu-sans); font-size:.68rem; font-weight:400; line-height:1.5; letter-spacing:.2em; text-transform:uppercase; color:var(--global-palette1); }
.vadu-issue::before{ content:"Nº 01"; font-weight:600; padding-right:1.1rem; }
.vadu-issue::after{ content:"2026"; padding-left:1.1rem; border-left:1px solid color-mix(in srgb, var(--global-palette1) 25%, transparent); }
h1.vadu-issue span, h1.vadu-issue span:first-child{ padding:0 1.1rem; border-left:1px solid color-mix(in srgb, var(--global-palette1) 25%, transparent); font-weight:400; }
/* La frase grande ya no es H1 sino un párrafo: conserva el mismo aspecto */
.entry-content .vadu-hero__title{ font-family:var(--global-heading-font-family); font-size:clamp(3rem, 6.6vw, 6.8rem); font-weight:300; line-height:.96; letter-spacing:-.025em; color:var(--global-palette1); margin:0 0 1.6rem !important; }
@media (max-width: 560px){
  .vadu-issue::after{ display:none; }
  .vadu-issue span:last-child{ display:inline; }
}

/* Migas de pan (páginas hijas) */
.vadu-crumbs{ max-width:var(--vadu-max, 1680px); margin:0 auto; padding:1.4rem var(--vadu-gutter, 24px) 0; }
.vadu-crumbs ol{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:.4rem; font-family:var(--vadu-sans); font-size:.7rem; letter-spacing:.16em; text-transform:uppercase; color:var(--global-palette6); }
.vadu-crumbs li + li::before{ content:"/"; margin-right:.4rem; color:color-mix(in srgb, var(--global-palette6) 60%, transparent); }
.vadu-crumbs a{ color:var(--global-palette6); text-decoration:none; }
.vadu-crumbs a:hover{ color:var(--global-palette1); }
.vadu-crumbs [aria-current]{ color:var(--global-palette1); }

/* 404 */
.vadu-404{ max-width:var(--vadu-max, 1680px); margin:0 auto; padding:clamp(4rem, 12vw, 9rem) var(--vadu-gutter, 24px); }
.vadu-404__num{ font-family:var(--vadu-serif); font-weight:300; font-size:clamp(7rem, 22vw, 16rem); line-height:.8; letter-spacing:-.04em; color:transparent; -webkit-text-stroke:1px var(--global-palette1); margin:0 0 2rem; }
.vadu-404 h1{ font-family:var(--global-heading-font-family); font-weight:300; font-size:clamp(2.2rem, 4.6vw, 4rem); line-height:1.05; margin:0 0 1.2rem; }
.vadu-404 h1 em{ color:var(--global-palette6); }
.vadu-404 p{ max-width:46ch; color:var(--global-palette4); line-height:1.7; }
.vadu-404__links{ list-style:none; margin:2.2rem 0 0; padding:0; display:flex; flex-wrap:wrap; gap:1.2rem 2rem; }
.entry-content h1.vadu-issue{ flex-wrap:nowrap; align-items:baseline; }
.vadu-issue::before, .vadu-issue::after{ flex:none; white-space:nowrap; }

/* ==========================================================================
   Moldes de página interna (servicio y caso) · 2026-09-27
   ========================================================================== */

/* Portada de página interna: texto + imagen, más baja que el hero de Inicio */
.entry-content .vadu-page-hero{ display:grid; grid-template-columns:1.15fr 1fr; gap:clamp(2rem, 5vw, 5rem); align-items:center; max-width:var(--vadu-max, 1680px); margin:0 auto !important; padding:clamp(2.5rem, 6vw, 5rem) var(--vadu-gutter, 24px) clamp(3rem, 7vw, 6rem) !important; }
.vadu-page-hero > .wp-block-group__inner-container, .vadu-page-hero__text > .wp-block-group__inner-container{ display:contents; }
.entry-content .vadu-page-hero h1{ font-size:clamp(2.6rem, 5.4vw, 5.2rem); font-weight:300; line-height:1; letter-spacing:-.02em; margin:0 0 1.4rem; }
.vadu-page-hero h1 em{ color:var(--global-palette6); }
.vadu-page-hero .vadu-lead{ font-size:clamp(1.05rem, 1.3vw, 1.2rem); line-height:1.65; color:var(--global-palette4); max-width:44ch; margin:0 0 2rem !important; }
.vadu-page-hero .wp-block-image{ margin:0 !important; overflow:hidden; }
.vadu-page-hero .wp-block-image img{ display:block; width:100%; aspect-ratio:5/4; object-fit:cover; }
.vadu-page-hero .wp-block-buttons{ gap:.8rem; }
.vadu-page-hero .is-style-outline .wp-block-button__link{ background:transparent; color:var(--global-palette1); border:1px solid var(--global-palette1); }

/* Texto largo de lectura cómoda */
.vadu-prose{ max-width:68ch; }
.vadu-prose p{ color:var(--global-palette4); line-height:1.8; font-size:1.02rem; }
.vadu-cols2{ display:grid; grid-template-columns:.9fr 1.4fr; gap:clamp(2rem, 6vw, 6rem); align-items:start; }
.vadu-cols2 > .wp-block-group__inner-container{ display:contents; }
.entry-content .vadu-cols2 h2{ font-size:clamp(2rem, 3.8vw, 3.2rem); font-weight:300; line-height:1.05; margin:0; }
.vadu-cols2 h2 em{ color:var(--global-palette6); }

/* Tres tarjetas: para quién es */
.vadu-cards3{ display:grid; grid-template-columns:repeat(3, 1fr); gap:clamp(1rem, 2vw, 1.6rem); }
.vadu-cards3 > .wp-block-group__inner-container{ display:contents; }
.vadu-tile{ margin:0 !important; background:var(--global-palette9, #fff); padding:clamp(1.6rem, 2.6vw, 2.4rem) !important; border-top:2px solid var(--global-palette1); }
.vadu-tile > .wp-block-group__inner-container{ display:contents; }
.entry-content .vadu-tile h3{ font-size:1.55rem; font-weight:400; margin:0 0 .8rem; }
.vadu-tile p{ margin:0 !important; color:var(--global-palette5); line-height:1.65; font-size:.96rem; }

/* Preguntas frecuentes (bloques Detalles dentro de un grupo vadu-faq) */
.vadu-faq .wp-block-details{ border-bottom:1px solid color-mix(in srgb, var(--global-palette1) 16%, transparent); padding:0; margin:0 !important; }
.vadu-faq .wp-block-details summary{ list-style:none; cursor:pointer; display:flex; justify-content:space-between; align-items:center; gap:1.5rem; padding:1.5rem 0; font-family:var(--global-heading-font-family); font-size:clamp(1.3rem, 2vw, 1.7rem); font-weight:400; color:var(--global-palette1); }
.vadu-faq .wp-block-details summary::-webkit-details-marker{ display:none; }
.vadu-faq .wp-block-details summary::after{ content:"+"; font-family:var(--vadu-sans); font-weight:300; font-size:1.6rem; color:var(--global-palette6); transition:transform .4s cubic-bezier(.22,.61,.36,1); flex:none; }
.vadu-faq .wp-block-details[open] summary::after{ transform:rotate(45deg); }
.vadu-faq .wp-block-details p{ margin:0 0 1.5rem !important; max-width:70ch; color:var(--global-palette4); line-height:1.75; }

/* Cierre de página: llamada corta */
.vadu-close-cta{ text-align:center; }
.entry-content .vadu-close-cta h2{ font-size:clamp(2.2rem, 4.6vw, 4rem); font-weight:300; line-height:1.05; margin:0 auto 1.2rem; max-width:18ch; }
.vadu-close-cta h2 em{ color:var(--global-palette6); }
.vadu-close-cta p{ color:var(--global-palette4); margin:0 auto 2rem !important; max-width:52ch; }
.vadu-close-cta .wp-block-buttons{ justify-content:center; }

/* Galería de un caso */
.vadu-gallery{ display:grid; grid-template-columns:repeat(2, 1fr); gap:clamp(.8rem, 1.6vw, 1.4rem); }
.vadu-gallery > .wp-block-group__inner-container{ display:contents; }
.vadu-gallery .wp-block-image{ margin:0 !important; overflow:hidden; }
.vadu-gallery .wp-block-image img{ display:block; width:100%; height:100%; object-fit:cover; }
.vadu-gallery .wp-block-image:first-child{ grid-column:1 / -1; }

@media (max-width: 960px){
  .entry-content .vadu-page-hero, .vadu-cols2{ grid-template-columns:1fr; }
  .vadu-page-hero .wp-block-image{ order:-1; }
  .vadu-cards3{ grid-template-columns:1fr; }
  .vadu-gallery{ grid-template-columns:1fr; }
}

/* Cita grande (página de IA) */
.entry-content .vadu-quote h2{ font-size:clamp(2.6rem, 6vw, 5.4rem); max-width:16ch; }
.vadu-quote .vadu-num{ margin-bottom:1.6rem !important; }

/* Ficha de un caso: cliente · sector · servicios · rol */
.vadu-facts{ display:grid; grid-template-columns:repeat(4, 1fr); border-top:1px solid var(--global-palette1); border-bottom:1px solid color-mix(in srgb, var(--global-palette1) 16%, transparent); }
.vadu-facts > .wp-block-group__inner-container, .vadu-fact > .wp-block-group__inner-container{ display:contents; }
.vadu-fact{ margin:0 !important; padding:1.4rem 1.4rem 1.6rem 0 !important; }
.vadu-fact + .vadu-fact{ padding-left:1.4rem !important; border-left:1px solid color-mix(in srgb, var(--global-palette1) 16%, transparent); }
.vadu-fact .vadu-num{ margin:0 0 .6rem !important; }
.vadu-fact p:not(.vadu-num){ margin:0 !important; font-family:var(--global-heading-font-family); font-size:1.3rem; line-height:1.3; color:var(--global-palette1); }
.vadu-sec--facts{ padding-top:0 !important; padding-bottom:clamp(2rem, 4vw, 3rem) !important; }
/* Enlaces a servicios dentro de un caso */
.vadu-links{ display:flex; flex-wrap:wrap; gap:1rem 2.2rem; }
.vadu-links > .wp-block-group__inner-container{ display:contents; }
.vadu-links p{ margin:0 !important; }
@media (max-width: 960px){ .vadu-facts{ grid-template-columns:1fr 1fr; } .vadu-fact:nth-child(3){ padding-left:0 !important; border-left:0; } }
@media (max-width: 560px){ .vadu-facts{ grid-template-columns:1fr; } .vadu-fact + .vadu-fact{ padding-left:0 !important; border-left:0; border-top:1px solid color-mix(in srgb, var(--global-palette1) 16%, transparent); } }

/* Páginas índice, Sobre y Contacto · 2026-09-28 */
.vadu-gallery .wp-block-image{ grid-column:1 / -1; }
.entry-content .vadu-page-intro{ padding-bottom:clamp(2rem, 4vw, 3rem) !important; }
.entry-content .vadu-page-intro h1{ font-size:clamp(3rem, 7vw, 7rem); font-weight:300; line-height:.95; letter-spacing:-.025em; max-width:15ch; margin:0 0 1.6rem; }
.vadu-page-intro h1 em{ color:var(--global-palette6); }
.vadu-page-intro .vadu-lead{ font-size:clamp(1.05rem, 1.3vw, 1.2rem); line-height:1.65; color:var(--global-palette4); max-width:52ch; }
.entry-content .vadu-sec--work{ padding-top:0 !important; }
.entry-content .vadu-index__row h2{ margin:0; font-size:clamp(2rem, 3.6vw, 3.2rem); font-weight:300; line-height:1.05; }
.vadu-index__row h2 a{ color:inherit; text-decoration:none; }
.vadu-index__row h2 a::after{ content:""; position:absolute; inset:0; }
.vadu-index__row:hover h2{ font-style:italic; }
.vadu-sec--ink .vadu-close-cta h2 em, .vadu-sec--ink.vadu-close-cta h2 em{ color:var(--global-palette2); }
.vadu-sec--ink .vadu-close-cta p:not(.vadu-num){ color:color-mix(in srgb, var(--global-palette8) 72%, transparent); }
.vadu-form-pending{ border:1px dashed var(--global-palette6); padding:2rem !important; color:var(--global-palette6); font-size:.95rem; line-height:1.6; }

/* Formulario de contacto · 2026-09-28 */
.vadu-form{ display:grid; gap:1.6rem; }
.vadu-form__row{ display:grid; grid-template-columns:1fr 1fr; gap:1.6rem; }
.vadu-field{ display:grid; gap:.5rem; margin:0; }
.vadu-field span{ font-family:var(--vadu-sans); font-size:.7rem; letter-spacing:.2em; text-transform:uppercase; color:var(--global-palette6); }
.vadu-field input, .vadu-field select, .vadu-field textarea{ width:100%; border:0; border-bottom:1px solid color-mix(in srgb, var(--global-palette1) 35%, transparent); border-radius:0; background:transparent; padding:.7rem 0; font-family:var(--vadu-sans); font-size:1.02rem; color:var(--global-palette1); box-shadow:none; transition:border-color .3s; }
.vadu-field textarea{ resize:vertical; min-height:8rem; }
.vadu-field input:focus, .vadu-field select:focus, .vadu-field textarea:focus{ outline:none; border-bottom-color:var(--global-palette1); box-shadow:0 1px 0 0 var(--global-palette1); }
.vadu-field input::placeholder{ color:color-mix(in srgb, var(--global-palette6) 70%, transparent); }
.vadu-form__trap{ position:absolute !important; left:-9999px; width:1px; height:1px; overflow:hidden; }
.vadu-form__legal{ margin:0 !important; font-size:.85rem; color:var(--global-palette5); }
.vadu-form__legal a{ color:inherit; }
.vadu-form .wp-block-button__link{ cursor:pointer; border:0; }
.vadu-form-ok{ border-top:2px solid var(--global-palette1); padding-top:2rem; }
.vadu-form-ok__title{ font-family:var(--global-heading-font-family); font-weight:300; font-size:clamp(2rem, 3.6vw, 3rem); line-height:1.05; color:var(--global-palette1); margin:0 0 1rem !important; }
.vadu-form-ok__title em{ color:var(--global-palette6); }
.vadu-form-error{ border-left:2px solid #9b3b2f; padding:.8rem 1rem !important; background:color-mix(in srgb, #9b3b2f 7%, transparent); color:var(--global-palette1); }
@media (max-width: 640px){ .vadu-form__row{ grid-template-columns:1fr; } }

/* ==========================================================================
   Media · 2026-09-28: piezas en mosaico, logos y tarjetas sin recorte
   ========================================================================== */
/* Mosaico de piezas: cada una en su proporción natural, nada se recorta */
.vadu-pieces{ columns:4 240px; column-gap:clamp(1rem, 2vw, 1.6rem); }
.vadu-pieces > .wp-block-group__inner-container{ display:contents; }
.vadu-pieces .wp-block-image{ break-inside:avoid; display:block; margin:0 0 clamp(1.2rem, 2.2vw, 1.8rem) !important; }
.vadu-pieces .wp-block-image img{ display:block; width:100%; height:auto; transition:transform .9s cubic-bezier(.22,.61,.36,1), filter .6s; }
.vadu-pieces .wp-block-image{ overflow:hidden; }
.vadu-pieces .wp-block-image:hover img{ transform:scale(1.03); }
.vadu-pieces figcaption, .vadu-pieces .wp-element-caption{ margin:.7rem 0 0; text-align:left; font-family:var(--vadu-sans); font-size:.68rem; letter-spacing:.18em; text-transform:uppercase; color:var(--global-palette6); }
.vadu-sec + .vadu-sec .vadu-pieces, .vadu-gallery + .vadu-pieces{ margin-top:clamp(1.2rem, 2.2vw, 1.8rem); }
@media (max-width: 640px){ .vadu-pieces{ columns:2; column-gap:.8rem; } .vadu-pieces figcaption{ font-size:.6rem; letter-spacing:.12em; } }

/* Logos de marcas: en gris y fundidos con el fondo; recuperan el color al pasar el mouse */
.vadu-logos{ max-width:1180px; margin:0 auto; }
.vadu-logos > .wp-block-group__inner-container{ display:contents; }
.vadu-logos .wp-block-image{ margin:0 !important; }
.vadu-logos img{ display:block; width:100%; height:auto; filter:grayscale(1) contrast(1.05); mix-blend-mode:multiply; opacity:.72; transition:filter .6s, opacity .6s; }
.vadu-logos:hover img{ filter:none; opacity:1; }

/* Tarjetas de Trabajo: la imagen se muestra completa, en su proporción (no se fuerza aspect-ratio:
   WordPress usa el ancho/alto del <img> para reservar el espacio de las imágenes diferidas) */
.vadu-work{ align-items:start; }
.vadu-card .wp-block-image{ background:transparent; }

/* QA móvil · 2026-09-28 */
@media (max-width: 640px){
  /* Enlaces «Ver más →», migas y enlaces a servicios: área táctil de 40 px sin cambiar el aspecto */
  .vadu-more a, a.vadu-more{ display:inline-flex; align-items:center; min-height:40px; border-bottom:0; padding-bottom:0; background:linear-gradient(var(--global-palette2), var(--global-palette2)) no-repeat left calc(50% + .75em) / 100% 1px; }
  .vadu-crumbs ol{ font-size:.72rem; }
  .vadu-crumbs a{ display:inline-flex; align-items:center; min-height:40px; }
  .vadu-crumbs{ padding-top:.4rem; }
  /* Texto mínimo legible: etiquetas, pies de foto, H1 de la portada */
  .vadu-kicker-s, .vadu-card .vadu-kicker-s{ font-size:.75rem; letter-spacing:.14em; }
  .vadu-pieces figcaption, .vadu-pieces .wp-element-caption{ font-size:.7rem; letter-spacing:.1em; }
  .entry-content h1.vadu-issue{ font-size:.75rem; letter-spacing:.14em; }
  .vadu-hero__credit{ font-size:.7rem; }
  p.vadu-num, .vadu-num{ font-size:.75rem; }
  .vadu-form__legal a{ display:inline-block; padding:.6rem 0; margin:-.6rem 0; }
}
@media (max-width: 640px){
  /* Migas alineadas: todos los elementos a la misma altura */
  .vadu-crumbs ol{ align-items:center; row-gap:0; }
  .vadu-crumbs li{ display:inline-flex; align-items:center; min-height:40px; }
  /* Menos aire vertical entre secciones en el teléfono */
  .entry-content .vadu-sec{ padding-top:3.4rem !important; padding-bottom:3.4rem !important; }
  .entry-content .vadu-page-hero{ padding-top:1.4rem !important; padding-bottom:1.6rem !important; gap:1.6rem; }
  .entry-content .vadu-sec--facts{ padding-bottom:1.6rem !important; }
  .vadu-head{ margin-bottom:1.8rem !important; }
}

/* Índice de servicios con imagen por fila (página Servicios) · 2026-09-28 */
.vadu-index--thumbs .vadu-index__row{ grid-template-columns:4.5rem clamp(140px, 14vw, 220px) 1.1fr 1fr 2.5rem; }
.vadu-index__img{ margin:0 !important; overflow:hidden; position:relative; z-index:1; }
.vadu-index__img img{ display:block; width:100%; aspect-ratio:4/3; object-fit:cover; transition:transform .9s cubic-bezier(.22,.61,.36,1); }
.vadu-index__row:hover .vadu-index__img img{ transform:scale(1.06); }
@media (max-width: 960px){
  .vadu-index--thumbs .vadu-index__row{ grid-template-columns:2.6rem 1fr 2rem; }
  .vadu-index--thumbs .vadu-index__img{ grid-column:2 / 3; }
  .vadu-index--thumbs .vadu-index__row > .wp-block-group__inner-container > .vadu-num,
  .vadu-index--thumbs .vadu-index__row > .vadu-num{ align-self:start; padding-top:.2rem; }
}
@media (max-width: 960px){
  /* Índice con imagen en celular: número y flecha a los lados; imagen, título y texto en la columna central */
  .vadu-index--thumbs .vadu-index__row .vadu-num{ grid-column:1; grid-row:1; }
  .vadu-index--thumbs .vadu-index__row .vadu-arrow-cell{ grid-column:3; grid-row:1; align-self:start; }
  .vadu-index--thumbs .vadu-index__img{ grid-column:2; grid-row:1; }
  .vadu-index--thumbs .vadu-index__row h2, .vadu-index--thumbs .vadu-index__row p:not(.vadu-num):not(.vadu-arrow-cell){ grid-column:2; }
  .vadu-index--thumbs .vadu-index__row{ row-gap:.9rem; }
}

/* Herramientas de IA (página IA) · 2026-09-28 */
.vadu-tools{ display:grid; gap:0; border-top:1px solid color-mix(in srgb, var(--global-palette1) 16%, transparent); }
.vadu-tools__group{ display:grid; grid-template-columns:minmax(140px, 1fr) 4fr; align-items:center; gap:1.5rem; padding:1.4rem 0; border-bottom:1px solid color-mix(in srgb, var(--global-palette1) 16%, transparent); }
.vadu-tools__label{ margin:0 !important; font-family:var(--vadu-sans); font-size:.72rem; letter-spacing:.2em; text-transform:uppercase; color:var(--global-palette6); }
.vadu-tools__list{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(4, 1fr); gap:1rem; }
.vadu-tools__list li{ display:flex; align-items:center; gap:.8rem; margin:0; padding:.9rem 1rem; background:var(--global-palette9, #fff); border:1px solid color-mix(in srgb, var(--global-palette1) 8%, transparent); transition:transform .4s cubic-bezier(.22,.61,.36,1), box-shadow .4s; }
.vadu-tools__list li:hover{ transform:translateY(-2px); box-shadow:0 14px 24px -18px rgba(28,27,26,.35); }
.vadu-tools__list img{ width:28px; height:28px; object-fit:contain; flex:none; }
.vadu-tools__list span{ font-family:var(--global-heading-font-family); font-size:1.2rem; color:var(--global-palette1); line-height:1.1; }
@media (max-width: 960px){ .vadu-tools__group{ grid-template-columns:1fr; gap:.9rem; } .vadu-tools__list{ grid-template-columns:repeat(2, 1fr); gap:.6rem; } .vadu-tools__list li{ padding:.75rem .8rem; } .vadu-tools__list span{ font-size:1.05rem; } }

/* Tarjetas con imagen (marcas de Grupo Bermúdez) */
.vadu-cards3--img .vadu-tile .wp-block-image{ margin:-.2rem 0 1.4rem !important; overflow:hidden; }
.vadu-cards3--img .vadu-tile .wp-block-image img{ display:block; width:100%; height:auto; }
.vadu-tools__list span{ text-transform:none; letter-spacing:0; }
