/* Carta de lacados · Ainos. Lamas en colores de marca, sin acabados por servicio; contenido sobre blanco y papel; obras, taller y pie en antracita. Ver DESIGN.md. */
:root {
  --radius-s: 0; --radius-m: 0; --radius-l: 0; --radius-xl: 0;
  --header-height: 0rem;
  --gutter: var(--space-m);
  --lama-step: 8rem;
  --lama-slot: 1px;
  --lacado-paper: #f1f0ea;
  --lacado-green: #234b3e;
  --lacado-ease: cubic-bezier(.16, 1, .3, 1);
  --lacado-antracita: #383e42;
  --zona-suave: #5d6572;
  --zona-linea: var(--color-border);
  --font-secondary: var(--wp--preset--font-family--heading);
  --color-foreground: var(--color-text);
  --color-foreground-light: var(--color-text-light);
}
html { scrollbar-color: var(--color-primary) var(--lacado-paper); scroll-behavior: smooth; }
body { background: var(--color-white); color: var(--color-secondary); }
::selection { background: var(--color-accent); color: var(--color-primary-dark); }
:focus-visible { outline: 2px solid currentColor; outline-offset: .3rem; }
input, textarea { caret-color: var(--color-primary); accent-color: var(--color-primary); }
a { text-underline-offset: .22em; }
body a { color: inherit; }
body a:hover { color: inherit; text-decoration-thickness: 2px; }
h1, h2, h3, h4 { font-family: var(--wp--preset--font-family--heading); color: inherit; text-wrap: balance; letter-spacing: -.025em; }
p { text-wrap: pretty; }
figure { margin: 0; }
img { max-width: 100%; }
main { min-width: 0; }
/* Contenido siempre visible; los efectos heredados no participan en este mundo. */
.scroll-reveal, .hero-animate, [data-effect], .scroll-reveal[data-stagger-children] > *, [data-effect~="stagger"] > * { opacity: 1; transform: none; transition: none; }
/* Contenido antiguo insertado en WP: retirar antetítulos sin mutar la base. */
.section-kicker { display: none; }
/* Zonas: granate solo en el hero, los banners y la banda de cierre; el resto, papel y antracita. */
.page-banner, .ainos-cta, .site-footer__invitation { background: var(--color-primary); color: var(--color-white); }
.section, .texto-imagen, .contacto, .logos { background: var(--color-white); color: var(--color-secondary); }
.section:nth-of-type(even):not(.trabajos-recientes):not(.ainos-taller):not(.ainos-cta):not(.lacado-hero):not(.proceso--dark), .logos { background: var(--lacado-paper); }
.trabajos-recientes, .ainos-taller { background: var(--lacado-antracita); color: var(--color-white); }
.section { border-top: var(--lama-slot) solid var(--color-border); }
.section-inner { max-width: var(--wide-width); }
.section-header, .section-header--center { text-align: left; }
.section-header__title, .texto-imagen .wp-block-heading { color: inherit; }
.section-header__subtitle { color: var(--zona-suave); max-width: 65ch; }
/* Botones planos: granate sobre fondos claros, blancos dentro de las zonas granate. */
.cta-btn, .cta-btn--primary, .cta-btn--dark, .cta-btn--secondary {
  display: inline-flex; align-items: center; justify-content: center; gap: var(--space-xs);
  min-height: 3rem; padding: var(--space-xs) var(--space-s); border: 1px solid var(--color-primary);
  background: var(--color-primary); color: var(--color-white); border-radius: 0; box-shadow: none;
  font-size: var(--text-s); font-weight: 700; text-transform: none; letter-spacing: 0; text-decoration: none;
}
.cta-btn:hover, .cta-btn--primary:hover, .cta-btn--secondary:hover, .cta-btn--dark:hover { background: var(--color-primary-dark); border-color: var(--color-primary-dark); color: var(--color-white); transform: none; box-shadow: none; }
:is(.lacado-hero, .page-banner, .ainos-cta, .site-footer__invitation, .contacto-box) .cta-btn { background: var(--color-white); border-color: var(--color-white); color: var(--color-primary); }
:is(.lacado-hero, .page-banner, .ainos-cta, .site-footer__invitation, .contacto-box) .cta-btn:hover { background: var(--color-accent); color: var(--color-primary-dark); }
.cta-btn--outline { background: transparent; color: inherit; border-color: currentColor; }
.cta-btn--outline:hover { background: currentColor; }
.cta-btn--outline:hover > * , .cta-btn--outline:hover { color: var(--color-white); }
:is(.lacado-hero, .page-banner, .ainos-cta, .trabajos-recientes) .cta-btn--outline:hover { background: var(--color-white); color: var(--color-primary); }
.cta-btn:disabled, button:disabled { opacity: .6; cursor: not-allowed; }
.lacado-actions { display: flex; flex-wrap: wrap; gap: var(--space-xs); margin-top: var(--space-m); }
.lacado-hero { background: var(--color-primary); color: var(--color-white); padding: var(--space-xl) var(--gutter); }
.lacado-hero__inner { max-width: var(--wide-width); margin-inline: auto; display: grid; gap: var(--space-l); align-items: center; min-height: 38svh; }
.lacado-hero h1 { font-size: clamp(2.1rem, 1.35rem + 3vw, 4.1rem); line-height: 1.14; max-width: 17ch; margin: 0 0 var(--space-s); }
.lacado-hero__copy > p { max-width: 46ch; color: var(--color-accent); margin: 0; font-size: var(--text-l); }
.lacado-hero__sample img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
.muestra-label { display: flex; flex-wrap: wrap; gap: var(--space-2xs) var(--space-s); margin: 0; padding: var(--space-xs); font-size: var(--text-xs); letter-spacing: .07em; text-transform: uppercase; font-variant-numeric: tabular-nums; border-block: var(--lama-slot) solid currentColor; }
.lacado-hero__sample .muestra-label, .ainos-presentacion__portrait .muestra-label { background: var(--lacado-paper); color: var(--color-secondary); border: 0; }
.muestra-label span:first-child { font-weight: 700; }
.carta-servicios__inner { display: grid; gap: var(--space-l); align-items: start; }
.carta-servicios__intro h2 { font-size: var(--text-3xl); margin: 0 0 var(--space-s); }
.carta-servicios__intro p { color: var(--zona-suave); max-width: 32ch; margin-bottom: var(--space-m); }
.carta-lamas { min-width: 0; perspective: 100rem; }
.lama { --lacado: var(--lacado-antracita); --tinta: var(--color-white); background: var(--lacado); color: var(--tinta); border-bottom: var(--lama-slot) solid var(--color-accent); transform-origin: 0 50%; }
.lama:nth-child(3n + 2) { --lacado: var(--lacado-paper); --tinta: var(--color-secondary); }
.lama:nth-child(3n) { --lacado: var(--color-primary); }
.lama__face { position: relative; min-height: var(--lama-step); padding: var(--space-s); display: grid; grid-template-columns: minmax(0, 1fr) 4.5rem 1rem; align-items: center; gap: var(--space-xs); cursor: pointer; list-style: none; }
.lama__face::-webkit-details-marker { display: none; }
.lama__face h2, .lama__face h3 { color: inherit; font-size: var(--text-xl); margin: 0 0 var(--space-2xs); line-height: 1.25; }
.lama__name { min-width: 0; overflow-wrap: anywhere; }
.lama__label { display: block; font-size: var(--text-s); line-height: 1.6; }
.lama__preview { display: block; height: 4rem; width: 4.5rem; object-fit: cover; }
.lama__toggle { grid-column: -2; width: 1rem; height: 1rem; position: relative; }
.lama__toggle::before, .lama__toggle::after { content: ''; position: absolute; background: currentColor; inset: 50% 0 auto; height: 1px; }
.lama__toggle::after { transform: rotate(90deg); }
.lama[open] .lama__toggle::after { transform: none; }
.lama__body { padding: 0 var(--space-s) var(--space-s); }
.lama__photo { display: block; width: 100%; height: auto; max-height: 32rem; object-fit: contain; }
.lama__link { display: flex; align-items: center; justify-content: space-between; min-height: 3rem; gap: var(--space-s); padding-block: var(--space-xs); font-size: var(--text-s); font-weight: 700; color: inherit; }
.lama:focus-within { outline: 2px solid var(--tinta); outline-offset: -.3rem; }
/* Los navegadores sin ::details-content conservan details/summary nativo. */
@supports selector(details::details-content) {
  .lama::details-content { content-visibility: hidden; height: 0; overflow: hidden; }
  .lama[open]::details-content { content-visibility: visible; height: auto; }
  @media (hover: hover) {
    .lama:hover::details-content { content-visibility: visible; height: auto; }
    .lama:hover { transform: rotateY(-1.5deg); }
  }
}
@media (prefers-reduced-motion: no-preference) {
  .lama { transition: transform .5s var(--lacado-ease); }
  @supports (animation-timeline: view()) {
    .carta-lamas { view-timeline-name: --abanico; view-timeline-axis: block; }
    .lama { animation: abrir-lama 1s var(--lacado-ease) both; animation-timeline: --abanico; animation-range: entry 0% entry 90%; }
    .lama:nth-child(2) { animation-range: entry 4% entry 94%; }
    .lama:nth-child(3) { animation-range: entry 8% entry 98%; }
    .lama:nth-child(4) { animation-range: entry 12% entry 100%; }
    .lama:nth-child(5) { animation-range: entry 16% entry 100%; }
    .lama:nth-child(6) { animation-range: entry 20% entry 100%; }
    .lama:nth-child(7) { animation-range: entry 24% entry 100%; }
    .lama:nth-child(8) { animation-range: entry 28% entry 100%; }
    .lama:nth-child(9) { animation-range: entry 32% entry 100%; }
    @keyframes abrir-lama { from { translate: 0 .6rem; rotate: x -7deg; } to { translate: 0 0; rotate: x 0deg; } }
  }
}
.page-banner { min-height: 0; padding: var(--space-xl) var(--gutter); text-align: left; margin: 0; }
.page-banner::before, .page-banner::after { content: none; }
.page-banner__inner { width: 100%; }
.page-banner__title { font-size: clamp(2.1rem, 1.4rem + 3vw, 4.25rem); max-width: 22ch; color: var(--color-white); margin: 0 0 var(--space-s); text-transform: none; }
.page-banner__title .highlight { color: inherit; }
.page-banner__subtitle { max-width: 65ch; margin: 0 0 var(--space-m); color: var(--color-accent); }
.page-banner__breadcrumb { position: static; margin: var(--space-m) 0 var(--space-s); }
.page-banner__breadcrumb-list { justify-content: flex-start; flex-wrap: wrap; }
.page-banner__breadcrumb-item, .page-banner__breadcrumb-item a, .page-banner__breadcrumb-item span, .page-banner__breadcrumb-item + .page-banner__breadcrumb-item::before { color: var(--color-accent); }
.page-banner__contact { display: inline-flex; align-items: center; gap: var(--space-s); min-height: 2.75rem; font-size: var(--text-s); }
.page-banner .muestra-label { max-width: fit-content; padding-inline: 0; }
/* Obras como muestras rectangulares con ficha, nunca texto encima de la fotografía. */
.trabajos-grid { display: grid; grid-template-columns: 1fr; gap: var(--space-l); }
.trabajo-card { display: grid; grid-template-columns: 1fr; color: inherit; text-decoration: none; border-bottom: var(--lama-slot) solid var(--zona-linea); }
.trabajo-card__media { background: var(--color-primary-dark); min-width: 0; }
.trabajo-card__img { display: block; width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.trabajo-card__body { padding: var(--space-m) 0; }
.trabajo-card__title { color: inherit; margin: 0 0 var(--space-s); font-size: var(--text-2xl); }
.trabajo-card:hover .trabajo-card__title { text-decoration: underline; text-underline-offset: .22em; }
.trabajo-card__meta { color: var(--zona-suave); font-size: var(--text-xs); letter-spacing: .06em; text-transform: uppercase; margin: var(--space-2xs) 0; }
.trabajos-recientes__header { margin-bottom: var(--space-l); }
.trabajos-recientes__title { font-size: var(--text-3xl); max-width: 22ch; margin: 0; }
.trabajos-recientes__more { margin-top: var(--space-l); }
.trabajos-filtro__list { display: flex; flex-wrap: wrap; list-style: none; padding: 0; margin: 0 0 var(--space-l); gap: var(--space-2xs); }
.trabajos-filtro__link { display: inline-flex; align-items: center; min-height: 2.75rem; border: 1px solid var(--color-border); padding: var(--space-2xs) var(--space-xs); font-size: var(--text-s); text-decoration: none; }
.trabajos-filtro__link[aria-current], .trabajos-filtro__link:hover { background: var(--color-primary); border-color: var(--color-primary); color: var(--color-white); }
/* Ficha de obra: foto y datos 64/36; lectura y galería antes de la invitación en móvil. */
.trabajo-page .trabajo-detalle { max-width: var(--wide-width); }
.trabajo-detalle__intro, .trabajo-detalle__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-l); }
.trabajo-detalle__intro { align-items: start; margin-bottom: var(--space-xl); }
.trabajo-detalle__principal, .trabajo-detalle__main, .trabajo-detalle__ficha, .trabajo-detalle__aside { min-width: 0; }
.trabajo-detalle__principal { margin: 0; background: var(--lacado-paper); }
.trabajo-detalle__img, .trabajo-galeria__img, .trabajo-detalle__content img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; object-position: center; }
.trabajo-detalle__title { font-size: var(--text-2xl); line-height: 1.2; margin: 0 0 var(--space-m); }
.trabajo-detalle__ficha { background: var(--lacado-paper); padding: var(--space-m); }
.trabajo-datos { display: block; margin: 0; padding: 0; }
.trabajo-datos__row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: var(--space-s); padding-block: var(--space-xs); }
.trabajo-datos__row + .trabajo-datos__row { border-top: var(--lama-slot) solid var(--color-border); }
.trabajo-datos dt { font-weight: 700; }
.trabajo-datos dd { margin: 0; overflow-wrap: anywhere; }
.trabajo-detalle__content { max-width: 70ch; font-size: var(--text-m); line-height: 1.7; }
.trabajo-detalle__content h2 { font-size: var(--text-2xl); margin: var(--space-xl) 0 var(--space-s); }
.trabajo-detalle__content h3 { font-family: var(--wp--preset--font-family--primary); font-size: var(--text-l); line-height: 1.4; letter-spacing: 0; margin: var(--space-m) 0 var(--space-2xs); padding-top: var(--space-s); border-top: var(--lama-slot) solid var(--color-border); }
.trabajo-detalle__content > :first-child { margin-top: 0; }
.trabajo-detalle__content p { margin-bottom: var(--space-s); }
.trabajo-detalle__content li + li { margin-top: var(--space-2xs); }
.trabajo-detalle__galeria { margin-top: var(--space-l); }
.trabajo-galeria { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); list-style: none; padding: 0; margin: 0; gap: var(--space-xs); }
.trabajo-detalle__principal-link, .trabajo-galeria__link { display: block; background: var(--lacado-paper); }
.trabajo-detalle__aside .contacto-box__title { margin: 0; line-height: 1.25; }
.trabajo-detalle__servicio { display: block; font-size: var(--text-l); font-weight: 700; padding-block: var(--space-2xs); }
.trabajo-detalle__zonas, .trabajo-detalle__otros { margin-top: var(--space-xl); }
.servicio-detail__trabajos { grid-column: 1 / -1; margin-top: var(--space-xl); }
.servicio-detail { max-width: var(--wide-width); margin-inline: auto; }
.servicio-detail__content-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-l); }
.servicio-detail__content { color: inherit; max-width: 70ch; font-size: var(--text-m); }
.servicio-detail__content h2 { font-size: var(--text-2xl); margin: var(--space-xl) 0 var(--space-s); }
.servicio-detail__content h3 { font-family: var(--wp--preset--font-family--primary); font-size: var(--text-l); line-height: 1.4; letter-spacing: 0; margin: var(--space-m) 0 var(--space-2xs); padding-top: var(--space-s); border-top: 1px solid var(--color-border); }
.servicio-detail__content li + li { margin-top: var(--space-2xs); }
.servicio-detail__img { width: 100%; height: auto; }
.servicio-detail__sidebar-sticky { position: static; }
.servicio-detail__section-title { text-transform: none; letter-spacing: -.025em; color: inherit; }
.servicio-detail__relacionados, .servicio-detail__zonas { grid-column: 1 / -1; min-width: 0; }
.servicio-detail__links { list-style: none; margin: 0; padding: 0; }
.servicio-detail__links li { border-bottom: 1px solid var(--color-border); }
.servicio-detail__links a { display: flex; align-items: center; min-height: 2.75rem; padding-block: var(--space-xs); color: var(--color-primary); }
.servicio-detail__zonas { padding: var(--space-m); background: var(--lacado-paper); }
.servicio-detail__zonas .servicio-detail__section-title { margin-top: 0; }
.servicio-detail__zonas-list { display: flex; flex-wrap: wrap; gap: var(--space-xs) var(--space-l); margin: 0 0 var(--space-m); padding-left: var(--space-s); }
.servicio-detail__zonas p { margin: 0; }
.contacto-box { display: flex; flex-direction: column; gap: var(--space-s); padding: var(--space-m); background: var(--color-primary); color: var(--color-white); border: 1px solid var(--color-accent); }
.contacto-box p { margin: 0; }
.contacto-box__title { font-family: var(--font-secondary); font-size: var(--text-xl); }
.contacto-box__text { color: var(--color-accent); }
.contacto-box__link { font-size: var(--text-s); min-height: 2.75rem; display: flex; align-items: center; }
.ainos-presentacion__grid { display: grid; align-items: center; gap: var(--space-l); }
.ainos-presentacion__body h2 { font-size: var(--text-3xl); max-width: 20ch; margin: 0 0 var(--space-m); }
.ainos-presentacion blockquote { margin: 0; padding: 0; border: 0; font-size: var(--text-xl); max-width: 38ch; }
.ainos-presentacion__body > p { font-size: var(--text-s); margin: var(--space-m) 0; }
.ainos-presentacion__portrait img { display: block; width: 100%; height: auto; }
.texto-imagen__body { max-width: 70ch; }
.texto-imagen__img img { object-fit: contain; aspect-ratio: auto; }
.ainos-taller__grid { display: grid; gap: var(--space-s); grid-template-columns: 1fr; margin-top: var(--space-l); }
.ainos-taller__img { margin: 0; }
.ainos-taller__img img { display: block; width: 100%; height: auto; }
.proceso__steps { display: block; list-style: none; }
.proceso__step { display: grid; gap: var(--space-xs); padding-block: var(--space-m); border-top: var(--lama-slot) solid var(--color-accent); }
.proceso__title { font-size: var(--text-xl); }
.proceso__text { max-width: 65ch; }
.proceso__num { display: none; }
.logos__row { flex-wrap: wrap; justify-content: flex-start; gap: var(--space-xs); }
.logos__item { background: var(--color-white); padding: var(--space-s) var(--space-m); display: inline-flex; align-items: center; justify-content: center; min-width: 10rem; min-height: 6rem; }
.logos__img { height: 3.25rem; width: auto; max-width: 9rem; object-fit: contain; filter: none; opacity: 1; }
.logos__title { color: var(--color-secondary); text-align: left; font-family: var(--wp--preset--font-family--heading); font-size: var(--text-2xl); font-weight: 700; letter-spacing: -.02em; text-transform: none; margin: 0 0 var(--space-m); }
.contacto__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-l); }
.contacto__info { min-width: 0; }
.contacto__row-label, .contacto__row-sub, .contacto__hours dd { color: var(--zona-suave); }
.contacto__row-value, .contacto__hours dt { color: var(--color-secondary); overflow-wrap: anywhere; }
.contacto__row a:hover { color: var(--color-primary); }
.contacto__row-icon { background: var(--lacado-paper); color: var(--color-primary); }
.contacto__form-card { background: var(--lacado-paper); color: var(--color-secondary); box-shadow: none; border: 0; padding: var(--space-m); }
.contacto__form-card a { color: var(--color-primary); }
.contacto__form-card .cta-btn { background: var(--color-primary); color: var(--color-white); }
.contacto__field input, .contacto__field textarea { border: 1px solid var(--color-text-light); background: var(--color-white); color: var(--color-secondary); border-radius: 0; }
.contacto__field input:focus-visible, .contacto__field textarea:focus-visible { outline-color: var(--color-primary); border-color: var(--color-primary); }
.contacto__field input::placeholder, .contacto__field textarea::placeholder { color: var(--color-text-light); opacity: 1; }
.contacto__check { display: block; line-height: 1.8; }
.contacto__check input { margin-right: var(--space-2xs); }
.contacto__notice--ok { background: var(--lacado-green); color: var(--color-white); }
.contacto__notice--error { background: var(--color-primary-dark); color: var(--color-white); }
.ainos-cta { text-align: left; min-height: 36svh; display: grid; align-items: center; }
.ainos-cta__inner { width: 100%; }
.ainos-cta__title { color: inherit; font-size: var(--text-3xl); max-width: 24ch; }
.ainos-cta__text { color: var(--color-accent); max-width: 60ch; }
.ainos-cta__actions { display: flex; flex-wrap: wrap; gap: var(--space-xs); margin-top: var(--space-m); }
.cta-contacto__card { background: var(--color-primary); box-shadow: none; border: 1px solid var(--color-accent); }
/* Patrones secundarios de catálogo también usan filas, sin tarjetas de iconos. */
.ventajas, .faq, .testimonios, .cifras { background: var(--color-white); color: var(--color-secondary); }
.ventajas__grid, .testimonios__grid, .cifras__grid { display: block; }
.ventajas__item, .testimonios__card, .cifras__item { border: 0; border-top: 1px solid var(--color-accent); padding: var(--space-m) 0; background: transparent; box-shadow: none; border-top-color: var(--color-border); }
.ventajas__title, .ventajas__text, .cifras__value, .cifras__label, .testimonios__quote, .testimonios__author { color: inherit; }
.faq__item { background: transparent; border-color: var(--color-border); }
.faq__question, .faq__answer { color: inherit; }
.error-code { font-family: var(--font-secondary); font-size: var(--text-display); text-align: center; }
/* Pie: antracita RAL 7016, con datos reales y contraste completo. */
.site-footer { background: var(--lacado-antracita); color: var(--color-white); border-top: 0; }
.site-footer__tagline, .site-footer__list a, .site-footer__copy, .site-footer__legal, .site-footer__credit, .site-footer__legal a, .site-footer__credit a { color: rgba(255, 255, 255, .8); }
.site-footer__list a:hover, .site-footer__legal a:hover, .site-footer__credit a:hover { color: var(--color-white); }
.site-footer__grid { grid-template-columns: 1fr; }
.site-footer__logo-img { height: auto; width: 11rem; }
.site-footer__sello-img { max-width: 10rem; height: auto; }
.site-footer__sello-text { color: rgba(255, 255, 255, .8); font-size: var(--text-xs); max-width: 40ch; line-height: 1.6; }
.site-footer__social-link { color: var(--color-white); border: 1px solid rgba(255, 255, 255, .4); }
@media (min-width: 56.25rem) {
  .lacado-hero__inner { grid-template-columns: 1.2fr 1fr; }
  .carta-servicios__inner { grid-template-columns: minmax(0, 36fr) minmax(0, 64fr); }
  .carta-servicios__intro { position: sticky; top: var(--space-l); padding-right: var(--space-m); }
  .lama__face { grid-template-columns: minmax(0, 1fr) 7rem 1rem; }
  .lama__preview { width: 7rem; height: 5rem; }
  .trabajo-card { grid-template-columns: minmax(0, 64fr) minmax(0, 36fr); }
  .trabajo-card__body { padding: var(--space-m); }
  .trabajo-galeria { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .trabajo-detalle__intro { grid-template-columns: minmax(0, 64fr) minmax(0, 36fr); }
  .trabajo-detalle__intro--sin-foto { grid-template-columns: minmax(0, 1fr); }
  .trabajo-detalle__aside .contacto-box { position: sticky; top: var(--space-l); }
  .trabajo-detalle__grid, .servicio-detail__content-grid { grid-template-columns: minmax(0, 64fr) minmax(0, 36fr); }
  .servicio-detail__sidebar { grid-column: 2; grid-row: 1; align-self: stretch; }
  .servicio-detail__sidebar-sticky { position: sticky; top: var(--space-l); }
  .ainos-presentacion__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .proceso__step { grid-template-columns: minmax(0, 36fr) minmax(0, 64fr); }
  .ainos-taller__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 64%; margin-inline: auto; }
  .contacto__grid { grid-template-columns: minmax(0, 42fr) minmax(0, 58fr); }
  .site-footer__grid { grid-template-columns: 1.3fr 1fr 1.2fr 1fr; gap: var(--space-l); }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .lama, .lama *, .cta-btn, .faq__marker { animation: none; transition: none; transform: none; translate: none; rotate: none; }
}
.page-banner__inner { max-width: var(--wide-width); }
.page-banner__title { font-weight: 700; text-shadow: none; line-height: 1.15; }
.page-banner__subtitle { margin-inline: 0; }
.ainos-reading { padding-inline: var(--gutter); }
.ainos-reading .wp-block-post-content { max-width: 70ch; }
.ainos-reading :is(h2, h3) { color: inherit; }
.site-footer__invitation { padding: var(--space-xl) var(--gutter); }
.site-footer__invitation-inner { max-width: var(--wide-width); margin-inline: auto; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-m); }
.site-footer__invitation p { font-family: var(--font-secondary); font-size: var(--text-3xl); max-width: 22ch; margin: 0; }
.noticias-home__grid { display: block; }
.noticias-home__card { display: grid; grid-template-columns: 1fr; background: transparent; color: inherit; border-bottom: 1px solid var(--color-border); border-radius: 0; box-shadow: none; margin-block: var(--space-m); }
.noticias-home__body { color: inherit; padding: var(--space-m); }
.noticias-home__title, .noticias-home__excerpt, .noticias-home__date { color: inherit; }
.noticias-home__card:hover { box-shadow: none; transform: none; }
@media (min-width: 56.25rem) { .noticias-home__card { grid-template-columns: 64fr 36fr; } }
.wp-site-blocks :is(h1, h2, h3, h4) { color: inherit; }
.cta-btn .icon { fill: none; }
/* Móvil: lamas de marca con altura flexible; fotos a todo el ancho de la columna. */
@media (max-width: 56.249rem) {
  .lama__face { grid-template-columns: minmax(0, 1fr) 1rem; grid-template-rows: auto auto; gap: var(--space-2xs) var(--space-xs); padding: var(--space-s); }
  .lama__name { grid-column: 1; grid-row: 1; }
  .lama__face h2, .lama__face h3 { font-size: var(--text-l); }
  .lama__toggle { grid-column: 2; grid-row: 1; align-self: start; }
  .lama__preview { grid-column: 1 / -1; grid-row: 2; width: 100%; height: 5rem; }
  .contacto__form-card .cta-btn { width: 100%; }
}
.wp-site-blocks { background: var(--color-white); color: var(--color-secondary); }
.site-header .header-nav__link, .site-header .header-phone { color: var(--color-secondary); }
.site-header .header-nav__link:hover, .site-header .header-nav__link[aria-current] { color: var(--color-primary); }
.site-header .header-cta-btn { color: var(--color-white); }

/* Textos secundarios en zonas oscuras */
:is(.page-banner, .ainos-cta, .lacado-hero, .trabajos-recientes, .ainos-taller, .site-footer__invitation) { --zona-suave: rgba(255, 255, 255, .82); --zona-linea: rgba(255, 255, 255, .3); }
.trabajo-card__resumen { margin: 0 0 var(--space-s); max-width: 48ch; color: var(--zona-suave); }
.trabajo-card__label { margin-top: var(--space-s); }

/* Movimiento: una entrada al llegar, respuesta al tacto y el abanico de lamas. Nada más. */
@media (prefers-reduced-motion: no-preference) {
  .lacado-hero__copy > * { animation: lacado-entra 640ms var(--lacado-ease) both; }
  .lacado-hero__copy > :nth-child(2) { animation-delay: 60ms; }
  .lacado-hero__copy > :nth-child(3) { animation-delay: 120ms; }
  .lacado-hero__sample { animation: lacado-descubre 760ms var(--lacado-ease) 140ms both; }
  @keyframes lacado-entra { from { opacity: 0; transform: translateY(.75rem); } }
  @keyframes lacado-descubre { from { clip-path: inset(0 0 100% 0); } to { clip-path: inset(0); } }

  .cta-btn { transition: background-color 160ms ease, color 160ms ease, transform 120ms var(--lacado-ease); }
  .cta-btn:active { transform: scale(.97); }

  .trabajo-card__img { transition: transform 320ms var(--lacado-ease); }
  @media (hover: hover) and (pointer: fine) {
    .trabajo-card:hover .trabajo-card__img { transform: scale(1.03); }
  }
}
@media (prefers-reduced-motion: reduce) {
  .lacado-hero__copy > *, .lacado-hero__sample { animation: lacado-aparece 200ms ease both; }
  @keyframes lacado-aparece { from { opacity: 0; } }
}
.trabajo-card__media { overflow: hidden; }

/* Proceso (Sobre nosotros): lama antracita, texto claro. */
.proceso--dark { background: var(--lacado-antracita); color: var(--color-white); --zona-suave: rgba(255, 255, 255, .82); }
.proceso--dark :is(.section-header__title, .proceso__title, .proceso__text, .section-header__subtitle) { color: inherit; }
.proceso--dark .proceso__step { border-top-color: rgba(255, 255, 255, .3); }
.proceso--dark .cta-btn--link, .proceso--dark a { color: var(--color-white); }

/* Marcas: un juego uniforme de seis muestras. */
.logos__row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-xs); width: 100%; }
.logos__item { min-width: 0; width: 100%; aspect-ratio: 5 / 3; min-height: 0; padding: var(--space-s); }
.logos__img { width: 100%; height: 100%; max-width: none; max-height: 3.25rem; object-fit: contain; }
@media (min-width: 56.25rem) { .logos__row { grid-template-columns: repeat(6, minmax(0, 1fr)); } }

/* Fotos de servicio: un único formato 3:2 con recorte centrado (miniatura, lama abierta y foto principal de la landing). */
.lama__preview,
.lama__photo,
.servicio-detail__img,
.servicio-detail__image img { aspect-ratio: 3 / 2; object-fit: cover; object-position: center; height: auto; }
.lama__preview { width: 6rem; }
.lama__photo { width: 100%; max-height: none; }
.servicio-detail__image img, .servicio-detail__img { width: 100%; display: block; }
@media (min-width: 56.25rem) {
  .lama__preview { width: 7.5rem; height: auto; }
}
@media (max-width: 56.249rem) {
  .lama__face { grid-template-columns: minmax(0, 1fr) 6rem 1rem; grid-template-rows: auto; align-items: center; }
  .lama__name { grid-column: 1; grid-row: 1; }
  .lama__preview { grid-column: 2; grid-row: 1; width: 6rem; height: auto; }
  .lama__toggle { grid-column: 3; grid-row: 1; align-self: center; }
}
