/* [L6 pàgines base 2026-09-30] El text ric (p, li, strong, b i els enllaços sense classe) pren el token de text de
   la superfície (--ia-color-text, que brand, dark i image redefineixen); sense això main p, main li, main li p,
   strong i main a del tema el pinten amb el seu color fix (1,21:1 a surface dark). Token i no inherit: inherit
   aclaria el cos a les superfícies clares (#6F6F6F, 4,53:1 sobre soft). :where() deixa p, li, strong i b a
   (0,1,0) perquè qualsevol regla pròpia del mòdul hi guanyi; el bloc va al principi perquè hi guanyin en empat. */
.iaLayer-iaheadingv1 :where(p, li, strong, b) { color: var(--ia-color-text, inherit); }
.iaLayer-iaheadingv1 a:not([class]) { color: var(--ia-color-text, inherit); text-decoration: underline; }
.iaLayer-iaheadingv1 a:not([class]):is(:hover, :focus-visible) { --ia-interaction-text-hover: var(--ia-color-text, inherit); color: var(--ia-interaction-text-hover); text-decoration: underline; }
.iaLayer-iaheadingv1 {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 100%;
  min-width: 0;
  margin: 0;
  padding-block: var(--ia-space-l, 3rem);
  padding-inline: 0;
  text-align: start;
  color: var(--ia-color-text, #1a1a1a);
  font-family: var(--ia-font-body, sans-serif);
}
.iaLayer-iaheadingv1 *, .iaLayer-iaheadingv1 *::before, .iaLayer-iaheadingv1 *::after { box-sizing: border-box; }

/* Densidad: solo espaciado vertical del bloque; el ritmo interno eyebrow > titulo > intro > CTA es fijo */
.iaLayer-iaheadingv1[data-density="compact"] { padding-block: var(--ia-space-m, 1.5rem); }
.iaLayer-iaheadingv1[data-density="airy"] { padding-block: var(--ia-space-xl, 5rem); }

/* Alineacion */
.iaLayer-iaheadingv1[data-align="center"] { align-items: center; text-align: center; }

/* Superficies */
/* [L6 GUTTER 28 2026-09-30] Superfície soft: gutter lateral únic var(--ia-section-gutter) (system-twig.css); brand, dark i image conserven el seu valor. */
.iaLayer-iaheadingv1[data-surface="soft"] { padding-inline: var(--ia-section-gutter, 28px); }
.iaLayer-iaheadingv1[data-surface="brand"],
.iaLayer-iaheadingv1[data-surface="dark"] { padding-inline: var(--ia-space-m, 1.5rem); }
.iaLayer-iaheadingv1[data-surface="soft"] { background: var(--ia-color-surface-soft, #f3f3f3); }
.iaLayer-iaheadingv1[data-surface="brand"] { background: var(--ia-color-primary, #000000); }
.iaLayer-iaheadingv1[data-surface="dark"] { background: var(--ia-color-dark, #000000); }
.iaLayer-iaheadingv1[data-surface="brand"] {
  --ia-color-text: var(--ia-color-primary-contrast-text, var(--ia-color-text-inverted));
  --ia-color-text-soft: var(--ia-color-primary-contrast-text, var(--ia-color-text-inverted));
  --ia-color-focus-ring: var(--ia-color-primary-contrast-text, var(--ia-color-text-inverted));
}
.iaLayer-iaheadingv1[data-surface="dark"] {
  --ia-color-text: var(--ia-color-text-inverted, #ffffff);
  --ia-color-text-soft: var(--ia-color-text-inverted-soft, #d6d6d6);
  --ia-color-focus-ring: var(--ia-color-text-inverted, #ffffff);
}

/* Eyebrow */
.iaLayer-iaheadingv1 .iahv1-eyebrow {
  margin-top: var(--ia-space-s, 1rem); margin-bottom: 0;
  max-width: 100%;
  font-family: var(--ia-font-body, sans-serif);
  font-size: var(--ia-eyebrow-size);
  font-weight: var(--ia-eyebrow-weight);
  line-height: var(--ia-eyebrow-lh);
  letter-spacing: var(--ia-eyebrow-tracking);
  text-transform: var(--ia-eyebrow-transform);
  color: var(--ia-color-text-soft, #6b6b6b);
  overflow-wrap: break-word;
}

/* Titulo: la etiqueta (h1-h4) es semantica; el tamano visual lo da la clase iahv1-size--* */
.iaLayer-iaheadingv1 .iahv1-title {
  margin-top: var(--ia-space-xs, .5rem); margin-bottom: 0;
  max-width: 100%;
  font-family: var(--ia-font-heading, sans-serif);
  font-weight: var(--ia-title-section-weight);
  line-height: var(--ia-title-section-lh);
  letter-spacing: -.01em;
  text-transform: none;
  color: var(--ia-color-text, #1a1a1a);
  overflow-wrap: break-word;
  text-wrap: balance;
}
.iaLayer-iaheadingv1 .iahv1-size--h1, .iaLayer-iaheadingv1 h1.iahv1-size--auto { font-size: var(--ia-title-hero-size); line-height: var(--ia-title-hero-lh); }
.iaLayer-iaheadingv1 .iahv1-size--h2, .iaLayer-iaheadingv1 h2.iahv1-size--auto { font-size: var(--ia-title-section-size); }
.iaLayer-iaheadingv1 .iahv1-size--h3, .iaLayer-iaheadingv1 h3.iahv1-size--auto { font-size: var(--ia-heading-3-size); }
.iaLayer-iaheadingv1 .iahv1-size--h4, .iaLayer-iaheadingv1 h4.iahv1-size--auto { font-size: var(--ia-heading-4-size); line-height: var(--ia-title-section-lh); }
.iaLayer-iaheadingv1 .iahv1-size--h5 { font-size: var(--ia-heading-5-size); line-height: var(--ia-title-section-lh); letter-spacing: 0; }
.iaLayer-iaheadingv1 .iahv1-size--h6 { font-size: var(--ia-heading-6-size); line-height: var(--ia-title-section-lh); letter-spacing: 0; }

/* Intro */
.iaLayer-iaheadingv1 .iahv1-intro {
  margin-top: var(--ia-space-s, 1rem); margin-bottom: 0;
  max-width: 65ch;
  font-family: var(--ia-font-body, sans-serif);
  font-size: var(--ia-body-size);
  line-height: var(--ia-body-lh);
  color: var(--ia-color-text-soft, #6b6b6b);
  overflow-wrap: break-word;
}
.iaLayer-iaheadingv1 .iahv1-intro p { margin: 0; }
.iaLayer-iaheadingv1 .iahv1-intro strong { color: var(--ia-color-text, #1a1a1a); }
.iaLayer-iaheadingv1 .iahv1-intro a {
  color: var(--ia-color-text, #1a1a1a);
  text-decoration: underline;
  text-underline-offset: .15em;
}
.iaLayer-iaheadingv1 .iahv1-intro a:hover { text-decoration-thickness: 2px; }
.iaLayer-iaheadingv1 .iahv1-intro a:focus-visible {
  outline: 2px solid var(--ia-color-focus-ring, #1a1a1a);
  outline-offset: 2px;
}

/* CTA */
.iaLayer-iaheadingv1 .iahv1-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--ia-space-xs, .5rem);
  max-width: 100%;
  min-height: 44px;
  margin-top: var(--ia-space-m, 1.5rem); margin-bottom: 0;
  padding: var(--ia-space-xs, .5rem) var(--ia-space-m, 1.5rem);
  border: 0;
  border-radius: var(--ia-radius-button, 8px);
  background: var(--ia-button-primary-bg);
  color: var(--ia-button-primary-text);
  font-family: var(--ia-font-body, sans-serif);
  font-size: var(--ia-btn-size);
  font-weight: var(--ia-btn-weight);
  line-height: var(--ia-btn-lh);
  text-align: center;
  text-decoration: none;
  transition: var(--ia-interaction-transition, box-shadow .2s ease);
}
.iaLayer-iaheadingv1[data-surface="brand"] .iahv1-cta,
.iaLayer-iaheadingv1[data-surface="dark"] .iahv1-cta {
  background: var(--ia-color-text-inverted, #ffffff);
  color: var(--ia-color-dark, #000000);
}
.iaLayer-iaheadingv1 .iahv1-cta:hover {
  box-shadow: var(--ia-interaction-shadow-hover, 0 6px 18px rgba(0,0,0,.16));
  transition: var(--ia-interaction-transition, box-shadow .2s ease);
}
.iaLayer-iaheadingv1 .iahv1-cta:focus-visible {
  outline: 2px solid var(--ia-color-focus-ring, #1a1a1a);
  outline-offset: 3px;
}
/* [MOVE-READY 2026-10-03] Espaiat «cada peça el seu margin-top + reinici del primer fill» (només layout; l'aspecte per defecte no canvia): moure una peça s'emporta el seu espai. */
.iaLayer-iaheadingv1 > :first-child { margin-top: 0; }
/* [MOVE-READY] El vídeo de fons (iaLayer_bg_video.js) s'insereix com a PRIMER fill de l'arrel (absolut): la primera peça real tampoc no ha de portar marge a dalt. */
.iaLayer-iaheadingv1 > .ia-bg-video:first-child + * { margin-top: 0; }
.iaLayer-iaheadingv1 .iahv1-cta-ic { display: inline-flex; flex: 0 0 auto; width: 1.125em; height: 1.125em; }
.iaLayer-iaheadingv1 .iahv1-cta-ic svg { width: 100%; height: 100%; }
